@bitrix24/b24ui-nuxt 0.5.10 → 0.5.11

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 (190) hide show
  1. package/dist/meta.cjs +72112 -0
  2. package/dist/meta.d.cts +72110 -0
  3. package/dist/meta.d.mts +5060 -5060
  4. package/dist/meta.d.ts +72110 -0
  5. package/dist/meta.mjs +5060 -5060
  6. package/dist/module.cjs +63 -0
  7. package/dist/module.d.cts +15 -0
  8. package/dist/module.d.ts +15 -0
  9. package/dist/module.json +3 -3
  10. package/dist/module.mjs +1 -1
  11. package/dist/runtime/components/Advice.vue +54 -47
  12. package/dist/runtime/components/Alert.vue +96 -71
  13. package/dist/runtime/components/App.vue +34 -37
  14. package/dist/runtime/components/Avatar.vue +81 -69
  15. package/dist/runtime/components/AvatarGroup.vue +76 -53
  16. package/dist/runtime/components/Badge.vue +83 -83
  17. package/dist/runtime/components/Button.vue +157 -220
  18. package/dist/runtime/components/ButtonGroup.vue +51 -35
  19. package/dist/runtime/components/Calendar.vue +152 -186
  20. package/dist/runtime/components/Checkbox.vue +73 -84
  21. package/dist/runtime/components/Chip.vue +74 -59
  22. package/dist/runtime/components/Collapsible.vue +41 -44
  23. package/dist/runtime/components/Container.vue +27 -18
  24. package/dist/runtime/components/Countdown.vue +378 -198
  25. package/dist/runtime/components/DescriptionList.vue +149 -102
  26. package/dist/runtime/components/DropdownMenu.vue +139 -83
  27. package/dist/runtime/components/DropdownMenuContent.vue +84 -137
  28. package/dist/runtime/components/Form.vue +216 -162
  29. package/dist/runtime/components/FormField.vue +80 -76
  30. package/dist/runtime/components/Input.vue +179 -160
  31. package/dist/runtime/components/InputMenu.vue +380 -300
  32. package/dist/runtime/components/InputNumber.vue +175 -178
  33. package/dist/runtime/components/Kbd.vue +45 -33
  34. package/dist/runtime/components/Link.vue +173 -179
  35. package/dist/runtime/components/LinkBase.vue +42 -64
  36. package/dist/runtime/components/Modal.vue +127 -105
  37. package/dist/runtime/components/ModalDialogClose.vue +8 -4
  38. package/dist/runtime/components/Navbar.vue +33 -24
  39. package/dist/runtime/components/NavbarDivider.vue +33 -24
  40. package/dist/runtime/components/NavbarSection.vue +33 -24
  41. package/dist/runtime/components/NavbarSpacer.vue +33 -24
  42. package/dist/runtime/components/NavigationMenu.vue +210 -144
  43. package/dist/runtime/components/OverlayProvider.vue +17 -13
  44. package/dist/runtime/components/Popover.vue +81 -81
  45. package/dist/runtime/components/Progress.vue +136 -109
  46. package/dist/runtime/components/RadioGroup.vue +134 -120
  47. package/dist/runtime/components/Range.vue +85 -94
  48. package/dist/runtime/components/Select.vue +260 -212
  49. package/dist/runtime/components/SelectMenu.vue +365 -272
  50. package/dist/runtime/components/Separator.vue +71 -61
  51. package/dist/runtime/components/Sidebar.vue +33 -24
  52. package/dist/runtime/components/SidebarBody.vue +38 -30
  53. package/dist/runtime/components/SidebarFooter.vue +33 -24
  54. package/dist/runtime/components/SidebarHeader.vue +33 -24
  55. package/dist/runtime/components/SidebarHeading.vue +33 -24
  56. package/dist/runtime/components/SidebarLayout.vue +70 -40
  57. package/dist/runtime/components/SidebarSection.vue +33 -24
  58. package/dist/runtime/components/SidebarSpacer.vue +33 -24
  59. package/dist/runtime/components/Skeleton.vue +22 -17
  60. package/dist/runtime/components/Slideover.vue +131 -108
  61. package/dist/runtime/components/StackedLayout.vue +73 -40
  62. package/dist/runtime/components/Switch.vue +95 -100
  63. package/dist/runtime/components/Tabs.vue +107 -81
  64. package/dist/runtime/components/Textarea.vue +201 -177
  65. package/dist/runtime/components/Toast.vue +105 -94
  66. package/dist/runtime/components/Toaster.vue +116 -94
  67. package/dist/runtime/components/Tooltip.vue +64 -78
  68. package/dist/runtime/components/content/TableWrapper.vue +70 -58
  69. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  70. package/dist/runtime/composables/useButtonGroup.d.ts +2 -2
  71. package/dist/runtime/composables/useComponentIcons.d.ts +3 -3
  72. package/dist/runtime/composables/useFormField.d.ts +1 -1
  73. package/dist/runtime/prose/A.vue +23 -18
  74. package/dist/runtime/prose/Blockquote.vue +23 -18
  75. package/dist/runtime/prose/Code.vue +31 -23
  76. package/dist/runtime/prose/Em.vue +23 -18
  77. package/dist/runtime/prose/H1.vue +23 -18
  78. package/dist/runtime/prose/H2.vue +23 -18
  79. package/dist/runtime/prose/H3.vue +23 -18
  80. package/dist/runtime/prose/H4.vue +23 -18
  81. package/dist/runtime/prose/H5.vue +23 -18
  82. package/dist/runtime/prose/H6.vue +23 -18
  83. package/dist/runtime/prose/Hr.vue +19 -18
  84. package/dist/runtime/prose/Img.vue +23 -18
  85. package/dist/runtime/prose/Li.vue +23 -18
  86. package/dist/runtime/prose/Ol.vue +23 -18
  87. package/dist/runtime/prose/P.vue +23 -18
  88. package/dist/runtime/prose/Pre.vue +33 -28
  89. package/dist/runtime/prose/Strong.vue +23 -18
  90. package/dist/runtime/prose/Table.vue +54 -44
  91. package/dist/runtime/prose/Tbody.vue +23 -18
  92. package/dist/runtime/prose/Td.vue +23 -18
  93. package/dist/runtime/prose/Th.vue +23 -18
  94. package/dist/runtime/prose/Thead.vue +23 -18
  95. package/dist/runtime/prose/Tr.vue +23 -18
  96. package/dist/runtime/prose/Ul.vue +23 -18
  97. package/dist/runtime/vue/components/Link.vue +202 -201
  98. package/dist/shared/b24ui-nuxt.DrKwIWoc.cjs +7721 -0
  99. package/dist/types.d.mts +5 -3
  100. package/dist/types.d.ts +7 -0
  101. package/dist/unplugin.cjs +236 -0
  102. package/dist/unplugin.d.cts +33 -0
  103. package/dist/unplugin.d.ts +33 -0
  104. package/dist/vite.cjs +21 -0
  105. package/dist/vite.d.cts +14 -0
  106. package/dist/vite.d.ts +14 -0
  107. package/package.json +25 -13
  108. package/dist/runtime/components/Advice.vue.d.ts +0 -170
  109. package/dist/runtime/components/Alert.vue.d.ts +0 -464
  110. package/dist/runtime/components/App.vue.d.ts +0 -23
  111. package/dist/runtime/components/Avatar.vue.d.ts +0 -281
  112. package/dist/runtime/components/AvatarGroup.vue.d.ts +0 -204
  113. package/dist/runtime/components/Badge.vue.d.ts +0 -517
  114. package/dist/runtime/components/Button.vue.d.ts +0 -640
  115. package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -116
  116. package/dist/runtime/components/Calendar.vue.d.ts +0 -437
  117. package/dist/runtime/components/Checkbox.vue.d.ts +0 -354
  118. package/dist/runtime/components/Chip.vue.d.ts +0 -271
  119. package/dist/runtime/components/Collapsible.vue.d.ts +0 -118
  120. package/dist/runtime/components/Container.vue.d.ts +0 -27
  121. package/dist/runtime/components/Countdown.vue.d.ts +0 -356
  122. package/dist/runtime/components/DescriptionList.vue.d.ts +0 -379
  123. package/dist/runtime/components/DropdownMenu.vue.d.ts +0 -533
  124. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +0 -228
  125. package/dist/runtime/components/Form.vue.d.ts +0 -55
  126. package/dist/runtime/components/FormField.vue.d.ts +0 -282
  127. package/dist/runtime/components/Input.vue.d.ts +0 -755
  128. package/dist/runtime/components/InputMenu.vue.d.ts +0 -1504
  129. package/dist/runtime/components/InputNumber.vue.d.ts +0 -658
  130. package/dist/runtime/components/Kbd.vue.d.ts +0 -109
  131. package/dist/runtime/components/Link.vue.d.ts +0 -129
  132. package/dist/runtime/components/LinkBase.vue.d.ts +0 -48
  133. package/dist/runtime/components/Modal.vue.d.ts +0 -327
  134. package/dist/runtime/components/ModalDialogClose.vue.d.ts +0 -10
  135. package/dist/runtime/components/Navbar.vue.d.ts +0 -101
  136. package/dist/runtime/components/NavbarDivider.vue.d.ts +0 -101
  137. package/dist/runtime/components/NavbarSection.vue.d.ts +0 -101
  138. package/dist/runtime/components/NavbarSpacer.vue.d.ts +0 -101
  139. package/dist/runtime/components/NavigationMenu.vue.d.ts +0 -824
  140. package/dist/runtime/components/OverlayProvider.vue.d.ts +0 -2
  141. package/dist/runtime/components/Popover.vue.d.ts +0 -147
  142. package/dist/runtime/components/Progress.vue.d.ts +0 -592
  143. package/dist/runtime/components/RadioGroup.vue.d.ts +0 -723
  144. package/dist/runtime/components/Range.vue.d.ts +0 -417
  145. package/dist/runtime/components/Select.vue.d.ts +0 -1200
  146. package/dist/runtime/components/SelectMenu.vue.d.ts +0 -1298
  147. package/dist/runtime/components/Separator.vue.d.ts +0 -400
  148. package/dist/runtime/components/Sidebar.vue.d.ts +0 -101
  149. package/dist/runtime/components/SidebarBody.vue.d.ts +0 -90
  150. package/dist/runtime/components/SidebarFooter.vue.d.ts +0 -101
  151. package/dist/runtime/components/SidebarHeader.vue.d.ts +0 -101
  152. package/dist/runtime/components/SidebarHeading.vue.d.ts +0 -101
  153. package/dist/runtime/components/SidebarLayout.vue.d.ts +0 -222
  154. package/dist/runtime/components/SidebarSection.vue.d.ts +0 -101
  155. package/dist/runtime/components/SidebarSpacer.vue.d.ts +0 -101
  156. package/dist/runtime/components/Skeleton.vue.d.ts +0 -26
  157. package/dist/runtime/components/Slideover.vue.d.ts +0 -360
  158. package/dist/runtime/components/StackedLayout.vue.d.ts +0 -192
  159. package/dist/runtime/components/Switch.vue.d.ts +0 -587
  160. package/dist/runtime/components/Tabs.vue.d.ts +0 -453
  161. package/dist/runtime/components/Textarea.vue.d.ts +0 -601
  162. package/dist/runtime/components/Toast.vue.d.ts +0 -438
  163. package/dist/runtime/components/Toaster.vue.d.ts +0 -219
  164. package/dist/runtime/components/Tooltip.vue.d.ts +0 -186
  165. package/dist/runtime/components/content/TableWrapper.vue.d.ts +0 -237
  166. package/dist/runtime/prose/A.vue.d.ts +0 -84
  167. package/dist/runtime/prose/Blockquote.vue.d.ts +0 -84
  168. package/dist/runtime/prose/Code.vue.d.ts +0 -97
  169. package/dist/runtime/prose/Em.vue.d.ts +0 -84
  170. package/dist/runtime/prose/H1.vue.d.ts +0 -97
  171. package/dist/runtime/prose/H2.vue.d.ts +0 -123
  172. package/dist/runtime/prose/H3.vue.d.ts +0 -123
  173. package/dist/runtime/prose/H4.vue.d.ts +0 -123
  174. package/dist/runtime/prose/H5.vue.d.ts +0 -123
  175. package/dist/runtime/prose/H6.vue.d.ts +0 -123
  176. package/dist/runtime/prose/Hr.vue.d.ts +0 -74
  177. package/dist/runtime/prose/Img.vue.d.ts +0 -77
  178. package/dist/runtime/prose/Li.vue.d.ts +0 -84
  179. package/dist/runtime/prose/Ol.vue.d.ts +0 -84
  180. package/dist/runtime/prose/P.vue.d.ts +0 -84
  181. package/dist/runtime/prose/Pre.vue.d.ts +0 -117
  182. package/dist/runtime/prose/Strong.vue.d.ts +0 -84
  183. package/dist/runtime/prose/Table.vue.d.ts +0 -144
  184. package/dist/runtime/prose/Tbody.vue.d.ts +0 -84
  185. package/dist/runtime/prose/Td.vue.d.ts +0 -84
  186. package/dist/runtime/prose/Th.vue.d.ts +0 -84
  187. package/dist/runtime/prose/Thead.vue.d.ts +0 -84
  188. package/dist/runtime/prose/Tr.vue.d.ts +0 -84
  189. package/dist/runtime/prose/Ul.vue.d.ts +0 -84
  190. package/dist/runtime/vue/components/Link.vue.d.ts +0 -129
