@vuetify/v0 1.0.2 → 1.0.4

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 (78) hide show
  1. package/dist/adapter-BCtceV3b.mjs +66 -0
  2. package/dist/{adapter-C5F2huij.d.mts → adapter-Bc0yPSfo.d.mts} +6 -1
  3. package/dist/browser/index.d.ts +499 -376
  4. package/dist/browser/index.js +594 -241
  5. package/dist/components/index.d.mts +2 -2
  6. package/dist/components/index.mjs +2 -2
  7. package/dist/{components-EPI-OV3g.mjs → components-BEULKf1l.mjs} +795 -497
  8. package/dist/composables/index.d.mts +2 -2
  9. package/dist/composables/index.mjs +22 -22
  10. package/dist/{composables-Ce3inP9P.mjs → composables-UDLJSkis.mjs} +80 -94
  11. package/dist/constants/index.mjs +1 -1
  12. package/dist/{createDataTable-BnL2eb_0.mjs → createDataTable-odNvR9Tl.mjs} +3 -3
  13. package/dist/{createGroup-CJjPnhGu.mjs → createGroup-DK5KxHjn.mjs} +1 -1
  14. package/dist/{createRegistry-BCyeTWME.mjs → createRegistry-DCWma-GG.mjs} +1 -1
  15. package/dist/{createSelection-MKYbRsRh.mjs → createSelection-B3L-4fLH.mjs} +1 -1
  16. package/dist/{createSingle-BqTldaCh.mjs → createSingle-DBWZc1_G.mjs} +1 -1
  17. package/dist/{createTokens-1CBBjmzi.mjs → createTokens-C4ZmZFHA.mjs} +2 -2
  18. package/dist/data-table/index.mjs +1 -1
  19. package/dist/date/index.d.mts +2 -2
  20. package/dist/date/index.mjs +7 -36
  21. package/dist/features/adapters/posthog/index.mjs +1 -1
  22. package/dist/features/index.d.mts +1 -1
  23. package/dist/features/index.mjs +1 -1
  24. package/dist/{globals-BVulH1kl.mjs → globals-BUTW4MHG.mjs} +1 -1
  25. package/dist/{index-DBm7uM6h.d.mts → index-CRi_o77U.d.mts} +521 -405
  26. package/dist/{index-0Wnlny_C.d.mts → index-CrAgM2EJ.d.mts} +5 -3
  27. package/dist/index.d.mts +4 -4
  28. package/dist/index.mjs +25 -25
  29. package/dist/json/attributes.json +29 -1
  30. package/dist/json/importMap.json +4 -0
  31. package/dist/json/tags.json +12 -0
  32. package/dist/json/web-types.json +74 -2
  33. package/dist/locale/adapters/index.mjs +1 -1
  34. package/dist/locale/adapters/v0/index.mjs +1 -1
  35. package/dist/locale/index.d.mts +1 -1
  36. package/dist/locale/index.mjs +2 -2
  37. package/dist/locale/messages/en/index.d.mts +5 -0
  38. package/dist/locale/messages/en/index.mjs +7 -2
  39. package/dist/logger/adapters/index.mjs +1 -1
  40. package/dist/logger/adapters/v0/index.mjs +1 -1
  41. package/dist/logger/index.d.mts +1 -1
  42. package/dist/logger/index.mjs +2 -2
  43. package/dist/notifications/index.d.mts +1 -1
  44. package/dist/notifications/index.mjs +2 -2
  45. package/dist/palettes/index.d.mts +1 -1
  46. package/dist/permissions/adapters/index.d.mts +1 -1
  47. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  48. package/dist/permissions/index.d.mts +1 -1
  49. package/dist/permissions/index.mjs +1 -1
  50. package/dist/rules/index.d.mts +1 -1
  51. package/dist/rules/index.mjs +1 -1
  52. package/dist/storage/index.d.mts +1 -1
  53. package/dist/storage/index.mjs +1 -1
  54. package/dist/theme/adapters/index.d.mts +1 -1
  55. package/dist/theme/adapters/index.mjs +2 -2
  56. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  57. package/dist/theme/adapters/unhead/index.mjs +1 -1
  58. package/dist/theme/adapters/v0/index.d.mts +1 -1
  59. package/dist/theme/adapters/v0/index.mjs +1 -1
  60. package/dist/theme/index.d.mts +1 -1
  61. package/dist/theme/index.mjs +3 -3
  62. package/dist/{unhead-OxL9-io3.mjs → unhead-DHgoHwNp.mjs} +1 -1
  63. package/dist/{useEventListener-DvBy0REl.mjs → useEventListener-DH8rxkg9.mjs} +1 -1
  64. package/dist/{useFeatures-BzLoyh-D.mjs → useFeatures-C69UhG6j.mjs} +3 -3
  65. package/dist/{useLocale-6nnyjL_b.mjs → useLocale-x-_byBGJ.mjs} +4 -4
  66. package/dist/{useLogger-SKBSf2Ry.mjs → useLogger-YmzhmbpJ.mjs} +2 -2
  67. package/dist/{useNotifications-CD7VNgfs.mjs → useNotifications-HplEE-rp.mjs} +3 -3
  68. package/dist/{usePermissions-CT4nIEtD.mjs → usePermissions-DOEFSPvv.mjs} +2 -2
  69. package/dist/{useRovingFocus-DPa2z5II.mjs → useRovingFocus-B_21NzGP.mjs} +26 -18
  70. package/dist/{useRules-DhN_Glen.mjs → useRules-D3t_9FXV.mjs} +2 -2
  71. package/dist/{useStorage-vwbN1KlV.mjs → useStorage-Dk0vBk5G.mjs} +3 -3
  72. package/dist/{useTheme-HbZK7iGf.mjs → useTheme-BgZhqWsW.mjs} +4 -4
  73. package/dist/utilities/index.mjs +1 -1
  74. package/dist/{v0-CvlDO4sB.mjs → v0-BOwub0NK.mjs} +1 -1
  75. package/dist/{v0-C2JHbe3R.mjs → v0-_kEIVNjG.mjs} +1 -1
  76. package/dist/{v0-D-N-Egmx.mjs → v0-sv4EvUA-.mjs} +1 -1
  77. package/package.json +1 -1
  78. package/dist/adapter-Cy7wXVFe.mjs +0 -4
@@ -1,5 +1,5 @@
1
1
  import * as Vue from "vue";
2
- import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, hasInjectionContext, inject, isReadonly, isRef, mergeModels, mergeProps, nextTick, normalizeProps, normalizeStyle, onActivated, onBeforeUnmount, onDeactivated, onMounted, onScopeDispose, onWatcherCleanup, 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, createElementVNode, createTextVNode, createVNode, defineComponent, effectScope, guardReactiveProps, hasInjectionContext, inject, isReadonly, isRef, mergeModels, mergeProps, nextTick, normalizeProps, normalizeStyle, onActivated, onBeforeUnmount, onDeactivated, onMounted, onScopeDispose, onUnmounted, onWatcherCleanup, 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
@@ -135,7 +135,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
135
135
  const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
136
136
  const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
137
137
  const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
138
- const version = "1.0.2";
138
+ const version = "1.0.4";
139
139
  /* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
140
140
  const __LOGGER_ENABLED__ = false;
141
141
  //#endregion
@@ -912,6 +912,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
912
912
  const id = __props.id ?? /* @__PURE__ */ useId();
913
913
  const isOpen = useModel(__props, "modelValue");
914
914
  const isPending = shallowRef(false);
915
+ const cancelEl = shallowRef(null);
915
916
  const titleId = `${id}-title`;
916
917
  const descriptionId = `${id}-description`;
917
918
  function open() {
@@ -927,6 +928,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
927
928
  titleId,
928
929
  descriptionId,
929
930
  isPending,
931
+ cancelEl,
930
932
  open,
931
933
  close
932
934
  });
@@ -981,14 +983,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
981
983
  });
982
984
  if (!waited) context.close();
983
985
  }
986
+ function onKeydown(e) {
987
+ if (e.key === "Enter" || e.key === " ") {
988
+ e.preventDefault();
989
+ onClick();
990
+ }
991
+ }
984
992
  const slotProps = toRef(() => ({
985
993
  isPending: context.isPending.value,
986
994
  attrs: {
987
995
  "type": __props.as === "button" ? "button" : void 0,
988
- "disabled": __props.disabled || void 0,
996
+ "role": __props.as === "button" ? void 0 : "button",
997
+ "tabindex": __props.disabled ? -1 : 0,
998
+ "disabled": __props.as === "button" ? __props.disabled || void 0 : void 0,
989
999
  "data-disabled": __props.disabled ? "" : void 0,
990
1000
  "data-pending": context.isPending.value ? "" : void 0,
991
- "onClick": onClick
1001
+ "onClick": onClick,
1002
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
992
1003
  }
993
1004
  }));
