@vuetify/v0 0.1.7 → 0.1.8

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 (77) hide show
  1. package/dist/browser/index.js +1705 -458
  2. package/dist/components/index.d.mts +2 -2
  3. package/dist/components/index.mjs +19 -19
  4. package/dist/{components-CACff-Lt.mjs → components-BbxKYAXs.mjs} +1203 -312
  5. package/dist/composables/index.d.mts +3 -3
  6. package/dist/composables/index.mjs +18 -18
  7. package/dist/constants/index.mjs +1 -1
  8. package/dist/{createDataTable-CLI4TALE.mjs → createDataTable-DZouEhvH.mjs} +2 -2
  9. package/dist/{createGroup-Cf6lK9BR.mjs → createGroup-BpJFi41X.mjs} +1 -1
  10. package/dist/{createSelection-DvOR2tKk.mjs → createSelection-8MX0OHXR.mjs} +1 -1
  11. package/dist/{createSingle-Bbcwcq4R.mjs → createSingle-CbuOBb-E.mjs} +1 -1
  12. package/dist/{createTokens-CMRBDlzN.mjs → createTokens-CXlT0Vc6.mjs} +3 -2
  13. package/dist/data-table/adapters/client/index.mjs +1 -1
  14. package/dist/data-table/adapters/index.mjs +1 -1
  15. package/dist/data-table/adapters/server/index.mjs +1 -1
  16. package/dist/data-table/adapters/virtual/index.mjs +1 -1
  17. package/dist/data-table/index.mjs +10 -10
  18. package/dist/date/index.mjs +1 -1
  19. package/dist/features/adapters/posthog/index.mjs +2 -2
  20. package/dist/features/index.d.mts +1 -1
  21. package/dist/features/index.mjs +8 -8
  22. package/dist/{globals-BqRH_jdr.mjs → globals-ClSU6mqC.mjs} +1 -1
  23. package/dist/{index-BE848tZ2.d.mts → index-63-0oJS8.d.mts} +155 -53
  24. package/dist/{index-CKbxWC4t.d.mts → index-B5NU2uB7.d.mts} +2362 -1314
  25. package/dist/{index-8sflFIN8.d.mts → index-CxW4itj1.d.mts} +2 -0
  26. package/dist/index.d.mts +4 -4
  27. package/dist/index.mjs +19 -19
  28. package/dist/json/attributes.json +252 -0
  29. package/dist/json/importMap.json +60 -0
  30. package/dist/json/tags.json +128 -0
  31. package/dist/json/web-types.json +1023 -228
  32. package/dist/locale/adapters/index.mjs +2 -2
  33. package/dist/locale/adapters/v0/index.mjs +2 -2
  34. package/dist/locale/index.d.mts +1 -1
  35. package/dist/locale/index.mjs +8 -8
  36. package/dist/logger/adapters/index.mjs +2 -2
  37. package/dist/logger/adapters/pino/index.mjs +1 -1
  38. package/dist/logger/adapters/v0/index.mjs +2 -2
  39. package/dist/logger/index.d.mts +1 -1
  40. package/dist/logger/index.mjs +3 -3
  41. package/dist/palettes/ant/index.d.mts +1 -1
  42. package/dist/palettes/index.d.mts +2 -2
  43. package/dist/palettes/material/index.d.mts +1 -1
  44. package/dist/palettes/md1/index.d.mts +1 -1
  45. package/dist/palettes/md2/index.d.mts +1 -1
  46. package/dist/palettes/radix/index.d.mts +1 -1
  47. package/dist/palettes/tailwind/index.d.mts +1 -1
  48. package/dist/permissions/adapters/index.d.mts +2 -2
  49. package/dist/permissions/adapters/index.mjs +1 -1
  50. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  51. package/dist/permissions/adapters/v0/index.mjs +1 -1
  52. package/dist/permissions/index.d.mts +1 -1
  53. package/dist/permissions/index.mjs +5 -5
  54. package/dist/{posthog-DbPqmaAp.mjs → posthog-BE7-t7cV.mjs} +1 -1
  55. package/dist/rules/index.d.mts +1 -1
  56. package/dist/rules/index.mjs +9 -9
  57. package/dist/storage/index.d.mts +1 -1
  58. package/dist/storage/index.mjs +17 -17
  59. package/dist/theme/adapters/index.d.mts +1 -1
  60. package/dist/theme/adapters/index.mjs +2 -2
  61. package/dist/theme/adapters/v0/index.d.mts +1 -1
  62. package/dist/theme/adapters/v0/index.mjs +2 -2
  63. package/dist/theme/index.d.mts +1 -1
  64. package/dist/theme/index.mjs +8 -8
  65. package/dist/{useClickOutside-YOGwKo7v.mjs → useClickOutside-W0Sur1rC.mjs} +477 -125
  66. package/dist/{useFeatures-BGDgUrdr.mjs → useFeatures-CUicSI-E.mjs} +3 -3
  67. package/dist/{useLocale-C8I_fNAS.mjs → useLocale-cQlPxbpV.mjs} +11 -7
  68. package/dist/{useLogger-B70T4SgK.mjs → useLogger-DY1Hbcy1.mjs} +2 -2
  69. package/dist/{usePermissions-afVt2qR7.mjs → usePermissions-BSW59R4q.mjs} +2 -2
  70. package/dist/{useRules-7C92Xzyt.mjs → useRules-BbA6_gvs.mjs} +3 -3
  71. package/dist/{useTheme-jp2wL2FJ.mjs → useTheme-Bdx2Lj5c.mjs} +4 -4
  72. package/dist/utilities/index.mjs +1 -1
  73. package/dist/{v0-CGlkn5u7.mjs → v0-2G2476h-.mjs} +1 -1
  74. package/dist/{v0-V-cQsuZD.mjs → v0-BFseIsBi.mjs} +1 -1
  75. package/dist/{v0-1bfmyZ5_.d.mts → v0-BZINNGoC.d.mts} +1 -1
  76. package/dist/{v0-CHvU3jQE.mjs → v0-CHBrvw49.mjs} +1 -1
  77. package/package.json +2 -1
@@ -1,13 +1,14 @@
1
1
  import { r as isSelfClosingTag } from "./htmlElements-DcYtv0hg.mjs";
2
- import { t as IN_BROWSER } from "./globals-BqRH_jdr.mjs";
2
+ import { t as IN_BROWSER } from "./globals-ClSU6mqC.mjs";
3
3
  import { clamp, isArray, isNull, isNullOrUndefined, isObject, isString, isUndefined, useId as useId$1 } from "./utilities/index.mjs";
4
- import { n as createContext } from "./createTrinity-C_c8eedz.mjs";
5
- import { i as createRegistry } from "./createTokens-CMRBDlzN.mjs";
6
- import { t as createSelection } from "./createSelection-DvOR2tKk.mjs";
7
- import { t as createSingle } from "./createSingle-Bbcwcq4R.mjs";
8
- import { C as useStack, _ as createStep, c as useToggleScope, n as useDocumentEventListener, ot as useProxyModel, st as createOverflow, t as useClickOutside, vt as createBreadcrumbs, w as createSlider } from "./useClickOutside-YOGwKo7v.mjs";
9
- import { t as createGroup } from "./createGroup-Cf6lK9BR.mjs";
10
- import { a as useLocale } from "./useLocale-C8I_fNAS.mjs";
4
+ import { n as createContext, r as provideContext } from "./createTrinity-C_c8eedz.mjs";
5
+ import { i as createRegistry } from "./createTokens-CXlT0Vc6.mjs";
6
+ import { t as createSelection } from "./createSelection-8MX0OHXR.mjs";
7
+ import { t as createSingle } from "./createSingle-CbuOBb-E.mjs";
8
+ import { I as usePopover, T as createSlider, Z as createForm, a as useVirtualFocus, l as useToggleScope, lt as useProxyModel, n as useDocumentEventListener, q as useLazy, t as useClickOutside, u as createValidation, ut as createOverflow, v as createStep, w as useStack, xt as createBreadcrumbs } from "./useClickOutside-W0Sur1rC.mjs";
9
+ import { t as createGroup } from "./createGroup-BpJFi41X.mjs";
10
+ import { t as toArray } from "./toArray-VdROPpy-.mjs";
11
+ import { a as useLocale } from "./useLocale-cQlPxbpV.mjs";
11
12
  import { t as createPagination } from "./createPagination-Bu8vE0JW.mjs";
12
13
  import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createPropsRestProxy, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, nextTick, normalizeProps, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRef, toValue, unref, useAttrs, useId, useModel, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives } from "vue";
13
14
  //#region src/components/Atom/Atom.vue
