@eslamdevui/ui 3.2.0-beta.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/.nuxt/ui/alert.ts +0 -5
  2. package/.nuxt/ui/badge.ts +0 -5
  3. package/.nuxt/ui/button-group.ts +0 -13
  4. package/.nuxt/ui/button.ts +0 -5
  5. package/.nuxt/ui/carousel.ts +0 -5
  6. package/.nuxt/ui/content-surround.ts +0 -5
  7. package/.nuxt/ui/dashboard-navbar.ts +0 -5
  8. package/.nuxt/ui/dashboard-sidebar-collapse.ts +0 -5
  9. package/.nuxt/ui/dashboard-sidebar-toggle.ts +0 -5
  10. package/.nuxt/ui/dashboard-sidebar.ts +0 -10
  11. package/.nuxt/ui/index.ts +1 -48
  12. package/.nuxt/ui/input-menu.ts +0 -9
  13. package/.nuxt/ui/input-number.ts +0 -5
  14. package/.nuxt/ui/input-tags.ts +0 -9
  15. package/.nuxt/ui/input.ts +0 -9
  16. package/.nuxt/ui/select-menu.ts +0 -9
  17. package/.nuxt/ui/select.ts +0 -9
  18. package/.nuxt/ui/textarea.ts +0 -9
  19. package/.nuxt/ui/toast.ts +0 -5
  20. package/LICENSE.md +9 -9
  21. package/README.md +147 -147
  22. package/cli/commands/make/component.mjs +95 -95
  23. package/cli/commands/make/index.mjs +14 -14
  24. package/cli/commands/make/locale.mjs +64 -64
  25. package/cli/index.mjs +15 -15
  26. package/cli/package.json +13 -13
  27. package/cli/templates.mjs +236 -236
  28. package/cli/utils.mjs +31 -31
  29. package/dist/module.json +1 -1
  30. package/dist/module.mjs +1 -1
  31. package/dist/runtime/components/Accordion.vue +36 -36
  32. package/dist/runtime/components/Alert.vue +46 -46
  33. package/dist/runtime/components/App.vue +10 -10
  34. package/dist/runtime/components/Avatar.vue +27 -27
  35. package/dist/runtime/components/AvatarGroup.vue +4 -4
  36. package/dist/runtime/components/Badge.vue +16 -16
  37. package/dist/runtime/components/Breadcrumb.vue +32 -32
  38. package/dist/runtime/components/Button.vue +28 -28
  39. package/dist/runtime/components/ButtonGroup.vue +3 -3
  40. package/dist/runtime/components/Calendar.vue +74 -74
  41. package/dist/runtime/components/Card.vue +13 -13
  42. package/dist/runtime/components/Carousel.vue +58 -58
  43. package/dist/runtime/components/ChatMessage.vue +35 -35
  44. package/dist/runtime/components/ChatMessages.vue +55 -55
  45. package/dist/runtime/components/ChatPrompt.vue +26 -26
  46. package/dist/runtime/components/ChatPromptSubmit.vue +10 -10
  47. package/dist/runtime/components/Checkbox.vue +33 -33
  48. package/dist/runtime/components/CheckboxGroup.vue +32 -32
  49. package/dist/runtime/components/Chip.vue +11 -11
  50. package/dist/runtime/components/Collapsible.vue +9 -9
  51. package/dist/runtime/components/ColorPicker.vue +30 -30
  52. package/dist/runtime/components/CommandPalette.vue +117 -117
  53. package/dist/runtime/components/Container.vue +3 -3
  54. package/dist/runtime/components/ContextMenu.vue +22 -22
  55. package/dist/runtime/components/ContextMenuContent.vue +105 -105
  56. package/dist/runtime/components/DashboardGroup.vue +3 -3
  57. package/dist/runtime/components/DashboardNavbar.vue +40 -40
  58. package/dist/runtime/components/DashboardPanel.vue +27 -27
  59. package/dist/runtime/components/DashboardResizeHandle.vue +7 -7
  60. package/dist/runtime/components/DashboardSearch.vue +20 -20
  61. package/dist/runtime/components/DashboardSearchButton.vue +43 -43
  62. package/dist/runtime/components/DashboardSidebar.vue +74 -74
  63. package/dist/runtime/components/DashboardSidebarCollapse.vue +7 -7
  64. package/dist/runtime/components/DashboardSidebarToggle.vue +7 -7
  65. package/dist/runtime/components/Drawer.vue +55 -55
  66. package/dist/runtime/components/DropdownMenu.vue +24 -24
  67. package/dist/runtime/components/DropdownMenuContent.vue +107 -107
  68. package/dist/runtime/components/Error.vue +22 -22
  69. package/dist/runtime/components/Form.vue +8 -8
  70. package/dist/runtime/components/FormField.vue +37 -37
  71. package/dist/runtime/components/Icon.vue +1 -1
  72. package/dist/runtime/components/Input.vue +34 -34
  73. package/dist/runtime/components/InputMenu.vue +163 -163
  74. package/dist/runtime/components/InputNumber.vue +49 -49
  75. package/dist/runtime/components/InputTags.vue +55 -55
  76. package/dist/runtime/components/Kbd.vue +5 -5
  77. package/dist/runtime/components/Link.vue +14 -14
  78. package/dist/runtime/components/LinkBase.vue +8 -8
  79. package/dist/runtime/components/Modal.vue +69 -69
  80. package/dist/runtime/components/NavigationMenu.vue +166 -166
  81. package/dist/runtime/components/OverlayProvider.vue +9 -9
  82. package/dist/runtime/components/Pagination.vue +47 -47
  83. package/dist/runtime/components/PinInput.vue +20 -20
  84. package/dist/runtime/components/Popover.vue +17 -17
  85. package/dist/runtime/components/Progress.vue +19 -19
  86. package/dist/runtime/components/RadioGroup.vue +43 -43
  87. package/dist/runtime/components/Select.vue +96 -96
  88. package/dist/runtime/components/SelectMenu.vue +130 -130
  89. package/dist/runtime/components/Separator.vue +15 -15
  90. package/dist/runtime/components/Skeleton.vue +10 -10
  91. package/dist/runtime/components/Slideover.vue +76 -76
  92. package/dist/runtime/components/Slider.vue +27 -27
  93. package/dist/runtime/components/Stepper.vue +51 -51
  94. package/dist/runtime/components/Switch.vue +33 -33
  95. package/dist/runtime/components/Table.vue +77 -77
  96. package/dist/runtime/components/Tabs.vue +37 -37
  97. package/dist/runtime/components/Textarea.vue +33 -33
  98. package/dist/runtime/components/Timeline.vue +38 -38
  99. package/dist/runtime/components/Toast.vue +69 -69
  100. package/dist/runtime/components/Toaster.vue +28 -28
  101. package/dist/runtime/components/Tooltip.vue +19 -19
  102. package/dist/runtime/components/Tree.vue +60 -60
  103. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +2 -2
  104. package/dist/runtime/components/color-mode/ColorModeButton.vue +16 -16
  105. package/dist/runtime/components/color-mode/ColorModeImage.vue +2 -2
  106. package/dist/runtime/components/color-mode/ColorModeSelect.vue +19 -19
  107. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +19 -19
  108. package/dist/runtime/components/content/ContentNavigation.vue +109 -109
  109. package/dist/runtime/components/content/ContentSearch.vue +25 -25
  110. package/dist/runtime/components/content/ContentSearchButton.vue +38 -38
  111. package/dist/runtime/components/content/ContentSearchButton.vue.d.ts +12 -12
  112. package/dist/runtime/components/content/ContentSurround.vue +29 -29
  113. package/dist/runtime/components/content/ContentSurround.vue.d.ts +59 -59
  114. package/dist/runtime/components/content/ContentToc.vue +68 -68
  115. package/dist/runtime/components/content/ContentToc.vue.d.ts +88 -88
  116. package/dist/runtime/components/locale/LocaleSelect.vue +20 -20
  117. package/dist/runtime/components/prose/A.vue +3 -3
  118. package/dist/runtime/components/prose/Accordion.vue +5 -5
  119. package/dist/runtime/components/prose/AccordionItem.vue +5 -5
  120. package/dist/runtime/components/prose/Badge.vue +3 -3
  121. package/dist/runtime/components/prose/Blockquote.vue +3 -3
  122. package/dist/runtime/components/prose/Callout.vue +27 -27
  123. package/dist/runtime/components/prose/Card.vue +43 -43
  124. package/dist/runtime/components/prose/CardGroup.vue +3 -3
  125. package/dist/runtime/components/prose/Code.vue +3 -3
  126. package/dist/runtime/components/prose/CodeCollapse.vue +16 -16
  127. package/dist/runtime/components/prose/CodeGroup.vue +15 -15
  128. package/dist/runtime/components/prose/CodeIcon.vue +1 -1
  129. package/dist/runtime/components/prose/CodePreview.vue +9 -9
  130. package/dist/runtime/components/prose/CodeTree.vue +61 -61
  131. package/dist/runtime/components/prose/Collapsible.vue +15 -15
  132. package/dist/runtime/components/prose/Em.vue +1 -1
  133. package/dist/runtime/components/prose/Field.vue +23 -23
  134. package/dist/runtime/components/prose/FieldGroup.vue +3 -3
  135. package/dist/runtime/components/prose/H1.vue +6 -6
  136. package/dist/runtime/components/prose/H2.vue +10 -10
  137. package/dist/runtime/components/prose/H3.vue +10 -10
  138. package/dist/runtime/components/prose/H4.vue +6 -6
  139. package/dist/runtime/components/prose/Hr.vue +1 -1
  140. package/dist/runtime/components/prose/Icon.vue +1 -1
  141. package/dist/runtime/components/prose/Img.vue +8 -8
  142. package/dist/runtime/components/prose/Kbd.vue +1 -1
  143. package/dist/runtime/components/prose/Li.vue +3 -3
  144. package/dist/runtime/components/prose/Ol.vue +3 -3
  145. package/dist/runtime/components/prose/P.vue +3 -3
  146. package/dist/runtime/components/prose/Pre.vue +20 -20
  147. package/dist/runtime/components/prose/Script.vue +3 -3
  148. package/dist/runtime/components/prose/Steps.vue +3 -3
  149. package/dist/runtime/components/prose/Strong.vue +3 -3
  150. package/dist/runtime/components/prose/Table.vue +5 -5
  151. package/dist/runtime/components/prose/Tabs.vue +14 -14
  152. package/dist/runtime/components/prose/TabsItem.vue +5 -5
  153. package/dist/runtime/components/prose/Tbody.vue +3 -3
  154. package/dist/runtime/components/prose/Td.vue +3 -3
  155. package/dist/runtime/components/prose/Th.vue +3 -3
  156. package/dist/runtime/components/prose/Thead.vue +3 -3
  157. package/dist/runtime/components/prose/Tr.vue +3 -3
  158. package/dist/runtime/components/prose/Ul.vue +3 -3
  159. package/dist/runtime/components/prose/callout/Caution.vue +3 -3
  160. package/dist/runtime/components/prose/callout/Note.vue +3 -3
  161. package/dist/runtime/components/prose/callout/Tip.vue +3 -3
  162. package/dist/runtime/components/prose/callout/Warning.vue +3 -3
  163. package/dist/runtime/inertia/components/Link.vue +12 -12
  164. package/dist/runtime/inertia/components/LinkBase.vue +15 -15
  165. package/dist/runtime/types/app.config.d.ts +6 -6
  166. package/dist/runtime/vue/components/Icon.vue +1 -1
  167. package/dist/runtime/vue/components/Link.vue +31 -31
  168. package/dist/runtime/vue/components/color-mode/ColorModeButton.vue +7 -7
  169. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +7 -7
  170. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +7 -7
  171. package/package.json +1 -1
  172. package/vue-plugin.d.ts +5 -5
  173. package/.nuxt/ui/content/content-navigation.ts +0 -339
  174. package/.nuxt/ui/content/content-search-button.ts +0 -6
  175. package/.nuxt/ui/content/content-search.ts +0 -6
  176. package/.nuxt/ui/content/content-surround.ts +0 -39
  177. package/.nuxt/ui/content/content-toc.ts +0 -150
  178. package/.nuxt/ui/content/index.ts +0 -5
  179. package/.nuxt/ui/error.ts +0 -9
  180. package/.nuxt/ui/prose/a.ts +0 -6
  181. package/.nuxt/ui/prose/accordion-item.ts +0 -3
  182. package/.nuxt/ui/prose/accordion.ts +0 -6
  183. package/.nuxt/ui/prose/badge.ts +0 -3
  184. package/.nuxt/ui/prose/blockquote.ts +0 -3
  185. package/.nuxt/ui/prose/callout.ts +0 -129
  186. package/.nuxt/ui/prose/card-group.ts +0 -3
  187. package/.nuxt/ui/prose/card.ts +0 -119
  188. package/.nuxt/ui/prose/code-collapse.ts +0 -19
  189. package/.nuxt/ui/prose/code-group.ts +0 -13
  190. package/.nuxt/ui/prose/code-icon.ts +0 -66
  191. package/.nuxt/ui/prose/code-preview.ts +0 -14
  192. package/.nuxt/ui/prose/code-tree.ts +0 -28
  193. package/.nuxt/ui/prose/code.ts +0 -27
  194. package/.nuxt/ui/prose/collapsible.ts +0 -12
  195. package/.nuxt/ui/prose/em.ts +0 -3
  196. package/.nuxt/ui/prose/field-group.ts +0 -3
  197. package/.nuxt/ui/prose/field.ts +0 -11
  198. package/.nuxt/ui/prose/h1.ts +0 -6
  199. package/.nuxt/ui/prose/h2.ts +0 -14
  200. package/.nuxt/ui/prose/h3.ts +0 -14
  201. package/.nuxt/ui/prose/h4.ts +0 -6
  202. package/.nuxt/ui/prose/hr.ts +0 -3
  203. package/.nuxt/ui/prose/icon.ts +0 -3
  204. package/.nuxt/ui/prose/img.ts +0 -3
  205. package/.nuxt/ui/prose/index.ts +0 -41
  206. package/.nuxt/ui/prose/kbd.ts +0 -3
  207. package/.nuxt/ui/prose/li.ts +0 -3
  208. package/.nuxt/ui/prose/ol.ts +0 -3
  209. package/.nuxt/ui/prose/p.ts +0 -3
  210. package/.nuxt/ui/prose/pre.ts +0 -17
  211. package/.nuxt/ui/prose/steps.ts +0 -19
  212. package/.nuxt/ui/prose/strong.ts +0 -3
  213. package/.nuxt/ui/prose/table.ts +0 -6
  214. package/.nuxt/ui/prose/tabs-item.ts +0 -3
  215. package/.nuxt/ui/prose/tabs.ts +0 -5
  216. package/.nuxt/ui/prose/tbody.ts +0 -3
  217. package/.nuxt/ui/prose/td.ts +0 -3
  218. package/.nuxt/ui/prose/th.ts +0 -3
  219. package/.nuxt/ui/prose/thead.ts +0 -3
  220. package/.nuxt/ui/prose/tr.ts +0 -3
  221. package/.nuxt/ui/prose/ul.ts +0 -3
