@bitrix24/b24ui-nuxt 0.5.11 → 0.6.1

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 (252) hide show
  1. package/.nuxt/b24ui/advice.ts +10 -2
  2. package/.nuxt/b24ui/alert.ts +10 -2
  3. package/.nuxt/b24ui/avatar-group.ts +10 -2
  4. package/.nuxt/b24ui/avatar.ts +10 -2
  5. package/.nuxt/b24ui/badge.ts +10 -2
  6. package/.nuxt/b24ui/button-group.ts +10 -2
  7. package/.nuxt/b24ui/button.ts +16 -6
  8. package/.nuxt/b24ui/calendar.ts +10 -2
  9. package/.nuxt/b24ui/checkbox.ts +10 -2
  10. package/.nuxt/b24ui/chip.ts +10 -2
  11. package/.nuxt/b24ui/collapsible.ts +10 -2
  12. package/.nuxt/b24ui/container.ts +10 -2
  13. package/.nuxt/b24ui/countdown.ts +10 -2
  14. package/.nuxt/b24ui/description-list.ts +10 -2
  15. package/.nuxt/b24ui/dropdown-menu.ts +10 -2
  16. package/.nuxt/b24ui/form-field.ts +10 -2
  17. package/.nuxt/b24ui/form.ts +10 -2
  18. package/.nuxt/b24ui/input-menu.ts +12 -4
  19. package/.nuxt/b24ui/input-number.ts +10 -2
  20. package/.nuxt/b24ui/input.ts +10 -2
  21. package/.nuxt/b24ui/kbd.ts +10 -2
  22. package/.nuxt/b24ui/link.ts +10 -2
  23. package/.nuxt/b24ui/modal.ts +10 -2
  24. package/.nuxt/b24ui/navbar-divider.ts +10 -2
  25. package/.nuxt/b24ui/navbar-section.ts +10 -2
  26. package/.nuxt/b24ui/navbar-spacer.ts +10 -2
  27. package/.nuxt/b24ui/navbar.ts +10 -2
  28. package/.nuxt/b24ui/navigation-menu.ts +10 -2
  29. package/.nuxt/b24ui/popover.ts +10 -2
  30. package/.nuxt/b24ui/progress.ts +10 -2
  31. package/.nuxt/b24ui/radio-group.ts +10 -2
  32. package/.nuxt/b24ui/range.ts +10 -2
  33. package/.nuxt/b24ui/select-menu.ts +14 -6
  34. package/.nuxt/b24ui/select.ts +12 -4
  35. package/.nuxt/b24ui/separator.ts +10 -2
  36. package/.nuxt/b24ui/sidebar-body.ts +10 -2
  37. package/.nuxt/b24ui/sidebar-footer.ts +10 -2
  38. package/.nuxt/b24ui/sidebar-header.ts +10 -2
  39. package/.nuxt/b24ui/sidebar-heading.ts +10 -2
  40. package/.nuxt/b24ui/sidebar-layout.ts +10 -2
  41. package/.nuxt/b24ui/sidebar-section.ts +10 -2
  42. package/.nuxt/b24ui/sidebar-spacer.ts +10 -2
  43. package/.nuxt/b24ui/sidebar.ts +10 -2
  44. package/.nuxt/b24ui/skeleton.ts +10 -2
  45. package/.nuxt/b24ui/slideover.ts +10 -2
  46. package/.nuxt/b24ui/stacked-layout.ts +10 -2
  47. package/.nuxt/b24ui/switch.ts +10 -2
  48. package/.nuxt/b24ui/tabs.ts +10 -2
  49. package/.nuxt/b24ui/textarea.ts +10 -2
  50. package/.nuxt/b24ui/toast.ts +10 -2
  51. package/.nuxt/b24ui/toaster.ts +10 -2
  52. package/.nuxt/b24ui/tooltip.ts +10 -2
  53. package/cli/templates.mjs +19 -15
  54. package/dist/meta.d.mts +5675 -7513
  55. package/dist/meta.mjs +5675 -7513
  56. package/dist/module.json +3 -3
  57. package/dist/module.mjs +2 -2
  58. package/dist/runtime/components/Advice.vue +27 -55
  59. package/dist/runtime/components/Advice.vue.d.ts +56 -0
  60. package/dist/runtime/components/Alert.vue +35 -97
  61. package/dist/runtime/components/Alert.vue.d.ts +97 -0
  62. package/dist/runtime/components/App.vue +24 -34
  63. package/dist/runtime/components/App.vue.d.ts +23 -0
  64. package/dist/runtime/components/Avatar.vue +43 -82
  65. package/dist/runtime/components/Avatar.vue.d.ts +62 -0
  66. package/dist/runtime/components/AvatarGroup.vue +40 -77
  67. package/dist/runtime/components/AvatarGroup.vue.d.ts +40 -0
  68. package/dist/runtime/components/Badge.vue +40 -84
  69. package/dist/runtime/components/Badge.vue.d.ts +78 -0
  70. package/dist/runtime/components/Button.vue +107 -164
  71. package/dist/runtime/components/Button.vue.d.ts +115 -0
  72. package/dist/runtime/components/ButtonGroup.vue +25 -52
  73. package/dist/runtime/components/ButtonGroup.vue.d.ts +63 -0
  74. package/dist/runtime/components/Calendar.vue +73 -153
  75. package/dist/runtime/components/Calendar.vue.d.ts +107 -0
  76. package/dist/runtime/components/Checkbox.vue +42 -74
  77. package/dist/runtime/components/Checkbox.vue.d.ts +55 -0
  78. package/dist/runtime/components/Chip.vue +26 -75
  79. package/dist/runtime/components/Chip.vue.d.ts +77 -0
  80. package/dist/runtime/components/Collapsible.vue +22 -41
  81. package/dist/runtime/components/Collapsible.vue.d.ts +50 -0
  82. package/dist/runtime/components/Container.vue +15 -28
  83. package/dist/runtime/components/Container.vue.d.ts +27 -0
  84. package/dist/runtime/components/Countdown.vue +153 -379
  85. package/dist/runtime/components/Countdown.vue.d.ts +122 -0
  86. package/dist/runtime/components/DescriptionList.vue +78 -150
  87. package/dist/runtime/components/DescriptionList.vue.d.ts +109 -0
  88. package/dist/runtime/components/DropdownMenu.vue +38 -140
  89. package/dist/runtime/components/DropdownMenu.vue.d.ts +133 -0
  90. package/dist/runtime/components/DropdownMenuContent.vue +65 -79
  91. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +51 -0
  92. package/dist/runtime/components/Form.vue +132 -218
  93. package/dist/runtime/components/Form.vue.d.ts +55 -0
  94. package/dist/runtime/components/FormField.vue +36 -81
  95. package/dist/runtime/components/FormField.vue.d.ts +73 -0
  96. package/dist/runtime/components/Input.vue +79 -180
  97. package/dist/runtime/components/Input.vue.d.ts +135 -0
  98. package/dist/runtime/components/InputMenu.vue +185 -382
  99. package/dist/runtime/components/InputMenu.vue.d.ts +357 -0
  100. package/dist/runtime/components/InputNumber.vue +77 -176
  101. package/dist/runtime/components/InputNumber.vue.d.ts +238 -0
  102. package/dist/runtime/components/Kbd.vue +20 -46
  103. package/dist/runtime/components/Kbd.vue.d.ts +55 -0
  104. package/dist/runtime/components/Link.vue +99 -179
  105. package/dist/runtime/components/Link.vue.d.ts +129 -0
  106. package/dist/runtime/components/LinkBase.vue +33 -42
  107. package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
  108. package/dist/runtime/components/Modal.vue +48 -128
  109. package/dist/runtime/components/Modal.vue.d.ts +124 -0
  110. package/dist/runtime/components/ModalDialogClose.vue +5 -8
  111. package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
  112. package/dist/runtime/components/Navbar.vue +15 -33
  113. package/dist/runtime/components/Navbar.vue.d.ts +46 -0
  114. package/dist/runtime/components/NavbarDivider.vue +15 -33
  115. package/dist/runtime/components/NavbarDivider.vue.d.ts +46 -0
  116. package/dist/runtime/components/NavbarSection.vue +15 -33
  117. package/dist/runtime/components/NavbarSection.vue.d.ts +46 -0
  118. package/dist/runtime/components/NavbarSpacer.vue +15 -33
  119. package/dist/runtime/components/NavbarSpacer.vue.d.ts +46 -0
  120. package/dist/runtime/components/NavigationMenu.vue +74 -209
  121. package/dist/runtime/components/NavigationMenu.vue.d.ts +159 -0
  122. package/dist/runtime/components/OverlayProvider.vue +14 -18
  123. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  124. package/dist/runtime/components/Popover.vue +40 -82
  125. package/dist/runtime/components/Popover.vue.d.ts +79 -0
  126. package/dist/runtime/components/Progress.vue +70 -137
  127. package/dist/runtime/components/Progress.vue.d.ts +103 -0
  128. package/dist/runtime/components/RadioGroup.vue +59 -135
  129. package/dist/runtime/components/RadioGroup.vue.d.ts +88 -0
  130. package/dist/runtime/components/Range.vue +46 -86
  131. package/dist/runtime/components/Range.vue.d.ts +73 -0
  132. package/dist/runtime/components/Select.vue +110 -261
  133. package/dist/runtime/components/Select.vue.d.ts +170 -0
  134. package/dist/runtime/components/SelectMenu.vue +161 -348
  135. package/dist/runtime/components/SelectMenu.vue.d.ts +217 -0
  136. package/dist/runtime/components/Separator.vue +28 -72
  137. package/dist/runtime/components/Separator.vue.d.ts +77 -0
  138. package/dist/runtime/components/Sidebar.vue +15 -33
  139. package/dist/runtime/components/Sidebar.vue.d.ts +46 -0
  140. package/dist/runtime/components/SidebarBody.vue +17 -39
  141. package/dist/runtime/components/SidebarBody.vue.d.ts +53 -0
  142. package/dist/runtime/components/SidebarFooter.vue +15 -33
  143. package/dist/runtime/components/SidebarFooter.vue.d.ts +46 -0
  144. package/dist/runtime/components/SidebarHeader.vue +15 -33
  145. package/dist/runtime/components/SidebarHeader.vue.d.ts +46 -0
  146. package/dist/runtime/components/SidebarHeading.vue +15 -33
  147. package/dist/runtime/components/SidebarHeading.vue.d.ts +46 -0
  148. package/dist/runtime/components/SidebarLayout.vue +34 -71
  149. package/dist/runtime/components/SidebarLayout.vue.d.ts +65 -0
  150. package/dist/runtime/components/SidebarSection.vue +15 -33
  151. package/dist/runtime/components/SidebarSection.vue.d.ts +46 -0
  152. package/dist/runtime/components/SidebarSpacer.vue +15 -33
  153. package/dist/runtime/components/SidebarSpacer.vue.d.ts +46 -0
  154. package/dist/runtime/components/Skeleton.vue +14 -23
  155. package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
  156. package/dist/runtime/components/Slideover.vue +50 -132
  157. package/dist/runtime/components/Slideover.vue.d.ts +127 -0
  158. package/dist/runtime/components/StackedLayout.vue +34 -74
  159. package/dist/runtime/components/StackedLayout.vue.d.ts +65 -0
  160. package/dist/runtime/components/Switch.vue +46 -96
  161. package/dist/runtime/components/Switch.vue.d.ts +77 -0
  162. package/dist/runtime/components/Tabs.vue +41 -106
  163. package/dist/runtime/components/Tabs.vue.d.ts +104 -0
  164. package/dist/runtime/components/Textarea.vue +92 -202
  165. package/dist/runtime/components/Textarea.vue.d.ts +141 -0
  166. package/dist/runtime/components/Toast.vue +47 -106
  167. package/dist/runtime/components/Toast.vue.d.ts +95 -0
  168. package/dist/runtime/components/Toaster.vue +70 -116
  169. package/dist/runtime/components/Toaster.vue.d.ts +70 -0
  170. package/dist/runtime/components/Tooltip.vue +36 -65
  171. package/dist/runtime/components/Tooltip.vue.d.ts +65 -0
  172. package/dist/runtime/components/content/TableWrapper.vue +24 -71
  173. package/dist/runtime/components/content/TableWrapper.vue.d.ts +83 -0
  174. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  175. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  176. package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
  177. package/dist/runtime/composables/useFormField.d.ts +2 -2
  178. package/dist/runtime/composables/useOverlay.d.ts +14 -7
  179. package/dist/runtime/composables/useOverlay.js +14 -6
  180. package/dist/runtime/prose/A.vue +16 -26
  181. package/dist/runtime/prose/A.vue.d.ts +27 -0
  182. package/dist/runtime/prose/Blockquote.vue +14 -26
  183. package/dist/runtime/prose/Blockquote.vue.d.ts +27 -0
  184. package/dist/runtime/prose/Code.vue +15 -32
  185. package/dist/runtime/prose/Code.vue.d.ts +31 -0
  186. package/dist/runtime/prose/Em.vue +16 -26
  187. package/dist/runtime/prose/Em.vue.d.ts +27 -0
  188. package/dist/runtime/prose/H1.vue +14 -26
  189. package/dist/runtime/prose/H1.vue.d.ts +27 -0
  190. package/dist/runtime/prose/H2.vue +14 -26
  191. package/dist/runtime/prose/H2.vue.d.ts +27 -0
  192. package/dist/runtime/prose/H3.vue +14 -26
  193. package/dist/runtime/prose/H3.vue.d.ts +27 -0
  194. package/dist/runtime/prose/H4.vue +14 -26
  195. package/dist/runtime/prose/H4.vue.d.ts +27 -0
  196. package/dist/runtime/prose/H5.vue +14 -26
  197. package/dist/runtime/prose/H5.vue.d.ts +27 -0
  198. package/dist/runtime/prose/H6.vue +14 -26
  199. package/dist/runtime/prose/H6.vue.d.ts +27 -0
  200. package/dist/runtime/prose/Hr.vue +13 -22
  201. package/dist/runtime/prose/Hr.vue.d.ts +19 -0
  202. package/dist/runtime/prose/Img.vue +13 -26
  203. package/dist/runtime/prose/Img.vue.d.ts +19 -0
  204. package/dist/runtime/prose/Li.vue +14 -26
  205. package/dist/runtime/prose/Li.vue.d.ts +27 -0
  206. package/dist/runtime/prose/Ol.vue +14 -26
  207. package/dist/runtime/prose/Ol.vue.d.ts +27 -0
  208. package/dist/runtime/prose/P.vue +14 -26
  209. package/dist/runtime/prose/P.vue.d.ts +27 -0
  210. package/dist/runtime/prose/Pre.vue +17 -33
  211. package/dist/runtime/prose/Pre.vue.d.ts +47 -0
  212. package/dist/runtime/prose/Strong.vue +14 -26
  213. package/dist/runtime/prose/Strong.vue.d.ts +27 -0
  214. package/dist/runtime/prose/Table.vue +21 -57
  215. package/dist/runtime/prose/Table.vue.d.ts +74 -0
  216. package/dist/runtime/prose/Tbody.vue +14 -26
  217. package/dist/runtime/prose/Tbody.vue.d.ts +27 -0
  218. package/dist/runtime/prose/Td.vue +14 -26
  219. package/dist/runtime/prose/Td.vue.d.ts +27 -0
  220. package/dist/runtime/prose/Th.vue +14 -26
  221. package/dist/runtime/prose/Th.vue.d.ts +27 -0
  222. package/dist/runtime/prose/Thead.vue +14 -26
  223. package/dist/runtime/prose/Thead.vue.d.ts +27 -0
  224. package/dist/runtime/prose/Tr.vue +14 -26
  225. package/dist/runtime/prose/Tr.vue.d.ts +27 -0
  226. package/dist/runtime/prose/Ul.vue +14 -26
  227. package/dist/runtime/prose/Ul.vue.d.ts +27 -0
  228. package/dist/runtime/types/form.d.ts +1 -0
  229. package/dist/runtime/types/utils.d.ts +42 -3
  230. package/dist/runtime/utils/link.d.ts +3 -3
  231. package/dist/runtime/utils/tv.js +2 -2
  232. package/dist/runtime/vue/components/Link.vue +122 -208
  233. package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
  234. package/dist/shared/{b24ui-nuxt.CS9Lf0os.mjs → b24ui-nuxt.wBs9vEU5.mjs} +33 -8
  235. package/dist/types.d.mts +3 -5
  236. package/dist/unplugin.mjs +1 -1
  237. package/dist/vite.mjs +1 -1
  238. package/package.json +19 -27
  239. package/dist/meta.cjs +0 -72112
  240. package/dist/meta.d.cts +0 -72110
  241. package/dist/meta.d.ts +0 -72110
  242. package/dist/module.cjs +0 -63
  243. package/dist/module.d.cts +0 -15
  244. package/dist/module.d.ts +0 -15
  245. package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +0 -7721
  246. package/dist/types.d.ts +0 -7
  247. package/dist/unplugin.cjs +0 -236
  248. package/dist/unplugin.d.cts +0 -33
  249. package/dist/unplugin.d.ts +0 -33
  250. package/dist/vite.cjs +0 -21
  251. package/dist/vite.d.cts +0 -14
  252. package/dist/vite.d.ts +0 -14