@@ -32,7 +33,7 @@ import { Fragment, Teleport, TransitionGroup, computed, createBlock, createComme
32
33
  * serving as the foundation for all other components that need polymorphic
33
34
  * rendering capabilities.
34
35
  */
35
- const _sfc_main$68 = /* @__PURE__ */ defineComponent({
36
+ const _sfc_main$81 = /* @__PURE__ */ defineComponent({
36
37
  name: "Atom",
37
38
  __name: "Atom",
38
39
  props: {
@@ -66,7 +67,7 @@ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
66
67
  //#endregion
67
68
  //#region src/components/Avatar/AvatarRoot.vue
68
69
  const [useAvatarRoot, provideAvatarRoot] = createContext();
69
- const _sfc_main$67 = /* @__PURE__ */ defineComponent({
70
+ const _sfc_main$80 = /* @__PURE__ */ defineComponent({
70
71
  name: "AvatarRoot",
71
72
  __name: "AvatarRoot",
72
73
  props: {
@@ -81,7 +82,7 @@ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
81
82
  });
82
83
  provideAvatarRoot(__props.namespace, selection);
83
84
  return (_ctx, _cache) => {
84
- return openBlock(), createBlock(unref(_sfc_main$68), {
85
+ return openBlock(), createBlock(unref(_sfc_main$81), {
85
86
  as: __props.as,
86
87
  renderless: __props.renderless
87
88
  }, {
@@ -93,7 +94,7 @@ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
93
94
  });
94
95
  //#endregion
95
96
  //#region src/components/Avatar/AvatarFallback.vue
96
- const _sfc_main$66 = /* @__PURE__ */ defineComponent({
97
+ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
97
98
  name: "AvatarFallback",
98
99
  __name: "AvatarFallback",
99
100
  props: {
@@ -107,7 +108,7 @@ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
107
108
  const slotProps = toRef(() => ({ isSelected: ticket.isSelected.value }));
108
109
  onUnmounted(() => context.unregister(ticket.id));
109
110
  return (_ctx, _cache) => {
110
- return unref(ticket).isSelected.value ? (openBlock(), createBlock(unref(_sfc_main$68), {
111
+ return unref(ticket).isSelected.value ? (openBlock(), createBlock(unref(_sfc_main$81), {
111
112
  key: 0,
112
113
  as: __props.as,
113
114
  renderless: __props.renderless
@@ -120,7 +121,7 @@ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
120
121
  });
121
122
  //#endregion
122
123
  //#region src/components/Avatar/AvatarImage.vue
123
- const _sfc_main$65 = /* @__PURE__ */ defineComponent({
124
+ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
124
125
  name: "AvatarImage",
125
126
  inheritAttrs: false,
126
127
  __name: "AvatarImage",
@@ -170,7 +171,7 @@ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
170
171
  }
171
172
  }));
172
173
  return (_ctx, _cache) => {
173
- return withDirectives((openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
174
+ return withDirectives((openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
174
175
  as: __props.as,
175
176
  renderless: __props.renderless
176
177
  }), {
@@ -188,14 +189,14 @@ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
188
189
  * @see https://0.vuetifyjs.com/components/avatar
189
190
  */
190
191
  const Avatar = {
191
- Root: _sfc_main$67,
192
- Image: _sfc_main$65,
193
- Fallback: _sfc_main$66
192
+ Root: _sfc_main$80,
193
+ Image: _sfc_main$78,
194
+ Fallback: _sfc_main$79
194
195
  };
195
196
  //#endregion
196
197
  //#region src/components/Breadcrumbs/BreadcrumbsRoot.vue
197
198
  const [useBreadcrumbsRoot, provideBreadcrumbsRoot] = createContext();
198
- const _sfc_main$64 = /* @__PURE__ */ defineComponent({
199
+ const _sfc_main$77 = /* @__PURE__ */ defineComponent({
199
200
  name: "BreadcrumbsRoot",
200
201
  __name: "BreadcrumbsRoot",
201
202
  props: {
@@ -323,7 +324,7 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
323
324
  }
324
325
  }));
325
326
  return (_ctx, _cache) => {
326
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
327
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
327
328
  ref: "container",
328
329
  as: __props.as,
329
330
  renderless: __props.renderless
@@ -336,7 +337,7 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
336
337
  });
337
338
  //#endregion
338
339
  //#region src/components/Breadcrumbs/BreadcrumbsDivider.vue
339
- const _sfc_main$63 = /* @__PURE__ */ defineComponent({
340
+ const _sfc_main$76 = /* @__PURE__ */ defineComponent({
340
341
  name: "BreadcrumbsDivider",
341
342
  __name: "BreadcrumbsDivider",
342
343
  props: {
@@ -372,7 +373,7 @@ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
372
373
  }
373
374
  }));
374
375
  return (_ctx, _cache) => {
375
- return withDirectives((openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
376
+ return withDirectives((openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
376
377
  ref: "el",
377
378
  as: __props.as,
378
379
  renderless: __props.renderless
@@ -385,7 +386,7 @@ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
385
386
  });
386
387
  //#endregion
387
388
  //#region src/components/Breadcrumbs/BreadcrumbsEllipsis.vue
388
- const _sfc_main$62 = /* @__PURE__ */ defineComponent({
389
+ const _sfc_main$75 = /* @__PURE__ */ defineComponent({
389
390
  name: "BreadcrumbsEllipsis",
390
391
  __name: "BreadcrumbsEllipsis",
391
392
  props: {
@@ -428,7 +429,7 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
428
429
  }
429
430
  }));
430
431
  return (_ctx, _cache) => {
431
- return withDirectives((openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
432
+ return withDirectives((openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
432
433
  ref: "el",
433
434
  as: __props.as,
434
435
  renderless: __props.renderless
@@ -441,7 +442,7 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
441
442
  });
442
443
  //#endregion
443
444
  //#region src/components/Breadcrumbs/BreadcrumbsItem.vue
444
- const _sfc_main$61 = /* @__PURE__ */ defineComponent({
445
+ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
445
446
  name: "BreadcrumbsItem",
446
447
  __name: "BreadcrumbsItem",
447
448
  props: {
@@ -480,7 +481,7 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
480
481
  attrs: { "data-selected": isSelected.value || void 0 }
481
482
  }));
482
483
  return (_ctx, _cache) => {
483
- return withDirectives((openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
484
+ return withDirectives((openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
484
485
  ref: "el",
485
486
  as: __props.as,
486
487
  renderless: __props.renderless
@@ -493,7 +494,7 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
493
494
  });
494
495
  //#endregion
495
496
  //#region src/components/Breadcrumbs/BreadcrumbsLink.vue
496
- const _sfc_main$60 = /* @__PURE__ */ defineComponent({
497
+ const _sfc_main$73 = /* @__PURE__ */ defineComponent({
497
498
  name: "BreadcrumbsLink",
498
499
  __name: "BreadcrumbsLink",
499
500
  props: {
@@ -502,7 +503,7 @@ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
502
503
  },
503
504
  setup(__props) {
504
505
  return (_ctx, _cache) => {
505
- return openBlock(), createBlock(unref(_sfc_main$68), {
506
+ return openBlock(), createBlock(unref(_sfc_main$81), {
506
507
  as: __props.as,
507
508
  renderless: __props.renderless
508
509
  }, {
@@ -514,7 +515,7 @@ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
514
515
  });
515
516
  //#endregion
516
517
  //#region src/components/Breadcrumbs/BreadcrumbsList.vue
517
- const _sfc_main$59 = /* @__PURE__ */ defineComponent({
518
+ const _sfc_main$72 = /* @__PURE__ */ defineComponent({
518
519
  name: "BreadcrumbsList",
519
520
  __name: "BreadcrumbsList",
520
521
  props: {
@@ -524,7 +525,7 @@ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
524
525
  setup(__props) {
525
526
  const slotProps = toRef(() => ({ attrs: { role: "list" } }));
526
527
  return (_ctx, _cache) => {
527
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
528
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
528
529
  as: __props.as,
529
530
  renderless: __props.renderless
530
531
  }, slotProps.value.attrs), {
@@ -536,7 +537,7 @@ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
536
537
  });
537
538
  //#endregion
538
539
  //#region src/components/Breadcrumbs/BreadcrumbsPage.vue
539
- const _sfc_main$58 = /* @__PURE__ */ defineComponent({
540
+ const _sfc_main$71 = /* @__PURE__ */ defineComponent({
540
541
  name: "BreadcrumbsPage",
541
542
  __name: "BreadcrumbsPage",
542
543
  props: {
@@ -546,7 +547,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
546
547
  setup(__props) {
547
548
  const slotProps = toRef(() => ({ attrs: { "aria-current": "page" } }));
548
549
  return (_ctx, _cache) => {
549
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
550
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
550
551
  as: __props.as,
551
552
  renderless: __props.renderless
552
553
  }, slotProps.value.attrs), {
@@ -564,18 +565,18 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
564
565
  * @see https://0.vuetifyjs.com/components/breadcrumbs
565
566
  */
566
567
  const Breadcrumbs = {
567
- Root: _sfc_main$64,
568
- List: _sfc_main$59,
569
- Item: _sfc_main$61,
570
- Link: _sfc_main$60,
571
- Page: _sfc_main$58,
572
- Divider: _sfc_main$63,
573
- Ellipsis: _sfc_main$62
568
+ Root: _sfc_main$77,
569
+ List: _sfc_main$72,
570
+ Item: _sfc_main$74,
571
+ Link: _sfc_main$73,
572
+ Page: _sfc_main$71,
573
+ Divider: _sfc_main$76,
574
+ Ellipsis: _sfc_main$75
574
575
  };
575
576
  //#endregion
576
577
  //#region src/components/Checkbox/CheckboxGroup.vue
577
578
  const [useCheckboxGroup, provideCheckboxGroup] = createContext();
578
- const _sfc_main$57 = /* @__PURE__ */ defineComponent({
579
+ const _sfc_main$70 = /* @__PURE__ */ defineComponent({
579
580
  name: "CheckboxGroup",
580
581
  __name: "CheckboxGroup",
581
582
  props: /* @__PURE__ */ mergeModels({
@@ -631,7 +632,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
631
632
  }
632
633
  }));
633
634
  return (_ctx, _cache) => {
634
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
635
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
635
636
  as: __props.as,
636
637
  renderless: __props.renderless
637
638
  }), {
@@ -644,7 +645,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
644
645
  //#endregion
645
646
  //#region src/components/Checkbox/CheckboxRoot.vue
646
647
  const [useCheckboxRoot, provideCheckboxRoot] = createContext();
647
- const _sfc_main$56 = /* @__PURE__ */ defineComponent({
648
+ const _sfc_main$69 = /* @__PURE__ */ defineComponent({
648
649
  name: "CheckboxRoot",
649
650
  inheritAttrs: false,
650
651
  __name: "CheckboxRoot",
@@ -763,7 +764,7 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
763
764
  }
764
765
  }));
765
766
  return (_ctx, _cache) => {
766
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$68), mergeProps({
767
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$81), mergeProps({
767
768
  ...unref(attrs),
768
769
  ...slotProps.value.attrs
769
770
  }, {
@@ -774,20 +775,20 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
774
775
  }), {
775
776
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
776
777
  _: 3
777
- }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$55, { key: 0 })) : createCommentVNode("v-if", true)], 64);
778
+ }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$68, { key: 0 })) : createCommentVNode("v-if", true)], 64);
778
779
  };
779
780
  }
780
781
  });
781
782
  //#endregion
782
783
  //#region src/components/Checkbox/CheckboxHiddenInput.vue
783
- const _hoisted_1$3 = [
784
+ const _hoisted_1$4 = [
784
785
  "checked",
785
786
  "disabled",
786
787
  "form",
787
788
  "name",
788
789
  "value"
789
790
  ];
790
- const visuallyHiddenStyle$2 = {
791
+ const visuallyHiddenStyle$3 = {
791
792
  position: "absolute",
792
793
  width: "1px",
793
794
  height: "1px",
@@ -798,7 +799,7 @@ const visuallyHiddenStyle$2 = {
798
799
  whiteSpace: "nowrap",
799
800
  border: "0"
800
801
  };
801
- const _sfc_main$55 = /* @__PURE__ */ defineComponent({
802
+ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
802
803
  name: "CheckboxHiddenInput",
803
804
  __name: "CheckboxHiddenInput",
804
805
  props: {
@@ -826,17 +827,17 @@ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
826
827
  form: form.value,
827
828
  inert: "",
828
829
  name: name.value,
829
- style: visuallyHiddenStyle$2,
830
+ style: visuallyHiddenStyle$3,
830
831
  tabindex: "-1",
831
832
  type: "checkbox",
832
833
  value: value.value
833
- }, null, 8, _hoisted_1$3);
834
+ }, null, 8, _hoisted_1$4);
834
835
  };
835
836
  }
836
837
  });
837
838
  //#endregion
838
839
  //#region src/components/Checkbox/CheckboxIndicator.vue
839
- const _sfc_main$54 = /* @__PURE__ */ defineComponent({
840
+ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
840
841
  name: "CheckboxIndicator",
841
842
  __name: "CheckboxIndicator",
842
843
  props: {
@@ -859,7 +860,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
859
860
  }
860
861
  }));
861
862
  return (_ctx, _cache) => {
862
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
863
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
863
864
  as: __props.as,
864
865
  renderless: __props.renderless
865
866
  }), {
@@ -871,7 +872,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
871
872
  });
872
873
  //#endregion
873
874
  //#region src/components/Checkbox/CheckboxSelectAll.vue
874
- const _sfc_main$53 = /* @__PURE__ */ defineComponent({
875
+ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
875
876
  name: "CheckboxSelectAll",
876
877
  inheritAttrs: false,
877
878
  __name: "CheckboxSelectAll",
@@ -942,7 +943,7 @@ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
942
943
  }
943
944
  }));
944
945
  return (_ctx, _cache) => {
945
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
946
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
946
947
  ...unref(attrs),
947
948
  ...slotProps.value.attrs
948
949
  }, {
@@ -981,16 +982,16 @@ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
981
982
  * ```
982
983
  */
983
984
  const Checkbox = {
984
- Group: _sfc_main$57,
985
- HiddenInput: _sfc_main$55,
986
- Indicator: _sfc_main$54,
987
- Root: _sfc_main$56,
988
- SelectAll: _sfc_main$53
985
+ Group: _sfc_main$70,
986
+ HiddenInput: _sfc_main$68,
987
+ Indicator: _sfc_main$67,
988
+ Root: _sfc_main$69,
989
+ SelectAll: _sfc_main$66
989
990
  };
990
991
  //#endregion
991
992
  //#region src/components/Dialog/DialogRoot.vue
992
993
  const [useDialogContext, provideDialogContext] = createContext();
993
- const _sfc_main$52 = /* @__PURE__ */ defineComponent({
994
+ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
994
995
  name: "DialogRoot",
995
996
  __name: "DialogRoot",
996
997
  props: /* @__PURE__ */ mergeModels({
@@ -1032,7 +1033,7 @@ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
1032
1033
  close
1033
1034
  }));
1034
1035
  return (_ctx, _cache) => {
1035
- return openBlock(), createBlock(unref(_sfc_main$68), {
1036
+ return openBlock(), createBlock(unref(_sfc_main$81), {
1036
1037
  as: __props.as,
1037
1038
  renderless: ""
1038
1039
  }, {
@@ -1044,7 +1045,7 @@ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
1044
1045
  });
1045
1046
  //#endregion
1046
1047
  //#region src/components/Dialog/DialogClose.vue
1047
- const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1048
+ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
1048
1049
  name: "DialogClose",
1049
1050
  __name: "DialogClose",
1050
1051
  props: {
@@ -1065,7 +1066,7 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1065
1066
  }
1066
1067
  }));
1067
1068
  return (_ctx, _cache) => {
1068
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
1069
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
1069
1070
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1070
1071
  _: 3
1071
1072
  }, 16, ["as"]);
@@ -1074,7 +1075,7 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1074
1075
  });
1075
1076
  //#endregion
1076
1077
  //#region src/components/Dialog/DialogContent.vue
1077
- const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1078
+ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
1078
1079
  name: "DialogContent",
1079
1080
  __name: "DialogContent",
1080
1081
  props: {
@@ -1142,7 +1143,7 @@ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1142
1143
  }
1143
1144
  }));
1144
1145
  return (_ctx, _cache) => {
1145
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
1146
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1146
1147
  ref: "content",
1147
1148
  as: __props.as,
1148
1149
  style: styles.value
@@ -1158,7 +1159,7 @@ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1158
1159
  });
1159
1160
  //#endregion
1160
1161
  //#region src/components/Dialog/DialogDescription.vue
1161
- const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1162
+ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
1162
1163
  name: "DialogDescription",
1163
1164
  __name: "DialogDescription",
1164
1165
  props: {
@@ -1170,7 +1171,7 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1170
1171
  const context = useDialogContext(__props.namespace);
1171
1172
  const slotProps = toRef(() => ({ attrs: { id: context.descriptionId } }));
1172
1173
  return (_ctx, _cache) => {
1173
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ as: __props.as }, slotProps.value.attrs), {
1174
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs), {
1174
1175
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1175
1176
  _: 3
1176
1177
  }, 16, ["as"]);
@@ -1179,7 +1180,7 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1179
1180
  });
1180
1181
  //#endregion
1181
1182
  //#region src/components/Dialog/DialogTitle.vue
1182
- const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1183
+ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
1183
1184
  name: "DialogTitle",
1184
1185
  __name: "DialogTitle",
1185
1186
  props: {
@@ -1191,7 +1192,7 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1191
1192
  const context = useDialogContext(__props.namespace);
1192
1193
  const slotProps = toRef(() => ({ attrs: { id: context.titleId } }));
1193
1194
  return (_ctx, _cache) => {
1194
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ as: __props.as }, slotProps.value.attrs), {
1195
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs), {
1195
1196
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1196
1197
  _: 3
1197
1198
  }, 16, ["as"]);
@@ -1200,7 +1201,7 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1200
1201
  });
1201
1202
  //#endregion
1202
1203
  //#region src/components/Dialog/DialogActivator.vue
1203
- const _sfc_main$47 = /* @__PURE__ */ defineComponent({
1204
+ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
1204
1205
  name: "DialogActivator",
1205
1206
  __name: "DialogActivator",
1206
1207
  props: {
@@ -1223,7 +1224,7 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
1223
1224
  }
1224
1225
  }));
1225
1226
  return (_ctx, _cache) => {
1226
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
1227
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
1227
1228
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1228
1229
  _: 3
1229
1230
  }, 16, ["as"]);
@@ -1262,17 +1263,17 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
1262
1263
  * ```
1263
1264
  */
1264
1265
  const Dialog = {
1265
- Root: _sfc_main$52,
1266
- Activator: _sfc_main$47,
1267
- Content: _sfc_main$50,
1268
- Title: _sfc_main$48,
1269
- Description: _sfc_main$49,
1270
- Close: _sfc_main$51
1266
+ Root: _sfc_main$65,
1267
+ Activator: _sfc_main$60,
1268
+ Content: _sfc_main$63,
1269
+ Title: _sfc_main$61,
1270
+ Description: _sfc_main$62,
1271
+ Close: _sfc_main$64
1271
1272
  };
1272
1273
  //#endregion
1273
1274
  //#region src/components/ExpansionPanel/ExpansionPanelRoot.vue
1274
1275
  const [useExpansionPanelRoot, provideExpansionPanelRoot] = createContext();
1275
- const _sfc_main$46 = /* @__PURE__ */ defineComponent({
1276
+ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
1276
1277
  name: "ExpansionPanelRoot",
1277
1278
  __name: "ExpansionPanelRoot",
1278
1279
  props: /* @__PURE__ */ mergeModels({
@@ -1319,7 +1320,7 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
1319
1320
  }));
1320
1321
  provideExpansionPanelRoot(__props.namespace, selection);
1321
1322
  return (_ctx, _cache) => {
1322
- return openBlock(), createBlock(unref(_sfc_main$68), {
1323
+ return openBlock(), createBlock(unref(_sfc_main$81), {
1323
1324
  as: __props.as,
1324
1325
  renderless: __props.renderless
1325
1326
  }, {
@@ -1332,7 +1333,7 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
1332
1333
  //#endregion
1333
1334
  //#region src/components/ExpansionPanel/ExpansionPanelItem.vue
1334
1335
  const [useExpansionPanelItem, provideExpansionPanelItem] = createContext({ suffix: "item" });
1335
- const _sfc_main$45 = /* @__PURE__ */ defineComponent({
1336
+ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
1336
1337
  name: "ExpansionPanelItem",
1337
1338
  __name: "ExpansionPanelItem",
1338
1339
  props: {
@@ -1366,7 +1367,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
1366
1367
  isDisabled
1367
1368
  });
1368
1369
  return (_ctx, _cache) => {
1369
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
1370
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
1370
1371
  as: __props.as,
1371
1372
  renderless: __props.renderless
1372
1373
  }), {
@@ -1378,7 +1379,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
1378
1379
  });
1379
1380
  //#endregion
1380
1381
  //#region src/components/ExpansionPanel/ExpansionPanelActivator.vue
1381
- const _sfc_main$44 = /* @__PURE__ */ defineComponent({
1382
+ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
1382
1383
  name: "ExpansionPanelActivator",
1383
1384
  __name: "ExpansionPanelActivator",
1384
1385
  props: {
@@ -1414,7 +1415,7 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
1414
1415
  }
1415
1416
  }));
1416
1417
  return (_ctx, _cache) => {
1417
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
1418
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
1418
1419
  as: __props.as,
1419
1420
  renderless: __props.renderless
1420
1421
  }), {
@@ -1426,7 +1427,7 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
1426
1427
  });
1427
1428
  //#endregion
1428
1429
  //#region src/components/ExpansionPanel/ExpansionPanelContent.vue
1429
- const _sfc_main$43 = /* @__PURE__ */ defineComponent({
1430
+ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
1430
1431
  name: "ExpansionPanelContent",
1431
1432
  __name: "ExpansionPanelContent",
1432
1433
  props: {
@@ -1447,7 +1448,7 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
1447
1448
  }
1448
1449
  }));
1449
1450
  return (_ctx, _cache) => {
1450
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
1451
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
1451
1452
  as: __props.as,
1452
1453
  renderless: __props.renderless
1453
1454
  }), {
@@ -1459,7 +1460,7 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
1459
1460
  });
1460
1461
  //#endregion
1461
1462
  //#region src/components/ExpansionPanel/ExpansionPanelHeader.vue
1462
- const _sfc_main$42 = /* @__PURE__ */ defineComponent({
1463
+ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
1463
1464
  name: "ExpansionPanelHeader",
1464
1465
  __name: "ExpansionPanelHeader",
1465
1466
  props: {
@@ -1474,7 +1475,7 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
1474
1475
  attrs: { "data-selected": item.ticket.isSelected.value || void 0 }
1475
1476
  }));
1476
1477
  return (_ctx, _cache) => {
1477
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
1478
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
1478
1479
  as: __props.as,
1479
1480
  renderless: __props.renderless
1480
1481
  }), {
@@ -1492,16 +1493,86 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
1492
1493
  * @see https://0.vuetifyjs.com/components/expansion-panels
1493
1494
  */
1494
1495
  const ExpansionPanel = {
1495
- Root: _sfc_main$46,
1496
- Item: _sfc_main$45,
1497
- Header: _sfc_main$42,
1498
- Activator: _sfc_main$44,
1499
- Content: _sfc_main$43
1496
+ Root: _sfc_main$59,
1497
+ Item: _sfc_main$58,
1498
+ Header: _sfc_main$55,
1499
+ Activator: _sfc_main$57,
1500
+ Content: _sfc_main$56
1500
1501
  };
1501
1502
  //#endregion
1503
+ //#region src/components/Form/Form.vue
1504
+ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
1505
+ name: "Form",
1506
+ inheritAttrs: false,
1507
+ __name: "Form",
1508
+ props: /* @__PURE__ */ mergeModels({
1509
+ namespace: { default: "v0:form" },
1510
+ disabled: {
1511
+ type: Boolean,
1512
+ default: false
1513
+ },
1514
+ readonly: {
1515
+ type: Boolean,
1516
+ default: false
1517
+ },
1518
+ as: { default: "form" },
1519
+ renderless: { type: Boolean }
1520
+ }, {
1521
+ "modelValue": {
1522
+ type: [Boolean, null],
1523
+ default: null
1524
+ },
1525
+ "modelModifiers": {}
1526
+ }),
1527
+ emits: /* @__PURE__ */ mergeModels([
1528
+ "update:model-value",
1529
+ "submit",
1530
+ "reset"
1531
+ ], ["update:modelValue"]),
1532
+ setup(__props, { emit: __emit }) {
1533
+ const emit = __emit;
1534
+ const model = useModel(__props, "modelValue");
1535
+ const form = createForm({
1536
+ disabled: toRef(() => __props.disabled),
1537
+ readonly: toRef(() => __props.readonly)
1538
+ });
1539
+ watchEffect(() => {
1540
+ model.value = form.isValid.value;
1541
+ });
1542
+ const attrs = useAttrs();
1543
+ provideContext(__props.namespace, form);
1544
+ async function onSubmit(event) {
1545
+ event.preventDefault();
1546
+ emit("submit", { valid: await form.submit() });
1547
+ }
1548
+ function onReset(event) {
1549
+ event.preventDefault();
1550
+ form.reset();
1551
+ emit("reset");
1552
+ }
1553
+ const slotProps = toRef(() => ({
1554
+ isValid: form.isValid.value,
1555
+ isValidating: form.isValidating.value,
1556
+ isDisabled: toValue(form.disabled),
1557
+ isReadonly: toValue(form.readonly),
1558
+ submit: form.submit,
1559
+ reset: form.reset
1560
+ }));
1561
+ return (_ctx, _cache) => {
1562
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, unref(attrs), {
1563
+ onReset,
1564
+ onSubmit
1565
+ }), {
1566
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1567
+ _: 3
1568
+ }, 16, ["as"]);
1569
+ };
1570
+ }
1571
+ });
1572
+ //#endregion
1502
1573
  //#region src/components/Group/GroupRoot.vue
1503
1574
  const [useGroupRoot, provideGroupRoot] = createContext();
1504
- const _sfc_main$41 = /* @__PURE__ */ defineComponent({
1575
+ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
1505
1576
  name: "GroupRoot",
1506
1577
  __name: "GroupRoot",
1507
1578
  props: /* @__PURE__ */ mergeModels({
@@ -1553,7 +1624,7 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
1553
1624
  });
1554
1625
  //#endregion
1555
1626
  //#region src/components/Group/GroupItem.vue
1556
- const _sfc_main$40 = /* @__PURE__ */ defineComponent({
1627
+ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
1557
1628
  name: "GroupItem",
1558
1629
  __name: "GroupItem",
1559
1630
  props: {
@@ -1610,105 +1681,159 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
1610
1681
  * @see https://0.vuetifyjs.com/components/group
1611
1682
  */
1612
1683
  const Group = {
1613
- Root: _sfc_main$41,
1614
- Item: _sfc_main$40
1684
+ Root: _sfc_main$53,
1685
+ Item: _sfc_main$52
1615
1686
  };
1616
1687
  //#endregion
1617
- //#region src/components/Pagination/PaginationRoot.vue
1618
- const [usePaginationRoot, providePaginationRoot] = createContext();
1619
- const [usePaginationControls, providePaginationControls] = createContext({ suffix: "controls" });
1620
- const [usePaginationItems, providePaginationItems] = createContext({ suffix: "items" });
1621
- const _sfc_main$39 = /* @__PURE__ */ defineComponent({
1622
- name: "PaginationRoot",
1623
- __name: "PaginationRoot",
1688
+ //#region src/components/Input/InputRoot.vue
1689
+ const [useInputRoot, provideInputRoot] = createContext();
1690
+ function parseValidateOn(value) {
1691
+ const parts = String(value).split(" ");
1692
+ let event = "blur";
1693
+ let modifier;
1694
+ for (const part of parts) if (part === "lazy" || part === "eager") modifier = part;
1695
+ else if (part === "blur" || part === "input" || part === "submit") event = part;
1696
+ return {
1697
+ event,
1698
+ modifier
1699
+ };
1700
+ }
1701
+ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
1702
+ name: "InputRoot",
1703
+ inheritAttrs: false,
1704
+ __name: "InputRoot",
1624
1705
  props: /* @__PURE__ */ mergeModels({
1625
- namespace: { default: "v0:pagination" },
1626
- size: { default: 1 },
1627
- totalVisible: {},
1628
- itemsPerPage: { default: 10 },
1629
- ellipsis: {
1630
- type: [String, Boolean],
1631
- default: "..."
1706
+ id: { default: () => useId() },
1707
+ label: {},
1708
+ name: {},
1709
+ type: { default: "text" },
1710
+ form: {},
1711
+ disabled: { default: false },
1712
+ readonly: { default: false },
1713
+ required: { type: Boolean },
1714
+ rules: { default: () => [] },
1715
+ validateOn: { default: "blur" },
1716
+ error: {
1717
+ type: Boolean,
1718
+ default: false
1632
1719
  },
1633
- as: { default: "nav" },
1720
+ errorMessages: {},
1721
+ namespace: { default: "v0:input:root" },
1722
+ as: { default: "div" },
1634
1723
  renderless: { type: Boolean }
1635
1724
  }, {
1636
- "modelValue": { default: 1 },
1725
+ "modelValue": { default: "" },
1637
1726
  "modelModifiers": {}
1638
1727
  }),
1639
- emits: /* @__PURE__ */ mergeModels(["update:model-value"], ["update:modelValue"]),
1728
+ emits: /* @__PURE__ */ mergeModels(["update:model-value", "update:isFocused"], ["update:modelValue"]),
1640
1729
  setup(__props) {
1641
- const page = useModel(__props, "modelValue");
1642
- const locale = useLocale();
1643
- const controls = createRegistry();
1644
- const items = createRegistry();
1645
- const atom = useTemplateRef("atom");
1646
- const itemWidth = shallowRef(0);
1647
- const itemGap = shallowRef(0);
1648
- const overflow = createOverflow({
1649
- container: () => atom.value?.element,
1650
- itemWidth,
1651
- gap: itemGap
1730
+ const attrs = useAttrs();
1731
+ const model = useModel(__props, "modelValue");
1732
+ const parsed = toRef(() => parseValidateOn(__props.validateOn));
1733
+ const validation = createValidation({
1734
+ rules: __props.rules,
1735
+ value: model
1652
1736
  });
1653
- /* v8 ignore start -- browser-only measurement code */
1654
- watch([() => items.size, () => overflow.width.value], () => {
1655
- if (!IN_BROWSER) return;
1656
- const el = items.seek("first")?.value;
1657
- const root = overflow.container.value;
1658
- if (!el || !root) return;
1659
- requestAnimationFrame(() => {
1660
- const rootStyle = getComputedStyle(root);
1661
- const style = getComputedStyle(el);
1662
- const marginX = Number.parseFloat(style.marginLeft) + Number.parseFloat(style.marginRight);
1663
- const gapX = Number.parseFloat(rootStyle.gap) || 0;
1664
- itemWidth.value = el.offsetWidth + marginX;
1665
- itemGap.value = gapX;
1666
- });
1667
- }, { flush: "post" });
1668
- const pagination = createPagination({
1669
- page,
1670
- visible: computed(() => {
1671
- const totalCap = overflow.capacity.value;
1672
- if (totalCap === Infinity) return __props.totalVisible ?? 7;
1673
- /* v8 ignore start -- branches require browser measurement */
1674
- const pageCap = Math.max(0, totalCap - controls.size);
1675
- const noVisible = /* @__PURE__ */ isNullOrUndefined(__props.totalVisible);
1676
- if (pageCap > 0) return noVisible ? pageCap : Math.min(__props.totalVisible, pageCap);
1677
- return noVisible ? 1 : __props.totalVisible;
1678
- /* v8 ignore stop */
1679
- }),
1680
- ellipsis: __props.ellipsis,
1681
- size: () => __props.size,
1682
- itemsPerPage: () => __props.itemsPerPage
1737
+ const initialValue = model.value;
1738
+ const isPristine = shallowRef(true);
1739
+ const isFocused = shallowRef(false);
1740
+ const touched = shallowRef(false);
1741
+ const hasDescription = shallowRef(false);
1742
+ const hasError = shallowRef(false);
1743
+ const isDirty = toRef(() => model.value.length > 0);
1744
+ const isDisabled = toRef(() => toValue(__props.disabled));
1745
+ const isReadonly = toRef(() => toValue(__props.readonly));
1746
+ const descriptionId = `${__props.id}-description`;
1747
+ const errorId = `${__props.id}-error`;
1748
+ const errors = computed(() => {
1749
+ return [...__props.errorMessages ? toArray(__props.errorMessages) : [], ...validation.errors.value];
1750
+ });
1751
+ const isValid = toRef(() => {
1752
+ if (__props.error) return false;
1753
+ if (errors.value.length > 0 && validation.errors.value.length === 0) return false;
1754
+ return validation.isValid.value;
1755
+ });
1756
+ function shouldValidate(trigger) {
1757
+ const { event, modifier } = parsed.value;
1758
+ if (event === "submit") return false;
1759
+ if (modifier === "lazy" && !touched.value) return false;
1760
+ if (modifier === "eager" && validation.isValid.value === false) return true;
1761
+ return trigger === event;
1762
+ }
1763
+ watch(isFocused, (val) => {
1764
+ if (val) return;
1765
+ touched.value = true;
1766
+ if (shouldValidate("blur")) validation.validate();
1683
1767
  });
1768
+ watch(model, (val) => {
1769
+ isPristine.value = val === initialValue;
1770
+ if (shouldValidate("input")) validation.validate();
1771
+ });
1772
+ function validate() {
1773
+ return validation.validate();
1774
+ }
1775
+ function reset() {
1776
+ model.value = initialValue;
1777
+ isPristine.value = true;
1778
+ touched.value = false;
1779
+ validation.reset();
1780
+ }
1781
+ const state = toRef(() => {
1782
+ if (isValid.value === false) return "invalid";
1783
+ if (isValid.value === true) return "valid";
1784
+ return "pristine";
1785
+ });
1786
+ const context = {
1787
+ id: __props.id,
1788
+ label: __props.label,
1789
+ name: __props.name,
1790
+ type: __props.type,
1791
+ form: __props.form,
1792
+ required: __props.required,
1793
+ descriptionId,
1794
+ errorId,
1795
+ hasDescription,
1796
+ hasError,
1797
+ value: model,
1798
+ isDirty,
1799
+ isFocused,
1800
+ isDisabled,
1801
+ isReadonly,
1802
+ errors,
1803
+ isValid,
1804
+ isPristine,
1805
+ isValidating: validation.isValidating,
1806
+ validate,
1807
+ reset
1808
+ };
1809
+ provideInputRoot(__props.namespace, context);
1684
1810
  const slotProps = toRef(() => ({
1685
- page: pagination.page.value,
1686
- size: pagination.size,
1687
- pages: pagination.pages,
1688
- itemsPerPage: pagination.itemsPerPage,
1689
- items: pagination.items.value,
1690
- pageStart: pagination.pageStart.value,
1691
- pageStop: pagination.pageStop.value,
1692
- isFirst: pagination.isFirst.value,
1693
- isLast: pagination.isLast.value,
1694
- first: pagination.first,
1695
- last: pagination.last,
1696
- next: pagination.next,
1697
- prev: pagination.prev,
1698
- select: pagination.select,
1811
+ id: __props.id,
1812
+ label: __props.label,
1813
+ value: model.value,
1814
+ isDirty: isDirty.value,
1815
+ isFocused: isFocused.value,
1816
+ errors: errors.value,
1817
+ isValid: isValid.value,
1818
+ isPristine: isPristine.value,
1819
+ isValidating: validation.isValidating.value,
1820
+ isDisabled: isDisabled.value,
1821
+ isReadonly: isReadonly.value,
1822
+ validate,
1823
+ reset,
1699
1824
  attrs: {
1700
- "aria-label": locale.t("Pagination.label", void 0, "Pagination"),
1701
- "role": __props.as === "nav" ? void 0 : "navigation"
1825
+ "data-state": state.value,
1826
+ "data-dirty": isDirty.value ? true : void 0,
1827
+ "data-focused": isFocused.value ? true : void 0,
1828
+ "data-disabled": isDisabled.value ? true : void 0,
1829
+ "data-readonly": isReadonly.value ? true : void 0
1702
1830
  }
1703
1831
  }));
1704
- providePaginationRoot(__props.namespace, pagination);
1705
- providePaginationControls(__props.namespace, controls);
1706
- providePaginationItems(__props.namespace, items);
1707
1832
  return (_ctx, _cache) => {
1708
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
1709
- ref_key: "atom",
1710
- ref: atom
1711
- }, slotProps.value.attrs, {
1833
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1834
+ ...unref(attrs),
1835
+ ...slotProps.value.attrs
1836
+ }, {
1712
1837
  as: __props.as,
1713
1838
  renderless: __props.renderless
1714
1839
  }), {
@@ -1719,51 +1844,349 @@ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
1719
1844
  }
1720
1845
  });
1721
1846
  //#endregion
1722
- //#region src/components/Pagination/PaginationEllipsis.vue
1723
- const _sfc_main$38 = /* @__PURE__ */ defineComponent({
1724
- name: "PaginationEllipsis",
1725
- __name: "PaginationEllipsis",
1847
+ //#region src/components/Input/InputControl.vue
1848
+ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
1849
+ name: "InputControl",
1850
+ inheritAttrs: false,
1851
+ __name: "InputControl",
1726
1852
  props: {
1727
- namespace: { default: "v0:pagination" },
1728
- ellipsis: {},
1729
- id: { default: () => useId() },
1730
- as: { default: "span" },
1853
+ namespace: { default: "v0:input:root" },
1854
+ as: { default: "input" },
1731
1855
  renderless: { type: Boolean }
1732
1856
  },
1733
1857
  setup(__props) {
1734
- const pagination = usePaginationRoot(__props.namespace);
1735
- const items = usePaginationItems(__props.namespace);
1736
- const atom = useTemplateRef("atom");
1737
- watch(() => atom.value?.element, (el) => {
1738
- if (!el) return;
1739
- items.register({
1740
- id: __props.id,
1741
- value: el
1742
- });
1743
- }, { immediate: true });
1744
- const resolvedEllipsis = toRef(() => __props.ellipsis ?? pagination.ellipsis);
1858
+ const attrs = useAttrs();
1859
+ const root = useInputRoot(__props.namespace);
1860
+ function onInput(e) {
1861
+ const target = e.target;
1862
+ root.value.value = target.value;
1863
+ }
1864
+ function onFocus() {
1865
+ root.isFocused.value = true;
1866
+ }
1867
+ function onBlur() {
1868
+ root.isFocused.value = false;
1869
+ }
1870
+ const describedby = toRef(() => {
1871
+ return root.hasDescription.value ? root.descriptionId : void 0;
1872
+ });
1873
+ const controlAttrs = toRef(() => {
1874
+ const invalid = root.isValid.value === false;
1875
+ const disabled = root.isDisabled.value;
1876
+ const readonly = root.isReadonly.value;
1877
+ const isFocused = root.isFocused.value;
1878
+ return {
1879
+ "id": root.id,
1880
+ "type": root.type,
1881
+ "name": root.name,
1882
+ "value": root.value.value,
1883
+ "form": root.form,
1884
+ "disabled": disabled || void 0,
1885
+ "readonly": readonly || void 0,
1886
+ "required": root.required || void 0,
1887
+ "aria-invalid": invalid || void 0,
1888
+ "aria-label": root.label || void 0,
1889
+ "aria-describedby": describedby.value,
1890
+ "aria-errormessage": root.hasError.value && root.errors.value.length > 0 ? root.errorId : void 0,
1891
+ "aria-required": root.required || void 0,
1892
+ "data-state": invalid ? "invalid" : root.isValid.value === true ? "valid" : "pristine",
1893
+ "data-focused": isFocused ? true : void 0,
1894
+ "data-disabled": disabled ? true : void 0,
1895
+ "data-readonly": readonly ? true : void 0
1896
+ };
1897
+ });
1745
1898
  const slotProps = toRef(() => ({
1746
- ellipsis: resolvedEllipsis.value,
1747
- attrs: { "aria-hidden": "true" }
1899
+ value: root.value.value,
1900
+ isFocused: root.isFocused.value,
1901
+ isDisabled: root.isDisabled.value,
1902
+ isReadonly: root.isReadonly.value,
1903
+ attrs: controlAttrs.value
1748
1904
  }));
1749
- onBeforeUnmount(() => items.unregister(__props.id));
1750
1905
  return (_ctx, _cache) => {
1751
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
1752
- ref_key: "atom",
1753
- ref: atom
1754
- }, slotProps.value.attrs, {
1906
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1907
+ ...unref(attrs),
1908
+ ...controlAttrs.value
1909
+ }, {
1755
1910
  as: __props.as,
1756
- renderless: __props.renderless
1911
+ renderless: __props.renderless,
1912
+ onBlur,
1913
+ onFocus,
1914
+ onInput
1757
1915
  }), {
1758
- default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)), () => [createTextVNode(toDisplayString(resolvedEllipsis.value), 1), createCommentVNode(" v8 ignore -- template fallback ")])]),
1916
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1759
1917
  _: 3
1760
1918
  }, 16, ["as", "renderless"]);
1761
1919
  };
1762
1920
  }
1763
1921
  });
1764
1922
  //#endregion
1765
- //#region src/components/Pagination/PaginationFirst.vue
1766
- const _sfc_main$37 = /* @__PURE__ */ defineComponent({
1923
+ //#region src/components/Input/InputDescription.vue
1924
+ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
1925
+ name: "InputDescription",
1926
+ inheritAttrs: false,
1927
+ __name: "InputDescription",
1928
+ props: {
1929
+ namespace: { default: "v0:input:root" },
1930
+ as: { default: "span" },
1931
+ renderless: { type: Boolean }
1932
+ },
1933
+ setup(__props) {
1934
+ const attrs = useAttrs();
1935
+ const root = useInputRoot(__props.namespace);
1936
+ onMounted(() => {
1937
+ root.hasDescription.value = true;
1938
+ });
1939
+ onBeforeUnmount(() => {
1940
+ root.hasDescription.value = false;
1941
+ });
1942
+ return (_ctx, _cache) => {
1943
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(unref(attrs), {
1944
+ id: unref(root).descriptionId,
1945
+ as: __props.as,
1946
+ renderless: __props.renderless
1947
+ }), {
1948
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { id: unref(root).descriptionId })]),
1949
+ _: 3
1950
+ }, 16, [
1951
+ "id",
1952
+ "as",
1953
+ "renderless"
1954
+ ]);
1955
+ };
1956
+ }
1957
+ });
1958
+ //#endregion
1959
+ //#region src/components/Input/InputError.vue
1960
+ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
1961
+ name: "InputError",
1962
+ inheritAttrs: false,
1963
+ __name: "InputError",
1964
+ props: {
1965
+ namespace: { default: "v0:input:root" },
1966
+ as: { default: "span" },
1967
+ renderless: { type: Boolean }
1968
+ },
1969
+ setup(__props) {
1970
+ const attrs = useAttrs();
1971
+ const root = useInputRoot(__props.namespace);
1972
+ const errors = root.errors;
1973
+ onMounted(() => {
1974
+ root.hasError.value = true;
1975
+ });
1976
+ onBeforeUnmount(() => {
1977
+ root.hasError.value = false;
1978
+ });
1979
+ const slotProps = toRef(() => ({
1980
+ id: root.errorId,
1981
+ errors: errors.value,
1982
+ attrs: {
1983
+ "id": root.errorId,
1984
+ "aria-live": "polite",
1985
+ "data-state": errors.value.length > 0 ? "visible" : "hidden"
1986
+ }
1987
+ }));
1988
+ return (_ctx, _cache) => {
1989
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1990
+ ...unref(attrs),
1991
+ ...slotProps.value.attrs
1992
+ }, {
1993
+ as: __props.as,
1994
+ renderless: __props.renderless
1995
+ }), {
1996
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
1997
+ _: 3
1998
+ }, 16, ["as", "renderless"]);
1999
+ };
2000
+ }
2001
+ });
2002
+ //#endregion
2003
+ //#region src/components/Input/index.ts
2004
+ /**
2005
+ * Input component with sub-components for text input controls.
2006
+ *
2007
+ * @see https://0.vuetifyjs.com/components/forms/input
2008
+ *
2009
+ * @example
2010
+ * ```vue
2011
+ * <script setup lang="ts">
2012
+ * import { Input } from '@vuetify/v0'
2013
+ * import { ref } from 'vue'
2014
+ *
2015
+ * const email = ref('')
2016
+ * <\/script>
2017
+ *
2018
+ * <template>
2019
+ * <Input.Root
2020
+ * v-model="email"
2021
+ * label="Email"
2022
+ * :rules="[(v) => !!v || 'Required', (v) => /.+@.+/.test(v) || 'Invalid email']"
2023
+ * >
2024
+ * <Input.Control />
2025
+ * <Input.Description>We'll never share your email.</Input.Description>
2026
+ * <Input.Error v-slot="{ errors }">
2027
+ * <span v-for="error in errors" :key="error">{{ error }}</span>
2028
+ * </Input.Error>
2029
+ * </Input.Root>
2030
+ * </template>
2031
+ * ```
2032
+ */
2033
+ const Input = {
2034
+ Control: _sfc_main$50,
2035
+ Description: _sfc_main$49,
2036
+ Error: _sfc_main$48,
2037
+ Root: _sfc_main$51
2038
+ };
2039
+ //#endregion
2040
+ //#region src/components/Pagination/PaginationRoot.vue
2041
+ const [usePaginationRoot, providePaginationRoot] = createContext();
2042
+ const [usePaginationControls, providePaginationControls] = createContext({ suffix: "controls" });
2043
+ const [usePaginationItems, providePaginationItems] = createContext({ suffix: "items" });
2044
+ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
2045
+ name: "PaginationRoot",
2046
+ __name: "PaginationRoot",
2047
+ props: /* @__PURE__ */ mergeModels({
2048
+ namespace: { default: "v0:pagination" },
2049
+ size: { default: 1 },
2050
+ totalVisible: {},
2051
+ itemsPerPage: { default: 10 },
2052
+ ellipsis: {
2053
+ type: [String, Boolean],
2054
+ default: "..."
2055
+ },
2056
+ as: { default: "nav" },
2057
+ renderless: { type: Boolean }
2058
+ }, {
2059
+ "modelValue": { default: 1 },
2060
+ "modelModifiers": {}
2061
+ }),
2062
+ emits: /* @__PURE__ */ mergeModels(["update:model-value"], ["update:modelValue"]),
2063
+ setup(__props) {
2064
+ const page = useModel(__props, "modelValue");
2065
+ const locale = useLocale();
2066
+ const controls = createRegistry();
2067
+ const items = createRegistry();
2068
+ const atom = useTemplateRef("atom");
2069
+ const itemWidth = shallowRef(0);
2070
+ const itemGap = shallowRef(0);
2071
+ const overflow = createOverflow({
2072
+ container: () => atom.value?.element,
2073
+ itemWidth,
2074
+ gap: itemGap
2075
+ });
2076
+ /* v8 ignore start -- browser-only measurement code */
2077
+ watch([() => items.size, () => overflow.width.value], () => {
2078
+ if (!IN_BROWSER) return;
2079
+ const el = items.seek("first")?.value;
2080
+ const root = overflow.container.value;
2081
+ if (!el || !root) return;
2082
+ requestAnimationFrame(() => {
2083
+ const rootStyle = getComputedStyle(root);
2084
+ const style = getComputedStyle(el);
2085
+ const marginX = Number.parseFloat(style.marginLeft) + Number.parseFloat(style.marginRight);
2086
+ const gapX = Number.parseFloat(rootStyle.gap) || 0;
2087
+ itemWidth.value = el.offsetWidth + marginX;
2088
+ itemGap.value = gapX;
2089
+ });
2090
+ }, { flush: "post" });
2091
+ const pagination = createPagination({
2092
+ page,
2093
+ visible: computed(() => {
2094
+ const totalCap = overflow.capacity.value;
2095
+ if (totalCap === Infinity) return __props.totalVisible ?? 7;
2096
+ /* v8 ignore start -- branches require browser measurement */
2097
+ const pageCap = Math.max(0, totalCap - controls.size);
2098
+ const noVisible = /* @__PURE__ */ isNullOrUndefined(__props.totalVisible);
2099
+ if (pageCap > 0) return noVisible ? pageCap : Math.min(__props.totalVisible, pageCap);
2100
+ return noVisible ? 1 : __props.totalVisible;
2101
+ /* v8 ignore stop */
2102
+ }),
2103
+ ellipsis: __props.ellipsis,
2104
+ size: () => __props.size,
2105
+ itemsPerPage: () => __props.itemsPerPage
2106
+ });
2107
+ const slotProps = toRef(() => ({
2108
+ page: pagination.page.value,
2109
+ size: pagination.size,
2110
+ pages: pagination.pages,
2111
+ itemsPerPage: pagination.itemsPerPage,
2112
+ items: pagination.items.value,
2113
+ pageStart: pagination.pageStart.value,
2114
+ pageStop: pagination.pageStop.value,
2115
+ isFirst: pagination.isFirst.value,
2116
+ isLast: pagination.isLast.value,
2117
+ first: pagination.first,
2118
+ last: pagination.last,
2119
+ next: pagination.next,
2120
+ prev: pagination.prev,
2121
+ select: pagination.select,
2122
+ attrs: {
2123
+ "aria-label": locale.t("Pagination.label", void 0, "Pagination"),
2124
+ "role": __props.as === "nav" ? void 0 : "navigation"
2125
+ }
2126
+ }));
2127
+ providePaginationRoot(__props.namespace, pagination);
2128
+ providePaginationControls(__props.namespace, controls);
2129
+ providePaginationItems(__props.namespace, items);
2130
+ return (_ctx, _cache) => {
2131
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2132
+ ref_key: "atom",
2133
+ ref: atom
2134
+ }, slotProps.value.attrs, {
2135
+ as: __props.as,
2136
+ renderless: __props.renderless
2137
+ }), {
2138
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
2139
+ _: 3
2140
+ }, 16, ["as", "renderless"]);
2141
+ };
2142
+ }
2143
+ });
2144
+ //#endregion
2145
+ //#region src/components/Pagination/PaginationEllipsis.vue
2146
+ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
2147
+ name: "PaginationEllipsis",
2148
+ __name: "PaginationEllipsis",
2149
+ props: {
2150
+ namespace: { default: "v0:pagination" },
2151
+ ellipsis: {},
2152
+ id: { default: () => useId() },
2153
+ as: { default: "span" },
2154
+ renderless: { type: Boolean }
2155
+ },
2156
+ setup(__props) {
2157
+ const pagination = usePaginationRoot(__props.namespace);
2158
+ const items = usePaginationItems(__props.namespace);
2159
+ const atom = useTemplateRef("atom");
2160
+ watch(() => atom.value?.element, (el) => {
2161
+ if (!el) return;
2162
+ items.register({
2163
+ id: __props.id,
2164
+ value: el
2165
+ });
2166
+ }, { immediate: true });
2167
+ const resolvedEllipsis = toRef(() => __props.ellipsis ?? pagination.ellipsis);
2168
+ const slotProps = toRef(() => ({
2169
+ ellipsis: resolvedEllipsis.value,
2170
+ attrs: { "aria-hidden": "true" }
2171
+ }));
2172
+ onBeforeUnmount(() => items.unregister(__props.id));
2173
+ return (_ctx, _cache) => {
2174
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2175
+ ref_key: "atom",
2176
+ ref: atom
2177
+ }, slotProps.value.attrs, {
2178
+ as: __props.as,
2179
+ renderless: __props.renderless
2180
+ }), {
2181
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)), () => [createTextVNode(toDisplayString(resolvedEllipsis.value), 1), createCommentVNode(" v8 ignore -- template fallback ")])]),
2182
+ _: 3
2183
+ }, 16, ["as", "renderless"]);
2184
+ };
2185
+ }
2186
+ });
2187
+ //#endregion
2188
+ //#region src/components/Pagination/PaginationFirst.vue
2189
+ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
1767
2190
  name: "PaginationFirst",
1768
2191
  __name: "PaginationFirst",
1769
2192
  props: {
@@ -1805,7 +2228,7 @@ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
1805
2228
  }));
1806
2229
  onBeforeUnmount(() => controls.unregister(__props.id));
1807
2230
  return (_ctx, _cache) => {
1808
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2231
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1809
2232
  ref_key: "atom",
1810
2233
  ref: atom
1811
2234
  }, slotProps.value.attrs, {
@@ -1820,7 +2243,7 @@ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
1820
2243
  });
1821
2244
  //#endregion
1822
2245
  //#region src/components/Pagination/PaginationItem.vue
1823
- const _sfc_main$36 = /* @__PURE__ */ defineComponent({
2246
+ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
1824
2247
  name: "PaginationItem",
1825
2248
  __name: "PaginationItem",
1826
2249
  props: {
@@ -1873,7 +2296,7 @@ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
1873
2296
  }));
1874
2297
  onBeforeUnmount(() => items.unregister(__props.id));
1875
2298
  return (_ctx, _cache) => {
1876
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2299
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1877
2300
  ref_key: "atom",
1878
2301
  ref: atom
1879
2302
  }, slotProps.value.attrs, {
@@ -1888,7 +2311,7 @@ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
1888
2311
  });
1889
2312
  //#endregion
1890
2313
  //#region src/components/Pagination/PaginationLast.vue
1891
- const _sfc_main$35 = /* @__PURE__ */ defineComponent({
2314
+ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
1892
2315
  name: "PaginationLast",
1893
2316
  __name: "PaginationLast",
1894
2317
  props: {
@@ -1930,7 +2353,7 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
1930
2353
  }));
1931
2354
  onBeforeUnmount(() => controls.unregister(__props.id));
1932
2355
  return (_ctx, _cache) => {
1933
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2356
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1934
2357
  ref_key: "atom",
1935
2358
  ref: atom
1936
2359
  }, slotProps.value.attrs, {
@@ -1945,7 +2368,7 @@ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
1945
2368
  });
1946
2369
  //#endregion
1947
2370
  //#region src/components/Pagination/PaginationNext.vue
1948
- const _sfc_main$34 = /* @__PURE__ */ defineComponent({
2371
+ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
1949
2372
  name: "PaginationNext",
1950
2373
  __name: "PaginationNext",
1951
2374
  props: {
@@ -1987,7 +2410,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
1987
2410
  }));
1988
2411
  onBeforeUnmount(() => controls.unregister(__props.id));
1989
2412
  return (_ctx, _cache) => {
1990
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2413
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
1991
2414
  ref_key: "atom",
1992
2415
  ref: atom
1993
2416
  }, slotProps.value.attrs, {
@@ -2002,7 +2425,7 @@ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
2002
2425
  });
2003
2426
  //#endregion
2004
2427
  //#region src/components/Pagination/PaginationPrev.vue
2005
- const _sfc_main$33 = /* @__PURE__ */ defineComponent({
2428
+ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
2006
2429
  name: "PaginationPrev",
2007
2430
  __name: "PaginationPrev",
2008
2431
  props: {
@@ -2044,7 +2467,7 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
2044
2467
  }));
2045
2468
  onBeforeUnmount(() => controls.unregister(__props.id));
2046
2469
  return (_ctx, _cache) => {
2047
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2470
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2048
2471
  ref_key: "atom",
2049
2472
  ref: atom
2050
2473
  }, slotProps.value.attrs, {
@@ -2059,7 +2482,7 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
2059
2482
  });
2060
2483
  //#endregion
2061
2484
  //#region src/components/Pagination/PaginationStatus.vue
2062
- const _sfc_main$32 = /* @__PURE__ */ defineComponent({
2485
+ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
2063
2486
  name: "PaginationStatus",
2064
2487
  __name: "PaginationStatus",
2065
2488
  props: {
@@ -2093,7 +2516,7 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
2093
2516
  }
2094
2517
  }));