@@ -1,118 +1,140 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/modal";
4
- import { tv } from "../utils/tv";
5
- const appConfigModal = _appConfig;
6
- const modal = tv({ extend: tv(theme), ...appConfigModal.b24ui?.modal || {} });
1
+ <script lang="ts">
2
+ import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui'
3
+ import type { VariantProps } from 'tailwind-variants'
4
+ import type { AppConfig } from '@nuxt/schema'
5
+ import _appConfig from '#build/app.config'
6
+ import theme from '#build/b24ui/modal'
7
+ import { tv } from '../utils/tv'
8
+ import type { ButtonProps, IconComponent } from '../types'
9
+ import type { EmitsToProps } from '../types/utils'
10
+
11
+ const appConfigModal = _appConfig as AppConfig & { b24ui: { modal: Partial<typeof theme> } }
12
+
13
+ const modal = tv({ extend: tv(theme), ...(appConfigModal.b24ui?.modal || {}) })
14
+
15
+ type ModalVariants = VariantProps<typeof modal>
16
+
17
+ export interface ModalProps extends DialogRootProps {
18
+ title?: string
19
+ description?: string
20
+ /**
21
+ * The content of the modal
22
+ */
23
+ content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>
24
+ /**
25
+ * Render an overlay behind the modal.
26
+ * @defaultValue true
27
+ */
28
+ overlay?: boolean
29
+ /**
30
+ * Render an overlay blur behind the modal.
31
+ * `auto` use `motion-safe`.
32
+ * @defaultValue 'auto'
33
+ */
34
+ overlayBlur?: ModalVariants['overlayBlur']
35
+ /**
36
+ * Animate the modal when opening or closing.
37
+ * @defaultValue true
38
+ */
39
+ transition?: boolean
40
+ /**
41
+ * When `true`, the modal will take up the full screen.
42
+ * @defaultValue false
43
+ */
44
+ fullscreen?: boolean
45
+ /**
46
+ * Render the modal in a portal.
47
+ * @defaultValue true
48
+ */
49
+ portal?: boolean
50
+ /**
51
+ * Display a close button to dismiss the modal.
52
+ * `{ size: 'xs', color: 'link' }`{lang="ts"}
53
+ * @defaultValue true
54
+ */
55
+ close?: boolean | Partial<ButtonProps>
56
+ /**
57
+ * The icon displayed in the close button.
58
+ * @defaultValue icons.close
59
+ * @IconComponent
60
+ */
61
+ closeIcon?: IconComponent
62
+ /**
63
+ * When `false`, the modal will not close when clicking outside or pressing escape.
64
+ * @defaultValue false
65
+ */
66
+ dismissible?: boolean
67
+ /**
68
+ * @defaultValue true
69
+ */
70
+ scrollbarThin?: boolean
71
+ class?: any
72
+ b24ui?: Partial<typeof modal.slots>
73
+ }
74
+
75
+ export interface ModalEmits extends DialogRootEmits {
76
+ 'after:leave': []
77
+ }
78
+
79
+ export interface ModalSlots {
80
+ default(props: { open: boolean }): any
81
+ content(props?: {}): any
82
+ header(props?: {}): any
83
+ title(props?: {}): any
84
+ description(props?: {}): any
85
+ close(props: { b24ui: ReturnType<typeof modal> }): any
86
+ body(props?: {}): any
87
+ footer(props?: {}): any
88
+ }
7
89
  </script>