@@ -52,19 +52,19 @@ onBeforeUpdate(() => rerenderCount.value++);
52
52
  </script>
53
53
 
54
54
  <template>
55
- <TabsRoot v-model="model" :default-value="defaultValue" :unmount-on-hide="false" :class="ui.root({ class: [props.ui?.root, props.class] })">
56
- <TabsList :class="ui.list({ class: props.ui?.list })">
57
- <TabsIndicator :class="ui.indicator({ class: props.ui?.indicator })" />
58
-
59
- <TabsTrigger v-for="(item, index) of items" :key="index" :value="String(index)" :class="ui.trigger({ class: props.ui?.trigger })">
60
- <CodeIcon :icon="item.icon" :filename="item.label" :class="ui.triggerIcon({ class: props.ui?.triggerIcon })" />
61
-
62
- <span :class="ui.triggerLabel({ class: props.ui?.triggerLabel })">{{ item.label }}</span>
63
- </TabsTrigger>
64
- </TabsList>
65
-
66
- <TabsContent v-for="(item, index) of items" :key="index" :value="String(index)" as-child>
67
- <component :is="item.component" hide-header tabindex="-1" />
68
- </TabsContent>
69
- </TabsRoot>
55
+ <TabsRoot v-model="model" :default-value="defaultValue" :unmount-on-hide="false" :class="ui.root({ class: [props.ui?.root, props.class] })">
56
+ <TabsList :class="ui.list({ class: props.ui?.list })">
57
+ <TabsIndicator :class="ui.indicator({ class: props.ui?.indicator })" />
58
+
59
+ <TabsTrigger v-for="(item, index) of items" :key="index" :value="String(index)" :class="ui.trigger({ class: props.ui?.trigger })">
60
+ <CodeIcon :icon="item.icon" :filename="item.label" :class="ui.triggerIcon({ class: props.ui?.triggerIcon })" />
61
+
62
+ <span :class="ui.triggerLabel({ class: props.ui?.triggerLabel })">{{ item.label }}</span>
63
+ </TabsTrigger>
64
+ </TabsList>
65
+
66
+ <TabsContent v-for="(item, index) of items" :key="index" :value="String(index)" as-child>
67
+ <component :is="item.component" hide-header tabindex="-1" />
68
+ </TabsContent>
69
+ </TabsRoot>
70
70
  </template>
