@vuetify/v0 0.1.10 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/{adapter-CqP9Z4JU.d.mts → adapter-Dv4TFNh9.d.mts} +7 -7
  2. package/dist/browser/index.js +1125 -162
  3. package/dist/components/index.d.mts +2 -2
  4. package/dist/components/index.mjs +19 -19
  5. package/dist/{components-TiigKVsl.mjs → components-Cxi4P1uo.mjs} +1028 -285
  6. package/dist/composables/index.d.mts +12 -12
  7. package/dist/composables/index.mjs +17 -17
  8. package/dist/{consola-C1OjyZVf.d.mts → consola-mE3TUsie.d.mts} +1 -1
  9. package/dist/constants/index.d.mts +1 -1
  10. package/dist/constants/index.mjs +1 -1
  11. package/dist/{createDataTable-DoqbfLt0.mjs → createDataTable-DnaaoU_Q.mjs} +2 -2
  12. package/dist/{createGroup-DpbGTwFy.mjs → createGroup-BgDjEOXE.mjs} +1 -1
  13. package/dist/{createSelection-B6bQNyuF.mjs → createSelection-I3pID-Mh.mjs} +1 -1
  14. package/dist/{createSingle-fWHREEJO.mjs → createSingle-CqX-KXFr.mjs} +1 -1
  15. package/dist/{createTokens-N8QIWw_D.mjs → createTokens-vyh3quuB.mjs} +1 -1
  16. package/dist/data-table/adapters/client/index.mjs +1 -1
  17. package/dist/data-table/adapters/index.mjs +1 -1
  18. package/dist/data-table/adapters/server/index.mjs +1 -1
  19. package/dist/data-table/adapters/virtual/index.mjs +1 -1
  20. package/dist/data-table/index.d.mts +1 -1
  21. package/dist/data-table/index.mjs +10 -10
  22. package/dist/date/index.d.mts +9 -6
  23. package/dist/date/index.mjs +22 -15
  24. package/dist/features/adapters/flagsmith/index.d.mts +1 -13
  25. package/dist/features/adapters/launchdarkly/index.d.mts +1 -12
  26. package/dist/features/adapters/posthog/index.d.mts +1 -12
  27. package/dist/features/adapters/posthog/index.mjs +2 -2
  28. package/dist/features/index.d.mts +2 -2
  29. package/dist/features/index.mjs +8 -8
  30. package/dist/{globals-F7fiJVG1.mjs → globals-TLLuB8XQ.mjs} +1 -1
  31. package/dist/index-BTG8veDR.d.mts +13 -0
  32. package/dist/{index-DXdQb5BV.d.mts → index-Bz8iXBEX.d.mts} +1387 -372
  33. package/dist/index-CDGG7lCB.d.mts +1 -0
  34. package/dist/index-CrqJIYCP.d.mts +13 -0
  35. package/dist/index-D9G_YWS_.d.mts +14 -0
  36. package/dist/{index-Cv1XUHyA.d.mts → index-Dlz-FzrC.d.mts} +20 -1
  37. package/dist/index-LhFpnU-f.d.mts +1 -0
  38. package/dist/{index-Dfa5Wb4T.d.mts → index-bMdAIUKN.d.mts} +44 -11
  39. package/dist/index.d.mts +16 -16
  40. package/dist/index.mjs +20 -20
  41. package/dist/json/attributes.json +193 -1
  42. package/dist/json/importMap.json +52 -0
  43. package/dist/json/tags.json +108 -0
  44. package/dist/json/web-types.json +621 -3
  45. package/dist/locale/adapters/index.d.mts +2 -2
  46. package/dist/locale/adapters/index.mjs +2 -2
  47. package/dist/locale/adapters/v0/index.d.mts +1 -1
  48. package/dist/locale/adapters/v0/index.mjs +2 -2
  49. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
  50. package/dist/locale/adapters/vue-i18n/index.mjs +1 -1
  51. package/dist/locale/index.d.mts +3 -3
  52. package/dist/locale/index.mjs +8 -8
  53. package/dist/logger/adapters/consola/index.d.mts +1 -1
  54. package/dist/logger/adapters/index.d.mts +4 -4
  55. package/dist/logger/adapters/index.mjs +2 -2
  56. package/dist/logger/adapters/pino/index.d.mts +1 -1
  57. package/dist/logger/adapters/pino/index.mjs +1 -1
  58. package/dist/logger/adapters/v0/index.d.mts +1 -1
  59. package/dist/logger/adapters/v0/index.mjs +2 -2
  60. package/dist/logger/index.d.mts +5 -5
  61. package/dist/logger/index.mjs +3 -3
  62. package/dist/notifications/index.d.mts +1 -2
  63. package/dist/notifications/index.mjs +1 -1
  64. package/dist/palettes/index.d.mts +1 -2
  65. package/dist/permissions/adapters/index.d.mts +1 -2
  66. package/dist/permissions/adapters/index.mjs +1 -1
  67. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  68. package/dist/permissions/adapters/v0/index.mjs +1 -1
  69. package/dist/permissions/index.d.mts +1 -1
  70. package/dist/permissions/index.mjs +5 -5
  71. package/dist/{pino-CM1iLXmi.d.mts → pino-DUx_ooLa.d.mts} +1 -1
  72. package/dist/{posthog-CdcdfMYS.mjs → posthog-0A_Ageii.mjs} +1 -1
  73. package/dist/rules/index.d.mts +1 -1
  74. package/dist/rules/index.mjs +9 -9
  75. package/dist/storage/adapters/index.d.mts +2 -2
  76. package/dist/storage/adapters/memory/index.d.mts +1 -1
  77. package/dist/storage/index.d.mts +3 -3
  78. package/dist/storage/index.mjs +17 -17
  79. package/dist/theme/adapters/index.d.mts +1 -1
  80. package/dist/theme/adapters/index.mjs +2 -2
  81. package/dist/theme/adapters/v0/index.d.mts +1 -1
  82. package/dist/theme/adapters/v0/index.mjs +2 -2
  83. package/dist/theme/index.d.mts +1 -1
  84. package/dist/theme/index.mjs +8 -8
  85. package/dist/{useClickOutside-DNuJQ9EG.mjs → useClickOutside-R0S58NVr.mjs} +135 -24
  86. package/dist/{useFeatures-CWNXTIXk.mjs → useFeatures-Bn16wSHD.mjs} +3 -3
  87. package/dist/{useLocale-Dzl6lCCF.mjs → useLocale-B8NaQT2b.mjs} +4 -4
  88. package/dist/{useLogger-Bw836Jbg.mjs → useLogger-xp_tiLJ5.mjs} +2 -2
  89. package/dist/{usePermissions-DrRVDeVy.mjs → usePermissions-nkU9OBB8.mjs} +2 -2
  90. package/dist/{useRules-TMGuA8al.mjs → useRules-RkVMgycJ.mjs} +2 -2
  91. package/dist/{useTheme-qMpg3Ti6.mjs → useTheme-QFLbV6tH.mjs} +14 -7
  92. package/dist/utilities/index.d.mts +2 -2
  93. package/dist/utilities/index.mjs +120 -21
  94. package/dist/{v0-CIEQpOK2.mjs → v0-AoEx-7U5.mjs} +8 -3
  95. package/dist/{v0-JPf99NKg.d.mts → v0-BdhPBG_p.d.mts} +1 -1
  96. package/dist/{v0-3zDdS4II.d.mts → v0-CItl0K-e.d.mts} +1 -1
  97. package/dist/{v0-DgaVf3xM.mjs → v0-CkxwC3wm.mjs} +1 -1
  98. package/dist/{v0-BsuBuBSa.mjs → v0-Di7YUWAH.mjs} +1 -1
  99. package/package.json +1 -1
  100. package/dist/v0-BBRwZ3at.d.mts +0 -10
  101. /package/dist/{adapter-D3dUnE__.d.mts → adapter-CN3E66HY.d.mts} +0 -0
  102. /package/dist/{adapter-CJQav2JB.d.mts → adapter-DcJbLnTC.d.mts} +0 -0
  103. /package/dist/{index-BvTD7kU8.d.mts → index-BAHMiB95.d.mts} +0 -0
  104. /package/dist/{index-dJKXAO5D.d.mts → index-BC1S8-8J.d.mts} +0 -0
  105. /package/dist/{index-CLDBngUs.d.mts → index-B_fIwnhR.d.mts} +0 -0
  106. /package/dist/{index-DSao7i57.d.mts → index-DiLStryt.d.mts} +0 -0
  107. /package/dist/{memory-DyBabFV1.d.mts → memory-CDrksYgA.d.mts} +0 -0
@@ -1,5 +1,5 @@
1
1
  import * as Vue from "vue";
2
- import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createPropsRestProxy, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, hasInjectionContext, inject, isRef, mergeModels, mergeProps, nextTick, normalizeProps, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, readonly, ref, renderList, renderSlot, resolveDynamicComponent, shallowReactive, shallowReadonly, shallowRef, toDisplayString, toRaw, toRef, toValue, unref, useAttrs, useId as useId$1, useModel, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives } from "vue";
2
+ import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createPropsRestProxy, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, hasInjectionContext, inject, isRef, mergeModels, mergeProps, nextTick, normalizeProps, normalizeStyle, onActivated, onBeforeUnmount, onDeactivated, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, readonly, ref, renderList, renderSlot, resolveDynamicComponent, shallowReactive, shallowReadonly, shallowRef, toDisplayString, toRaw, toRef, toValue, unref, useAttrs, useId as useId$1, useModel, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives } from "vue";
3
3
  /**
4
4
  * Set of HTML elements that are self-closing (void elements)
5
5
  * These elements cannot have children and don't need closing tags
@@ -74,6 +74,104 @@ function isSelfClosingTag(tag) {
74
74
  return SELF_CLOSING_TAGS.has(tag.toLowerCase());
75
75
  }
76
76
  //#endregion
77
+ //#region src/utilities/color.ts
78
+ function hexToRgb(hex) {
79
+ const clean = hex.startsWith("#") ? hex.slice(1) : hex;
80
+ if (clean.length === 3 || clean.length === 4) {
81
+ const r = Number.parseInt(clean[0] + clean[0], 16);
82
+ const g = Number.parseInt(clean[1] + clean[1], 16);
83
+ const b = Number.parseInt(clean[2] + clean[2], 16);
84
+ const a = clean.length === 4 ? Number.parseInt(clean[3] + clean[3], 16) : void 0;
85
+ return a === void 0 ? {
86
+ r,
87
+ g,
88
+ b
89
+ } : {
90
+ r,
91
+ g,
92
+ b,
93
+ a
94
+ };
95
+ }
96
+ const r = Number.parseInt(clean.slice(0, 2), 16);
97
+ const g = Number.parseInt(clean.slice(2, 4), 16);
98
+ const b = Number.parseInt(clean.slice(4, 6), 16);
99
+ const a = clean.length === 8 ? Number.parseInt(clean.slice(6, 8), 16) : void 0;
100
+ return a === void 0 ? {
101
+ r,
102
+ g,
103
+ b
104
+ } : {
105
+ r,
106
+ g,
107
+ b,
108
+ a
109
+ };
110
+ }
111
+ function rgbToHex({ r, g, b, a }) {
112
+ const hex = "#" + [
113
+ r,
114
+ g,
115
+ b
116
+ ].map((c) => c.toString(16).padStart(2, "0")).join("");
117
+ if (a !== void 0) return hex + a.toString(16).padStart(2, "0");
118
+ return hex;
119
+ }
120
+ //#endregion
121
+ //#region src/utilities/apca.ts
122
+ const Rco = .2126729;
123
+ const Gco = .7151522;
124
+ const Bco = .072175;
125
+ const normBG = .56;
126
+ const normTXT = .57;
127
+ const revBG = .65;
128
+ const revTXT = .62;
129
+ const blkThrs = .022;
130
+ const blkClmp = 1.414;
131
+ const scaleBoW = 1.14;
132
+ const scaleWoB = 1.14;
133
+ const loBoWoffset = .027;
134
+ const loWoBoffset = .027;
135
+ const deltaYmin = 5e-4;
136
+ function linearize(channel) {
137
+ const val = channel / 255;
138
+ return val <= .04045 ? val / 12.92 : Math.pow((val + .055) / 1.055, 2.4);
139
+ }
140
+ function luminance(rgb) {
141
+ return Rco * linearize(rgb.r) + Gco * linearize(rgb.g) + Bco * linearize(rgb.b);
142
+ }
143
+ function clamp$1(y) {
144
+ return y > blkThrs ? y : y + Math.pow(blkThrs - y, blkClmp);
145
+ }
146
+ function apca(text, background) {
147
+ const txtY = clamp$1(luminance(text));
148
+ const bgY = clamp$1(luminance(background));
149
+ if (Math.abs(bgY - txtY) < deltaYmin) return 0;
150
+ let contrast;
151
+ if (bgY > txtY) {
152
+ contrast = (Math.pow(bgY, normBG) - Math.pow(txtY, normTXT)) * scaleBoW;
153
+ return contrast < loBoWoffset ? 0 : (contrast - loBoWoffset) * 100;
154
+ } else {
155
+ contrast = (Math.pow(bgY, revBG) - Math.pow(txtY, revTXT)) * scaleWoB;
156
+ return contrast > -loWoBoffset ? 0 : (contrast + loWoBoffset) * 100;
157
+ }
158
+ }
159
+ const BLACK = {
160
+ r: 0,
161
+ g: 0,
162
+ b: 0
163
+ };
164
+ const WHITE = {
165
+ r: 255,
166
+ g: 255,
167
+ b: 255
168
+ };
169
+ function foreground(hex) {
170
+ const rgb = hexToRgb(hex);
171
+ const onWhite = Math.abs(apca(WHITE, rgb));
172
+ return Math.abs(apca(BLACK, rgb)) > onWhite ? "#000000" : "#ffffff";
173
+ }
174
+ //#endregion
77
175
  //#region src/constants/globals.ts
78
176
  const IN_BROWSER = typeof window !== "undefined";
79
177
  const SUPPORTS_TOUCH = IN_BROWSER && ("ontouchstart" in window || window.navigator.maxTouchPoints > 0);
@@ -81,7 +179,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
81
179
  const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
82
180
  const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
83
181
  const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
84
- const version = "0.1.10";
182
+ const version = "0.1.11";
85
183
  /* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
86
184
  const __LOGGER_ENABLED__ = false;
87
185
  //#endregion
@@ -359,14 +457,14 @@ function isNaN(item) {
359
457
  return /* @__PURE__ */ isNumber(item) && Number.isNaN(item);
