@xleddyl/443-components-vue 0.2.3 → 0.4.0

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 (236) hide show
  1. package/README.md +106 -19
  2. package/dist/chart/BarChart.vue.d.ts +2 -2
  3. package/dist/chart/ChartLegend.vue.d.ts +4 -4
  4. package/dist/chart/ChartPanel.vue.d.ts +2 -2
  5. package/dist/chart/ChartSummary.vue.d.ts +2 -2
  6. package/dist/chart/DoughnutChart.vue.d.ts +2 -2
  7. package/dist/chart/LineChart.vue.d.ts +2 -2
  8. package/dist/components/core/Button.vue.d.ts +2 -2
  9. package/dist/components/core/FieldBoundary.vue +14 -0
  10. package/dist/components/core/FieldBoundary.vue.d.ts +15 -0
  11. package/dist/components/core/FieldMessage.vue +28 -0
  12. package/dist/components/core/FieldMessage.vue.d.ts +409 -0
  13. package/dist/components/core/Form.vue +109 -11
  14. package/dist/components/core/Form.vue.d.ts +45 -6
  15. package/dist/components/core/FormAlerts.vue +30 -0
  16. package/dist/components/core/FormAlerts.vue.d.ts +393 -0
  17. package/dist/components/core/FormField.vue +54 -17
  18. package/dist/components/core/FormField.vue.d.ts +5 -4
  19. package/dist/components/core/Icon.vue.d.ts +2 -2
  20. package/dist/components/core/Input.vue.d.ts +4 -4
  21. package/dist/components/core/Kbd.vue.d.ts +2 -2
  22. package/dist/components/core/Root.vue.d.ts +6 -6
  23. package/dist/components/core/Spinner.vue +13 -1
  24. package/dist/components/core/Spinner.vue.d.ts +4 -2
  25. package/dist/components/core/Textarea.vue.d.ts +4 -4
  26. package/dist/components/core/VisuallyHidden.vue.d.ts +6 -6
  27. package/dist/components/core/index.d.ts +3 -0
  28. package/dist/components/core/index.mjs +3 -0
  29. package/dist/components/data/Avatar.vue.d.ts +2 -2
  30. package/dist/components/data/AvatarGroup.vue.d.ts +2 -2
  31. package/dist/components/data/Badge.vue.d.ts +2 -2
  32. package/dist/components/data/DescriptionList.vue.d.ts +2 -2
  33. package/dist/components/data/FilterPill.vue +35 -0
  34. package/dist/components/data/FilterPill.vue.d.ts +445 -0
  35. package/dist/components/data/FilterPills.vue +100 -27
  36. package/dist/components/data/FilterPills.vue.d.ts +47 -411
  37. package/dist/components/data/Pagination.vue.d.ts +4 -4
  38. package/dist/components/data/SelectionBar.vue +81 -0
  39. package/dist/components/data/SelectionBar.vue.d.ts +427 -0
  40. package/dist/components/data/Stat.vue.d.ts +8 -8
  41. package/dist/components/data/Tag.vue.d.ts +4 -4
  42. package/dist/components/data/Timeline.vue.d.ts +2 -2
  43. package/dist/components/data/Tree.vue +245 -21
  44. package/dist/components/data/Tree.vue.d.ts +40 -10
  45. package/dist/components/data/index.d.ts +3 -0
  46. package/dist/components/data/index.mjs +3 -0
  47. package/dist/components/data/types.d.ts +26 -2
  48. package/dist/components/feedback/Alert.vue.d.ts +18 -18
  49. package/dist/components/feedback/EmptyState.vue.d.ts +2 -2
  50. package/dist/components/feedback/LoadingOverlay.vue.d.ts +2 -2
  51. package/dist/components/feedback/Meter.vue.d.ts +2 -2
  52. package/dist/components/feedback/Progress.vue.d.ts +2 -2
  53. package/dist/components/feedback/ProgressRing.vue.d.ts +2 -2
  54. package/dist/components/feedback/Skeleton.vue.d.ts +3 -3
  55. package/dist/components/forms/Calendar.vue.d.ts +4 -4
  56. package/dist/components/forms/CheckboxGroup.vue +2 -1
  57. package/dist/components/forms/ColorInput.vue.d.ts +6 -6
  58. package/dist/components/forms/DateInput.vue.d.ts +14 -14
  59. package/dist/components/forms/DatePicker.vue.d.ts +6 -6
  60. package/dist/components/forms/FileInput.vue +160 -34
  61. package/dist/components/forms/FileInput.vue.d.ts +43 -15
  62. package/dist/components/forms/InputAddon.vue.d.ts +2 -2
  63. package/dist/components/forms/InputGroup.vue.d.ts +2 -2
  64. package/dist/components/forms/NumberInput.vue.d.ts +6 -6
  65. package/dist/components/forms/PasswordInput.vue.d.ts +16 -16
  66. package/dist/components/forms/PinInput.vue.d.ts +6 -6
  67. package/dist/components/forms/Radio.vue.d.ts +2 -2
  68. package/dist/components/forms/RadioGroup.vue +2 -1
  69. package/dist/components/forms/SegmentedControl.vue +33 -8
  70. package/dist/components/forms/SegmentedControl.vue.d.ts +15 -7
  71. package/dist/components/forms/Slider.vue.d.ts +6 -6
  72. package/dist/components/forms/Switch.vue.d.ts +6 -6
  73. package/dist/components/forms/TimeInput.vue.d.ts +16 -16
  74. package/dist/components/forms/types.d.ts +17 -0
  75. package/dist/components/layout/Accordion.vue +25 -5
  76. package/dist/components/layout/Accordion.vue.d.ts +11 -8
  77. package/dist/components/layout/AppShell.vue +1 -1
  78. package/dist/components/layout/AppShell.vue.d.ts +7 -7
  79. package/dist/components/layout/Breadcrumbs.vue +28 -20
  80. package/dist/components/layout/Breadcrumbs.vue.d.ts +18 -3
  81. package/dist/components/layout/Card.vue +22 -3
  82. package/dist/components/layout/Card.vue.d.ts +10 -4
  83. package/dist/components/layout/CopyButton.vue.d.ts +4 -4
  84. package/dist/components/layout/Grid.vue.d.ts +2 -2
  85. package/dist/components/layout/NavLink.vue.d.ts +8 -8
  86. package/dist/components/layout/PageHeader.vue +10 -1
  87. package/dist/components/layout/PageHeader.vue.d.ts +17 -9
  88. package/dist/components/layout/Separator.vue.d.ts +2 -2
  89. package/dist/components/layout/Sidebar.vue.d.ts +2 -2
  90. package/dist/components/layout/SidebarSection.vue.d.ts +2 -2
  91. package/dist/components/layout/Stack.vue.d.ts +6 -6
  92. package/dist/components/layout/Tabs.vue +37 -7
  93. package/dist/components/layout/Tabs.vue.d.ts +11 -4
  94. package/dist/components/layout/ThemeSwitch.vue.d.ts +2 -2
  95. package/dist/components/layout/Toolbar.vue.d.ts +2 -2
  96. package/dist/components/layout/types.d.ts +8 -1
  97. package/dist/components/overlays/CommandPalette.vue +35 -8
  98. package/dist/components/overlays/CommandPalette.vue.d.ts +273 -497
  99. package/dist/components/overlays/ConfirmDialog.vue.d.ts +8 -6
  100. package/dist/components/overlays/ConfirmHost.vue +5 -1
  101. package/dist/components/overlays/ConfirmHost.vue.d.ts +10 -8
  102. package/dist/components/overlays/ContextMenu.vue.d.ts +4 -4
  103. package/dist/components/overlays/Drawer.vue +4 -2
  104. package/dist/components/overlays/Drawer.vue.d.ts +8 -6
  105. package/dist/components/overlays/DropdownMenu.vue.d.ts +2 -2
  106. package/dist/components/overlays/HoverCard.vue +2 -1
  107. package/dist/components/overlays/HoverCard.vue.d.ts +8 -8
  108. package/dist/components/overlays/Modal.vue +5 -3
  109. package/dist/components/overlays/Modal.vue.d.ts +8 -6
  110. package/dist/components/overlays/Popover.vue +2 -1
  111. package/dist/components/overlays/Popover.vue.d.ts +8 -8
  112. package/dist/components/overlays/Toaster.vue.d.ts +4 -4
  113. package/dist/components/overlays/Tooltip.vue.d.ts +2 -2
  114. package/dist/components/overlays/types.d.ts +11 -5
  115. package/dist/components/templates/AccountMenu.vue.d.ts +6 -6
  116. package/dist/components/templates/AppearanceSettings.vue.d.ts +2 -2
  117. package/dist/components/templates/AuthLayout.vue.d.ts +2 -2
  118. package/dist/components/templates/Brand.vue +34 -5
  119. package/dist/components/templates/Brand.vue.d.ts +20 -15
  120. package/dist/components/templates/DashboardLayout.vue +49 -10
  121. package/dist/components/templates/DashboardLayout.vue.d.ts +332 -553
  122. package/dist/components/templates/DashboardPage.vue.d.ts +2 -2
  123. package/dist/components/templates/DetailPage.vue.d.ts +4 -4
  124. package/dist/components/templates/EmptyPage.vue.d.ts +2 -2
  125. package/dist/components/templates/ErrorPage.vue.d.ts +2 -2
  126. package/dist/components/templates/ListPage.vue +17 -11
  127. package/dist/components/templates/ListPage.vue.d.ts +3 -3
  128. package/dist/components/templates/NotFoundPage.vue.d.ts +1 -1
  129. package/dist/components/templates/SaveBar.vue.d.ts +4 -4
  130. package/dist/components/templates/SettingsGroup.vue.d.ts +2 -2
  131. package/dist/components/templates/SettingsModal.vue +5 -2
  132. package/dist/components/templates/SettingsModal.vue.d.ts +13 -8
  133. package/dist/components/templates/SettingsPage.vue.d.ts +4 -4
  134. package/dist/components/templates/SettingsSection.vue.d.ts +12 -8
  135. package/dist/components/templates/types.d.ts +25 -2
  136. package/dist/composables/core.d.ts +1 -0
  137. package/dist/composables/core.mjs +1 -0
  138. package/dist/composables/useField.d.ts +8 -1
  139. package/dist/composables/useField.mjs +41 -10
  140. package/dist/composables/useFieldBoundary.d.ts +2 -0
  141. package/dist/composables/useFieldBoundary.mjs +9 -0
  142. package/dist/composables/useFileDrop.d.ts +20 -0
  143. package/dist/composables/useFileDrop.mjs +115 -7
  144. package/dist/composables/useForm.d.ts +36 -19
  145. package/dist/composables/useForm.mjs +258 -51
  146. package/dist/editor/RichTextEditor.vue +32 -4
  147. package/dist/editor/RichTextEditor.vue.d.ts +11 -6
  148. package/dist/editor/rich-text-editor.css +1 -1
  149. package/dist/editor/types.d.ts +3 -0
  150. package/dist/grid/GridToolbar.vue.d.ts +4 -4
  151. package/dist/grid/cells/BadgeCell.vue.d.ts +2 -2
  152. package/dist/grid/cells/BooleanCell.vue.d.ts +2 -2
  153. package/dist/grid/cells/DateCell.vue.d.ts +2 -2
  154. package/dist/grid/cells/ImageCell.vue.d.ts +2 -2
  155. package/dist/grid/cells/LinkCell.vue.d.ts +2 -2
  156. package/dist/internal/core/ButtonElement.d.ts +2 -0
  157. package/dist/internal/core/ButtonElement.mjs +8 -0
  158. package/dist/internal/data/tree.d.ts +8 -0
  159. package/dist/internal/data/tree.mjs +41 -0
  160. package/dist/internal/forms/files.d.ts +9 -0
  161. package/dist/internal/forms/files.mjs +32 -1
  162. package/dist/internal/forms/standard-schema.d.ts +17 -0
  163. package/dist/internal/forms/standard-schema.mjs +40 -0
  164. package/dist/internal/keys.d.ts +2 -1
  165. package/dist/internal/keys.mjs +1 -0
  166. package/dist/internal/overlays/DialogFrame.vue +17 -7
  167. package/dist/internal/overlays/DialogFrame.vue.d.ts +9 -5
  168. package/dist/internal/overlays/MenuList.vue +2 -0
  169. package/dist/internal/overlays/MenuList.vue.d.ts +5 -5
  170. package/dist/internal/overlays/OverlayView.vue +2 -0
  171. package/dist/internal/overlays/OverlayView.vue.d.ts +14 -12
  172. package/dist/internal/overlays/dialog.d.ts +4 -1
  173. package/dist/internal/overlays/dialog.mjs +39 -5
  174. package/dist/internal/overlays/stack.d.ts +2 -1
  175. package/dist/locale/en.mjs +19 -2
  176. package/dist/locale/it.mjs +19 -2
  177. package/dist/locale/types.d.ts +17 -0
  178. package/dist/nuxt/module.d.ts +1 -0
  179. package/dist/nuxt/module.mjs +6 -3
  180. package/dist/nuxt/runtime/layouts/auth.vue.d.ts +8 -8
  181. package/dist/nuxt/runtime/layouts/dashboard.vue.d.ts +8 -8
  182. package/dist/styles/base.css +2 -0
  183. package/dist/styles/core/button.css +1 -13
  184. package/dist/styles/core/field-message.css +34 -0
  185. package/dist/styles/core/form-field.css +0 -23
  186. package/dist/styles/core/form.css +11 -0
  187. package/dist/styles/core/kbd.css +2 -2
  188. package/dist/styles/core/spinner.css +19 -0
  189. package/dist/styles/core.css +1 -0
  190. package/dist/styles/data/avatar.css +1 -1
  191. package/dist/styles/data/badge.css +1 -1
  192. package/dist/styles/data/filter-pills.css +40 -4
  193. package/dist/styles/data/pagination.css +0 -1
  194. package/dist/styles/data/selection-bar.css +89 -0
  195. package/dist/styles/data/stat.css +1 -6
  196. package/dist/styles/data/table.css +1 -3
  197. package/dist/styles/data/tag.css +1 -4
  198. package/dist/styles/data/tree.css +163 -2
  199. package/dist/styles/data.css +1 -0
  200. package/dist/styles/feedback/alert.css +0 -1
  201. package/dist/styles/feedback/empty-state.css +0 -1
  202. package/dist/styles/forms/calendar.css +1 -1
  203. package/dist/styles/forms/color-input.css +1 -1
  204. package/dist/styles/forms/combobox.css +0 -1
  205. package/dist/styles/forms/date-picker.css +1 -1
  206. package/dist/styles/forms/file-input.css +17 -1
  207. package/dist/styles/forms/number-input.css +1 -1
  208. package/dist/styles/forms/password-input.css +1 -5
  209. package/dist/styles/forms/segmented.css +8 -0
  210. package/dist/styles/forms/select.css +1 -1
  211. package/dist/styles/forms/slider.css +2 -2
  212. package/dist/styles/forms/switch.css +0 -1
  213. package/dist/styles/layout/accordion.css +22 -1
  214. package/dist/styles/layout/app-shell.css +4 -0
  215. package/dist/styles/layout/breadcrumbs.css +16 -1
  216. package/dist/styles/layout/card.css +20 -6
  217. package/dist/styles/layout/copy-button.css +2 -2
  218. package/dist/styles/layout/nav-link.css +2 -3
  219. package/dist/styles/layout/sidebar-nav.css +1 -1
  220. package/dist/styles/layout/sidebar.css +2 -2
  221. package/dist/styles/layout/tabs.css +65 -3
  222. package/dist/styles/layout/theme-switch.css +1 -3
  223. package/dist/styles/overlays/command.css +21 -3
  224. package/dist/styles/overlays/confirm.css +0 -1
  225. package/dist/styles/overlays/menu.css +3 -5
  226. package/dist/styles/overlays/modal.css +38 -0
  227. package/dist/styles/overlays/toast.css +0 -1
  228. package/dist/styles/templates/auth-layout.css +0 -1
  229. package/dist/styles/templates/brand.css +15 -0
  230. package/dist/styles/templates/empty-page.css +4 -4
  231. package/dist/styles/templates/form-page.css +1 -1
  232. package/dist/styles/templates/list-page.css +2 -6
  233. package/dist/styles/templates/page.css +1 -1
  234. package/dist/styles/templates/settings-modal.css +2 -3
  235. package/dist/styles/tokens.css +1 -1
  236. package/package.json +1 -1