2095
2518
  return (_ctx, _cache) => {
2096
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
2519
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
2097
2520
  as: __props.as,
2098
2521
  renderless: __props.renderless
2099
2522
  }), {
@@ -2111,19 +2534,19 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
2111
2534
  * @see https://0.vuetifyjs.com/components/pagination
2112
2535
  */
2113
2536
  const Pagination = {
2114
- Root: _sfc_main$39,
2115
- Item: _sfc_main$36,
2116
- First: _sfc_main$37,
2117
- Prev: _sfc_main$33,
2118
- Ellipsis: _sfc_main$38,
2119
- Next: _sfc_main$34,
2120
- Last: _sfc_main$35,
2121
- Status: _sfc_main$32
2537
+ Root: _sfc_main$47,
2538
+ Item: _sfc_main$44,
2539
+ First: _sfc_main$45,
2540
+ Prev: _sfc_main$41,
2541
+ Ellipsis: _sfc_main$46,
2542
+ Next: _sfc_main$42,
2543
+ Last: _sfc_main$43,
2544
+ Status: _sfc_main$40
2122
2545
  };
2123
2546
  //#endregion
2124
2547
  //#region src/components/Popover/PopoverRoot.vue
2125
2548
  const [usePopoverContext, providePopoverContext] = createContext("Popover");
2126
- const _sfc_main$31 = /* @__PURE__ */ defineComponent({
2549
+ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
2127
2550
  name: "PopoverRoot",
2128
2551
  __name: "PopoverRoot",
2129
2552
  props: /* @__PURE__ */ mergeModels({
@@ -2140,22 +2563,21 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
2140
2563
  emits: ["update:modelValue"],
2141
2564
  setup(__props) {
2142
2565
  const isSelected = useModel(__props, "modelValue");
2143
- const id = __props.id ?? useId();
2144
- function toggle() {
2145
- isSelected.value = !isSelected.value;
2146
- }
2566
+ const popover = usePopover({
2567
+ id: __props.id,
2568
+ isOpen: isSelected
2569
+ });
2147
2570
  providePopoverContext({
2148
- isSelected,
2149
- toggle,
2150
- id
2571
+ ...popover,
2572
+ isSelected
2151
2573
  });
2152
2574
  const slotProps = toRef(() => ({
2153
- id,
2575
+ id: popover.id,
2154
2576
  isSelected: isSelected.value,
2155
- toggle
2577
+ toggle: popover.toggle
2156
2578
  }));
2157
2579
  return (_ctx, _cache) => {
2158
- return openBlock(), createBlock(unref(_sfc_main$68), {
2580
+ return openBlock(), createBlock(unref(_sfc_main$81), {
2159
2581
  as: __props.as,
2160
2582
  renderless: ""
2161
2583
  }, {
@@ -2167,7 +2589,7 @@ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
2167
2589
  });
2168
2590
  //#endregion
2169
2591
  //#region src/components/Popover/PopoverActivator.vue
2170
- const _sfc_main$30 = /* @__PURE__ */ defineComponent({
2592
+ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
2171
2593
  name: "PopoverActivator",
2172
2594
  __name: "PopoverActivator",
2173
2595
  props: {
@@ -2179,17 +2601,20 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
2179
2601
  const props = createPropsRestProxy(__props, ["as"]);
2180
2602
  const context = usePopoverContext();
2181
2603
  const popovertarget = toRef(() => props.target ?? context.id);
2182
- const style = toRef(() => ({ anchorName: `--${toValue(popovertarget)}` }));
2604
+ const style = toRef(() => {
2605
+ if (props.target) return { anchorName: `--${props.target}` };
2606
+ return context.anchorStyles.value;
2607
+ });
2183
2608
  const slotProps = toRef(() => ({
2184
- isOpen: context.isSelected.value,
2609
+ isOpen: context.isOpen.value,
2185
2610
  attrs: {
2186
2611
  "popovertarget": toValue(popovertarget),
2187
2612
  "type": __props.as === "button" ? "button" : void 0,
2188
- "data-popover-open": context.isSelected.value ? "" : void 0
2613
+ "data-popover-open": context.isOpen.value ? "" : void 0
2189
2614
  }
2190
2615
  }));
2191
2616
  return (_ctx, _cache) => {
2192
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2617
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2193
2618
  as: __props.as,
2194
2619
  style: style.value
2195
2620
  }, slotProps.value.attrs), {
@@ -2201,13 +2626,13 @@ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
2201
2626
  });
2202
2627
  //#endregion
2203
2628
  //#region src/components/Popover/PopoverContent.vue
2204
- const _sfc_main$29 = /* @__PURE__ */ defineComponent({
2629
+ const _sfc_main$37 = /* @__PURE__ */ defineComponent({
2205
2630
  name: "PopoverContent",
2206
2631
  __name: "PopoverContent",
2207
2632
  props: {
2208
2633
  id: {},
2209
- positionArea: { default: "bottom" },
2210
- positionTry: { default: "most-width bottom" },
2634
+ positionArea: {},
2635
+ positionTry: {},
2211
2636
  as: {},
2212
2637
  renderless: { type: Boolean }
2213
2638
  },
@@ -2218,50 +2643,35 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
2218
2643
  const context = usePopoverContext();
2219
2644
  const ref = useTemplateRef("ref");
2220
2645
  const id = toRef(() => props.id ?? context.id);
2221
- const style = toRef(() => ({
2222
- "position": "fixed",
2223
- "margin": "unset",
2224
- "inset-area": __props.positionArea,
2225
- "position-area": __props.positionArea,
2226
- "position-anchor": `--${toValue(id)}`,
2227
- "position-try-fallbacks": __props.positionTry
2228
- }));
2229
- /* v8 ignore start -- browser popover API */
2230
- onMounted(() => {
2231
- if (context.isSelected.value) ref.value?.element?.showPopover();
2232
- });
2233
- watch(context.isSelected, (isOpen) => {
2234
- const element = ref.value?.element;
2235
- if (!element?.isConnected) return;
2236
- if (isOpen === element.matches?.(":popover-open")) return;
2237
- if (isOpen) element.showPopover?.();
2238
- else element.hidePopover?.();
2646
+ const style = toRef(() => {
2647
+ if (props.id) return {
2648
+ "position": "fixed",
2649
+ "margin": "unset",
2650
+ "inset-area": __props.positionArea ?? "bottom",
2651
+ "position-area": __props.positionArea ?? "bottom",
2652
+ "position-anchor": `--${props.id}`,
2653
+ "position-try-fallbacks": __props.positionTry ?? "most-width bottom"
2654
+ };
2655
+ return context.contentStyles.value;
2239
2656
  });
2240
- function onToggle(e) {
2241
- if (!ref.value?.element?.isConnected) return;
2242
- context.isSelected.value = e.newState === "open";
2243
- }
2244
- /* v8 ignore stop */
2657
+ context.attach(() => ref.value?.element);
2245
2658
  function onBeforeToggle(e) {
2246
2659
  emit("beforetoggle", e);
2247
2660
  }
2248
2661
  const slotProps = toRef(() => ({
2249
- isOpen: context.isSelected.value,
2662
+ isOpen: context.isOpen.value,
2250
2663
  attrs: {
2251
- id: toValue(id),
2664
+ id: id.value,
2252
2665
  popover: ""
2253
2666
  }
2254
2667
  }));
2255
2668
  return (_ctx, _cache) => {
2256
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
2669
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2257
2670
  ref_key: "ref",
2258
2671
  ref,
2259
2672
  as: props.as,
2260
2673
  style: style.value
2261
- }, slotProps.value.attrs, {
2262
- onBeforetoggle: onBeforeToggle,
2263
- onToggle
2264
- }), {
2674
+ }, slotProps.value.attrs, { onBeforetoggle: onBeforeToggle }), {
2265
2675
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
2266
2676
  _: 3
2267
2677
  }, 16, ["as", "style"]);
@@ -2276,14 +2686,14 @@ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
2276
2686
  * @see https://0.vuetifyjs.com/components/popover
2277
2687
  */
2278
2688
  const Popover = {
2279
- Root: _sfc_main$31,
2280
- Activator: _sfc_main$30,
2281
- Content: _sfc_main$29
2689
+ Root: _sfc_main$39,
2690
+ Activator: _sfc_main$38,
2691
+ Content: _sfc_main$37
2282
2692
  };
2283
2693
  //#endregion
2284
2694
  //#region src/components/Radio/RadioGroup.vue
2285
2695
  const [useRadioGroup, provideRadioGroup] = createContext();
2286
- const _sfc_main$28 = /* @__PURE__ */ defineComponent({
2696
+ const _sfc_main$36 = /* @__PURE__ */ defineComponent({
2287
2697
  name: "RadioGroup",
2288
2698
  __name: "RadioGroup",
2289
2699
  props: /* @__PURE__ */ mergeModels({
@@ -2335,7 +2745,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
2335
2745
  }
2336
2746
  }));
2337
2747
  return (_ctx, _cache) => {
2338
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
2748
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
2339
2749
  as: __props.as,
2340
2750
  renderless: __props.renderless
2341
2751
  }), {
@@ -2348,7 +2758,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
2348
2758
  //#endregion
2349
2759
  //#region src/components/Radio/RadioRoot.vue
2350
2760
  const [useRadioRoot, provideRadioRoot] = createContext();
2351
- const _sfc_main$27 = /* @__PURE__ */ defineComponent({
2761
+ const _sfc_main$35 = /* @__PURE__ */ defineComponent({
2352
2762
  name: "RadioRoot",
2353
2763
  inheritAttrs: false,
2354
2764
  __name: "RadioRoot",
@@ -2458,7 +2868,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
2458
2868
  }
2459
2869
  }));
2460
2870
  return (_ctx, _cache) => {
2461
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$68), mergeProps({ ref: "root" }, {
2871
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$81), mergeProps({ ref: "root" }, {
2462
2872
  ...unref(attrs),
2463
2873
  ...slotProps.value.attrs
2464
2874
  }, {
@@ -2469,20 +2879,20 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
2469
2879
  }), {
2470
2880
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
2471
2881
  _: 3
2472
- }, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$26, { key: 0 })) : createCommentVNode("v-if", true)], 64);
2882
+ }, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$34, { key: 0 })) : createCommentVNode("v-if", true)], 64);
2473
2883
  };
2474
2884
  }
2475
2885
  });
2476
2886
  //#endregion
2477
2887
  //#region src/components/Radio/RadioHiddenInput.vue
2478
- const _hoisted_1$2 = [
2888
+ const _hoisted_1$3 = [
2479
2889
  "checked",
2480
2890
  "disabled",
2481
2891
  "form",
2482
2892
  "name",
2483
2893
  "value"
2484
2894
  ];
2485
- const visuallyHiddenStyle$1 = {
2895
+ const visuallyHiddenStyle$2 = {
2486
2896
  position: "absolute",
2487
2897
  width: "1px",
2488
2898
  height: "1px",
@@ -2493,7 +2903,7 @@ const visuallyHiddenStyle$1 = {
2493
2903
  whiteSpace: "nowrap",
2494
2904
  border: "0"
2495
2905
  };
2496
- const _sfc_main$26 = /* @__PURE__ */ defineComponent({
2906
+ const _sfc_main$34 = /* @__PURE__ */ defineComponent({
2497
2907
  name: "RadioHiddenInput",
2498
2908
  __name: "RadioHiddenInput",
2499
2909
  props: {
@@ -2520,17 +2930,17 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
2520
2930
  form: form.value,
2521
2931
  inert: "",
2522
2932
  name: name.value,
2523
- style: visuallyHiddenStyle$1,
2933
+ style: visuallyHiddenStyle$2,
2524
2934
  tabindex: "-1",
2525
2935
  type: "radio",
2526
2936
  value: value.value
2527
- }, null, 8, _hoisted_1$2);
2937
+ }, null, 8, _hoisted_1$3);
2528
2938
  };
2529
2939
  }
2530
2940
  });
2531
2941
  //#endregion
2532
2942
  //#region src/components/Radio/RadioIndicator.vue
2533
- const _sfc_main$25 = /* @__PURE__ */ defineComponent({
2943
+ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
2534
2944
  name: "RadioIndicator",
2535
2945
  __name: "RadioIndicator",
2536
2946
  props: {
@@ -2550,7 +2960,7 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
2550
2960
  }
2551
2961
  }));
2552
2962
  return (_ctx, _cache) => {
2553
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
2963
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
2554
2964
  as: __props.as,
2555
2965
  renderless: __props.renderless
2556
2966
  }), {
@@ -2595,14 +3005,14 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
2595
3005
  * ```
2596
3006
  */
2597
3007
  const Radio = {
2598
- Group: _sfc_main$28,
2599
- HiddenInput: _sfc_main$26,
2600
- Indicator: _sfc_main$25,
2601
- Root: _sfc_main$27
3008
+ Group: _sfc_main$36,
3009
+ HiddenInput: _sfc_main$34,
3010
+ Indicator: _sfc_main$33,
3011
+ Root: _sfc_main$35
2602
3012
  };
2603
3013
  //#endregion
2604
3014
  //#region src/components/Scrim/Scrim.vue
2605
- const _sfc_main$24 = /* @__PURE__ */ defineComponent({
3015
+ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
2606
3016
  name: "Scrim",
2607
3017
  inheritAttrs: false,
2608
3018
  __name: "Scrim",
@@ -2640,7 +3050,7 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
2640
3050
  to: __props.teleportTo
2641
3051
  }, [createVNode(TransitionGroup, { name: __props.transition }, {
2642
3052
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(tickets.value, (ticket) => {
2643
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
3053
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2644
3054
  key: ticket.id,
2645
3055
  as: __props.as,
2646
3056
  style: getStyle(ticket)
@@ -2659,7 +3069,7 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
2659
3069
  name: __props.transition
2660
3070
  }, {
2661
3071
  default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(tickets.value, (ticket) => {
2662
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
3072
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
2663
3073
  key: ticket.id,
2664
3074
  as: __props.as,
2665
3075
  style: getStyle(ticket)
@@ -2678,6 +3088,487 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
2678
3088
  }
2679
3089
  });
2680
3090
  //#endregion
3091
+ //#region src/components/Select/SelectHiddenInput.vue
3092
+ const _hoisted_1$2 = [
3093
+ "disabled",
3094
+ "form",
3095
+ "name",
3096
+ "value"
3097
+ ];
3098
+ const visuallyHiddenStyle$1 = {
3099
+ position: "absolute",
3100
+ width: "1px",
3101
+ height: "1px",
3102
+ padding: "0",
3103
+ margin: "-1px",
3104
+ overflow: "hidden",
3105
+ clip: "rect(0, 0, 0, 0)",
3106
+ whiteSpace: "nowrap",
3107
+ border: "0"
3108
+ };
3109
+ const _sfc_main$31 = /* @__PURE__ */ defineComponent({
3110
+ name: "SelectHiddenInput",
3111
+ __name: "SelectHiddenInput",
3112
+ props: { namespace: { default: "v0:select" } },
3113
+ setup(__props) {
3114
+ const context = useSelectContext(__props.namespace);
3115
+ const values = toRef(() => {
3116
+ return Array.from(context.selection.selectedValues.value).map((v) => {
3117
+ if (/* @__PURE__ */ isNullOrUndefined(v)) return "";
3118
+ if (/* @__PURE__ */ isObject(v)) return JSON.stringify(v);
3119
+ return String(v);
3120
+ });
3121
+ });
3122
+ const isDisabled = toRef(() => toValue(context.disabled));
3123
+ return (_ctx, _cache) => {
3124
+ return openBlock(true), createElementBlock(Fragment, null, renderList(values.value, (val, index) => {
3125
+ return openBlock(), createElementBlock("input", {
3126
+ key: index,
3127
+ disabled: isDisabled.value,
3128
+ form: unref(context).form,
3129
+ inert: "",
3130
+ name: unref(context).name,
3131
+ style: visuallyHiddenStyle$1,
3132
+ tabindex: "-1",
3133
+ type: "hidden",
3134
+ value: val
3135
+ }, null, 8, _hoisted_1$2);
3136
+ }), 128);
3137
+ };
3138
+ }
3139
+ });
3140
+ //#endregion
3141
+ //#region src/components/Select/SelectRoot.vue
3142
+ const [useSelectContext, provideSelectContext] = createContext();
3143
+ const _sfc_main$30 = /* @__PURE__ */ defineComponent({
3144
+ name: "SelectRoot",
3145
+ __name: "SelectRoot",
3146
+ props: /* @__PURE__ */ mergeModels({
3147
+ namespace: { default: "v0:select" },
3148
+ id: {},
3149
+ name: {},
3150
+ form: {},
3151
+ disabled: {
3152
+ type: Boolean,
3153
+ default: false
3154
+ },
3155
+ multiple: {
3156
+ type: Boolean,
3157
+ default: false
3158
+ },
3159
+ mandatory: {
3160
+ type: [Boolean, String],
3161
+ default: false
3162
+ },
3163
+ as: { default: null },
3164
+ renderless: { type: Boolean }
3165
+ }, {
3166
+ "modelValue": {},
3167
+ "modelModifiers": {}
3168
+ }),
3169
+ emits: /* @__PURE__ */ mergeModels(["update:model-value"], ["update:modelValue"]),
3170
+ setup(__props) {
3171
+ const model = useModel(__props, "modelValue");
3172
+ const id = __props.id ?? useId();
3173
+ const listboxId = `${id}-listbox`;
3174
+ const activatorId = `${id}-activator`;
3175
+ const selection = createSelection({
3176
+ multiple: __props.multiple,
3177
+ mandatory: __props.mandatory,
3178
+ disabled: toRef(() => __props.disabled),
3179
+ events: true
3180
+ });
3181
+ useProxyModel(selection, model, { multiple: __props.multiple });
3182
+ const selectedId = toRef(() => {
3183
+ const ids = Array.from(selection.selectedIds);
3184
+ return ids.length > 0 ? ids[0] : void 0;
3185
+ });
3186
+ const popover = usePopover({ id });
3187
+ const isOpen = popover.isOpen;
3188
+ const activatorEl = shallowRef(null);
3189
+ const virtualFocus = useVirtualFocus(() => selection.values().map((ticket) => ({
3190
+ id: ticket.id,
3191
+ el: () => document.querySelector(`#${CSS.escape(`${id}-option-${ticket.id}`)}`),
3192
+ disabled: ticket.disabled
3193
+ })), {
3194
+ control: activatorEl,
3195
+ target: () => null,
3196
+ orientation: "vertical"
3197
+ });
3198
+ watch(isOpen, (open) => {
3199
+ if (!open) {
3200
+ virtualFocus.clear();
3201
+ return;
3202
+ }
3203
+ nextTick(() => {
3204
+ const selected = selectedId.value;
3205
+ if (!/* @__PURE__ */ isUndefined(selected)) virtualFocus.highlight(String(selected));
3206
+ });
3207
+ }, { flush: "post" });
3208
+ function open() {
3209
+ if (!isOpen.value && !toValue(__props.disabled)) isOpen.value = true;
3210
+ }
3211
+ function close() {
3212
+ isOpen.value = false;
3213
+ }
3214
+ function toggle() {
3215
+ if (isOpen.value) close();
3216
+ else open();
3217
+ }
3218
+ function select(itemId) {
3219
+ if (__props.multiple) selection.toggle(itemId);
3220
+ else {
3221
+ selection.select(itemId);
3222
+ close();
3223
+ }
3224
+ }
3225
+ provideSelectContext(__props.namespace, {
3226
+ isOpen,
3227
+ disabled: toRef(() => __props.disabled),
3228
+ multiple: __props.multiple,
3229
+ id,
3230
+ listboxId,
3231
+ activatorId,
3232
+ name: __props.name,
3233
+ form: __props.form,
3234
+ activatorEl,
3235
+ selection,
3236
+ virtualFocus,
3237
+ popover,
3238
+ open,
3239
+ close,
3240
+ toggle,
3241
+ select
3242
+ });
3243
+ const slotProps = toRef(() => ({
3244
+ id,
3245
+ isOpen: isOpen.value,
3246
+ isDisabled: toValue(__props.disabled),
3247
+ open,
3248
+ close,
3249
+ toggle
3250
+ }));
3251
+ return (_ctx, _cache) => {
3252
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$81), {
3253
+ as: __props.as,
3254
+ renderless: ""
3255
+ }, {
3256
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
3257
+ _: 3
3258
+ }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$31, { key: 0 })) : createCommentVNode("v-if", true)], 64);
3259
+ };
3260
+ }
3261
+ });
3262
+ //#endregion
3263
+ //#region src/components/Select/SelectActivator.vue
3264
+ const _sfc_main$29 = /* @__PURE__ */ defineComponent({
3265
+ name: "SelectActivator",
3266
+ __name: "SelectActivator",
3267
+ props: {
3268
+ namespace: { default: "v0:select" },
3269
+ as: { default: "button" },
3270
+ renderless: { type: Boolean }
3271
+ },
3272
+ setup(__props) {
3273
+ const context = useSelectContext(__props.namespace);
3274
+ const activatorEl = useTemplateRef("activator");
3275
+ watchEffect(() => {
3276
+ context.activatorEl.value = activatorEl.value?.element ?? null;
3277
+ });
3278
+ function onClick() {
3279
+ context.toggle();
3280
+ }
3281
+ function onKeydown(e) {
3282
+ if (context.isOpen.value) switch (e.key) {
3283
+ case " ":
3284
+ case "Enter":
3285
+ e.preventDefault();
3286
+ if (!/* @__PURE__ */ isUndefined(context.virtualFocus.highlightedId.value)) context.select(context.virtualFocus.highlightedId.value);
3287
+ break;
3288
+ case "Escape":
3289
+ e.preventDefault();
3290
+ context.close();
3291
+ break;
3292
+ case "Tab":
3293
+ context.close();
3294
+ break;
3295
+ case "ArrowDown":
3296
+ case "ArrowUp":
3297
+ case "Home":
3298
+ case "End":
3299
+ context.virtualFocus.onKeydown(e);
3300
+ break;
3301
+ }
3302
+ else switch (e.key) {
3303
+ case " ":
3304
+ case "Enter":
3305
+ case "ArrowDown":
3306
+ case "ArrowUp":
3307
+ e.preventDefault();
3308
+ context.open();
3309
+ break;
3310
+ }
3311
+ }
3312
+ const style = toRef(() => context.popover.anchorStyles.value);
3313
+ const slotProps = toRef(() => ({
3314
+ isOpen: context.isOpen.value,
3315
+ attrs: {
3316
+ "id": context.activatorId,
3317
+ "role": "combobox",
3318
+ "type": __props.as === "button" ? "button" : void 0,
3319
+ "aria-expanded": context.isOpen.value,
3320
+ "aria-haspopup": "listbox",
3321
+ "aria-controls": context.listboxId,
3322
+ "data-select-open": context.isOpen.value ? "" : void 0
3323
+ }
3324
+ }));
3325
+ return (_ctx, _cache) => {
3326
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
3327
+ ref: "activator",
3328
+ as: __props.as,
3329
+ style: style.value
3330
+ }, slotProps.value.attrs, {
3331
+ onClick,
3332
+ onKeydown
3333
+ }), {
3334
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
3335
+ _: 3
3336
+ }, 16, ["as", "style"]);
3337
+ };
3338
+ }
3339
+ });
3340
+ //#endregion
3341
+ //#region src/components/Select/SelectContent.vue
3342
+ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
3343
+ name: "SelectContent",
3344
+ __name: "SelectContent",
3345
+ props: {
3346
+ namespace: { default: "v0:select" },
3347
+ as: { default: "div" },
3348
+ renderless: { type: Boolean }
3349
+ },
3350
+ setup(__props) {
3351
+ const context = useSelectContext(__props.namespace);
3352
+ const content = useTemplateRef("content");
3353
+ context.popover.attach(() => content.value?.element);
3354
+ const { hasContent } = useLazy(context.isOpen);
3355
+ const slotProps = toRef(() => ({ isOpen: context.isOpen.value }));
3356
+ const attrs = toRef(() => ({
3357
+ ...context.popover.contentAttrs.value,
3358
+ "id": context.listboxId,
3359
+ "role": "listbox",
3360
+ "aria-multiselectable": context.multiple || void 0,
3361
+ "tabindex": -1
3362
+ }));
3363
+ const style = toRef(() => context.popover.contentStyles.value);
3364
+ return (_ctx, _cache) => {
3365
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
3366
+ ref_key: "content",
3367
+ ref: content,
3368
+ as: __props.as,
3369
+ style: style.value
3370
+ }, attrs.value), {
3371
+ default: withCtx(() => [unref(hasContent) ? renderSlot(_ctx.$slots, "default", normalizeProps(mergeProps({ key: 0 }, slotProps.value))) : createCommentVNode("v-if", true)]),
3372
+ _: 3
3373
+ }, 16, ["as", "style"]);
3374
+ };
3375
+ }
3376
+ });
3377
+ //#endregion
3378
+ //#region src/components/Select/SelectCue.vue
3379
+ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
3380
+ name: "SelectCue",
3381
+ __name: "SelectCue",
3382
+ props: {
3383
+ namespace: { default: "v0:select" },
3384
+ as: { default: "span" },
3385
+ renderless: { type: Boolean }
3386
+ },
3387
+ setup(__props) {
3388
+ const context = useSelectContext(__props.namespace);
3389
+ const slotProps = toRef(() => ({
3390
+ isOpen: context.isOpen.value,
3391
+ attrs: {
3392
+ "aria-hidden": true,
3393
+ "data-state": context.isOpen.value ? "open" : "closed"
3394
+ }
3395
+ }));
3396
+ return (_ctx, _cache) => {
3397
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs), {
3398
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
3399
+ _: 3
3400
+ }, 16, ["as"]);
3401
+ };
3402
+ }
3403
+ });
3404
+ //#endregion
3405
+ //#region src/components/Select/SelectItem.vue
3406
+ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
3407
+ name: "SelectItem",
3408
+ __name: "SelectItem",
3409
+ props: {
3410
+ namespace: { default: "v0:select" },
3411
+ id: {},
3412
+ value: {},
3413
+ disabled: {},
3414
+ as: { default: "div" },
3415
+ renderless: { type: Boolean }
3416
+ },
3417
+ setup(__props) {
3418
+ const context = useSelectContext(__props.namespace);
3419
+ const ticket = context.selection.register({
3420
+ id: __props.id,
3421
+ value: __props.value,
3422
+ disabled: __props.disabled
3423
+ });
3424
+ const elementId = `${context.id}-option-${ticket.id}`;
3425
+ const isSelected = toRef(() => toValue(ticket.isSelected));
3426
+ const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(context.disabled));
3427
+ const isHighlighted = toRef(() => context.virtualFocus.highlightedId.value === ticket.id);
3428
+ function onClick() {
3429
+ if (!toValue(isDisabled)) context.select(ticket.id);
3430
+ }
3431
+ onUnmounted(() => {
3432
+ context.selection.unregister(ticket.id);
3433
+ });
3434
+ const slotProps = toRef(() => ({
3435
+ value: __props.value,
3436
+ isSelected: isSelected.value,
3437
+ isHighlighted: isHighlighted.value,
3438
+ isDisabled: isDisabled.value,
3439
+ select: () => context.select(ticket.id),
3440
+ attrs: {
3441
+ "id": elementId,
3442
+ "role": "option",
3443
+ "aria-selected": isSelected.value,
3444
+ "aria-disabled": isDisabled.value || void 0,
3445
+ "data-selected": isSelected.value || void 0,
3446
+ "data-highlighted": isHighlighted.value ? "" : void 0,
3447
+ "data-disabled": isDisabled.value || void 0,
3448
+ "data-id": String(ticket.id)
3449
+ }
3450
+ }));
3451
+ return (_ctx, _cache) => {
3452
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
3453
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
3454
+ _: 3
3455
+ }, 16, ["as"]);
3456
+ };
3457
+ }
3458
+ });
3459
+ //#endregion
3460
+ //#region src/components/Select/SelectPlaceholder.vue
3461
+ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
3462
+ name: "SelectPlaceholder",
3463
+ __name: "SelectPlaceholder",
3464
+ props: {
3465
+ namespace: { default: "v0:select" },
3466
+ as: { default: "span" },
3467
+ renderless: { type: Boolean }
3468
+ },
3469
+ setup(__props) {
3470
+ const context = useSelectContext(__props.namespace);
3471
+ const hasValue = toRef(() => context.selection.selectedIds.size > 0);
3472
+ return (_ctx, _cache) => {
3473
+ return !hasValue.value ? (openBlock(), createBlock(unref(_sfc_main$81), {
3474
+ key: 0,
3475
+ as: __props.as
3476
+ }, {
3477
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { hasValue: hasValue.value })]),
3478
+ _: 3
3479
+ }, 8, ["as"])) : createCommentVNode("v-if", true);
3480
+ };
3481
+ }
3482
+ });
3483
+ //#endregion
3484
+ //#region src/components/Select/SelectValue.vue
3485
+ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
3486
+ name: "SelectValue",
3487
+ __name: "SelectValue",
3488
+ props: {
3489
+ namespace: { default: "v0:select" },
3490
+ as: { default: "span" },
3491
+ renderless: { type: Boolean }
3492
+ },
3493
+ setup(__props) {
3494
+ const context = useSelectContext(__props.namespace);
3495
+ const items = toRef(() => Array.from(context.selection.selectedItems.value));
3496
+ const values = toRef(() => Array.from(context.selection.selectedValues.value));
3497
+ const hasValue = toRef(() => context.selection.selectedIds.size > 0);
3498
+ const slotProps = toRef(() => ({
3499
+ selectedItem: items.value[0],
3500
+ selectedItems: items.value,
3501
+ selectedValue: values.value[0],
3502
+ selectedValues: values.value,
3503
+ hasValue: hasValue.value,
3504
+ attrs: {}
3505
+ }));
3506
+ return (_ctx, _cache) => {
3507
+ return hasValue.value ? (openBlock(), createBlock(unref(_sfc_main$81), {
3508
+ key: 0,
3509
+ as: __props.as
3510
+ }, {
3511
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)), () => [createTextVNode(toDisplayString(values.value[0]), 1)])]),
3512
+ _: 3
3513
+ }, 8, ["as"])) : createCommentVNode("v-if", true);
3514
+ };
3515
+ }
3516
+ });
3517
+ //#endregion
3518
+ //#region src/components/Select/index.ts
3519
+ /**
3520
+ * Select component with sub-components for building dropdown selects.
3521
+ *
3522
+ * @see https://0.vuetifyjs.com/components/select
3523
+ *
3524
+ * @example
3525
+ * ```vue
3526
+ * <script lang="ts" setup>
3527
+ * import { Select } from '@vuetify/v0'
3528
+ * import { ref } from 'vue'
3529
+ *
3530
+ * const selected = ref()
3531
+ * const items = [
3532
+ * { id: 'apple', label: 'Apple' },
3533
+ * { id: 'banana', label: 'Banana' },
3534
+ * { id: 'cherry', label: 'Cherry' },
3535
+ * ]
3536
+ * <\/script>
3537
+ *
3538
+ * <template>
3539
+ * <Select.Root v-model="selected">
3540
+ * <Select.Activator>
3541
+ * <Select.Value v-slot="{ selectedValue }">
3542
+ * {{ selectedValue }}
3543
+ * </Select.Value>
3544
+ * <Select.Placeholder>Pick a fruit</Select.Placeholder>
3545
+ * </Select.Activator>
3546
+ *
3547
+ * <Select.Content>
3548
+ * <Select.Item
3549
+ * v-for="item in items"
3550
+ * :key="item.id"
3551
+ * :id="item.id"
3552
+ * :value="item.label"
3553
+ * v-slot="{ isSelected, attrs }"
3554
+ * >
3555
+ * <div v-bind="attrs">{{ item.label }}</div>
3556
+ * </Select.Item>
3557
+ * </Select.Content>
3558
+ * </Select.Root>
3559
+ * </template>
3560
+ * ```
3561
+ */
3562
+ const Select = {
3563
+ Root: _sfc_main$30,
3564
+ Activator: _sfc_main$29,
3565
+ Value: _sfc_main$24,
3566
+ Content: _sfc_main$28,
3567
+ Cue: _sfc_main$27,
3568
+ Item: _sfc_main$26,
3569
+ Placeholder: _sfc_main$25
3570
+ };
3571
+ //#endregion
2681
3572
  //#region src/components/Selection/SelectionRoot.vue