360
458
  }
361
459
  /**
362
- * Deeply merges source objects into a target object
460
+ * Deeply merges source objects into a target object, returning a new object
363
461
  *
364
- * @param target The target object to merge into (will be mutated)
462
+ * @param target The base object to merge into
365
463
  * @param sources One or more source objects to merge from
366
- * @returns The mutated target object
464
+ * @returns A new merged object (inputs are not mutated)
367
465
  *
368
466
  * @remarks
369
- * - Mutates the target object in place
467
+ * - Creates and returns a new object inputs are never mutated
370
468
  * - Nested objects are recursively merged
371
469
  * - Arrays are replaced, not merged
372
470
  * - Primitives from sources overwrite target values
@@ -374,8 +472,9 @@ function isNaN(item) {
374
472
  * @example
375
473
  * ```ts
376
474
  * const target = { a: 1, b: { c: 2 } }
377
- * mergeDeep(target, { b: { d: 3 } })
378
- * // target is now { a: 1, b: { c: 2, d: 3 } }
475
+ * const result = mergeDeep(target, { b: { d: 3 } })
476
+ * // result is { a: 1, b: { c: 2, d: 3 } }
477
+ * // target is unchanged
379
478
  *
380
479
  * // Multiple sources
381
480
  * mergeDeep({}, { a: 1 }, { b: 2 }) // { a: 1, b: 2 }
@@ -391,20 +490,20 @@ const UNSAFE_KEYS = new Set([
391
490
  ]);
392
491
  /* @__NO_SIDE_EFFECTS__ */
393
492
  function mergeDeep(target, ...sources) {
394
- if (sources.length === 0) return target;
395
- const source = sources.shift();
396
- if (/* @__PURE__ */ isObject(target) && /* @__PURE__ */ isObject(source)) for (const key in source) {
397
- if (UNSAFE_KEYS.has(key)) continue;
398
- if (!Object.prototype.hasOwnProperty.call(source, key)) continue;
399
- const sourceValue = source[key];
400
- if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
401
- const targetValue = target[key];
402
- if (/* @__PURE__ */ isObject(sourceValue)) {
403
- if (!/* @__PURE__ */ isObject(targetValue)) Object.assign(target, { [key]: {} });
404
- target[key];
405
- } else Object.assign(target, { [key]: sourceValue });
406
- }
407
- return /* @__PURE__ */ mergeDeep(target, ...sources);
493
+ const out = {};
494
+ for (const key in target) if (Object.prototype.hasOwnProperty.call(target, key)) out[key] = target[key];
495
+ for (const source of sources) {
496
+ if (!/* @__PURE__ */ isObject(source)) continue;
497
+ for (const key in source) {
498
+ if (UNSAFE_KEYS.has(key)) continue;
499
+ if (!Object.prototype.hasOwnProperty.call(source, key)) continue;
500
+ const sourceValue = source[key];
501
+ if (/* @__PURE__ */ isUndefined(sourceValue)) continue;
502
+ const targetValue = out[key];
503
+ out[key] = /* @__PURE__ */ isObject(sourceValue) && /* @__PURE__ */ isObject(targetValue) ? /* @__PURE__ */ mergeDeep(targetValue, sourceValue) : sourceValue;
504
+ }
505
+ }
506
+ return out;
408
507
  }
409
508
  let idCounter = 0;
