@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
@@ -1,19 +1,15 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import { useOverlay, type Overlay } from '../composables/useOverlay'
4
-
5
- const { overlays, unMount, close } = useOverlay()
6
-
7
- const mountedOverlays = computed(() => overlays.filter((overlay: Overlay) => overlay.isMounted))
8
-
9
- const onAfterLeave = (id: symbol) => {
10
- close(id)
11
- unMount(id)
12
- }
13
-
14
- const onClose = (id: symbol, value: any) => {
15
- close(id, value)
16
- }
1
+ <script setup>
2
+ import { computed } from "vue";
3
+ import { useOverlay } from "../composables/useOverlay";
4
+ const { overlays, unMount, close } = useOverlay();
5
+ const mountedOverlays = computed(() => overlays.filter((overlay) => overlay.isMounted));
6
+ const onAfterLeave = (id) => {
7
+ close(id);
8
+ unMount(id);
9
+ };
10
+ const onClose = (id, value) => {
11
+ close(id, value);
12
+ };
17
13
  </script>
18
14
 
19
15
  <template>
@@ -22,8 +18,8 @@ const onClose = (id: symbol, value: any) => {
22
18
  v-for="overlay in mountedOverlays"
23
19
  :key="overlay.id"
24
20
  v-bind="overlay.props"
25
- v-model:open="overlay.modelValue"
26
- @close="(value:any) => onClose(overlay.id, value)"
21
+ v-model:open="overlay.isOpen"
22
+ @close="(value) => onClose(overlay.id, value)"
27
23
  @after:leave="onAfterLeave(overlay.id)"
28
24
  />
29
25
  </template>
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -1,92 +1,50 @@
1
- <script lang="ts">
2
- import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverContentEmits, PopoverArrowProps } from 'reka-ui'
3
- import type { AppConfig } from '@nuxt/schema'
4
- import _appConfig from '#build/app.config'
5
- import theme from '#build/b24ui/popover'
6
- import { tv } from '../utils/tv'
7
- import type { EmitsToProps } from '../types/utils'
8
-
9
- const appConfigPopover = _appConfig as AppConfig & { b24ui: { popover: Partial<typeof theme> } }
10
-
11
- const popover = tv({ extend: tv(theme), ...(appConfigPopover.b24ui?.popover || {}) })
12
-
13
- export interface PopoverProps extends PopoverRootProps, Pick<HoverCardRootProps, 'openDelay' | 'closeDelay'> {
14
- /**
15
- * The display mode of the popover.
16
- * @defaultValue 'click'
17
- */
18
- mode?: 'click' | 'hover'
19
- /**
20
- * The content of the popover.
21
- * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
22
- */
23
- content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<PopoverContentEmits>>
24
- /**
25
- * Display an arrow alongside the popover.
26
- * @defaultValue false
27
- */
28
- arrow?: boolean | Omit<PopoverArrowProps, 'as' | 'asChild'>
29
- /**
30
- * Render the popover in a portal.
31
- * @defaultValue true
32
- */
33
- portal?: boolean
34
- /**
35
- * When `false`, the popover will not close when clicking outside or pressing escape.
36
- * @defaultValue true
37
- */
38
- dismissible?: boolean
39
- class?: any
40
- b24ui?: Partial<typeof popover.slots>
41
- }
42
-
43
- export interface PopoverEmits extends PopoverRootEmits {}
44
-
45
- export interface PopoverSlots {
46
- default(props: { open: boolean }): any
47
- content(props?: {}): any
48
- }
1
+ <script>
2
+ import theme from "#build/b24ui/popover";
49
3
  </script>
50
4
 