8
90
 
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
- fullscreen: {
43
- type: Boolean,
44
- required: false
45
- },
46
- portal: {
47
- type: Boolean,
48
- required: false,
49
- default: true
50
- },
51
- close: {
52
- type: [Boolean, Object],
53
- required: false,
54
- default: true
55
- },
56
- closeIcon: {
57
- type: [Function, Object],
58
- required: false
59
- },
60
- dismissible: {
61
- type: Boolean,
62
- required: false,
63
- default: true
64
- },
65
- scrollbarThin: {
66
- type: Boolean,
67
- required: false,
68
- default: true
69
- },
70
- class: {
71
- type: null,
72
- required: false
73
- },
74
- b24ui: {
75
- type: Object,
76
- required: false
77
- },
78
- open: {
79
- type: Boolean,
80
- required: false
81
- },
82
- defaultOpen: {
83
- type: Boolean,
84
- required: false
85
- },
86
- modal: {
87
- type: Boolean,
88
- required: false,
89
- default: true
90
- }
91
- });
92
- const emits = defineEmits(["after:leave", "update:open"]);
93
- const slots = defineSlots();
94
- const { t } = useLocale();
95
- const rootProps = useForwardPropsEmits(reactivePick(props, "open", "defaultOpen", "modal"), emits);
96
- const contentProps = toRef(() => props.content);
91
+ <script setup lang="ts">
92
+ import { computed, toRef } from 'vue'
93
+ import { DialogRoot, DialogTrigger, DialogPortal, DialogOverlay, DialogContent, DialogTitle, DialogDescription, DialogClose, VisuallyHidden, useForwardPropsEmits } from 'reka-ui'
94
+ import { reactivePick } from '@vueuse/core'
95
+ import { useLocale } from '../composables/useLocale'
96
+ import icons from '../dictionary/icons'
97
+ import B24Button from './Button.vue'
98
+
99
+ const props = withDefaults(defineProps<ModalProps>(), {
100
+ close: true,
101
+ portal: true,
102
+ overlay: true,
103
+ transition: true,
104
+ modal: true,
105
+ dismissible: true,
106
+ scrollbarThin: true,
107
+ overlayBlur: 'auto'
108
+ })
109
+ const emits = defineEmits<ModalEmits>()
110
+ const slots = defineSlots<ModalSlots>()
111
+
112
+ const { t } = useLocale()
113
+
114
+ const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
115
+ const contentProps = toRef(() => props.content)
97
116
  const contentEvents = computed(() => {
98
117
  const events = {
99
- closeAutoFocus: (e) => e.preventDefault()
100
- };
118
+ closeAutoFocus: (e: Event) => e.preventDefault()
119
+ }
120
+
101
121
  if (!props.dismissible) {
102
122
  return {
103
- pointerDownOutside: (e) => e.preventDefault(),
104
- interactOutside: (e) => e.preventDefault(),
105
- escapeKeyDown: (e) => e.preventDefault(),
123
+ pointerDownOutside: (e: Event) => e.preventDefault(),
124
+ interactOutside: (e: Event) => e.preventDefault(),
125
+ escapeKeyDown: (e: Event) => e.preventDefault(),
106
126
  ...events
107
- };
127
+ }
108
128
  }