994
1005
  return (_ctx, _cache) => {
@@ -1017,14 +1028,23 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1017
1028
  function onClick() {
1018
1029
  context.open();
1019
1030
  }
1031
+ function onKeydown(e) {
1032
+ if (e.key === "Enter" || e.key === " ") {
1033
+ e.preventDefault();
1034
+ onClick();
1035
+ }
1036
+ }
1020
1037
  const slotProps = toRef(() => ({
1021
1038
  isOpen: context.isOpen.value,
1022
1039
  attrs: {
1023
1040
  "type": __props.as === "button" ? "button" : void 0,
1041
+ "role": __props.as === "button" ? void 0 : "button",
1042
+ "tabindex": 0,
1024
1043
  "aria-haspopup": "dialog",
1025
1044
  "aria-expanded": context.isOpen.value,
1026
1045
  "data-open": context.isOpen.value || void 0,
1027
- "onClick": onClick
1046
+ "onClick": onClick,
1047
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
1028
1048
  }
1029
1049
  }));
1030
1050
  return (_ctx, _cache) => {
@@ -1054,21 +1074,38 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1054
1074
  },
1055
1075
  setup(__props) {
1056
1076
  const context = useAlertDialogContext(__props.namespace);
1077
+ const cancelRef = useTemplateRef("cancel");
1078
+ onMounted(() => {
1079
+ context.cancelEl.value = cancelRef.value?.element ?? null;
1080
+ });
1081
+ onUnmounted(() => {
1082
+ context.cancelEl.value = null;
1083
+ });
1057
1084
  function onClick() {
1058
1085
  if (__props.disabled) return;
1059
1086
  context.close();
1060
1087
  }
1088
+ function onKeydown(e) {
1089
+ if (e.key === "Enter" || e.key === " ") {
1090
+ e.preventDefault();
1091
+ onClick();
1092
+ }
1093
+ }
1061
1094
  const slotProps = toRef(() => ({
1062
1095
  isOpen: context.isOpen.value,
1063
1096
  attrs: {
1064
1097
  "type": __props.as === "button" ? "button" : void 0,
1065
- "disabled": __props.disabled || void 0,
1098
+ "role": __props.as === "button" ? void 0 : "button",
1099
+ "tabindex": __props.disabled ? -1 : 0,
1100
+ "disabled": __props.as === "button" ? __props.disabled || void 0 : void 0,
1066
1101
  "data-disabled": __props.disabled ? "" : void 0,
1067
- "onClick": onClick
1102
+ "onClick": onClick,
1103
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
1068
1104
  }
1069
1105
  }));
1070
1106
  return (_ctx, _cache) => {
1071
1107
  return openBlock(), createBlock(unref(_sfc_main$9), mergeProps({
1108
+ ref: "cancel",
1072
1109
  as: __props.as,
1073
1110
  renderless: __props.renderless
1074
1111
  }, slotProps.value.attrs), {
@@ -3187,12 +3224,21 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
3187
3224
  function onClick() {
3188
3225
  context.close();
3189
3226
  }
3227
+ function onKeydown(e) {
3228
+ if (e.key === "Enter" || e.key === " ") {
3229
+ e.preventDefault();
3230
+ onClick();
3231
+ }
3232
+ }
3190
3233
  const slotProps = toRef(() => ({
3191
3234
  isOpen: context.isOpen.value,
3192
3235
  attrs: {
3193
3236
  "type": __props.as === "button" ? "button" : void 0,
3237
+ "role": __props.as === "button" ? void 0 : "button",
3238
+ "tabindex": 0,
3194
3239
  "aria-label": locale.ti("AlertDialog.close") ?? "Close",
3195
- "onClick": onClick
3240
+ "onClick": onClick,
3241
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
3196
3242
  }
3197
3243
  }));
3198
3244
  return (_ctx, _cache) => {
@@ -4083,15 +4129,23 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4083
4129
  if (isOpen) ticket.select();
4084
4130
  else ticket.unselect();
4085
4131
  }, { immediate: true });
4132
+ function focusCancel() {
4133
+ context.cancelEl.value?.focus();
4134
+ }
4086
4135
  watch(context.isOpen, (isOpen) => {
4087
4136
  const element = contentRef.value?.element;
4088
4137
  /* v8 ignore next -- defensive guard, element is always present after mount */
4089
4138
  if (!element) return;
4090
- if (isOpen) element.showModal?.();
4091
- else element.close?.();
4139
+ if (isOpen) {
4140
+ element.showModal?.();
4141
+ focusCancel();
4142
+ } else element.close?.();
4092
4143
  });
4093
4144
  onMounted(() => {
4094
- if (context.isOpen.value) (contentRef.value?.element)?.showModal();
4145
+ if (context.isOpen.value) {
4146
+ (contentRef.value?.element)?.showModal();
4147
+ focusCancel();
4148
+ }
4095
4149
  });
4096
4150
  useToggleScope(
4097
4151
  () => __props.closeOnClickOutside && context.isOpen.value,
@@ -4644,11 +4698,13 @@ function pxToNumber(value, fallback = 0) {
4644
4698
  * Synthesize the entry the observer would report for `el`, for the `immediate`
4645
4699
  * callback that fires before the observer's own first delivery.
4646
4700
  *
4647
- * The box sizes come from `getComputedStyle` rather than
4701
+ * Every measurement comes from `getComputedStyle` rather than
4648
4702
  * `getBoundingClientRect` because resolved lengths are layout values — like the
4649
4703
  * observer, and unlike a client rect, they are not scaled by CSS transforms.
4650
- * `contentRect` keeps its existing client-rect source so callers reading it see
4651
- * no change.
4704
+ * `contentRect` mirrors the native entry: width/height are the content box and
4705
+ * top/left are the padding offsets, so the immediate entry matches what the
4706
+ * observer reports next. The client rect only remains as the fallback when a
4707
+ * resolved length is not numeric (e.g. a detached element).
4652
4708
  *
4653
4709
  * Every read is written to tolerate a partial style declaration: an element
4654
4710
  * with no layout box resolves its lengths to `''`, and this runs on whatever
@@ -4658,8 +4714,14 @@ function pxToNumber(value, fallback = 0) {
4658
4714
  function measure(el) {
4659
4715
  const rect = el.getBoundingClientRect();
4660
4716
  const style = getComputedStyle(el);
4661
- const paddingX = /* @__PURE__ */ pxToNumber(style.paddingLeft) + /* @__PURE__ */ pxToNumber(style.paddingRight);
4662
- const paddingY = /* @__PURE__ */ pxToNumber(style.paddingTop) + /* @__PURE__ */ pxToNumber(style.paddingBottom);
4717
+ const padding = {
4718
+ top: /* @__PURE__ */ pxToNumber(style.paddingTop),
4719
+ left: /* @__PURE__ */ pxToNumber(style.paddingLeft),
4720
+ right: /* @__PURE__ */ pxToNumber(style.paddingRight),
4721
+ bottom: /* @__PURE__ */ pxToNumber(style.paddingBottom)
4722
+ };
4723
+ const paddingX = padding.left + padding.right;
4724
+ const paddingY = padding.top + padding.bottom;
4663
4725
  const borderX = /* @__PURE__ */ pxToNumber(style.borderLeftWidth) + /* @__PURE__ */ pxToNumber(style.borderRightWidth);
4664
4726
  const borderY = /* @__PURE__ */ pxToNumber(style.borderTopWidth) + /* @__PURE__ */ pxToNumber(style.borderBottomWidth);
4665
4727
  const outer = style.boxSizing === "border-box";
@@ -4678,10 +4740,10 @@ function measure(el) {
4678
4740
  const block = vertical ? width : height;
4679
4741
  return {
4680
4742
  contentRect: {
4681
- width: rect.width,
4682
- height: rect.height,
4683
- top: rect.top,
4684
- left: rect.left
4743
+ width: width.content,
4744
+ height: height.content,
4745
+ top: padding.top,
4746
+ left: padding.left
4685
4747
  },
4686
4748
  borderBoxSize: [{
4687
4749
  inlineSize: inline.border,
@@ -6963,7 +7025,7 @@ const _hoisted_1$8 = [
6963
7025
  "name",
6964
7026
  "value"
6965
7027
  ];
6966
- const visuallyHiddenStyle$5 = {
7028
+ const visuallyHiddenStyle$6 = {
6967
7029
  position: "absolute",
6968
7030
  width: "1px",
6969
7031
  height: "1px",
@@ -7001,7 +7063,7 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
7001
7063
  form: form.value,
7002
7064
  inert: "",
7003
7065
  name: name.value,
7004
- style: visuallyHiddenStyle$5,
7066
+ style: visuallyHiddenStyle$6,
7005
7067
  tabindex: "-1",
7006
7068
  type: "checkbox",
7007
7069
  value: value.value
@@ -8163,18 +8225,27 @@ const _sfc_main$33 = /* @__PURE__ */ defineComponent({
8163
8225
  function onClick() {
8164
8226
  if (!isDisabled.value) carousel.prev();
8165
8227
  }
8228
+ function onKeydown(e) {
8229
+ if (e.key === "Enter" || e.key === " ") {
8230
+ e.preventDefault();
8231
+ onClick();
8232
+ }
8233
+ }
8166
8234
  const slotProps = toRef(() => ({
8167
8235
  isDisabled: isDisabled.value,
8168
8236
  isAtEdge: isAtEdge.value,
8169
8237
  attrs: {
8170
8238
  "type": __props.as === "button" ? "button" : void 0,
8239
+ "role": __props.as === "button" ? void 0 : "button",
8240
+ "tabindex": isDisabled.value ? -1 : 0,
8171
8241
  "aria-label": locale.ti("Carousel.prev") ?? "Previous slide",
8172
8242
  "aria-controls": viewportId,
8173
8243
  "aria-disabled": isDisabled.value,
8174
8244
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
8175
8245
  "data-disabled": isDisabled.value || void 0,
8176
8246
  "data-edge": isAtEdge.value || void 0,
8177
- "onClick": onClick
8247
+ "onClick": onClick,
8248
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
8178
8249
  }
8179
8250
  }));
8180
8251
  return (_ctx, _cache) => {
@@ -8219,18 +8290,27 @@ const _sfc_main$32 = /* @__PURE__ */ defineComponent({
8219
8290
  function onClick() {
8220
8291
  if (!isDisabled.value) carousel.next();
8221
8292
  }
8293
+ function onKeydown(e) {
8294
+ if (e.key === "Enter" || e.key === " ") {
8295
+ e.preventDefault();
8296
+ onClick();
8297
+ }
8298
+ }
8222
8299
  const slotProps = toRef(() => ({
8223
8300
  isDisabled: isDisabled.value,
8224
8301
  isAtEdge: isAtEdge.value,
8225
8302
  attrs: {
8226
8303
  "type": __props.as === "button" ? "button" : void 0,
8304
+ "role": __props.as === "button" ? void 0 : "button",
8305
+ "tabindex": isDisabled.value ? -1 : 0,
8227
8306
  "aria-label": locale.ti("Carousel.next") ?? "Next slide",
8228
8307
  "aria-controls": viewportId,
8229
8308
  "aria-disabled": isDisabled.value,
8230
8309
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
8231
8310
  "data-disabled": isDisabled.value || void 0,
8232
8311
  "data-edge": isAtEdge.value || void 0,
8233
- "onClick": onClick
8312
+ "onClick": onClick,
8313
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
8234
8314
  }
8235
8315
  }));
8236
8316
  return (_ctx, _cache) => {
@@ -8910,7 +8990,7 @@ const _hoisted_1$7 = [
8910
8990
  "name",
8911
8991
  "value"
8912
8992
  ];
8913
- const visuallyHiddenStyle$4 = {
8993
+ const visuallyHiddenStyle$5 = {
8914
8994
  position: "absolute",
8915
8995
  width: "1px",
8916
8996
  height: "1px",
@@ -8949,7 +9029,7 @@ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
8949
9029
  form: form.value,
8950
9030
  inert: "",
8951
9031
  name: name.value,
8952
- style: visuallyHiddenStyle$4,
9032
+ style: visuallyHiddenStyle$5,
8953
9033
  tabindex: "-1",
8954
9034
  type: "checkbox",
8955
9035
  value: value.value
@@ -9359,7 +9439,7 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
9359
9439
  "disabled": __props.as === "button" ? context.disabled.value : void 0,
9360
9440
  "type": __props.as === "button" ? "button" : void 0,
9361
9441
  "onClick": context.toggle,
9362
- onKeydown
9442
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
9363
9443
  }
9364
9444
  }));
9365
9445
  return (_ctx, _cache) => {
@@ -9478,7 +9558,7 @@ const _hoisted_1$6 = [
9478
9558
  "name",
9479
9559
  "value"
9480
9560
  ];
9481
- const visuallyHiddenStyle$3 = {
9561
+ const visuallyHiddenStyle$4 = {
9482
9562
  position: "absolute",
9483
9563
  width: "1px",
9484
9564
  height: "1px",
@@ -9489,7 +9569,7 @@ const visuallyHiddenStyle$3 = {
9489
9569
  whiteSpace: "nowrap",
9490
9570
  border: "0"
9491
9571
  };
9492
- const _sfc_main$171 = /* @__PURE__ */ defineComponent({
9572
+ const _sfc_main$172 = /* @__PURE__ */ defineComponent({
9493
9573
  name: "ComboboxHiddenInput",
9494
9574
  __name: "ComboboxHiddenInput",
9495
9575
  props: { namespace: { default: "v0:combobox" } },
@@ -9511,7 +9591,7 @@ const _sfc_main$171 = /* @__PURE__ */ defineComponent({
9511
9591
  form: unref(context).form,
9512
9592
  inert: "",
9513
9593
  name: unref(context).name,
9514
- style: visuallyHiddenStyle$3,
9594
+ style: visuallyHiddenStyle$4,
9515
9595
  tabindex: "-1",
9516
9596
  type: "hidden",
9517
9597
  value: val
@@ -10515,7 +10595,7 @@ const _sfc_main$54 = /* @__PURE__ */ defineComponent({
10515
10595
  }, {
10516
10596
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
10517
10597
  _: 3
10518
- }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$171, { key: 0 })) : createCommentVNode("v-if", true)], 64);
10598
+ }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$172, { key: 0 })) : createCommentVNode("v-if", true)], 64);
10519
10599
  };
10520
10600
  }
10521
10601
  });
@@ -11030,9 +11110,8 @@ const _sfc_main$53 = /* @__PURE__ */ defineComponent({
11030
11110
  * :key="item.id"
11031
11111
  * :id="item.id"
11032
11112
  * :value="item.label"
11033
- * v-slot="{ isSelected, attrs }"
11034
11113
  * >
11035
- * <div v-bind="attrs">{{ item.label }}</div>
11114
+ * {{ item.label }}
11036
11115
  * </Combobox.Item>
11037
11116
  * <Combobox.Empty>No results found</Combobox.Empty>
11038
11117
  * </Combobox.Content>
@@ -11140,10 +11219,13 @@ const Combobox = {
11140
11219
  *
11141
11220
  * @example
11142
11221
  * ```vue
11143
- * <Combobox.Item id="apple" value="Apple" v-slot="{ isSelected, isHighlighted, attrs }">
11144
- * <div v-bind="attrs" :class="{ highlighted: isHighlighted }">
11145
- * Apple {{ isSelected ? '✓' : '' }}
11146
- * </div>
11222
+ * <Combobox.Item
11223
+ * id="apple"
11224
+ * value="Apple"
11225
+ * class="data-[highlighted]:bg-primary"
11226
+ * v-slot="{ isSelected }"
11227
+ * >
11228
+ * Apple {{ isSelected ? '✓' : '' }}
11147
11229
  * </Combobox.Item>
11148
11230
  * ```
11149
11231
  */
@@ -11273,12 +11355,21 @@ const _sfc_main$56 = /* @__PURE__ */ defineComponent({
11273
11355
  function onClick() {
11274
11356
  context.close();
11275
11357
  }
11358
+ function onKeydown(e) {
11359
+ if (e.key === "Enter" || e.key === " ") {
11360
+ e.preventDefault();
11361
+ onClick();
11362
+ }
11363
+ }
11276
11364
  const slotProps = toRef(() => ({
11277
11365
  isOpen: context.isOpen.value,
11278
11366
  attrs: {
11279
11367
  "type": __props.as === "button" ? "button" : void 0,
11368
+ "role": __props.as === "button" ? void 0 : "button",
11369
+ "tabindex": 0,
11280
11370
  "aria-label": locale.ti("Dialog.close") ?? "Close",
11281
- "onClick": onClick
11371
+ "onClick": onClick,
11372
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
11282
11373
  }
11283
11374
  }));
11284
11375
  return (_ctx, _cache) => {
@@ -11440,14 +11531,23 @@ const _sfc_main$55 = /* @__PURE__ */ defineComponent({
11440
11531
  function onClick() {
11441
11532
  context.open();
11442
11533
  }
11534
+ function onKeydown(e) {
11535
+ if (e.key === "Enter" || e.key === " ") {
11536
+ e.preventDefault();
11537
+ onClick();
11538
+ }
11539
+ }
11443
11540
  const slotProps = toRef(() => ({
11444
11541
  isOpen: context.isOpen.value,
11445
11542
  attrs: {
11446
11543
  "type": __props.as === "button" ? "button" : void 0,
11544
+ "role": __props.as === "button" ? void 0 : "button",
11545
+ "tabindex": 0,
11447
11546
  "aria-haspopup": "dialog",
11448
11547
  "aria-expanded": context.isOpen.value,
11449
11548
  "data-open": context.isOpen.value || void 0,
11450
- "onClick": onClick
11549
+ "onClick": onClick,
11550
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
11451
11551
  }
11452
11552
  }));
11453
11553
  return (_ctx, _cache) => {
@@ -11756,7 +11856,7 @@ const _sfc_main$61 = /* @__PURE__ */ defineComponent({
11756
11856
  "disabled": __props.as === "button" ? item.isDisabled.value : void 0,
11757
11857
  "type": __props.as === "button" ? "button" : void 0,
11758
11858
  "onClick": onClick,
11759
- onKeydown
11859
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
11760
11860
  }
11761
11861
  }));
11762
11862
  return (_ctx, _cache) => {
@@ -12316,6 +12416,11 @@ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
12316
12416
  if (toValue(isDisabled)) return;
12317
12417
  ticket.toggle();
12318
12418
  }
12419
+ function onKeydown(e) {
12420
+ if (e.key !== " ") return;
12421
+ e.preventDefault();
12422
+ onClick();
12423
+ }
12319
12424
  onBeforeUnmount(() => {
12320
12425
  group.unregister(ticket.id);
12321
12426
  });
@@ -12333,12 +12438,14 @@ const _sfc_main$68 = /* @__PURE__ */ defineComponent({
12333
12438
  unmix: ticket.unmix,
12334
12439
  attrs: {
12335
12440
  "role": "checkbox",
12441
+ "tabindex": toValue(isDisabled) ? -1 : 0,
12336
12442
  "aria-checked": toValue(ticket.isMixed) ? "mixed" : toValue(ticket.isSelected),
12337
12443
  "aria-disabled": toValue(isDisabled),
12338
12444
  "data-selected": toValue(ticket.isSelected) || void 0,
12339
12445
  "data-disabled": toValue(isDisabled) || void 0,
12340
12446
  "data-mixed": toValue(ticket.isMixed) || void 0,
12341
- "onClick": onClick
12447
+ "onClick": onClick,
12448
+ "onKeydown": onKeydown
12342
12449
  }
12343
12450
  }));
12344
12451
  return (_ctx, _cache) => {
@@ -13341,7 +13448,7 @@ const _sfc_main$77 = /* @__PURE__ */ defineComponent({
13341
13448
  id: input.id,
13342
13449
  label: __props.label,
13343
13450
  name: __props.name,
13344
- type: __props.type,
13451
+ type: toRef(() => __props.type),
13345
13452
  form: __props.form,
13346
13453
  required: __props.required,
13347
13454
  descriptionId: input.descriptionId,
@@ -13430,7 +13537,7 @@ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
13430
13537
  const isFocused = root.isFocused.value;
13431
13538
  return {
13432
13539
  "id": root.id,
13433
- "type": root.type,
13540
+ "type": root.type.value,
13434
13541
  "name": root.name,
13435
13542
  "value": root.value.value,
13436
13543
  "form": root.form,
@@ -13952,6 +14059,7 @@ const _sfc_main$84 = /* @__PURE__ */ defineComponent({
13952
14059
  props: /* @__PURE__ */ mergeModels({
13953
14060
  id: { default: () => /* @__PURE__ */ useId() },
13954
14061
  label: {},
14062
+ ariaLabelledby: {},
13955
14063
  name: {},
13956
14064
  form: {},
13957
14065
  required: { type: Boolean },
@@ -14041,6 +14149,7 @@ const _sfc_main$84 = /* @__PURE__ */ defineComponent({
14041
14149
  input,
14042
14150
  id: input.id,
14043
14151
  label: __props.label,
14152
+ ariaLabelledby: __props.ariaLabelledby,
14044
14153
  name: __props.name,
14045
14154
  form: __props.form,
14046
14155
  required: __props.required,
@@ -14112,6 +14221,7 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
14112
14221
  setup(__props) {
14113
14222
  const attrs = useAttrs();
14114
14223
  const root = useNumberFieldRoot(__props.namespace);
14224
+ const locale = useLocale();
14115
14225
  const leap = Math.max(1, Math.round(root.numeric.leap / root.numeric.step));
14116
14226
  const text = shallowRef("");
14117
14227
  function syncText() {
@@ -14207,7 +14317,8 @@ const _sfc_main$79 = /* @__PURE__ */ defineComponent({
14207
14317
  "aria-valuemin": Number.isFinite(root.numeric.min) ? root.numeric.min : void 0,
14208
14318
  "aria-valuemax": Number.isFinite(root.numeric.max) ? root.numeric.max : void 0,
14209
14319
  "aria-invalid": invalid || void 0,
14210
- "aria-label": root.label || void 0,
14320
+ "aria-label": root.ariaLabelledby ? void 0 : root.label || (locale.ti("NumberField.label") ?? "Number"),
14321
+ "aria-labelledby": root.ariaLabelledby || void 0,
14211
14322
  "aria-describedby": describedby.value,
14212
14323
  "aria-errormessage": root.hasError.value && root.errors.value.length > 0 ? root.errorId : void 0,
14213
14324
  "aria-required": root.required || void 0,
@@ -15464,6 +15575,12 @@ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
15464
15575
  if (isDisabled.value) return;
15465
15576
  pagination.first();
15466
15577
  }
15578
+ function onKeydown(e) {
15579
+ if (e.key === "Enter" || e.key === " ") {
15580
+ e.preventDefault();
15581
+ first();
15582
+ }
15583
+ }
15467
15584
  const slotProps = toRef(() => ({
15468
15585
  isDisabled: isDisabled.value,
15469
15586
  first,
@@ -15474,7 +15591,9 @@ const _sfc_main$90 = /* @__PURE__ */ defineComponent({
15474
15591
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
15475
15592
  "tabindex": isDisabled.value ? -1 : 0,
15476
15593
  "type": __props.as === "button" ? "button" : void 0,
15477
- "onClick": first
15594
+ "role": __props.as === "button" ? void 0 : "button",
15595
+ "onClick": first,
15596
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
15478
15597
  }
15479
15598
  }));
15480
15599
  onBeforeUnmount(() => controls.unregister(__props.id));
@@ -15597,6 +15716,12 @@ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
15597
15716
  if (isDisabled.value) return;
15598
15717
  pagination.last();
15599
15718
  }
15719
+ function onKeydown(e) {
15720
+ if (e.key === "Enter" || e.key === " ") {
15721
+ e.preventDefault();
15722
+ last();
15723
+ }
15724
+ }
15600
15725
  const slotProps = toRef(() => ({
15601
15726
  isDisabled: isDisabled.value,
15602
15727
  last,
@@ -15607,7 +15732,9 @@ const _sfc_main$92 = /* @__PURE__ */ defineComponent({
15607
15732
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
15608
15733
  "tabindex": isDisabled.value ? -1 : 0,
15609
15734
  "type": __props.as === "button" ? "button" : void 0,
15610
- "onClick": last
15735
+ "role": __props.as === "button" ? void 0 : "button",
15736
+ "onClick": last,
15737
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
15611
15738
  }
15612
15739
  }));
15613
15740
  onBeforeUnmount(() => controls.unregister(__props.id));
@@ -15654,6 +15781,12 @@ const _sfc_main$93 = /* @__PURE__ */ defineComponent({
15654
15781
  if (isDisabled.value) return;
15655
15782
  pagination.next();
15656
15783
  }
15784
+ function onKeydown(e) {
15785
+ if (e.key === "Enter" || e.key === " ") {
15786
+ e.preventDefault();
15787
+ next();
15788
+ }
15789
+ }
15657
15790
  const slotProps = toRef(() => ({
15658
15791
  isDisabled: isDisabled.value,
15659
15792
  next,
@@ -15664,7 +15797,9 @@ const _sfc_main$93 = /* @__PURE__ */ defineComponent({
15664
15797
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
15665
15798
  "tabindex": isDisabled.value ? -1 : 0,
15666
15799
  "type": __props.as === "button" ? "button" : void 0,
15667
- "onClick": next
15800
+ "role": __props.as === "button" ? void 0 : "button",
15801
+ "onClick": next,
15802
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
15668
15803
  }
15669
15804
  }));
15670
15805
  onBeforeUnmount(() => controls.unregister(__props.id));
@@ -15711,6 +15846,12 @@ const _sfc_main$94 = /* @__PURE__ */ defineComponent({
15711
15846
  if (isDisabled.value) return;
15712
15847
  pagination.prev();
15713
15848
  }
15849
+ function onKeydown(e) {
15850
+ if (e.key === "Enter" || e.key === " ") {
15851
+ e.preventDefault();
15852
+ prev();
15853
+ }
15854
+ }
15714
15855
  const slotProps = toRef(() => ({
15715
15856
  isDisabled: isDisabled.value,
15716
15857
  prev,
@@ -15721,7 +15862,9 @@ const _sfc_main$94 = /* @__PURE__ */ defineComponent({
15721
15862
  "disabled": __props.as === "button" ? isDisabled.value : void 0,
15722
15863
  "tabindex": isDisabled.value ? -1 : 0,
15723
15864
  "type": __props.as === "button" ? "button" : void 0,
15724
- "onClick": prev
15865
+ "role": __props.as === "button" ? void 0 : "button",
15866
+ "onClick": prev,
15867
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
15725
15868
  }
15726
15869
  }));
15727
15870
  onBeforeUnmount(() => controls.unregister(__props.id));
@@ -16064,15 +16207,24 @@ const _sfc_main$97 = /* @__PURE__ */ defineComponent({
16064
16207
  if (__props.target) return { anchorName: `--${String(__props.target).replace(/[^a-zA-Z0-9_-]/g, "")}` };
16065
16208
  return context.anchorStyles.value;
16066
16209
  });
16210
+ function onKeydown(e) {
16211
+ if (e.key === "Enter" || e.key === " ") {
16212
+ e.preventDefault();
16213
+ context.toggle();
16214
+ }
16215
+ }
16067
16216
  const slotProps = toRef(() => ({
16068
16217
  isOpen: context.isOpen.value,
16069
16218
  attrs: {
16070
16219
  "popovertarget": toValue(popovertarget),
16071
16220
  "type": __props.as === "button" ? "button" : void 0,
16221
+ "role": __props.as === "button" ? void 0 : "button",
16222
+ "tabindex": 0,
16072
16223
  "aria-expanded": context.isOpen.value,
16073
16224
  "aria-controls": toValue(popovertarget),
16074
16225
  "data-open": context.isOpen.value || void 0,
16075
- "style": style.value
16226
+ "style": style.value,
16227
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
16076
16228
  }
16077
16229
  }));
16078
16230
  return (_ctx, _cache) => {
@@ -16628,6 +16780,7 @@ const _sfc_main$106 = /* @__PURE__ */ defineComponent({
16628
16780
  __name: "ProgressRoot",
16629
16781
  props: /* @__PURE__ */ mergeModels({
16630
16782
  id: { default: () => /* @__PURE__ */ useId() },
16783
+ ariaLabel: {},
16631
16784
  modelValue: {},
16632
16785
  min: { default: 0 },
16633
16786
  max: { default: 100 },
@@ -16662,11 +16815,13 @@ const _sfc_main$106 = /* @__PURE__ */ defineComponent({
16662
16815
  });
16663
16816
  useProxyModel(progress, internal, { multiple: true });
16664
16817
  const labelId = `${__props.id}-label`;
16818
+ const hasLabel = shallowRef(false);
16665
16819
  const context = {
16666
16820
  ...progress,
16667
16821
  id: __props.id,
16668
16822
  name: __props.name,
16669
- labelId
16823
+ labelId,
16824
+ hasLabel
16670
16825
  };
16671
16826
  provideProgressRoot(__props.namespace, context);
16672
16827
  const slotProps = toRef(() => {
@@ -16685,7 +16840,8 @@ const _sfc_main$106 = /* @__PURE__ */ defineComponent({
16685
16840
  "aria-valuemin": __props.min,
16686
16841
  "aria-valuemax": __props.max,
16687
16842
  "aria-valuetext": indeterminate ? void 0 : `${Math.round(pct)}%`,
16688
- "aria-labelledby": labelId,
16843
+ "aria-label": hasLabel.value ? void 0 : __props.ariaLabel,
16844
+ "aria-labelledby": hasLabel.value ? labelId : void 0,
16689
16845
  "aria-busy": indeterminate ? true : void 0,
16690
16846
  "data-state": indeterminate ? "indeterminate" : "determinate",
16691
16847
  "data-complete": total >= __props.max ? true : void 0
@@ -16811,6 +16967,12 @@ const _sfc_main$105 = /* @__PURE__ */ defineComponent({
16811
16967
  setup(__props) {
16812
16968
  const attrs = useAttrs();
16813
16969
  const root = useProgressRoot(__props.namespace);
16970
+ onMounted(() => {
16971
+ root.hasLabel.value = true;
16972
+ });
16973
+ onBeforeUnmount(() => {
16974
+ root.hasLabel.value = false;
16975
+ });
16814
16976
  const slotProps = toRef(() => ({
16815
16977
  total: root.total.value,
16816
16978
  percent: root.percent.value,
@@ -17291,7 +17453,7 @@ const _hoisted_1$4 = [
17291
17453
  "name",
17292
17454
  "value"
17293
17455
  ];
17294
- const visuallyHiddenStyle$2 = {
17456
+ const visuallyHiddenStyle$3 = {
17295
17457
  position: "absolute",
17296
17458
  width: "1px",
17297
17459
  height: "1px",
@@ -17329,7 +17491,7 @@ const _sfc_main$110 = /* @__PURE__ */ defineComponent({
17329
17491
  form: form.value,
17330
17492
  inert: "",
17331
17493
  name: name.value,
17332
- style: visuallyHiddenStyle$2,
17494
+ style: visuallyHiddenStyle$3,
17333
17495
  tabindex: "-1",
17334
17496
  type: "radio",
17335
17497
  value: value.value
@@ -17684,6 +17846,8 @@ const _sfc_main$115 = /* @__PURE__ */ defineComponent({
17684
17846
  },
17685
17847
  disabled: { default: false },
17686
17848
  readonly: { default: false },
17849
+ ariaLabel: {},
17850
+ ariaLabelledby: {},
17687
17851
  name: {},
17688
17852
  namespace: { default: "v0:rating:root" },
17689
17853
  as: { default: "div" },
@@ -17748,6 +17912,8 @@ const _sfc_main$115 = /* @__PURE__ */ defineComponent({
17748
17912
  value: rating.value.value,
17749
17913
  size: rating.size
17750
17914
  }) ?? `${rating.value.value} of ${rating.size} stars`,
17915
+ "aria-label": __props.ariaLabelledby ? void 0 : __props.ariaLabel || (locale.ti("Rating.label") ?? "Rating"),
17916
+ "aria-labelledby": __props.ariaLabelledby || void 0,
17751
17917
  "aria-disabled": isDisabled.value,
17752
17918
  "aria-readonly": isReadonly.value ? true : void 0,
17753
17919
  "data-disabled": isDisabled.value ? true : void 0,
@@ -17886,7 +18052,6 @@ const _sfc_main$114 = /* @__PURE__ */ defineComponent({
17886
18052
  * v-for="i in 5"
17887
18053
  * :key="i"
17888
18054
  * :index="i"
17889
- * as="button"
17890
18055
  * v-slot="{ state }"
17891
18056
  * >
17892
18057
  * {{ state === 'full' ? '★' : '☆' }}
@@ -17922,7 +18087,6 @@ const Rating = {
17922
18087
  * v-for="i in 5"
17923
18088
  * :key="i"
17924
18089
  * :index="i"
17925
- * as="button"
17926
18090
  * v-slot="{ state }"
17927
18091
  * >
17928
18092
  * {{ state === 'full' ? '★' : '☆' }}
@@ -17953,7 +18117,6 @@ const Rating = {
17953
18117
  * <template>
17954
18118
  * <Rating.Item
17955
18119
  * :index="1"
17956
- * as="button"
17957
18120
  * class="[&[data-state=full]]:text-amber-500 [&[data-state=empty]]:text-gray-300"
17958
18121
  * v-slot="{ state }"
17959
18122
  * >
@@ -17989,7 +18152,6 @@ const Rating = {
17989
18152
  * v-for="i in 5"
17990
18153
  * :key="i"
17991
18154
  * :index="i"
17992
- * as="button"
17993
18155
  * v-slot="{ state }"
17994
18156
  * >
17995
18157
  * {{ state === 'full' ? '★' : '☆' }}
@@ -18080,7 +18242,7 @@ const _hoisted_1$2 = [
18080
18242
  "name",
18081
18243
  "value"
18082
18244
  ];
18083
- const visuallyHiddenStyle$1 = {
18245
+ const visuallyHiddenStyle$2 = {
18084
18246
  position: "absolute",
18085
18247
  width: "1px",
18086
18248
  height: "1px",
@@ -18091,7 +18253,7 @@ const visuallyHiddenStyle$1 = {
18091
18253
  whiteSpace: "nowrap",
18092
18254
  border: "0"
18093
18255
  };
18094
- const _sfc_main$170 = /* @__PURE__ */ defineComponent({
18256
+ const _sfc_main$171 = /* @__PURE__ */ defineComponent({
18095
18257
  name: "SelectHiddenInput",
18096
18258
  __name: "SelectHiddenInput",
18097
18259
  props: { namespace: { default: "v0:select" } },
@@ -18113,7 +18275,7 @@ const _sfc_main$170 = /* @__PURE__ */ defineComponent({
18113
18275
  form: unref(context).form,
18114
18276
  inert: "",
18115
18277
  name: unref(context).name,
18116
- style: visuallyHiddenStyle$1,
18278
+ style: visuallyHiddenStyle$2,
18117
18279
  tabindex: "-1",
18118
18280
  type: "hidden",
18119
18281
  value: val
@@ -18238,7 +18400,7 @@ const _sfc_main$122 = /* @__PURE__ */ defineComponent({
18238
18400
  }, {
18239
18401
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
18240
18402
  _: 3
18241
- }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$170, { key: 0 })) : createCommentVNode("v-if", true)], 64);
18403
+ }, 8, ["as"]), __props.name ? (openBlock(), createBlock(_sfc_main$171, { key: 0 })) : createCommentVNode("v-if", true)], 64);
18242
18404
  };
18243
18405
  }
18244
18406
  });
@@ -18560,9 +18722,8 @@ const _sfc_main$123 = /* @__PURE__ */ defineComponent({
18560
18722
  * :key="item.id"
18561
18723
  * :id="item.id"
18562
18724
  * :value="item.label"
18563
- * v-slot="{ isSelected, attrs }"
18564
18725
  * >
18565
- * <div v-bind="attrs">{{ item.label }}</div>
18726
+ * {{ item.label }}
18566
18727
  * </Select.Item>
18567
18728
  * </Select.Content>
18568
18729
  * </Select.Root>
@@ -18686,8 +18847,8 @@ const Select = {
18686
18847
  * <\/script>
18687
18848
  *
18688
18849
  * <template>
18689
- * <Select.Item id="apple" value="Apple" v-slot="{ isSelected, attrs }">
18690
- * <div v-bind="attrs">Apple {{ isSelected ? '✓' : '' }}</div>
18850
+ * <Select.Item id="apple" value="Apple" v-slot="{ isSelected }">
18851
+ * Apple {{ isSelected ? '✓' : '' }}
18691
18852
  * </Select.Item>
18692
18853
  * </template>
18693
18854
  * ```
@@ -18786,6 +18947,11 @@ const _sfc_main$124 = /* @__PURE__ */ defineComponent({
18786
18947
  if (toValue(isDisabled)) return;
18787
18948
  ticket.toggle();
18788
18949
  }
18950
+ function onKeydown(e) {
18951
+ if (e.key !== "Enter" && e.key !== " ") return;
18952
+ e.preventDefault();
18953
+ onClick();
18954
+ }
18789
18955
  onBeforeUnmount(() => {
18790
18956
  selection.unregister(ticket.id);
18791
18957
  });
@@ -18799,11 +18965,14 @@ const _sfc_main$124 = /* @__PURE__ */ defineComponent({
18799
18965
  unselect: ticket.unselect,
18800
18966
  toggle: ticket.toggle,
18801
18967
  attrs: {
18968
+ "role": "option",
18969
+ "tabindex": toValue(isDisabled) ? -1 : 0,
18802
18970
  "aria-selected": toValue(ticket.isSelected),
18803
18971
  "aria-disabled": toValue(isDisabled),
18804
18972
  "data-selected": toValue(ticket.isSelected) || void 0,
18805
18973
  "data-disabled": toValue(isDisabled) || void 0,
18806
- "onClick": onClick
18974
+ "onClick": onClick,
18975
+ "onKeydown": onKeydown
18807
18976
  }
18808
18977
  }));
18809
18978
  return (_ctx, _cache) => {
@@ -18935,6 +19104,11 @@ const _sfc_main$126 = /* @__PURE__ */ defineComponent({
18935
19104
  if (toValue(isDisabled)) return;
18936
19105
  ticket.toggle();
18937
19106
  }
19107
+ function onKeydown(e) {
19108
+ if (e.key !== "Enter" && e.key !== " ") return;
19109
+ e.preventDefault();
19110
+ onClick();
19111
+ }
18938
19112
  onBeforeUnmount(() => {
18939
19113
  single.unregister(ticket.id);
18940
19114
  });
@@ -18948,11 +19122,14 @@ const _sfc_main$126 = /* @__PURE__ */ defineComponent({
18948
19122
  unselect: ticket.unselect,
18949
19123
  toggle: ticket.toggle,
18950
19124
  attrs: {
19125
+ "role": "option",
19126
+ "tabindex": toValue(isDisabled) ? -1 : 0,
18951
19127
  "aria-selected": toValue(ticket.isSelected),
18952
19128
  "aria-disabled": toValue(isDisabled),
18953
19129
  "data-selected": toValue(ticket.isSelected) || void 0,
18954
19130
  "data-disabled": toValue(isDisabled) || void 0,
18955
- "onClick": onClick
19131
+ "onClick": onClick,
19132
+ "onKeydown": onKeydown
18956
19133
  }
18957
19134
  }));
18958
19135
  return (_ctx, _cache) => {
@@ -19478,6 +19655,7 @@ const _sfc_main$131 = /* @__PURE__ */ defineComponent({
19478
19655
  setup(__props) {
19479
19656
  const attrs = useAttrs();
19480
19657
  const root = useSliderRoot(__props.namespace);
19658
+ const locale = useLocale();
19481
19659
  const thumbRef = useTemplateRef("thumb");
19482
19660
  const ticket = root.register();
19483
19661
  onBeforeUnmount(() => {
@@ -19543,7 +19721,7 @@ const _sfc_main$131 = /* @__PURE__ */ defineComponent({
19543
19721
  "aria-orientation": toValue(root.orientation),
19544
19722
  "aria-disabled": isDisabled.value,
19545
19723
  "aria-readonly": isReadonly.value ? true : void 0,
19546
- "aria-label": __props.ariaLabel || void 0,
19724
+ "aria-label": __props.ariaLabelledby ? void 0 : __props.ariaLabel || (locale.ti("Slider.label") ?? "Slider"),
19547
19725
  "aria-labelledby": __props.ariaLabelledby || void 0,
19548
19726
  "data-state": dataState.value,
19549
19727
  "data-disabled": isDisabled.value ? true : void 0,
@@ -19783,12 +19961,54 @@ const Slider = {
19783
19961
  HiddenInput: _sfc_main$128
19784
19962
  };
19785
19963
  //#endregion
19964
+ //#region src/components/Snackbar/SnackbarAnnouncer.vue
19965
+ const visuallyHiddenStyle$1 = {
19966
+ position: "absolute",
19967
+ width: "1px",
19968
+ height: "1px",
19969
+ padding: "0",
19970
+ margin: "-1px",
19971
+ overflow: "hidden",
19972
+ clip: "rect(0, 0, 0, 0)",
19973
+ whiteSpace: "nowrap",
19974
+ border: "0"
19975
+ };
19976
+ const _sfc_main$133 = /* @__PURE__ */ defineComponent({
19977
+ name: "SnackbarAnnouncer",
19978
+ __name: "SnackbarAnnouncer",
19979
+ props: { namespace: { default: "v0:notifications" } },
19980
+ setup(__props) {
19981
+ const portal = usePortal(__props.namespace);
19982
+ const polite = toRef(() => portal?.polite.value ?? "");
19983
+ const assertive = toRef(() => portal?.assertive.value ?? "");
19984
+ return (_ctx, _cache) => {
19985
+ return openBlock(), createElementBlock(Fragment, null, [createElementVNode("div", {
19986
+ "aria-atomic": "true",
19987
+ "aria-live": "polite",
19988
+ role: "status",
19989
+ style: visuallyHiddenStyle$1
19990
+ }, toDisplayString(polite.value), 1), createElementVNode("div", {
19991
+ "aria-atomic": "true",
19992
+ "aria-live": "assertive",
19993
+ role: "alert",
19994
+ style: visuallyHiddenStyle$1
19995
+ }, toDisplayString(assertive.value), 1)], 64);
19996
+ };
19997
+ }
19998
+ });
19999
+ //#endregion
19786
20000
  //#region src/components/Snackbar/SnackbarPortal.vue
19787
- const _sfc_main$135 = /* @__PURE__ */ defineComponent({
20001
+ const [usePortal, providePortal] = createContext({ suffix: "portal" });
20002
+ const _sfc_main$136 = /* @__PURE__ */ defineComponent({
19788
20003
  name: "SnackbarPortal",
19789
20004
  inheritAttrs: false,
19790
20005
  __name: "SnackbarPortal",
19791
20006
  props: {
20007
+ announcer: {
20008
+ type: Boolean,
20009
+ default: true
20010
+ },
20011
+ namespace: { default: "v0:notifications" },
19792
20012
  teleport: {
19793
20013
  type: [
19794
20014
  String,
@@ -19801,15 +20021,44 @@ const _sfc_main$135 = /* @__PURE__ */ defineComponent({
19801
20021
  renderless: { type: Boolean }
19802
20022
  },
19803
20023
  setup(__props) {
20024
+ const polite = shallowRef("");
20025
+ const assertive = shallowRef("");
20026
+ let politeNext = "";
20027
+ let assertiveNext = "";
20028
+ const politeFrame = useRaf(() => {
20029
+ polite.value = politeNext;
20030
+ });
20031
+ const assertiveFrame = useRaf(() => {
20032
+ assertive.value = assertiveNext;
20033
+ });
20034
+ function announce(message, urgent = false) {
20035
+ const region = urgent ? assertive : polite;
20036
+ region.value = "";
20037
+ if (urgent) {
20038
+ assertiveNext = message;
20039
+ assertiveFrame();
20040
+ } else {
20041
+ politeNext = message;
20042
+ politeFrame();
20043
+ }
20044
+ }
20045
+ providePortal(__props.namespace, {
20046
+ announce,
20047
+ polite: shallowReadonly(polite),
20048
+ assertive: shallowReadonly(assertive)
20049
+ });
19804
20050
  function getSlotProps(zIndex) {
19805
20051
  return {
19806
20052
  zIndex,
19807
- attrs: { style: {
19808
- position: "relative",
19809
- zIndex
19810
- } }
20053
+ attrs: { style: { zIndex } }
19811
20054
  };
19812
20055
  }
20056
+ const atomRef = useTemplateRef("atom");
20057
+ watch(toRef(() => /* @__PURE__ */ toElement(atomRef.value?.element) ?? null), (value) => {
20058
+ if (!IN_BROWSER || /* @__PURE__ */ isNull(value)) return;
20059
+ const element = value;
20060
+ if (getComputedStyle(element).position === "static") element.style.position = "relative";
20061
+ });
19813
20062
  return (_ctx, _cache) => {
19814
20063
  return openBlock(), createBlock(unref(_sfc_main$100), {
19815
20064
  disabled: __props.teleport === false,
@@ -19817,12 +20066,16 @@ const _sfc_main$135 = /* @__PURE__ */ defineComponent({
19817
20066
  to: __props.teleport || "body"
19818
20067
  }, {
19819
20068
  default: withCtx(({ zIndex }) => [createVNode(unref(_sfc_main$9), mergeProps({
20069
+ ref: "atom",
19820
20070
  as: __props.as,
19821
20071
  renderless: __props.renderless
19822
20072
  }, mergeProps(_ctx.$attrs, getSlotProps(zIndex).attrs)), {
19823
20073
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(getSlotProps(zIndex))))]),
19824
20074
  _: 2
19825
- }, 1040, ["as", "renderless"])]),
20075
+ }, 1040, ["as", "renderless"]), __props.announcer ? (openBlock(), createBlock(_sfc_main$133, {
20076
+ key: 0,
20077
+ namespace: __props.namespace
20078
+ }, null, 8, ["namespace"])) : createCommentVNode("v-if", true)]),
19826
20079
  _: 3
19827
20080
  }, 8, ["disabled", "to"]);
19828
20081
  };
@@ -20564,7 +20817,7 @@ const [createNotificationsContext, createNotificationsPlugin, useNotifications]
20564
20817
  //#endregion
20565
20818
  //#region src/components/Snackbar/SnackbarQueue.vue
20566
20819
  const [useSnackbarQueueContext, provideSnackbarQueueContext] = createContext({ suffix: "queue" });
20567
- const _sfc_main$136 = /* @__PURE__ */ defineComponent({
20820
+ const _sfc_main$137 = /* @__PURE__ */ defineComponent({
20568
20821
  name: "SnackbarQueue",
20569
20822
  __name: "SnackbarQueue",
20570
20823
  props: {
@@ -20635,7 +20888,7 @@ const _sfc_main$136 = /* @__PURE__ */ defineComponent({
20635
20888
  //#endregion
20636
20889
  //#region src/components/Snackbar/SnackbarRoot.vue
20637
20890
  const [useSnackbarRootContext, provideSnackbarRootContext] = createContext({ suffix: "root" });
20638
- const _sfc_main$137 = /* @__PURE__ */ defineComponent({
20891
+ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
20639
20892
  name: "SnackbarRoot",
20640
20893
  __name: "SnackbarRoot",
20641
20894
  props: {
@@ -20648,6 +20901,7 @@ const _sfc_main$137 = /* @__PURE__ */ defineComponent({
20648
20901
  emits: ["dismiss"],
20649
20902
  setup(__props, { emit: __emit }) {
20650
20903
  const emit = __emit;
20904
+ const portal = usePortal(__props.namespace, null);
20651
20905
  const queue = useSnackbarQueueContext(__props.namespace, null);
20652
20906
  function onDismiss() {
20653
20907
  if (queue) queue.dismiss(__props.id);
@@ -20657,12 +20911,21 @@ const _sfc_main$137 = /* @__PURE__ */ defineComponent({
20657
20911
  id: __props.id,
20658
20912
  onDismiss
20659
20913
  });
20914
+ const atomRef = useTemplateRef("atom");
20915
+ const el = toRef(() => /* @__PURE__ */ toElement(atomRef.value?.element) ?? null);
20916
+ onMounted(async () => {
20917
+ if (!portal) return;
20918
+ await nextTick();
20919
+ const text = el.value?.textContent;
20920
+ if (text) portal.announce(text, __props.urgent);
20921
+ });
20660
20922
  const slotProps = toRef(() => ({
20661
20923
  id: __props.id,
20662
20924
  attrs: { role: __props.urgent ? "alert" : "status" }
20663
20925
  }));
20664
20926
  return (_ctx, _cache) => {
20665
20927
  return openBlock(), createBlock(unref(_sfc_main$9), mergeProps({
20928
+ ref: "atom",
20666
20929
  as: __props.as,
20667
20930
  renderless: __props.renderless
20668
20931
  }, slotProps.value.attrs), {
@@ -20674,7 +20937,7 @@ const _sfc_main$137 = /* @__PURE__ */ defineComponent({
20674
20937
  });
20675
20938
  //#endregion
20676
20939
  //#region src/components/Snackbar/SnackbarContent.vue
20677
- const _sfc_main$134 = /* @__PURE__ */ defineComponent({
20940
+ const _sfc_main$135 = /* @__PURE__ */ defineComponent({
20678
20941
  name: "SnackbarContent",
20679
20942
  __name: "SnackbarContent",
20680
20943
  props: {
@@ -20695,7 +20958,7 @@ const _sfc_main$134 = /* @__PURE__ */ defineComponent({
20695
20958
  });
20696
20959
  //#endregion
20697
20960
  //#region src/components/Snackbar/SnackbarClose.vue
20698
- const _sfc_main$133 = /* @__PURE__ */ defineComponent({
20961
+ const _sfc_main$134 = /* @__PURE__ */ defineComponent({
20699
20962
  name: "SnackbarClose",
20700
20963
  __name: "SnackbarClose",
20701
20964
  props: {
@@ -20709,10 +20972,19 @@ const _sfc_main$133 = /* @__PURE__ */ defineComponent({
20709
20972
  function onClick() {
20710
20973
  context.onDismiss();
20711
20974
  }
20975
+ function onKeydown(e) {
20976
+ if (e.key === "Enter" || e.key === " ") {
20977
+ e.preventDefault();
20978
+ onClick();
20979
+ }
20980
+ }
20712
20981
  const slotProps = toRef(() => ({ attrs: {
20713
20982
  "type": __props.as === "button" ? "button" : void 0,
20983
+ "role": __props.as === "button" ? void 0 : "button",
20984
+ "tabindex": 0,
20714
20985
  "aria-label": locale.ti("Snackbar.close") ?? "Dismiss",
20715
- "onClick": onClick
20986
+ "onClick": onClick,
20987
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
20716
20988
  } }));
20717
20989
  return (_ctx, _cache) => {
20718
20990
  return openBlock(), createBlock(unref(_sfc_main$9), mergeProps({
@@ -20776,7 +21048,7 @@ const Snackbar = {
20776
21048
  * </template>
20777
21049
  * ```
20778
21050
  */
20779
- Portal: _sfc_main$135,
21051
+ Portal: _sfc_main$136,
20780
21052
  /**
20781
21053
  * Connects to useNotifications by namespace and exposes queue items
20782
21054
  * via scoped slot. Pauses auto-dismiss on hover and focus (WCAG 2.2.1).
@@ -20800,7 +21072,7 @@ const Snackbar = {
20800
21072
  * </template>
20801
21073
  * ```
20802
21074
  */
20803
- Queue: _sfc_main$136,
21075
+ Queue: _sfc_main$137,
20804
21076
  /**
20805
21077
  * A single snackbar instance. Provides dismiss context to child
20806
21078
  * Snackbar.Close components. Defaults to `role="status"` (polite
@@ -20822,7 +21094,7 @@ const Snackbar = {
20822
21094
  * </template>
20823
21095
  * ```
20824
21096
  */
20825
- Root: _sfc_main$137,
21097
+ Root: _sfc_main$138,
20826
21098
  /**
20827
21099
  * Semantic wrapper for the notification message text.
20828
21100
  * Renders as a `<div>` by default. Polymorphic via the `as` prop.
@@ -20840,7 +21112,7 @@ const Snackbar = {
20840
21112
  * </template>
20841
21113
  * ```
20842
21114
  */
20843
- Content: _sfc_main$134,
21115
+ Content: _sfc_main$135,
20844
21116
  /**
20845
21117
  * Dismiss button that auto-wires to the nearest Snackbar.Root context.
20846
21118
  * Renders with `aria-label="Close"` and `type="button"`. In renderless
@@ -20859,12 +21131,38 @@ const Snackbar = {
20859
21131
  * </template>
20860
21132
  * ```
20861
21133
  */
20862
- Close: _sfc_main$133
21134
+ Close: _sfc_main$134,
21135
+ /**
21136
+ * Visually-hidden polite + assertive live-region pair that announces
21137
+ * snackbar messages. Auto-rendered by Snackbar.Portal — place explicitly
21138
+ * with `:announcer="false"` on the Portal to control position or markup
21139
+ * order.
21140
+ *
21141
+ * @see https://0.vuetifyjs.com/components/semantic/snackbar
21142
+ *
21143
+ * @example
21144
+ * ```vue
21145
+ * <script setup lang="ts">
21146
+ * import { Snackbar } from '@vuetify/v0'
21147
+ * <\/script>
21148
+ *
21149
+ * <template>
21150
+ * <Snackbar.Portal :announcer="false">
21151
+ * <Snackbar.Announcer />
21152
+ * <Snackbar.Root>
21153
+ * <Snackbar.Content>Saved</Snackbar.Content>
21154
+ * <Snackbar.Close />
21155
+ * </Snackbar.Root>
21156
+ * </Snackbar.Portal>
21157
+ * </template>
21158
+ * ```
21159
+ */
21160
+ Announcer: _sfc_main$133
20863
21161
  };
20864
21162
  //#endregion
20865
21163
  //#region src/components/Splitter/SplitterRoot.vue
20866
21164
  const [useSplitterRoot, provideSplitterRoot] = createContext("v0:splitter");
20867
- const _sfc_main$140 = /* @__PURE__ */ defineComponent({
21165
+ const _sfc_main$141 = /* @__PURE__ */ defineComponent({
20868
21166
  name: "SplitterRoot",
20869
21167
  inheritAttrs: false,
20870
21168
  __name: "SplitterRoot",
@@ -21088,7 +21386,7 @@ const _sfc_main$140 = /* @__PURE__ */ defineComponent({
21088
21386
  });
21089
21387
  //#endregion
21090
21388
  //#region src/components/Splitter/SplitterPanel.vue
21091
- const _sfc_main$139 = /* @__PURE__ */ defineComponent({
21389
+ const _sfc_main$140 = /* @__PURE__ */ defineComponent({
21092
21390
  name: "SplitterPanel",
21093
21391
  inheritAttrs: false,
21094
21392
  __name: "SplitterPanel",
@@ -21222,7 +21520,7 @@ const _sfc_main$139 = /* @__PURE__ */ defineComponent({
21222
21520
  });
21223
21521
  //#endregion
21224
21522
  //#region src/components/Splitter/SplitterHandle.vue
21225
- const _sfc_main$138 = /* @__PURE__ */ defineComponent({
21523
+ const _sfc_main$139 = /* @__PURE__ */ defineComponent({
21226
21524
  name: "SplitterHandle",
21227
21525
  inheritAttrs: false,
21228
21526
  __name: "SplitterHandle",
@@ -21475,7 +21773,7 @@ const Splitter = {
21475
21773
  * </template>
21476
21774
  * ```
21477
21775
  */
21478
- Root: _sfc_main$140,
21776
+ Root: _sfc_main$141,
21479
21777
  /**
21480
21778
  * Resizable panel within a splitter layout, sized via flex-basis percentage.
21481
21779
  *
@@ -21488,7 +21786,7 @@ const Splitter = {
21488
21786
  * </Splitter.Panel>
21489
21787
  * ```
21490
21788
  */
21491
- Panel: _sfc_main$139,
21789
+ Panel: _sfc_main$140,
21492
21790
  /**
21493
21791
  * Draggable resize handle between two adjacent panels.
21494
21792
  *
@@ -21499,12 +21797,12 @@ const Splitter = {
21499
21797
  * <Splitter.Handle label="Resize panels" />
21500
21798
  * ```
21501
21799
  */
21502
- Handle: _sfc_main$138
21800
+ Handle: _sfc_main$139
21503
21801
  };
21504
21802
  //#endregion
21505
21803
  //#region src/components/Step/StepRoot.vue
21506
21804
  const [useStepRoot, provideStepRoot] = createContext();
21507
- const _sfc_main$142 = /* @__PURE__ */ defineComponent({
21805
+ const _sfc_main$143 = /* @__PURE__ */ defineComponent({
21508
21806
  name: "StepRoot",
21509
21807
  __name: "StepRoot",
21510
21808
  props: /* @__PURE__ */ mergeModels({
@@ -21555,7 +21853,7 @@ const _sfc_main$142 = /* @__PURE__ */ defineComponent({
21555
21853
  });
21556
21854
  //#endregion
21557
21855
  //#region src/components/Step/StepItem.vue
21558
- const _sfc_main$141 = /* @__PURE__ */ defineComponent({
21856
+ const _sfc_main$142 = /* @__PURE__ */ defineComponent({
21559
21857
  name: "StepItem",
21560
21858
  __name: "StepItem",
21561
21859
  props: {
@@ -21577,6 +21875,11 @@ const _sfc_main$141 = /* @__PURE__ */ defineComponent({
21577
21875
  if (toValue(isDisabled)) return;
21578
21876
  ticket.toggle();
21579
21877
  }
21878
+ function onKeydown(e) {
21879
+ if (e.key !== "Enter" && e.key !== " ") return;
21880
+ e.preventDefault();
21881
+ onClick();
21882
+ }
21580
21883
  onBeforeUnmount(() => {
21581
21884
  step.unregister(ticket.id);
21582
21885
  });
@@ -21590,11 +21893,14 @@ const _sfc_main$141 = /* @__PURE__ */ defineComponent({
21590
21893
  unselect: ticket.unselect,
21591
21894
  toggle: ticket.toggle,
21592
21895
  attrs: {
21896
+ "role": "tab",
21897
+ "tabindex": toValue(isDisabled) ? -1 : 0,
21593
21898
  "aria-selected": toValue(ticket.isSelected),
21594
21899
  "aria-disabled": toValue(isDisabled),
21595
21900
  "data-selected": toValue(ticket.isSelected) || void 0,
21596
21901
  "data-disabled": toValue(isDisabled) || void 0,
21597
- "onClick": onClick
21902
+ "onClick": onClick,
21903
+ "onKeydown": onKeydown
21598
21904
  }
21599
21905
  }));
21600
21906
  return (_ctx, _cache) => {
@@ -21632,7 +21938,7 @@ const Step = {
21632
21938
  * </template>
21633
21939
  * ```
21634
21940
  */
21635
- Root: _sfc_main$142,
21941
+ Root: _sfc_main$143,
21636
21942
  /**
21637
21943
  * Component representing a single step item.
21638
21944
  *
@@ -21651,12 +21957,12 @@ const Step = {
21651
21957
  * </template>
21652
21958
  * ```
21653
21959
  */
21654
- Item: _sfc_main$141
21960
+ Item: _sfc_main$142
21655
21961
  };
21656
21962
  //#endregion
21657
21963
  //#region src/components/Switch/SwitchGroup.vue
21658
21964
  const [useSwitchGroup, provideSwitchGroup] = createContext();
21659
- const _sfc_main$143 = /* @__PURE__ */ defineComponent({
21965
+ const _sfc_main$144 = /* @__PURE__ */ defineComponent({
21660
21966
  name: "SwitchGroup",
21661
21967
  __name: "SwitchGroup",
21662
21968
  props: /* @__PURE__ */ mergeModels({
@@ -21725,7 +22031,7 @@ const _sfc_main$143 = /* @__PURE__ */ defineComponent({
21725
22031
  //#endregion
21726
22032
  //#region src/components/Switch/SwitchRoot.vue
21727
22033
  const [useSwitchRoot, provideSwitchRoot] = createContext();
21728
- const _sfc_main$145 = /* @__PURE__ */ defineComponent({
22034
+ const _sfc_main$146 = /* @__PURE__ */ defineComponent({
21729
22035
  name: "SwitchRoot",
21730
22036
  inheritAttrs: false,
21731
22037
  __name: "SwitchRoot",
@@ -21852,7 +22158,7 @@ const _sfc_main$145 = /* @__PURE__ */ defineComponent({
21852
22158
  }), {
21853
22159
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
21854
22160
  _: 3
21855
- }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$144, { key: 0 })) : createCommentVNode("v-if", true)], 64);
22161
+ }, 16, ["as", "renderless"]), __props.name ? (openBlock(), createBlock(_sfc_main$145, { key: 0 })) : createCommentVNode("v-if", true)], 64);
21856
22162
  };
21857
22163
  }
21858
22164
  });
@@ -21876,7 +22182,7 @@ const visuallyHiddenStyle = {
21876
22182
  whiteSpace: "nowrap",
21877
22183
  border: "0"
21878
22184
  };
21879
- const _sfc_main$144 = /* @__PURE__ */ defineComponent({
22185
+ const _sfc_main$145 = /* @__PURE__ */ defineComponent({
21880
22186
  name: "SwitchHiddenInput",
21881
22187
  __name: "SwitchHiddenInput",
21882
22188
  props: {
@@ -21914,7 +22220,7 @@ const _sfc_main$144 = /* @__PURE__ */ defineComponent({
21914
22220
  });
21915
22221
  //#endregion
21916
22222
  //#region src/components/Switch/SwitchSelectAll.vue
21917
- const _sfc_main$146 = /* @__PURE__ */ defineComponent({
22223
+ const _sfc_main$147 = /* @__PURE__ */ defineComponent({
21918
22224
  name: "SwitchSelectAll",
21919
22225
  inheritAttrs: false,
21920
22226
  __name: "SwitchSelectAll",
@@ -21998,7 +22304,7 @@ const _sfc_main$146 = /* @__PURE__ */ defineComponent({
21998
22304
  });
21999
22305
  //#endregion
22000
22306
  //#region src/components/Switch/SwitchThumb.vue
22001
- const _sfc_main$147 = /* @__PURE__ */ defineComponent({
22307
+ const _sfc_main$148 = /* @__PURE__ */ defineComponent({
22002
22308
  name: "SwitchThumb",
22003
22309
  __name: "SwitchThumb",
22004
22310
  props: {
@@ -22032,7 +22338,7 @@ const _sfc_main$147 = /* @__PURE__ */ defineComponent({
22032
22338
  });
22033
22339
  //#endregion
22034
22340
  //#region src/components/Switch/SwitchTrack.vue
22035
- const _sfc_main$148 = /* @__PURE__ */ defineComponent({
22341
+ const _sfc_main$149 = /* @__PURE__ */ defineComponent({
22036
22342
  name: "SwitchTrack",
22037
22343
  __name: "SwitchTrack",
22038
22344
  props: {
@@ -22126,7 +22432,7 @@ const Switch = {
22126
22432
  * </template>
22127
22433
  * ```
22128
22434
  */
22129
- Group: _sfc_main$143,
22435
+ Group: _sfc_main$144,
22130
22436
  /**
22131
22437
  * Hidden input component for form submission.
22132
22438
  *
@@ -22149,7 +22455,7 @@ const Switch = {
22149
22455
  * </template>
22150
22456
  * ```
22151
22457
  */
22152
- HiddenInput: _sfc_main$144,
22458
+ HiddenInput: _sfc_main$145,
22153
22459
  /**
22154
22460
  * Root component for individual switches.
22155
22461
  *
@@ -22181,7 +22487,7 @@ const Switch = {
22181
22487
  * </template>
22182
22488
  * ```
22183
22489
  */
22184
- Root: _sfc_main$145,
22490
+ Root: _sfc_main$146,
22185
22491
  /**
22186
22492
  * Select-all toggle for group multi-selection.
22187
22493
  *
@@ -22219,7 +22525,7 @@ const Switch = {
22219
22525
  * </template>
22220
22526
  * ```
22221
22527
  */
22222
- SelectAll: _sfc_main$146,
22528
+ SelectAll: _sfc_main$147,
22223
22529
  /**
22224
22530
  * Sliding knob for switches.
22225
22531
  *
@@ -22238,7 +22544,7 @@ const Switch = {
22238
22544
  * </Switch.Root>
22239
22545
  * ```
22240
22546
  */
22241
- Thumb: _sfc_main$147,
22547
+ Thumb: _sfc_main$148,
22242
22548
  /**
22243
22549
  * Track/rail component for switches.
22244
22550
  *
@@ -22256,12 +22562,12 @@ const Switch = {
22256
22562
  * </Switch.Root>
22257
22563
  * ```
22258
22564
  */
22259
- Track: _sfc_main$148
22565
+ Track: _sfc_main$149
22260
22566
  };
22261
22567
  //#endregion
22262
22568
  //#region src/components/Tabs/TabsRoot.vue
22263
22569
  const [useTabsRoot, provideTabsRoot] = createContext();
22264
- const _sfc_main$152 = /* @__PURE__ */ defineComponent({
22570
+ const _sfc_main$153 = /* @__PURE__ */ defineComponent({
22265
22571
  name: "TabsRoot",
22266
22572
  __name: "TabsRoot",
22267
22573
  props: /* @__PURE__ */ mergeModels({
@@ -22329,7 +22635,7 @@ const _sfc_main$152 = /* @__PURE__ */ defineComponent({
22329
22635
  });
22330
22636
  //#endregion
22331
22637
  //#region src/components/Tabs/TabsList.vue
22332
- const _sfc_main$150 = /* @__PURE__ */ defineComponent({
22638
+ const _sfc_main$151 = /* @__PURE__ */ defineComponent({
22333
22639
  name: "TabsList",
22334
22640
  inheritAttrs: false,
22335
22641
  __name: "TabsList",
@@ -22367,7 +22673,7 @@ const _sfc_main$150 = /* @__PURE__ */ defineComponent({
22367
22673
  });
22368
22674
  //#endregion
22369
22675
  //#region src/components/Tabs/TabsItem.vue
22370
- const _sfc_main$149 = /* @__PURE__ */ defineComponent({
22676
+ const _sfc_main$150 = /* @__PURE__ */ defineComponent({
22371
22677
  name: "TabsItem",
22372
22678
  inheritAttrs: false,
22373
22679
  __name: "TabsItem",
@@ -22515,7 +22821,7 @@ const _sfc_main$149 = /* @__PURE__ */ defineComponent({
22515
22821
  });
22516
22822
  //#endregion
22517
22823
  //#region src/components/Tabs/TabsPanel.vue
22518
- const _sfc_main$151 = /* @__PURE__ */ defineComponent({
22824
+ const _sfc_main$152 = /* @__PURE__ */ defineComponent({
22519
22825
  name: "TabsPanel",
22520
22826
  inheritAttrs: false,
22521
22827
  __name: "TabsPanel",
@@ -22598,25 +22904,25 @@ const Tabs = {
22598
22904
  *
22599
22905
  * @see https://0.vuetifyjs.com/components/disclosure/tabs
22600
22906
  */
22601
- Root: _sfc_main$152,
22907
+ Root: _sfc_main$153,
22602
22908
  /**
22603
22909
  * Container for tab triggers with tablist role.
22604
22910
  *
22605
22911
  * @see https://0.vuetifyjs.com/components/disclosure/tabs
22606
22912
  */
22607
- List: _sfc_main$150,
22913
+ List: _sfc_main$151,
22608
22914
  /**
22609
22915
  * Individual tab trigger.
22610
22916
  *
22611
22917
  * @see https://0.vuetifyjs.com/components/disclosure/tabs
22612
22918
  */
22613
- Item: _sfc_main$149,
22919
+ Item: _sfc_main$150,
22614
22920
  /**
22615
22921
  * Content panel associated with a tab.
22616
22922
  *
22617
22923
  * @see https://0.vuetifyjs.com/components/disclosure/tabs
22618
22924
  */
22619
- Panel: _sfc_main$151
22925
+ Panel: _sfc_main$152
22620
22926
  };
22621
22927
  //#endregion
22622
22928
  //#region src/composables/useTheme/adapters/adapter.ts
@@ -22994,7 +23300,7 @@ const [createThemeContext, createThemePlugin, useTheme] = createPluginContext("v
22994
23300
  });
22995
23301
  //#endregion
22996
23302
  //#region src/components/Theme/Theme.vue
22997
- const _sfc_main$153 = /* @__PURE__ */ defineComponent({
23303
+ const _sfc_main$154 = /* @__PURE__ */ defineComponent({
22998
23304
  name: "Theme",
22999
23305
  inheritAttrs: false,
23000
23306
  __name: "Theme",
@@ -23054,7 +23360,7 @@ const _sfc_main$153 = /* @__PURE__ */ defineComponent({
23054
23360
  //#endregion
23055
23361
  //#region src/components/Toggle/ToggleGroup.vue
23056
23362
  const [useToggleGroup, provideToggleGroup] = createContext();
23057
- const _sfc_main$154 = /* @__PURE__ */ defineComponent({
23363
+ const _sfc_main$155 = /* @__PURE__ */ defineComponent({
23058
23364
  name: "ToggleGroup",
23059
23365
  __name: "ToggleGroup",
23060
23366
  props: /* @__PURE__ */ mergeModels({
@@ -23126,7 +23432,7 @@ const _sfc_main$154 = /* @__PURE__ */ defineComponent({
23126
23432
  //#endregion
23127
23433
  //#region src/components/Toggle/ToggleRoot.vue
23128
23434
  const [useToggleRoot, provideToggleRoot] = createContext();
23129
- const _sfc_main$156 = /* @__PURE__ */ defineComponent({
23435
+ const _sfc_main$157 = /* @__PURE__ */ defineComponent({
23130
23436
  name: "ToggleRoot",
23131
23437
  inheritAttrs: false,
23132
23438
  __name: "ToggleRoot",
@@ -23198,11 +23504,11 @@ const _sfc_main$156 = /* @__PURE__ */ defineComponent({
23198
23504
  "role": __props.as === "button" ? void 0 : "button",
23199
23505
  "aria-pressed": isPressed.value,
23200
23506
  "aria-disabled": isDisabled.value,
23201
- "tabindex": isDisabled.value ? void 0 : 0,
23507
+ "tabindex": isDisabled.value ? -1 : 0,
23202
23508
  "data-state": isPressed.value ? "on" : "off",
23203
23509
  "data-disabled": isDisabled.value ? true : void 0,
23204
23510
  "onClick": onClick,
23205
- "onKeydown": onKeydown
23511
+ "onKeydown": __props.as === "button" ? void 0 : onKeydown
23206
23512
  }
23207
23513
  }));
23208
23514
  return (_ctx, _cache) => {
@@ -23218,7 +23524,7 @@ const _sfc_main$156 = /* @__PURE__ */ defineComponent({
23218
23524
  });
23219
23525
  //#endregion
23220
23526
  //#region src/components/Toggle/ToggleIndicator.vue
23221
- const _sfc_main$155 = /* @__PURE__ */ defineComponent({
23527
+ const _sfc_main$156 = /* @__PURE__ */ defineComponent({
23222
23528
  name: "ToggleIndicator",
23223
23529
  __name: "ToggleIndicator",
23224
23530
  props: {
@@ -23292,7 +23598,7 @@ const Toggle = {
23292
23598
  * </template>
23293
23599
  * ```
23294
23600
  */
23295
- Group: _sfc_main$154,
23601
+ Group: _sfc_main$155,
23296
23602
  /**
23297
23603
  * Visual indicator for the pressed state.
23298
23604
  *
@@ -23314,7 +23620,7 @@ const Toggle = {
23314
23620
  * </template>
23315
23621
  * ```
23316
23622
  */
23317
- Indicator: _sfc_main$155,
23623
+ Indicator: _sfc_main$156,
23318
23624
  /**
23319
23625
  * Pressable toggle button with on/off state.
23320
23626
  *
@@ -23337,7 +23643,7 @@ const Toggle = {
23337
23643
  * </template>
23338
23644
  * ```
23339
23645
  */
23340
- Root: _sfc_main$156
23646
+ Root: _sfc_main$157
23341
23647
  };
23342
23648
  //#endregion
23343
23649
  //#region src/composables/useTooltip/index.ts
@@ -23414,7 +23720,7 @@ const [createTooltipContext, createTooltipPlugin, useTooltip] = createPluginCont
23414
23720
  //#endregion
23415
23721
  //#region src/components/Tooltip/TooltipRoot.vue
23416
23722
  const [useTooltipRoot, provideTooltipRoot] = createContext({ suffix: "root" });
23417
- const _sfc_main$159 = /* @__PURE__ */ defineComponent({
23723
+ const _sfc_main$160 = /* @__PURE__ */ defineComponent({
23418
23724
  name: "TooltipRoot",
23419
23725
  __name: "TooltipRoot",
23420
23726
  props: /* @__PURE__ */ mergeModels({
@@ -23518,7 +23824,7 @@ const _sfc_main$159 = /* @__PURE__ */ defineComponent({
23518
23824
  });
23519
23825
  //#endregion
23520
23826
  //#region src/components/Tooltip/TooltipActivator.vue
23521
- const _sfc_main$157 = /* @__PURE__ */ defineComponent({
23827
+ const _sfc_main$158 = /* @__PURE__ */ defineComponent({
23522
23828
  name: "TooltipActivator",
23523
23829
  inheritAttrs: false,
23524
23830
  __name: "TooltipActivator",
@@ -23590,7 +23896,7 @@ const _sfc_main$157 = /* @__PURE__ */ defineComponent({
23590
23896
  });
23591
23897
  //#endregion
23592
23898
  //#region src/components/Tooltip/TooltipContent.vue
23593
- const _sfc_main$158 = /* @__PURE__ */ defineComponent({
23899
+ const _sfc_main$159 = /* @__PURE__ */ defineComponent({
23594
23900
  name: "TooltipContent",
23595
23901
  inheritAttrs: false,
23596
23902
  __name: "TooltipContent",
@@ -23685,7 +23991,7 @@ const Tooltip = {
23685
23991
  * </template>
23686
23992
  * ```
23687
23993
  */
23688
- Root: _sfc_main$159,
23994
+ Root: _sfc_main$160,
23689
23995
  /**
23690
23996
  * Trigger element that opens the tooltip on hover/focus.
23691
23997
  *
@@ -23700,7 +24006,7 @@ const Tooltip = {
23700
24006
  * </template>
23701
24007
  * ```
23702
24008
  */
23703
- Activator: _sfc_main$157,
24009
+ Activator: _sfc_main$158,
23704
24010
  /**
23705
24011
  * Floating content shown while the tooltip is open.
23706
24012
  *
@@ -23715,7 +24021,7 @@ const Tooltip = {
23715
24021
  * </template>
23716
24022
  * ```
23717
24023
  */
23718
- Content: _sfc_main$158
24024
+ Content: _sfc_main$159
23719
24025
  };
23720
24026
  //#endregion
23721
24027
  //#region src/composables/createNested/index.ts
@@ -24410,7 +24716,7 @@ function useNested(namespace = "v0:nested") {
24410
24716
  //#endregion
24411
24717
  //#region src/components/Treeview/TreeviewRoot.vue
24412
24718
  const [useTreeviewRoot, provideTreeviewRoot] = createContext();
24413
- const _sfc_main$168 = /* @__PURE__ */ defineComponent({
24719
+ const _sfc_main$169 = /* @__PURE__ */ defineComponent({
24414
24720
  name: "TreeviewRoot",
24415
24721
  __name: "TreeviewRoot",
24416
24722
  props: /* @__PURE__ */ mergeModels({
@@ -24555,7 +24861,7 @@ function useRovingFocus(items, options = {}) {
24555
24861
  //#region src/components/Treeview/TreeviewList.vue
24556
24862
  const FOCUSABLE = "a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]";
24557
24863
  const [useTreeviewList, provideTreeviewList] = createContext({ suffix: "list" });
24558
- const _sfc_main$167 = /* @__PURE__ */ defineComponent({
24864
+ const _sfc_main$168 = /* @__PURE__ */ defineComponent({
24559
24865
  name: "TreeviewList",
24560
24866
  __name: "TreeviewList",
24561
24867
  props: {
@@ -24713,7 +25019,7 @@ const _sfc_main$167 = /* @__PURE__ */ defineComponent({
24713
25019
  //#endregion
24714
25020
  //#region src/components/Treeview/TreeviewItem.vue
24715
25021
  const [useTreeviewItem, provideTreeviewItem] = createContext({ suffix: "item" });
24716
- const _sfc_main$166 = /* @__PURE__ */ defineComponent({
25022
+ const _sfc_main$167 = /* @__PURE__ */ defineComponent({
24717
25023
  name: "TreeviewItem",
24718
25024
  __name: "TreeviewItem",
24719
25025
  props: {
@@ -24793,7 +25099,7 @@ const _sfc_main$166 = /* @__PURE__ */ defineComponent({
24793
25099
  });
24794
25100
  //#endregion
24795
25101
  //#region src/components/Treeview/TreeviewActivator.vue
24796
- const _sfc_main$160 = /* @__PURE__ */ defineComponent({
25102
+ const _sfc_main$161 = /* @__PURE__ */ defineComponent({
24797
25103
  name: "TreeviewActivator",
24798
25104
  __name: "TreeviewActivator",
24799
25105
  props: {
@@ -24832,7 +25138,7 @@ const _sfc_main$160 = /* @__PURE__ */ defineComponent({
24832
25138
  });
24833
25139
  //#endregion
24834
25140
  //#region src/components/Treeview/TreeviewCheckbox.vue
24835
- const _sfc_main$161 = /* @__PURE__ */ defineComponent({
25141
+ const _sfc_main$162 = /* @__PURE__ */ defineComponent({
24836
25142
  name: "TreeviewCheckbox",
24837
25143
  __name: "TreeviewCheckbox",
24838
25144
  props: {
@@ -24873,7 +25179,7 @@ const _sfc_main$161 = /* @__PURE__ */ defineComponent({
24873
25179
  });
24874
25180
  //#endregion
24875
25181
  //#region src/components/Treeview/TreeviewContent.vue
24876
- const _sfc_main$162 = /* @__PURE__ */ defineComponent({
25182
+ const _sfc_main$163 = /* @__PURE__ */ defineComponent({
24877
25183
  name: "TreeviewContent",
24878
25184
  __name: "TreeviewContent",
24879
25185
  props: { namespace: { default: "v0:treeview" } },
@@ -24899,7 +25205,7 @@ const _sfc_main$162 = /* @__PURE__ */ defineComponent({
24899
25205
  });
24900
25206
  //#endregion
24901
25207
  //#region src/components/Treeview/TreeviewCue.vue
24902
- const _sfc_main$163 = /* @__PURE__ */ defineComponent({
25208
+ const _sfc_main$164 = /* @__PURE__ */ defineComponent({
24903
25209
  name: "TreeviewCue",
24904
25210
  __name: "TreeviewCue",
24905
25211
  props: {
@@ -24933,7 +25239,7 @@ const _sfc_main$163 = /* @__PURE__ */ defineComponent({
24933
25239
  });
24934
25240
  //#endregion
24935
25241
  //#region src/components/Treeview/TreeviewGroup.vue
24936
- const _sfc_main$164 = /* @__PURE__ */ defineComponent({
25242
+ const _sfc_main$165 = /* @__PURE__ */ defineComponent({
24937
25243
  name: "TreeviewGroup",
24938
25244
  __name: "TreeviewGroup",
24939
25245
  props: {
@@ -24955,7 +25261,7 @@ const _sfc_main$164 = /* @__PURE__ */ defineComponent({
24955
25261
  });
24956
25262
  //#endregion
24957
25263
  //#region src/components/Treeview/TreeviewIndicator.vue
24958
- const _sfc_main$165 = /* @__PURE__ */ defineComponent({
25264
+ const _sfc_main$166 = /* @__PURE__ */ defineComponent({
24959
25265
  name: "TreeviewIndicator",
24960
25266
  __name: "TreeviewIndicator",
24961
25267
  props: {
@@ -24991,7 +25297,7 @@ const _sfc_main$165 = /* @__PURE__ */ defineComponent({
24991
25297
  });
24992
25298
  //#endregion
24993
25299
  //#region src/components/Treeview/TreeviewSelectAll.vue
24994
- const _sfc_main$169 = /* @__PURE__ */ defineComponent({
25300
+ const _sfc_main$170 = /* @__PURE__ */ defineComponent({
24995
25301
  name: "TreeviewSelectAll",
24996
25302
  __name: "TreeviewSelectAll",
24997
25303
  props: {
@@ -25143,7 +25449,7 @@ const Treeview = {
25143
25449
  * </template>
25144
25450
  * ```
25145
25451
  */
25146
- Root: _sfc_main$168,
25452
+ Root: _sfc_main$169,
25147
25453
  /**
25148
25454
  * Top-level list container with `role="tree"` and `aria-multiselectable`.
25149
25455
  *
@@ -25156,7 +25462,7 @@ const Treeview = {
25156
25462
  * </Treeview.List>
25157
25463
  * ```
25158
25464
  */
25159
- List: _sfc_main$167,
25465
+ List: _sfc_main$168,
25160
25466
  /**
25161
25467
  * Tree node with `role="treeitem"`. Registers with the nearest Root context
25162
25468
  * and auto-nests under the closest ancestor Item.
@@ -25177,7 +25483,7 @@ const Treeview = {
25177
25483
  * </Treeview.Item>
25178
25484
  * ```
25179
25485
  */
25180
- Item: _sfc_main$166,
25486
+ Item: _sfc_main$167,
25181
25487
  /**
25182
25488
  * Click-to-toggle trigger for expand/collapse. Renders a button by default.
25183
25489
  *
@@ -25190,7 +25496,7 @@ const Treeview = {
25190
25496
  * </Treeview.Activator>
25191
25497
  * ```
25192
25498
  */
25193
- Activator: _sfc_main$160,
25499
+ Activator: _sfc_main$161,
25194
25500
  /**
25195
25501
  * Collapse gate for child nodes. Conditionally renders when the parent Item is open.
25196
25502
  *
@@ -25205,7 +25511,7 @@ const Treeview = {
25205
25511
  * </Treeview.Content>
25206
25512
  * ```
25207
25513
  */
25208
- Content: _sfc_main$162,
25514
+ Content: _sfc_main$163,
25209
25515
  /**
25210
25516
  * Visual cue for expand/collapse state. Hides itself on leaf nodes.
25211
25517
  * Exposes `data-state="open|closed"` for CSS-driven styling.
@@ -25214,12 +25520,12 @@ const Treeview = {
25214
25520
  *
25215
25521
  * @example
25216
25522
  * ```vue
25217
- * <Treeview.Cue v-slot="{ attrs }">
25523
+ * <Treeview.Cue v-slot="{ attrs }" renderless>
25218
25524
  * <span v-bind="attrs">▶</span>
25219
25525
  * </Treeview.Cue>
25220
25526
  * ```
25221
25527
  */
25222
- Cue: _sfc_main$163,
25528
+ Cue: _sfc_main$164,
25223
25529
  /**
25224
25530
  * Wrapper with `role="group"` for nested child items inside Content.
25225
25531
  *
@@ -25235,7 +25541,7 @@ const Treeview = {
25235
25541
  * </Treeview.Content>
25236
25542
  * ```
25237
25543
  */
25238
- Group: _sfc_main$164,
25544
+ Group: _sfc_main$165,
25239
25545
  /**
25240
25546
  * Tri-state checkbox for selection. Toggles selection on click
25241
25547
  * and shows mixed state for partially-selected parents.
@@ -25244,12 +25550,12 @@ const Treeview = {
25244
25550
  *
25245
25551
  * @example
25246
25552
  * ```vue
25247
- * <Treeview.Checkbox v-slot="{ attrs, isSelected, isMixed }">
25553
+ * <Treeview.Checkbox v-slot="{ attrs, isSelected, isMixed }" renderless>
25248
25554
  * <span v-bind="attrs">{{ isMixed ? '−' : isSelected ? '✓' : '○' }}</span>
25249
25555
  * </Treeview.Checkbox>
25250
25556
  * ```
25251
25557
  */
25252
- Checkbox: _sfc_main$161,
25558
+ Checkbox: _sfc_main$162,
25253
25559
  /**
25254
25560
  * Visual indicator for selection state. Shows checked, unchecked,
25255
25561
  * or indeterminate via `data-state`.
@@ -25258,12 +25564,12 @@ const Treeview = {
25258
25564
  *
25259
25565
  * @example
25260
25566
  * ```vue
25261
- * <Treeview.Indicator v-slot="{ attrs }">
25567
+ * <Treeview.Indicator v-slot="{ attrs }" renderless>
25262
25568
  * <span v-bind="attrs">●</span>
25263
25569
  * </Treeview.Indicator>
25264
25570
  * ```
25265
25571
  */
25266
- Indicator: _sfc_main$165,
25572
+ Indicator: _sfc_main$166,
25267
25573
  /**
25268
25574
  * Select all checkbox for tree-wide multi-selection.
25269
25575
  *
@@ -25275,14 +25581,14 @@ const Treeview = {
25275
25581
  *
25276
25582
  * @example
25277
25583
  * ```vue
25278
- * <Treeview.SelectAll v-slot="{ attrs, isAllSelected, isMixed }">
25584
+ * <Treeview.SelectAll v-slot="{ attrs, isAllSelected, isMixed }" renderless>
25279
25585
  * <button v-bind="attrs">
25280
25586
  * {{ isMixed ? '−' : isAllSelected ? '✓' : '○' }} Select All
25281
25587
  * </button>
25282
25588
  * </Treeview.SelectAll>
25283
25589
  * ```
25284
25590
  */
25285
- SelectAll: _sfc_main$169
25591
+ SelectAll: _sfc_main$170
25286
25592
  };
25287
25593
  //#endregion
25288
25594
  //#region src/composables/createDataTable/adapters/adapter.ts
@@ -28190,45 +28496,45 @@ function createBreakpoints(_options = {}) {
28190
28496
  const mb = /* @__PURE__ */ isNumber(mobileBreakpoint) ? mobileBreakpoint : breakpoints[mobileBreakpoint] ?? breakpoints.md;
28191
28497
  const initialWidth = ssr ? ssr.clientWidth : IN_BROWSER ? window.innerWidth : 0;
28192
28498
  const initialHeight = ssr ? ssr.clientHeight ?? 0 : IN_BROWSER ? window.innerHeight : 0;
28193
- let initialName = "xs";
28194
- for (let i = sorted.length - 1; i >= 0; i--) if (initialWidth >= sorted[i][1]) {
28195
- initialName = sorted[i][0];
28196
- break;
28197
- }
28198
- const initialIndex = names.indexOf(initialName);
28199
- const name = shallowRef(initialName);
28499
+ const name = shallowRef("xs");
28200
28500
  const width = shallowRef(initialWidth);
28201
28501
  const height = shallowRef(initialHeight);
28202
- const isMobile = shallowRef(initialWidth < mb);
28203
- const xs = shallowRef(initialIndex === 0);
28204
- const sm = shallowRef(initialIndex === 1);
28205
- const md = shallowRef(initialIndex === 2);
28206
- const lg = shallowRef(initialIndex === 3);
28207
- const xl = shallowRef(initialIndex === 4);
28208
- const xxl = shallowRef(initialIndex === 5);
28209
- const smAndUp = shallowRef(initialIndex >= 1);
28210
- const mdAndUp = shallowRef(initialIndex >= 2);
28211
- const lgAndUp = shallowRef(initialIndex >= 3);
28212
- const xlAndUp = shallowRef(initialIndex >= 4);
28213
- const smAndDown = shallowRef(initialIndex <= 1);
28214
- const mdAndDown = shallowRef(initialIndex <= 2);
28215
- const lgAndDown = shallowRef(initialIndex <= 3);
28216
- const xlAndDown = shallowRef(initialIndex <= 4);
28217
- function update() {
28218
- if (!IN_BROWSER) return;
28219
- width.value = window.innerWidth;
28220
- height.value = window.innerHeight;
28502
+ const isMobile = shallowRef(false);
28503
+ const xs = shallowRef(false);
28504
+ const sm = shallowRef(false);
28505
+ const md = shallowRef(false);
28506
+ const lg = shallowRef(false);
28507
+ const xl = shallowRef(false);
28508
+ const xxl = shallowRef(false);
28509
+ const smAndUp = shallowRef(false);
28510
+ const mdAndUp = shallowRef(false);
28511
+ const lgAndUp = shallowRef(false);
28512
+ const xlAndUp = shallowRef(false);
28513
+ const smAndDown = shallowRef(false);
28514
+ const mdAndDown = shallowRef(false);
28515
+ const lgAndDown = shallowRef(false);
28516
+ const xlAndDown = shallowRef(false);
28517
+ function resolve(value, media) {
28221
28518
  let current = "xs";
28222
28519
  for (let i = sorted.length - 1; i >= 0; i--) {
28223
28520
  const px = sorted[i][1];
28224
- if (SUPPORTS_MATCH_MEDIA ? window.matchMedia(`(min-width: ${px}px)`).matches : width.value >= px) {
28521
+ if (media ? window.matchMedia(`(min-width: ${px}px)`).matches : value >= px) {
28225
28522
  current = sorted[i][0];
28226
28523
  break;
28227
28524
  }
28228
28525
  }
28229
- name.value = current;
28230
28526
  const index = names.indexOf(current);
28231
- isMobile.value = /* @__PURE__ */ isNumber(mb) ? SUPPORTS_MATCH_MEDIA ? !window.matchMedia(`(min-width: ${mb}px)`).matches : width.value < mb : index < names.indexOf(mobileBreakpoint);
28527
+ /* v8 ignore next 3 -- alternate arm is defensive: mb always resolves to a number via `?? breakpoints.md` */
28528
+ const mobile = /* @__PURE__ */ isNumber(mb) ? media ? !window.matchMedia(`(min-width: ${mb}px)`).matches : value < mb : index < names.indexOf(mobileBreakpoint);
28529
+ return {
28530
+ current,
28531
+ index,
28532
+ mobile
28533
+ };
28534
+ }
28535
+ function apply({ current, index, mobile }) {
28536
+ name.value = current;
28537
+ isMobile.value = mobile;
28232
28538
  xs.value = index === 0;
28233
28539
  sm.value = index === 1;
28234
28540
  md.value = index === 2;
@@ -28244,6 +28550,13 @@ function createBreakpoints(_options = {}) {
28244
28550
  lgAndDown.value = index <= 3;
28245
28551
  xlAndDown.value = index <= 4;
28246
28552
  }
28553
+ apply(resolve(initialWidth, !ssr && IN_BROWSER && SUPPORTS_MATCH_MEDIA));
28554
+ function update() {
28555
+ if (!IN_BROWSER) return;
28556
+ width.value = window.innerWidth;
28557
+ height.value = window.innerHeight;
28558
+ apply(resolve(width.value, SUPPORTS_MATCH_MEDIA));
28559
+ }
28247
28560
  return {
28248
28561
  breakpoints,
28249
28562
  mobileBreakpoint,
@@ -28322,6 +28635,68 @@ const [createBreakpointsContext, createBreakpointsPlugin, useBreakpoints] = crea
28322
28635
  }
28323
28636
  });
28324
28637
  //#endregion
28638
+ //#region src/composables/useDate/weekinfo.ts
28639
+ const FRI_REGIONS = "MV";
28640
+ const SAT_REGIONS = "AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY";
28641
+ const SUN_REGIONS = "AG AS BD BR BS BT BU BW BZ CA CO DM DO ET GT GU HK HN ID IL IN IS JM JP JT KE KH KR LA MH MI MM MO MT MX MZ NI NP NT PA PE PH PK PR PT PU PY PZ RH SA SG SV TH TT TW UM US VE VI WK WS YD YE ZA ZW";
28642
+ const MD4_REGIONS = "AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GG GI GP GR HU IE IM IS IT JE LI LT LU MC MQ NL NO PL PT RE RU SE SJ SK SM VA";
28643
+ const FW_DAYS = [
28644
+ "sun",
28645
+ "mon",
28646
+ "tue",
28647
+ "wed",
28648
+ "thu",
28649
+ "fri",
28650
+ "sat"
28651
+ ];
28652
+ /** language[-script]-region tag parse for runtimes without Intl.Locale */
28653
+ const REGION_PATTERN = /^[a-z]{2,8}(?:-[a-z]{4})?-([a-z]{2}|\d{3})(?:-|$)/i;
28654
+ /** Explicit `-u-fw-` week-start keyword on the tag; always wins over region data */
28655
+ function deriveFw(locale) {
28656
+ const match = /-fw-(sun|mon|tue|wed|thu|fri|sat)(?:-|$)/.exec(locale.toLowerCase());
28657
+ return match ? FW_DAYS.indexOf(match[1]) : void 0;
28658
+ }
28659
+ /**
28660
+ * Resolve the region governing week data. A region declared on the tag wins
28661
+ * (matching ICU, which honors even unknown declared regions like 'en-ZZ');
28662
+ * bare tags resolve their likely region via maximize ('de' → 'DE',
28663
+ * 'en' → 'US'), with the world region as the last resort.
28664
+ */
28665
+ function deriveRegion(locale) {
28666
+ const declared = REGION_PATTERN.exec(locale)?.[1]?.toUpperCase();
28667
+ if (declared) return declared;
28668
+ try {
28669
+ return new Intl.Locale(locale).maximize().region ?? "001";
28670
+ } catch {
28671
+ return "001";
28672
+ }
28673
+ }
28674
+ /** CLDR firstDay lookup, already in v0's 0=Sun...6=Sat convention */
28675
+ function deriveFirstDay(region) {
28676
+ if (SUN_REGIONS.includes(region)) return 0;
28677
+ if (SAT_REGIONS.includes(region)) return 6;
28678
+ if (FRI_REGIONS.includes(region)) return 5;
28679
+ return 1;
28680
+ }
28681
+ /** CLDR minimalDays lookup */
28682
+ function deriveMinimalDays(region) {
28683
+ return MD4_REGIONS.includes(region) ? 4 : 1;
28684
+ }
28685
+ /**
28686
+ * Derive week info for a locale from CLDR data.
28687
+ *
28688
+ * @param locale An Intl locale string (e.g. 'de-DE', 'en', 'ar-EG', 'en-u-fw-mon').
28689
+ * @returns firstDay in v0's 0=Sun...6=Sat convention, plus minimalDays.
28690
+ */
28691
+ /* @__NO_SIDE_EFFECTS__ */
28692
+ function deriveWeekInfo(locale) {
28693
+ const region = deriveRegion(locale);
28694
+ return {
28695
+ firstDay: deriveFw(locale) ?? deriveFirstDay(region),
28696
+ minimalDays: deriveMinimalDays(region)
28697
+ };
28698
+ }
28699
+ //#endregion
28325
28700
  //#region src/composables/useDate/adapters/adapter.ts
28326
28701
  var DateAdapter = class {};
28327
28702
  //#endregion
@@ -28383,19 +28758,6 @@ const defaultLocales = {
28383
28758
  ar: "ar-SA"
28384
28759
  };
28385
28760
  /**
28386
- * Derive firstDayOfWeek from an Intl locale string.
28387
- * Returns 0-6 (0=Sun) or 0 as fallback.
28388
- */
28389
- function deriveFirstDayOfWeek(locale) {
28390
- try {
28391
- const info = new Intl.Locale(locale).getWeekInfo?.();
28392
- /* v8 ignore next -- defensive: getWeekInfo always returns info in Node 22+ */
28393
- return info ? info.firstDay % 7 : 0;
28394
- } catch {
28395
- return 0;
28396
- }
28397
- }
28398
- /**
28399
28761
  * Creates a new date context.
28400
28762
  *
28401
28763
  * @param options Adapter and locale configuration.
@@ -28437,7 +28799,7 @@ function createDate(options) {
28437
28799
  const firstDayOfWeek = computed(() => {
28438
28800
  if (!/* @__PURE__ */ isUndefined(explicitFirstDay)) return explicitFirstDay;
28439
28801
  const loc = locale.value;
28440
- return loc ? deriveFirstDayOfWeek(loc) : 0;
28802
+ return loc ? (/* @__PURE__ */ deriveWeekInfo(loc)).firstDay : 0;
28441
28803
  });
28442
28804
  if (/* @__PURE__ */ instanceExists()) onScopeDispose(watchEffect(() => {
28443
28805
  const loc = locale.value;
@@ -28959,6 +29321,10 @@ var KeyboardAdapter = class extends DragDropAdapter {
28959
29321
  * Pure math for resolving where in an oriented zone a pointer would drop.
28960
29322
  * Internal — consumers rely on the `position.index` / `position.indicator`
28961
29323
  * fields delivered to `onDrop`.
29324
+ *
29325
+ * Assumes rects ascend along the axis (DOM order in normal flow). Reversed
29326
+ * layouts resolve arbitrary slots — always have — and sorting is not the fix:
29327
+ * the slot must stay the child's DOM index for consumers to splice by.
28962
29328
  */
28963
29329
  function resolveDropPosition(point, rects, orientation) {
28964
29330
  if (rects.length === 0) return null;
@@ -28966,49 +29332,19 @@ function resolveDropPosition(point, rects, orientation) {
28966
29332
  const start = orientation === "vertical" ? "top" : "left";
28967
29333
  const end = orientation === "vertical" ? "bottom" : "right";
28968
29334
  const coord = point[axis];
28969
- if (coord < rects[0][start]) return {
28970
- index: 0,
29335
+ let index = rects.length;
29336
+ for (const [at, rect] of rects.entries()) if (coord < rect[start] + (rect[end] - rect[start]) / 2) {
29337
+ index = at;
29338
+ break;
29339
+ }
29340
+ return index === 0 ? {
29341
+ index,
28971
29342
  edge: "before",
28972
29343
  rect: rects[0]
28973
- };
28974
- const last = rects.at(-1);
28975
- if (coord > last[end]) return {
28976
- index: rects.length,
28977
- edge: "after",
28978
- rect: last
28979
- };
28980
- for (const [index, rect] of rects.entries()) if (coord >= rect[start] && coord <= rect[end]) {
28981
- if (coord < rect[start] + (rect[end] - rect[start]) / 2) return {
28982
- index,
28983
- edge: "before",
28984
- rect
28985
- };
28986
- return {
28987
- index: index + 1,
28988
- edge: "after",
28989
- rect
28990
- };
28991
- }
28992
- for (let index = 0; index < rects.length - 1; index++) {
28993
- const a = rects[index];
28994
- const b = rects[index + 1];
28995
- if (coord > a[end] && coord < b[start]) {
28996
- if (coord <= (a[end] + b[start]) / 2) return {
28997
- index: index + 1,
28998
- edge: "after",
28999
- rect: a
29000
- };
29001
- return {
29002
- index: index + 1,
29003
- edge: "before",
29004
- rect: b
29005
- };
29006
- }
29007
- }
29008
- return {
29009
- index: rects.length,
29344
+ } : {
29345
+ index,
29010
29346
  edge: "after",
29011
- rect: last
29347
+ rect: rects[index - 1]
29012
29348
  };
29013
29349
  }
29014
29350
  /**
@@ -29121,7 +29457,11 @@ function useDragDrop(options = {}) {
29121
29457
  });
29122
29458
  const indicator = computed(() => {
29123
29459
  if (!registration.orientation || !isOver.value || !active.value) return null;
29124
- return resolveDropPosition(active.value.current, rects.value, registration.orientation);
29460
+ const resolved = resolveDropPosition(active.value.current, rects.value, registration.orientation);
29461
+ if (!resolved) return null;
29462
+ const from = home(el.value, active.value.id);
29463
+ if (from !== -1 && (resolved.index === from || resolved.index === from + 1)) return null;
29464
+ return resolved;
29125
29465
  });
29126
29466
  const input = {
29127
29467
  ...registration,
@@ -29147,6 +29487,16 @@ function useDragDrop(options = {}) {
29147
29487
  }
29148
29488
  return null;
29149
29489
  }
29490
+ function home(zoneEl, id) {
29491
+ const source = toValue(_draggables.get(id)?.el);
29492
+ if (!zoneEl || !source) return -1;
29493
+ for (let el = source.parentElement; el; el = el.parentElement) {
29494
+ if (!nodes.has(el)) continue;
29495
+ if (el !== zoneEl) return -1;
29496
+ break;
29497
+ }
29498
+ return Array.from(zoneEl.children).findIndex((child) => child.contains(source));
29499
+ }
29150
29500
  function position(zoneId, drag) {
29151
29501
  const zone = _zones.get(zoneId);
29152
29502
  const out = { pointer: drag.current };
@@ -29155,7 +29505,10 @@ function useDragDrop(options = {}) {
29155
29505
  if (resolved) {
29156
29506
  out.index = resolved.index;
29157
29507
  out.indicator = resolved;
29158
- } else out.index = 0;
29508
+ } else {
29509
+ const from = home(toValue(zone.el), drag.id);
29510
+ out.index = from === -1 ? 0 : from;
29511
+ }
29159
29512
  }
29160
29513
  return out;
29161
29514
  }
@@ -30548,4 +30901,4 @@ function createStorageFallback() {
30548
30901
  }
30549
30902
  const [createStorageContext, createStoragePlugin, useStorage] = createPluginContext("v0:storage", (options) => createStorage(options), { fallback: () => createStorageFallback() });
30550
30903
  //#endregion
30551
- export { AlertDialog, _sfc_main as AlertDialogAction, _sfc_main$1 as AlertDialogActivator, _sfc_main$2 as AlertDialogCancel, _sfc_main$3 as AlertDialogClose, _sfc_main$4 as AlertDialogContent, _sfc_main$5 as AlertDialogDescription, _sfc_main$6 as AlertDialogRoot, _sfc_main$7 as AlertDialogTitle, _sfc_main$8 as AspectRatio, _sfc_main$9 as Atom, Avatar, _sfc_main$10 as AvatarFallback, _sfc_main$11 as AvatarGroup, _sfc_main$12 as AvatarImage, _sfc_main$13 as AvatarIndicator, _sfc_main$14 as AvatarRoot, Breadcrumbs, _sfc_main$15 as BreadcrumbsActivator, _sfc_main$16 as BreadcrumbsDivider, _sfc_main$17 as BreadcrumbsEllipsis, _sfc_main$18 as BreadcrumbsItem, _sfc_main$19 as BreadcrumbsLink, _sfc_main$20 as BreadcrumbsList, _sfc_main$21 as BreadcrumbsPage, _sfc_main$22 as BreadcrumbsRoot, Button, _sfc_main$23 as ButtonContent, _sfc_main$24 as ButtonGroup, _sfc_main$25 as ButtonHiddenInput, _sfc_main$26 as ButtonIcon, _sfc_main$27 as ButtonLoading, _sfc_main$28 as ButtonRoot, Carousel, _sfc_main$29 as CarouselIndicator, _sfc_main$30 as CarouselItem, _sfc_main$31 as CarouselLiveRegion, _sfc_main$32 as CarouselNext, _sfc_main$33 as CarouselPrevious, _sfc_main$34 as CarouselProgress, _sfc_main$35 as CarouselRoot, _sfc_main$36 as CarouselViewport, Checkbox, _sfc_main$37 as CheckboxGroup, _sfc_main$38 as CheckboxHiddenInput, _sfc_main$39 as CheckboxIndicator, _sfc_main$40 as CheckboxRoot, _sfc_main$41 as CheckboxSelectAll, ClientComboboxAdapter, ClientDataTableAdapter, Collapsible, _sfc_main$42 as CollapsibleActivator, _sfc_main$43 as CollapsibleContent, _sfc_main$44 as CollapsibleCue, _sfc_main$45 as CollapsibleRoot, Combobox, _sfc_main$46 as ComboboxActivator, ComboboxAdapter, _sfc_main$47 as ComboboxContent, _sfc_main$48 as ComboboxControl, _sfc_main$49 as ComboboxCue, _sfc_main$50 as ComboboxDescription, _sfc_main$51 as ComboboxEmpty, _sfc_main$52 as ComboboxError, _sfc_main$53 as ComboboxItem, _sfc_main$54 as ComboboxRoot, ConsolaLoggerAdapter, DataTableAdapter, DateAdapter, Dialog, _sfc_main$55 as DialogActivator, _sfc_main$56 as DialogClose, _sfc_main$57 as DialogContent, _sfc_main$58 as DialogDescription, _sfc_main$59 as DialogRoot, _sfc_main$60 as DialogTitle, DragDropAdapter, ExpansionPanel, _sfc_main$61 as ExpansionPanelActivator, _sfc_main$62 as ExpansionPanelContent, _sfc_main$63 as ExpansionPanelCue, _sfc_main$64 as ExpansionPanelGroup, _sfc_main$65 as ExpansionPanelHeader, _sfc_main$66 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$67 as Form, Group, _sfc_main$68 as GroupItem, _sfc_main$69 as GroupRoot, IN_BROWSER, Image, _sfc_main$70 as ImageFallback, _sfc_main$71 as ImageImg, _sfc_main$72 as ImagePlaceholder, _sfc_main$73 as ImageRoot, Input, _sfc_main$74 as InputControl, _sfc_main$75 as InputDescription, _sfc_main$76 as InputError, _sfc_main$77 as InputRoot, KeyboardAdapter, _sfc_main$78 as Locale, LocaleAdapter, LoggerAdapter, MemoryStorageAdapter, NumberField, _sfc_main$79 as NumberFieldControl, _sfc_main$80 as NumberFieldDecrement, _sfc_main$81 as NumberFieldDescription, _sfc_main$82 as NumberFieldError, _sfc_main$83 as NumberFieldIncrement, _sfc_main$84 as NumberFieldRoot, _sfc_main$85 as NumberFieldScrub, Overflow, _sfc_main$86 as OverflowIndicator, _sfc_main$87 as OverflowItem, _sfc_main$88 as OverflowRoot, Pagination, _sfc_main$89 as PaginationEllipsis, _sfc_main$90 as PaginationFirst, _sfc_main$91 as PaginationItem, _sfc_main$92 as PaginationLast, _sfc_main$93 as PaginationNext, _sfc_main$94 as PaginationPrev, _sfc_main$95 as PaginationRoot, _sfc_main$96 as PaginationStatus, PermissionsAdapter, PinoLoggerAdapter, PointerAdapter, Popover, _sfc_main$97 as PopoverActivator, _sfc_main$98 as PopoverContent, _sfc_main$99 as PopoverRoot, _sfc_main$100 as Portal, _sfc_main$101 as Presence, Progress, _sfc_main$102 as ProgressBuffer, _sfc_main$103 as ProgressFill, _sfc_main$104 as ProgressHiddenInput, _sfc_main$105 as ProgressLabel, _sfc_main$106 as ProgressRoot, _sfc_main$107 as ProgressTrack, _sfc_main$108 as ProgressValue, Radio, _sfc_main$109 as RadioGroup, _sfc_main$110 as RadioHiddenInput, _sfc_main$111 as RadioIndicator, _sfc_main$112 as RadioRoot, Rating, _sfc_main$113 as RatingHiddenInput, _sfc_main$114 as RatingItem, _sfc_main$115 as RatingRoot, ReducedMotionAdapter, RtlAdapter, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$116 as Scrim, Select, _sfc_main$117 as SelectActivator, _sfc_main$118 as SelectContent, _sfc_main$119 as SelectCue, _sfc_main$120 as SelectItem, _sfc_main$121 as SelectPlaceholder, _sfc_main$122 as SelectRoot, _sfc_main$123 as SelectValue, Selection, _sfc_main$124 as SelectionItem, _sfc_main$125 as SelectionRoot, ServerComboboxAdapter, ServerDataTableAdapter, ServerDataTableAdapter as ServerGridAdapter, Single, _sfc_main$126 as SingleItem, _sfc_main$127 as SingleRoot, Slider, _sfc_main$128 as SliderHiddenInput, _sfc_main$129 as SliderRange, _sfc_main$130 as SliderRoot, _sfc_main$131 as SliderThumb, _sfc_main$132 as SliderTrack, Snackbar, _sfc_main$133 as SnackbarClose, _sfc_main$134 as SnackbarContent, _sfc_main$135 as SnackbarPortal, _sfc_main$136 as SnackbarQueue, _sfc_main$137 as SnackbarRoot, Splitter, _sfc_main$138 as SplitterHandle, _sfc_main$139 as SplitterPanel, _sfc_main$140 as SplitterRoot, Step, _sfc_main$141 as StepItem, _sfc_main$142 as StepRoot, StorageAdapter, Switch, _sfc_main$143 as SwitchGroup, _sfc_main$144 as SwitchHiddenInput, _sfc_main$145 as SwitchRoot, _sfc_main$146 as SwitchSelectAll, _sfc_main$147 as SwitchThumb, _sfc_main$148 as SwitchTrack, Tabs, _sfc_main$149 as TabsItem, _sfc_main$150 as TabsList, _sfc_main$151 as TabsPanel, _sfc_main$152 as TabsRoot, _sfc_main$153 as Theme, ThemeAdapter, Toggle, _sfc_main$154 as ToggleGroup, _sfc_main$155 as ToggleIndicator, _sfc_main$156 as ToggleRoot, Tooltip, _sfc_main$157 as TooltipActivator, _sfc_main$158 as TooltipContent, _sfc_main$159 as TooltipRoot, Treeview, _sfc_main$160 as TreeviewActivator, _sfc_main$161 as TreeviewCheckbox, _sfc_main$162 as TreeviewContent, _sfc_main$163 as TreeviewCue, _sfc_main$164 as TreeviewGroup, _sfc_main$165 as TreeviewIndicator, _sfc_main$166 as TreeviewItem, _sfc_main$167 as TreeviewList, _sfc_main$168 as TreeviewRoot, _sfc_main$169 as TreeviewSelectAll, UNSAFE_KEYS, V0Error, V0LocaleAdapter, V0LoggerAdapter, V0ReducedMotionAdapter, V0RtlAdapter, V0StyleSheetThemeAdapter, V0UnheadThemeAdapter, VirtualDataTableAdapter, __LOGGER_ENABLED__, apca, clamp, computeDepth, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createCombobox, createComboboxContext, createContext, createDataGrid, createDataGridContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createInput, createKanban, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createNumberField, createNumeric, createOtp, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createProgress, createProgressContext, createQueue, createQueueContext, createRating, createRatingContext, createReducedMotion, createReducedMotionContext, createReducedMotionPlugin, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createSortable, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTooltipContext, createTooltipFallback, createTooltipPlugin, createTrinity, createValidation, createVirtual, createVirtualContext, extractLeaves, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isThenable, isUndefined, isV0Error, mergeDeep, provideAlertDialogContext, provideAvatarGroup, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCarouselRoot, provideCheckboxGroup, provideCheckboxRoot, provideCollapsible, provideComboboxContext, provideContext, provideDialogContext, provideExpansionPanelGroup, provideExpansionPanelRoot, provideGroupRoot, provideImageRoot, provideInputRoot, provideNumberFieldRoot, provideOverflowRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideProgressRoot, provideRadioGroup, provideRadioRoot, provideRatingRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideToggleGroup, provideToggleRoot, provideTooltipRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, resolveHeaders, resolveIds, resolveIndexes, rgbToHex, toArray, toElement, toHighlight, toReactive, useAlertDialogContext, useAvatarGroup, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCarouselRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useCollapsible, useCombobox, useComboboxContext, useContext, useDataGrid, useDataTable, useDate, useDelay, useDialogContext, useDocumentEventListener, useDragDrop, useElementIntersection, useElementSize, useEventListener, useExpansionPanelGroup, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useImage, useImageRoot, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useNumberFieldRoot, useOverflow, useOverflowRoot, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, usePresence, useProgress, useProgressRoot, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRating, useRatingRoot, useReducedMotion, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleGroup, useToggleRoot, useToggleScope, useTokens, useTooltip, useTooltipRoot, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };
30904
+ export { AlertDialog, _sfc_main as AlertDialogAction, _sfc_main$1 as AlertDialogActivator, _sfc_main$2 as AlertDialogCancel, _sfc_main$3 as AlertDialogClose, _sfc_main$4 as AlertDialogContent, _sfc_main$5 as AlertDialogDescription, _sfc_main$6 as AlertDialogRoot, _sfc_main$7 as AlertDialogTitle, _sfc_main$8 as AspectRatio, _sfc_main$9 as Atom, Avatar, _sfc_main$10 as AvatarFallback, _sfc_main$11 as AvatarGroup, _sfc_main$12 as AvatarImage, _sfc_main$13 as AvatarIndicator, _sfc_main$14 as AvatarRoot, Breadcrumbs, _sfc_main$15 as BreadcrumbsActivator, _sfc_main$16 as BreadcrumbsDivider, _sfc_main$17 as BreadcrumbsEllipsis, _sfc_main$18 as BreadcrumbsItem, _sfc_main$19 as BreadcrumbsLink, _sfc_main$20 as BreadcrumbsList, _sfc_main$21 as BreadcrumbsPage, _sfc_main$22 as BreadcrumbsRoot, Button, _sfc_main$23 as ButtonContent, _sfc_main$24 as ButtonGroup, _sfc_main$25 as ButtonHiddenInput, _sfc_main$26 as ButtonIcon, _sfc_main$27 as ButtonLoading, _sfc_main$28 as ButtonRoot, Carousel, _sfc_main$29 as CarouselIndicator, _sfc_main$30 as CarouselItem, _sfc_main$31 as CarouselLiveRegion, _sfc_main$32 as CarouselNext, _sfc_main$33 as CarouselPrevious, _sfc_main$34 as CarouselProgress, _sfc_main$35 as CarouselRoot, _sfc_main$36 as CarouselViewport, Checkbox, _sfc_main$37 as CheckboxGroup, _sfc_main$38 as CheckboxHiddenInput, _sfc_main$39 as CheckboxIndicator, _sfc_main$40 as CheckboxRoot, _sfc_main$41 as CheckboxSelectAll, ClientComboboxAdapter, ClientDataTableAdapter, Collapsible, _sfc_main$42 as CollapsibleActivator, _sfc_main$43 as CollapsibleContent, _sfc_main$44 as CollapsibleCue, _sfc_main$45 as CollapsibleRoot, Combobox, _sfc_main$46 as ComboboxActivator, ComboboxAdapter, _sfc_main$47 as ComboboxContent, _sfc_main$48 as ComboboxControl, _sfc_main$49 as ComboboxCue, _sfc_main$50 as ComboboxDescription, _sfc_main$51 as ComboboxEmpty, _sfc_main$52 as ComboboxError, _sfc_main$53 as ComboboxItem, _sfc_main$54 as ComboboxRoot, ConsolaLoggerAdapter, DataTableAdapter, DateAdapter, Dialog, _sfc_main$55 as DialogActivator, _sfc_main$56 as DialogClose, _sfc_main$57 as DialogContent, _sfc_main$58 as DialogDescription, _sfc_main$59 as DialogRoot, _sfc_main$60 as DialogTitle, DragDropAdapter, ExpansionPanel, _sfc_main$61 as ExpansionPanelActivator, _sfc_main$62 as ExpansionPanelContent, _sfc_main$63 as ExpansionPanelCue, _sfc_main$64 as ExpansionPanelGroup, _sfc_main$65 as ExpansionPanelHeader, _sfc_main$66 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$67 as Form, Group, _sfc_main$68 as GroupItem, _sfc_main$69 as GroupRoot, IN_BROWSER, Image, _sfc_main$70 as ImageFallback, _sfc_main$71 as ImageImg, _sfc_main$72 as ImagePlaceholder, _sfc_main$73 as ImageRoot, Input, _sfc_main$74 as InputControl, _sfc_main$75 as InputDescription, _sfc_main$76 as InputError, _sfc_main$77 as InputRoot, KeyboardAdapter, _sfc_main$78 as Locale, LocaleAdapter, LoggerAdapter, MemoryStorageAdapter, NumberField, _sfc_main$79 as NumberFieldControl, _sfc_main$80 as NumberFieldDecrement, _sfc_main$81 as NumberFieldDescription, _sfc_main$82 as NumberFieldError, _sfc_main$83 as NumberFieldIncrement, _sfc_main$84 as NumberFieldRoot, _sfc_main$85 as NumberFieldScrub, Overflow, _sfc_main$86 as OverflowIndicator, _sfc_main$87 as OverflowItem, _sfc_main$88 as OverflowRoot, Pagination, _sfc_main$89 as PaginationEllipsis, _sfc_main$90 as PaginationFirst, _sfc_main$91 as PaginationItem, _sfc_main$92 as PaginationLast, _sfc_main$93 as PaginationNext, _sfc_main$94 as PaginationPrev, _sfc_main$95 as PaginationRoot, _sfc_main$96 as PaginationStatus, PermissionsAdapter, PinoLoggerAdapter, PointerAdapter, Popover, _sfc_main$97 as PopoverActivator, _sfc_main$98 as PopoverContent, _sfc_main$99 as PopoverRoot, _sfc_main$100 as Portal, _sfc_main$101 as Presence, Progress, _sfc_main$102 as ProgressBuffer, _sfc_main$103 as ProgressFill, _sfc_main$104 as ProgressHiddenInput, _sfc_main$105 as ProgressLabel, _sfc_main$106 as ProgressRoot, _sfc_main$107 as ProgressTrack, _sfc_main$108 as ProgressValue, Radio, _sfc_main$109 as RadioGroup, _sfc_main$110 as RadioHiddenInput, _sfc_main$111 as RadioIndicator, _sfc_main$112 as RadioRoot, Rating, _sfc_main$113 as RatingHiddenInput, _sfc_main$114 as RatingItem, _sfc_main$115 as RatingRoot, ReducedMotionAdapter, RtlAdapter, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$116 as Scrim, Select, _sfc_main$117 as SelectActivator, _sfc_main$118 as SelectContent, _sfc_main$119 as SelectCue, _sfc_main$120 as SelectItem, _sfc_main$121 as SelectPlaceholder, _sfc_main$122 as SelectRoot, _sfc_main$123 as SelectValue, Selection, _sfc_main$124 as SelectionItem, _sfc_main$125 as SelectionRoot, ServerComboboxAdapter, ServerDataTableAdapter, ServerDataTableAdapter as ServerGridAdapter, Single, _sfc_main$126 as SingleItem, _sfc_main$127 as SingleRoot, Slider, _sfc_main$128 as SliderHiddenInput, _sfc_main$129 as SliderRange, _sfc_main$130 as SliderRoot, _sfc_main$131 as SliderThumb, _sfc_main$132 as SliderTrack, Snackbar, _sfc_main$133 as SnackbarAnnouncer, _sfc_main$134 as SnackbarClose, _sfc_main$135 as SnackbarContent, _sfc_main$136 as SnackbarPortal, _sfc_main$137 as SnackbarQueue, _sfc_main$138 as SnackbarRoot, Splitter, _sfc_main$139 as SplitterHandle, _sfc_main$140 as SplitterPanel, _sfc_main$141 as SplitterRoot, Step, _sfc_main$142 as StepItem, _sfc_main$143 as StepRoot, StorageAdapter, Switch, _sfc_main$144 as SwitchGroup, _sfc_main$145 as SwitchHiddenInput, _sfc_main$146 as SwitchRoot, _sfc_main$147 as SwitchSelectAll, _sfc_main$148 as SwitchThumb, _sfc_main$149 as SwitchTrack, Tabs, _sfc_main$150 as TabsItem, _sfc_main$151 as TabsList, _sfc_main$152 as TabsPanel, _sfc_main$153 as TabsRoot, _sfc_main$154 as Theme, ThemeAdapter, Toggle, _sfc_main$155 as ToggleGroup, _sfc_main$156 as ToggleIndicator, _sfc_main$157 as ToggleRoot, Tooltip, _sfc_main$158 as TooltipActivator, _sfc_main$159 as TooltipContent, _sfc_main$160 as TooltipRoot, Treeview, _sfc_main$161 as TreeviewActivator, _sfc_main$162 as TreeviewCheckbox, _sfc_main$163 as TreeviewContent, _sfc_main$164 as TreeviewCue, _sfc_main$165 as TreeviewGroup, _sfc_main$166 as TreeviewIndicator, _sfc_main$167 as TreeviewItem, _sfc_main$168 as TreeviewList, _sfc_main$169 as TreeviewRoot, _sfc_main$170 as TreeviewSelectAll, UNSAFE_KEYS, V0Error, V0LocaleAdapter, V0LoggerAdapter, V0ReducedMotionAdapter, V0RtlAdapter, V0StyleSheetThemeAdapter, V0UnheadThemeAdapter, VirtualDataTableAdapter, __LOGGER_ENABLED__, apca, clamp, computeDepth, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createCombobox, createComboboxContext, createContext, createDataGrid, createDataGridContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createInput, createKanban, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createNumberField, createNumeric, createOtp, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createProgress, createProgressContext, createQueue, createQueueContext, createRating, createRatingContext, createReducedMotion, createReducedMotionContext, createReducedMotionPlugin, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createSortable, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTooltipContext, createTooltipFallback, createTooltipPlugin, createTrinity, createValidation, createVirtual, createVirtualContext, extractLeaves, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isThenable, isUndefined, isV0Error, mergeDeep, provideAlertDialogContext, provideAvatarGroup, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCarouselRoot, provideCheckboxGroup, provideCheckboxRoot, provideCollapsible, provideComboboxContext, provideContext, provideDialogContext, provideExpansionPanelGroup, provideExpansionPanelRoot, provideGroupRoot, provideImageRoot, provideInputRoot, provideNumberFieldRoot, provideOverflowRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideProgressRoot, provideRadioGroup, provideRadioRoot, provideRatingRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideToggleGroup, provideToggleRoot, provideTooltipRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, resolveHeaders, resolveIds, resolveIndexes, rgbToHex, toArray, toElement, toHighlight, toReactive, useAlertDialogContext, useAvatarGroup, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCarouselRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useCollapsible, useCombobox, useComboboxContext, useContext, useDataGrid, useDataTable, useDate, useDelay, useDialogContext, useDocumentEventListener, useDragDrop, useElementIntersection, useElementSize, useEventListener, useExpansionPanelGroup, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useImage, useImageRoot, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useNumberFieldRoot, useOverflow, useOverflowRoot, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, usePresence, useProgress, useProgressRoot, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRating, useRatingRoot, useReducedMotion, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleGroup, useToggleRoot, useToggleScope, useTokens, useTooltip, useTooltipRoot, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };