@bitrix24/b24ui-nuxt 0.5.9 → 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 (196) hide show
  1. package/.nuxt/b24ui/navigation-menu.ts +0 -2
  2. package/.nuxt/b24ui/popover.ts +1 -1
  3. package/dist/meta.d.mts +4789 -4897
  4. package/dist/meta.mjs +4789 -4897
  5. package/dist/module.json +5 -5
  6. package/dist/module.mjs +11 -7
  7. package/dist/runtime/components/Advice.vue +47 -54
  8. package/dist/runtime/components/Advice.vue.d.ts +170 -0
  9. package/dist/runtime/components/Alert.vue +71 -96
  10. package/dist/runtime/components/Alert.vue.d.ts +464 -0
  11. package/dist/runtime/components/App.vue +37 -34
  12. package/dist/runtime/components/App.vue.d.ts +23 -0
  13. package/dist/runtime/components/Avatar.vue +69 -81
  14. package/dist/runtime/components/Avatar.vue.d.ts +281 -0
  15. package/dist/runtime/components/AvatarGroup.vue +53 -76
  16. package/dist/runtime/components/AvatarGroup.vue.d.ts +204 -0
  17. package/dist/runtime/components/Badge.vue +83 -83
  18. package/dist/runtime/components/Badge.vue.d.ts +517 -0
  19. package/dist/runtime/components/Button.vue +219 -149
  20. package/dist/runtime/components/Button.vue.d.ts +640 -0
  21. package/dist/runtime/components/ButtonGroup.vue +35 -51
  22. package/dist/runtime/components/ButtonGroup.vue.d.ts +116 -0
  23. package/dist/runtime/components/Calendar.vue +186 -152
  24. package/dist/runtime/components/Calendar.vue.d.ts +437 -0
  25. package/dist/runtime/components/Checkbox.vue +84 -73
  26. package/dist/runtime/components/Checkbox.vue.d.ts +354 -0
  27. package/dist/runtime/components/Chip.vue +59 -74
  28. package/dist/runtime/components/Chip.vue.d.ts +271 -0
  29. package/dist/runtime/components/Collapsible.vue +44 -41
  30. package/dist/runtime/components/Collapsible.vue.d.ts +118 -0
  31. package/dist/runtime/components/Container.vue +18 -27
  32. package/dist/runtime/components/Container.vue.d.ts +27 -0
  33. package/dist/runtime/components/Countdown.vue +198 -378
  34. package/dist/runtime/components/Countdown.vue.d.ts +356 -0
  35. package/dist/runtime/components/DescriptionList.vue +102 -149
  36. package/dist/runtime/components/DescriptionList.vue.d.ts +379 -0
  37. package/dist/runtime/components/DropdownMenu.vue +83 -139
  38. package/dist/runtime/components/DropdownMenu.vue.d.ts +533 -0
  39. package/dist/runtime/components/DropdownMenuContent.vue +137 -81
  40. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +228 -0
  41. package/dist/runtime/components/Form.vue +162 -216
  42. package/dist/runtime/components/Form.vue.d.ts +55 -0
  43. package/dist/runtime/components/FormField.vue +76 -80
  44. package/dist/runtime/components/FormField.vue.d.ts +282 -0
  45. package/dist/runtime/components/Input.vue +160 -179
  46. package/dist/runtime/components/Input.vue.d.ts +755 -0
  47. package/dist/runtime/components/InputMenu.vue +300 -381
  48. package/dist/runtime/components/InputMenu.vue.d.ts +1504 -0
  49. package/dist/runtime/components/InputNumber.vue +178 -175
  50. package/dist/runtime/components/InputNumber.vue.d.ts +658 -0
  51. package/dist/runtime/components/Kbd.vue +33 -45
  52. package/dist/runtime/components/Kbd.vue.d.ts +109 -0
  53. package/dist/runtime/components/Link.vue +179 -173
  54. package/dist/runtime/components/Link.vue.d.ts +129 -0
  55. package/dist/runtime/components/LinkBase.vue +64 -42
  56. package/dist/runtime/components/LinkBase.vue.d.ts +48 -0
  57. package/dist/runtime/components/Modal.vue +105 -127
  58. package/dist/runtime/components/Modal.vue.d.ts +327 -0
  59. package/dist/runtime/components/ModalDialogClose.vue +4 -8
  60. package/dist/runtime/components/ModalDialogClose.vue.d.ts +10 -0
  61. package/dist/runtime/components/Navbar.vue +24 -33
  62. package/dist/runtime/components/Navbar.vue.d.ts +101 -0
  63. package/dist/runtime/components/NavbarDivider.vue +24 -33
  64. package/dist/runtime/components/NavbarDivider.vue.d.ts +101 -0
  65. package/dist/runtime/components/NavbarSection.vue +24 -33
  66. package/dist/runtime/components/NavbarSection.vue.d.ts +101 -0
  67. package/dist/runtime/components/NavbarSpacer.vue +24 -33
  68. package/dist/runtime/components/NavbarSpacer.vue.d.ts +101 -0
  69. package/dist/runtime/components/NavigationMenu.vue +152 -216
  70. package/dist/runtime/components/NavigationMenu.vue.d.ts +824 -0
  71. package/dist/runtime/components/OverlayProvider.vue +13 -17
  72. package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -0
  73. package/dist/runtime/components/Popover.vue +81 -81
  74. package/dist/runtime/components/Popover.vue.d.ts +147 -0
  75. package/dist/runtime/components/Progress.vue +109 -136
  76. package/dist/runtime/components/Progress.vue.d.ts +592 -0
  77. package/dist/runtime/components/RadioGroup.vue +120 -134
  78. package/dist/runtime/components/RadioGroup.vue.d.ts +723 -0
  79. package/dist/runtime/components/Range.vue +94 -85
  80. package/dist/runtime/components/Range.vue.d.ts +417 -0
  81. package/dist/runtime/components/Select.vue +212 -260
  82. package/dist/runtime/components/Select.vue.d.ts +1200 -0
  83. package/dist/runtime/components/SelectMenu.vue +272 -366
  84. package/dist/runtime/components/SelectMenu.vue.d.ts +1298 -0
  85. package/dist/runtime/components/Separator.vue +61 -71
  86. package/dist/runtime/components/Separator.vue.d.ts +400 -0
  87. package/dist/runtime/components/Sidebar.vue +24 -33
  88. package/dist/runtime/components/Sidebar.vue.d.ts +101 -0
  89. package/dist/runtime/components/SidebarBody.vue +30 -38
  90. package/dist/runtime/components/SidebarBody.vue.d.ts +90 -0
  91. package/dist/runtime/components/SidebarFooter.vue +24 -33
  92. package/dist/runtime/components/SidebarFooter.vue.d.ts +101 -0
  93. package/dist/runtime/components/SidebarHeader.vue +24 -33
  94. package/dist/runtime/components/SidebarHeader.vue.d.ts +101 -0
  95. package/dist/runtime/components/SidebarHeading.vue +24 -33
  96. package/dist/runtime/components/SidebarHeading.vue.d.ts +101 -0
  97. package/dist/runtime/components/SidebarLayout.vue +40 -70
  98. package/dist/runtime/components/SidebarLayout.vue.d.ts +222 -0
  99. package/dist/runtime/components/SidebarSection.vue +24 -33
  100. package/dist/runtime/components/SidebarSection.vue.d.ts +101 -0
  101. package/dist/runtime/components/SidebarSpacer.vue +24 -33
  102. package/dist/runtime/components/SidebarSpacer.vue.d.ts +101 -0
  103. package/dist/runtime/components/Skeleton.vue +17 -22
  104. package/dist/runtime/components/Skeleton.vue.d.ts +26 -0
  105. package/dist/runtime/components/Slideover.vue +108 -131
  106. package/dist/runtime/components/Slideover.vue.d.ts +360 -0
  107. package/dist/runtime/components/StackedLayout.vue +40 -73
  108. package/dist/runtime/components/StackedLayout.vue.d.ts +192 -0
  109. package/dist/runtime/components/Switch.vue +100 -95
  110. package/dist/runtime/components/Switch.vue.d.ts +587 -0
  111. package/dist/runtime/components/Tabs.vue +83 -105
  112. package/dist/runtime/components/Tabs.vue.d.ts +453 -0
  113. package/dist/runtime/components/Textarea.vue +177 -201
  114. package/dist/runtime/components/Textarea.vue.d.ts +601 -0
  115. package/dist/runtime/components/Toast.vue +94 -105
  116. package/dist/runtime/components/Toast.vue.d.ts +438 -0
  117. package/dist/runtime/components/Toaster.vue +94 -111
  118. package/dist/runtime/components/Toaster.vue.d.ts +219 -0
  119. package/dist/runtime/components/Tooltip.vue +78 -64
  120. package/dist/runtime/components/Tooltip.vue.d.ts +186 -0
  121. package/dist/runtime/components/content/TableWrapper.vue +58 -70
  122. package/dist/runtime/components/content/TableWrapper.vue.d.ts +237 -0
  123. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  124. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  125. package/dist/runtime/composables/useComponentIcons.d.ts +1 -1
  126. package/dist/runtime/composables/useFormField.d.ts +1 -1
  127. package/dist/runtime/prose/A.vue +18 -23
  128. package/dist/runtime/prose/A.vue.d.ts +84 -0
  129. package/dist/runtime/prose/Blockquote.vue +18 -23
  130. package/dist/runtime/prose/Blockquote.vue.d.ts +84 -0
  131. package/dist/runtime/prose/Code.vue +23 -31
  132. package/dist/runtime/prose/Code.vue.d.ts +97 -0
  133. package/dist/runtime/prose/Em.vue +18 -23
  134. package/dist/runtime/prose/Em.vue.d.ts +84 -0
  135. package/dist/runtime/prose/H1.vue +18 -23
  136. package/dist/runtime/prose/H1.vue.d.ts +97 -0
  137. package/dist/runtime/prose/H2.vue +18 -23
  138. package/dist/runtime/prose/H2.vue.d.ts +123 -0
  139. package/dist/runtime/prose/H3.vue +18 -23
  140. package/dist/runtime/prose/H3.vue.d.ts +123 -0
  141. package/dist/runtime/prose/H4.vue +18 -23
  142. package/dist/runtime/prose/H4.vue.d.ts +123 -0
  143. package/dist/runtime/prose/H5.vue +18 -23
  144. package/dist/runtime/prose/H5.vue.d.ts +123 -0
  145. package/dist/runtime/prose/H6.vue +18 -23
  146. package/dist/runtime/prose/H6.vue.d.ts +123 -0
  147. package/dist/runtime/prose/Hr.vue +18 -19
  148. package/dist/runtime/prose/Hr.vue.d.ts +74 -0
  149. package/dist/runtime/prose/Img.vue +18 -23
  150. package/dist/runtime/prose/Img.vue.d.ts +77 -0
  151. package/dist/runtime/prose/Li.vue +18 -23
  152. package/dist/runtime/prose/Li.vue.d.ts +84 -0
  153. package/dist/runtime/prose/Ol.vue +18 -23
  154. package/dist/runtime/prose/Ol.vue.d.ts +84 -0
  155. package/dist/runtime/prose/P.vue +18 -23
  156. package/dist/runtime/prose/P.vue.d.ts +84 -0
  157. package/dist/runtime/prose/Pre.vue +28 -33
  158. package/dist/runtime/prose/Pre.vue.d.ts +117 -0
  159. package/dist/runtime/prose/Strong.vue +18 -23
  160. package/dist/runtime/prose/Strong.vue.d.ts +84 -0
  161. package/dist/runtime/prose/Table.vue +44 -54
  162. package/dist/runtime/prose/Table.vue.d.ts +144 -0
  163. package/dist/runtime/prose/Tbody.vue +18 -23
  164. package/dist/runtime/prose/Tbody.vue.d.ts +84 -0
  165. package/dist/runtime/prose/Td.vue +18 -23
  166. package/dist/runtime/prose/Td.vue.d.ts +84 -0
  167. package/dist/runtime/prose/Th.vue +18 -23
  168. package/dist/runtime/prose/Th.vue.d.ts +84 -0
  169. package/dist/runtime/prose/Thead.vue +18 -23
  170. package/dist/runtime/prose/Thead.vue.d.ts +84 -0
  171. package/dist/runtime/prose/Tr.vue +18 -23
  172. package/dist/runtime/prose/Tr.vue.d.ts +84 -0
  173. package/dist/runtime/prose/Ul.vue +18 -23
  174. package/dist/runtime/prose/Ul.vue.d.ts +84 -0
  175. package/dist/runtime/vue/components/Link.vue +201 -202
  176. package/dist/runtime/vue/components/Link.vue.d.ts +129 -0
  177. package/dist/runtime/vue/stubs.d.ts +3 -3
  178. package/dist/shared/{b24ui-nuxt.C1lGF53R.mjs → b24ui-nuxt.CS9Lf0os.mjs} +4 -3
  179. package/dist/types.d.mts +3 -5
  180. package/dist/unplugin.mjs +1 -1
  181. package/dist/vite.mjs +1 -1
  182. package/package.json +59 -32
  183. package/dist/meta.cjs +0 -72220
  184. package/dist/meta.d.cts +0 -72218
  185. package/dist/meta.d.ts +0 -72218
  186. package/dist/module.cjs +0 -59
  187. package/dist/module.d.cts +0 -15
  188. package/dist/module.d.ts +0 -15
  189. package/dist/shared/b24ui-nuxt.BVg3rkkG.cjs +0 -7720
  190. package/dist/types.d.ts +0 -7
  191. package/dist/unplugin.cjs +0 -236
  192. package/dist/unplugin.d.cts +0 -33
  193. package/dist/unplugin.d.ts +0 -33
  194. package/dist/vite.cjs +0 -21
  195. package/dist/vite.d.cts +0 -14
  196. package/dist/vite.d.ts +0 -14
