@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,137 +1,150 @@
1
- <script lang="ts">
2
- import type { ButtonHTMLAttributes } from 'vue'
3
- import { tv } from 'tailwind-variants'
4
- import type { AppConfig } from '@nuxt/schema'
5
- import _appConfig from '#build/app.config'
6
- import type { RouterLinkProps, RouteLocationRaw } from 'vue-router'
7
- import theme from '#build/b24ui/link'
8
-
9
- interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
10
- /**
11
- * Route Location the link should navigate to when clicked on.
12
- */
13
- to?: RouteLocationRaw // need to manually type to avoid breaking typedPages
14
- /**
15
- * An alias for `to`. If used with `to`, `href` will be ignored
16
- */
17
- href?: NuxtLinkProps['to']
18
- /**
19
- * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
20
- */
21
- external?: boolean
22
- /**
23
- * Where to display the linked URL, as the name for a browsing context.
24
- */
25
- target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null
26
- /**
27
- * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
28
- */
29
- rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null
30
- /**
31
- * If set to true, no rel attribute will be added to the link
32
- */
33
- noRel?: boolean
34
- /**
35
- * A class to apply to links that have been prefetched.
36
- */
37
- prefetchedClass?: string
38
- /**
39
- * When enabled will prefetch middleware, layouts and payloads of links in the viewport.
40
- */
41
- prefetch?: boolean
42
- /**
43
- * Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.
44
- */
45
- prefetchOn?: 'visibility' | 'interaction' | Partial<{
46
- visibility: boolean
47
- interaction: boolean
48
- }>
49
- /**
50
- * Escape hatch to disable `prefetch` attribute.
51
- */
52
- noPrefetch?: boolean
53
- }
54
-
55
- const appConfigLink = _appConfig as AppConfig & { b24ui: { link: Partial<typeof theme> } }
56
-
57
- const link = tv({ extend: tv(theme), ...(appConfigLink.b24ui?.link || {}) })
58
-
59
- export interface LinkProps extends NuxtLinkProps {
60
- /**
61
- * The element or component this component should render as when not a link.
62
- * @defaultValue 'button'
63
- */
64
- as?: any
65
- /**
66
- * The type of the button when not a link.
67
- * @defaultValue 'button'
68
- */
69
- type?: ButtonHTMLAttributes['type']
70
- disabled?: boolean
71
- /** Force the link to be active independent of the current route. */
72
- active?: boolean
73
- /** Will only be active if the current route is an exact match. */
74
- exact?: boolean
75
- /** Will only be active if the current route query is an exact match. */
76
- exactQuery?: boolean | 'partial'
77
- /** Will only be active if the current route hash is an exact match. */
78
- exactHash?: boolean
79
- /** The class to apply when the link is inactive. */
80
- inactiveClass?: string
81
- custom?: boolean
82
- /** When `true`, uses special underlined styling. */
83
- isAction?: boolean
84
- /** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
85
- raw?: boolean
86
- class?: any
87
- }
88
-
89
- export interface LinkSlots {
90
- default(props: { active: boolean }): any
91
- }
1
+ <script>
2
+ import { tv } from "tailwind-variants";
3
+ import _appConfig from "#build/app.config";
4
+ import theme from "#build/b24ui/link";
5
+ const appConfigLink = _appConfig;
6
+ const link = tv({ extend: tv(theme), ...appConfigLink.b24ui?.link || {} });
92
7
  </script>
93
8
 
94
- <script setup lang="ts">
95
- import { computed, getCurrentInstance } from 'vue'
96
- import { isEqual, diff } from 'ohash/utils'
97
- import { useForwardProps } from 'reka-ui'
98
- import { reactiveOmit } from '@vueuse/core'
99
- import { hasProtocol } from 'ufo'
100
- import { useRoute } from '#imports'
101
- import { RouterLink } from 'vue-router'
102
- import B24LinkBase from './../../components/LinkBase.vue'
103
-
104
- defineOptions({ inheritAttrs: false })
105
-
106
- const props = withDefaults(defineProps<LinkProps>(), {
107
- as: 'button',
108
- type: 'button',
109
- ariaCurrentValue: 'page',
110
- active: undefined,
111
- isAction: false,
112
- activeClass: '',
113
- inactiveClass: ''
114
- })
115
- defineSlots<LinkSlots>()
116
-
117
- // Check if vue-router is available by checking for the injection key
9
+ <script setup>
10
+ import { computed, getCurrentInstance } from "vue";
11
+ import { isEqual, diff } from "ohash/utils";
12
+ import { useForwardProps } from "reka-ui";
13
+ import { reactiveOmit } from "@vueuse/core";
14
+ import { hasProtocol } from "ufo";
15
+ import { useRoute } from "#imports";
16
+ defineOptions({ inheritAttrs: false });
17
+ const props = defineProps({
18
+ as: {
19
+ type: null,
20
+ required: false,
21
+ default: "button"
22
+ },
23
+ type: {
24
+ type: null,
25
+ required: false,
26
+ default: "button"
27
+ },
28
+ disabled: {
29
+ type: Boolean,
30
+ required: false
31
+ },
32
+ active: {
33
+ type: Boolean,
34
+ required: false,
35
+ default: void 0
36
+ },
37
+ exact: {
38
+ type: Boolean,
39
+ required: false
40
+ },
41
+ exactQuery: {
42
+ type: [Boolean, String],
43
+ required: false
44
+ },
45
+ exactHash: {
46
+ type: Boolean,
47
+ required: false
48
+ },
49
+ inactiveClass: {
50
+ type: String,
51
+ required: false,
52
+ default: ""
53
+ },
54
+ custom: {
55
+ type: Boolean,
56
+ required: false
57
+ },
58
+ isAction: {
59
+ type: Boolean,
60
+ required: false,
61
+ default: false
62
+ },
63
+ raw: {
64
+ type: Boolean,
65
+ required: false
66
+ },
67
+ class: {
68
+ type: null,
69
+ required: false
70
+ },
71
+ to: {
72
+ type: null,
73
+ required: false
74
+ },
75
+ href: {
76
+ type: null,
77
+ required: false
78
+ },
79
+ external: {
80
+ type: Boolean,
81
+ required: false
82
+ },
83
+ target: {
84
+ type: [String, Object, null],
85
+ required: false
86
+ },
87
+ rel: {
88
+ type: [String, Object, null],
89
+ required: false
90
+ },
91
+ noRel: {
92
+ type: Boolean,
93
+ required: false
94
+ },
95
+ prefetchedClass: {
96
+ type: String,
97
+ required: false
98
+ },
99
+ prefetch: {
100
+ type: Boolean,
101
+ required: false
102
+ },
103
+ prefetchOn: {
104
+ type: [String, Object],
105
+ required: false
106
+ },
107
+ noPrefetch: {
108
+ type: Boolean,
109
+ required: false
110
+ },
111
+ activeClass: {
112
+ type: String,
113
+ required: false,
114
+ default: ""
115
+ },
116
+ exactActiveClass: {
117
+ type: String,
118
+ required: false
119
+ },
120
+ ariaCurrentValue: {
121
+ type: String,
122
+ required: false,
123
+ default: "page"
124
+ },
125
+ viewTransition: {
126
+ type: Boolean,
127
+ required: false
128
+ },
129
+ replace: {
130
+ type: Boolean,
131
+ required: false
132
+ }
133
+ });
134
+ defineSlots();
118
135
  const hasRouter = computed(() => {
119
- const app = getCurrentInstance()?.appContext.app
120
- return !!(app?.config?.globalProperties?.$router)
121
- })
122
-
123
- // Only try to get route if router exists
136
+ const app = getCurrentInstance()?.appContext.app;
137
+ return !!app?.config?.globalProperties?.$router;
138
+ });
124
139
  const route = computed(() => {
125
- if (!hasRouter.value) return null
140
+ if (!hasRouter.value) return null;
126
141
  try {
127
- return useRoute()
142
+ return useRoute();
128
143
  } catch {
129
- return null
144
+ return null;
130
145
  }
131
- })
132
-
133
- const routerLinkProps = useForwardProps(reactiveOmit(props, 'as', 'type', 'disabled', 'active', 'exact', 'exactQuery', 'exactHash', 'activeClass', 'inactiveClass', 'to', 'raw', 'class'))
134
-
146
+ });
147
+ const routerLinkProps = useForwardProps(reactiveOmit(props, "as", "type", "disabled", "active", "exact", "exactQuery", "exactHash", "activeClass", "inactiveClass", "to", "raw", "class"));
135
148
  const b24ui = computed(() => tv({
136
149
  extend: link,
137
150
  variants: {
@@ -140,70 +153,56 @@ const b24ui = computed(() => tv({
140
153
  false: props.inactiveClass
141
154
  }
142
155
  }
143
- }))
144
-
145
- function isPartiallyEqual(item1: any, item2: any) {
156
+ }));
157
+ function isPartiallyEqual(item1, item2) {
146
158
  const diffedKeys = diff(item1, item2).reduce((filtered, q) => {
147
- if (q.type === 'added') {
148
- filtered.add(q.key)
159
+ if (q.type === "added") {
160
+ filtered.add(q.key);
149
161
  }
150
- return filtered
151
- }, new Set<string>())
152
-
153
- const item1Filtered = Object.fromEntries(Object.entries(item1).filter(([key]) => !diffedKeys.has(key)))
154
- const item2Filtered = Object.fromEntries(Object.entries(item2).filter(([key]) => !diffedKeys.has(key)))
155
-
156
- return isEqual(item1Filtered, item2Filtered)
162
+ return filtered;
163
+ }, /* @__PURE__ */ new Set());
164
+ const item1Filtered = Object.fromEntries(Object.entries(item1).filter(([key]) => !diffedKeys.has(key)));
165
+ const item2Filtered = Object.fromEntries(Object.entries(item2).filter(([key]) => !diffedKeys.has(key)));
166
+ return isEqual(item1Filtered, item2Filtered);
157
167
  }