2682
3573
  const [useSelectionRoot, provideSelectionRoot] = createContext();
2683
3574
  const _sfc_main$23 = /* @__PURE__ */ defineComponent({
@@ -2910,7 +3801,7 @@ const _sfc_main$21 = /* @__PURE__ */ defineComponent({
2910
3801
  }
2911
3802
  }));
2912
3803
  return (_ctx, _cache) => {
2913
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$68), mergeProps({
3804
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$81), mergeProps({
2914
3805
  ...unref(attrs),
2915
3806
  ...slotProps.value.attrs
2916
3807
  }, {
@@ -3002,7 +3893,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
3002
3893
  }
3003
3894
  }));
3004
3895
  return (_ctx, _cache) => {
3005
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
3896
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
3006
3897
  ...unref(attrs),
3007
3898
  ...slotProps.value.attrs
3008
3899
  }, {
@@ -3116,7 +4007,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
3116
4007
  }
3117
4008
  }));
3118
4009
  return (_ctx, _cache) => {
3119
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ ref: "thumb" }, {
4010
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ ref: "thumb" }, {
3120
4011
  ...unref(attrs),
3121
4012
  ...slotProps.value.attrs
3122
4013
  }, {
@@ -3185,7 +4076,7 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
3185
4076
  "onPointerdown": onPointerdown
3186
4077
  } }));