@@ -1,109 +1,92 @@
1
- <script lang="ts">
2
- import type { VariantProps } from 'tailwind-variants'
3
- import type { ToastProviderProps } from 'reka-ui'
4
- import type { AppConfig } from '@nuxt/schema'
5
- import _appConfig from '#build/app.config'
6
- import theme from '#build/b24ui/toaster'
7
- import { tv } from '../utils/tv'
8
-
9
- const appConfigToaster = _appConfig as AppConfig & { b24ui: { toaster: Partial<typeof theme> } }
10
-
11
- const toaster = tv({ extend: tv(theme), ...(appConfigToaster.b24ui?.toaster || {}) })
12
-
13
- type ToasterVariants = VariantProps<typeof toaster>
14
-
15
- export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
16
- /**
17
- * The position on the screen to display the toasts.
18
- * @defaultValue 'top-right'
19
- */
20
- position?: ToasterVariants['position']
21
- /**
22
- * Expand the toasts to show multiple toasts at once.
23
- * @defaultValue true
24
- */
25
- expand?: boolean
26
- /**
27
- * Render the toaster in a portal.
28
- * @defaultValue true
29
- */
30
- portal?: boolean
31
- /**
32
- * @defaultValue 5000
33
- */
34
- duration?: number
35
- class?: any
36
- b24ui?: Partial<typeof toaster.slots>
37
- }
38
-
39
- export interface ToasterSlots {
40
- default(props?: {}): any
41
- }
42
-
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/toaster";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigToaster = _appConfig;
6
+ const toaster = tv({ extend: tv(theme), ...appConfigToaster.b24ui?.toaster || {} });
43
7
  export default {
44
- name: 'Toaster'
45
- }
8
+ name: "Toaster"
9
+ };
46
10
  </script>