@@ -1,5 +1,8 @@
1
1
  <template>
2
- <div class="k-accordion" :class="`k-accordion-${variant}`">
2
+ <div
3
+ class="k-accordion"
4
+ :class="[`k-accordion-${variant}`, { 'is-neutral': contentVariant === 'neutral' }]"
5
+ >
3
6
  <div
4
7
  v-for="(item, index) in items"
5
8
  :key="valueOf(item, index)"
@@ -13,15 +16,25 @@
13
16
  class="k-accordion-trigger"
14
17
  :aria-expanded="isOpen(item, index) ? 'true' : 'false'"
15
18
  :aria-controls="panelId(index)"
19
+ :aria-labelledby="item.description ? titleId(index) : void 0"
20
+ :aria-describedby="item.description ? descriptionId(index) : void 0"
16
21
  :aria-disabled="lockedOpen(item, index) ? 'true' : void 0"
17
22
  :disabled="item.disabled"
18
23
  @click="toggle(item, index)"
19
24
  >
20
25
  <Icon v-if="item.icon" :name="item.icon" class="k-accordion-icon" />
21
26
  <span class="k-accordion-title">
22
- <slot name="title" :item="item" :open="isOpen(item, index)">{{
23
- item.title
24
- }}</slot>
27
+ <span :id="titleId(index)" class="k-accordion-title-text">
28
+ <slot name="title" :item="item" :open="isOpen(item, index)">{{
29
+ item.title
30
+ }}</slot>
31
+ </span>
32
+ <span
33
+ v-if="item.description"
34
+ :id="descriptionId(index)"
35
+ class="k-accordion-description"
36
+ >{{ item.description }}</span
37
+ >
25
38
  </span>