109
- return events;
110
- });
129
+
130
+ return events
131
+ })
132
+
111
133
  const b24ui = computed(() => modal({
112
134
  transition: props.transition,
113
135
  fullscreen: props.fullscreen,
114
136
  overlayBlur: props.overlayBlur
115
- }));
137
+ }))
116
138
  </script>
117
139
 
118
140
  <template>
@@ -125,7 +147,7 @@ const b24ui = computed(() => modal({
125
147
  <DialogOverlay v-if="overlay" :class="b24ui.overlay({ class: props.b24ui?.overlay })" />
126
148
 
127
149
  <DialogContent :class="b24ui.content({ class: [!slots.default && props.class, props.b24ui?.content] })" v-bind="contentProps" @after-leave="emits('after:leave')" v-on="contentEvents">
128
- <VisuallyHidden v-if="!!slots.content && (title || !!slots.title || (description || !!slots.description))">
150
+ <VisuallyHidden v-if="!!slots.content && ((title || !!slots.title) || (description || !!slots.description))">
129
151
  <DialogTitle v-if="title || !!slots.title">
130
152
  <slot name="title">
131
153
  {{ title }}
@@ -164,7 +186,7 @@ const b24ui = computed(() => modal({
164
186
  size="xs"
165
187
  color="link"
166
188
  :aria-label="t('modal.close')"
167
- v-bind="typeof close === 'object' ? close : {}"
189
+ v-bind="(typeof close === 'object' ? close as Partial<ButtonProps> : {})"
168
190
  :class="b24ui.close({ class: props.b24ui?.close })"
169
191
  />
170
192
  </slot>
@@ -1,9 +1,13 @@
1
- <script>
2
-
1
+ <script lang="ts">
2
+ export interface ModalDialogCloseSlots {
3
+ default(props: {}): any
4
+ }
3
5
  </script>
4
6
 
5
- <script setup>
6
- defineSlots();
7
+ <script setup lang="ts">
8
+ import { DialogClose } from 'reka-ui'
9
+
10
+ defineSlots<ModalDialogCloseSlots>()
7
11
  </script>
8
12
 
9
13
  <template>
@@ -1,29 +1,38 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/navbar";
4
- import { tv } from "../utils/tv";
5
- const appConfigNavbar = _appConfig;
6
- const navbar = tv({ extend: tv(theme), ...appConfigNavbar.b24ui?.navbar || {} });
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/navbar'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigNavbar = _appConfig as AppConfig & { b24ui: { navbar: Partial<typeof theme> } }
8
+
9
+ const navbar = tv({ extend: tv(theme), ...(appConfigNavbar.b24ui?.navbar || {}) })
10
+
11
+ export interface NavbarProps {
12
+ /**
13
+ * The element or component this component should render as.
14
+ * @defaultValue 'nav'
15
+ */
16
+ as?: any
17
+ class?: any
18
+ b24ui?: Partial<typeof navbar.slots>
19
+ }
20
+
21
+ export interface NavbarSlots {
22
+ default(props?: {}): any
23
+ }
7
24
  </script>
8
25
 
9
- <script setup>
10
- const props = defineProps({
11
- as: {
12
- type: null,
13
- required: false,
14
- default: "nav"
15
- },
16
- class: {
17
- type: null,
18
- required: false
19
- },
20
- b24ui: {
21
- type: Object,
22
- required: false
23
- }
24
- });
25
- defineSlots();
26
- const b24ui = navbar();
26
+ <script setup lang="ts">
27
+ import { Primitive } from 'reka-ui'
28
+
29
+ const props = withDefaults(defineProps<NavbarProps>(), {
30
+ as: 'nav'
31
+ })
32
+ defineSlots<NavbarSlots>()
33
+
34
+ // eslint-disable-next-line vue/no-dupe-keys
35
+ const b24ui = navbar()
27
36
  </script>
28
37
 
29
38
  <template>
@@ -1,29 +1,38 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/navbar-divider";
4
- import { tv } from "../utils/tv";
5
- const appConfigNavbarDivider = _appConfig;
6
- const navbarDivider = tv({ extend: tv(theme), ...appConfigNavbarDivider.b24ui?.navbarDivider || {} });
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/navbar-divider'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigNavbarDivider = _appConfig as AppConfig & { b24ui: { navbarDivider: Partial<typeof theme> } }
8
+
9
+ const navbarDivider = tv({ extend: tv(theme), ...(appConfigNavbarDivider.b24ui?.navbarDivider || {}) })
10
+
11
+ export interface NavbarDividerProps {
12
+ /**
13
+ * The element or component this component should render as.
14
+ * @defaultValue 'div'
15
+ */
16
+ as?: any
17
+ class?: any
18
+ b24ui?: Partial<typeof navbarDivider.slots>
19
+ }
20
+
21
+ export interface NavbarDividerSlots {
22
+ default(props?: {}): any
23
+ }
7
24
  </script>
8
25
 
9
- <script setup>
10
- const props = defineProps({
11
- as: {
12
- type: null,
13
- required: false,
14
- default: "div"
15
- },
16
- class: {
17
- type: null,
18
- required: false
19
- },
20
- b24ui: {
21
- type: Object,
22
- required: false
23
- }
24
- });
25
- defineSlots();
26
- const b24ui = navbarDivider();
26
+ <script setup lang="ts">
27
+ import { Primitive } from 'reka-ui'
28
+
29
+ const props = withDefaults(defineProps<NavbarDividerProps>(), {
30
+ as: 'div'
31
+ })
32
+ defineSlots<NavbarDividerSlots>()
33
+
34
+ // eslint-disable-next-line vue/no-dupe-keys
35
+ const b24ui = navbarDivider()
27
36
  </script>
28
37
 
29
38
  <template>
@@ -1,29 +1,38 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/navbar-section";
4
- import { tv } from "../utils/tv";
5
- const appConfigNavSection = _appConfig;
6
- const navbarSection = tv({ extend: tv(theme), ...appConfigNavSection.b24ui?.navbarSection || {} });
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/navbar-section'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigNavSection = _appConfig as AppConfig & { b24ui: { navbarSection: Partial<typeof theme> } }
8
+
9
+ const navbarSection = tv({ extend: tv(theme), ...(appConfigNavSection.b24ui?.navbarSection || {}) })
10
+
11
+ export interface NavbarSectionProps {
12
+ /**
13
+ * The element or component this component should render as.
14
+ * @defaultValue 'div'
15
+ */
16
+ as?: any
17
+ class?: any
18
+ b24ui?: Partial<typeof navbarSection.slots>
19
+ }
20
+
21
+ export interface NavbarSectionSlots {
22
+ default(props?: {}): any
23
+ }
7
24
  </script>
8
25
 
9
- <script setup>
10
- const props = defineProps({
11
- as: {
12
- type: null,
13
- required: false,
14
- default: "div"
15
- },
16
- class: {
17
- type: null,
18
- required: false
19
- },
20
- b24ui: {
21
- type: Object,
22
- required: false
23
- }
24
- });
25
- defineSlots();
26
- const b24ui = navbarSection();
26
+ <script setup lang="ts">
27
+ import { Primitive } from 'reka-ui'
28
+
29
+ const props = withDefaults(defineProps<NavbarSectionProps>(), {
30
+ as: 'div'
31
+ })
32
+ defineSlots<NavbarSectionSlots>()
33
+
34
+ // eslint-disable-next-line vue/no-dupe-keys
35
+ const b24ui = navbarSection()
27
36
  </script>
28
37
 
29
38
  <template>
@@ -1,29 +1,38 @@
1
- <script>
2
- import _appConfig from "#build/app.config";
3
- import theme from "#build/b24ui/navbar-spacer";
4
- import { tv } from "../utils/tv";
5
- const appConfigNavbarSpacer = _appConfig;
6
- const navbarSpacer = tv({ extend: tv(theme), ...appConfigNavbarSpacer.b24ui?.navbarSpacer || {} });
1
+ <script lang="ts">
2
+ import type { AppConfig } from '@nuxt/schema'
3
+ import _appConfig from '#build/app.config'
4
+ import theme from '#build/b24ui/navbar-spacer'
5
+ import { tv } from '../utils/tv'
6
+
7
+ const appConfigNavbarSpacer = _appConfig as AppConfig & { b24ui: { navbarSpacer: Partial<typeof theme> } }
8
+
9
+ const navbarSpacer = tv({ extend: tv(theme), ...(appConfigNavbarSpacer.b24ui?.navbarSpacer || {}) })
10
+
11
+ export interface NavbarSpacerProps {
12
+ /**
13
+ * The element or component this component should render as.
14
+ * @defaultValue 'div'
15
+ */
16
+ as?: any
17
+ class?: any
18
+ b24ui?: Partial<typeof navbarSpacer.slots>
19
+ }
20
+
21
+ export interface NavbarSpacerSlots {
22
+ default(props?: {}): any
23
+ }
7
24
  </script>
8
25
 
9
- <script setup>
10
- const props = defineProps({
11
- as: {
12
- type: null,
13
- required: false,
14
- default: "div"
15
- },
16
- class: {
17
- type: null,
18
- required: false
19
- },
20
- b24ui: {
21
- type: Object,
22
- required: false
23
- }
24
- });
25
- defineSlots();
26
- const b24ui = navbarSpacer();
26
+ <script setup lang="ts">
27
+ import { Primitive } from 'reka-ui'
28
+
29
+ const props = withDefaults(defineProps<NavbarSpacerProps>(), {
30
+ as: 'div'
31
+ })
32
+ defineSlots<NavbarSpacerSlots>()
33
+
34
+ // eslint-disable-next-line vue/no-dupe-keys
35
+ const b24ui = navbarSpacer()
27
36
  </script>
28
37
 
29
38
  <template>