47
11
 
48
- <script setup lang="ts">
49
- import { ref, computed } from 'vue'
50
- import { ToastProvider, ToastViewport, ToastPortal, useForwardProps } from 'reka-ui'
51
- import { reactivePick } from '@vueuse/core'
52
- import { useToast } from '../composables/useToast'
53
- import { omit } from '../utils'
54
- import B24Toast from './Toast.vue'
55
-
56
- const props = withDefaults(defineProps<ToasterProps>(), {
57
- position: 'top-right' as const,
58
- expand: true,
59
- duration: 5000,
60
- portal: true
61
- })
62
- defineSlots<ToasterSlots>()
63
-
64
- const providerProps = useForwardProps(reactivePick(props, 'duration', 'label', 'swipeThreshold'))
65
-
66
- const { toasts, remove } = useToast()
67
-
12
+ <script setup>
13
+ import { ref, computed } from "vue";
14
+ import { useForwardProps } from "reka-ui";
15
+ import { reactivePick } from "@vueuse/core";
16
+ import { useToast } from "../composables/useToast";
17
+ const props = defineProps({
18
+ position: {
19
+ type: null,
20
+ required: false,
21
+ default: "top-right"
22
+ },
23
+ expand: {
24
+ type: Boolean,
25
+ required: false,
26
+ default: true
27
+ },
28
+ portal: {
29
+ type: Boolean,
30
+ required: false,
31
+ default: true
32
+ },
33
+ duration: {
34
+ type: Number,
35
+ required: false,
36
+ default: 5e3
37
+ },
38
+ class: {
39
+ type: null,
40
+ required: false
41
+ },
42
+ b24ui: {
43
+ type: Object,
44
+ required: false
45
+ },
46
+ label: {
47
+ type: String,
48
+ required: false
49
+ },
50
+ swipeThreshold: {
51
+ type: Number,
52
+ required: false
53
+ }
54
+ });
55
+ defineSlots();
56
+ const providerProps = useForwardProps(reactivePick(props, "duration", "label", "swipeThreshold"));
57
+ const { toasts, remove } = useToast();
68
58
  const swipeDirection = computed(() => {
69
59
  switch (props.position) {
70
- case 'top-center':
71
- return 'up'
72
- case 'top-right':
73
- case 'bottom-right':
74
- return 'right'
75
- case 'bottom-center':
76
- return 'down'
77
- case 'top-left':
78
- case 'bottom-left':
79
- return 'left'
60
+ case "top-center":
61
+ return "up";
62
+ case "top-right":
63
+ case "bottom-right":
64
+ return "right";
65
+ case "bottom-center":
66
+ return "down";
67
+ case "top-left":
68
+ case "bottom-left":
69
+ return "left";
80
70
  }
81
- return 'right'
82
- })
83
-
71
+ return "right";
72
+ });
84
73
  const b24ui = computed(() => toaster({
85
74
  position: props.position,
86
75
  swipeDirection: swipeDirection.value
87
- }))
88
-
89
- function onUpdateOpen(value: boolean, id: string | number) {
76
+ }));
77
+ function onUpdateOpen(value, id) {
90
78
  if (value) {
91
- return
79
+ return;
92
80
  }
93
-
94
- remove(id)
81
+ remove(id);
95
82
  }
96
-
97
- const hovered = ref(false)
98
- const expanded = computed(() => props.expand || hovered.value)
99
-
100
- const refs = ref<{ height: number }[]>([])
101
-
102
- const height = computed(() => refs.value.reduce((acc, { height }) => acc + height + 16, 0))
103
- const frontHeight = computed(() => refs.value[refs.value.length - 1]?.height || 0)
104
-
105
- function getOffset(index: number) {
106
- return refs.value.slice(index + 1).reduce((acc, { height }) => acc + height + 16, 0)
83
+ const hovered = ref(false);
84
+ const expanded = computed(() => props.expand || hovered.value);
85
+ const refs = ref([]);
86
+ const height = computed(() => refs.value.reduce((acc, { height: height2 }) => acc + height2 + 16, 0));
87
+ const frontHeight = computed(() => refs.value[refs.value.length - 1]?.height || 0);
88
+ function getOffset(index) {
89
+ return refs.value.slice(index + 1).reduce((acc, { height: height2 }) => acc + height2 + 16, 0);
107
90
  }
108
91
  </script>
109
92
 
@@ -112,24 +95,24 @@ function getOffset(index: number) {
112
95
  <slot />
113
96
 
114
97
  <B24Toast
115
- v-for="(toast, index) of toasts"
98
+ v-for="(toast, index) in toasts"
116
99
  :key="toast.id"
117
100
  ref="refs"
118
101
  v-bind="omit(toast, ['id', 'close'])"
119
- :close="(toast.close as boolean)"
102
+ :close="toast.close"
120
103
  :data-expanded="expanded"
121
104
  :data-front="!expanded && index === toasts.length - 1"
122
105
  :style="{
123
- '--index': (index - toasts.length) + toasts.length,
124
- '--before': toasts.length - 1 - index,
125
- '--offset': getOffset(index),
126
- '--scale': expanded ? '1' : 'calc(1 - var(--before) * var(--scale-factor))',
127
- '--translate': expanded ? 'calc(var(--offset) * var(--translate-factor))' : 'calc(var(--before) * var(--gap))',
128
- '--transform': 'translateY(var(--translate)) scale(var(--scale))'
129
- }"
106
+ '--index': index - toasts.length + toasts.length,
107
+ '--before': toasts.length - 1 - index,
108
+ '--offset': getOffset(index),
109
+ '--scale': expanded ? '1' : 'calc(1 - var(--before) * var(--scale-factor))',
110
+ '--translate': expanded ? 'calc(var(--offset) * var(--translate-factor))' : 'calc(var(--before) * var(--gap))',
111
+ '--transform': 'translateY(var(--translate)) scale(var(--scale))'
112
+ }"
130
113
  :class="[b24ui.base(), {