@@ -24,5 +24,5 @@ const icon = computed(() => {
24
24
  </script>
25
25
 
26
26
  <template>
27
- <UIcon v-if="icon" :name="icon" />
27
+ <UIcon v-if="icon" :name="icon" />
28
28
  </template>
@@ -16,13 +16,13 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.codePr
16
16
  </script>
17
17
 
18
18
  <template>
19
- <div :class="ui.root({ class: [props.ui?.root, props.class] })">
20
- <div :class="ui.preview({ class: [props.ui?.preview] })">
21
- <slot />
22
- </div>
23
-
24
- <div v-if="!!slots.code" :class="ui.code({ class: [props.ui?.code] })">
25
- <slot name="code" />
26
- </div>
27
- </div>
19
+ <div :class="ui.root({ class: [props.ui?.root, props.class] })">
20
+ <div :class="ui.preview({ class: [props.ui?.preview] })">
21
+ <slot />
22
+ </div>
23
+
24
+ <div v-if="!!slots.code" :class="ui.code({ class: [props.ui?.code] })">
25
+ <slot name="code" />
26
+ </div>
27
+ </div>
28
28
  </template>
@@ -96,65 +96,65 @@ onBeforeUpdate(() => rerenderCount.value++);
96
96
  </script>
97
97
 
98
98
  <template>
99
- <DefineTreeTemplate v-slot="{ items: children, level }">
100
- <li
101
- v-for="(item, index) in children"
102
- :key="`${level}-${index}`"
103
- :class="level > 0 ? ui.itemWithChildren({ class: props.ui?.itemWithChildren }) : ui.item({ class: props.ui?.item })"
104
- >
105
- <TreeItem
106
- v-slot="{ isExpanded, isSelected }"
107
- as-child
108
- :level="level"
109
- :value="item"
110
- >
111
- <button :class="ui.link({ class: props.ui?.link, active: isSelected })">
112
- <UIcon
113
- v-if="item.children?.length"
114
- :name="isExpanded ? appConfig.ui.icons.folderOpen : appConfig.ui.icons.folder"
115
- :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
116
- />
117
- <CodeIcon
118
- v-else
119
- :filename="item.label"
120
- :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
121
- />
122
- <span :class="ui.linkLabel({ class: props.ui?.linkLabel })">
123
- {{ item.label }}
124
- </span>
125
- <span
126
- v-if="item.children?.length"
127
- :class="ui.linkTrailing({ class: props.ui?.linkTrailing })"
128
- >
129
- <UIcon
130
- :name="appConfig.ui.icons.chevronDown"
131
- :class="ui.linkTrailingIcon({ class: props.ui?.linkTrailingIcon })"
132
- />
133
- </span>
134
- </button>
135
- <ul
136
- v-if="item.children?.length && isExpanded"
137
- :class="ui.listWithChildren({ class: props.ui?.listWithChildren })"
138
- >
139
- <ReuseTreeTemplate :items="item.children" :level="level + 1" />
140
- </ul>
141
- </TreeItem>
142
- </li>
143
- </DefineTreeTemplate>
144
-
145
- <div :class="ui.root({ class: [props.ui?.root, props.class] })">
146
- <TreeRoot
147
- v-model="model"
148
- :items="treeItems"
149
- :get-key="(item2) => item2.path"
150
- :default-expanded="expanded"
151
- :class="ui.list({ class: props.ui?.list })"
152
- >
153
- <ReuseTreeTemplate :items="treeItems" :level="0" />
154
- </TreeRoot>
155
-
156
- <div :class="ui.content({ class: props.ui?.content })">
157
- <component :is="lastSelectedItem?.component" />
158
- </div>
159
- </div>
99
+ <DefineTreeTemplate v-slot="{ items: children, level }">
100
+ <li
101
+ v-for="(item, index) in children"
102
+ :key="`${level}-${index}`"
103
+ :class="level > 0 ? ui.itemWithChildren({ class: props.ui?.itemWithChildren }) : ui.item({ class: props.ui?.item })"
104
+ >
105
+ <TreeItem
106
+ v-slot="{ isExpanded, isSelected }"
107
+ as-child
108
+ :level="level"
109
+ :value="item"
110
+ >
111
+ <button :class="ui.link({ class: props.ui?.link, active: isSelected })">
112
+ <UIcon
113
+ v-if="item.children?.length"
114
+ :name="isExpanded ? appConfig.ui.icons.folderOpen : appConfig.ui.icons.folder"
115
+ :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
116
+ />
117
+ <CodeIcon
118
+ v-else
119
+ :filename="item.label"
120
+ :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
121
+ />
122
+ <span :class="ui.linkLabel({ class: props.ui?.linkLabel })">
123
+ {{ item.label }}
124
+ </span>
125
+ <span
126
+ v-if="item.children?.length"
127
+ :class="ui.linkTrailing({ class: props.ui?.linkTrailing })"
128
+ >
129
+ <UIcon
130
+ :name="appConfig.ui.icons.chevronDown"
131
+ :class="ui.linkTrailingIcon({ class: props.ui?.linkTrailingIcon })"
132
+ />
133
+ </span>
134
+ </button>
135
+ <ul
136
+ v-if="item.children?.length && isExpanded"
137
+ :class="ui.listWithChildren({ class: props.ui?.listWithChildren })"
138
+ >
139
+ <ReuseTreeTemplate :items="item.children" :level="level + 1" />
140
+ </ul>
141
+ </TreeItem>
142
+ </li>
143
+ </DefineTreeTemplate>
144
+
145
+ <div :class="ui.root({ class: [props.ui?.root, props.class] })">
146
+ <TreeRoot
147
+ v-model="model"
148
+ :items="treeItems"
149
+ :get-key="(item2) => item2.path"
150
+ :default-expanded="expanded"
151
+ :class="ui.list({ class: props.ui?.list })"
152
+ >
153
+ <ReuseTreeTemplate :items="treeItems" :level="0" />
154
+ </TreeRoot>
155
+
156
+ <div :class="ui.content({ class: props.ui?.content })">
157
+ <component :is="lastSelectedItem?.component" />
158
+ </div>
159
+ </div>
160
160
  </template>
@@ -23,19 +23,19 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.collap
23
23
  </script>
24
24
 
25
25
  <template>
26
- <UCollapsible :unmount-on-hide="false" :class="props.class" :ui="transformUI(ui)">
27
- <template #default="{ open }">
28
- <button :class="ui.trigger({ class: props.ui?.trigger })">
29
- <UIcon :name="icon || appConfig.ui.icons.chevronDown" :class="ui.triggerIcon({ class: props.ui?.triggerIcon })" />
30
-
31
- <span :class="ui.triggerLabel({ class: props.ui?.triggerLabel })">
32
- {{ open ? props.closeText || t("prose.collapsible.closeText") : props.openText || t("prose.collapsible.openText") }} {{ props.name || t("prose.collapsible.name") }}
33
- </span>
34
- </button>
35
- </template>
36
-
37
- <template #content>
38
- <slot />
39
- </template>
40
- </UCollapsible>
26
+ <UCollapsible :unmount-on-hide="false" :class="props.class" :ui="transformUI(ui)">
27
+ <template #default="{ open }">
28
+ <button :class="ui.trigger({ class: props.ui?.trigger })">
29
+ <UIcon :name="icon || appConfig.ui.icons.chevronDown" :class="ui.triggerIcon({ class: props.ui?.triggerIcon })" />
30
+
31
+ <span :class="ui.triggerLabel({ class: props.ui?.triggerLabel })">
32
+ {{ open ? props.closeText || t("prose.collapsible.closeText") : props.openText || t("prose.collapsible.openText") }} {{ props.name || t("prose.collapsible.name") }}
33
+ </span>
34
+ </button>
35
+ </template>
36
+
37
+ <template #content>
38
+ <slot />
39
+ </template>
40
+ </UCollapsible>
41
41
  </template>
@@ -15,5 +15,5 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.em ||
15
15
  </script>
16
16
 
17
17
  <template>
18
- <em :class="ui({ class: props.class })"><slot /></em>
18
+ <em :class="ui({ class: props.class })"><slot /></em>
19
19
  </template>
@@ -22,27 +22,27 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.field
22
22
  </script>
23
23
 
24
24
  <template>
25
- <Primitive :as="as" :class="ui.root({ class: [props.ui?.root, props.class] })">
26
- <div :class="ui.container({ class: props.ui?.container })">
27
- <span v-if="name" :class="ui.name({ class: props.ui?.name })">
28
- {{ name }}
29
- </span>
30
-
31
- <div v-if="type || required" :class="ui.wrapper({ class: props.ui?.wrapper })">
32
- <span v-if="type" :class="ui.type({ class: props.ui?.type })">
33
- {{ type }}
34
- </span>
35
-
36
- <span v-if="required" :class="ui.required({ class: props.ui?.required })">
37
- required
38
- </span>
39
- </div>
40
- </div>
41
-
42
- <div v-if="!!slots.default || description" :class="ui.description({ class: props.ui?.description })">
43
- <slot mdc-unwrap="p">
44
- {{ description }}
45
- </slot>
46
- </div>
47
- </Primitive>
25
+ <Primitive :as="as" :class="ui.root({ class: [props.ui?.root, props.class] })">
26
+ <div :class="ui.container({ class: props.ui?.container })">
27
+ <span v-if="name" :class="ui.name({ class: props.ui?.name })">
28
+ {{ name }}
29
+ </span>
30
+
31
+ <div v-if="type || required" :class="ui.wrapper({ class: props.ui?.wrapper })">
32
+ <span v-if="type" :class="ui.type({ class: props.ui?.type })">
33
+ {{ type }}
34
+ </span>
35
+
36
+ <span v-if="required" :class="ui.required({ class: props.ui?.required })">
37
+ required
38
+ </span>
39
+ </div>
40
+ </div>
41
+
42
+ <div v-if="!!slots.default || description" :class="ui.description({ class: props.ui?.description })">
43
+ <slot mdc-unwrap="p">
44
+ {{ description }}
45
+ </slot>
46
+ </div>
47
+ </Primitive>
48
48
  </template>
@@ -17,7 +17,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.fieldG
17
17
  </script>
18
18
 
19
19
  <template>
20
- <Primitive :as="as" :class="ui({ class: props.class })">
21
- <slot />
22
- </Primitive>
20
+ <Primitive :as="as" :class="ui({ class: props.class })">
21
+ <slot />
22
+ </Primitive>
23
23
  </template>
@@ -19,10 +19,10 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
19
19
  </script>
20
20
 
21
21
  <template>
22
- <h1 :id="id" :class="ui.base({ class: props.class })">
23
- <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
- <slot />
25
- </a>
26
- <slot v-else />
27
- </h1>
22
+ <h1 :id="id" :class="ui.base({ class: props.class })">
23
+ <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
+ <slot />
25
+ </a>
26
+ <slot v-else />
27
+ </h1>
28
28
  </template>
@@ -19,14 +19,14 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
19
19
  </script>
20
20
 
21
21
  <template>
22
- <h2 :id="id" :class="ui.base({ class: props.class })">
23
- <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
- <span :class="ui.leading({ class: props.ui?.leading })">
25
- <UIcon :name="appConfig.ui.icons.hash" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
26
- </span>
27
-
28
- <slot />
29
- </a>
30
- <slot v-else />
31
- </h2>
22
+ <h2 :id="id" :class="ui.base({ class: props.class })">
23
+ <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
+ <span :class="ui.leading({ class: props.ui?.leading })">
25
+ <UIcon :name="appConfig.ui.icons.hash" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
26
+ </span>
27
+
28
+ <slot />
29
+ </a>
30
+ <slot v-else />
31
+ </h2>
32
32
  </template>
@@ -19,14 +19,14 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
19
19
  </script>
20
20
 
21
21
  <template>
22
- <h3 :id="id" :class="ui.base({ class: props.class })">
23
- <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
- <span :class="ui.leading({ class: props.ui?.leading })">
25
- <UIcon :name="appConfig.ui.icons.hash" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
26
- </span>
27
-
28
- <slot />
29
- </a>
30
- <slot v-else />
31
- </h3>
22
+ <h3 :id="id" :class="ui.base({ class: props.class })">
23
+ <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
+ <span :class="ui.leading({ class: props.ui?.leading })">
25
+ <UIcon :name="appConfig.ui.icons.hash" :class="ui.leadingIcon({ class: props.ui?.leadingIcon })" />
26
+ </span>
27
+
28
+ <slot />
29
+ </a>
30
+ <slot v-else />
31
+ </h3>
32
32
  </template>
@@ -19,10 +19,10 @@ const generate = computed(() => props.id && typeof headings?.anchorLinks === "ob
19
19
  </script>
20
20
 
21
21
  <template>
22
- <h4 :id="id" :class="ui.base({ class: props.class })">
23
- <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
- <slot />
25
- </a>
26
- <slot v-else />
27
- </h4>
22
+ <h4 :id="id" :class="ui.base({ class: props.class })">
23
+ <a v-if="id && generate" :href="`#${id}`" :class="ui.link({ class: props.ui?.link })">
24
+ <slot />
25
+ </a>
26
+ <slot v-else />
27
+ </h4>
28
28
  </template>
@@ -14,5 +14,5 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.hr ||
14
14
  </script>
15
15
 
16
16
  <template>
17
- <hr :class="ui({ class: props.class })">
17
+ <hr :class="ui({ class: props.class })">
18
18
  </template>
@@ -15,5 +15,5 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.icon |
15
15
  </script>
16
16
 
17
17
  <template>
18
- <UIcon :name="name" :class="ui({ class: props.class })" />
18
+ <UIcon :name="name" :class="ui({ class: props.class })" />
19
19
  </template>
@@ -29,12 +29,12 @@ const refinedSrc = computed(() => {
29
29
  </script>
30
30
 
31
31
  <template>
32
- <component
33
- :is="ImageComponent"
34
- :src="refinedSrc"
35
- :alt="alt"
36
- :width="width"
37
- :height="height"
38
- :class="ui({ class: props.class })"
39
- />
32
+ <component
33
+ :is="ImageComponent"
34
+ :src="refinedSrc"
35
+ :alt="alt"
36
+ :width="width"
37
+ :height="height"
38
+ :class="ui({ class: props.class })"
39
+ />
40
40
  </template>
@@ -15,5 +15,5 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.kbd ||
15
15
  </script>
16
16
 
17
17
  <template>
18
- <UKbd :value="value" :class="ui({ class: props.class })" />
18
+ <UKbd :value="value" :class="ui({ class: props.class })" />
19
19
  </template>
@@ -15,7 +15,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.li ||
15
15
  </script>
16
16
 
17
17
  <template>
18
- <li :class="ui({ class: props.class })">
19
- <slot />
20
- </li>
18
+ <li :class="ui({ class: props.class })">
19
+ <slot />
20
+ </li>
21
21
  </template>
@@ -15,7 +15,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.ol ||
15
15
  </script>
16
16
 
17
17
  <template>
18
- <ol :class="ui({ class: props.class })">
19
- <slot />
20
- </ol>
18
+ <ol :class="ui({ class: props.class })">
19
+ <slot />
20
+ </ol>
21
21
  </template>
@@ -15,7 +15,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.p || {
15
15
  </script>
16
16
 
17
17
  <template>
18
- <p :class="ui({ class: props.class })">
19
- <slot />
20
- </p>
18
+ <p :class="ui({ class: props.class })">
19
+ <slot />
20
+ </p>
21
21
  </template>
@@ -36,26 +36,26 @@ function copy() {
36
36
  </script>
37
37
 
38
38
  <template>
39
- <div :class="ui.root({ class: [props.ui?.root], filename: !!filename })">
40
- <div v-if="filename && !hideHeader" :class="ui.header({ class: props.ui?.header })">
41
- <CodeIcon :icon="icon" :filename="filename" :class="ui.icon({ class: props.ui?.icon })" />
42
-
43
- <span :class="ui.filename({ class: props.ui?.filename })">{{ filename }}</span>
44
- </div>
45
-
46
- <UButton
47
- :icon="copied ? appConfig.ui.icons.copyCheck : appConfig.ui.icons.copy"
48
- color="neutral"
49
- variant="outline"
50
- size="sm"
51
- :aria-label="t('prose.pre.copy')"
52
- :class="ui.copy({ class: props.ui?.copy })"
53
- tabindex="-1"
54
- @click="copy"
55
- />
56
-
57
- <pre :class="ui.base({ class: [props.ui?.base, props.class] })" v-bind="$attrs"><slot /></pre>
58
- </div>
39
+ <div :class="ui.root({ class: [props.ui?.root], filename: !!filename })">
40
+ <div v-if="filename && !hideHeader" :class="ui.header({ class: props.ui?.header })">
41
+ <CodeIcon :icon="icon" :filename="filename" :class="ui.icon({ class: props.ui?.icon })" />
42
+
43
+ <span :class="ui.filename({ class: props.ui?.filename })">{{ filename }}</span>
44
+ </div>
45
+
46
+ <UButton
47
+ :icon="copied ? appConfig.ui.icons.copyCheck : appConfig.ui.icons.copy"
48
+ color="neutral"
49
+ variant="outline"
50
+ size="sm"
51
+ :aria-label="t('prose.pre.copy')"
52
+ :class="ui.copy({ class: props.ui?.copy })"
53
+ tabindex="-1"
54
+ @click="copy"
55
+ />
56
+
57
+ <pre :class="ui.base({ class: [props.ui?.base, props.class] })" v-bind="$attrs"><slot /></pre>
58
+ </div>
59
59
  </template>
60
60
 
61
61
  <style>
@@ -6,7 +6,7 @@ const isDev = import.meta.dev;
6
6
  </script>
7
7
 
8
8
  <template>
9
- <div v-if="isDev">
10
- Rendering the <code>script</code> element is dangerous and is disabled by default. Consider implementing your own <code>ProseScript</code> element to have control over script rendering.
11
- </div>
9
+ <div v-if="isDev">
10
+ Rendering the <code>script</code> element is dangerous and is disabled by default. Consider implementing your own <code>ProseScript</code> element to have control over script rendering.
11
+ </div>
12
12
  </template>
@@ -16,7 +16,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.steps
16
16
  </script>
17
17
 
18
18
  <template>
19
- <div :class="ui({ class: props.class, level: props.level })">
20
- <slot />
21
- </div>
19
+ <div :class="ui({ class: props.class, level: props.level })">
20
+ <slot />
21
+ </div>
22
22
  </template>
@@ -15,7 +15,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.strong
15
15
  </script>
16
16
 
17
17
  <template>
18
- <strong :class="ui({ class: props.class })">
19
- <slot />
20
- </strong>
18
+ <strong :class="ui({ class: props.class })">
19
+ <slot />
20
+ </strong>
21
21
  </template>
@@ -16,9 +16,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.table
16
16
  </script>
17
17
 
18
18
  <template>
19
- <div :class="ui.root({ class: [props.ui?.root, props.class] })">
20
- <table :class="ui.base({ class: props.ui?.base })">
21
- <slot />
22
- </table>
23
- </div>
19
+ <div :class="ui.root({ class: [props.ui?.root, props.class] })">
20
+ <table :class="ui.base({ class: props.ui?.base })">
21
+ <slot />
22
+ </table>
23
+ </div>
24
24
  </template>
@@ -61,18 +61,18 @@ onBeforeUpdate(() => rerenderCount.value++);
61
61
  </script>
62
62
 
63
63
  <template>
64
- <UTabs
65
- v-model="model"
66
- color="primary"
67
- variant="link"
68
- :items="items"
69
- :class="props.class"
70
- :unmount-on-hide="false"
71
- :ui="transformUI(ui())"
72
- @update:model-value="onUpdateModelValue"
73
- >
74
- <template #content="{ item }">
75
- <component :is="item.component" />
76
- </template>
77
- </UTabs>
64
+ <UTabs
65
+ v-model="model"
66
+ color="primary"
67
+ variant="link"
68
+ :items="items"
69
+ :class="props.class"
70
+ :unmount-on-hide="false"
71
+ :ui="transformUI(ui())"
72
+ @update:model-value="onUpdateModelValue"
73
+ >
74
+ <template #content="{ item }">
75
+ <component :is="item.component" />
76
+ </template>
77
+ </UTabs>
78
78
  </template>
@@ -17,9 +17,9 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.tabsIt
17
17
  </script>
18
18
 
19
19
  <template>
20
- <div :class="ui({ class: props.class })">
21
- <slot>
22
- {{ description }}
23
- </slot>
24
- </div>
20
+ <div :class="ui({ class: props.class })">
21
+ <slot>
22
+ {{ description }}
23
+ </slot>
24
+ </div>
25
25
  </template>
@@ -15,7 +15,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...appConfig.ui?.prose?.tbody
15
15
  </script>
16
16
 
17
17
  <template>
18
- <tbody :class="ui({ class: props.class })">
19
- <slot />
20
- </tbody>
18
+ <tbody :class="ui({ class: props.class })">
19
+ <slot />
20
+ </tbody>
21
21
  </template>