@bitrix24/b24ui-nuxt 0.5.8 → 0.5.10

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 (197) hide show
  1. package/.nuxt/b24ui/navigation-menu.ts +0 -2
  2. package/.nuxt/b24ui/popover.ts +1 -1
  3. package/.nuxt/b24ui/textarea.ts +43 -0
  4. package/dist/meta.d.mts +5090 -4900
  5. package/dist/meta.mjs +5090 -4900
  6. package/dist/module.json +5 -5
  7. package/dist/module.mjs +11 -7
  8. package/dist/runtime/components/Advice.vue +47 -54
  9. package/dist/runtime/components/Advice.vue.d.ts +170 -0
  10. package/dist/runtime/components/Alert.vue +71 -96
  11. package/dist/runtime/components/Alert.vue.d.ts +464 -0
  12. package/dist/runtime/components/App.vue +37 -34
  13. package/dist/runtime/components/App.vue.d.ts +23 -0
  14. package/dist/runtime/components/Avatar.vue +69 -81
  15. package/dist/runtime/components/Avatar.vue.d.ts +281 -0
  16. package/dist/runtime/components/AvatarGroup.vue +53 -76
  17. package/dist/runtime/components/AvatarGroup.vue.d.ts +204 -0
  18. package/dist/runtime/components/Badge.vue +83 -83
  19. package/dist/runtime/components/Badge.vue.d.ts +517 -0
  20. package/dist/runtime/components/Button.vue +219 -149
  21. package/dist/runtime/components/Button.vue.d.ts +640 -0
  22. package/dist/runtime/components/ButtonGroup.vue +35 -51
  23. package/dist/runtime/components/ButtonGroup.vue.d.ts +116 -0
  24. package/dist/runtime/components/Calendar.vue +186 -152
  25. package/dist/runtime/components/Calendar.vue.d.ts +437 -0
  26. package/dist/runtime/components/Checkbox.vue +84 -73
  27. package/dist/runtime/components/Checkbox.vue.d.ts +354 -0
  28. package/dist/runtime/components/Chip.vue +59 -74
  29. package/dist/runtime/components/Chip.vue.d.ts +271 -0
  30. package/dist/runtime/components/Collapsible.vue +44 -41
  31. package/dist/runtime/components/Collapsible.vue.d.ts +118 -0
  32. package/dist/runtime/components/Container.vue +18 -27
  33. package/dist/runtime/components/Container.vue.d.ts +27 -0
  34. package/dist/runtime/components/Countdown.vue +198 -378
  35. package/dist/runtime/components/Countdown.vue.d.ts +356 -0
  36. package/dist/runtime/components/DescriptionList.vue +102 -149
  37. package/dist/runtime/components/DescriptionList.vue.d.ts +379 -0
  38. package/dist/runtime/components/DropdownMenu.vue +83 -139
  39. package/dist/runtime/components/DropdownMenu.vue.d.ts +533 -0
  40. package/dist/runtime/components/DropdownMenuContent.vue +137 -81
  41. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +228 -0
  42. package/dist/runtime/components/Form.vue +162 -216
  43. package/dist/runtime/components/Form.vue.d.ts +55 -0
  44. package/dist/runtime/components/FormField.vue +76 -80
  45. package/dist/runtime/components/FormField.vue.d.ts +282 -0
  46. package/dist/runtime/components/Input.vue +166 -185
  47. package/dist/runtime/components/Input.vue.d.ts +755 -0
  48. package/dist/runtime/components/InputMenu.vue +300 -381
  49. package/dist/runtime/components/InputMenu.vue.d.ts +1504 -0
  50. package/dist/runtime/components/InputNumber.vue +180 -177
  51. package/dist/runtime/components/InputNumber.vue.d.ts +658 -0
  52. package/dist/runtime/components/Kbd.vue +33 -45
  53. package/dist/runtime/components/Kbd.vue.d.ts +109 -0
  54. package/dist/runtime/components/Link.vue +179 -173
  55. package/dist/runtime/components/Link.vue.d.ts +129 -0
  56. package/dist/runtime/components/LinkBase.vue +64 -42
  57. package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
  58. package/dist/runtime/components/Modal.vue +105 -127
  59. package/dist/runtime/components/Modal.vue.d.ts +327 -0
  60. package/dist/runtime/components/ModalDialogClose.vue +4 -8
  61. package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
  62. package/dist/runtime/components/Navbar.vue +24 -33
  63. package/dist/runtime/components/Navbar.vue.d.ts +101 -0
  64. package/dist/runtime/components/NavbarDivider.vue +24 -33
  65. package/dist/runtime/components/NavbarDivider.vue.d.ts +101 -0
  66. package/dist/runtime/components/NavbarSection.vue +24 -33
  67. package/dist/runtime/components/NavbarSection.vue.d.ts +101 -0
  68. package/dist/runtime/components/NavbarSpacer.vue +24 -33
  69. package/dist/runtime/components/NavbarSpacer.vue.d.ts +101 -0
  70. package/dist/runtime/components/NavigationMenu.vue +152 -216
  71. package/dist/runtime/components/NavigationMenu.vue.d.ts +824 -0
  72. package/dist/runtime/components/OverlayProvider.vue +13 -17
  73. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  74. package/dist/runtime/components/Popover.vue +81 -81
  75. package/dist/runtime/components/Popover.vue.d.ts +147 -0
  76. package/dist/runtime/components/Progress.vue +109 -136
  77. package/dist/runtime/components/Progress.vue.d.ts +592 -0
  78. package/dist/runtime/components/RadioGroup.vue +120 -134
  79. package/dist/runtime/components/RadioGroup.vue.d.ts +723 -0
  80. package/dist/runtime/components/Range.vue +94 -85
  81. package/dist/runtime/components/Range.vue.d.ts +417 -0
  82. package/dist/runtime/components/Select.vue +212 -260
  83. package/dist/runtime/components/Select.vue.d.ts +1200 -0
  84. package/dist/runtime/components/SelectMenu.vue +272 -366
  85. package/dist/runtime/components/SelectMenu.vue.d.ts +1298 -0
  86. package/dist/runtime/components/Separator.vue +61 -71
  87. package/dist/runtime/components/Separator.vue.d.ts +400 -0
  88. package/dist/runtime/components/Sidebar.vue +24 -33
  89. package/dist/runtime/components/Sidebar.vue.d.ts +101 -0
  90. package/dist/runtime/components/SidebarBody.vue +30 -38
  91. package/dist/runtime/components/SidebarBody.vue.d.ts +90 -0
  92. package/dist/runtime/components/SidebarFooter.vue +24 -33
  93. package/dist/runtime/components/SidebarFooter.vue.d.ts +101 -0
  94. package/dist/runtime/components/SidebarHeader.vue +24 -33
  95. package/dist/runtime/components/SidebarHeader.vue.d.ts +101 -0
  96. package/dist/runtime/components/SidebarHeading.vue +24 -33
  97. package/dist/runtime/components/SidebarHeading.vue.d.ts +101 -0
  98. package/dist/runtime/components/SidebarLayout.vue +40 -70
  99. package/dist/runtime/components/SidebarLayout.vue.d.ts +222 -0
  100. package/dist/runtime/components/SidebarSection.vue +24 -33
  101. package/dist/runtime/components/SidebarSection.vue.d.ts +101 -0
  102. package/dist/runtime/components/SidebarSpacer.vue +24 -33
  103. package/dist/runtime/components/SidebarSpacer.vue.d.ts +101 -0
  104. package/dist/runtime/components/Skeleton.vue +17 -22
  105. package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
  106. package/dist/runtime/components/Slideover.vue +108 -131
  107. package/dist/runtime/components/Slideover.vue.d.ts +360 -0
  108. package/dist/runtime/components/StackedLayout.vue +40 -73
  109. package/dist/runtime/components/StackedLayout.vue.d.ts +192 -0
  110. package/dist/runtime/components/Switch.vue +100 -95
  111. package/dist/runtime/components/Switch.vue.d.ts +587 -0
  112. package/dist/runtime/components/Tabs.vue +83 -105
  113. package/dist/runtime/components/Tabs.vue.d.ts +453 -0
  114. package/dist/runtime/components/Textarea.vue +215 -203
  115. package/dist/runtime/components/Textarea.vue.d.ts +601 -0
  116. package/dist/runtime/components/Toast.vue +94 -105
  117. package/dist/runtime/components/Toast.vue.d.ts +438 -0
  118. package/dist/runtime/components/Toaster.vue +94 -111
  119. package/dist/runtime/components/Toaster.vue.d.ts +219 -0
  120. package/dist/runtime/components/Tooltip.vue +78 -64
  121. package/dist/runtime/components/Tooltip.vue.d.ts +186 -0
  122. package/dist/runtime/components/content/TableWrapper.vue +58 -70
  123. package/dist/runtime/components/content/TableWrapper.vue.d.ts +237 -0
  124. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  125. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  126. package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
  127. package/dist/runtime/composables/useFormField.d.ts +1 -1
  128. package/dist/runtime/prose/A.vue +18 -23
  129. package/dist/runtime/prose/A.vue.d.ts +84 -0
  130. package/dist/runtime/prose/Blockquote.vue +18 -23
  131. package/dist/runtime/prose/Blockquote.vue.d.ts +84 -0
  132. package/dist/runtime/prose/Code.vue +23 -31
  133. package/dist/runtime/prose/Code.vue.d.ts +97 -0
  134. package/dist/runtime/prose/Em.vue +18 -23
  135. package/dist/runtime/prose/Em.vue.d.ts +84 -0
  136. package/dist/runtime/prose/H1.vue +18 -23
  137. package/dist/runtime/prose/H1.vue.d.ts +97 -0
  138. package/dist/runtime/prose/H2.vue +18 -23
  139. package/dist/runtime/prose/H2.vue.d.ts +123 -0
  140. package/dist/runtime/prose/H3.vue +18 -23
  141. package/dist/runtime/prose/H3.vue.d.ts +123 -0
  142. package/dist/runtime/prose/H4.vue +18 -23
  143. package/dist/runtime/prose/H4.vue.d.ts +123 -0
  144. package/dist/runtime/prose/H5.vue +18 -23
  145. package/dist/runtime/prose/H5.vue.d.ts +123 -0
  146. package/dist/runtime/prose/H6.vue +18 -23
  147. package/dist/runtime/prose/H6.vue.d.ts +123 -0
  148. package/dist/runtime/prose/Hr.vue +18 -19
  149. package/dist/runtime/prose/Hr.vue.d.ts +74 -0
  150. package/dist/runtime/prose/Img.vue +18 -23
  151. package/dist/runtime/prose/Img.vue.d.ts +77 -0
  152. package/dist/runtime/prose/Li.vue +18 -23
  153. package/dist/runtime/prose/Li.vue.d.ts +84 -0
  154. package/dist/runtime/prose/Ol.vue +18 -23
  155. package/dist/runtime/prose/Ol.vue.d.ts +84 -0
  156. package/dist/runtime/prose/P.vue +18 -23
  157. package/dist/runtime/prose/P.vue.d.ts +84 -0
  158. package/dist/runtime/prose/Pre.vue +28 -33
  159. package/dist/runtime/prose/Pre.vue.d.ts +117 -0
  160. package/dist/runtime/prose/Strong.vue +18 -23
  161. package/dist/runtime/prose/Strong.vue.d.ts +84 -0
  162. package/dist/runtime/prose/Table.vue +44 -54
  163. package/dist/runtime/prose/Table.vue.d.ts +144 -0
  164. package/dist/runtime/prose/Tbody.vue +18 -23
  165. package/dist/runtime/prose/Tbody.vue.d.ts +84 -0
  166. package/dist/runtime/prose/Td.vue +18 -23
  167. package/dist/runtime/prose/Td.vue.d.ts +84 -0
  168. package/dist/runtime/prose/Th.vue +18 -23
  169. package/dist/runtime/prose/Th.vue.d.ts +84 -0
  170. package/dist/runtime/prose/Thead.vue +18 -23
  171. package/dist/runtime/prose/Thead.vue.d.ts +84 -0
  172. package/dist/runtime/prose/Tr.vue +18 -23
  173. package/dist/runtime/prose/Tr.vue.d.ts +84 -0
  174. package/dist/runtime/prose/Ul.vue +18 -23
  175. package/dist/runtime/prose/Ul.vue.d.ts +84 -0
  176. package/dist/runtime/vue/components/Link.vue +201 -202
  177. package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
  178. package/dist/runtime/vue/stubs.d.ts +2 -2
  179. package/dist/shared/{b24ui-nuxt.DBFS6LH7.mjs → b24ui-nuxt.CS9Lf0os.mjs} +54 -4
  180. package/dist/types.d.mts +3 -5
  181. package/dist/unplugin.mjs +1 -1
  182. package/dist/vite.mjs +1 -1
  183. package/package.json +62 -35
  184. package/dist/meta.cjs +0 -71922
  185. package/dist/meta.d.cts +0 -71920
  186. package/dist/meta.d.ts +0 -71920
  187. package/dist/module.cjs +0 -59
  188. package/dist/module.d.cts +0 -15
  189. package/dist/module.d.ts +0 -15
  190. package/dist/shared/b24ui-nuxt.B9fPD5yO.cjs +0 -7671
  191. package/dist/types.d.ts +0 -7
  192. package/dist/unplugin.cjs +0 -236
  193. package/dist/unplugin.d.cts +0 -33
  194. package/dist/unplugin.d.ts +0 -33
  195. package/dist/vite.cjs +0 -21
  196. package/dist/vite.d.cts +0 -14
  197. package/dist/vite.d.ts +0 -14