3187
4078
  return (_ctx, _cache) => {
3188
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ ref: "track" }, {
4079
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ ref: "track" }, {
3189
4080
  ...unref(attrs),
3190
4081
  ...slotProps.value.attrs
3191
4082
  }, {
@@ -3398,7 +4289,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
3398
4289
  }
3399
4290
  }));
3400
4291
  return (_ctx, _cache) => {
3401
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ ref: "root" }, {
4292
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ ref: "root" }, {
3402
4293
  ...unref(attrs),
3403
4294
  ...slotProps.value.attrs
3404
4295
  }, {
@@ -3509,7 +4400,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
3509
4400
  }
3510
4401
  }));
3511
4402
  return (_ctx, _cache) => {
3512
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
4403
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
3513
4404
  ...unref(attrs),
3514
4405
  ...slotProps.value.attrs
3515
4406
  }, {
@@ -3711,7 +4602,7 @@ const _sfc_main$14 = /* @__PURE__ */ defineComponent({
3711
4602
  }
3712
4603
  }));
3713
4604
  return (_ctx, _cache) => {
3714
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
4605
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
3715
4606
  ...unref(attrs),
3716
4607
  ...slotProps.value.attrs
3717
4608
  }, {
@@ -3817,7 +4708,7 @@ const _sfc_main$13 = /* @__PURE__ */ defineComponent({
3817
4708
  }
3818
4709
  }));
