@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
package/dist/module.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@bitrix24/b24ui-nuxt",
3
- "version": "0.5.11",
3
+ "version": "0.6.1",
4
4
  "docs": "https://bitrix24.github.io/b24ui/guide/installation-nuxt-app.html",
5
5
  "configKey": "b24ui",
6
6
  "compatibility": {
7
7
  "nuxt": ">=3.16.0"
8
8
  },
9
9
  "builder": {
10
- "@nuxt/module-builder": "0.8.4",
11
- "unbuild": "2.0.0"
10
+ "@nuxt/module-builder": "1.0.1",
11
+ "unbuild": "3.5.0"
12
12
  }
13
13
  }
package/dist/module.mjs CHANGED
@@ -1,11 +1,11 @@
1
1
  import { defu } from 'defu';
2
2
  import { defineNuxtModule, createResolver, addVitePlugin, addPlugin, addComponentsDir, addImportsDir, hasNuxtModule, installModule } from '@nuxt/kit';
3
- import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.CS9Lf0os.mjs';
3
+ import { d as defaultOptions, a as getDefaultUiConfig, b as addTemplates } from './shared/b24ui-nuxt.wBs9vEU5.mjs';
4
4
  import 'node:url';
5
5
  import 'scule';
6
6
 
7
7
  const name = "@bitrix24/b24ui-nuxt";
8
- const version = "0.5.11";
8
+ const version = "0.6.1";
9
9
 
10
10
  const module = defineNuxtModule({
11
11
  meta: {
@@ -1,61 +1,33 @@
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/advice'
6
- import type { UseComponentIconsProps } from '../composables/useComponentIcons'
7
- import { tv } from '../utils/tv'
8
- import type { AvatarProps } from '../types'
9
-
10
- const appConfigAdvice = _appConfig as AppConfig & { b24ui: { advice: Partial<typeof theme> } }
11
-
12
- const advice = tv({ extend: tv(theme), ...(appConfigAdvice.b24ui?.advice || {}) })
13
-
14
- type AdviceVariants = VariantProps<typeof advice>
15
-
16
- export interface AdviceProps extends Omit<UseComponentIconsProps, 'loading' | 'trailing' | 'trailingIcon'> {
17
- /**
18
- * The element or component this component should render as.
19
- * @defaultValue 'div'
20
- */
21
- as?: any
22
- description?: string
23
- /**
24
- * @defaultValue 'bottom'
25
- */
26
- angle?: AdviceVariants['angle']
27
- class?: any
28
- b24ui?: Partial<typeof advice.slots>
29
- }
30
-
31
- export interface AdviceSlots {
32
- leading(props?: {}): any
33
- default(props?: {}): any
34
- }
1
+ <script>
2
+ import theme from "#build/b24ui/advice";
35
3
  </script>
36
4
 
37
- <script setup lang="ts">
38
- import { computed } from 'vue'
39
- import { Primitive } from 'reka-ui'
40
- import { useComponentIcons } from '../composables/useComponentIcons'
41
- import B24Avatar from './Avatar.vue'
42
- import PersonIcon from '@bitrix24/b24icons-vue/main/PersonIcon'
43
-
44
- defineOptions({ inheritAttrs: false })
45
-
46
- const props = withDefaults(defineProps<AdviceProps>(), {
47
- as: 'div',
48
- angle: 'bottom'
49
- })
50
- const slots = defineSlots<AdviceSlots>()
51
-
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { useComponentIcons } from "../composables/useComponentIcons";
10
+ import { tv } from "../utils/tv";
11
+ import B24Avatar from "./Avatar.vue";
12
+ import PersonIcon from "@bitrix24/b24icons-vue/main/PersonIcon";
13
+ defineOptions({ inheritAttrs: false });
14
+ const props = defineProps({
15
+ as: { type: null, required: false, default: "div" },
16
+ description: { type: String, required: false },
17
+ angle: { type: null, required: false, default: "bottom" },
18
+ class: { type: null, required: false },
19
+ b24ui: { type: null, required: false },
20
+ icon: { type: [Function, Object], required: false },
21
+ avatar: { type: Object, required: false }
22
+ });
23
+ const slots = defineSlots();
24
+ const appConfig = useAppConfig();
52
25
  const { isLeading, leadingIconName } = useComponentIcons(
53
26
  computed(() => ({ ...props, loading: false }))
54
- )
55
-
56
- const b24ui = computed(() => advice({
27
+ );
28
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.advice || {} })({
57
29
  angle: props.angle
58
- }))
30
+ }));
59
31
  </script>