131
- 'cursor-pointer': !!toast.onClick
132
- }]"
114
+ 'cursor-pointer': !!toast.onClick
115
+ }]"
133
116
  @update:open="onUpdateOpen($event, toast.id)"
134
117
  @click="toast.onClick && toast.onClick(toast)"
135
118
  />
@@ -139,12 +122,12 @@ function getOffset(index: number) {
139
122
  :data-expanded="expanded"
140
123
  :class="b24ui.viewport({ class: [props.class, props.b24ui?.viewport] })"
141
124
  :style="{
142
- '--scale-factor': '0.05',
143
- '--translate-factor': position?.startsWith('top') ? '1px' : '-1px',
144
- '--gap': position?.startsWith('top') ? '16px' : '-16px',
145
- '--front-height': `${frontHeight}px`,
146
- '--height': `${height}px`
147
- }"
125
+ '--scale-factor': '0.05',
126
+ '--translate-factor': position?.startsWith('top') ? '1px' : '-1px',
127
+ '--gap': position?.startsWith('top') ? '16px' : '-16px',
128
+ '--front-height': `${frontHeight}px`,
129
+ '--height': `${height}px`
130
+ }"
148
131
  @mouseenter="hovered = true"
149
132
  @mouseleave="hovered = false"
150
133
  />