158
-
159
168
  const isExternal = computed(() => {
160
- if (!props.to) return false
161
- return typeof props.to === 'string' && hasProtocol(props.to, { acceptRelative: true })
162
- })
163
-
164
- function isLinkActive({ route: linkRoute, isActive, isExactActive }: any) {
165
- if (props.active !== undefined) {
166
- return props.active
169
+ if (!props.to) return false;
170
+ return typeof props.to === "string" && hasProtocol(props.to, { acceptRelative: true });
171
+ });
172
+ function isLinkActive({ route: linkRoute, isActive, isExactActive }) {
173
+ if (props.active !== void 0) {
174
+ return props.active;
167
175
  }
168
-
169
176
  if (!props.to || !route.value) {
170
- return false
177
+ return false;
171
178
  }
172
-
173
- if (props.exactQuery === 'partial') {
174
- if (!isPartiallyEqual(linkRoute.query, route.value.query)) return false
179
+ if (props.exactQuery === "partial") {
180
+ if (!isPartiallyEqual(linkRoute.query, route.value.query)) return false;
175
181
  } else if (props.exactQuery === true) {
176
- if (!isEqual(linkRoute.query, route.value.query)) return false
182
+ if (!isEqual(linkRoute.query, route.value.query)) return false;
177
183
  }
178
-
179
184
  if (props.exactHash && linkRoute.hash !== route.value.hash) {
180
- return false
185
+ return false;
181
186
  }
182
-
183
187
  if (props.exact && isExactActive) {
184
- return true
188
+ return true;
185
189
  }
186
-
187
190
  if (!props.exact && isActive) {
188
- return true
191
+ return true;
189
192
  }
190
-
191
- return false
193
+ return false;
192
194
  }
193
-
194
- function resolveLinkClass({ route, isActive, isExactActive }: any = {}) {
195
- const active = isLinkActive({ route, isActive, isExactActive })
196
-
195
+ function resolveLinkClass({ route: route2, isActive, isExactActive } = {}) {
196
+ const active = isLinkActive({ route: route2, isActive, isExactActive });
197
197
  if (props.raw) {
198
- return [props.class, active ? props.activeClass : props.inactiveClass]
198
+ return [props.class, active ? props.activeClass : props.inactiveClass];
199
199
  }
200
-
201
200
  return b24ui.value({
202
201
  class: props.class,
203
202
  active,
204
203
  disabled: props.disabled,
205
204
  isAction: Boolean(props.isAction)
206
- })
205
+ });
207
206
  }
