@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,27 +1,22 @@
1
- <script lang="ts">
2
- import type { AppConfig } from '@nuxt/schema'
3
- import _appConfig from '#build/app.config'
4
- import theme from '#build/b24ui/skeleton'
5
- import { tv } from '../utils/tv'
6
-
7
- const appConfigSkeleton = _appConfig as AppConfig & { b24ui: { skeleton: Partial<typeof theme> } }
8
-
9
- const skeleton = tv({ extend: tv(theme), ...(appConfigSkeleton.b24ui?.skeleton || {}) })
10
-
11
- export interface SkeletonProps {
12
- /**
13
- * The element or component this component should render as.
14
- * @defaultValue 'div'
15
- */
16
- as?: any
17
- class?: any
18
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/skeleton";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigSkeleton = _appConfig;
6
+ const skeleton = tv({ extend: tv(theme), ...appConfigSkeleton.b24ui?.skeleton || {} });
19
7
  </script>
20
8
 
21
- <script setup lang="ts">
22
- import { Primitive } from 'reka-ui'
23
-
24
- const props = defineProps<SkeletonProps>()
9
+ <script setup>
10
+ const props = defineProps({
11
+ as: {
12
+ type: null,
13
+ required: false
14
+ },
15
+ class: {
16
+ type: null,
17
+ required: false
18
+ }
19
+ });
25
20
  </script>
26
21
 
27
22
  <template>
@@ -0,0 +1,26 @@
1
+ export interface SkeletonProps {
2
+ /**
3
+ * The element or component this component should render as.
4
+ * @defaultValue 'div'
5
+ */
6
+ as?: any;
7
+ class?: any;
8
+ }
9
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<SkeletonProps>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToOption<SkeletonProps>>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
10
+ default?(_: {}): any;
11
+ }>;
12
+ export default _default;
13
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
14
+ type __VLS_TypePropsToOption<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: import('vue').PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
22
+ type __VLS_WithTemplateSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -1,142 +1,119 @@
1
- <script lang="ts">
2
- import type { VariantProps } from 'tailwind-variants'
3
- import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui'
4
- import type { AppConfig } from '@nuxt/schema'
5
- import _appConfig from '#build/app.config'
6
- import theme from '#build/b24ui/slideover'
7
- import { tv } from '../utils/tv'
8
- import type { ButtonProps, IconComponent } from '../types'
9
- import type { EmitsToProps } from '../types/utils'
10
-
11
- const appConfigSlideover = _appConfig as AppConfig & { b24ui: { slideover: Partial<typeof theme> } }
12
-
13
- const slideover = tv({ extend: tv(theme), ...(appConfigSlideover.b24ui?.slideover || {}) })
14
-
15
- type SlideoverVariants = VariantProps<typeof slideover>
16
-
17
- export interface SlideoverProps extends DialogRootProps {
18
- title?: string
19
- description?: string
20
- /**
21
- * The content of the slideover
22
- */
23
- content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>
24
- /**
25
- * Render an overlay behind the slideover.
26
- * @defaultValue true
27
- */
28
- overlay?: boolean
29
- /**
30
- * Render an overlay blur behind the slideover.
31
- * `auto` use `motion-safe`.
32
- * @defaultValue 'auto'
33
- */
34
- overlayBlur?: SlideoverVariants['overlayBlur']
35
- /**
36
- * Animate the slideover when opening or closing.
37
- * @defaultValue true
38
- */
39
- transition?: boolean
40
- /**
41
- * The side of the slideover.
42
- * @defaultValue 'right'
43
- */
44
- side?: SlideoverVariants['side']
45
- /**
46
- * Render the slideover in a portal.
47
- * @defaultValue true
48
- */
49
- portal?: boolean
50
- /**
51
- * Display a close button to dismiss the slideover.
52
- * `{ color: 'primary' }`{lang="ts"} for `left`, `right`
53
- * `{ color: 'link' }`{lang="ts"} for `top`, `bottom`
54
- * @defaultValue true
55
- */
56
- close?: boolean | Partial<ButtonProps>
57
- /**
58
- * The icon displayed in the close button.
59
- * @defaultValue icons.close
60
- * @IconifyIcon
61
- */
62
- closeIcon?: IconComponent
63
- /**
64
- * When `false`, the slideover will not close when clicking outside or pressing escape.
65
- * @defaultValue false
66
- */
67
- dismissible?: boolean
68
- /**
69
- * @defaultValue true
70
- */
71
- scrollbarThin?: boolean
72
- class?: any
73
- b24ui?: Partial<typeof slideover.slots>
74
- }
75
-
76
- export interface SlideoverEmits extends DialogRootEmits {
77
- 'after:leave': []
78
- }
79
-
80
- export interface SlideoverSlots {
81
- default(props: { open: boolean }): any
82
- content(props?: {}): any
83
- header(props?: {}): any
84
- title(props?: {}): any
85
- description(props?: {}): any
86
- close(props: { b24ui: ReturnType<typeof slideover> }): any
87
- body(props?: {}): any
88
- footer(props?: {}): any
89
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/slideover";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigSlideover = _appConfig;
6
+ const slideover = tv({ extend: tv(theme), ...appConfigSlideover.b24ui?.slideover || {} });
90
7
  </script>
91
8
 
92
- <script setup lang="ts">
93
- import { computed, toRef } from 'vue'
94
- import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from 'reka-ui'
95
- import { reactivePick } from '@vueuse/core'
96
- import { useLocale } from '../composables/useLocale'
97
- import icons from '../dictionary/icons'
98
- import B24Button from './Button.vue'
99
-
100
- const props = withDefaults(defineProps<SlideoverProps>(), {
101
- close: true,
102
- portal: true,
103
- overlay: true,
104
- transition: true,
105
- modal: true,
106
- dismissible: true,
107
- side: 'right',
108
- scrollbarThin: true,
109
- overlayBlur: 'auto'
110
- })
111
- const emits = defineEmits<SlideoverEmits>()
112
- const slots = defineSlots<SlideoverSlots>()
113
-
114
- const { t } = useLocale()
115
-
116
- const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
117
- const contentProps = toRef(() => props.content)
9
+ <script setup>
10
+ import { computed, toRef } from "vue";
11
+ import { useForwardPropsEmits } from "reka-ui";
12
+ import { reactivePick } from "@vueuse/core";
13
+ import { useLocale } from "../composables/useLocale";
14
+ const props = defineProps({
15
+ title: {
16
+ type: String,
17
+ required: false
18
+ },
19
+ description: {
20
+ type: String,
21
+ required: false
22
+ },
23
+ content: {
24
+ type: Object,
25
+ required: false
26
+ },
27
+ overlay: {
28
+ type: Boolean,
29
+ required: false,
30
+ default: true
31
+ },
32
+ overlayBlur: {
33
+ type: null,
34
+ required: false,
35
+ default: "auto"
36
+ },
37
+ transition: {
38
+ type: Boolean,
39
+ required: false,
40
+ default: true
41
+ },
42
+ side: {
43
+ type: null,
44
+ required: false,
45
+ default: "right"
46
+ },
47
+ portal: {
48
+ type: Boolean,
49
+ required: false,
50
+ default: true
51
+ },
52
+ close: {
53
+ type: [Boolean, Object],
54
+ required: false,
55
+ default: true
56
+ },
57
+ closeIcon: {
58
+ type: [Function, Object],
59
+ required: false
60
+ },
61
+ dismissible: {
62
+ type: Boolean,
63
+ required: false,
64
+ default: true
65
+ },
66
+ scrollbarThin: {
67
+ type: Boolean,
68
+ required: false,
69
+ default: true
70
+ },
71
+ class: {
72
+ type: null,
73
+ required: false
74
+ },
75
+ b24ui: {
76
+ type: Object,
77
+ required: false
78
+ },
79
+ open: {
80
+ type: Boolean,
81
+ required: false
82
+ },
83
+ defaultOpen: {
84
+ type: Boolean,
85
+ required: false
86
+ },
87
+ modal: {
88
+ type: Boolean,
89
+ required: false,
90
+ default: true
91
+ }
92
+ });
93
+ const emits = defineEmits(["after:leave", "update:open"]);
94
+ const slots = defineSlots();
95
+ const { t } = useLocale();
96
+ const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "modal"), emits);
97
+ const contentProps = toRef(() => props.content);
118
98
  const contentEvents = computed(() => {
119
99
  const events = {
120
- closeAutoFocus: (e: Event) => e.preventDefault()
121
- }
122
-
100
+ closeAutoFocus: (e) => e.preventDefault()
101
+ };
123
102
  if (!props.dismissible) {
124
103
  return {
125
- pointerDownOutside: (e: Event) => e.preventDefault(),
126
- interactOutside: (e: Event) => e.preventDefault(),
127
- escapeKeyDown: (e: Event) => e.preventDefault(),
104
+ pointerDownOutside: (e) => e.preventDefault(),
105
+ interactOutside: (e) => e.preventDefault(),
106
+ escapeKeyDown: (e) => e.preventDefault(),
128
107
  ...events
129
- }
108
+ };
130
109
  }
131
-
132
- return events
133
- })
134
-
110
+ return events;
111
+ });
135
112
  const b24ui = computed(() => slideover({
136
113
  transition: props.transition,
137
114
  side: props.side,
138
115
  overlayBlur: props.overlayBlur
139
- }))
116
+ }));
140
117
  </script>
141
118
 
142
119
  <template>
@@ -149,7 +126,7 @@ const b24ui = computed(() => slideover({
149
126
  <DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
150
127
 
151
128
  <DialogContent :data-side="side" :class="b24ui.content({ class: [!slots.default && props.class, props.b24ui?.content] })" v-bind="contentProps" @after-leave="emits('after:leave')" v-on="contentEvents">
152
- <VisuallyHidden v-if="!!slots.content && ((title || !!slots.title) || (description || !!slots.description))">
129
+ <VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
153
130
  <DialogTitle v-if="title || !!slots.title">
154
131
  <slot name="title">
155
132
  {{ title }}
@@ -190,9 +167,9 @@ const b24ui = computed(() => slideover({
190
167
  :color="['left', 'right'].includes(props?.side) ? 'primary' : 'link'"
191
168
  :aria-label="t('slideover.close')"
192
169
  :b24ui="{
193
- leadingIcon: ['left', 'right'].includes(props?.side) ? 'group-hover:rounded-full group-hover:border-1 group-hover:border-current' : ''
194
- }"
195
- v-bind="(typeof close === 'object' ? close as Partial<ButtonProps> : {})"
170
+ leadingIcon: ['left', 'right'].includes(props?.side) ? 'group-hover:rounded-full group-hover:border-1 group-hover:border-current' : ''
171
+ }"
172
+ v-bind="typeof close === 'object' ? close : {}"
196
173
  :class="b24ui.close({ class: props.b24ui?.close })"
197
174
  />
198
175
  </slot>
@@ -0,0 +1,360 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui';
3
+ import type { ButtonProps, IconComponent } from '../types';
4
+ import type { EmitsToProps } from '../types/utils';
5
+ declare const slideover: import("tailwind-variants").TVReturnType<{
6
+ overlayBlur: {
7
+ auto: {
8
+ overlay: string;
9
+ };
10
+ on: {
11
+ overlay: string;
12
+ };
13
+ off: {
14
+ overlay: string;
15
+ };
16
+ };
17
+ side: {
18
+ top: {
19
+ content: string;
20
+ };
21
+ right: {
22
+ content: string;
23
+ };
24
+ bottom: {
25
+ content: string;
26
+ };
27
+ left: {
28
+ content: string;
29
+ };
30
+ };
31
+ transition: {
32
+ true: {
33
+ overlay: string;
34
+ };
35
+ };
36
+ scrollbarThin: {
37
+ true: {
38
+ body: string;
39
+ };
40
+ };
41
+ }, {
42
+ overlay: string;
43
+ content: string;
44
+ header: string;
45
+ wrapper: string;
46
+ body: string;
47
+ footer: string;
48
+ title: string;
49
+ description: string;
50
+ close: string;
51
+ safeList: string;
52
+ }, undefined, {
53
+ overlayBlur: {
54
+ auto: {
55
+ overlay: string;
56
+ };
57
+ on: {
58
+ overlay: string;
59
+ };
60
+ off: {
61
+ overlay: string;
62
+ };
63
+ };
64
+ side: {
65
+ top: {
66
+ content: string;
67
+ };
68
+ right: {
69
+ content: string;
70
+ };
71
+ bottom: {
72
+ content: string;
73
+ };
74
+ left: {
75
+ content: string;
76
+ };
77
+ };
78
+ transition: {
79
+ true: {
80
+ overlay: string;
81
+ };
82
+ };
83
+ scrollbarThin: {
84
+ true: {
85
+ body: string;
86
+ };
87
+ };
88
+ }, {
89
+ overlay: string;
90
+ content: string;
91
+ header: string;
92
+ wrapper: string;
93
+ body: string;
94
+ footer: string;
95
+ title: string;
96
+ description: string;
97
+ close: string;
98
+ safeList: string;
99
+ }, import("tailwind-variants").TVReturnType<{
100
+ overlayBlur: {
101
+ auto: {
102
+ overlay: string;
103
+ };
104
+ on: {
105
+ overlay: string;
106
+ };
107
+ off: {
108
+ overlay: string;
109
+ };
110
+ };
111
+ side: {
112
+ top: {
113
+ content: string;
114
+ };
115
+ right: {
116
+ content: string;
117
+ };
118
+ bottom: {
119
+ content: string;
120
+ };
121
+ left: {
122
+ content: string;
123
+ };
124
+ };
125
+ transition: {
126
+ true: {
127
+ overlay: string;
128
+ };
129
+ };
130
+ scrollbarThin: {
131
+ true: {
132
+ body: string;
133
+ };
134
+ };
135
+ }, {
136
+ overlay: string;
137
+ content: string;
138
+ header: string;
139
+ wrapper: string;
140
+ body: string;
141
+ footer: string;
142
+ title: string;
143
+ description: string;
144
+ close: string;
145
+ safeList: string;
146
+ }, undefined, {
147
+ overlayBlur: {
148
+ auto: {
149
+ overlay: string;
150
+ };
151
+ on: {
152
+ overlay: string;
153
+ };
154
+ off: {
155
+ overlay: string;
156
+ };
157
+ };
158
+ side: {
159
+ top: {
160
+ content: string;
161
+ };
162
+ right: {
163
+ content: string;
164
+ };
165
+ bottom: {
166
+ content: string;
167
+ };
168
+ left: {
169
+ content: string;
170
+ };
171
+ };
172
+ transition: {
173
+ true: {
174
+ overlay: string;
175
+ };
176
+ };
177
+ scrollbarThin: {
178
+ true: {
179
+ body: string;
180
+ };
181
+ };
182
+ }, {
183
+ overlay: string;
184
+ content: string;
185
+ header: string;
186
+ wrapper: string;
187
+ body: string;
188
+ footer: string;
189
+ title: string;
190
+ description: string;
191
+ close: string;
192
+ safeList: string;
193
+ }, import("tailwind-variants").TVReturnType<{
194
+ overlayBlur: {
195
+ auto: {
196
+ overlay: string;
197
+ };
198
+ on: {
199
+ overlay: string;
200
+ };
201
+ off: {
202
+ overlay: string;
203
+ };
204
+ };
205
+ side: {
206
+ top: {
207
+ content: string;
208
+ };
209
+ right: {
210
+ content: string;
211
+ };
212
+ bottom: {
213
+ content: string;
214
+ };
215
+ left: {
216
+ content: string;
217
+ };
218
+ };
219
+ transition: {
220
+ true: {
221
+ overlay: string;
222
+ };
223
+ };
224
+ scrollbarThin: {
225
+ true: {
226
+ body: string;
227
+ };
228
+ };
229
+ }, {
230
+ overlay: string;
231
+ content: string;
232
+ header: string;
233
+ wrapper: string;
234
+ body: string;
235
+ footer: string;
236
+ title: string;
237
+ description: string;
238
+ close: string;
239
+ safeList: string;
240
+ }, undefined, unknown, unknown, undefined>>>;
241
+ type SlideoverVariants = VariantProps<typeof slideover>;
242
+ export interface SlideoverProps extends DialogRootProps {
243
+ title?: string;
244
+ description?: string;
245
+ /**
246
+ * The content of the slideover
247
+ */
248
+ content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>;
249
+ /**
250
+ * Render an overlay behind the slideover.
251
+ * @defaultValue true
252
+ */
253
+ overlay?: boolean;
254
+ /**
255
+ * Render an overlay blur behind the slideover.
256
+ * `auto` use `motion-safe`.
257
+ * @defaultValue 'auto'
258
+ */
259
+ overlayBlur?: SlideoverVariants['overlayBlur'];
260
+ /**
261
+ * Animate the slideover when opening or closing.
262
+ * @defaultValue true
263
+ */
264
+ transition?: boolean;
265
+ /**
266
+ * The side of the slideover.
267
+ * @defaultValue 'right'
268
+ */
269
+ side?: SlideoverVariants['side'];
270
+ /**
271
+ * Render the slideover in a portal.
272
+ * @defaultValue true
273
+ */
274
+ portal?: boolean;
275
+ /**
276
+ * Display a close button to dismiss the slideover.
277
+ * `{ color: 'primary' }`{lang="ts"} for `left`, `right`
278
+ * `{ color: 'link' }`{lang="ts"} for `top`, `bottom`
279
+ * @defaultValue true
280
+ */
281
+ close?: boolean | Partial<ButtonProps>;
282
+ /**
283
+ * The icon displayed in the close button.
284
+ * @defaultValue icons.close
285
+ * @IconifyIcon
286
+ */
287
+ closeIcon?: IconComponent;
288
+ /**
289
+ * When `false`, the slideover will not close when clicking outside or pressing escape.
290
+ * @defaultValue false
291
+ */
292
+ dismissible?: boolean;
293
+ /**
294
+ * @defaultValue true
295
+ */
296
+ scrollbarThin?: boolean;
297
+ class?: any;
298
+ b24ui?: Partial<typeof slideover.slots>;
299
+ }
300
+ export interface SlideoverEmits extends DialogRootEmits {
301
+ 'after:leave': [];
302
+ }
303
+ export interface SlideoverSlots {
304
+ default(props: {
305
+ open: boolean;
306
+ }): any;
307
+ content(props?: {}): any;
308
+ header(props?: {}): any;
309
+ title(props?: {}): any;
310
+ description(props?: {}): any;
311
+ close(props: {
312
+ b24ui: ReturnType<typeof slideover>;
313
+ }): any;
314
+ body(props?: {}): any;
315
+ footer(props?: {}): any;
316
+ }
317
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<SlideoverProps>, {
318
+ close: boolean;
319
+ portal: boolean;
320
+ overlay: boolean;
321
+ transition: boolean;
322
+ modal: boolean;
323
+ dismissible: boolean;
324
+ side: string;
325
+ scrollbarThin: boolean;
326
+ overlayBlur: string;
327
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
328
+ modal: boolean;
329
+ close: boolean | Partial<ButtonProps>;
330
+ portal: boolean;
331
+ overlay: boolean;
332
+ side: "right" | "left" | "top" | "bottom";
333
+ overlayBlur: "off" | "auto" | "on";
334
+ transition: boolean;
335
+ scrollbarThin: boolean;
336
+ dismissible: boolean;
337
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<SlideoverSlots> & SlideoverSlots>;
338
+ export default _default;
339
+ type __VLS_WithDefaults<P, D> = {
340
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
341
+ default: D[K];
342
+ }> : P[K];
343
+ };
344
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
345
+ type __VLS_TypePropsToOption<T> = {
346
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
347
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
348
+ } : {
349
+ type: import('vue').PropType<T[K]>;
350
+ required: true;
351
+ };
352
+ };
353
+ type __VLS_WithTemplateSlots<T, S> = T & {
354
+ new (): {
355
+ $slots: S;
356
+ };
357
+ };
358
+ type __VLS_PrettifyLocal<T> = {
359
+ [K in keyof T]: T[K];
360
+ } & {};