@@ -1,92 +1,80 @@
1
- <script lang="ts">
2
- import type { VariantProps } from 'tailwind-variants'
3
- import type { AppConfig } from '@nuxt/schema'
4
- import _appConfig from '#build/app.config'
5
- import theme from '#build/b24ui/avatar'
6
- import { tv } from '../utils/tv'
7
- import type { IconComponent } from '../types'
8
-
9
- const appConfigAvatar = _appConfig as AppConfig & { b24ui: { avatar: Partial<typeof theme> } }
10
-
11
- const avatar = tv({ extend: tv(theme), ...(appConfigAvatar.b24ui?.avatar || {}) })
12
-
13
- type AvatarVariants = VariantProps<typeof avatar>
14
-
15
- export interface AvatarProps {
16
- /**
17
- * The element or component this component should render as.
18
- * @defaultValue 'span'
19
- */
20
- as?: any
21
- src?: string
22
- alt?: string
23
- /**
24
- * Display an icon on the left side.
25
- * @IconComponent
26
- */
27
- icon?: IconComponent
28
- text?: string
29
- /**
30
- * @defaultValue 'md'
31
- */
32
- size?: AvatarVariants['size']
33
- class?: any
34
- style?: any
35
- b24ui?: Partial<typeof avatar.slots>
36
- }
37
-
38
- export interface AvatarSlots {
39
- default(props?: {}): any
40
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/avatar";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigAvatar = _appConfig;
6
+ const avatar = tv({ extend: tv(theme), ...appConfigAvatar.b24ui?.avatar || {} });
41
7
  </script>
42
8
 
43
- <script setup lang="ts">
44
- import { ref, computed, watch } from 'vue'
45
- import { Primitive, Slot } from 'reka-ui'
46
- import ImageComponent from '#build/b24ui-image-component'
47
- import { useAvatarGroup } from '../composables/useAvatarGroup'
48
-
49
- defineOptions({ inheritAttrs: false })
50
-
51
- const props = withDefaults(defineProps<AvatarProps>(), { as: 'span' })
52
-
53
- const fallback = computed(() => props.text || (props.alt || '')
54
- .replace(/[+\-*)(}\][{]/g, '')
55
- .split(' ')
56
- .map(word => word.charAt(0))
57
- .join('')
58
- .substring(0, 2)
59
- )
60
-
61
- const { size } = useAvatarGroup(props)
62
-
63
- // eslint-disable-next-line vue/no-dupe-keys
9
+ <script setup>
10
+ import { ref, computed, watch } from "vue";
11
+ import { useAvatarGroup } from "../composables/useAvatarGroup";
12
+ defineOptions({ inheritAttrs: false });
13
+ const props = defineProps({
14
+ as: {
15
+ type: null,
16
+ required: false,
17
+ default: "span"
18
+ },
19
+ src: {
20
+ type: String,
21
+ required: false
22
+ },
23
+ alt: {
24
+ type: String,
25
+ required: false
26
+ },
27
+ icon: {
28
+ type: [Function, Object],
29
+ required: false
30
+ },
31
+ text: {
32
+ type: String,
33
+ required: false
34
+ },
35
+ size: {
36
+ type: null,
37
+ required: false
38
+ },
39
+ class: {
40
+ type: null,
41
+ required: false
42
+ },
43
+ style: {
44
+ type: null,
45
+ required: false
46
+ },
47
+ b24ui: {
48
+ type: Object,
49
+ required: false
50
+ }
51
+ });
52
+ const fallback = computed(
53
+ () => props.text || (props.alt || "").replace(/[+\-*)(}\][{]/g, "").split(" ").map((word) => word.charAt(0)).join("").substring(0, 2)
54
+ );
55
+ const { size } = useAvatarGroup(props);
64
56
  const b24ui = computed(() => avatar({
65
57
  size: size.value
66
- }))
67
-
58
+ }));
68
59
  const sizePx = computed(() => ({
69
- '3xs': 10,
70
- '2xs': 14,
71
- 'xs': 18,
72
- 'sm': 22,
73
- 'md': 32,
74
- 'lg': 42,
75
- 'xl': 48,
76
- '2xl': 60,
77
- '3xl': 94
78
- })[props.size || 'md'])
79
-
80
- const error = ref(false)
81
-
60
+ "3xs": 10,
61
+ "2xs": 14,
62
+ "xs": 18,
63
+ "sm": 22,
64
+ "md": 32,
65
+ "lg": 42,
66
+ "xl": 48,
67
+ "2xl": 60,
68
+ "3xl": 94
69
+ })[props.size || "md"]);
70
+ const error = ref(false);
82
71
  watch(() => props.src, () => {
83
72
  if (error.value) {
84
- error.value = false
73
+ error.value = false;
85
74
  }
86
- })
87
-
75
+ });
88
76
  function onError() {
89
- error.value = true
77
+ error.value = true;
90
78
  }
91
79
  </script>
92
80
 
@@ -108,7 +96,7 @@ function onError() {
108
96
  <Slot v-else v-bind="$attrs">
109
97
  <slot>
110
98
  <Component :is="icon" v-if="icon" :class="b24ui.icon({ class: props.b24ui?.icon })" />
111
- <span v-else :class="b24ui.fallback({ class: props.b24ui?.fallback })">{{ fallback || '&nbsp;' }}</span>
99
+ <span v-else :class="b24ui.fallback({ class: props.b24ui?.fallback })">{{ fallback || "\xA0" }}</span>
112
100
  </slot>
113
101
  </Slot>
114
102
  </Primitive>
@@ -0,0 +1,281 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { IconComponent } from '../types';
3
+ declare const avatar: import("tailwind-variants").TVReturnType<{
4
+ size: {
5
+ "3xs": {
6
+ root: string;
7
+ icon: string;
8
+ };
9
+ "2xs": {
10
+ root: string;
11
+ icon: string;
12
+ };
13
+ xs: {
14
+ root: string;
15
+ icon: string;
16
+ };
17
+ sm: {
18
+ root: string;
19
+ icon: string;
20
+ };
21
+ md: {
22
+ root: string;
23
+ icon: string;
24
+ };
25
+ lg: {
26
+ root: string;
27
+ icon: string;
28
+ };
29
+ xl: {
30
+ root: string;
31
+ icon: string;
32
+ };
33
+ "2xl": {
34
+ root: string;
35
+ icon: string;
36
+ };
37
+ "3xl": {
38
+ root: string;
39
+ icon: string;
40
+ };
41
+ };
42
+ }, {
43
+ root: string;
44
+ image: string;
45
+ fallback: string;
46
+ icon: string;
47
+ }, undefined, {
48
+ size: {
49
+ "3xs": {
50
+ root: string;
51
+ icon: string;
52
+ };
53
+ "2xs": {
54
+ root: string;
55
+ icon: string;
56
+ };
57
+ xs: {
58
+ root: string;
59
+ icon: string;
60
+ };
61
+ sm: {
62
+ root: string;
63
+ icon: string;
64
+ };
65
+ md: {
66
+ root: string;
67
+ icon: string;
68
+ };
69
+ lg: {
70
+ root: string;
71
+ icon: string;
72
+ };
73
+ xl: {
74
+ root: string;
75
+ icon: string;
76
+ };
77
+ "2xl": {
78
+ root: string;
79
+ icon: string;
80
+ };
81
+ "3xl": {
82
+ root: string;
83
+ icon: string;
84
+ };
85
+ };
86
+ }, {
87
+ root: string;
88
+ image: string;
89
+ fallback: string;
90
+ icon: string;
91
+ }, import("tailwind-variants").TVReturnType<{
92
+ size: {
93
+ "3xs": {
94
+ root: string;
95
+ icon: string;
96
+ };
97
+ "2xs": {
98
+ root: string;
99
+ icon: string;
100
+ };
101
+ xs: {
102
+ root: string;
103
+ icon: string;
104
+ };
105
+ sm: {
106
+ root: string;
107
+ icon: string;
108
+ };
109
+ md: {
110
+ root: string;
111
+ icon: string;
112
+ };
113
+ lg: {
114
+ root: string;
115
+ icon: string;
116
+ };
117
+ xl: {
118
+ root: string;
119
+ icon: string;
120
+ };
121
+ "2xl": {
122
+ root: string;
123
+ icon: string;
124
+ };
125
+ "3xl": {
126
+ root: string;
127
+ icon: string;
128
+ };
129
+ };
130
+ }, {
131
+ root: string;
132
+ image: string;
133
+ fallback: string;
134
+ icon: string;
135
+ }, undefined, {
136
+ size: {
137
+ "3xs": {
138
+ root: string;
139
+ icon: string;
140
+ };
141
+ "2xs": {
142
+ root: string;
143
+ icon: string;
144
+ };
145
+ xs: {
146
+ root: string;
147
+ icon: string;
148
+ };
149
+ sm: {
150
+ root: string;
151
+ icon: string;
152
+ };
153
+ md: {
154
+ root: string;
155
+ icon: string;
156
+ };
157
+ lg: {
158
+ root: string;
159
+ icon: string;
160
+ };
161
+ xl: {
162
+ root: string;
163
+ icon: string;
164
+ };
165
+ "2xl": {
166
+ root: string;
167
+ icon: string;
168
+ };
169
+ "3xl": {
170
+ root: string;
171
+ icon: string;
172
+ };
173
+ };
174
+ }, {
175
+ root: string;
176
+ image: string;
177
+ fallback: string;
178
+ icon: string;
179
+ }, import("tailwind-variants").TVReturnType<{
180
+ size: {
181
+ "3xs": {
182
+ root: string;
183
+ icon: string;
184
+ };
185
+ "2xs": {
186
+ root: string;
187
+ icon: string;
188
+ };
189
+ xs: {
190
+ root: string;
191
+ icon: string;
192
+ };
193
+ sm: {
194
+ root: string;
195
+ icon: string;
196
+ };
197
+ md: {
198
+ root: string;
199
+ icon: string;
200
+ };
201
+ lg: {
202
+ root: string;
203
+ icon: string;
204
+ };
205
+ xl: {
206
+ root: string;
207
+ icon: string;
208
+ };
209
+ "2xl": {
210
+ root: string;
211
+ icon: string;
212
+ };
213
+ "3xl": {
214
+ root: string;
215
+ icon: string;
216
+ };
217
+ };
218
+ }, {
219
+ root: string;
220
+ image: string;
221
+ fallback: string;
222
+ icon: string;
223
+ }, undefined, unknown, unknown, undefined>>>;
224
+ type AvatarVariants = VariantProps<typeof avatar>;
225
+ export interface AvatarProps {
226
+ /**
227
+ * The element or component this component should render as.
228
+ * @defaultValue 'span'
229
+ */
230
+ as?: any;
231
+ src?: string;
232
+ alt?: string;
233
+ /**
234
+ * Display an icon on the left side.
235
+ * @IconComponent
236
+ */
237
+ icon?: IconComponent;
238
+ text?: string;
239
+ /**
240
+ * @defaultValue 'md'
241
+ */
242
+ size?: AvatarVariants['size'];
243
+ class?: any;
244
+ style?: any;
245
+ b24ui?: Partial<typeof avatar.slots>;
246
+ }
247
+ export interface AvatarSlots {
248
+ default(props?: {}): any;
249
+ }
250
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AvatarProps>, {
251
+ as: string;
252
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AvatarProps>, {
253
+ as: string;
254
+ }>>> & Readonly<{}>, {
255
+ as: any;
256
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
257
+ default?(_: {}): any;
258
+ }>;
259
+ export default _default;
260
+ type __VLS_WithDefaults<P, D> = {
261
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
262
+ default: D[K];
263
+ }> : P[K];
264
+ };
265
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
266
+ type __VLS_TypePropsToOption<T> = {
267
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
268
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
269
+ } : {
270
+ type: import('vue').PropType<T[K]>;
271
+ required: true;
272
+ };
273
+ };
274
+ type __VLS_WithTemplateSlots<T, S> = T & {
275
+ new (): {
276
+ $slots: S;
277
+ };
278
+ };
279
+ type __VLS_PrettifyLocal<T> = {
280
+ [K in keyof T]: T[K];
281
+ } & {};
@@ -1,97 +1,74 @@
1
- <script lang="ts">
2
- import type { VariantProps } from 'tailwind-variants'
3
- import type { AppConfig } from '@nuxt/schema'
4
- import _appConfig from '#build/app.config'
5
- import theme from '#build/b24ui/avatar-group'
6
- import { tv } from '../utils/tv'
7
-
8
- const appConfigAvatarGroup = _appConfig as AppConfig & { b24ui: { avatarGroup: Partial<typeof theme> } }
9
-
10
- const avatarGroup = tv({ extend: tv(theme), ...(appConfigAvatarGroup.b24ui?.avatarGroup || {}) })
11
-
12
- type AvatarGroupVariants = VariantProps<typeof avatarGroup>
13
-
14
- export interface AvatarGroupProps {
15
- /**
16
- * The element or component this component should render as.
17
- * @defaultValue 'div'
18
- */
19
- as?: any
20
- /**
21
- * @defaultValue 'md'
22
- */
23
- size?: AvatarGroupVariants['size']
24
- /**
25
- * The maximum number of avatars to display.
26
- */
27
- max?: number | string
28
- class?: any
29
- b24ui?: Partial<typeof avatarGroup.slots>
30
- }
31
-
32
- export interface AvatarGroupSlots {
33
- default(props?: {}): any
34
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/avatar-group";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigAvatarGroup = _appConfig;
6
+ const avatarGroup = tv({ extend: tv(theme), ...appConfigAvatarGroup.b24ui?.avatarGroup || {} });
35
7
  </script>
36
8
 
37
- <script setup lang="ts">
38
- import { computed, provide } from 'vue'
39
- import { Primitive } from 'reka-ui'
40
- import { avatarGroupInjectionKey } from '../composables/useAvatarGroup'
41
- import B24Avatar from './Avatar.vue'
42
-
43
- const props = defineProps<AvatarGroupProps>()
44
- const slots = defineSlots<AvatarGroupSlots>()
45
-
9
+ <script setup>
10
+ import { computed, provide } from "vue";
11
+ import { avatarGroupInjectionKey } from "../composables/useAvatarGroup";
12
+ const props = defineProps({
13
+ as: {
14
+ type: null,
15
+ required: false
16
+ },
17
+ size: {
18
+ type: null,
19
+ required: false
20
+ },
21
+ max: {
22
+ type: [Number, String],
23
+ required: false
24
+ },
25
+ class: {
26
+ type: null,
27
+ required: false
28
+ },
29
+ b24ui: {
30
+ type: Object,
31
+ required: false
32
+ }
33
+ });
34
+ const slots = defineSlots();
46
35
  const b24ui = computed(() => avatarGroup({
47
36
  size: props.size
48
- }))
49
-
50
- const max = computed(() => typeof props.max === 'string' ? Number.parseInt(props.max, 10) : props.max)
51
-
37
+ }));
38
+ const max = computed(() => typeof props.max === "string" ? Number.parseInt(props.max, 10) : props.max);
52
39
  const children = computed(() => {
53
- let children = slots.default?.()
54
- if (children?.length) {
55
- children = children.flatMap((child: any) => {
56
- if (typeof child.type === 'symbol') {
57
- // `v-if="false"` or commented node
58
- if (typeof child.children === 'string') {
59
- return
40
+ let children2 = slots.default?.();
41
+ if (children2?.length) {
42
+ children2 = children2.flatMap((child) => {
43
+ if (typeof child.type === "symbol") {
44
+ if (typeof child.children === "string") {
45
+ return;
60
46
  }
61
-
62
- return child.children
47
+ return child.children;
63
48
  }
64
-
65
- return child
66
- }).filter(Boolean)
49
+ return child;
50
+ }).filter(Boolean);
67
51
  }
68
-
69
- return children || []
70
- })
71
-
52
+ return children2 || [];
53
+ });
72
54
  const visibleAvatars = computed(() => {
73
55
  if (!children.value.length) {
74
- return []
56
+ return [];
75
57
  }
76
-
77
58
  if (!max.value || max.value <= 0) {
78
- return [...children.value]
59
+ return [...children.value];
79
60
  }
80
-
81
- return [...children.value].slice(0, max.value)
82
- })
83
-
61
+ return [...children.value].slice(0, max.value);
62
+ });
84
63
  const hiddenCount = computed(() => {
85
64
  if (!children.value.length) {
86
- return 0
65
+ return 0;
87
66
  }
88
-
89
- return children.value.length - visibleAvatars.value.length
90
- })
91
-
67
+ return children.value.length - visibleAvatars.value.length;
68
+ });
92
69
  provide(avatarGroupInjectionKey, computed(() => ({
93
70
  size: props.size
94
- })))
71
+ })));
95
72
  </script>
96
73
 
97
74
  <template>