3819
4710
  return (_ctx, _cache) => {
3820
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
4711
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
3821
4712
  as: __props.as,
3822
4713
  renderless: __props.renderless
3823
4714
  }), {
@@ -3949,7 +4840,7 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
3949
4840
  }
3950
4841
  }));
3951
4842
  return (_ctx, _cache) => {
3952
- return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$68), mergeProps({
4843
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$81), mergeProps({
3953
4844
  ...unref(attrs),
3954
4845
  ...slotProps.value.attrs
3955
4846
  }, {
@@ -4093,7 +4984,7 @@ const _sfc_main$10 = /* @__PURE__ */ defineComponent({
4093
4984
  }
4094
4985
  }));
4095
4986
  return (_ctx, _cache) => {
4096
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
4987
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
4097
4988
  ...unref(attrs),
4098
4989
  ...slotProps.value.attrs
4099
4990
  }, {
@@ -4133,7 +5024,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
4133
5024
  }
4134
5025
  }));
4135
5026
  return (_ctx, _cache) => {
4136
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
5027
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
4137
5028
  as: __props.as,
4138
5029
  renderless: __props.renderless
4139
5030
  }), {
@@ -4164,7 +5055,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
4164
5055
  attrs: { "data-state": dataState.value }
4165
5056
  }));