@@ -0,0 +1,217 @@
1
+ import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/b24ui/select-menu';
4
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
5
+ import type { AvatarProps, ChipProps, InputProps, IconComponent } from '../types';
6
+ import type { AcceptableValue, ArrayOrNested, GetItemKeys, GetModelValue, GetModelValueEmits, NestedItem, EmitsToProps, ComponentConfig } from '../types/utils';
7
+ type SelectMenu = ComponentConfig<typeof theme, AppConfig, 'selectMenu'>;
8
+ interface _SelectMenuItem {
9
+ label?: string;
10
+ /**
11
+ * Display an icon on the left side.
12
+ * @IconComponent
13
+ */
14
+ icon?: IconComponent;
15
+ avatar?: AvatarProps;
16
+ color?: SelectMenu['variants']['color'];
17
+ chip?: ChipProps;
18
+ /**
19
+ * The item type.
20
+ * @defaultValue 'item'
21
+ */
22
+ type?: 'label' | 'separator' | 'item';
23
+ disabled?: boolean;
24
+ onSelect?(e?: Event): void;
25
+ [key: string]: any;
26
+ }
27
+ export type SelectMenuItem = _SelectMenuItem | AcceptableValue | boolean;
28
+ export interface SelectMenuProps<T extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false> extends Pick<ComboboxRootProps<T>, 'open' | 'defaultOpen' | 'disabled' | 'name' | 'resetSearchTermOnBlur' | 'resetSearchTermOnSelect' | 'highlightOnHover'>, UseComponentIconsProps {
29
+ id?: string;
30
+ /** The placeholder text when the select is empty. */
31
+ placeholder?: string;
32
+ /**
33
+ * Whether to display the search input or not.
34
+ * Can be an object to pass additional props to the input.
35
+ * `{ placeholder: 'Search...', type: 'search' }`{lang="ts"}
36
+ * @defaultValue true
37
+ */
38
+ searchInput?: boolean | InputProps;
39
+ /**
40
+ * @defaultValue 'primary'
41
+ */
42
+ color?: SelectMenu['variants']['color'];
43
+ /**
44
+ * @defaultValue 'md'
45
+ */
46
+ size?: SelectMenu['variants']['size'];
47
+ /**
48
+ * Removes padding from input
49
+ * @defaultValue false
50
+ */
51
+ noPadding?: boolean;
52
+ /**
53
+ * Removes all borders (rings)
54
+ * @defaultValue false
55
+ */
56
+ noBorder?: boolean;
57
+ /**
58
+ * Removes all borders (rings) except the bottom one
59
+ * @defaultValue false
60
+ */
61
+ underline?: boolean;
62
+ /**
63
+ * Rounds the corners of the button
64
+ * @defaultValue false
65
+ */
66
+ rounded?: boolean;
67
+ tag?: string;
68
+ /**
69
+ * @defaultValue 'primary'
70
+ */
71
+ tagColor?: SelectMenu['variants']['tagColor'];
72
+ /**
73
+ * @defaultValue false
74
+ */
75
+ required?: boolean;
76
+ /**
77
+ * The icon displayed to open the menu.
78
+ * @defaultValue icons.chevronDown
79
+ * @IconComponent
80
+ */
81
+ trailingIcon?: IconComponent;
82
+ /**
83
+ * The icon displayed when an item is selected.
84
+ * @defaultValue icons.check
85
+ * @IconComponent
86
+ */
87
+ selectedIcon?: IconComponent;
88
+ /**
89
+ * The content of the menu.
90
+ * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
91
+ */
92
+ content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<ComboboxContentEmits>>;
93
+ /**
94
+ * Display an arrow alongside the menu.
95
+ * @defaultValue false
96
+ */
97
+ arrow?: boolean | Omit<ComboboxArrowProps, 'as' | 'asChild'>;
98
+ /**
99
+ * Render the menu in a portal.
100
+ * @defaultValue true
101
+ */
102
+ portal?: boolean;
103
+ /**
104
+ * When `items` is an array of objects, select the field to use as the value instead of the object itself.
105
+ * @defaultValue undefined
106
+ */
107
+ valueKey?: VK;
108
+ /**
109
+ * When `items` is an array of objects, select the field to use as the label.
110
+ * @defaultValue 'label'
111
+ */
112
+ labelKey?: keyof NestedItem<T>;
113
+ items?: T;
114
+ /**
115
+ * The value of the SelectMenu when initially rendered. Use when you do not need to control the state of the SelectMenu
116
+ */
117
+ defaultValue?: GetModelValue<T, VK, M>;
118
+ /**
119
+ * The controlled value of the SelectMenu. Can be binded-with with `v-model`
120
+ */
121
+ modelValue?: GetModelValue<T, VK, M>;
122
+ /**
123
+ * Whether multiple options can be selected or not
124
+ * @defaultValue false
125
+ */
126
+ multiple?: M & boolean;
127
+ /**
128
+ * Highlight the ring color like a focus state
129
+ * @defaultValue false
130
+ */
131
+ highlight?: boolean;
132
+ /**
133
+ * Determines if custom user input that does not exist in options can be added.
134
+ * @defaultValue false
135
+ */
136
+ createItem?: boolean | 'always' | {
137
+ position?: 'top' | 'bottom';
138
+ when?: 'empty' | 'always';
139
+ };
140
+ /**
141
+ * Fields to filter items by.
142
+ * @defaultValue [labelKey]
143
+ */
144
+ filterFields?: string[];
145
+ /**
146
+ * When `true`, disable the default filters, useful for custom filtering (useAsyncData, useFetch, etc.).
147
+ * @defaultValue false
148
+ */
149
+ ignoreFilter?: boolean;
150
+ class?: any;
151
+ b24ui?: SelectMenu['slots'];
152
+ }
153
+ export type SelectMenuEmits<A extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined, M extends boolean> = Pick<ComboboxRootEmits, 'update:open'> & {
154
+ change: [payload: Event];
155
+ blur: [payload: FocusEvent];
156
+ focus: [payload: FocusEvent];
157
+ create: [item: string];
158
+ /** Event handler when highlighted element changes. */
159
+ highlight: [
160
+ payload: {
161
+ ref: HTMLElement;
162
+ value: GetModelValue<A, VK, M>;
163
+ } | undefined
164
+ ];
165
+ } & GetModelValueEmits<A, VK, M>;
166
+ type SlotProps<T extends SelectMenuItem> = (props: {
167
+ item: T;
168
+ index: number;
169
+ }) => any;
170
+ export interface SelectMenuSlots<A extends ArrayOrNested<SelectMenuItem> = ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<A> | undefined = undefined, M extends boolean = false, T extends NestedItem<A> = NestedItem<A>> {
171
+ 'leading'(props: {
172
+ modelValue?: GetModelValue<A, VK, M>;
173
+ open: boolean;
174
+ b24ui: {
175
+ [K in keyof Required<SelectMenu['slots']>]: (props?: Record<string, any>) => string;
176
+ };
177
+ }): any;
178
+ 'default'(props: {
179
+ modelValue?: GetModelValue<A, VK, M>;
180
+ open: boolean;
181
+ }): any;
182
+ 'trailing'(props: {
183
+ modelValue?: GetModelValue<A, VK, M>;
184
+ open: boolean;
185
+ b24ui: {
186
+ [K in keyof Required<SelectMenu['slots']>]: (props?: Record<string, any>) => string;
187
+ };
188
+ }): any;
189
+ 'empty'(props: {
190
+ searchTerm?: string;
191
+ }): any;
192
+ 'item': SlotProps<T>;
193
+ 'item-leading': SlotProps<T>;
194
+ 'item-label': SlotProps<T>;
195
+ 'item-trailing': SlotProps<T>;
196
+ 'create-item-label'(props: {
197
+ item: string;
198
+ }): any;
199
+ }
200
+ declare const _default: <T extends ArrayOrNested<SelectMenuItem>, VK extends GetItemKeys<T> | undefined = undefined, M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
201
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & ({
202
+ searchTerm?: string;
203
+ } & SelectMenuProps<T, VK, M>) & Partial<{}>> & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps);
204
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
205
+ attrs: any;
206
+ slots: Readonly<SelectMenuSlots<T, VK, M, NestedItem<T>>> & SelectMenuSlots<T, VK, M, NestedItem<T>>;
207
+ emit: (((evt: "blur", payload: FocusEvent) => void) & ((evt: "change", payload: Event) => void) & ((evt: "focus", payload: FocusEvent) => void) & ((evt: "create", item: string) => void) & ((evt: "highlight", payload: {
208
+ ref: HTMLElement;
209
+ value: GetModelValue<T, VK, M>;
210
+ } | undefined) => void) & ((evt: "update:open", value: boolean) => void) & ((evt: "update:modelValue", payload: GetModelValue<T, VK, M>) => void)) & ((evt: "update:searchTerm", value: string) => void);
211
+ }>) => import("vue").VNode & {
212
+ __ctx?: Awaited<typeof __VLS_setup>;
213
+ };
214
+ export default _default;
215
+ type __VLS_PrettifyLocal<T> = {
216
+ [K in keyof T]: T[K];
217
+ } & {};
@@ -1,80 +1,36 @@
1
- <script lang="ts">
2
- import type { VariantProps } from 'tailwind-variants'
3
- import type { SeparatorProps as _SeparatorProps } from 'reka-ui'
4
- import type { AppConfig } from '@nuxt/schema'
5
- import _appConfig from '#build/app.config'
6
- import theme from '#build/b24ui/separator'
7
- import { tv } from '../utils/tv'
8
- import type { AvatarProps, IconComponent } from '../types'
9
-
10
- const appConfigSeparator = _appConfig as AppConfig & { b24ui: { separator: Partial<typeof theme> } }
11
-
12
- const separator = tv({ extend: tv(theme), ...(appConfigSeparator.b24ui?.separator || {}) })
13
-
14
- type SeparatorVariants = VariantProps<typeof separator>
15
-
16
- export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
17
- /**
18
- * The element or component this component should render as.
19
- * @defaultValue 'div'
20
- */
21
- as?: any
22
- /** Display a label in the middle. */
23
- label?: string
24
- /**
25
- * Display an icon in the middle
26
- * @IconComponent
27
- */
28
- icon?: IconComponent
29
- /**
30
- * Display an avatar in the middle
31
- */
32
- avatar?: AvatarProps
33
- /**
34
- * @defaultValue 'default'
35
- */
36
- color?: SeparatorVariants['color']
37
- /**
38
- * @defaultValue 'xs'
39
- */
40
- size?: SeparatorVariants['size']
41
- /**
42
- * @defaultValue 'solid'
43
- */
44
- type?: SeparatorVariants['type']
45
- /**
46
- * The orientation of the separator.
47
- * @defaultValue 'horizontal'
48
- */
49
- orientation?: _SeparatorProps['orientation']
50
- class?: any
51
- b24ui?: Partial<typeof separator.slots>
52
- }
53
-
54
- export interface SeparatorSlots {
55
- default(props?: {}): any
56
- }
1
+ <script>
2
+ import theme from "#build/b24ui/separator";
57
3
  </script>
58
4
 
59
- <script setup lang="ts">
60
- import { computed } from 'vue'
61
- import { Separator, useForwardProps } from 'reka-ui'
62
- import { reactivePick } from '@vueuse/core'
63
- import B24Avatar from './Avatar.vue'
64
-
65
- const props = withDefaults(defineProps<SeparatorProps>(), {
66
- orientation: 'horizontal'
67
- })
68
- const slots = defineSlots<SeparatorSlots>()
69
-
70
- const rootProps = useForwardProps(reactivePick(props, 'as', 'decorative', 'orientation'))
71
-
72
- const b24ui = computed(() => separator({
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Separator, useForwardProps } from "reka-ui";
8
+ import { reactivePick } from "@vueuse/core";
9
+ import { useAppConfig } from "#imports";
10
+ import { tv } from "../utils/tv";
11
+ import B24Avatar from "./Avatar.vue";
12
+ const props = defineProps({
13
+ as: { type: null, required: false },
14
+ label: { type: String, required: false },
15
+ icon: { type: [Function, Object], required: false },
16
+ avatar: { type: Object, required: false },
17
+ color: { type: null, required: false },
18
+ size: { type: null, required: false },
19
+ type: { type: null, required: false },
20
+ orientation: { type: null, required: false, default: "horizontal" },
21
+ class: { type: null, required: false },
22
+ b24ui: { type: null, required: false },
23
+ decorative: { type: Boolean, required: false }
24
+ });
25
+ const slots = defineSlots();
26
+ const appConfig = useAppConfig();
27
+ const rootProps = useForwardProps(reactivePick(props, "as", "decorative", "orientation"));
28
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.separator || {} })({
73
29
  color: props.color,
74
30
  orientation: props.orientation,
75
31
  size: props.size,
76
32
  type: props.type
77
- }))
33
+ }));
78
34
  </script>
79
35
 
80
36
  <template>
@@ -86,7 +42,7 @@ const b24ui = computed(() => separator({
86
42
  <slot>
87
43
  <span v-if="label" :class="b24ui.label({ class: props.b24ui?.label })">{{ label }}</span>
88
44
  <Component :is="icon" v-else-if="icon" :class="b24ui.icon({ class: props.b24ui?.icon })" />
89
- <B24Avatar v-else-if="avatar" :size="((props.b24ui?.avatarSize || b24ui.avatarSize()) as AvatarProps['size'])" v-bind="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
45
+ <B24Avatar v-else-if="avatar" :size="props.b24ui?.avatarSize || b24ui.avatarSize()" v-bind="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
90
46
  </slot>
91
47
  </div>
92
48
 
@@ -0,0 +1,77 @@
1
+ import { Separator } from 'reka-ui';
2
+ import type { SeparatorProps as _SeparatorProps } from 'reka-ui';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/b24ui/separator';
5
+ import type { AvatarProps, IconComponent } from '../types';
6
+ import type { ComponentConfig } from '../types/utils';
7
+ type Separator = ComponentConfig<typeof theme, AppConfig, 'separator'>;
8
+ export interface SeparatorProps extends Pick<_SeparatorProps, 'decorative'> {
9
+ /**
10
+ * The element or component this component should render as.
11
+ * @defaultValue 'div'
12
+ */
13
+ as?: any;
14
+ /** Display a label in the middle. */
15
+ label?: string;
16
+ /**
17
+ * Display an icon in the middle
18
+ * @IconComponent
19
+ */
20
+ icon?: IconComponent;
21
+ /**
22
+ * Display an avatar in the middle
23
+ */
24
+ avatar?: AvatarProps;
25
+ /**
26
+ * @defaultValue 'default'
27
+ */
28
+ color?: Separator['variants']['color'];
29
+ /**
30
+ * @defaultValue 'xs'
31
+ */
32
+ size?: Separator['variants']['size'];
33
+ /**
34
+ * @defaultValue 'solid'
35
+ */
36
+ type?: Separator['variants']['type'];
37
+ /**
38
+ * The orientation of the separator.
39
+ * @defaultValue 'horizontal'
40
+ */
41
+ orientation?: _SeparatorProps['orientation'];
42
+ class?: any;
43
+ b24ui?: Separator['slots'];
44
+ }
45
+ export interface SeparatorSlots {
46
+ default(props?: {}): any;
47
+ }
48
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SeparatorProps>, {
49
+ orientation: string;
50
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SeparatorProps>, {
51
+ orientation: string;
52
+ }>>> & Readonly<{}>, {
53
+ orientation: "horizontal" | "vertical";
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<SeparatorSlots> & SeparatorSlots>;
55
+ export default _default;
56
+ type __VLS_WithDefaults<P, D> = {
57
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
58
+ default: D[K];
59
+ }> : P[K];
60
+ };
61
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
62
+ type __VLS_TypePropsToOption<T> = {
63
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
64
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
65
+ } : {
66
+ type: import('vue').PropType<T[K]>;
67
+ required: true;
68
+ };
69
+ };
70
+ type __VLS_WithTemplateSlots<T, S> = T & {
71
+ new (): {
72
+ $slots: S;
73
+ };
74
+ };
75
+ type __VLS_PrettifyLocal<T> = {
76
+ [K in keyof T]: T[K];
77
+ } & {};
@@ -1,38 +1,20 @@
1
- <script lang="ts">
2
- import type { AppConfig } from '@nuxt/schema'
3
- import _appConfig from '#build/app.config'
4
- import theme from '#build/b24ui/sidebar'
5
- import { tv } from '../utils/tv'
6
-
7
- const appConfigSidebar = _appConfig as AppConfig & { b24ui: { sidebar: Partial<typeof theme> } }
8
-
9
- const sidebar = tv({ extend: tv(theme), ...(appConfigSidebar.b24ui?.sidebar || {}) })
10
-
11
- export interface SidebarProps {
12
- /**
13
- * The element or component this component should render as.
14
- * @defaultValue 'div'
15
- */
16
- as?: any
17
- class?: any
18
- b24ui?: Partial<typeof sidebar.slots>
19
- }
20
-
21
- export interface SidebarSlots {
22
- default(props?: {}): any
23
- }
1
+ <script>
2
+ import theme from "#build/b24ui/sidebar";
24
3
  </script>
25
4
 
26
- <script setup lang="ts">
27
- import { Primitive } from 'reka-ui'
28
-
29
- const props = withDefaults(defineProps<SidebarProps>(), {
30
- as: 'div'
31
- })
32
- defineSlots<SidebarSlots>()
33
-
34
- // eslint-disable-next-line vue/no-dupe-keys
35
- const b24ui = sidebar()
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { tv } from "../utils/tv";
10
+ const props = defineProps({
11
+ as: { type: null, required: false, default: "div" },
12
+ class: { type: null, required: false },
13
+ b24ui: { type: null, required: false }
14
+ });
15
+ defineSlots();
16
+ const appConfig = useAppConfig();
17
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.sidebar || {} })());
36
18
  </script>
37
19
 
38
20
  <template>
@@ -0,0 +1,46 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/sidebar';
3
+ import type { ComponentConfig } from '../types/utils';
4
+ type Sidebar = ComponentConfig<typeof theme, AppConfig, 'sidebar'>;
5
+ export interface SidebarProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'div'
9
+ */
10
+ as?: any;
11
+ class?: any;
12
+ b24ui?: Sidebar['slots'];
13
+ }
14
+ export interface SidebarSlots {
15
+ default(props?: {}): any;
16
+ }
17
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SidebarProps>, {
18
+ as: string;
19
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SidebarProps>, {
20
+ as: string;
21
+ }>>> & Readonly<{}>, {
22
+ as: any;
23
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<SidebarSlots> & SidebarSlots>;
24
+ export default _default;
25
+ type __VLS_WithDefaults<P, D> = {
26
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
27
+ default: D[K];
28
+ }> : P[K];
29
+ };
30
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
31
+ type __VLS_TypePropsToOption<T> = {
32
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
33
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
34
+ } : {
35
+ type: import('vue').PropType<T[K]>;
36
+ required: true;
37
+ };
38
+ };
39
+ type __VLS_WithTemplateSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
44
+ type __VLS_PrettifyLocal<T> = {
45
+ [K in keyof T]: T[K];
46
+ } & {};
@@ -1,45 +1,23 @@
1
- <script lang="ts">
2
- import type { AppConfig } from '@nuxt/schema'
3
- import _appConfig from '#build/app.config'
4
- import theme from '#build/b24ui/sidebar-body'
5
- import { tv } from '../utils/tv'
6
-
7
- const appConfigSidebarBody = _appConfig as AppConfig & { b24ui: { sidebarBody: Partial<typeof theme> } }
8
-
9
- const sidebarBody = tv({ extend: tv(theme), ...(appConfigSidebarBody.b24ui?.sidebarBody || {}) })
10
-
11
- export interface SidebarBodyProps {
12
- /**
13
- * The element or component this component should render as.
14
- * @defaultValue 'div'
15
- */
16
- as?: any
17
- /**
18
- * @defaultValue true
19
- */
20
- scrollbarThin?: boolean
21
- class?: any
22
- b24ui?: Partial<typeof sidebarBody.slots>
23
- }
24
-
25
- export interface SidebarBodySlots {
26
- default(props?: {}): any
27
- }
1
+ <script>
2
+ import theme from "#build/b24ui/sidebar-body";
28
3
  </script>
29
4
 
30
- <script setup lang="ts">
31
- import { computed } from 'vue'
32
- import { Primitive } from 'reka-ui'
33
-
34
- const props = withDefaults(defineProps<SidebarBodyProps>(), {
35
- as: 'div',
36
- scrollbarThin: true
37
- })
38
- defineSlots<SidebarBodySlots>()
39
-
40
- const b24ui = computed(() => sidebarBody({
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { tv } from "../utils/tv";
10
+ const props = defineProps({
11
+ as: { type: null, required: false, default: "div" },
12
+ scrollbarThin: { type: Boolean, required: false, default: true },
13
+ class: { type: null, required: false },
14
+ b24ui: { type: null, required: false }
15
+ });
16
+ defineSlots();
17
+ const appConfig = useAppConfig();
18
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.sidebarBody || {} })({
41
19
  scrollbarThin: Boolean(props.scrollbarThin)
42
- }))
20
+ }));
43
21
  </script>
44
22
 
45
23
  <template>
@@ -0,0 +1,53 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/sidebar-body';
3
+ import type { ComponentConfig } from '../types/utils';
4
+ type SidebarBody = ComponentConfig<typeof theme, AppConfig, 'sidebarBody'>;
5
+ export interface SidebarBodyProps {
6
+ /**
7
+ * The element or component this component should render as.
8
+ * @defaultValue 'div'
9
+ */
10
+ as?: any;
11
+ /**
12
+ * @defaultValue true
13
+ */
14
+ scrollbarThin?: boolean;
15
+ class?: any;
16
+ b24ui?: SidebarBody['slots'];
17
+ }
18
+ export interface SidebarBodySlots {
19
+ default(props?: {}): any;
20
+ }
21
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SidebarBodyProps>, {
22
+ as: string;
23
+ scrollbarThin: boolean;
24
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SidebarBodyProps>, {
25
+ as: string;
26
+ scrollbarThin: boolean;
27
+ }>>> & Readonly<{}>, {
28
+ as: any;
29
+ scrollbarThin: boolean;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<SidebarBodySlots> & SidebarBodySlots>;
31
+ export default _default;
32
+ type __VLS_WithDefaults<P, D> = {
33
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
34
+ default: D[K];
35
+ }> : P[K];
36
+ };
37
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
38
+ type __VLS_TypePropsToOption<T> = {
39
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
40
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
41
+ } : {
42
+ type: import('vue').PropType<T[K]>;
43
+ required: true;
44
+ };
45
+ };
46
+ type __VLS_WithTemplateSlots<T, S> = T & {
47
+ new (): {
48
+ $slots: S;
49
+ };
50
+ };
51
+ type __VLS_PrettifyLocal<T> = {
52
+ [K in keyof T]: T[K];
53
+ } & {};