208
207
  </script>
209
208
 
@@ -213,30 +212,30 @@ function resolveLinkClass({ route, isActive, isExactActive }: any = {}) {
213
212
  <template v-if="custom">
214
213
  <slot
215
214
  v-bind="{
216
- ...$attrs,
217
- ...(exact && isExactActive ? { 'aria-current': props.ariaCurrentValue } : {}),
218
- as,
219
- type,
220
- disabled,
221
- target: props.target ? props.target : undefined,
222
- href: to ? href : undefined,
223
- navigate,
224
- active: isLinkActive({ route: linkRoute, isActive, isExactActive })
225
- }"
215
+ ...$attrs,
216
+ ...exact && isExactActive ? { 'aria-current': props.ariaCurrentValue } : {},
217
+ as,
218
+ type,
219
+ disabled,
220
+ target: props.target ? props.target : void 0,
221
+ href: to ? href : void 0,
222
+ navigate,
223
+ active: isLinkActive({ route: linkRoute, isActive, isExactActive })
224
+ }"
226
225
  />
227
226
  </template>
228
227
  <B24LinkBase
229
228
  v-else
230
229
  v-bind="{
231
- ...$attrs,
232
- ...(exact && isExactActive ? { 'aria-current': props.ariaCurrentValue } : {}),
233
- as,
234
- type,
235
- disabled,
236
- href: to ? href : undefined,
237
- navigate
238
- }"
239
- :class="resolveLinkClass({ route: linkRoute, isActive: isActive, isExactActive: isExactActive })"
230
+ ...$attrs,
231
+ ...exact && isExactActive ? { 'aria-current': props.ariaCurrentValue } : {},
232
+ as,
233
+ type,
234
+ disabled,
235
+ href: to ? href : void 0,
236
+ navigate
237
+ }"
238
+ :class="resolveLinkClass({ route: linkRoute, isActive, isExactActive })"
240
239
  >