51
- <script setup lang="ts">
52
- import { computed, toRef } from 'vue'
53
- import { defu } from 'defu'
54
- import { useForwardPropsEmits } from 'reka-ui'
55
- import { Popover, HoverCard } from 'reka-ui/namespaced'
56
- import { reactivePick } from '@vueuse/core'
57
-
58
- const props = withDefaults(defineProps<PopoverProps>(), {
59
- portal: true,
60
- mode: 'click',
61
- openDelay: 0,
62
- closeDelay: 0,
63
- dismissible: true
64
- })
65
- const emits = defineEmits<PopoverEmits>()
66
- const slots = defineSlots<PopoverSlots>()
67
-
68
- const pick = props.mode === 'hover' ? reactivePick(props, 'defaultOpen', 'open', 'openDelay', 'closeDelay') : reactivePick(props, 'defaultOpen', 'open', 'modal')
69
- const rootProps = useForwardPropsEmits(pick, emits)
70
- const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8, collisionPadding: 8 }) as PopoverContentProps)
5
+ <script setup>
6
+ import { computed, toRef } from "vue";
7
+ import { defu } from "defu";
8
+ import { useForwardPropsEmits } from "reka-ui";
9
+ import { Popover, HoverCard } from "reka-ui/namespaced";
10
+ import { reactivePick } from "@vueuse/core";
11
+ import { useAppConfig } from "#imports";
12
+ import { tv } from "../utils/tv";
13
+ const props = defineProps({
14
+ mode: { type: String, required: false, default: "click" },
15
+ content: { type: Object, required: false },
16
+ arrow: { type: [Boolean, Object], required: false },
17
+ portal: { type: Boolean, required: false, default: true },
18
+ dismissible: { type: Boolean, required: false, default: true },
19
+ class: { type: null, required: false },
20
+ b24ui: { type: null, required: false },
21
+ defaultOpen: { type: Boolean, required: false },
22
+ open: { type: Boolean, required: false },
23
+ modal: { type: Boolean, required: false },
24
+ openDelay: { type: Number, required: false, default: 0 },
25
+ closeDelay: { type: Number, required: false, default: 0 }
26
+ });
27
+ const emits = defineEmits(["update:open"]);
28
+ const slots = defineSlots();
29
+ const appConfig = useAppConfig();
30
+ const pick = props.mode === "hover" ? reactivePick(props, "defaultOpen", "open", "openDelay", "closeDelay") : reactivePick(props, "defaultOpen", "open", "modal");
31
+ const rootProps = useForwardPropsEmits(pick, emits);
32
+ const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8 }));
71
33
  const contentEvents = computed(() => {
72
34
  if (!props.dismissible) {
73
35
  return {
74
- pointerDownOutside: (e: Event) => e.preventDefault(),
75
- interactOutside: (e: Event) => e.preventDefault(),
76
- escapeKeyDown: (e: Event) => e.preventDefault()
77
- }
36
+ pointerDownOutside: (e) => e.preventDefault(),
37
+ interactOutside: (e) => e.preventDefault(),
38
+ escapeKeyDown: (e) => e.preventDefault()
39
+ };
78
40
  }
79
-
80
- return {}
81
- })
82
- const arrowProps = toRef(() => props.arrow as PopoverArrowProps)
83
-
84
- // eslint-disable-next-line vue/no-dupe-keys
85
- const b24ui = computed(() => popover({
41
+ return {};
42
+ });
43
+ const arrowProps = toRef(() => props.arrow);
44
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.popover || {} })({
86
45
  side: contentProps.value.side
87
- }))
88
-
89
- const Component = computed(() => props.mode === 'hover' ? HoverCard : Popover)
46
+ }));
47
+ const Component = computed(() => props.mode === "hover" ? HoverCard : Popover);
90
48
  </script>
91
49
 
92
50
  <template>