4166
5057
  return (_ctx, _cache) => {
4167
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps(slotProps.value.attrs, {
5058
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps(slotProps.value.attrs, {
4168
5059
  as: __props.as,
4169
5060
  dir: "ltr",
4170
5061
  renderless: __props.renderless
@@ -4517,7 +5408,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
4517
5408
  }
4518
5409
  }));
4519
5410
  return (_ctx, _cache) => {
4520
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
5411
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
4521
5412
  ...unref(attrs),
4522
5413
  ...slotProps.value.attrs
4523
5414
  }, {
@@ -4632,7 +5523,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
4632
5523
  }
4633
5524
  }));
4634
5525
  return (_ctx, _cache) => {
4635
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({ ref: "root" }, {
5526
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({ ref: "root" }, {
4636
5527
  ...unref(attrs),
4637
5528
  ...slotProps.value.attrs
4638
5529
  }, {
@@ -4684,7 +5575,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4684
5575
  }
4685
5576
  }));
4686
5577
  return (_ctx, _cache) => {
4687
- return openBlock(), createBlock(unref(_sfc_main$68), mergeProps({
5578
+ return openBlock(), createBlock(unref(_sfc_main$81), mergeProps({
4688
5579
  ...unref(attrs),
4689
5580
  ...slotProps.value.attrs
4690
5581
  }, {
@@ -4734,4 +5625,4 @@ const Tabs = {
4734
5625
  Panel: _sfc_main
4735
5626
  };
4736
5627
  //#endregion
4737
- export { provideRadioRoot as $, _sfc_main$56 as $t, _sfc_main$14 as A, ExpansionPanel as At, _sfc_main$21 as B, Dialog as Bt, _sfc_main$12 as C, usePaginationItems as Ct, provideSwitchGroup as D, _sfc_main$41 as Dt, _sfc_main$13 as E, _sfc_main$40 as Et, Slider as F, provideExpansionPanelItem as Ft, _sfc_main$23 as G, _sfc_main$51 as Gt, useSliderRoot as H, _sfc_main$48 as Ht, _sfc_main$17 as I, useExpansionPanelItem as It, _sfc_main$24 as J, useDialogContext as Jt, provideSelectionRoot as K, _sfc_main$52 as Kt, _sfc_main$18 as L, _sfc_main$46 as Lt, _sfc_main$16 as M, _sfc_main$43 as Mt, provideSplitterRoot as N, _sfc_main$44 as Nt, useSwitchGroup as O, provideGroupRoot as Ot, useSplitterRoot as P, _sfc_main$45 as Pt, _sfc_main$27 as Q, _sfc_main$55 as Qt, _sfc_main$19 as R, provideExpansionPanelRoot as Rt, _sfc_main$11 as S, usePaginationControls as St, useSwitchRoot as T, Group as Tt, Selection as U, _sfc_main$49 as Ut, provideSliderRoot as V, _sfc_main$47 as Vt, _sfc_main$22 as W, _sfc_main$50 as Wt, _sfc_main$25 as X, _sfc_main$53 as Xt, Radio as Y, Checkbox as Yt, _sfc_main$26 as Z, _sfc_main$54 as Zt, useSingleRoot as _, _sfc_main$66 as _n, _sfc_main$38 as _t, _sfc_main$3 as a, Breadcrumbs as an, _sfc_main$29 as at, _sfc_main$9 as b, useAvatarRoot as bn, providePaginationItems as bt, Step as c, _sfc_main$60 as cn, providePopoverContext as ct, provideStepRoot as d, _sfc_main$63 as dn, _sfc_main$32 as dt, provideCheckboxRoot as en, useRadioRoot as et, useStepRoot as f, _sfc_main$64 as fn, _sfc_main$33 as ft, provideSingleRoot as g, _sfc_main$65 as gn, _sfc_main$37 as gt, _sfc_main$7 as h, Avatar as hn, _sfc_main$36 as ht, _sfc_main$2 as i, useCheckboxGroup as in, Popover as it, _sfc_main$15 as j, _sfc_main$42 as jt, Splitter as k, useGroupRoot as kt, _sfc_main$4 as l, _sfc_main$61 as ln, usePopoverContext as lt, _sfc_main$6 as m, useBreadcrumbsRoot as mn, _sfc_main$35 as mt, _sfc_main as n, _sfc_main$57 as nn, provideRadioGroup as nt, provideTabsRoot as o, _sfc_main$58 as on, _sfc_main$30 as ot, Single as p, provideBreadcrumbsRoot as pn, _sfc_main$34 as pt, useSelectionRoot as q, provideDialogContext as qt, _sfc_main$1 as r, provideCheckboxGroup as rn, useRadioGroup as rt, useTabsRoot as s, _sfc_main$59 as sn, _sfc_main$31 as st, Tabs as t, useCheckboxRoot as tn, _sfc_main$28 as tt, _sfc_main$5 as u, _sfc_main$62 as un, Pagination as ut, Switch as v, _sfc_main$67 as vn, _sfc_main$39 as vt, provideSwitchRoot as w, usePaginationRoot as wt, _sfc_main$10 as x, _sfc_main$68 as xn, providePaginationRoot as xt, _sfc_main$8 as y, provideAvatarRoot as yn, providePaginationControls as yt, _sfc_main$20 as z, useExpansionPanelRoot as zt };
5628
+ export { _sfc_main$28 as $, provideExpansionPanelItem as $t, _sfc_main$14 as A, _sfc_main$77 as An, providePaginationItems as At, _sfc_main$21 as B, provideInputRoot as Bt, _sfc_main$12 as C, Breadcrumbs as Cn, _sfc_main$42 as Ct, provideSwitchGroup as D, _sfc_main$74 as Dn, _sfc_main$46 as Dt, _sfc_main$13 as E, _sfc_main$73 as En, _sfc_main$45 as Et, Slider as F, _sfc_main$79 as Fn, Input as Ft, _sfc_main$23 as G, provideGroupRoot as Gt, useSliderRoot as H, Group as Ht, _sfc_main$17 as I, _sfc_main$80 as In, _sfc_main$48 as It, Select as J, ExpansionPanel as Jt, provideSelectionRoot as K, useGroupRoot as Kt, _sfc_main$18 as L, provideAvatarRoot as Ln, _sfc_main$49 as Lt, _sfc_main$16 as M, useBreadcrumbsRoot as Mn, usePaginationControls as Mt, provideSplitterRoot as N, Avatar as Nn, usePaginationItems as Nt, useSwitchGroup as O, _sfc_main$75 as On, _sfc_main$47 as Ot, useSplitterRoot as P, _sfc_main$78 as Pn, usePaginationRoot as Pt, _sfc_main$27 as Q, _sfc_main$58 as Qt, _sfc_main$19 as R, useAvatarRoot as Rn, _sfc_main$50 as Rt, _sfc_main$11 as S, useCheckboxGroup as Sn, _sfc_main$41 as St, useSwitchRoot as T, _sfc_main$72 as Tn, _sfc_main$44 as Tt, Selection as U, _sfc_main$52 as Ut, provideSliderRoot as V, useInputRoot as Vt, _sfc_main$22 as W, _sfc_main$53 as Wt, _sfc_main$25 as X, _sfc_main$56 as Xt, _sfc_main$24 as Y, _sfc_main$55 as Yt, _sfc_main$26 as Z, _sfc_main$57 as Zt, useSingleRoot as _, _sfc_main$69 as _n, _sfc_main$39 as _t, _sfc_main$3 as a, _sfc_main$60 as an, Radio as at, _sfc_main$9 as b, _sfc_main$70 as bn, Pagination as bt, Step as c, _sfc_main$63 as cn, _sfc_main$35 as ct, provideStepRoot as d, provideDialogContext as dn, _sfc_main$36 as dt, useExpansionPanelItem as en, _sfc_main$29 as et, useStepRoot as f, useDialogContext as fn, provideRadioGroup as ft, provideSingleRoot as g, _sfc_main$68 as gn, _sfc_main$38 as gt, _sfc_main$7 as h, _sfc_main$67 as hn, _sfc_main$37 as ht, _sfc_main$2 as i, Dialog as in, _sfc_main$32 as it, _sfc_main$15 as j, provideBreadcrumbsRoot as jn, providePaginationRoot as jt, Splitter as k, _sfc_main$76 as kn, providePaginationControls as kt, _sfc_main$4 as l, _sfc_main$64 as ln, provideRadioRoot as lt, _sfc_main$6 as m, _sfc_main$66 as mn, Popover as mt, _sfc_main as n, provideExpansionPanelRoot as nn, provideSelectContext as nt, provideTabsRoot as o, _sfc_main$61 as on, _sfc_main$33 as ot, Single as p, Checkbox as pn, useRadioGroup as pt, useSelectionRoot as q, _sfc_main$54 as qt, _sfc_main$1 as r, useExpansionPanelRoot as rn, useSelectContext as rt, useTabsRoot as s, _sfc_main$62 as sn, _sfc_main$34 as st, Tabs as t, _sfc_main$59 as tn, _sfc_main$30 as tt, _sfc_main$5 as u, _sfc_main$65 as un, useRadioRoot as ut, Switch as v, provideCheckboxRoot as vn, providePopoverContext as vt, provideSwitchRoot as w, _sfc_main$71 as wn, _sfc_main$43 as wt, _sfc_main$10 as x, provideCheckboxGroup as xn, _sfc_main$40 as xt, _sfc_main$8 as y, useCheckboxRoot as yn, usePopoverContext as yt, _sfc_main$20 as z, _sfc_main$81 as zn, _sfc_main$51 as zt };