241
240
  <slot :active="isLinkActive({ route: linkRoute, isActive, isExactActive })" />
242
241
  </B24LinkBase>
@@ -247,26 +246,26 @@ function resolveLinkClass({ route, isActive, isExactActive }: any = {}) {
247
246
  <template v-if="custom">
248
247
  <slot
249
248
  v-bind="{
250
- ...$attrs,
251
- as,
252
- type,
253
- disabled,
254
- href: to,
255
- target: isExternal ? '_blank' : undefined,
256
- active: props?.active || false
257
- }"
249
+ ...$attrs,
250
+ as,
251
+ type,
252
+ disabled,
253
+ href: to,
254
+ target: isExternal ? '_blank' : void 0,
255
+ active: props?.active || false
256
+ }"
258
257
  />
259
258
  </template>
260
259
  <B24LinkBase
261
260
  v-else
262
261
  v-bind="{
263
- ...$attrs,
264
- as,
265
- type,
266
- disabled,
267
- href: (to as string),
268
- target: isExternal ? '_blank' : undefined
269
- }"
262
+ ...$attrs,
263
+ as,
264
+ type,
265
+ disabled,
266
+ href: to,
267
+ target: isExternal ? '_blank' : void 0
268
+ }"
270
269
  :is-external="isExternal"
271
270
  :class="resolveLinkClass()"
272
271
  >