@@ -0,0 +1,219 @@
1
+ import type { VariantProps } from 'tailwind-variants';
2
+ import type { ToastProviderProps } from 'reka-ui';
3
+ declare const toaster: import("tailwind-variants").TVReturnType<{
4
+ position: {
5
+ "top-left": {
6
+ viewport: string;
7
+ };
8
+ "top-center": {
9
+ viewport: string;
10
+ };
11
+ "top-right": {
12
+ viewport: string;
13
+ };
14
+ "bottom-left": {
15
+ viewport: string;
16
+ };
17
+ "bottom-center": {
18
+ viewport: string;
19
+ };
20
+ "bottom-right": {
21
+ viewport: string;
22
+ };
23
+ };
24
+ swipeDirection: {
25
+ up: string;
26
+ right: string;
27
+ down: string;
28
+ left: string;
29
+ };
30
+ }, {
31
+ viewport: string;
32
+ base: string;
33
+ }, undefined, {
34
+ position: {
35
+ "top-left": {
36
+ viewport: string;
37
+ };
38
+ "top-center": {
39
+ viewport: string;
40
+ };
41
+ "top-right": {
42
+ viewport: string;
43
+ };
44
+ "bottom-left": {
45
+ viewport: string;
46
+ };
47
+ "bottom-center": {
48
+ viewport: string;
49
+ };
50
+ "bottom-right": {
51
+ viewport: string;
52
+ };
53
+ };
54
+ swipeDirection: {
55
+ up: string;
56
+ right: string;
57
+ down: string;
58
+ left: string;
59
+ };
60
+ }, {
61
+ viewport: string;
62
+ base: string;
63
+ }, import("tailwind-variants").TVReturnType<{
64
+ position: {
65
+ "top-left": {
66
+ viewport: string;
67
+ };
68
+ "top-center": {
69
+ viewport: string;
70
+ };
71
+ "top-right": {
72
+ viewport: string;
73
+ };
74
+ "bottom-left": {
75
+ viewport: string;
76
+ };
77
+ "bottom-center": {
78
+ viewport: string;
79
+ };
80
+ "bottom-right": {
81
+ viewport: string;
82
+ };
83
+ };
84
+ swipeDirection: {
85
+ up: string;
86
+ right: string;
87
+ down: string;
88
+ left: string;
89
+ };
90
+ }, {
91
+ viewport: string;
92
+ base: string;
93
+ }, undefined, {
94
+ position: {
95
+ "top-left": {
96
+ viewport: string;
97
+ };
98
+ "top-center": {
99
+ viewport: string;
100
+ };
101
+ "top-right": {
102
+ viewport: string;
103
+ };
104
+ "bottom-left": {
105
+ viewport: string;
106
+ };
107
+ "bottom-center": {
108
+ viewport: string;
109
+ };
110
+ "bottom-right": {
111
+ viewport: string;
112
+ };
113
+ };
114
+ swipeDirection: {
115
+ up: string;
116
+ right: string;
117
+ down: string;
118
+ left: string;
119
+ };
120
+ }, {
121
+ viewport: string;
122
+ base: string;
123
+ }, import("tailwind-variants").TVReturnType<{
124
+ position: {
125
+ "top-left": {
126
+ viewport: string;
127
+ };
128
+ "top-center": {
129
+ viewport: string;
130
+ };
131
+ "top-right": {
132
+ viewport: string;
133
+ };
134
+ "bottom-left": {
135
+ viewport: string;
136
+ };
137
+ "bottom-center": {
138
+ viewport: string;
139
+ };
140
+ "bottom-right": {
141
+ viewport: string;
142
+ };
143
+ };
144
+ swipeDirection: {
145
+ up: string;
146
+ right: string;
147
+ down: string;
148
+ left: string;
149
+ };
150
+ }, {
151
+ viewport: string;
152
+ base: string;
153
+ }, undefined, unknown, unknown, undefined>>>;
154
+ type ToasterVariants = VariantProps<typeof toaster>;
155
+ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
156
+ /**
157
+ * The position on the screen to display the toasts.
158
+ * @defaultValue 'top-right'
159
+ */
160
+ position?: ToasterVariants['position'];
161
+ /**
162
+ * Expand the toasts to show multiple toasts at once.
163
+ * @defaultValue true
164
+ */
165
+ expand?: boolean;
166
+ /**
167
+ * Render the toaster in a portal.
168
+ * @defaultValue true
169
+ */
170
+ portal?: boolean;
171
+ /**
172
+ * @defaultValue 5000
173
+ */
174
+ duration?: number;
175
+ class?: any;
176
+ b24ui?: Partial<typeof toaster.slots>;
177
+ }
178
+ export interface ToasterSlots {
179
+ default(props?: {}): any;
180
+ }
181
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ToasterProps>, {
182
+ position: "top-right";
183
+ expand: boolean;
184
+ duration: number;
185
+ portal: boolean;
186
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ToasterProps>, {
187
+ position: "top-right";
188
+ expand: boolean;
189
+ duration: number;
190
+ portal: boolean;
191
+ }>>> & Readonly<{}>, {
192
+ duration: number;
193
+ position: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
194
+ expand: boolean;
195
+ portal: boolean;
196
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<ToasterSlots> & ToasterSlots>;
197
+ export default _default;
198
+ type __VLS_WithDefaults<P, D> = {
199
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
200
+ default: D[K];
201
+ }> : P[K];
202
+ };
203
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
204
+ type __VLS_TypePropsToOption<T> = {
205
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
206
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
207
+ } : {
208
+ type: import('vue').PropType<T[K]>;
209
+ required: true;
210
+ };
211
+ };
212
+ type __VLS_WithTemplateSlots<T, S> = T & {
213
+ new (): {
214
+ $slots: S;
215
+ };
216
+ };
217
+ type __VLS_PrettifyLocal<T> = {
218
+ [K in keyof T]: T[K];
219
+ } & {};
@@ -1,69 +1,83 @@
1
- <script lang="ts">
2
- import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipContentEmits, TooltipArrowProps } from 'reka-ui'
3
- import type { AppConfig } from '@nuxt/schema'
4
- import _appConfig from '#build/app.config'
5
- import theme from '#build/b24ui/tooltip'
6
- import { tv } from '../utils/tv'
7
- import type { KbdProps } from '../types'
8
- import type { EmitsToProps } from '../types/utils'
9
-
10
- const appConfigTooltip = _appConfig as AppConfig & { b24ui: { tooltip: Partial<typeof theme> } }
11
-
12
- const tooltip = tv({ extend: tv(theme), ...(appConfigTooltip.b24ui?.tooltip || {}) })
13
-
14
- export interface TooltipProps extends TooltipRootProps {
15
- /** The text content of the tooltip. */
16
- text?: string
17
- /** The keyboard keys to display in the tooltip. */
18
- kbds?: KbdProps['value'][] | KbdProps[]
19
- /**
20
- * The content of the tooltip.
21
- * @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
22
- */
23
- content?: Omit<TooltipContentProps, 'as' | 'asChild'> & Partial<EmitsToProps<TooltipContentEmits>>
24
- /**
25
- * Display an arrow alongside the tooltip.
26
- * @defaultValue false
27
- */
28
- arrow?: boolean | Omit<TooltipArrowProps, 'as' | 'asChild'>
29
- /**
30
- * Render the tooltip in a portal.
31
- * @defaultValue true
32
- */
33
- portal?: boolean
34
- class?: any
35
- b24ui?: Partial<typeof tooltip.slots>
36
- }
37
-
38
- export interface TooltipEmits extends TooltipRootEmits {}
39
-
40
- export interface TooltipSlots {
41
- default(props: { open: boolean }): any
42
- content(props?: {}): any
43
- }
1
+ <script>
2
+ import _appConfig from "#build/app.config";
3
+ import theme from "#build/b24ui/tooltip";
4
+ import { tv } from "../utils/tv";
5
+ const appConfigTooltip = _appConfig;
6
+ const tooltip = tv({ extend: tv(theme), ...appConfigTooltip.b24ui?.tooltip || {} });
44
7
  </script>