@@ -0,0 +1,79 @@
1
+ import { Popover } from 'reka-ui/namespaced';
2
+ import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverContentEmits, PopoverArrowProps } from 'reka-ui';
3
+ import type { AppConfig } from '@nuxt/schema';
4
+ import theme from '#build/b24ui/popover';
5
+ import type { EmitsToProps, ComponentConfig } from '../types/utils';
6
+ type Popover = ComponentConfig<typeof theme, AppConfig, 'popover'>;
7
+ export interface PopoverProps extends PopoverRootProps, Pick<HoverCardRootProps, 'openDelay' | 'closeDelay'> {
8
+ /**
9
+ * The display mode of the popover.
10
+ * @defaultValue 'click'
11
+ */
12
+ mode?: 'click' | 'hover';
13
+ /**
14
+ * The content of the popover.
15
+ * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
16
+ */
17
+ content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<PopoverContentEmits>>;
18
+ /**
19
+ * Display an arrow alongside the popover.
20
+ * @defaultValue false
21
+ */
22
+ arrow?: boolean | Omit<PopoverArrowProps, 'as' | 'asChild'>;
23
+ /**
24
+ * Render the popover in a portal.
25
+ * @defaultValue true
26
+ */
27
+ portal?: boolean;
28
+ /**
29
+ * When `false`, the popover will not close when clicking outside or pressing escape.
30
+ * @defaultValue true
31
+ */
32
+ dismissible?: boolean;
33
+ class?: any;
34
+ b24ui?: Popover['slots'];
35
+ }
36
+ export interface PopoverEmits extends PopoverRootEmits {
37
+ }
38
+ export interface PopoverSlots {
39
+ default(props: {
40
+ open: boolean;
41
+ }): any;
42
+ content(props?: {}): any;
43
+ }
44
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<PopoverProps>, {
45
+ portal: boolean;
46
+ mode: string;
47
+ openDelay: number;
48
+ closeDelay: number;
49
+ dismissible: boolean;
50
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
51
+ mode: "click" | "hover";
52
+ portal: boolean;
53
+ dismissible: boolean;
54
+ openDelay: number;
55
+ closeDelay: number;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<PopoverSlots> & PopoverSlots>;
57
+ export default _default;
58
+ type __VLS_WithDefaults<P, D> = {
59
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
60
+ default: D[K];
61
+ }> : P[K];
62
+ };
63
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
64
+ type __VLS_TypePropsToOption<T> = {
65
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
66
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
67
+ } : {
68
+ type: import('vue').PropType<T[K]>;
69
+ required: true;
70
+ };
71
+ };
72
+ type __VLS_WithTemplateSlots<T, S> = T & {
73
+ new (): {
74
+ $slots: S;
75
+ };
76
+ };
77
+ type __VLS_PrettifyLocal<T> = {
78
+ [K in keyof T]: T[K];
79
+ } & {};
@@ -1,178 +1,111 @@
1
- <!-- eslint-disable vue/block-tag-newline -->
2
- <script lang="ts">
3
- import type { VariantProps } from 'tailwind-variants'
4
- import type { ProgressRootProps, ProgressRootEmits } from 'reka-ui'
5
- import type { AppConfig } from '@nuxt/schema'
6
- import _appConfig from '#build/app.config'
7
- import theme from '#build/b24ui/progress'
8
- import { tv } from '../utils/tv'
9
-
10
- const appConfigProgress = _appConfig as AppConfig & { b24ui: { progress: Partial<typeof theme> } }
11
-
12
- const progress = tv({ extend: tv(theme), ...(appConfigProgress.b24ui?.progress || {}) })
13
-
14
- type ProgressVariants = VariantProps<typeof progress>
15
-
16
- export interface ProgressProps extends Pick<ProgressRootProps, 'getValueLabel' | 'modelValue'> {
17
- /**
18
- * The element or component this component should render as.
19
- * @defaultValue 'div'
20
- */
21
- as?: any
22
- /**
23
- * The maximum progress value
24
- */
25
- max?: number | Array<any>
26
- /**
27
- * Display the current progress value
28
- */
29
- status?: boolean
30
- /**
31
- * Whether the progress is visually inverted
32
- * @defaultValue false
33
- */
34
- inverted?: boolean
35
- /**
36
- * @defaultValue 'md'
37
- */
38
- size?: ProgressVariants['size']
39
- /**
40
- * @defaultValue 'primary'
41
- */
42
- color?: ProgressVariants['color']
43
- /**
44
- * The orientation of the progress bar.
45
- * @defaultValue 'horizontal'
46
- */
47
- orientation?: ProgressVariants['orientation']
48
- /**
49
- * @defaultValue 'loading'
50
- */
51
- animation?: ProgressVariants['animation']
52
- class?: any
53
- b24ui?: Partial<typeof progress.slots>
54
- }
55
-
56
- export interface ProgressEmits extends ProgressRootEmits {}
57
-
58
- export type ProgressSlots = {
59
- status(props: { percent?: number }): any
60
- } & {
61
- [key: string]: (props: { step: number }) => any
62
- }
63
-
1
+ <script>
2
+ import theme from "#build/b24ui/progress";
64
3
  </script>
65
4
 
66
- <script setup lang="ts">
67
- import { computed } from 'vue'
68
- import { Primitive, ProgressRoot, ProgressIndicator, useForwardPropsEmits } from 'reka-ui'
69
- import { reactivePick } from '@vueuse/core'
70
- import { useLocale } from '../composables/useLocale'
71
-
72
- const props = withDefaults(defineProps<ProgressProps>(), {
73
- inverted: false,
74
- modelValue: null,
75
- orientation: 'horizontal'
76
- })
77
- const emits = defineEmits<ProgressEmits>()
78
- const slots = defineSlots<ProgressSlots>()
79
-
80
- const { dir } = useLocale()
81
-
82
- const rootProps = useForwardPropsEmits(reactivePick(props, 'getValueLabel', 'modelValue'), emits)
83
-
84
- const isIndeterminate = computed(() => rootProps.value.modelValue === null)
85
- const hasSteps = computed(() => Array.isArray(props.max))
86
-
5
+ <script setup>
6
+ import { computed } from "vue";
7
+ import { Primitive, ProgressRoot, ProgressIndicator, useForwardPropsEmits } from "reka-ui";
8
+ import { reactivePick } from "@vueuse/core";
9
+ import { useAppConfig } from "#imports";
10
+ import { useLocale } from "../composables/useLocale";
11
+ import { tv } from "../utils/tv";
12
+ const props = defineProps({
13
+ as: { type: null, required: false },
14
+ max: { type: [Number, Array], required: false },
15
+ status: { type: Boolean, required: false },
16
+ inverted: { type: Boolean, required: false, default: false },
17
+ size: { type: null, required: false },
18
+ color: { type: null, required: false },
19
+ orientation: { type: null, required: false, default: "horizontal" },
20
+ animation: { type: null, required: false },
21
+ class: { type: null, required: false },
22
+ b24ui: { type: null, required: false },
23
+ getValueLabel: { type: Function, required: false },
24
+ modelValue: { type: [Number, null], required: false, default: null }
25
+ });
26
+ const emits = defineEmits(["update:modelValue", "update:max"]);
27
+ const slots = defineSlots();
28
+ const { dir } = useLocale();
29
+ const appConfig = useAppConfig();
30
+ const rootProps = useForwardPropsEmits(reactivePick(props, "getValueLabel", "modelValue"), emits);
31
+ const isIndeterminate = computed(() => rootProps.value.modelValue === null);
32
+ const hasSteps = computed(() => Array.isArray(props.max));
87
33
  const realMax = computed(() => {
88
34
  if (isIndeterminate.value || !props.max) {
89
- return undefined
35
+ return void 0;
90
36
  }
91
-
92
37
  if (Array.isArray(props.max)) {
93
- return props.max.length - 1
38
+ return props.max.length - 1;
94
39
  }
95
-
96
- return Number(props.max)
97
- })
98
-
40
+ return Number(props.max);
41
+ });
99
42
  const percent = computed(() => {
100
43
  if (isIndeterminate.value) {
101
- return undefined
44
+ return void 0;
102
45
  }
103
-
104
46
  switch (true) {
105
- case rootProps.value.modelValue! < 0: return 0
106
- case rootProps.value.modelValue! > (realMax.value ?? 100): return 100
107
- default: return Math.round((rootProps.value.modelValue! / (realMax.value ?? 100)) * 100)
47
+ case rootProps.value.modelValue < 0:
48
+ return 0;
49
+ case rootProps.value.modelValue > (realMax.value ?? 100):
50
+ return 100;
51
+ default:
52
+ return Math.round(rootProps.value.modelValue / (realMax.value ?? 100) * 100);
108
53
  }
109
- })
110
-
54
+ });
111
55
  const indicatorStyle = computed(() => {
112
- if (percent.value === undefined) {
113
- return
56
+ if (percent.value === void 0) {
57
+ return;
114
58
  }
115
-
116
- if (props.orientation === 'vertical') {
59
+ if (props.orientation === "vertical") {
117
60
  return {
118
- transform: `translateY(${props.inverted ? '' : '-'}${100 - percent.value}%)`
119
- }
61
+ transform: `translateY(${props.inverted ? "" : "-"}${100 - percent.value}%)`
62
+ };
120
63
  } else {
121
- if (dir.value === 'rtl') {
64
+ if (dir.value === "rtl") {
122
65
  return {
123
- transform: `translateX(${props.inverted ? '-' : ''}${100 - percent.value}%)`
124
- }
66
+ transform: `translateX(${props.inverted ? "-" : ""}${100 - percent.value}%)`
67
+ };
125
68
  } else {
126
69
  return {
127
- transform: `translateX(${props.inverted ? '' : '-'}${100 - percent.value}%)`
128
- }
70
+ transform: `translateX(${props.inverted ? "" : "-"}${100 - percent.value}%)`
71
+ };
129
72
  }
130
73
  }
131
- })
132
-
74
+ });
133
75
  const statusStyle = computed(() => {
134
76
  return {
135
- [props.orientation === 'vertical' ? 'height' : 'width']: percent.value ? `${percent.value}%` : 'fit-content'
136
- }
137
- })
138
-
139
- function isActive(index: number) {
140
- return index === Number(props.modelValue)
77
+ [props.orientation === "vertical" ? "height" : "width"]: percent.value ? `${percent.value}%` : "fit-content"
78
+ };
79
+ });
80
+ function isActive(index) {
81
+ return index === Number(props.modelValue);
141
82
  }