@@ -0,0 +1,129 @@
1
+ import type { ButtonHTMLAttributes } from 'vue';
2
+ import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
3
+ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
4
+ /**
5
+ * Route Location the link should navigate to when clicked on.
6
+ */
7
+ to?: RouteLocationRaw;
8
+ /**
9
+ * An alias for `to`. If used with `to`, `href` will be ignored
10
+ */
11
+ href?: NuxtLinkProps['to'];
12
+ /**
13
+ * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
14
+ */
15
+ external?: boolean;
16
+ /**
17
+ * Where to display the linked URL, as the name for a browsing context.
18
+ */
19
+ target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
20
+ /**
21
+ * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
22
+ */
23
+ rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
24
+ /**
25
+ * If set to true, no rel attribute will be added to the link
26
+ */
27
+ noRel?: boolean;
28
+ /**
29
+ * A class to apply to links that have been prefetched.
30
+ */
31
+ prefetchedClass?: string;
32
+ /**
33
+ * When enabled will prefetch middleware, layouts and payloads of links in the viewport.
34
+ */
35
+ prefetch?: boolean;
36
+ /**
37
+ * Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.
38
+ */
39
+ prefetchOn?: 'visibility' | 'interaction' | Partial<{
40
+ visibility: boolean;
41
+ interaction: boolean;
42
+ }>;
43
+ /**
44
+ * Escape hatch to disable `prefetch` attribute.
45
+ */
46
+ noPrefetch?: boolean;
47
+ }
48
+ export interface LinkProps extends NuxtLinkProps {
49
+ /**
50
+ * The element or component this component should render as when not a link.
51
+ * @defaultValue 'button'
52
+ */
53
+ as?: any;
54
+ /**
55
+ * The type of the button when not a link.
56
+ * @defaultValue 'button'
57
+ */
58
+ type?: ButtonHTMLAttributes['type'];
59
+ disabled?: boolean;
60
+ /** Force the link to be active independent of the current route. */
61
+ active?: boolean;
62
+ /** Will only be active if the current route is an exact match. */
63
+ exact?: boolean;
64
+ /** Will only be active if the current route query is an exact match. */
65
+ exactQuery?: boolean | 'partial';
66
+ /** Will only be active if the current route hash is an exact match. */
67
+ exactHash?: boolean;
68
+ /** The class to apply when the link is inactive. */
69
+ inactiveClass?: string;
70
+ custom?: boolean;
71
+ /** When `true`, uses special underlined styling. */
72
+ isAction?: boolean;
73
+ /** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
74
+ raw?: boolean;
75
+ class?: any;
76
+ }
77
+ export interface LinkSlots {
78
+ default(props: {
79
+ active: boolean;
80
+ }): any;
81
+ }
82
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LinkProps>, {
83
+ as: string;
84
+ type: string;
85
+ ariaCurrentValue: string;
86
+ active: undefined;
87
+ isAction: boolean;
88
+ activeClass: string;
89
+ inactiveClass: string;
90
+ }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<LinkProps>, {
91
+ as: string;
92
+ type: string;
93
+ ariaCurrentValue: string;
94
+ active: undefined;
95
+ isAction: boolean;
96
+ activeClass: string;
97
+ inactiveClass: string;
98
+ }>>> & Readonly<{}>, {
99
+ as: any;
100
+ type: "reset" | "submit" | "button";
101
+ activeClass: string;
102
+ ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
103
+ active: boolean;
104
+ inactiveClass: string;
105
+ isAction: boolean;
106
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<LinkSlots> & LinkSlots>;
107
+ export default _default;
108
+ type __VLS_WithDefaults<P, D> = {
109
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
110
+ default: D[K];
111
+ }> : P[K];
112
+ };
113
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
114
+ type __VLS_TypePropsToOption<T> = {
115
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
116
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
117
+ } : {
118
+ type: import('vue').PropType<T[K]>;
119
+ required: true;
120
+ };
121
+ };
122
+ type __VLS_WithTemplateSlots<T, S> = T & {
123
+ new (): {
124
+ $slots: S;
125
+ };
126
+ };
127
+ type __VLS_PrettifyLocal<T> = {
128
+ [K in keyof T]: T[K];
129
+ } & {};
@@ -9,10 +9,10 @@ export { useConfetti } from '../composables/useConfetti';
9
9
  export { useOverlay } from '../composables/useOverlay';
10
10
  export declare const useColorMode: () => {
11
11
  forced: boolean;
12
- preference?: "light" | "dark" | "system";
13
- readonly value?: import("@vueuse/core").BasicColorMode;
12
+ preference?: undefined;
13
+ readonly value?: undefined;
14
14
  } | {
15
- preference: "light" | "dark" | "system";
15
+ preference: "dark" | "light" | "system";
16
16
  readonly value: import("@vueuse/core").BasicColorMode;
17
17
  forced: boolean;
18
18
  };
@@ -3573,6 +3573,7 @@ const navigationMenu = {
3573
3573
  "z-[1]"
3574
3574
  ].join(" "),
3575
3575
  content: "absolute top-0 left-0 w-full",
3576
+ // sm:w-auto
3576
3577
  indicator: [
3577
3578
  "absolute",
3578
3579
  "motion-safe:data-[state=visible]:animate-[fade-in_100ms_ease-out] motion-safe:data-[state=hidden]:animate-[fade-out_100ms_ease-in]",
@@ -3669,7 +3670,7 @@ const navigationMenu = {
3669
3670
  },
3670
3671
  contentOrientation: {
3671
3672
  horizontal: {
3672
- viewport: "",
3673
+ // viewport: '',
3673
3674
  viewportWrapper: "justify-center",
3674
3675
  content: "motion-safe:data-[motion=from-start]:animate-[enter-from-left_200ms_ease] motion-safe:data-[motion=from-end]:animate-[enter-from-right_200ms_ease] motion-safe:data-[motion=to-start]:animate-[exit-to-left_200ms_ease] motion-safe:data-[motion=to-end]:animate-[exit-to-right_200ms_ease]",
3675
3676
  childLinkLabelExternalIcon: [
@@ -3681,7 +3682,7 @@ const navigationMenu = {
3681
3682
  "w-(--reka-navigation-menu-viewport-width) left-(--reka-navigation-menu-viewport-left)",
3682
3683
  "[&:has(>[data-viewport=rtl])]:left-auto [&:has(>[data-viewport=rtl])]:-right-[calc(100%-var(--reka-navigation-menu-viewport-width))]"
3683
3684
  ].join(" "),
3684
- content: "",
3685
+ // content: '',
3685
3686
  childLinkLabel: [
3686
3687
  "text-md",
3687
3688
  "text-base-950 dark:text-base-50"
@@ -4611,7 +4612,7 @@ const popover = {
4611
4612
  "motion-safe:data-[state=open]:animate-[scale-in_100ms_ease-out] motion-safe:data-[state=closed]:animate-[scale-out_100ms_ease-in]",
4612
4613
  "focus:outline-none pointer-events-auto"
4613
4614
  ].join(" "),
4614
- arrow: "fill-white dark:fill-base-dark stroke-base-300 dark:stroke-base-300"
4615
+ arrow: "fill-white dark:fill-base-dark stroke-base-300 dark:stroke-base-800"
4615
4616
  }
4616
4617
  };
4617
4618
 
package/dist/types.d.mts CHANGED
@@ -1,7 +1,5 @@
1
- import type { NuxtModule } from '@nuxt/schema'
1
+ export { default } from './module.mjs'
2
2
 
3
- import type { default as Module } from './module.js'
3
+ export { type ModuleOptions } from './module.mjs'
4
4
 
5
- export type ModuleOptions = typeof Module extends NuxtModule<infer O> ? Partial<O> : Record<string, any>
6
-
7
- export { default } from './module.js'
5
+ export * from '../dist/runtime/types/index.js'
package/dist/unplugin.mjs CHANGED
@@ -3,7 +3,7 @@ import { join, normalize } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { g as getTemplates, d as defaultOptions, a as getDefaultUiConfig } from './shared/b24ui-nuxt.C1lGF53R.mjs';
6
+ import { g as getTemplates, d as defaultOptions, a as getDefaultUiConfig } from './shared/b24ui-nuxt.CS9Lf0os.mjs';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { genSafeVariableName } from 'knitwork';
9
9
  import MagicString from 'magic-string';
package/dist/vite.mjs CHANGED
@@ -4,7 +4,7 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/b24ui-nuxt.C1lGF53R.mjs';
7
+ import './shared/b24ui-nuxt.CS9Lf0os.mjs';
8
8
  import 'scule';
9
9
  import '@nuxt/kit';
10
10
  import 'tinyglobby';