45
8
 
46
- <script setup lang="ts">
47
- import { computed, toRef } from 'vue'
48
- import { defu } from 'defu'
49
- import { TooltipRoot, TooltipTrigger, TooltipPortal, TooltipContent, TooltipArrow, useForwardPropsEmits } from 'reka-ui'
50
- import { reactivePick } from '@vueuse/core'
51
- import B24Kbd from './Kbd.vue'
52
-
53
- const props = withDefaults(defineProps<TooltipProps>(), {
54
- portal: true
55
- })
56
- const emits = defineEmits<TooltipEmits>()
57
- const slots = defineSlots<TooltipSlots>()
58
-
59
- const rootProps = useForwardPropsEmits(reactivePick(props, 'defaultOpen', 'open', 'delayDuration', 'disableHoverableContent', 'disableClosingTrigger', 'disabled', 'ignoreNonKeyboardFocus'), emits)
60
- const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8, collisionPadding: 8 }) as TooltipContentProps)
61
- const arrowProps = toRef(() => props.arrow as TooltipArrowProps)
62
-
63
- // eslint-disable-next-line vue/no-dupe-keys
9
+ <script setup>
10
+ import { computed, toRef } from "vue";
11
+ import { defu } from "defu";
12
+ import { useForwardPropsEmits } from "reka-ui";
13
+ import { reactivePick } from "@vueuse/core";
14
+ const props = defineProps({
15
+ text: {
16
+ type: String,
17
+ required: false
18
+ },
19
+ kbds: {
20
+ type: Array,
21
+ required: false
22
+ },
23
+ content: {
24
+ type: Object,
25
+ required: false
26
+ },
27
+ arrow: {
28
+ type: [Boolean, Object],
29
+ required: false
30
+ },
31
+ portal: {
32
+ type: Boolean,
33
+ required: false,
34
+ default: true
35
+ },
36
+ class: {
37
+ type: null,
38
+ required: false
39
+ },
40
+ b24ui: {
41
+ type: Object,
42
+ required: false
43
+ },
44
+ defaultOpen: {
45
+ type: Boolean,
46
+ required: false
47
+ },
48
+ open: {
49
+ type: Boolean,
50
+ required: false
51
+ },
52
+ delayDuration: {
53
+ type: Number,
54
+ required: false
55
+ },
56
+ disableHoverableContent: {
57
+ type: Boolean,
58
+ required: false
59
+ },
60
+ disableClosingTrigger: {
61
+ type: Boolean,
62
+ required: false
63
+ },
64
+ disabled: {
65
+ type: Boolean,
66
+ required: false
67
+ },
68
+ ignoreNonKeyboardFocus: {
69
+ type: Boolean,
70
+ required: false
71
+ }
72
+ });
73
+ const emits = defineEmits(["update:open"]);
74
+ const slots = defineSlots();
75
+ const rootProps = useForwardPropsEmits(reactivePick(props, "defaultOpen", "open", "delayDuration", "disableHoverableContent", "disableClosingTrigger", "disabled", "ignoreNonKeyboardFocus"), emits);
76
+ const contentProps = toRef(() => defu(props.content, { side: "bottom", sideOffset: 8, collisionPadding: 8 }));
77
+ const arrowProps = toRef(() => props.arrow);
64
78
  const b24ui = computed(() => tooltip({
65
79
  side: contentProps.value.side
66
- }))
80
+ }));
67
81
  </script>
68
82
 
69
83
  <template>
@@ -81,8 +95,8 @@ const b24ui = computed(() => tooltip({
81
95
  <B24Kbd
82
96
  v-for="(kbd, index) in kbds"
83
97
  :key="index"
84
- :size="((props.b24ui?.kbdsSize || b24ui.kbdsSize()) as KbdProps['size'])"
85
- :depth="((props.b24ui?.kbdsDepth || b24ui.kbdsDepth()) as KbdProps['depth'])"
98
+ :size="props.b24ui?.kbdsSize || b24ui.kbdsSize()"
99
+ :depth="props.b24ui?.kbdsDepth || b24ui.kbdsDepth()"
86
100
  v-bind="typeof kbd === 'string' ? { value: kbd } : kbd"
87
101
  />
88
102
  </span>