26
39
  <Icon name="chevron-down" class="k-accordion-chevron" />
27
40
  </button>
@@ -52,7 +65,8 @@ const props = defineProps({
52
65
  multiple: { type: Boolean, required: false },
53
66
  collapsible: { type: Boolean, required: false, default: true },
54
67
  level: { type: Number, required: false, default: 3 },
55
- variant: { type: String, required: false, default: "card" }
68
+ variant: { type: String, required: false, default: "card" },
69
+ contentVariant: { type: String, required: false, default: "text" }
56
70
  });
57
71
  const model = defineModel({ type: [String, Number, Array, null], ...{ default: null } });
58
72
  const baseId = useId();
@@ -66,6 +80,12 @@ function valueOf(item, index) {
66
80
  function triggerId(index) {
67
81
  return `${baseId}-trigger-${index}`;
68
82
  }
83
+ function titleId(index) {
84
+ return `${baseId}-title-${index}`;
85
+ }
86
+ function descriptionId(index) {
87
+ return `${baseId}-description-${index}`;
88
+ }
69
89
  function panelId(index) {
70
90
  return `${baseId}-panel-${index}`;
71
91
  }
@@ -1,4 +1,4 @@
1
- import type { AccordionItem, HeadingLevel } from './types';
1
+ import type { AccordionContentVariant, AccordionItem, AccordionVariant, HeadingLevel } from './types';
2
2
  type Value = string | number;
3
3
  declare var __VLS_13: {
4
4
  item: AccordionItem;
@@ -18,7 +18,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
18
18
  multiple?: boolean;
19
19
  collapsible?: boolean;
20
20
  level?: HeadingLevel;
21
- variant?: "separated" | "plain" | "card";
21
+ variant?: AccordionVariant;
22
+ contentVariant?: AccordionContentVariant;
22
23
  modelValue?: Value | Value[] | null;
23
24
  key?: PropertyKey | undefined;
24
25
  prefix?: string | undefined | undefined;
@@ -26,7 +27,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
26
27
  style?: import("vue").StyleValue;
27
28
  results?: (string | number) | undefined;
28
29
  placeholder?: string | undefined | undefined;
29
- ref?: import("vue").VNodeRef | undefined;
30
30
  class?: import("vue").ClassValue;
31
31
  role?: string | undefined | undefined;
32
32
  'aria-label'?: string | undefined | undefined;
@@ -139,7 +139,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
139
139
  'aria-colindex'?: (string | number) | undefined;
140
140
  'aria-colspan'?: (string | number) | undefined;
141
141
  'aria-controls'?: string | undefined | undefined;
142
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
142
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
143
143
  'aria-describedby'?: string | undefined | undefined;
144
144
  'aria-details'?: string | undefined | undefined;
145
145
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -176,6 +176,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
176
176
  'aria-valuemin'?: (string | number) | undefined;
177
177
  'aria-valuenow'?: (string | number) | undefined;
178
178
  'aria-valuetext'?: string | undefined | undefined;
179
+ ref?: import("vue").VNodeRef | undefined;
179
180
  ref_for?: boolean | undefined | undefined;
180
181
  ref_key?: string | undefined | undefined;
181
182
  accesskey?: string | undefined | undefined;
@@ -219,7 +220,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
219
220
  multiple?: boolean;
220
221
  collapsible?: boolean;
221
222
  level?: HeadingLevel;
222
- variant?: "separated" | "plain" | "card";
223
+ variant?: AccordionVariant;
224
+ contentVariant?: AccordionContentVariant;
223
225
  modelValue?: Value | Value[] | null;
224
226
  key?: PropertyKey | undefined;
225
227
  prefix?: string | undefined | undefined;
@@ -227,7 +229,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
227
229
  style?: import("vue").StyleValue;
228
230
  results?: (string | number) | undefined;
229
231
  placeholder?: string | undefined | undefined;
230
- ref?: import("vue").VNodeRef | undefined;
231
232
  class?: import("vue").ClassValue;
232
233
  role?: string | undefined | undefined;
233
234
  'aria-label'?: string | undefined | undefined;
@@ -340,7 +341,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
340
341
  'aria-colindex'?: (string | number) | undefined;
341
342
  'aria-colspan'?: (string | number) | undefined;
342
343
  'aria-controls'?: string | undefined | undefined;
343
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
344
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
344
345
  'aria-describedby'?: string | undefined | undefined;
345
346
  'aria-details'?: string | undefined | undefined;
346
347
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -377,6 +378,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
377
378
  'aria-valuemin'?: (string | number) | undefined;
378
379
  'aria-valuenow'?: (string | number) | undefined;
379
380
  'aria-valuetext'?: string | undefined | undefined;
381
+ ref?: import("vue").VNodeRef | undefined;
380
382
  ref_for?: boolean | undefined | undefined;
381
383
  ref_key?: string | undefined | undefined;
382
384
  accesskey?: string | undefined | undefined;
@@ -416,9 +418,10 @@ declare const __VLS_base: import("vue").DefineComponent<{
416
418
  }> & Readonly<{
417
419
  "onUpdate:modelValue"?: ((value: Value | Value[] | null) => any) | undefined;
418
420
  }>, {
419
- variant: "plain" | "card" | "separated";
421
+ variant: AccordionVariant;
420
422
  level: HeadingLevel;
421
423
  collapsible: boolean;
424
+ contentVariant: AccordionContentVariant;
422
425
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
423
426
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
424
427
  declare const _default: typeof __VLS_export;
@@ -74,7 +74,7 @@ const props = defineProps({
74
74
  skipLabel: { type: String, required: false },
75
75
  fluid: { type: Boolean, required: false },
76
76
  topbar: { type: Boolean, required: false, default: void 0 },
77
- storageKey: { type: String, required: false },
77
+ storageKey: { type: [String, Boolean], required: false },
78
78
  shortcut: { type: [String, Boolean], required: false, default: false },
79
79
  viewTransition: { type: Boolean, required: false }
80
80
  });
@@ -32,7 +32,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
32
32
  skipLabel?: string;
33
33
  fluid?: boolean;
34
34
  topbar?: boolean;
35
- storageKey?: string;
35
+ storageKey?: string | false;
36
36
  shortcut?: string | false;
37
37
  viewTransition?: boolean;
38
38
  collapsed?: boolean;
@@ -43,7 +43,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
43
43
  style?: import("vue").StyleValue;
44
44
  results?: (string | number) | undefined;
45
45
  placeholder?: string | undefined | undefined;
46
- ref?: import("vue").VNodeRef | undefined;
47
46
  class?: import("vue").ClassValue;
48
47
  role?: string | undefined | undefined;
49
48
  'aria-label'?: string | undefined | undefined;
@@ -156,7 +155,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
156
155
  'aria-colindex'?: (string | number) | undefined;
157
156
  'aria-colspan'?: (string | number) | undefined;
158
157
  'aria-controls'?: string | undefined | undefined;
159
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
158
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
160
159
  'aria-describedby'?: string | undefined | undefined;
161
160
  'aria-details'?: string | undefined | undefined;
162
161
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -193,6 +192,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
193
192
  'aria-valuemin'?: (string | number) | undefined;
194
193
  'aria-valuenow'?: (string | number) | undefined;
195
194
  'aria-valuetext'?: string | undefined | undefined;
195
+ ref?: import("vue").VNodeRef | undefined;
196
196
  ref_for?: boolean | undefined | undefined;
197
197
  ref_key?: string | undefined | undefined;
198
198
  accesskey?: string | undefined | undefined;
@@ -244,7 +244,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
244
244
  skipLabel?: string;
245
245
  fluid?: boolean;
246
246
  topbar?: boolean;
247
- storageKey?: string;
247
+ storageKey?: string | false;
248
248
  shortcut?: string | false;
249
249
  viewTransition?: boolean;
250
250
  collapsed?: boolean;
@@ -255,7 +255,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
255
255
  style?: import("vue").StyleValue;
256
256
  results?: (string | number) | undefined;
257
257
  placeholder?: string | undefined | undefined;
258
- ref?: import("vue").VNodeRef | undefined;
259
258
  class?: import("vue").ClassValue;
260
259
  role?: string | undefined | undefined;
261
260
  'aria-label'?: string | undefined | undefined;
@@ -368,7 +367,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
368
367
  'aria-colindex'?: (string | number) | undefined;
369
368
  'aria-colspan'?: (string | number) | undefined;
370
369
  'aria-controls'?: string | undefined | undefined;
371
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
370
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
372
371
  'aria-describedby'?: string | undefined | undefined;
373
372
  'aria-details'?: string | undefined | undefined;
374
373
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -405,6 +404,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
405
404
  'aria-valuemin'?: (string | number) | undefined;
406
405
  'aria-valuenow'?: (string | number) | undefined;
407
406
  'aria-valuetext'?: string | undefined | undefined;
407
+ ref?: import("vue").VNodeRef | undefined;
408
408
  ref_for?: boolean | undefined | undefined;
409
409
  ref_key?: string | undefined | undefined;
410
410
  accesskey?: string | undefined | undefined;
@@ -446,8 +446,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
446
446
  "onUpdate:collapsed"?: ((value: boolean) => any) | undefined;
447
447
  }>, {
448
448
  variant: AppShellVariant;
449
- topbar: boolean;
450
449
  shortcut: string | false;
450
+ topbar: boolean;
451
451
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
452
452
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
453
453
  declare const _default: typeof __VLS_export;
@@ -1,27 +1,19 @@
1
1
  <template>
2
- <nav class="k-breadcrumbs" :aria-label="navText">
2
+ <nav class="k-breadcrumbs" :class="{ 'is-ancestors': ancestors }" :aria-label="navText">
3
3
  <ol role="list" class="k-breadcrumbs-list">
4
- <li v-for="(item, index) in items" :key="index" class="k-breadcrumbs-item">
5
- <span
6
- v-if="index === items.length - 1 && !linkLast"
7
- class="k-breadcrumbs-current"
8
- aria-current="page"
9
- >
10
- <Icon v-if="item.icon" :name="item.icon" />
11
- {{ item.label }}
12
- </span>
4
+ <li v-for="(part, index) in parts" :key="index" class="k-breadcrumbs-item">
13
5
  <component
14
- :is="links[index]?.is ?? 'span'"
15
- v-else
16
- v-bind="links[index]?.attrs"
17
- :aria-current="index === items.length - 1 ? 'page' : void 0"
18
- class="k-breadcrumbs-link"
6
+ :is="part.is"
7
+ v-bind="part.attrs"
8
+ :class="part.current ? 'k-breadcrumbs-current' : 'k-breadcrumbs-link'"
19
9
  >
20
- <Icon v-if="item.icon" :name="item.icon" />
21
- {{ item.label }}
10
+ <slot name="item" :item="part.item" :index="index" :current="part.current">
11
+ <Icon v-if="part.item.icon" :name="part.item.icon" />
12
+ {{ part.item.label }}
13
+ </slot>
22
14
  </component>
23
15
  <Icon
24
- v-if="index < items.length - 1"
16
+ v-if="index < items.length - 1 || ancestors"
25
17
  :name="separator"
26
18
  class="k-breadcrumbs-separator"
27
19
  />
@@ -39,10 +31,26 @@ const props = defineProps({
39
31
  items: { type: Array, required: true },
40
32
  label: { type: String, required: false },
41
33
  separator: { type: null, required: false, default: "chevron-right" },
42
- linkLast: { type: Boolean, required: false }
34
+ linkLast: { type: Boolean, required: false },
35
+ ancestors: { type: Boolean, required: false }
43
36
  });
37
+ defineSlots();
44
38
  const { t } = useLocale();
45
39
  const navText = computed(() => props.label ?? t("breadcrumbs.label"));
46
40
  const { resolveLink } = useLinkResolver();
47
- const links = computed(() => props.items.map(resolveLink));
41
+ const parts = computed(
42
+ () => props.items.map((item, index) => {
43
+ const last = index === props.items.length - 1;
44
+ const current = last && !props.linkLast && !props.ancestors;
45
+ const extra = { ...item.attrs, ...item.onClick ? { onClick: item.onClick } : {} };
46
+ if (current) return { item, is: "span", attrs: { ...extra, "aria-current": "page" }, current };
47
+ const pageAttrs = last && !props.ancestors ? { "aria-current": "page" } : {};
48
+ const link = resolveLink(item);
49
+ if (link)
50
+ return { item, is: link.is, attrs: { ...extra, ...link.attrs, ...pageAttrs }, current };
51
+ if (item.onClick)
52
+ return { item, is: "button", attrs: { ...extra, type: "button", ...pageAttrs }, current };
53
+ return { item, is: "span", attrs: { ...extra, ...pageAttrs }, current };
54
+ })
55
+ );
48
56
  </script>
@@ -1,10 +1,18 @@
1
1
  import type { IconName } from '../../composables/useIcons';
2
2
  import type { BreadcrumbItem } from './types';
3
- declare const __VLS_export: import("vue").DefineComponent<{
3
+ type __VLS_Slots = {
4
+ item?: (props: {
5
+ item: BreadcrumbItem;
6
+ index: number;
7
+ current: boolean;
8
+ }) => unknown;
9
+ };
10
+ declare const __VLS_base: import("vue").DefineComponent<{
4
11
  items: BreadcrumbItem[];
5
12
  label?: string;
6
13
  separator?: IconName;
7
14
  linkLast?: boolean;
15
+ ancestors?: boolean;
8
16
  innerHTML?: string | undefined | undefined;
9
17
  class?: import("vue").ClassValue;
10
18
  style?: import("vue").StyleValue;
@@ -60,7 +68,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
60
68
  'aria-colindex'?: (string | number) | undefined;
61
69
  'aria-colspan'?: (string | number) | undefined;
62
70
  'aria-controls'?: string | undefined | undefined;
63
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
71
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
64
72
  'aria-describedby'?: string | undefined | undefined;
65
73
  'aria-details'?: string | undefined | undefined;
66
74
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -202,6 +210,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
202
210
  label?: string;
203
211
  separator?: IconName;
204
212
  linkLast?: boolean;
213
+ ancestors?: boolean;
205
214
  innerHTML?: string | undefined | undefined;
206
215
  class?: import("vue").ClassValue;
207
216
  style?: import("vue").StyleValue;
@@ -257,7 +266,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
257
266
  'aria-colindex'?: (string | number) | undefined;
258
267
  'aria-colspan'?: (string | number) | undefined;
259
268
  'aria-controls'?: string | undefined | undefined;
260
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
269
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
261
270
  'aria-describedby'?: string | undefined | undefined;
262
271
  'aria-details'?: string | undefined | undefined;
263
272
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -397,5 +406,11 @@ declare const __VLS_export: import("vue").DefineComponent<{
397
406
  }> & Readonly<{}>, {
398
407
  separator: IconName;
399
408
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
409
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
400
410
  declare const _default: typeof __VLS_export;
401
411
  export default _default;
412
+ type __VLS_WithSlots<T, S> = T & {
413
+ new (): {
414
+ $slots: S;
415
+ };
416
+ };
@@ -2,11 +2,17 @@
2
2
  <Polymorphic
3
3
  :as="as"
4
4
  v-bind="$attrs"
5
+ :bind="selectionAttrs"
5
6
  class="k-card"
6
7
  :class="[
7
8
  `k-card-${variant}`,
8
9
  `k-card-pad-${padding}`,
9
- { 'is-interactive': isLink, 'is-disabled': disabled }
10
+ {
11
+ 'is-interactive': isInteractive,
12
+ 'is-disabled': disabled,
13
+ 'is-selected': selected,
14
+ 'is-static': !animated
15
+ }
10
16
  ]"
11
17
  >
12
18
  <header v-if="hasHeader" class="k-card-header">
@@ -42,7 +48,7 @@
42
48
  <script setup>
43
49
  import { useLinkResolver } from "../../internal/core/link";
44
50
  import { Polymorphic } from "../../internal/core/Polymorphic";
45
- import { computed, useSlots } from "vue";
51
+ import { computed, useAttrs, useSlots } from "vue";
46
52
  import Icon from "../core/Icon.vue";
47
53
  defineOptions({ inheritAttrs: false });
48
54
  const props = defineProps({
@@ -56,9 +62,13 @@ const props = defineProps({
56
62
  to: { type: [String, Object], required: false },
57
63
  href: { type: String, required: false },
58
64
  target: { type: String, required: false },
59
- disabled: { type: Boolean, required: false }
65
+ disabled: { type: Boolean, required: false },
66
+ selected: { type: Boolean, required: false, default: void 0 },
67
+ animated: { type: Boolean, required: false, default: true }
60
68
  });
69
+ const SELECTABLE_ROLES = /* @__PURE__ */ new Set(["option", "tab", "gridcell", "row", "treeitem"]);
61
70
  const slots = useSlots();
71
+ const attrs = useAttrs();
62
72
  const hasHeader = computed(
63
73
  () => Boolean(
64
74
  props.title || props.description || props.icon || slots.header || slots.title || slots.icon || slots.actions
@@ -67,4 +77,13 @@ const hasHeader = computed(
67
77
  const { resolveLink } = useLinkResolver();
68
78
  const link = computed(() => props.disabled ? null : resolveLink(props));
69
79
  const isLink = computed(() => link.value !== null);
80
+ const isInteractive = computed(() => isLink.value || props.as === "button");
81
+ const selectionAttrs = computed(() => {
82
+ if (props.selected === void 0) return void 0;
83
+ const state = props.selected ? "true" : "false";
84
+ const role = typeof attrs.role === "string" ? attrs.role : void 0;
85
+ if (role && SELECTABLE_ROLES.has(role)) return { "aria-selected": state };
86
+ if (props.as === "button" && !role) return { "aria-pressed": state };
87
+ return { "data-selected": state };
88
+ });
70
89
  </script>
@@ -31,6 +31,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
31
31
  href?: string | undefined;
32
32
  target?: string | undefined;
33
33
  disabled?: boolean;
34
+ selected?: boolean;
35
+ animated?: boolean;
34
36
  inlist?: any;
35
37
  download?: any;
36
38
  key?: PropertyKey | undefined;
@@ -39,8 +41,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
39
41
  results?: (string | number) | undefined;
40
42
  placeholder?: string | undefined;
41
43
  bind?: Record<string, unknown>;
42
- type?: string | undefined;
43
- ref?: import("vue").VNodeRef | undefined;
44
44
  class?: import("vue").ClassValue;
45
45
  role?: string | undefined;
46
46
  'aria-label'?: string | undefined;
@@ -144,6 +144,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
144
144
  id?: string | undefined;
145
145
  lang?: string | undefined;
146
146
  media?: string | undefined;
147
+ type?: string | undefined;
147
148
  tabindex?: (string | number) | undefined;
148
149
  'aria-activedescendant'?: string | undefined;
149
150
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
@@ -191,6 +192,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
191
192
  'aria-valuemin'?: (string | number) | undefined;
192
193
  'aria-valuenow'?: (string | number) | undefined;
193
194
  'aria-valuetext'?: string | undefined;
195
+ ref?: import("vue").VNodeRef | undefined;
194
196
  ref_for?: boolean | undefined;
195
197
  ref_key?: string | undefined;
196
198
  accesskey?: string | undefined;
@@ -248,6 +250,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
248
250
  href?: string | undefined;
249
251
  target?: string | undefined;
250
252
  disabled?: boolean;
253
+ selected?: boolean;
254
+ animated?: boolean;
251
255
  inlist?: any;
252
256
  download?: any;
253
257
  key?: PropertyKey | undefined;
@@ -256,8 +260,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
256
260
  results?: (string | number) | undefined;
257
261
  placeholder?: string | undefined;
258
262
  bind?: Record<string, unknown>;
259
- type?: string | undefined;
260
- ref?: import("vue").VNodeRef | undefined;
261
263
  class?: import("vue").ClassValue;
262
264
  role?: string | undefined;
263
265
  'aria-label'?: string | undefined;
@@ -361,6 +363,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
361
363
  id?: string | undefined;
362
364
  lang?: string | undefined;
363
365
  media?: string | undefined;
366
+ type?: string | undefined;
364
367
  tabindex?: (string | number) | undefined;
365
368
  'aria-activedescendant'?: string | undefined;
366
369
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
@@ -408,6 +411,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
408
411
  'aria-valuemin'?: (string | number) | undefined;
409
412
  'aria-valuenow'?: (string | number) | undefined;
410
413
  'aria-valuetext'?: string | undefined;
414
+ ref?: import("vue").VNodeRef | undefined;
411
415
  ref_for?: boolean | undefined;
412
416
  ref_key?: string | undefined;
413
417
  accesskey?: string | undefined;
@@ -454,10 +458,12 @@ declare const __VLS_base: import("vue").DefineComponent<{
454
458
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
455
459
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
456
460
  }> & Readonly<{}>, {
461
+ selected: boolean;
457
462
  variant: CardVariant;
458
463
  as: string;
459
464
  level: HeadingLevel;
460
465
  padding: CardPadding;
466
+ animated: boolean;
461
467
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
462
468
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
463
469
  declare const _default: typeof __VLS_export;
@@ -15,7 +15,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
15
15
  style?: import("vue").StyleValue;
16
16
  results?: (string | number) | undefined;
17
17
  placeholder?: string | undefined | undefined;
18
- ref?: import("vue").VNodeRef | undefined;
19
18
  class?: import("vue").ClassValue;
20
19
  role?: string | undefined | undefined;
21
20
  'aria-label'?: string | undefined | undefined;
@@ -127,7 +126,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
127
126
  'aria-colindex'?: (string | number) | undefined;
128
127
  'aria-colspan'?: (string | number) | undefined;
129
128
  'aria-controls'?: string | undefined | undefined;
130
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
129
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
131
130
  'aria-describedby'?: string | undefined | undefined;
132
131
  'aria-details'?: string | undefined | undefined;
133
132
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -164,6 +163,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
164
163
  'aria-valuemin'?: (string | number) | undefined;
165
164
  'aria-valuenow'?: (string | number) | undefined;
166
165
  'aria-valuetext'?: string | undefined | undefined;
166
+ ref?: import("vue").VNodeRef | undefined;
167
167
  ref_for?: boolean | undefined | undefined;
168
168
  ref_key?: string | undefined | undefined;
169
169
  accesskey?: string | undefined | undefined;
@@ -218,7 +218,6 @@ declare const __VLS_export: import("vue").DefineComponent<{
218
218
  style?: import("vue").StyleValue;
219
219
  results?: (string | number) | undefined;
220
220
  placeholder?: string | undefined | undefined;
221
- ref?: import("vue").VNodeRef | undefined;
222
221
  class?: import("vue").ClassValue;
223
222
  role?: string | undefined | undefined;
224
223
  'aria-label'?: string | undefined | undefined;
@@ -330,7 +329,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
330
329
  'aria-colindex'?: (string | number) | undefined;
331
330
  'aria-colspan'?: (string | number) | undefined;
332
331
  'aria-controls'?: string | undefined | undefined;
333
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
332
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
334
333
  'aria-describedby'?: string | undefined | undefined;
335
334
  'aria-details'?: string | undefined | undefined;
336
335
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -367,6 +366,7 @@ declare const __VLS_export: import("vue").DefineComponent<{
367
366
  'aria-valuemin'?: (string | number) | undefined;
368
367
  'aria-valuenow'?: (string | number) | undefined;
369
368
  'aria-valuetext'?: string | undefined | undefined;
369
+ ref?: import("vue").VNodeRef | undefined;
370
370
  ref_for?: boolean | undefined | undefined;
371
371
  ref_key?: string | undefined | undefined;
372
372
  accesskey?: string | undefined | undefined;
@@ -63,7 +63,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
63
63
  'aria-colindex'?: (string | number) | undefined;
64
64
  'aria-colspan'?: (string | number) | undefined;
65
65
  'aria-controls'?: string | undefined | undefined;
66
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
66
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
67
67
  'aria-describedby'?: string | undefined | undefined;
68
68
  'aria-details'?: string | undefined | undefined;
69
69
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -260,7 +260,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
260
260
  'aria-colindex'?: (string | number) | undefined;
261
261
  'aria-colspan'?: (string | number) | undefined;
262
262
  'aria-controls'?: string | undefined | undefined;
263
- 'aria-current'?: "page" | "location" | "time" | (boolean | "true" | "false") | "step" | "date" | undefined;
263
+ 'aria-current'?: "page" | "time" | (boolean | "true" | "false") | "step" | "location" | "date" | undefined;
264
264
  'aria-describedby'?: string | undefined | undefined;
265
265
  'aria-details'?: string | undefined | undefined;
266
266
  'aria-disabled'?: (boolean | "true" | "false") | undefined;
@@ -25,9 +25,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
25
25
  results?: (string | number) | undefined;
26
26
  placeholder?: string | undefined;
27
27
  bind?: Record<string, unknown>;
28
- type?: string | undefined;
29
- ref?: import("vue").VNodeRef | undefined;
30
- target?: string | undefined;
31
28
  class?: import("vue").ClassValue;
32
29
  role?: string | undefined;
33
30
  'aria-label'?: string | undefined;
@@ -131,6 +128,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
131
128
  id?: string | undefined;
132
129
  lang?: string | undefined;
133
130
  media?: string | undefined;
131
+ target?: string | undefined;
132
+ type?: string | undefined;
134
133
  tabindex?: (string | number) | undefined;
135
134
  'aria-activedescendant'?: string | undefined;
136
135
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
@@ -178,6 +177,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
178
177
  'aria-valuemin'?: (string | number) | undefined;
179
178
  'aria-valuenow'?: (string | number) | undefined;
180
179
  'aria-valuetext'?: string | undefined;
180
+ ref?: import("vue").VNodeRef | undefined;
181
181
  ref_for?: boolean | undefined;
182
182
  ref_key?: string | undefined;
183
183
  accesskey?: string | undefined;
@@ -217,13 +217,13 @@ declare const __VLS_base: import("vue").DefineComponent<{
217
217
  hreflang?: string | undefined;
218
218
  ping?: string | undefined;
219
219
  referrerpolicy?: ("" | "origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url") | undefined;
220
- as?: string | import("vue").Component;
221
220
  onVnodeBeforeMount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
222
221
  onVnodeMounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
223
222
  onVnodeBeforeUpdate?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
224
223
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
225
224
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
226
225
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
226
+ as?: string | import("vue").Component;
227
227
  }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
228
228
  label?: string;
229
229
  to?: LinkTarget;
@@ -243,9 +243,6 @@ declare const __VLS_base: import("vue").DefineComponent<{
243
243
  results?: (string | number) | undefined;
244
244
  placeholder?: string | undefined;
245
245
  bind?: Record<string, unknown>;
246
- type?: string | undefined;
247
- ref?: import("vue").VNodeRef | undefined;
248
- target?: string | undefined;
249
246
  class?: import("vue").ClassValue;
250
247
  role?: string | undefined;
251
248
  'aria-label'?: string | undefined;
@@ -349,6 +346,8 @@ declare const __VLS_base: import("vue").DefineComponent<{
349
346
  id?: string | undefined;
350
347
  lang?: string | undefined;
351
348
  media?: string | undefined;
349
+ target?: string | undefined;
350
+ type?: string | undefined;
352
351
  tabindex?: (string | number) | undefined;
353
352
  'aria-activedescendant'?: string | undefined;
354
353
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
@@ -396,6 +395,7 @@ declare const __VLS_base: import("vue").DefineComponent<{
396
395
  'aria-valuemin'?: (string | number) | undefined;
397
396
  'aria-valuenow'?: (string | number) | undefined;
398
397
  'aria-valuetext'?: string | undefined;
398
+ ref?: import("vue").VNodeRef | undefined;
399
399
  ref_for?: boolean | undefined;
400
400
  ref_key?: string | undefined;
401
401
  accesskey?: string | undefined;
@@ -435,13 +435,13 @@ declare const __VLS_base: import("vue").DefineComponent<{
435
435
  hreflang?: string | undefined;
436
436
  ping?: string | undefined;
437
437
  referrerpolicy?: ("" | "origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "same-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url") | undefined;
438
- as?: string | import("vue").Component;
439
438
  onVnodeBeforeMount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
440
439
  onVnodeMounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
441
440
  onVnodeBeforeUpdate?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
442
441
  onVnodeUpdated?: (((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void) | ((vnode: import("vue").VNode, oldVNode: import("vue").VNode) => void)[]) | undefined;
443
442
  onVnodeBeforeUnmount?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
444
443
  onVnodeUnmounted?: (((vnode: import("vue").VNode) => void) | ((vnode: import("vue").VNode) => void)[]) | undefined;
444
+ as?: string | import("vue").Component;
445
445
  }> & Readonly<{}>, {
446
446
  match: "prefix" | "exact";
447
447
  active: boolean;