142
-
143
- function isFirst(index: number) {
144
- return index === 0
83
+ function isFirst(index) {
84
+ return index === 0;
145
85
  }
146
-
147
- function isLast(index: number) {
148
- return index === realMax.value
86
+ function isLast(index) {
87
+ return index === realMax.value;
149
88
  }
150
-
151
- function stepVariant(index: number | string) {
152
- index = Number(index)
153
-
89
+ function stepVariant(index) {
90
+ index = Number(index);
154
91
  if (isActive(index) && !isFirst(index)) {
155
- return 'active'
92
+ return "active";
156
93
  }
157
-
158
94
  if (isFirst(index) && isActive(index)) {
159
- return 'first'
95
+ return "first";
160
96
  }
161
-
162
97
  if (isLast(index) && isActive(index)) {
163
- return 'last'
98
+ return "last";
164
99
  }
165
-
166
- return 'other'
100
+ return "other";
167
101
  }
168
-
169
- const b24ui = computed(() => progress({
102
+ const b24ui = computed(() => tv({ extend: tv(theme), ...appConfig.b24ui?.progress || {} })({
170
103
  animation: props.animation,
171
104
  size: props.size,
172
105
  color: props.color,
173
106
  orientation: props.orientation,
174
107
  inverted: props.inverted
175
- }))
108
+ }));
176
109
  </script>
177
110
 
178
111
  <template>
@@ -0,0 +1,103 @@
1
+ import type { ProgressRootProps, ProgressRootEmits } from 'reka-ui';
2
+ import type { AppConfig } from '@nuxt/schema';
3
+ import theme from '#build/b24ui/progress';
4
+ import type { ComponentConfig } from '../types/utils';
5
+ type Progress = ComponentConfig<typeof theme, AppConfig, 'progress'>;
6
+ export interface ProgressProps extends Pick<ProgressRootProps, 'getValueLabel' | 'modelValue'> {
7
+ /**
8
+ * The element or component this component should render as.
9
+ * @defaultValue 'div'
10
+ */
11
+ as?: any;
12
+ /**
13
+ * The maximum progress value
14
+ */
15
+ max?: number | Array<any>;
16
+ /**
17
+ * Display the current progress value
18
+ */
19
+ status?: boolean;
20
+ /**
21
+ * Whether the progress is visually inverted
22
+ * @defaultValue false
23
+ */
24
+ inverted?: boolean;
25
+ /**
26
+ * @defaultValue 'md'
27
+ */
28
+ size?: Progress['variants']['size'];
29
+ /**
30
+ * @defaultValue 'primary'
31
+ */
32
+ color?: Progress['variants']['color'];
33
+ /**
34
+ * The orientation of the progress bar.
35
+ * @defaultValue 'horizontal'
36
+ */
37
+ orientation?: Progress['variants']['orientation'];
38
+ /**
39
+ * @defaultValue 'loading'
40
+ */
41
+ animation?: Progress['variants']['animation'];
42
+ class?: any;
43
+ b24ui?: Progress['slots'];
44
+ }
45
+ export interface ProgressEmits extends ProgressRootEmits {
46
+ }
47
+ export type ProgressSlots = {
48
+ status(props: {
49
+ percent?: number;
50
+ }): any;
51
+ } & {
52
+ [key: string]: (props: {
53
+ step: number;
54
+ }) => any;
55
+ };
56
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ProgressProps>, {
57
+ inverted: boolean;
58
+ modelValue: null;
59
+ orientation: string;
60
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
61
+ orientation: Progress["variants"]["orientation"];
62
+ inverted: boolean;
63
+ modelValue: number | null;
64
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<{
65
+ status(props: {
66
+ percent?: number;
67
+ }): any;
68
+ } & {
69
+ [key: string]: (props: {
70
+ step: number;
71
+ }) => any;
72
+ }> & {
73
+ status(props: {
74
+ percent?: number;
75
+ }): any;
76
+ } & {
77
+ [key: string]: (props: {
78
+ step: number;
79
+ }) => any;
80
+ }>;
81
+ export default _default;
82
+ type __VLS_WithDefaults<P, D> = {
83
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
84
+ default: D[K];
85
+ }> : P[K];
86
+ };
87
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
88
+ type __VLS_TypePropsToOption<T> = {
89
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
90
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
91
+ } : {
92
+ type: import('vue').PropType<T[K]>;
93
+ required: true;
94
+ };
95
+ };
96
+ type __VLS_WithTemplateSlots<T, S> = T & {
97
+ new (): {
98
+ $slots: S;
99
+ };
100
+ };
101
+ type __VLS_PrettifyLocal<T> = {
102
+ [K in keyof T]: T[K];
103
+ } & {};