60
32
 
61
33
  <template>
@@ -69,7 +41,7 @@ const b24ui = computed(() => advice({
69
41
  />
70
42
  <B24Avatar
71
43
  v-else-if="!!avatar"
72
- :size="((props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()) as AvatarProps['size'])"
44
+ :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
73
45
  v-bind="avatar"
74
46
  :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
75
47
  />
@@ -80,7 +52,7 @@ const b24ui = computed(() => advice({
80
52
  :class="b24ui.leading({ class: props.b24ui?.leading })"
81
53
  >
82
54
  <B24Avatar
83
- :size="((props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()) as AvatarProps['size'])"
55
+ :size="props.b24ui?.leadingAvatarSize || b24ui.leadingAvatarSize()"
84
56
  :icon="PersonIcon"
85
57
  alt="Person"
86
58
  :class="b24ui.leadingAvatar({ class: props.b24ui?.leadingAvatar })"
@@ -0,0 +1,56 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/advice';
3
+ import type { UseComponentIconsProps } from '../composables/useComponentIcons';
4
+ import type { ComponentConfig } from '../types/utils';
5
+ type Advice = ComponentConfig<typeof theme, AppConfig, 'advice'>;
6
+ export interface AdviceProps extends Omit<UseComponentIconsProps, 'loading' | 'trailing' | 'trailingIcon'> {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'div'
10
+ */
11
+ as?: any;
12
+ description?: string;
13
+ /**
14
+ * @defaultValue 'bottom'
15
+ */
16
+ angle?: Advice['variants']['angle'];
17
+ class?: any;
18
+ b24ui?: Advice['slots'];
19
+ }
20
+ export interface AdviceSlots {
21
+ leading(props?: {}): any;
22
+ default(props?: {}): any;
23
+ }
24
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AdviceProps>, {
25
+ as: string;
26
+ angle: string;
27
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AdviceProps>, {
28
+ as: string;
29
+ angle: string;
30
+ }>>> & Readonly<{}>, {
31
+ as: any;
32
+ angle: Advice["variants"]["angle"];
33
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<AdviceSlots> & AdviceSlots>;
34
+ export default _default;
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
37
+ default: D[K];
38
+ }> : P[K];
39
+ };
40
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
41
+ type __VLS_TypePropsToOption<T> = {
42
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
43
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
44
+ } : {
45
+ type: import('vue').PropType<T[K]>;
46
+ required: true;
47
+ };
48
+ };
49
+ type __VLS_WithTemplateSlots<T, S> = T & {
50
+ new (): {
51
+ $slots: S;
52
+ };
53
+ };
54
+ type __VLS_PrettifyLocal<T> = {
55
+ [K in keyof T]: T[K];
56
+ } & {};
@@ -1,103 +1,41 @@
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/alert'
6
- import { tv } from '../utils/tv'
7
- import type { AvatarProps, ButtonProps, IconComponent } from '../types'
8
-
9
- const appConfigAlert = _appConfig as AppConfig & { b24ui: { alert: Partial<typeof theme> } }
10
-
11
- const alert = tv({ extend: tv(theme), ...(appConfigAlert.b24ui?.alert || {}) })
12
-
13
- type AlertVariants = VariantProps<typeof alert>
14
-
15
- export interface AlertProps {
16
- /**
17
- * The element or component this component should render as.
18
- * @defaultValue 'div'
19
- */
20
- as?: any
21
- title?: string
22
- description?: string
23
- /**
24
- * Display an icon on the left side.
25
- * @IconComponent
26
- */
27
- icon?: IconComponent
28
- avatar?: AvatarProps
29
- /**
30
- * @defaultValue 'default'
31
- */
32
- color?: AlertVariants['color']
33
- /**
34
- * The orientation between the content and the actions.
35
- * @defaultValue 'vertical'
36
- */
37
- orientation?: AlertVariants['orientation']
38
- /**
39
- * @defaultValue 'md'
40
- */
41
- size?: AlertVariants['size']
42
- /**
43
- * Display a list of actions:
44
- * - under the title and description when orientation is `vertical`
45
- * - next to the close button when orientation is `horizontal`
46
- * `{ size: 'xs' }`{lang="ts"}
47
- */
48
- actions?: ButtonProps[]
49
- /**
50
- * Display a close button to dismiss the alert.
51
- * `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
52
- * @emits 'update:open'
53
- * @defaultValue false
54
- */
55
- close?: boolean | Partial<ButtonProps>
56
- /**
57
- * The icon displayed in the close button.
58
- * @defaultValue icons.close
59
- * @IconComponent
60
- */
61
- closeIcon?: IconComponent
62
- class?: any
63
- b24ui?: Partial<typeof alert.slots>
64
- }
65
-
66
- export interface AlertEmits {
67
- (e: 'update:open', value: boolean): void
68
- }
69
-
70
- export interface AlertSlots {
71
- leading(props?: {}): any
72
- title(props?: {}): any
73
- description(props?: {}): any
74
- actions(props?: {}): any
75
- close(props: { b24ui: ReturnType<typeof alert> }): any
76
- }
1
+ <script>
2
+ import theme from "#build/b24ui/alert";
77
3
  </script>
78
4
 
79
- <script setup lang="ts">
80
- import { computed } from 'vue'
81
- import { Primitive } from 'reka-ui'
82
- import { useLocale } from '../composables/useLocale'
83
- import icons from '../dictionary/icons'
84
- import B24Avatar from './Avatar.vue'
85
- import B24Button from './Button.vue'
86
-
87
- const props = withDefaults(defineProps<AlertProps>(), {
88
- orientation: 'vertical'
89
- })
90
- const emits = defineEmits<AlertEmits>()
91
- const slots = defineSlots<AlertSlots>()
92
-
93
- const { t } = useLocale()
94
-
95
- const b24ui = computed(() => alert({
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive } from "reka-ui";
8
+ import { useAppConfig } from "#imports";
9
+ import { useLocale } from "../composables/useLocale";
10
+ import { tv } from "../utils/tv";
11
+ import icons from "../dictionary/icons";
12
+ import B24Avatar from "./Avatar.vue";
13
+ import B24Button from "./Button.vue";
14
+ const props = defineProps({
15
+ as: { type: null, required: false },
16
+ title: { type: String, required: false },
17
+ description: { type: String, required: false },
18
+ icon: { type: [Function, Object], required: false },
19
+ avatar: { type: Object, required: false },
20
+ color: { type: null, required: false },
21
+ orientation: { type: null, required: false, default: "vertical" },
22
+ size: { type: null, required: false },
23
+ actions: { type: Array, required: false },
24
+ close: { type: [Boolean, Object], required: false },
25
+ closeIcon: { type: [Function, Object], required: false },
26
+ class: { type: null, required: false },
27
+ b24ui: { type: null, required: false }
28
+ });
29
+ const emits = defineEmits(["update:open"]);
30
+ const slots = defineSlots();
31
+ const { t } = useLocale();
32
+ const appConfig = useAppConfig();
33
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.alert || {} })({
96
34
  color: props.color,
97
35
  size: props.size,
98
36
  orientation: props.orientation,
99
37
  title: !!props.title || !!slots.title
100
- }))
38
+ }));
101
39
  </script>
102
40
 
103
41
  <template>
@@ -108,7 +46,7 @@ const b24ui = computed(() => alert({
108
46
  v-if="icon"
109
47
  :class="b24ui.icon({ class: props.b24ui?.icon })"
110
48
  />
111
- <B24Avatar v-else-if="avatar" :size="((props.b24ui?.avatarSize || b24ui.avatarSize()) as AvatarProps['size'])" v-bind="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
49
+ <B24Avatar v-else-if="avatar" :size="props.b24ui?.avatarSize || b24ui.avatarSize()" v-bind="avatar" :class="b24ui.avatar({ class: props.b24ui?.avatar })" />
112
50
  </slot>
113
51
 
114
52
  <div :class="b24ui.wrapper({ class: props.b24ui?.wrapper })">
@@ -130,7 +68,7 @@ const b24ui = computed(() => alert({
130
68
  </div>
131
69
  </div>
132
70
 
133
- <div v-if="(orientation === 'horizontal' && actions?.length) || close" :class="b24ui.actions({ class: props.b24ui?.actions, orientation: 'horizontal' })">
71
+ <div v-if="orientation === 'horizontal' && actions?.length || close" :class="b24ui.actions({ class: props.b24ui?.actions, orientation: 'horizontal' })">
134
72
  <template v-if="orientation === 'horizontal' && actions?.length">
135
73
  <slot name="actions">
136
74
  <B24Button v-for="(action, index) in actions" :key="index" size="xs" v-bind="action" />
@@ -144,7 +82,7 @@ const b24ui = computed(() => alert({
144
82
  size="xs"
145
83
  color="link"
146
84
  :aria-label="t('alert.close')"
147
- v-bind="(typeof close === 'object' ? close as Partial<ButtonProps> : {})"
85
+ v-bind="typeof close === 'object' ? close : {}"
148
86
  :class="b24ui.close({ class: props.b24ui?.close })"
149
87
  @click="emits('update:open', false)"
150
88
  />
@@ -0,0 +1,97 @@
1
+ import type { AppConfig } from '@nuxt/schema';
2
+ import theme from '#build/b24ui/alert';
3
+ import type { AvatarProps, ButtonProps, IconComponent } from '../types';
4
+ import type { ComponentConfig } from '../types/utils';
5
+ type Alert = ComponentConfig<typeof theme, AppConfig, 'alert'>;
6
+ export interface AlertProps {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'div'
10
+ */
11
+ as?: any;
12
+ title?: string;
13
+ description?: string;
14
+ /**
15
+ * Display an icon on the left side.
16
+ * @IconComponent
17
+ */
18
+ icon?: IconComponent;
19
+ avatar?: AvatarProps;
20
+ /**
21
+ * @defaultValue 'default'
22
+ */
23
+ color?: Alert['variants']['color'];
24
+ /**
25
+ * The orientation between the content and the actions.
26
+ * @defaultValue 'vertical'
27
+ */
28
+ orientation?: Alert['variants']['orientation'];
29
+ /**
30
+ * @defaultValue 'md'
31
+ */
32
+ size?: Alert['variants']['size'];
33
+ /**
34
+ * Display a list of actions:
35
+ * - under the title and description when orientation is `vertical`
36
+ * - next to the close button when orientation is `horizontal`
37
+ * `{ size: 'xs' }`{lang="ts"}
38
+ */
39
+ actions?: ButtonProps[];
40
+ /**
41
+ * Display a close button to dismiss the alert.
42
+ * `{ size: 'md', color: 'neutral', variant: 'link' }`{lang="ts"}
43
+ * @emits 'update:open'
44
+ * @defaultValue false
45
+ */
46
+ close?: boolean | Partial<ButtonProps>;
47
+ /**
48
+ * The icon displayed in the close button.
49
+ * @defaultValue icons.close
50
+ * @IconComponent
51
+ */
52
+ closeIcon?: IconComponent;
53
+ class?: any;
54
+ b24ui?: Alert['slots'];
55
+ }
56
+ export interface AlertEmits {
57
+ (e: 'update:open', value: boolean): void;
58
+ }
59
+ export interface AlertSlots {
60
+ leading(props?: {}): any;
61
+ title(props?: {}): any;
62
+ description(props?: {}): any;
63
+ actions(props?: {}): any;
64
+ close(props: {
65
+ b24ui: {
66
+ [K in keyof Required<Alert['slots']>]: (props?: Record<string, any>) => string;
67
+ };
68
+ }): any;
69
+ }
70
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<AlertProps>, {
71
+ orientation: string;
72
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
73
+ orientation: Alert["variants"]["orientation"];
74
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<AlertSlots> & AlertSlots>;
75
+ export default _default;
76
+ type __VLS_WithDefaults<P, D> = {
77
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
78
+ default: D[K];
79
+ }> : P[K];
80
+ };
81
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
82
+ type __VLS_TypePropsToOption<T> = {
83
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
84
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
85
+ } : {
86
+ type: import('vue').PropType<T[K]>;
87
+ required: true;
88
+ };
89
+ };
90
+ type __VLS_WithTemplateSlots<T, S> = T & {
91
+ new (): {
92
+ $slots: S;
93
+ };
94
+ };
95
+ type __VLS_PrettifyLocal<T> = {
96
+ [K in keyof T]: T[K];
97
+ } & {};
@@ -1,43 +1,33 @@
1
- <script lang="ts">
2
- import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui'
3
- import type { ToasterProps, Locale, Messages } from '../types'
4
-
5
- export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
6
- tooltip?: TooltipProviderProps
7
- toaster?: ToasterProps | null
8
- locale?: Locale<T>
9
- }
10
-
11
- export interface AppSlots {
12
- default(props?: {}): any
13
- }
14
-
1
+ <script>
15
2
  export default {
16
- name: 'App'
17
- }
3
+ name: "App"
4
+ };
18
5
  </script>
19
6
 
20
- <script setup lang="ts" generic="T extends Messages">
21
- import { toRef, useId, provide } from 'vue'
22
- import { ConfigProvider, TooltipProvider, useForwardProps } from 'reka-ui'
23
- import { reactivePick } from '@vueuse/core'
24
- import { localeContextInjectionKey } from '../composables/useLocale'
25
- import B24Toaster from './Toaster.vue'
26
- import B24OverlayProvider from './OverlayProvider.vue'
27
-
28
- const props = defineProps<AppProps<T>>()
29
- defineSlots<AppSlots>()
30
-
31
- const configProviderProps = useForwardProps(reactivePick(props, 'scrollBody'))
32
- const tooltipProps = toRef(() => props.tooltip)
33
- const toasterProps = toRef(() => props.toaster)
34
-
35
- const locale = toRef(() => props.locale)
36
- provide(localeContextInjectionKey, locale)
7
+ <script setup>
8
+ import { toRef, useId, provide } from "vue";
9
+ import { ConfigProvider, TooltipProvider, useForwardProps } from "reka-ui";
10
+ import { reactivePick } from "@vueuse/core";
11
+ import { localeContextInjectionKey } from "../composables/useLocale";
12
+ import B24Toaster from "./Toaster.vue";
13
+ import B24OverlayProvider from "./OverlayProvider.vue";
14
+ const props = defineProps({
15
+ tooltip: { type: Object, required: false },
16
+ toaster: { type: [Object, null], required: false },
17
+ locale: { type: null, required: false },
18
+ scrollBody: { type: [Boolean, Object], required: false },
19
+ nonce: { type: String, required: false }
20
+ });
21
+ defineSlots();
22
+ const configProviderProps = useForwardProps(reactivePick(props, "scrollBody"));
23
+ const tooltipProps = toRef(() => props.tooltip);
24
+ const toasterProps = toRef(() => props.toaster);
25
+ const locale = toRef(() => props.locale);
26
+ provide(localeContextInjectionKey, locale);
37
27
  </script>
38
28
 
39
29
  <template>
40
- <ConfigProvider :use-id="() => (useId() as string)" :dir="locale?.dir" :locale="locale?.code" v-bind="configProviderProps">
30
+ <ConfigProvider :use-id="() => useId()" :dir="locale?.dir" :locale="locale?.code" v-bind="configProviderProps">
41
31
  <TooltipProvider v-bind="tooltipProps">
42
32
  <B24Toaster v-if="toaster !== null" v-bind="toasterProps">
43
33
  <slot />
@@ -0,0 +1,23 @@
1
+ import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui';
2
+ import type { ToasterProps, Locale, Messages } from '../types';
3
+ export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
4
+ tooltip?: TooltipProviderProps;
5
+ toaster?: ToasterProps | null;
6
+ locale?: Locale<T>;
7
+ }
8
+ export interface AppSlots {
9
+ default(props?: {}): any;
10
+ }
11
+ declare const _default: <T extends Messages>(__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<{
12
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & AppProps<T> & Partial<{}>> & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps);
13
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
14
+ attrs: any;
15
+ slots: Readonly<AppSlots> & AppSlots;
16
+ emit: {};
17
+ }>) => import("vue").VNode & {
18
+ __ctx?: Awaited<typeof __VLS_setup>;
19
+ };
20
+ export default _default;
21
+ type __VLS_PrettifyLocal<T> = {
22
+ [K in keyof T]: T[K];
23
+ } & {};