410
509
  /**
@@ -4513,7 +4612,7 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
4513
4612
  "data-disabled": isDisabled.value ? true : void 0,
4514
4613
  "data-selected": group && isSelected.value ? true : void 0,
4515
4614
  "data-solo": isSolo.value ? true : void 0,
4516
- "onClick": onClick
4615
+ "onClick": ticket ? onClick : void 0
4517
4616
  }));
4518
4617
  const slotProps = toRef(() => ({
4519
4618
  isLoading: isLoading.value,
@@ -4529,7 +4628,8 @@ const _sfc_main$16 = /* @__PURE__ */ defineComponent({
4529
4628
  ...slotProps.value.attrs
4530
4629
  }, {
4531
4630
  as: __props.as,
4532
- renderless: __props.renderless
4631
+ renderless: __props.renderless,
4632
+ onClick
4533
4633
  }), {
4534
4634
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
4535
4635
  _: 3
@@ -6475,6 +6575,18 @@ const defaultLocales = {
6475
6575
  ar: "ar-SA"
6476
6576
  };
6477
6577
  /**
6578
+ * Derive firstDayOfWeek from an Intl locale string.
6579
+ * Returns 0-6 (0=Sun) or 0 as fallback.
6580
+ */
6581
+ function deriveFirstDayOfWeek(locale) {
6582
+ try {
6583
+ const info = new Intl.Locale(locale).getWeekInfo?.();
6584
+ return info ? info.firstDay % 7 : 0;
6585
+ } catch {
6586
+ return 0;
6587
+ }
6588
+ }
6589
+ /**
6478
6590
  * Creates a new date context.
6479
6591
  *
6480
6592
  * @param options Adapter and locale configuration.
@@ -6499,7 +6611,7 @@ const defaultLocales = {
6499
6611
  * ```
6500
6612
  */
6501
6613
  function createDate(options) {
6502
- const { locales = defaultLocales, adapter, locale: initialLocale } = options;
6614
+ const { locales = defaultLocales, adapter, locale: initialLocale, firstDayOfWeek: explicitFirstDay } = options;
6503
6615
  let selectedId;
6504
6616
  try {
6505
6617
  if (instanceExists()) selectedId = useLocale().selectedId;
@@ -6513,17 +6625,27 @@ function createDate(options) {
6513
6625
  const fallback = initialLocale ?? adapter.locale ?? "en-US";
6514
6626
  return fallback.includes("-") ? fallback : locales[fallback] ?? fallback;
6515
6627
  });
6628
+ const firstDayOfWeek = computed(() => {
6629
+ if (!/* @__PURE__ */ isUndefined(explicitFirstDay)) return explicitFirstDay;
6630
+ const loc = locale.value;
6631
+ return loc ? deriveFirstDayOfWeek(loc) : 0;
6632
+ });
6516
6633
  if (instanceExists()) onScopeDispose(watchEffect(() => {
6517
6634
  const loc = locale.value;
6518
6635
  if (loc && adapter.locale !== loc) adapter.locale = loc;
6636
+ const fdow = firstDayOfWeek.value;
6637
+ if (adapter.firstDayOfWeek !== fdow) adapter.firstDayOfWeek = fdow;
6519
6638
  }));
6520
6639
  else {
6521
6640
  const loc = locale.value;
6522
6641
  if (loc && adapter.locale !== loc) adapter.locale = loc;
6642
+ const fdow = firstDayOfWeek.value;
6643
+ if (adapter.firstDayOfWeek !== fdow) adapter.firstDayOfWeek = fdow;
6523
6644
  }
6524
6645
  return {
6525
6646
  adapter,
6526
- locale
6647
+ locale,
6648
+ firstDayOfWeek
6527
6649
  };
6528
6650
  }
6529
6651
  /**
@@ -7776,7 +7898,8 @@ const multipleOpenStrategy = {
7776
7898
  */
7777
7899
  const singleOpenStrategy = {
7778
7900
  onOpen: (id, context) => {
7779
- for (const openedId of context.openedIds) if (openedId !== id) context.openedIds.delete(openedId);
7901
+ const toClose = [...context.openedIds].filter((openedId) => openedId !== id);
7902
+ for (const openedId of toClose) context.openedIds.delete(openedId);
7780
7903
  },
7781
7904
  onClose: void 0
7782
7905
  };
@@ -7878,8 +8001,13 @@ function createNested(_options = {}) {
7878
8001
  return openedIds.has(id);
7879
8002
  }
7880
8003
  function open(ids) {
8004
+ if (toValue(group.disabled)) return;
7881
8005
  for (const id of toArray(ids)) {
7882
8006
  if (!group.has(id)) continue;
8007
+ const item = group.get(id);
8008
+ if (!item || toValue(item.disabled)) continue;
8009
+ openedIds.add(id);
8010
+ resolvedOpenStrategy.onOpen?.(id, context);
7883
8011
  if (revealOnOpen) {
7884
8012
  let parentId = parents.get(id);
7885
8013
  while (!/* @__PURE__ */ isUndefined(parentId)) {
@@ -7887,20 +8015,24 @@ function createNested(_options = {}) {
7887
8015
  parentId = parents.get(parentId);
7888
8016
  }
7889
8017
  }
7890
- openedIds.add(id);
7891
- resolvedOpenStrategy.onOpen?.(id, context);
7892
8018
  }
7893
8019
  }
7894
8020
  function close(ids) {
8021
+ if (toValue(group.disabled)) return;
7895
8022
  for (const id of toArray(ids)) {
7896
8023
  if (!group.has(id)) continue;
8024
+ const item = group.get(id);
8025
+ if (!item || toValue(item.disabled)) continue;
7897
8026
  openedIds.delete(id);
7898
8027
  resolvedOpenStrategy.onClose?.(id, context);
7899
8028
  }
7900
8029
  }
7901
8030
  function flip(ids) {
8031
+ if (toValue(group.disabled)) return;
7902
8032
  for (const id of toArray(ids)) {
7903
8033
  if (!group.has(id)) continue;
8034
+ const item = group.get(id);
8035
+ if (!item || toValue(item.disabled)) continue;
7904
8036
  if (opened(id)) close(id);
7905
8037
  else open(id);
7906
8038
  }
@@ -7940,10 +8072,20 @@ function createNested(_options = {}) {
7940
8072
  }
7941
8073
  }
7942
8074
  function expandAll() {
7943
- for (const [id, childList] of children) if (childList.length > 0) openedIds.add(id);
8075
+ if (toValue(group.disabled)) return;
8076
+ for (const [id, childList] of children) if (childList.length > 0) {
8077
+ const item = group.get(id);
8078
+ if (item && toValue(item.disabled)) continue;
8079
+ openedIds.add(id);
8080
+ }
7944
8081
  }
7945
8082
  function collapseAll() {
7946
- openedIds.clear();
8083
+ if (toValue(group.disabled)) return;
8084
+ const toClose = [...openedIds].filter((id) => {
8085
+ const item = group.get(id);
8086
+ return !item || !toValue(item.disabled);
8087
+ });
8088
+ for (const id of toClose) openedIds.delete(id);
7947
8089
  }
7948
8090
  function activated(id) {
7949
8091
  return activeIds.has(id);
@@ -8024,7 +8166,7 @@ function createNested(_options = {}) {
8024
8166
  function siblings(id) {
8025
8167
  if (!group.has(id)) return [];
8026
8168
  const parentId = parents.get(id);
8027
- if (/* @__PURE__ */ isUndefined(parentId)) return group.values().filter((item) => /* @__PURE__ */ isUndefined(parents.get(item.id))).map((item) => item.id);
8169
+ if (/* @__PURE__ */ isUndefined(parentId)) return Array.from(rootIds);
8028
8170
  return children.get(parentId) ?? [];
8029
8171
  }
8030
8172
  /**
@@ -8035,6 +8177,28 @@ function createNested(_options = {}) {
8035
8177
  const index = siblings(id).indexOf(id);
8036
8178
  return index === -1 ? 0 : index + 1;
8037
8179
  }
8180
+ /**
8181
+ * Returns depth-first traversal of visible (open) nodes.
8182
+ * A node is visible if all its ancestors are open.
8183
+ * Used by useRovingFocus to determine keyboard navigation order.
8184
+ */
8185
+ function visibleItems() {
8186
+ const result = [];
8187
+ const rootItems = Array.from(rootIds);
8188
+ function walk(ids) {
8189
+ for (const id of ids) {
8190
+ const item = group.get(id);
8191
+ if (!item) continue;
8192
+ result.push(item);
8193
+ if (opened(id)) {
8194
+ const childIds = children.get(id);
8195
+ if (childIds?.length) walk(childIds);
8196
+ }
8197
+ }
8198
+ }
8199
+ walk(rootItems);
8200
+ return result;
8201
+ }
8038
8202
  function updateAncestors(id) {
8039
8203
  const { selectedIds, mixedIds } = group;
8040
8204
  let parentId = parents.get(id);
@@ -8061,8 +8225,11 @@ function createNested(_options = {}) {
8061
8225
  return getDescendants(id).filter((did) => isLeaf(did));
8062
8226
  }
8063
8227
  function select(ids) {
8228
+ if (toValue(group.disabled)) return;
8064
8229
  for (const id of toArray(ids)) {
8065
8230
  if (!group.has(id)) continue;
8231
+ const item = group.get(id);
8232
+ if (!item || toValue(item.disabled)) continue;
8066
8233
  if (selectionMode === "independent") group.select(id);
8067
8234
  else if (selectionMode === "leaf") if (isLeaf(id)) group.select(id);
8068
8235
  else for (const lid of getLeafDescendants(id)) group.select(lid);
@@ -8075,6 +8242,8 @@ function createNested(_options = {}) {
8075
8242
  mixedIds.delete(id);
8076
8243
  selectedIds.add(id);
8077
8244
  for (const did of getDescendants(id)) {
8245
+ const desc = group.get(did);
8246
+ if (desc && toValue(desc.disabled)) continue;
8078
8247
  mixedIds.delete(did);
8079
8248
  selectedIds.add(did);
8080
8249
  }
@@ -8083,8 +8252,11 @@ function createNested(_options = {}) {
8083
8252
  }
8084
8253
  }
8085
8254
  function unselect(ids) {
8255
+ if (toValue(group.disabled)) return;
8086
8256
  for (const id of toArray(ids)) {
8087
8257
  if (!group.has(id)) continue;
8258
+ const item = group.get(id);
8259
+ if (!item || toValue(item.disabled)) continue;
8088
8260
  if (selectionMode === "independent") group.unselect(id);
8089
8261
  else if (selectionMode === "leaf") if (isLeaf(id)) group.unselect(id);
8090
8262
  else for (const lid of getLeafDescendants(id)) group.unselect(lid);
@@ -8097,6 +8269,8 @@ function createNested(_options = {}) {
8097
8269
  mixedIds.delete(id);
8098
8270
  selectedIds.delete(id);
8099
8271
  for (const did of getDescendants(id)) {
8272
+ const desc = group.get(did);
8273
+ if (desc && toValue(desc.disabled)) continue;
8100
8274
  mixedIds.delete(did);
8101
8275
  selectedIds.delete(did);
8102
8276
  }
@@ -8105,15 +8279,43 @@ function createNested(_options = {}) {
8105
8279
  }
8106
8280
  }
8107
8281
  function toggle(ids) {
8108
- for (const id of toArray(ids)) if (selectionMode === "independent") group.toggle(id);
8109
- else if (selectionMode === "leaf") if (isLeaf(id)) group.toggle(id);
8110
- else {
8111
- const leafIds = getLeafDescendants(id);
8112
- if (leafIds.every((lid) => group.selected(lid))) for (const lid of leafIds) group.unselect(lid);
8113
- else for (const lid of leafIds) group.select(lid);
8282
+ if (toValue(group.disabled)) return;
8283
+ for (const id of toArray(ids)) {
8284
+ const item = group.get(id);
8285
+ if (!item || toValue(item.disabled)) continue;
8286
+ if (selectionMode === "independent") group.toggle(id);
8287
+ else if (selectionMode === "leaf") if (isLeaf(id)) group.toggle(id);
8288
+ else {
8289
+ const leafIds = getLeafDescendants(id);
8290
+ if (leafIds.every((lid) => group.selected(lid))) for (const lid of leafIds) group.unselect(lid);
8291
+ else for (const lid of leafIds) group.select(lid);
8292
+ }
8293
+ else if (group.selected(id) || group.mixed(id)) unselect(id);
8294
+ else select(id);
8114
8295
  }
8115
- else if (group.selected(id) || group.mixed(id)) unselect(id);
8116
- else select(id);
8296
+ }
8297
+ function selectAll() {
8298
+ if (toValue(group.disabled)) return;
8299
+ const { selectedIds, mixedIds } = group;
8300
+ for (const item of group.values()) {
8301
+ if (toValue(item.disabled)) continue;
8302
+ selectedIds.add(item.id);
8303
+ }
8304
+ mixedIds.clear();
8305
+ }
8306
+ function unselectAll() {
8307
+ if (toValue(group.disabled)) return;
8308
+ const first = group.selectedIds.values().next().value;
8309
+ group.selectedIds.clear();
8310
+ group.mixedIds.clear();
8311
+ if (toValue(mandatoryOption) && first) {
8312
+ group.selectedIds.add(first);
8313
+ updateAncestors(first);
8314
+ }
8315
+ }
8316
+ function toggleAll() {
8317
+ if (group.isAllSelected.value) unselectAll();
8318
+ else selectAll();
8117
8319
  }
8118
8320
  /**
8119
8321
  * Converts the tree to a flat array with parentId references.
@@ -8158,6 +8360,7 @@ function createNested(_options = {}) {
8158
8360
  const item = {
8159
8361
  ...rest,
8160
8362
  id,
8363
+ el: registration.el,
8161
8364
  parentId: batching ? pendingParents.get(id) : parents.get(id),
8162
8365
  isOpen: toRef(() => opened(id)),
8163
8366
  isActive: toRef(() => activated(id)),
@@ -8178,6 +8381,9 @@ function createNested(_options = {}) {
8178
8381
  position: () => position(id)
8179
8382
  };
8180
8383
  const ticket = group.register(item);
8384
+ ticket.select = () => select(id);
8385
+ ticket.unselect = () => unselect(id);
8386
+ ticket.toggle = () => toggle(id);
8181
8387
  if (registration.active) activate(id);
8182
8388
  if (nested?.length) for (const child of nested) register({
8183
8389
  ...child,
@@ -8272,6 +8478,7 @@ function createNested(_options = {}) {
8272
8478
  activeIndexes,
8273
8479
  roots,
8274
8480
  leaves,
8481
+ visibleItems,
8275
8482
  getPath,
8276
8483
  getAncestors,
8277
8484
  getDescendants,
@@ -8295,10 +8502,14 @@ function createNested(_options = {}) {
8295
8502
  activated,
8296
8503
  deactivateAll,
8297
8504
  toFlat,
8505
+ multiple: toValue(multipleOption),
8298
8506
  openStrategy: resolvedOpenStrategy,
8299
8507
  select,
8300
8508
  unselect,
8301
8509
  toggle,
8510
+ selectAll,
8511
+ unselectAll,
8512
+ toggleAll,
8302
8513
  register,
8303
8514
  unregister,
8304
8515
  offboard,
@@ -10575,6 +10786,7 @@ const [createStorageContext, createStoragePlugin, useStorage] = createPluginCont
10575
10786
  var ThemeAdapter = class {
10576
10787
  stylesheetId = "v0-theme-stylesheet";
10577
10788
  prefix;
10789
+ rgb = false;
10578
10790
  constructor(prefix) {
10579
10791
  this.prefix = prefix;
10580
10792
  }
@@ -10583,12 +10795,16 @@ var ThemeAdapter = class {
10583
10795
  for (const theme in colors) {
10584
10796
  const themeColors = colors[theme];
10585
10797
  if (!themeColors) continue;
10586
- const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${val};`).join("\n");
10798
+ const vars = Object.entries(themeColors).map(([key, val]) => ` --${this.prefix}-${key}: ${this.rgb ? this.decompose(val) : val};`).join("\n");
10587
10799
  css += `[data-theme="${theme}"] {\n${vars}\n}\n`;
10588
10800
  }
10589
10801
  if (!/* @__PURE__ */ isUndefined(isDark)) css += `:root {\n color-scheme: ${isDark ? "dark" : "light"};\n}\n`;
10590
10802
  return css;
10591
10803
  }
10804
+ decompose(hex) {
10805
+ const { r, g, b, a } = hexToRgb(hex);
10806
+ return /* @__PURE__ */ isUndefined(a) ? `${r}, ${g}, ${b}` : `${r}, ${g}, ${b}, ${a}`;
10807
+ }
10592
10808
  };
10593
10809
  //#endregion
10594
10810
  //#region src/composables/useTheme/adapters/v0.ts
@@ -10701,7 +10917,7 @@ var Vuetify0ThemeAdapter = class extends ThemeAdapter {
10701
10917
  * ```
10702
10918
  */
10703
10919
  function createTheme(_options = {}) {
10704
- const { themes = {}, palette = {}, ...options } = _options;
10920
+ const { themes = {}, palette = {}, foreground: genForeground, ...options } = _options;
10705
10921
  const tokens = createTokens({
10706
10922
  palette,
10707
10923
  ...themes
@@ -10721,7 +10937,12 @@ function createTheme(_options = {}) {
10721
10937
  const resolved = {};
10722
10938
  for (const theme of registry.values()) {
10723
10939
  if (theme.lazy && theme.id !== registry.selectedId.value) continue;
10724
- resolved[theme.id] = resolve(theme.value);
10940
+ const themeColors = resolve(theme.value);
10941
+ if (genForeground) for (const [key, value] of Object.entries(themeColors)) {
10942
+ const onKey = `on-${key}`;
10943
+ if (!key.startsWith("on-") && !(onKey in themeColors)) themeColors[onKey] = foreground(value);
10944
+ }
10945
+ resolved[theme.id] = themeColors;
10725
10946
  }
10726
10947
  return resolved;
10727
10948
  });
@@ -10772,7 +10993,8 @@ function createThemeFallback() {
10772
10993
  }
10773
10994
  const [createThemeContext, createThemePlugin, useTheme] = createPluginContext("v0:theme", (options) => createTheme(options), {
10774
10995
  fallback: () => createThemeFallback(),
10775
- setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target }) => {
10996
+ setup: (context, app, { adapter = new Vuetify0ThemeAdapter(), target, rgb }) => {
10997
+ if (rgb) adapter.rgb = true;
10776
10998
  adapter.setup(app, context, target);
10777
10999
  }
10778
11000
  });
@@ -12877,11 +13099,49 @@ const Input = {
12877
13099
  Root: _sfc_main$39
12878
13100
  };
12879
13101
  //#endregion
13102
+ //#region src/components/Locale/Locale.vue
13103
+ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
13104
+ name: "Locale",
13105
+ inheritAttrs: false,
13106
+ __name: "Locale",
13107
+ props: {
13108
+ locale: {},
13109
+ renderless: {
13110
+ type: Boolean,
13111
+ default: false
13112
+ },
13113
+ as: { default: "div" }
13114
+ },
13115
+ setup(__props) {
13116
+ const parent = useLocale();
13117
+ const selectedId = toRef(() => __props.locale);
13118
+ const selectedItem = toRef(() => parent.get(__props.locale));
13119
+ provideContext("v0:locale", {
13120
+ ...parent,
13121
+ selectedId,
13122
+ selectedItem
13123
+ });
13124
+ const attrs = toRef(() => ({
13125
+ "data-locale": __props.locale,
13126
+ "lang": __props.locale
13127
+ }));
13128
+ return (_ctx, _cache) => {
13129
+ return __props.renderless ? renderSlot(_ctx.$slots, "default", {
13130
+ key: 0,
13131
+ attrs: attrs.value
13132
+ }) : (openBlock(), createBlock(resolveDynamicComponent(__props.as), normalizeProps(mergeProps({ key: 1 }, attrs.value)), {
13133
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { attrs: attrs.value })]),
13134
+ _: 3
13135
+ }, 16));
13136
+ };
13137
+ }
13138
+ });
13139
+ //#endregion
12880
13140
  //#region src/components/Pagination/PaginationRoot.vue
12881
13141
  const [usePaginationRoot, providePaginationRoot] = createContext();
12882
13142
  const [usePaginationControls, providePaginationControls] = createContext({ suffix: "controls" });
12883
13143
  const [usePaginationItems, providePaginationItems] = createContext({ suffix: "items" });
12884
- const _sfc_main$46 = /* @__PURE__ */ defineComponent({
13144
+ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
12885
13145
  name: "PaginationRoot",
12886
13146
  __name: "PaginationRoot",
12887
13147
  props: /* @__PURE__ */ mergeModels({
@@ -12983,7 +13243,7 @@ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
12983
13243
  });
12984
13244
  //#endregion
12985
13245
  //#region src/components/Pagination/PaginationEllipsis.vue
12986
- const _sfc_main$40 = /* @__PURE__ */ defineComponent({
13246
+ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
12987
13247
  name: "PaginationEllipsis",
12988
13248
  __name: "PaginationEllipsis",
12989
13249
  props: {
@@ -13026,7 +13286,7 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
13026
13286
  });
13027
13287
  //#endregion
13028
13288
  //#region src/components/Pagination/PaginationFirst.vue
13029
- const _sfc_main$41 = /* @__PURE__ */ defineComponent({
13289
+ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
13030
13290
  name: "PaginationFirst",
13031
13291
  __name: "PaginationFirst",
13032
13292
  props: {
@@ -13083,7 +13343,7 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
13083
13343
  });
13084
13344
  //#endregion
13085
13345
  //#region src/components/Pagination/PaginationItem.vue
13086
- const _sfc_main$42 = /* @__PURE__ */ defineComponent({
13346
+ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
13087
13347
  name: "PaginationItem",
13088
13348
  __name: "PaginationItem",
13089
13349
  props: {
@@ -13151,7 +13411,7 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
13151
13411
  });
13152
13412
  //#endregion
13153
13413
  //#region src/components/Pagination/PaginationLast.vue
13154
- const _sfc_main$43 = /* @__PURE__ */ defineComponent({
13414
+ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
13155
13415
  name: "PaginationLast",
13156
13416
  __name: "PaginationLast",
13157
13417
  props: {
@@ -13208,7 +13468,7 @@ const _sfc_main$43 = /* @__PURE__ */ defineComponent({
13208
13468
  });
13209
13469
  //#endregion
13210
13470
  //#region src/components/Pagination/PaginationNext.vue
13211
- const _sfc_main$44 = /* @__PURE__ */ defineComponent({
13471
+ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
13212
13472
  name: "PaginationNext",
13213
13473
  __name: "PaginationNext",
13214
13474
  props: {
@@ -13265,7 +13525,7 @@ const _sfc_main$44 = /* @__PURE__ */ defineComponent({
13265
13525
  });
13266
13526
  //#endregion
13267
13527
  //#region src/components/Pagination/PaginationPrev.vue
13268
- const _sfc_main$45 = /* @__PURE__ */ defineComponent({
13528
+ const _sfc_main$46 = /* @__PURE__ */ defineComponent({
13269
13529
  name: "PaginationPrev",
13270
13530
  __name: "PaginationPrev",
13271
13531
  props: {
@@ -13322,7 +13582,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
13322
13582
  });
13323
13583
  //#endregion
13324
13584
  //#region src/components/Pagination/PaginationStatus.vue
13325
- const _sfc_main$47 = /* @__PURE__ */ defineComponent({
13585
+ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
13326
13586
  name: "PaginationStatus",
13327
13587
  __name: "PaginationStatus",
13328
13588
  props: {
@@ -13374,19 +13634,19 @@ const _sfc_main$47 = /* @__PURE__ */ defineComponent({
13374
13634
  * @see https://0.vuetifyjs.com/components/pagination
13375
13635
  */
13376
13636
  const Pagination = {
13377
- Root: _sfc_main$46,
13378
- Item: _sfc_main$42,
13379
- First: _sfc_main$41,
13380
- Prev: _sfc_main$45,
13381
- Ellipsis: _sfc_main$40,
13382
- Next: _sfc_main$44,
13383
- Last: _sfc_main$43,
13384
- Status: _sfc_main$47
13637
+ Root: _sfc_main$47,
13638
+ Item: _sfc_main$43,
13639
+ First: _sfc_main$42,
13640
+ Prev: _sfc_main$46,
13641
+ Ellipsis: _sfc_main$41,
13642
+ Next: _sfc_main$45,
13643
+ Last: _sfc_main$44,
13644
+ Status: _sfc_main$48
13385
13645
  };
13386
13646
  //#endregion
13387
13647
  //#region src/components/Popover/PopoverRoot.vue
13388
13648
  const [usePopoverContext, providePopoverContext] = createContext("Popover");
13389
- const _sfc_main$50 = /* @__PURE__ */ defineComponent({
13649
+ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
13390
13650
  name: "PopoverRoot",
13391
13651
  __name: "PopoverRoot",
13392
13652
  props: /* @__PURE__ */ mergeModels({
@@ -13429,7 +13689,7 @@ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
13429
13689
  });
13430
13690
  //#endregion
13431
13691
  //#region src/components/Popover/PopoverActivator.vue
13432
- const _sfc_main$48 = /* @__PURE__ */ defineComponent({
13692
+ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
13433
13693
  name: "PopoverActivator",
13434
13694
  __name: "PopoverActivator",
13435
13695
  props: {
@@ -13466,7 +13726,7 @@ const _sfc_main$48 = /* @__PURE__ */ defineComponent({
13466
13726
  });
13467
13727
  //#endregion
13468
13728
  //#region src/components/Popover/PopoverContent.vue
13469
- const _sfc_main$49 = /* @__PURE__ */ defineComponent({
13729
+ const _sfc_main$50 = /* @__PURE__ */ defineComponent({
13470
13730
  name: "PopoverContent",
13471
13731
  __name: "PopoverContent",
13472
13732
  props: {
@@ -13526,14 +13786,14 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
13526
13786
  * @see https://0.vuetifyjs.com/components/popover
13527
13787
  */
13528
13788
  const Popover = {
13529
- Root: _sfc_main$50,
13530
- Activator: _sfc_main$48,
13531
- Content: _sfc_main$49
13789
+ Root: _sfc_main$51,
13790
+ Activator: _sfc_main$49,
13791
+ Content: _sfc_main$50
13532
13792
  };
13533
13793
  //#endregion
13534
13794
  //#region src/components/Radio/RadioGroup.vue
13535
13795
  const [useRadioGroup, provideRadioGroup] = createContext();
13536
- const _sfc_main$51 = /* @__PURE__ */ defineComponent({
13796
+ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
13537
13797
  name: "RadioGroup",
13538
13798
  __name: "RadioGroup",
13539
13799
  props: /* @__PURE__ */ mergeModels({
@@ -13598,7 +13858,7 @@ const _sfc_main$51 = /* @__PURE__ */ defineComponent({
13598
13858
  //#endregion
13599
13859
  //#region src/components/Radio/RadioRoot.vue
13600
13860
  const [useRadioRoot, provideRadioRoot] = createContext();
13601
- const _sfc_main$54 = /* @__PURE__ */ defineComponent({
13861
+ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
13602
13862
  name: "RadioRoot",
13603
13863
  inheritAttrs: false,
13604
13864
  __name: "RadioRoot",
@@ -13719,7 +13979,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
13719
13979
  }), {
13720
13980
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
13721
13981
  _: 3
13722
- }, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$52, { key: 0 })) : createCommentVNode("v-if", true)], 64);
13982
+ }, 16, ["as", "renderless"]), unref(name) ? (openBlock(), createBlock(_sfc_main$53, { key: 0 })) : createCommentVNode("v-if", true)], 64);
13723
13983
  };
13724
13984
  }
13725
13985
  });
@@ -13743,7 +14003,7 @@ const visuallyHiddenStyle$2 = {
13743
14003
  whiteSpace: "nowrap",
13744
14004
  border: "0"
13745
14005
  };
13746
- const _sfc_main$52 = /* @__PURE__ */ defineComponent({
14006
+ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
13747
14007
  name: "RadioHiddenInput",
13748
14008
  __name: "RadioHiddenInput",
13749
14009
  props: {
@@ -13780,7 +14040,7 @@ const _sfc_main$52 = /* @__PURE__ */ defineComponent({
13780
14040
  });
13781
14041
  //#endregion
13782
14042
  //#region src/components/Radio/RadioIndicator.vue
13783
- const _sfc_main$53 = /* @__PURE__ */ defineComponent({
14043
+ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
13784
14044
  name: "RadioIndicator",
13785
14045
  __name: "RadioIndicator",
13786
14046
  props: {
@@ -13845,14 +14105,14 @@ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
13845
14105
  * ```
13846
14106
  */
13847
14107
  const Radio = {
13848
- Group: _sfc_main$51,
13849
- HiddenInput: _sfc_main$52,
13850
- Indicator: _sfc_main$53,
13851
- Root: _sfc_main$54
14108
+ Group: _sfc_main$52,
14109
+ HiddenInput: _sfc_main$53,
14110
+ Indicator: _sfc_main$54,
14111
+ Root: _sfc_main$55
13852
14112
  };
13853
14113
  //#endregion
13854
14114
  //#region src/components/Scrim/Scrim.vue
13855
- const _sfc_main$55 = /* @__PURE__ */ defineComponent({
14115
+ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
13856
14116
  name: "Scrim",
13857
14117
  inheritAttrs: false,
13858
14118
  __name: "Scrim",
@@ -13946,7 +14206,7 @@ const visuallyHiddenStyle$1 = {
13946
14206
  whiteSpace: "nowrap",
13947
14207
  border: "0"
13948
14208
  };
13949
- const _sfc_main$92 = /* @__PURE__ */ defineComponent({
14209
+ const _sfc_main$104 = /* @__PURE__ */ defineComponent({
13950
14210
  name: "SelectHiddenInput",
13951
14211
  __name: "SelectHiddenInput",
13952
14212
  props: { namespace: { default: "v0:select" } },
@@ -13980,7 +14240,7 @@ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
13980
14240
  //#endregion
13981
14241
  //#region src/components/Select/SelectRoot.vue
13982
14242
  const [useSelectContext, provideSelectContext] = createContext();
13983
- const _sfc_main$61 = /* @__PURE__ */ defineComponent({
14243
+ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
13984
14244
  name: "SelectRoot",
13985
14245
  __name: "SelectRoot",
13986
14246
  props: /* @__PURE__ */ mergeModels({
@@ -14092,13 +14352,13 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
14092
14352
  }, {
14093
14353
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
14094
14354
  _: 3
14095
- }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$92, { key: 0 })) : createCommentVNode("v-if", true)], 64);
14355
+ }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$104, { key: 0 })) : createCommentVNode("v-if", true)], 64);
14096
14356
  };
14097
14357
  }
14098
14358
  });
14099
14359
  //#endregion
14100
14360
  //#region src/components/Select/SelectActivator.vue
14101
- const _sfc_main$56 = /* @__PURE__ */ defineComponent({
14361
+ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
14102
14362
  name: "SelectActivator",
14103
14363
  __name: "SelectActivator",
14104
14364
  props: {
@@ -14176,7 +14436,7 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
14176
14436
  });
14177
14437
  //#endregion
14178
14438
  //#region src/components/Select/SelectContent.vue
14179
- const _sfc_main$57 = /* @__PURE__ */ defineComponent({
14439
+ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
14180
14440
  name: "SelectContent",
14181
14441
  __name: "SelectContent",
14182
14442
  props: {
@@ -14213,7 +14473,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
14213
14473
  });
14214
14474
  //#endregion
14215
14475
  //#region src/components/Select/SelectCue.vue
14216
- const _sfc_main$58 = /* @__PURE__ */ defineComponent({
14476
+ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
14217
14477
  name: "SelectCue",
14218
14478
  __name: "SelectCue",
14219
14479
  props: {
@@ -14240,7 +14500,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
14240
14500
  });
14241
14501
  //#endregion
14242
14502
  //#region src/components/Select/SelectItem.vue
14243
- const _sfc_main$59 = /* @__PURE__ */ defineComponent({
14503
+ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
14244
14504
  name: "SelectItem",
14245
14505
  __name: "SelectItem",
14246
14506
  props: {
@@ -14295,7 +14555,7 @@ const _sfc_main$59 = /* @__PURE__ */ defineComponent({
14295
14555
  });
14296
14556
  //#endregion
14297
14557
  //#region src/components/Select/SelectPlaceholder.vue
14298
- const _sfc_main$60 = /* @__PURE__ */ defineComponent({
14558
+ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
14299
14559
  name: "SelectPlaceholder",
14300
14560
  __name: "SelectPlaceholder",
14301
14561
  props: {
@@ -14319,7 +14579,7 @@ const _sfc_main$60 = /* @__PURE__ */ defineComponent({
14319
14579
  });
14320
14580
  //#endregion
14321
14581
  //#region src/components/Select/SelectValue.vue
14322
- const _sfc_main$62 = /* @__PURE__ */ defineComponent({
14582
+ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
14323
14583
  name: "SelectValue",
14324
14584
  __name: "SelectValue",
14325
14585
  props: {
@@ -14397,18 +14657,18 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
14397
14657
  * ```
14398
14658
  */
14399
14659
  const Select = {
14400
- Root: _sfc_main$61,
14401
- Activator: _sfc_main$56,
14402
- Value: _sfc_main$62,
14403
- Content: _sfc_main$57,
14404
- Cue: _sfc_main$58,
14405
- Item: _sfc_main$59,
14406
- Placeholder: _sfc_main$60
14660
+ Root: _sfc_main$62,
14661
+ Activator: _sfc_main$57,
14662
+ Value: _sfc_main$63,
14663
+ Content: _sfc_main$58,
14664
+ Cue: _sfc_main$59,
14665
+ Item: _sfc_main$60,
14666
+ Placeholder: _sfc_main$61
14407
14667
  };
14408
14668
  //#endregion
14409
14669
  //#region src/components/Selection/SelectionRoot.vue
14410
14670
  const [useSelectionRoot, provideSelectionRoot] = createContext();
14411
- const _sfc_main$64 = /* @__PURE__ */ defineComponent({
14671
+ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
14412
14672
  name: "SelectionRoot",
14413
14673
  __name: "SelectionRoot",
14414
14674
  props: /* @__PURE__ */ mergeModels({
@@ -14460,7 +14720,7 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
14460
14720
  });
14461
14721
  //#endregion
14462
14722
  //#region src/components/Selection/SelectionItem.vue
14463
- const _sfc_main$63 = /* @__PURE__ */ defineComponent({
14723
+ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
14464
14724
  name: "SelectionItem",
14465
14725
  __name: "SelectionItem",
14466
14726
  props: {
@@ -14510,12 +14770,12 @@ const _sfc_main$63 = /* @__PURE__ */ defineComponent({
14510
14770
  * @see https://0.vuetifyjs.com/components/selection
14511
14771
  */
14512
14772
  const Selection = {
14513
- Root: _sfc_main$64,
14514
- Item: _sfc_main$63
14773
+ Root: _sfc_main$65,
14774
+ Item: _sfc_main$64
14515
14775
  };
14516
14776
  //#endregion
14517
14777
  //#region src/components/Snackbar/SnackbarPortal.vue
14518
- const _sfc_main$74 = /* @__PURE__ */ defineComponent({
14778
+ const _sfc_main$75 = /* @__PURE__ */ defineComponent({
14519
14779
  name: "SnackbarPortal",
14520
14780
  inheritAttrs: false,
14521
14781
  __name: "SnackbarPortal",
@@ -14556,7 +14816,7 @@ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
14556
14816
  //#endregion
14557
14817
  //#region src/components/Snackbar/SnackbarQueue.vue
14558
14818
  const [useSnackbarQueueContext, provideSnackbarQueueContext] = createContext({ suffix: "queue" });
14559
- const _sfc_main$75 = /* @__PURE__ */ defineComponent({
14819
+ const _sfc_main$76 = /* @__PURE__ */ defineComponent({
14560
14820
  name: "SnackbarQueue",
14561
14821
  __name: "SnackbarQueue",
14562
14822
  props: {
@@ -14625,7 +14885,7 @@ const _sfc_main$75 = /* @__PURE__ */ defineComponent({
14625
14885
  //#endregion
14626
14886
  //#region src/components/Snackbar/SnackbarRoot.vue
14627
14887
  const [useSnackbarRootContext, provideSnackbarRootContext] = createContext({ suffix: "root" });
14628
- const _sfc_main$76 = /* @__PURE__ */ defineComponent({
14888
+ const _sfc_main$77 = /* @__PURE__ */ defineComponent({
14629
14889
  name: "SnackbarRoot",
14630
14890
  __name: "SnackbarRoot",
14631
14891
  props: {
@@ -14660,7 +14920,7 @@ const _sfc_main$76 = /* @__PURE__ */ defineComponent({
14660
14920
  });
14661
14921
  //#endregion
14662
14922
  //#region src/components/Snackbar/SnackbarContent.vue
14663
- const _sfc_main$73 = /* @__PURE__ */ defineComponent({
14923
+ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
14664
14924
  name: "SnackbarContent",
14665
14925
  __name: "SnackbarContent",
14666
14926
  props: {
@@ -14678,7 +14938,7 @@ const _sfc_main$73 = /* @__PURE__ */ defineComponent({
14678
14938
  });
14679
14939
  //#endregion
14680
14940
  //#region src/components/Snackbar/SnackbarClose.vue
14681
- const _sfc_main$72 = /* @__PURE__ */ defineComponent({
14941
+ const _sfc_main$73 = /* @__PURE__ */ defineComponent({
14682
14942
  name: "SnackbarClose",
14683
14943
  __name: "SnackbarClose",
14684
14944
  props: {
@@ -14732,16 +14992,16 @@ const _sfc_main$72 = /* @__PURE__ */ defineComponent({
14732
14992
  * ```
14733
14993
  */
14734
14994
  const Snackbar = {
14735
- Portal: _sfc_main$74,
14736
- Queue: _sfc_main$75,
14737
- Root: _sfc_main$76,
14738
- Content: _sfc_main$73,
14739
- Close: _sfc_main$72
14995
+ Portal: _sfc_main$75,
14996
+ Queue: _sfc_main$76,
14997
+ Root: _sfc_main$77,
14998
+ Content: _sfc_main$74,
14999
+ Close: _sfc_main$73
14740
15000
  };
14741
15001
  //#endregion
14742
15002
  //#region src/components/Slider/SliderRoot.vue
14743
15003
  const [useSliderRoot, provideSliderRoot] = createContext();
14744
- const _sfc_main$69 = /* @__PURE__ */ defineComponent({
15004
+ const _sfc_main$70 = /* @__PURE__ */ defineComponent({
14745
15005
  name: "SliderRoot",
14746
15006
  inheritAttrs: false,
14747
15007
  __name: "SliderRoot",
@@ -14873,7 +15133,7 @@ const _sfc_main$69 = /* @__PURE__ */ defineComponent({
14873
15133
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
14874
15134
  _: 3
14875
15135
  }, 16, ["as", "renderless"]), __props.name ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(unref(slider).values.value, (_, index) => {
14876
- return openBlock(), createBlock(_sfc_main$67, {
15136
+ return openBlock(), createBlock(_sfc_main$68, {
14877
15137
  key: index,
14878
15138
  index
14879
15139
  }, null, 8, ["index"]);
@@ -14889,7 +15149,7 @@ const _hoisted_1$1 = [
14889
15149
  "name",
14890
15150
  "value"
14891
15151
  ];
14892
- const _sfc_main$67 = /* @__PURE__ */ defineComponent({
15152
+ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
14893
15153
  name: "SliderHiddenInput",
14894
15154
  __name: "SliderHiddenInput",
14895
15155
  props: {
@@ -14914,7 +15174,7 @@ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
14914
15174
  });
14915
15175
  //#endregion
14916
15176
  //#region src/components/Slider/SliderRange.vue
14917
- const _sfc_main$68 = /* @__PURE__ */ defineComponent({
15177
+ const _sfc_main$69 = /* @__PURE__ */ defineComponent({
14918
15178
  name: "SliderRange",
14919
15179
  inheritAttrs: false,
14920
15180
  __name: "SliderRange",
@@ -14975,7 +15235,7 @@ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
14975
15235
  });
14976
15236
  //#endregion
14977
15237
  //#region src/components/Slider/SliderThumb.vue
14978
- const _sfc_main$70 = /* @__PURE__ */ defineComponent({
15238
+ const _sfc_main$71 = /* @__PURE__ */ defineComponent({
14979
15239
  name: "SliderThumb",
14980
15240
  inheritAttrs: false,
14981
15241
  __name: "SliderThumb",
@@ -15089,7 +15349,7 @@ const _sfc_main$70 = /* @__PURE__ */ defineComponent({
15089
15349
  });
15090
15350
  //#endregion
15091
15351
  //#region src/components/Slider/SliderTrack.vue
15092
- const _sfc_main$71 = /* @__PURE__ */ defineComponent({
15352
+ const _sfc_main$72 = /* @__PURE__ */ defineComponent({
15093
15353
  name: "SliderTrack",
15094
15354
  inheritAttrs: false,
15095
15355
  __name: "SliderTrack",
@@ -15183,16 +15443,16 @@ const _sfc_main$71 = /* @__PURE__ */ defineComponent({
15183
15443
  * ```
15184
15444
  */
15185
15445
  const Slider = {
15186
- Root: _sfc_main$69,
15187
- Track: _sfc_main$71,
15188
- Range: _sfc_main$68,
15189
- Thumb: _sfc_main$70,
15190
- HiddenInput: _sfc_main$67
15446
+ Root: _sfc_main$70,
15447
+ Track: _sfc_main$72,
15448
+ Range: _sfc_main$69,
15449
+ Thumb: _sfc_main$71,
15450
+ HiddenInput: _sfc_main$68
15191
15451
  };
15192
15452
  //#endregion
15193
15453
  //#region src/components/Splitter/SplitterRoot.vue
15194
15454
  const [useSplitterRoot, provideSplitterRoot] = createContext("v0:splitter");
15195
- const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15455
+ const _sfc_main$80 = /* @__PURE__ */ defineComponent({
15196
15456
  name: "SplitterRoot",
15197
15457
  inheritAttrs: false,
15198
15458
  __name: "SplitterRoot",
@@ -15213,6 +15473,8 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15213
15473
  const rootEl = toRef(() => rootAtom.value?.element ?? null);
15214
15474
  const draggingHandle = shallowRef(null);
15215
15475
  const dragging = toRef(() => !/* @__PURE__ */ isNull(draggingHandle.value));
15476
+ const expandAccum = /* @__PURE__ */ new Map();
15477
+ const EXPAND_THRESHOLD = 5;
15216
15478
  const panels = createSelection({
15217
15479
  multiple: true,
15218
15480
  enroll: true,
@@ -15242,15 +15504,38 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15242
15504
  const min2 = effectiveMin(after);
15243
15505
  const lower = Math.max(min1, total - after.maxSize);
15244
15506
  const upper = Math.min(before.maxSize, total - min2);
15245
- const size = /* @__PURE__ */ clamp(before.size + delta, lower, upper);
15507
+ let size = /* @__PURE__ */ clamp(before.size + delta, lower, upper);
15508
+ const beforeCollapsed = !toValue(before.isSelected);
15509
+ if (before.collapsible && !beforeCollapsed && size <= before.minSize && delta < 0) {
15510
+ size = before.collapsedSize;
15511
+ before.unselect();
15512
+ expandAccum.set(before.id, 0);
15513
+ } else if (before.collapsible && beforeCollapsed && delta > 0) {
15514
+ const accum = (expandAccum.get(before.id) ?? 0) + delta;
15515
+ expandAccum.set(before.id, accum);
15516
+ if (accum >= EXPAND_THRESHOLD) {
15517
+ size = /* @__PURE__ */ clamp(Math.max(accum, before.minSize), before.minSize, before.maxSize);
15518
+ before.select();
15519
+ expandAccum.delete(before.id);
15520
+ } else size = before.collapsedSize;
15521
+ }
15522
+ const afterSize = total - size;
15523
+ const afterCollapsed = !toValue(after.isSelected);
15524
+ if (after.collapsible && !afterCollapsed && afterSize <= after.minSize && delta > 0) {
15525
+ size = total - after.collapsedSize;
15526
+ after.unselect();
15527
+ expandAccum.set(after.id, 0);
15528
+ } else if (after.collapsible && afterCollapsed && delta < 0) {
15529
+ const accum = (expandAccum.get(after.id) ?? 0) + Math.abs(delta);
15530
+ expandAccum.set(after.id, accum);
15531
+ if (accum >= EXPAND_THRESHOLD) {
15532
+ size = total - /* @__PURE__ */ clamp(Math.max(accum, after.minSize), after.minSize, after.maxSize);
15533
+ after.select();
15534
+ expandAccum.delete(after.id);
15535
+ } else size = total - after.collapsedSize;
15536
+ }
15246
15537
  before.size = size;
15247
15538
  after.size = total - size;
15248
- for (const p of [before, after]) {
15249
- if (!p.collapsible) continue;
15250
- const collapsed = !toValue(p.isSelected);
15251
- if (!collapsed && p.size <= p.collapsedSize) p.unselect();
15252
- else if (collapsed && p.size > p.collapsedSize) p.select();
15253
- }
15254
15539
  if (options?.emit) emitLayout();
15255
15540
  }
15256
15541
  function collapse(index, neighborIndex) {
@@ -15317,6 +15602,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15317
15602
  }
15318
15603
  function onEndDrag() {
15319
15604
  draggingHandle.value = null;
15605
+ expandAccum.clear();
15320
15606
  emitLayout();
15321
15607
  }
15322
15608
  function emitLayout() {
@@ -15378,7 +15664,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15378
15664
  });
15379
15665
  //#endregion
15380
15666
  //#region src/components/Splitter/SplitterPanel.vue
15381
- const _sfc_main$78 = /* @__PURE__ */ defineComponent({
15667
+ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
15382
15668
  name: "SplitterPanel",
15383
15669
  inheritAttrs: false,
15384
15670
  __name: "SplitterPanel",
@@ -15407,18 +15693,29 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
15407
15693
  const emit = __emit;
15408
15694
  const splitter = useSplitterRoot();
15409
15695
  const panelId = /* @__PURE__ */ useId();
15696
+ const rootSize = shallowRef(0);
15697
+ if (/* @__PURE__ */ isString(__props.maxSize)) useResizeObserver(splitter.rootEl, (entries) => {
15698
+ const rect = entries[0]?.contentRect;
15699
+ rootSize.value = splitter.orientation.value === "horizontal" ? rect?.width ?? 0 : rect?.height ?? 0;
15700
+ });
15701
+ function resolveMaxSize() {
15702
+ if (!/* @__PURE__ */ isString(__props.maxSize)) return __props.maxSize;
15703
+ const px = Number.parseFloat(__props.maxSize);
15704
+ const dimension = rootSize.value || (splitter.orientation.value === "horizontal" ? splitter.rootEl.value?.offsetWidth : splitter.rootEl.value?.offsetHeight) || 0;
15705
+ return dimension > 0 ? px / dimension * 100 : 100;
15706
+ }
15410
15707
  const ticket = splitter.panels.register({
15411
15708
  id: panelId,
15412
15709
  size: __props.defaultSize,
15413
15710
  minSize: __props.minSize,
15414
- maxSize: __props.maxSize,
15711
+ maxSize: resolveMaxSize(),
15415
15712
  collapsible: __props.collapsible,
15416
15713
  collapsedSize: __props.collapsedSize,
15417
15714
  defaultSize: __props.defaultSize
15418
15715
  });
15419
15716
  watchEffect(() => {
15420
15717
  ticket.minSize = __props.minSize;
15421
- ticket.maxSize = __props.maxSize;
15718
+ ticket.maxSize = resolveMaxSize();
15422
15719
  ticket.collapsible = __props.collapsible;
15423
15720
  ticket.collapsedSize = __props.collapsedSize;
15424
15721
  ticket.defaultSize = __props.defaultSize;
@@ -15495,7 +15792,7 @@ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
15495
15792
  });
15496
15793
  //#endregion
15497
15794
  //#region src/components/Splitter/SplitterHandle.vue
15498
- const _sfc_main$77 = /* @__PURE__ */ defineComponent({
15795
+ const _sfc_main$78 = /* @__PURE__ */ defineComponent({
15499
15796
  name: "SplitterHandle",
15500
15797
  inheritAttrs: false,
15501
15798
  __name: "SplitterHandle",
@@ -15718,14 +16015,14 @@ const _sfc_main$77 = /* @__PURE__ */ defineComponent({
15718
16015
  * ```
15719
16016
  */
15720
16017
  const Splitter = {
15721
- Root: _sfc_main$79,
15722
- Panel: _sfc_main$78,
15723
- Handle: _sfc_main$77
16018
+ Root: _sfc_main$80,
16019
+ Panel: _sfc_main$79,
16020
+ Handle: _sfc_main$78
15724
16021
  };
15725
16022
  //#endregion
15726
16023
  //#region src/components/Switch/SwitchGroup.vue
15727
16024
  const [useSwitchGroup, provideSwitchGroup] = createContext();
15728
- const _sfc_main$82 = /* @__PURE__ */ defineComponent({
16025
+ const _sfc_main$83 = /* @__PURE__ */ defineComponent({
15729
16026
  name: "SwitchGroup",
15730
16027
  __name: "SwitchGroup",
15731
16028
  props: /* @__PURE__ */ mergeModels({
@@ -15794,7 +16091,7 @@ const _sfc_main$82 = /* @__PURE__ */ defineComponent({
15794
16091
  //#endregion
15795
16092
  //#region src/components/Switch/SwitchRoot.vue
15796
16093
  const [useSwitchRoot, provideSwitchRoot] = createContext();
15797
- const _sfc_main$84 = /* @__PURE__ */ defineComponent({
16094
+ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
15798
16095
  name: "SwitchRoot",
15799
16096
  inheritAttrs: false,
15800
16097
  __name: "SwitchRoot",
@@ -15924,7 +16221,7 @@ const _sfc_main$84 = /* @__PURE__ */ defineComponent({
15924
16221
  }), {
15925
16222
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
15926
16223
  _: 3
15927
- }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$83, { key: 0 })) : createCommentVNode("v-if", true)], 64);
16224
+ }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$84, { key: 0 })) : createCommentVNode("v-if", true)], 64);
15928
16225
  };
15929
16226
  }
15930
16227
  });
@@ -15948,7 +16245,7 @@ const visuallyHiddenStyle = {
15948
16245
  whiteSpace: "nowrap",
15949
16246
  border: "0"
15950
16247
  };
15951
- const _sfc_main$83 = /* @__PURE__ */ defineComponent({
16248
+ const _sfc_main$84 = /* @__PURE__ */ defineComponent({
15952
16249
  name: "SwitchHiddenInput",
15953
16250
  __name: "SwitchHiddenInput",
15954
16251
  props: {
@@ -15986,7 +16283,7 @@ const _sfc_main$83 = /* @__PURE__ */ defineComponent({
15986
16283
  });
15987
16284
  //#endregion
15988
16285
  //#region src/components/Switch/SwitchSelectAll.vue
15989
- const _sfc_main$85 = /* @__PURE__ */ defineComponent({
16286
+ const _sfc_main$86 = /* @__PURE__ */ defineComponent({
15990
16287
  name: "SwitchSelectAll",
15991
16288
  inheritAttrs: false,
15992
16289
  __name: "SwitchSelectAll",
@@ -16074,7 +16371,7 @@ const _sfc_main$85 = /* @__PURE__ */ defineComponent({
16074
16371
  });
16075
16372
  //#endregion
16076
16373
  //#region src/components/Switch/SwitchThumb.vue
16077
- const _sfc_main$86 = /* @__PURE__ */ defineComponent({
16374
+ const _sfc_main$87 = /* @__PURE__ */ defineComponent({
16078
16375
  name: "SwitchThumb",
16079
16376
  __name: "SwitchThumb",
16080
16377
  props: {
@@ -16109,7 +16406,7 @@ const _sfc_main$86 = /* @__PURE__ */ defineComponent({
16109
16406
  });
16110
16407
  //#endregion
16111
16408
  //#region src/components/Switch/SwitchTrack.vue
16112
- const _sfc_main$87 = /* @__PURE__ */ defineComponent({
16409
+ const _sfc_main$88 = /* @__PURE__ */ defineComponent({
16113
16410
  name: "SwitchTrack",
16114
16411
  __name: "SwitchTrack",
16115
16412
  props: {
@@ -16168,17 +16465,17 @@ const _sfc_main$87 = /* @__PURE__ */ defineComponent({
16168
16465
  * ```
16169
16466
  */
16170
16467
  const Switch = {
16171
- Group: _sfc_main$82,
16172
- HiddenInput: _sfc_main$83,
16173
- Root: _sfc_main$84,
16174
- SelectAll: _sfc_main$85,
16175
- Thumb: _sfc_main$86,
16176
- Track: _sfc_main$87
16468
+ Group: _sfc_main$83,
16469
+ HiddenInput: _sfc_main$84,
16470
+ Root: _sfc_main$85,
16471
+ SelectAll: _sfc_main$86,
16472
+ Thumb: _sfc_main$87,
16473
+ Track: _sfc_main$88
16177
16474
  };
16178
16475
  //#endregion
16179
16476
  //#region src/components/Single/SingleRoot.vue
16180
16477
  const [useSingleRoot, provideSingleRoot] = createContext();
16181
- const _sfc_main$66 = /* @__PURE__ */ defineComponent({
16478
+ const _sfc_main$67 = /* @__PURE__ */ defineComponent({
16182
16479
  name: "SingleRoot",
16183
16480
  __name: "SingleRoot",
16184
16481
  props: /* @__PURE__ */ mergeModels({
@@ -16224,7 +16521,7 @@ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
16224
16521
  });
16225
16522
  //#endregion
16226
16523
  //#region src/components/Single/SingleItem.vue
16227
- const _sfc_main$65 = /* @__PURE__ */ defineComponent({
16524
+ const _sfc_main$66 = /* @__PURE__ */ defineComponent({
16228
16525
  name: "SingleItem",
16229
16526
  __name: "SingleItem",
16230
16527
  props: {
@@ -16274,13 +16571,13 @@ const _sfc_main$65 = /* @__PURE__ */ defineComponent({
16274
16571
  * @see https://0.vuetifyjs.com/components/single
16275
16572
  */
16276
16573
  const Single = {
16277
- Root: _sfc_main$66,
16278
- Item: _sfc_main$65
16574
+ Root: _sfc_main$67,
16575
+ Item: _sfc_main$66
16279
16576
  };
16280
16577
  //#endregion
16281
16578
  //#region src/components/Step/StepRoot.vue
16282
16579
  const [useStepRoot, provideStepRoot] = createContext();
16283
- const _sfc_main$81 = /* @__PURE__ */ defineComponent({
16580
+ const _sfc_main$82 = /* @__PURE__ */ defineComponent({
16284
16581
  name: "StepRoot",
16285
16582
  __name: "StepRoot",
16286
16583
  props: /* @__PURE__ */ mergeModels({
@@ -16331,7 +16628,7 @@ const _sfc_main$81 = /* @__PURE__ */ defineComponent({
16331
16628
  });
16332
16629
  //#endregion
16333
16630
  //#region src/components/Step/StepItem.vue
16334
- const _sfc_main$80 = /* @__PURE__ */ defineComponent({
16631
+ const _sfc_main$81 = /* @__PURE__ */ defineComponent({
16335
16632
  name: "StepItem",
16336
16633
  __name: "StepItem",
16337
16634
  props: {
@@ -16381,13 +16678,13 @@ const _sfc_main$80 = /* @__PURE__ */ defineComponent({
16381
16678
  * @see https://0.vuetifyjs.com/components/step
16382
16679
  */
16383
16680
  const Step = {
16384
- Root: _sfc_main$81,
16385
- Item: _sfc_main$80
16681
+ Root: _sfc_main$82,
16682
+ Item: _sfc_main$81
16386
16683
  };
16387
16684
  //#endregion
16388
16685
  //#region src/components/Tabs/TabsRoot.vue
16389
16686
  const [useTabsRoot, provideTabsRoot] = createContext();
16390
- const _sfc_main$91 = /* @__PURE__ */ defineComponent({
16687
+ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
16391
16688
  name: "TabsRoot",
16392
16689
  __name: "TabsRoot",
16393
16690
  props: /* @__PURE__ */ mergeModels({
@@ -16455,7 +16752,7 @@ const _sfc_main$91 = /* @__PURE__ */ defineComponent({
16455
16752
  });
16456
16753
  //#endregion
16457
16754
  //#region src/components/Tabs/TabsList.vue
16458
- const _sfc_main$89 = /* @__PURE__ */ defineComponent({
16755
+ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
16459
16756
  name: "TabsList",
16460
16757
  inheritAttrs: false,
16461
16758
  __name: "TabsList",
@@ -16496,7 +16793,7 @@ const _sfc_main$89 = /* @__PURE__ */ defineComponent({
16496
16793
  });
16497
16794
  //#endregion
16498
16795
  //#region src/components/Tabs/TabsItem.vue
16499
- const _sfc_main$88 = /* @__PURE__ */ defineComponent({
16796
+ const _sfc_main$89 = /* @__PURE__ */ defineComponent({
16500
16797
  name: "TabsItem",
16501
16798
  inheritAttrs: false,
16502
16799
  __name: "TabsItem",
@@ -16611,7 +16908,7 @@ const _sfc_main$88 = /* @__PURE__ */ defineComponent({
16611
16908
  });
16612
16909
  //#endregion
16613
16910
  //#region src/components/Tabs/TabsPanel.vue
16614
- const _sfc_main$90 = /* @__PURE__ */ defineComponent({
16911
+ const _sfc_main$91 = /* @__PURE__ */ defineComponent({
16615
16912
  name: "TabsPanel",
16616
16913
  inheritAttrs: false,
16617
16914
  __name: "TabsPanel",
@@ -16692,10 +16989,676 @@ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
16692
16989
  * ```
16693
16990
  */
16694
16991
  const Tabs = {
16695
- Root: _sfc_main$91,
16696
- List: _sfc_main$89,
16697
- Item: _sfc_main$88,
16698
- Panel: _sfc_main$90
16992
+ Root: _sfc_main$92,
16993
+ List: _sfc_main$90,
16994
+ Item: _sfc_main$89,
16995
+ Panel: _sfc_main$91
16996
+ };
16997
+ //#endregion
16998
+ //#region src/components/Theme/Theme.vue
16999
+ const _sfc_main$93 = /* @__PURE__ */ defineComponent({
17000
+ name: "Theme",
17001
+ inheritAttrs: false,
17002
+ __name: "Theme",
17003
+ props: {
17004
+ theme: {},
17005
+ renderless: {
17006
+ type: Boolean,
17007
+ default: false
17008
+ },
17009
+ as: { default: "div" }
17010
+ },
17011
+ setup(__props) {
17012
+ const parent = useTheme();
17013
+ const selectedId = toRef(() => __props.theme);
17014
+ const selectedItem = toRef(() => parent.get(__props.theme));
17015
+ const isDark = toRef(() => selectedItem.value?.dark ?? false);
17016
+ provideContext("v0:theme", {
17017
+ ...parent,
17018
+ selectedId,
17019
+ selectedItem,
17020
+ isDark
17021
+ });
17022
+ const attrs = toRef(() => ({ "data-theme": __props.theme }));
17023
+ return (_ctx, _cache) => {
17024
+ return __props.renderless ? renderSlot(_ctx.$slots, "default", {
17025
+ key: 0,
17026
+ attrs: attrs.value
17027
+ }) : (openBlock(), createBlock(resolveDynamicComponent(__props.as), normalizeProps(mergeProps({ key: 1 }, attrs.value)), {
17028
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", { attrs: attrs.value })]),
17029
+ _: 3
17030
+ }, 16));
17031
+ };
17032
+ }
17033
+ });
17034
+ //#endregion
17035
+ //#region src/components/Treeview/TreeviewRoot.vue
17036
+ const [useTreeviewRoot, provideTreeviewRoot] = createContext();
17037
+ const _sfc_main$102 = /* @__PURE__ */ defineComponent({
17038
+ name: "TreeviewRoot",
17039
+ __name: "TreeviewRoot",
17040
+ props: /* @__PURE__ */ mergeModels({
17041
+ namespace: { default: "v0:treeview" },
17042
+ disabled: {
17043
+ type: Boolean,
17044
+ default: false
17045
+ },
17046
+ enroll: {
17047
+ type: Boolean,
17048
+ default: false
17049
+ },
17050
+ mandatory: {
17051
+ type: [Boolean, String],
17052
+ default: false
17053
+ },
17054
+ multiple: {
17055
+ type: Boolean,
17056
+ default: true
17057
+ },
17058
+ open: { default: "multiple" },
17059
+ openAll: {
17060
+ type: Boolean,
17061
+ default: false
17062
+ },
17063
+ reveal: {
17064
+ type: Boolean,
17065
+ default: false
17066
+ },
17067
+ selection: { default: "cascade" },
17068
+ active: { default: "single" }
17069
+ }, {
17070
+ "modelValue": {},
17071
+ "modelModifiers": {}
17072
+ }),
17073
+ emits: /* @__PURE__ */ mergeModels(["update:model-value"], ["update:modelValue"]),
17074
+ setup(__props) {
17075
+ const model = useModel(__props, "modelValue");
17076
+ const nested = createNested({
17077
+ disabled: toRef(() => __props.disabled),
17078
+ enroll: __props.enroll,
17079
+ mandatory: __props.mandatory,
17080
+ multiple: __props.multiple,
17081
+ open: __props.open,
17082
+ openAll: __props.openAll,
17083
+ reveal: __props.reveal,
17084
+ selection: __props.selection,
17085
+ active: __props.active,
17086
+ events: true
17087
+ });
17088
+ useProxyModel(nested, model, { multiple: __props.multiple });
17089
+ provideTreeviewRoot(__props.namespace, nested);
17090
+ const slotProps = toRef(() => ({
17091
+ isDisabled: toValue(nested.disabled),
17092
+ isNoneSelected: nested.isNoneSelected.value,
17093
+ isAllSelected: nested.isAllSelected.value,
17094
+ isMixed: nested.isMixed.value,
17095
+ select: nested.select,
17096
+ unselect: nested.unselect,
17097
+ toggle: nested.toggle,
17098
+ selectAll: nested.selectAll,
17099
+ unselectAll: nested.unselectAll,
17100
+ expandAll: nested.expandAll,
17101
+ collapseAll: nested.collapseAll
17102
+ }));
17103
+ return (_ctx, _cache) => {
17104
+ return renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)));
17105
+ };
17106
+ }
17107
+ });
17108
+ //#endregion
17109
+ //#region src/components/Treeview/TreeviewList.vue
17110
+ const [useTreeviewList, provideTreeviewList] = createContext({ suffix: "list" });
17111
+ const _sfc_main$101 = /* @__PURE__ */ defineComponent({
17112
+ name: "TreeviewList",
17113
+ __name: "TreeviewList",
17114
+ props: {
17115
+ namespace: { default: "v0:treeview" },
17116
+ multiselectable: { type: Boolean },
17117
+ label: {},
17118
+ as: { default: "ul" },
17119
+ renderless: { type: Boolean }
17120
+ },
17121
+ setup(__props) {
17122
+ const nested = useTreeviewRoot(__props.namespace);
17123
+ const roving = useRovingFocus(() => nested.visibleItems().map((item) => ({
17124
+ id: item.id,
17125
+ el: item.el,
17126
+ disabled: toRef(() => toValue(item.disabled))
17127
+ })), { orientation: "vertical" });
17128
+ provideTreeviewList(__props.namespace, roving);
17129
+ function onFocusin(e) {
17130
+ const target = e.target;
17131
+ if (target.getAttribute("role") !== "treeitem") return;
17132
+ const match = nested.visibleItems().find((item) => toValue(item.el) === target);
17133
+ if (match && roving.focusedId.value !== match.id) roving.focusedId.value = match.id;
17134
+ }
17135
+ function expandable(ticket) {
17136
+ if (!ticket) return false;
17137
+ return (toValue(ticket.el)?.hasAttribute("aria-expanded") ?? false) || !toValue(ticket.isLeaf);
17138
+ }
17139
+ function isRtl(e) {
17140
+ if (!IN_BROWSER) return false;
17141
+ const el = e.currentTarget;
17142
+ return el ? getComputedStyle(el).direction === "rtl" : false;
17143
+ }
17144
+ function openOrChild(ticket) {
17145
+ if (expandable(ticket) && !toValue(ticket.isOpen)) nested.open(ticket.id);
17146
+ else if (toValue(ticket.isOpen)) {
17147
+ const childIds = nested.children.get(ticket.id);
17148
+ if (childIds?.length) roving.focus(childIds[0]);
17149
+ }
17150
+ }
17151
+ function closeOrParent(ticket) {
17152
+ if (toValue(ticket.isOpen) && expandable(ticket)) nested.close(ticket.id);
17153
+ else if (!/* @__PURE__ */ isNullOrUndefined(ticket.parentId)) roving.focus(ticket.parentId);
17154
+ }
17155
+ function onKeydown(e) {
17156
+ const id = roving.focusedId.value;
17157
+ const ticket = /* @__PURE__ */ isNullOrUndefined(id) ? void 0 : nested.get(id);
17158
+ const rtl = isRtl(e);
17159
+ switch (e.key) {
17160
+ case "ArrowUp":
17161
+ e.preventDefault();
17162
+ roving.prev();
17163
+ break;
17164
+ case "ArrowDown":
17165
+ e.preventDefault();
17166
+ roving.next();
17167
+ break;
17168
+ case "ArrowRight":
17169
+ e.preventDefault();
17170
+ if (!ticket) break;
17171
+ if (rtl) closeOrParent(ticket);
17172
+ else openOrChild(ticket);
17173
+ break;
17174
+ case "ArrowLeft":
17175
+ e.preventDefault();
17176
+ if (!ticket) break;
17177
+ if (rtl) openOrChild(ticket);
17178
+ else closeOrParent(ticket);
17179
+ break;
17180
+ case "Home":
17181
+ e.preventDefault();
17182
+ roving.first();
17183
+ break;
17184
+ case "End":
17185
+ e.preventDefault();
17186
+ roving.last();
17187
+ break;
17188
+ case "Enter":
17189
+ e.preventDefault();
17190
+ if (ticket) {
17191
+ if (expandable(ticket)) nested.flip(ticket.id);
17192
+ nested.activate(ticket.id);
17193
+ }
17194
+ break;
17195
+ case " ":
17196
+ e.preventDefault();
17197
+ if (ticket) nested.toggle(ticket.id);
17198
+ break;
17199
+ case "*":
17200
+ e.preventDefault();
17201
+ if (ticket) {
17202
+ const sibs = nested.siblings(ticket.id);
17203
+ for (const sibId of sibs) if (expandable(nested.get(sibId))) nested.open(sibId);
17204
+ }
17205
+ break;
17206
+ }
17207
+ }
17208
+ const slotProps = toRef(() => ({ attrs: {
17209
+ "role": "tree",
17210
+ "aria-multiselectable": __props.multiselectable ?? nested.multiple,
17211
+ "aria-label": __props.label || void 0,
17212
+ onKeydown,
17213
+ onFocusin
17214
+ } }));
17215
+ return (_ctx, _cache) => {
17216
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17217
+ as: __props.as,
17218
+ renderless: __props.renderless
17219
+ }), {
17220
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17221
+ _: 3
17222
+ }, 16, ["as", "renderless"]);
17223
+ };
17224
+ }
17225
+ });
17226
+ //#endregion
17227
+ //#region src/components/Treeview/TreeviewItem.vue
17228
+ const [useTreeviewItem, provideTreeviewItem] = createContext({ suffix: "item" });
17229
+ const _sfc_main$100 = /* @__PURE__ */ defineComponent({
17230
+ name: "TreeviewItem",
17231
+ __name: "TreeviewItem",
17232
+ props: {
17233
+ id: {},
17234
+ value: {},
17235
+ disabled: {},
17236
+ namespace: { default: "v0:treeview" },
17237
+ as: { default: "li" },
17238
+ renderless: { type: Boolean }
17239
+ },
17240
+ setup(__props) {
17241
+ const nested = useTreeviewRoot(__props.namespace);
17242
+ const rootRef = useTemplateRef("root");
17243
+ const el = toRef(() => rootRef.value?.element ?? void 0);
17244
+ const parentId = useTreeviewItem(__props.namespace, null)?.ticket.id;
17245
+ const ticket = nested.register({
17246
+ id: __props.id,
17247
+ value: __props.value,
17248
+ disabled: __props.disabled,
17249
+ parentId,
17250
+ el
17251
+ });
17252
+ const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(nested.disabled));
17253
+ const hasContent = shallowRef(false);
17254
+ const roving = useTreeviewList(__props.namespace, null);
17255
+ onBeforeUnmount(() => nested.unregister(ticket.id));
17256
+ provideTreeviewItem(__props.namespace, {
17257
+ ticket,
17258
+ isDisabled,
17259
+ hasContent
17260
+ });
17261
+ const slotProps = toRef(() => ({
17262
+ id: ticket.id,
17263
+ value: __props.value,
17264
+ isSelected: toValue(ticket.isSelected),
17265
+ isMixed: toValue(ticket.isMixed),
17266
+ isDisabled: toValue(isDisabled),
17267
+ isOpen: toValue(ticket.isOpen),
17268
+ isActive: toValue(ticket.isActive),
17269
+ isLeaf: toValue(ticket.isLeaf),
17270
+ depth: toValue(ticket.depth),
17271
+ select: ticket.select,
17272
+ unselect: ticket.unselect,
17273
+ toggle: ticket.toggle,
17274
+ flip: ticket.flip,
17275
+ open: ticket.open,
17276
+ close: ticket.close,
17277
+ activate: ticket.activate,
17278
+ deactivate: ticket.deactivate
17279
+ }));
17280
+ return (_ctx, _cache) => {
17281
+ return openBlock(), createBlock(unref(_sfc_main), {
17282
+ ref: "root",
17283
+ "aria-disabled": slotProps.value.isDisabled || void 0,
17284
+ "aria-expanded": hasContent.value ? slotProps.value.isOpen : void 0,
17285
+ "aria-level": slotProps.value.depth + 1,
17286
+ "aria-posinset": unref(ticket).position(),
17287
+ "aria-selected": slotProps.value.isSelected,
17288
+ "aria-setsize": unref(ticket).siblings().length,
17289
+ as: __props.as,
17290
+ "data-active": slotProps.value.isActive || void 0,
17291
+ "data-disabled": slotProps.value.isDisabled || void 0,
17292
+ "data-open": slotProps.value.isOpen || void 0,
17293
+ "data-selected": slotProps.value.isSelected || void 0,
17294
+ renderless: __props.renderless,
17295
+ role: "treeitem",
17296
+ style: normalizeStyle({ "--v0-treeview-depth": slotProps.value.depth }),
17297
+ tabindex: unref(roving) ? unref(roving).isTabbable(unref(ticket).id) ? 0 : -1 : void 0
17298
+ }, {
17299
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17300
+ _: 3
17301
+ }, 8, [
17302
+ "aria-disabled",
17303
+ "aria-expanded",
17304
+ "aria-level",
17305
+ "aria-posinset",
17306
+ "aria-selected",
17307
+ "aria-setsize",
17308
+ "as",
17309
+ "data-active",
17310
+ "data-disabled",
17311
+ "data-open",
17312
+ "data-selected",
17313
+ "renderless",
17314
+ "style",
17315
+ "tabindex"
17316
+ ]);
17317
+ };
17318
+ }
17319
+ });
17320
+ //#endregion
17321
+ //#region src/components/Treeview/TreeviewActivator.vue
17322
+ const _sfc_main$94 = /* @__PURE__ */ defineComponent({
17323
+ name: "TreeviewActivator",
17324
+ __name: "TreeviewActivator",
17325
+ props: {
17326
+ namespace: { default: "v0:treeview" },
17327
+ as: { default: "button" },
17328
+ renderless: { type: Boolean }
17329
+ },
17330
+ setup(__props) {
17331
+ const item = useTreeviewItem(__props.namespace);
17332
+ const slotProps = toRef(() => ({
17333
+ isOpen: toValue(item.ticket.isOpen),
17334
+ isLeaf: toValue(item.ticket.isLeaf),
17335
+ isDisabled: item.isDisabled.value,
17336
+ flip: item.ticket.flip,
17337
+ attrs: {
17338
+ "role": __props.as === "button" ? void 0 : "button",
17339
+ "tabindex": -1,
17340
+ "aria-disabled": item.isDisabled.value || void 0,
17341
+ "data-disabled": item.isDisabled.value || void 0,
17342
+ "data-open": toValue(item.ticket.isOpen) || void 0,
17343
+ "disabled": __props.as === "button" ? item.isDisabled.value : void 0,
17344
+ "type": __props.as === "button" ? "button" : void 0,
17345
+ "onClick": item.ticket.flip
17346
+ }
17347
+ }));
17348
+ return (_ctx, _cache) => {
17349
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17350
+ as: __props.as,
17351
+ renderless: __props.renderless
17352
+ }), {
17353
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17354
+ _: 3
17355
+ }, 16, ["as", "renderless"]);
17356
+ };
17357
+ }
17358
+ });
17359
+ //#endregion
17360
+ //#region src/components/Treeview/TreeviewCheckbox.vue
17361
+ const _sfc_main$95 = /* @__PURE__ */ defineComponent({
17362
+ name: "TreeviewCheckbox",
17363
+ __name: "TreeviewCheckbox",
17364
+ props: {
17365
+ namespace: { default: "v0:treeview" },
17366
+ as: { default: "div" },
17367
+ renderless: { type: Boolean }
17368
+ },
17369
+ setup(__props) {
17370
+ const item = useTreeviewItem(__props.namespace);
17371
+ const slotProps = toRef(() => ({
17372
+ isSelected: toValue(item.ticket.isSelected),
17373
+ isMixed: toValue(item.ticket.isMixed),
17374
+ isDisabled: item.isDisabled.value,
17375
+ toggle: item.ticket.toggle,
17376
+ select: item.ticket.select,
17377
+ unselect: item.ticket.unselect,
17378
+ attrs: {
17379
+ "role": "checkbox",
17380
+ "aria-checked": toValue(item.ticket.isMixed) ? "mixed" : toValue(item.ticket.isSelected),
17381
+ "aria-disabled": item.isDisabled.value || void 0,
17382
+ "tabindex": -1,
17383
+ "data-selected": toValue(item.ticket.isSelected) || void 0,
17384
+ "data-disabled": item.isDisabled.value || void 0,
17385
+ "data-mixed": toValue(item.ticket.isMixed) || void 0,
17386
+ "onClick": item.ticket.toggle
17387
+ }
17388
+ }));
17389
+ return (_ctx, _cache) => {
17390
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17391
+ as: __props.as,
17392
+ renderless: __props.renderless
17393
+ }), {
17394
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17395
+ _: 3
17396
+ }, 16, ["as", "renderless"]);
17397
+ };
17398
+ }
17399
+ });
17400
+ //#endregion
17401
+ //#region src/components/Treeview/TreeviewContent.vue
17402
+ const _sfc_main$96 = /* @__PURE__ */ defineComponent({
17403
+ name: "TreeviewContent",
17404
+ __name: "TreeviewContent",
17405
+ props: { namespace: { default: "v0:treeview" } },
17406
+ setup(__props) {
17407
+ const item = useTreeviewItem(__props.namespace);
17408
+ item.hasContent.value = true;
17409
+ onDeactivated(() => {
17410
+ item.hasContent.value = false;
17411
+ });
17412
+ onActivated(() => {
17413
+ item.hasContent.value = true;
17414
+ });
17415
+ onBeforeUnmount(() => {
17416
+ item.hasContent.value = false;
17417
+ });
17418
+ return (_ctx, _cache) => {
17419
+ return toValue(unref(item).ticket.isOpen) ? renderSlot(_ctx.$slots, "default", {
17420
+ key: 0,
17421
+ isOpen: toValue(unref(item).ticket.isOpen)
17422
+ }) : createCommentVNode("v-if", true);
17423
+ };
17424
+ }
17425
+ });
17426
+ //#endregion
17427
+ //#region src/components/Treeview/TreeviewCue.vue
17428
+ const _sfc_main$97 = /* @__PURE__ */ defineComponent({
17429
+ name: "TreeviewCue",
17430
+ __name: "TreeviewCue",
17431
+ props: {
17432
+ namespace: { default: "v0:treeview" },
17433
+ as: { default: "span" },
17434
+ renderless: { type: Boolean }
17435
+ },
17436
+ setup(__props) {
17437
+ const item = useTreeviewItem(__props.namespace);
17438
+ const isOpen = toRef(() => toValue(item.ticket.isOpen));
17439
+ const state = toRef(() => isOpen.value ? "open" : "closed");
17440
+ const slotProps = toRef(() => ({
17441
+ isOpen: isOpen.value,
17442
+ isLeaf: !item.hasContent.value,
17443
+ attrs: {
17444
+ "aria-hidden": true,
17445
+ "data-state": state.value,
17446
+ "style": { visibility: item.hasContent.value ? "visible" : "hidden" }
17447
+ }
17448
+ }));
17449
+ return (_ctx, _cache) => {
17450
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17451
+ as: __props.as,
17452
+ renderless: __props.renderless
17453
+ }), {
17454
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17455
+ _: 3
17456
+ }, 16, ["as", "renderless"]);
17457
+ };
17458
+ }
17459
+ });
17460
+ //#endregion
17461
+ //#region src/components/Treeview/TreeviewGroup.vue
17462
+ const _sfc_main$98 = /* @__PURE__ */ defineComponent({
17463
+ name: "TreeviewGroup",
17464
+ __name: "TreeviewGroup",
17465
+ props: {
17466
+ as: { default: "ul" },
17467
+ renderless: { type: Boolean }
17468
+ },
17469
+ setup(__props) {
17470
+ const slotProps = toRef(() => ({ attrs: { role: "group" } }));
17471
+ return (_ctx, _cache) => {
17472
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17473
+ as: __props.as,
17474
+ renderless: __props.renderless
17475
+ }), {
17476
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17477
+ _: 3
17478
+ }, 16, ["as", "renderless"]);
17479
+ };
17480
+ }
17481
+ });
17482
+ //#endregion
17483
+ //#region src/components/Treeview/TreeviewIndicator.vue
17484
+ const _sfc_main$99 = /* @__PURE__ */ defineComponent({
17485
+ name: "TreeviewIndicator",
17486
+ __name: "TreeviewIndicator",
17487
+ props: {
17488
+ namespace: { default: "v0:treeview" },
17489
+ as: { default: "span" },
17490
+ renderless: { type: Boolean }
17491
+ },
17492
+ setup(__props) {
17493
+ const item = useTreeviewItem(__props.namespace);
17494
+ const isSelected = toRef(() => toValue(item.ticket.isSelected));
17495
+ const isMixed = toRef(() => toValue(item.ticket.isMixed));
17496
+ const isVisible = toRef(() => isSelected.value || isMixed.value);
17497
+ const state = toRef(() => isMixed.value ? "indeterminate" : isSelected.value ? "checked" : "unchecked");
17498
+ const slotProps = toRef(() => ({
17499
+ isSelected: isSelected.value,
17500
+ isMixed: isMixed.value,
17501
+ attrs: {
17502
+ "aria-hidden": true,
17503
+ "data-state": state.value,
17504
+ "style": { visibility: isVisible.value ? "visible" : "hidden" }
17505
+ }
17506
+ }));
17507
+ return (_ctx, _cache) => {
17508
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17509
+ as: __props.as,
17510
+ renderless: __props.renderless
17511
+ }), {
17512
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17513
+ _: 3
17514
+ }, 16, ["as", "renderless"]);
17515
+ };
17516
+ }
17517
+ });
17518
+ //#endregion
17519
+ //#region src/components/Treeview/TreeviewSelectAll.vue
17520
+ const _sfc_main$103 = /* @__PURE__ */ defineComponent({
17521
+ name: "TreeviewSelectAll",
17522
+ __name: "TreeviewSelectAll",
17523
+ props: {
17524
+ label: {},
17525
+ disabled: {
17526
+ type: Boolean,
17527
+ default: false
17528
+ },
17529
+ namespace: { default: "v0:treeview" },
17530
+ as: { default: "div" },
17531
+ renderless: { type: Boolean }
17532
+ },
17533
+ setup(__props) {
17534
+ const nested = useTreeviewRoot(__props.namespace);
17535
+ const isAllSelected = toRef(() => nested.isAllSelected.value);
17536
+ const isMixed = toRef(() => nested.isMixed.value);
17537
+ const isDisabled = toRef(() => __props.disabled || toValue(nested.disabled));
17538
+ const state = toRef(() => isMixed.value ? "indeterminate" : isAllSelected.value ? "checked" : "unchecked");
17539
+ function onClick() {
17540
+ if (isDisabled.value) return;
17541
+ nested.toggleAll();
17542
+ }
17543
+ function onKeydown(e) {
17544
+ if (e.key !== "Enter" && e.key !== " ") return;
17545
+ e.preventDefault();
17546
+ if (isDisabled.value) return;
17547
+ nested.toggleAll();
17548
+ }
17549
+ function noop() {}
17550
+ const empty = [];
17551
+ provideTreeviewItem(__props.namespace, {
17552
+ ticket: {
17553
+ id: "__select-all__",
17554
+ index: -1,
17555
+ value: void 0,
17556
+ valueIsIndex: false,
17557
+ unregister: noop,
17558
+ disabled: isDisabled,
17559
+ isSelected: isAllSelected,
17560
+ select: nested.selectAll,
17561
+ unselect: nested.unselectAll,
17562
+ toggle: nested.toggleAll,
17563
+ isMixed,
17564
+ mix: noop,
17565
+ unmix: noop,
17566
+ el: void 0,
17567
+ parentId: void 0,
17568
+ isOpen: shallowRef(false),
17569
+ isActive: shallowRef(false),
17570
+ isLeaf: shallowRef(true),
17571
+ depth: shallowRef(0),
17572
+ open: noop,
17573
+ close: noop,
17574
+ flip: noop,
17575
+ reveal: noop,
17576
+ activate: noop,
17577
+ deactivate: noop,
17578
+ getPath: () => [],
17579
+ getAncestors: () => [],
17580
+ getDescendants: () => [],
17581
+ isAncestorOf: () => false,
17582
+ hasAncestor: () => false,
17583
+ siblings: () => empty,
17584
+ position: () => 0
17585
+ },
17586
+ isDisabled,
17587
+ hasContent: shallowRef(false)
17588
+ });
17589
+ const slotProps = toRef(() => ({
17590
+ label: __props.label,
17591
+ isAllSelected: isAllSelected.value,
17592
+ isMixed: isMixed.value,
17593
+ isDisabled: isDisabled.value,
17594
+ selectAll: nested.selectAll,
17595
+ unselectAll: nested.unselectAll,
17596
+ toggleAll: nested.toggleAll,
17597
+ attrs: {
17598
+ "role": "checkbox",
17599
+ "aria-checked": isMixed.value ? "mixed" : isAllSelected.value,
17600
+ "aria-disabled": isDisabled.value || void 0,
17601
+ "aria-label": __props.label || void 0,
17602
+ "tabindex": isDisabled.value ? void 0 : 0,
17603
+ "data-state": state.value,
17604
+ "data-disabled": isDisabled.value ? true : void 0,
17605
+ "onClick": onClick,
17606
+ "onKeydown": onKeydown
17607
+ }
17608
+ }));
17609
+ return (_ctx, _cache) => {
17610
+ return openBlock(), createBlock(unref(_sfc_main), mergeProps(slotProps.value.attrs, {
17611
+ as: __props.as,
17612
+ renderless: __props.renderless
17613
+ }), {
17614
+ default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
17615
+ _: 3
17616
+ }, 16, ["as", "renderless"]);
17617
+ };
17618
+ }
17619
+ });
17620
+ //#endregion
17621
+ //#region src/components/Treeview/index.ts
17622
+ /**
17623
+ * Treeview component with sub-components for hierarchical data.
17624
+ *
17625
+ * @see https://0.vuetifyjs.com/components/treeview
17626
+ *
17627
+ * @example
17628
+ * ```vue
17629
+ * <script setup lang="ts">
17630
+ * import { Treeview } from '@vuetify/v0'
17631
+ * <\/script>
17632
+ *
17633
+ * <template>
17634
+ * <Treeview.Root>
17635
+ * <Treeview.List>
17636
+ * <Treeview.Item>
17637
+ * <Treeview.Activator>Documents</Treeview.Activator>
17638
+ * <Treeview.Content>
17639
+ * <Treeview.Group>
17640
+ * <Treeview.Item>
17641
+ * <Treeview.Activator>Resume.pdf</Treeview.Activator>
17642
+ * </Treeview.Item>
17643
+ * </Treeview.Group>
17644
+ * </Treeview.Content>
17645
+ * </Treeview.Item>
17646
+ * </Treeview.List>
17647
+ * </Treeview.Root>
17648
+ * </template>
17649
+ * ```
17650
+ */
17651
+ const Treeview = {
17652
+ Root: _sfc_main$102,
17653
+ List: _sfc_main$101,
17654
+ Item: _sfc_main$100,
17655
+ Activator: _sfc_main$94,
17656
+ Content: _sfc_main$96,
17657
+ Cue: _sfc_main$97,
17658
+ Group: _sfc_main$98,
17659
+ Checkbox: _sfc_main$95,
17660
+ Indicator: _sfc_main$99,
17661
+ SelectAll: _sfc_main$103
16699
17662
  };
16700
17663
  //#endregion
16701
- export { _sfc_main as Atom, Avatar, _sfc_main$1 as AvatarFallback, _sfc_main$2 as AvatarImage, _sfc_main$3 as AvatarRoot, Breadcrumbs, _sfc_main$4 as BreadcrumbsDivider, _sfc_main$5 as BreadcrumbsEllipsis, _sfc_main$6 as BreadcrumbsItem, _sfc_main$7 as BreadcrumbsLink, _sfc_main$8 as BreadcrumbsList, _sfc_main$9 as BreadcrumbsPage, _sfc_main$10 as BreadcrumbsRoot, Button, _sfc_main$11 as ButtonContent, _sfc_main$12 as ButtonGroup, _sfc_main$13 as ButtonHiddenInput, _sfc_main$14 as ButtonIcon, _sfc_main$15 as ButtonLoading, _sfc_main$16 as ButtonRoot, COMMON_ELEMENTS, Checkbox, _sfc_main$17 as CheckboxGroup, _sfc_main$18 as CheckboxHiddenInput, _sfc_main$19 as CheckboxIndicator, _sfc_main$20 as CheckboxRoot, _sfc_main$21 as CheckboxSelectAll, ClientAdapter, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$22 as DialogActivator, _sfc_main$23 as DialogClose, _sfc_main$24 as DialogContent, _sfc_main$25 as DialogDescription, _sfc_main$26 as DialogRoot, _sfc_main$27 as DialogTitle, ExpansionPanel, _sfc_main$28 as ExpansionPanelActivator, _sfc_main$29 as ExpansionPanelContent, _sfc_main$30 as ExpansionPanelHeader, _sfc_main$31 as ExpansionPanelItem, _sfc_main$32 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$33 as Form, Group, _sfc_main$34 as GroupItem, _sfc_main$35 as GroupRoot, IN_BROWSER, Input, _sfc_main$36 as InputControl, _sfc_main$37 as InputDescription, _sfc_main$38 as InputError, _sfc_main$39 as InputRoot, MemoryAdapter, Pagination, _sfc_main$40 as PaginationEllipsis, _sfc_main$41 as PaginationFirst, _sfc_main$42 as PaginationItem, _sfc_main$43 as PaginationLast, _sfc_main$44 as PaginationNext, _sfc_main$45 as PaginationPrev, _sfc_main$46 as PaginationRoot, _sfc_main$47 as PaginationStatus, PermissionAdapter, PinoLoggerAdapter, Popover, _sfc_main$48 as PopoverActivator, _sfc_main$49 as PopoverContent, _sfc_main$50 as PopoverRoot, Radio, _sfc_main$51 as RadioGroup, _sfc_main$52 as RadioHiddenInput, _sfc_main$53 as RadioIndicator, _sfc_main$54 as RadioRoot, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$55 as Scrim, Select, _sfc_main$56 as SelectActivator, _sfc_main$57 as SelectContent, _sfc_main$58 as SelectCue, _sfc_main$59 as SelectItem, _sfc_main$60 as SelectPlaceholder, _sfc_main$61 as SelectRoot, _sfc_main$62 as SelectValue, Selection, _sfc_main$63 as SelectionItem, _sfc_main$64 as SelectionRoot, ServerAdapter, Single, _sfc_main$65 as SingleItem, _sfc_main$66 as SingleRoot, Slider, _sfc_main$67 as SliderHiddenInput, _sfc_main$68 as SliderRange, _sfc_main$69 as SliderRoot, _sfc_main$70 as SliderThumb, _sfc_main$71 as SliderTrack, Snackbar, _sfc_main$72 as SnackbarClose, _sfc_main$73 as SnackbarContent, _sfc_main$74 as SnackbarPortal, _sfc_main$75 as SnackbarQueue, _sfc_main$76 as SnackbarRoot, Splitter, _sfc_main$77 as SplitterHandle, _sfc_main$78 as SplitterPanel, _sfc_main$79 as SplitterRoot, Step, _sfc_main$80 as StepItem, _sfc_main$81 as StepRoot, Switch, _sfc_main$82 as SwitchGroup, _sfc_main$83 as SwitchHiddenInput, _sfc_main$84 as SwitchRoot, _sfc_main$85 as SwitchSelectAll, _sfc_main$86 as SwitchThumb, _sfc_main$87 as SwitchTrack, Tabs, _sfc_main$88 as TabsItem, _sfc_main$89 as TabsList, _sfc_main$90 as TabsPanel, _sfc_main$91 as TabsRoot, VirtualAdapter, Vuetify0LocaleAdapter, Vuetify0LoggerAdapter, Vuetify0RtlAdapter, Vuetify0ThemeAdapter, __LOGGER_ENABLED__, clamp, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createQueue, createQueueContext, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTrinity, createValidation, createVirtual, createVirtualContext, flatten, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isUndefined, mergeDeep, multipleOpenStrategy, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCheckboxGroup, provideCheckboxRoot, provideContext, provideDialogContext, provideExpansionPanelItem, provideExpansionPanelRoot, provideGroupRoot, provideInputRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideRadioGroup, provideRadioRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, range, singleOpenStrategy, toArray, toElement, toReactive, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useContext, useDataTable, useDate, useDialogContext, useDocumentEventListener, useElementIntersection, useElementSize, useEventListener, useExpansionPanelItem, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useOverflow, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleScope, useTokens, useVirtual, useVirtualFocus, useWindowEventListener, version };
17664
+ export { _sfc_main as Atom, Avatar, _sfc_main$1 as AvatarFallback, _sfc_main$2 as AvatarImage, _sfc_main$3 as AvatarRoot, Breadcrumbs, _sfc_main$4 as BreadcrumbsDivider, _sfc_main$5 as BreadcrumbsEllipsis, _sfc_main$6 as BreadcrumbsItem, _sfc_main$7 as BreadcrumbsLink, _sfc_main$8 as BreadcrumbsList, _sfc_main$9 as BreadcrumbsPage, _sfc_main$10 as BreadcrumbsRoot, Button, _sfc_main$11 as ButtonContent, _sfc_main$12 as ButtonGroup, _sfc_main$13 as ButtonHiddenInput, _sfc_main$14 as ButtonIcon, _sfc_main$15 as ButtonLoading, _sfc_main$16 as ButtonRoot, COMMON_ELEMENTS, Checkbox, _sfc_main$17 as CheckboxGroup, _sfc_main$18 as CheckboxHiddenInput, _sfc_main$19 as CheckboxIndicator, _sfc_main$20 as CheckboxRoot, _sfc_main$21 as CheckboxSelectAll, ClientAdapter, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$22 as DialogActivator, _sfc_main$23 as DialogClose, _sfc_main$24 as DialogContent, _sfc_main$25 as DialogDescription, _sfc_main$26 as DialogRoot, _sfc_main$27 as DialogTitle, ExpansionPanel, _sfc_main$28 as ExpansionPanelActivator, _sfc_main$29 as ExpansionPanelContent, _sfc_main$30 as ExpansionPanelHeader, _sfc_main$31 as ExpansionPanelItem, _sfc_main$32 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$33 as Form, Group, _sfc_main$34 as GroupItem, _sfc_main$35 as GroupRoot, IN_BROWSER, Input, _sfc_main$36 as InputControl, _sfc_main$37 as InputDescription, _sfc_main$38 as InputError, _sfc_main$39 as InputRoot, _sfc_main$40 as Locale, MemoryAdapter, Pagination, _sfc_main$41 as PaginationEllipsis, _sfc_main$42 as PaginationFirst, _sfc_main$43 as PaginationItem, _sfc_main$44 as PaginationLast, _sfc_main$45 as PaginationNext, _sfc_main$46 as PaginationPrev, _sfc_main$47 as PaginationRoot, _sfc_main$48 as PaginationStatus, PermissionAdapter, PinoLoggerAdapter, Popover, _sfc_main$49 as PopoverActivator, _sfc_main$50 as PopoverContent, _sfc_main$51 as PopoverRoot, Radio, _sfc_main$52 as RadioGroup, _sfc_main$53 as RadioHiddenInput, _sfc_main$54 as RadioIndicator, _sfc_main$55 as RadioRoot, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$56 as Scrim, Select, _sfc_main$57 as SelectActivator, _sfc_main$58 as SelectContent, _sfc_main$59 as SelectCue, _sfc_main$60 as SelectItem, _sfc_main$61 as SelectPlaceholder, _sfc_main$62 as SelectRoot, _sfc_main$63 as SelectValue, Selection, _sfc_main$64 as SelectionItem, _sfc_main$65 as SelectionRoot, ServerAdapter, Single, _sfc_main$66 as SingleItem, _sfc_main$67 as SingleRoot, Slider, _sfc_main$68 as SliderHiddenInput, _sfc_main$69 as SliderRange, _sfc_main$70 as SliderRoot, _sfc_main$71 as SliderThumb, _sfc_main$72 as SliderTrack, Snackbar, _sfc_main$73 as SnackbarClose, _sfc_main$74 as SnackbarContent, _sfc_main$75 as SnackbarPortal, _sfc_main$76 as SnackbarQueue, _sfc_main$77 as SnackbarRoot, Splitter, _sfc_main$78 as SplitterHandle, _sfc_main$79 as SplitterPanel, _sfc_main$80 as SplitterRoot, Step, _sfc_main$81 as StepItem, _sfc_main$82 as StepRoot, Switch, _sfc_main$83 as SwitchGroup, _sfc_main$84 as SwitchHiddenInput, _sfc_main$85 as SwitchRoot, _sfc_main$86 as SwitchSelectAll, _sfc_main$87 as SwitchThumb, _sfc_main$88 as SwitchTrack, Tabs, _sfc_main$89 as TabsItem, _sfc_main$90 as TabsList, _sfc_main$91 as TabsPanel, _sfc_main$92 as TabsRoot, _sfc_main$93 as Theme, Treeview, _sfc_main$94 as TreeviewActivator, _sfc_main$95 as TreeviewCheckbox, _sfc_main$96 as TreeviewContent, _sfc_main$97 as TreeviewCue, _sfc_main$98 as TreeviewGroup, _sfc_main$99 as TreeviewIndicator, _sfc_main$100 as TreeviewItem, _sfc_main$101 as TreeviewList, _sfc_main$102 as TreeviewRoot, _sfc_main$103 as TreeviewSelectAll, VirtualAdapter, Vuetify0LocaleAdapter, Vuetify0LoggerAdapter, Vuetify0RtlAdapter, Vuetify0ThemeAdapter, __LOGGER_ENABLED__, apca, clamp, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createQueue, createQueueContext, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTrinity, createValidation, createVirtual, createVirtualContext, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isUndefined, mergeDeep, multipleOpenStrategy, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCheckboxGroup, provideCheckboxRoot, provideContext, provideDialogContext, provideExpansionPanelItem, provideExpansionPanelRoot, provideGroupRoot, provideInputRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideRadioGroup, provideRadioRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, rgbToHex, singleOpenStrategy, toArray, toElement, toReactive, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useContext, useDataTable, useDate, useDialogContext, useDocumentEventListener, useElementIntersection, useElementSize, useEventListener, useExpansionPanelItem, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useOverflow, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleScope, useTokens, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };