@vuetify/v0 1.0.0-alpha.3 → 1.0.0-alpha.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 (169) hide show
  1. package/README.md +3 -0
  2. package/dist/adapter-BSKx9WQ7.mjs +4 -0
  3. package/dist/{index-CT5SCLzW.d.mts → adapter-C6JmOyYo.d.mts} +6 -9
  4. package/dist/{adapter-gQ2SNKZq.mjs → adapter-C9cR4AcY.mjs} +248 -5
  5. package/dist/adapter-Chznb9Ju.mjs +4 -0
  6. package/dist/{adapter-DlX3FA3A.d.mts → adapter-Cr7Bl4la.d.mts} +3 -7
  7. package/dist/adapter-D8zizQVP.mjs +4 -0
  8. package/dist/adapter-DgBBe_BW.d.mts +17 -0
  9. package/dist/adapter-Dzyrlbz7.d.mts +98 -0
  10. package/dist/adapter-o8r-2vUn.d.mts +11 -0
  11. package/dist/adapters-B25KaYU4.mjs +2 -0
  12. package/dist/adapters-BcddLSNs.mjs +4 -0
  13. package/dist/adapters-D64TORDu.mjs +2 -0
  14. package/dist/adapters-Dv74Jk6A.mjs +5 -0
  15. package/dist/adapters-t6QC-zE8.mjs +3 -0
  16. package/dist/browser/index.js +1510 -388
  17. package/dist/components/index.d.mts +2 -2
  18. package/dist/components/index.mjs +1 -1
  19. package/dist/{components-C4jI-78d.mjs → components-BWxMSWr7.mjs} +138 -90
  20. package/dist/composables/index.d.mts +19 -19
  21. package/dist/composables/index.mjs +31 -29
  22. package/dist/{consola-BdgyPEfx.d.mts → consola-Crr4qbeI.d.mts} +2 -2
  23. package/dist/{consola-Ceox8BWi.mjs → consola-DYvbPNbF.mjs} +3 -1
  24. package/dist/constants/index.d.mts +1 -1
  25. package/dist/constants/index.mjs +2 -2
  26. package/dist/{createDataTable-iODP6aKB.mjs → createDataTable-DDr2yY-A.mjs} +30 -29
  27. package/dist/{createGroup-CGk6hY_Y.mjs → createGroup-BSGtfBUE.mjs} +3 -3
  28. package/dist/{createRegistry-BXzdXAjq.mjs → createRegistry-Db_juawd.mjs} +78 -41
  29. package/dist/{createSelection-B3HJEPNg.mjs → createSelection-BeKZMxha.mjs} +3 -3
  30. package/dist/{createSingle-Dql8mRi-.mjs → createSingle-Dms2efxr.mjs} +1 -1
  31. package/dist/{createTokens-DgFYsOrv.mjs → createTokens-B1lwHZvO.mjs} +2 -2
  32. package/dist/data-table/adapters/client/index.d.mts +2 -2
  33. package/dist/data-table/adapters/client/index.mjs +2 -2
  34. package/dist/data-table/adapters/index.d.mts +5 -5
  35. package/dist/data-table/adapters/index.mjs +6 -6
  36. package/dist/data-table/adapters/server/index.d.mts +2 -2
  37. package/dist/data-table/adapters/server/index.mjs +2 -2
  38. package/dist/data-table/adapters/virtual/index.d.mts +2 -2
  39. package/dist/data-table/adapters/virtual/index.mjs +2 -2
  40. package/dist/data-table/index.d.mts +6 -6
  41. package/dist/data-table/index.mjs +6 -6
  42. package/dist/date/index.d.mts +3 -3
  43. package/dist/date/index.mjs +11 -4
  44. package/dist/features/adapters/flagsmith/index.d.mts +2 -2
  45. package/dist/features/adapters/flagsmith/index.mjs +2 -2
  46. package/dist/features/adapters/launchdarkly/index.d.mts +2 -2
  47. package/dist/features/adapters/launchdarkly/index.mjs +2 -2
  48. package/dist/features/adapters/posthog/index.d.mts +2 -2
  49. package/dist/features/adapters/posthog/index.mjs +2 -2
  50. package/dist/features/index.d.mts +3 -3
  51. package/dist/features/index.mjs +2 -1
  52. package/dist/{flagsmith-Dbh1h8WF.mjs → flagsmith-Cu93hUIF.mjs} +6 -4
  53. package/dist/{index-BzFHTW59.d.mts → flagsmith-ygKMImos.d.mts} +4 -4
  54. package/dist/{globals-zEjWBKCr.mjs → globals-BAe6tA_x.mjs} +1 -1
  55. package/dist/{index-GOpjKzaJ.d.mts → index-B3-FstpY.d.mts} +25 -2
  56. package/dist/{index-BJGcVy7e.d.mts → index-BA7YU2xY.d.mts} +5 -5
  57. package/dist/{index-B76iGRE3.d.mts → index-BfpLkDR_.d.mts} +949 -59
  58. package/dist/{index-DE3bWw11.d.mts → index-Cw04PFVO.d.mts} +92 -48
  59. package/dist/index-DewYtDsc.d.mts +4 -0
  60. package/dist/{index-DNDuacmH.d.mts → index-jQPkwo3G.d.mts} +15 -5
  61. package/dist/index.d.mts +23 -23
  62. package/dist/index.mjs +35 -33
  63. package/dist/json/attributes.json +1 -1
  64. package/dist/json/web-types.json +2 -2
  65. package/dist/launchdarkly-BJR4vbbV.d.mts +13 -0
  66. package/dist/{launchdarkly-BKtW-idu.mjs → launchdarkly-CLGtJCsI.mjs} +6 -4
  67. package/dist/locale/adapters/index.d.mts +3 -3
  68. package/dist/locale/adapters/index.mjs +4 -3
  69. package/dist/locale/adapters/v0/index.d.mts +2 -2
  70. package/dist/locale/adapters/v0/index.mjs +2 -2
  71. package/dist/locale/adapters/vue-i18n/index.d.mts +3 -3
  72. package/dist/locale/adapters/vue-i18n/index.mjs +4 -2
  73. package/dist/locale/index.d.mts +4 -4
  74. package/dist/locale/index.mjs +4 -3
  75. package/dist/logger/adapters/consola/index.d.mts +1 -1
  76. package/dist/logger/adapters/consola/index.mjs +1 -1
  77. package/dist/logger/adapters/index.d.mts +5 -5
  78. package/dist/logger/adapters/index.mjs +6 -5
  79. package/dist/logger/adapters/pino/index.d.mts +1 -1
  80. package/dist/logger/adapters/pino/index.mjs +1 -1
  81. package/dist/logger/adapters/v0/index.d.mts +2 -2
  82. package/dist/logger/adapters/v0/index.mjs +2 -2
  83. package/dist/logger/index.d.mts +6 -6
  84. package/dist/logger/index.mjs +6 -5
  85. package/dist/{memory-CeSQE-QV.d.mts → memory-B0w39kno.d.mts} +9 -9
  86. package/dist/{memory-oYBvtkgx.mjs → memory-BMpJcQjQ.mjs} +13 -3
  87. package/dist/notifications/index.d.mts +30 -4
  88. package/dist/notifications/index.mjs +187 -126
  89. package/dist/palettes/ant/index.d.mts +1 -1
  90. package/dist/palettes/index.d.mts +3 -3
  91. package/dist/palettes/leonardo/generate/index.mjs +3 -0
  92. package/dist/palettes/material/index.d.mts +1 -1
  93. package/dist/palettes/md1/index.d.mts +1 -1
  94. package/dist/palettes/md2/index.d.mts +1 -1
  95. package/dist/palettes/radix/index.d.mts +1 -1
  96. package/dist/palettes/tailwind/index.d.mts +1 -1
  97. package/dist/permissions/adapters/index.d.mts +2 -2
  98. package/dist/permissions/adapters/index.mjs +3 -3
  99. package/dist/permissions/adapters/v0/index.d.mts +2 -2
  100. package/dist/permissions/adapters/v0/index.mjs +2 -2
  101. package/dist/permissions/index.d.mts +2 -2
  102. package/dist/permissions/index.mjs +3 -3
  103. package/dist/{pino-9L79n6y6.mjs → pino-CIcYlW3u.mjs} +3 -1
  104. package/dist/{pino-DNfCEb0p.d.mts → pino-NmR7X0s4.d.mts} +2 -2
  105. package/dist/{posthog-DmuyycaR.mjs → posthog-B3go2aCh.mjs} +7 -5
  106. package/dist/posthog-CQntUXFO.d.mts +13 -0
  107. package/dist/rules/index.d.mts +1 -1
  108. package/dist/rules/index.mjs +1 -1
  109. package/dist/{server-3ilWFwqe.d.mts → server-DQK305lc.d.mts} +5 -5
  110. package/dist/{server-y7zLSCSx.mjs → server-ZFXbgQoY.mjs} +4 -3
  111. package/dist/storage/adapters/index.d.mts +3 -3
  112. package/dist/storage/adapters/index.mjs +2 -2
  113. package/dist/storage/adapters/memory/index.d.mts +2 -2
  114. package/dist/storage/adapters/memory/index.mjs +2 -2
  115. package/dist/storage/index.d.mts +4 -4
  116. package/dist/storage/index.mjs +3 -3
  117. package/dist/theme/adapters/index.d.mts +2 -2
  118. package/dist/theme/adapters/index.mjs +4 -4
  119. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  120. package/dist/theme/adapters/unhead/index.mjs +1 -1
  121. package/dist/theme/adapters/v0/index.d.mts +1 -1
  122. package/dist/theme/adapters/v0/index.mjs +1 -1
  123. package/dist/theme/index.d.mts +1 -1
  124. package/dist/theme/index.mjs +3 -3
  125. package/dist/types/index.d.mts +1 -1
  126. package/dist/{unhead-B-I2OS6i.mjs → unhead-dPyVkgiJ.mjs} +2 -2
  127. package/dist/{useClickOutside-CY4U2J9W.mjs → useClickOutside-B8naChaQ.mjs} +1224 -228
  128. package/dist/{useFeatures-BPOke6iP.mjs → useFeatures-x2iKp0C8.mjs} +7 -10
  129. package/dist/{useLocale-BV8e3imF.mjs → useLocale-BUms59Bw.mjs} +6 -6
  130. package/dist/{useLogger-DvdRTrqC.mjs → useLogger-DPSSa-YR.mjs} +4 -4
  131. package/dist/{useNotifications-vSJE6z6t.mjs → useNotifications-BPTmZWQy.mjs} +4 -4
  132. package/dist/{usePermissions-D3zPwKQc.mjs → usePermissions-CTi-3pBk.mjs} +6 -6
  133. package/dist/{useRules-BT6cgoTj.mjs → useRules-DNhljkyO.mjs} +2 -2
  134. package/dist/{useTheme-cUZb2A9O.mjs → useTheme-3vW3kFNg.mjs} +5 -5
  135. package/dist/utilities/index.d.mts +2 -2
  136. package/dist/utilities/index.mjs +26 -2
  137. package/dist/{v0-DrOub-e1.d.mts → v0-CRGArJim.d.mts} +4 -4
  138. package/dist/{v0-C49OI_wc.mjs → v0-CotC1PiS.mjs} +5 -3
  139. package/dist/{v0-Dq3zhexO.mjs → v0-DAlKpCR8.mjs} +3 -4
  140. package/dist/{v0-D7Fm2C3Y.d.mts → v0-DDELiSI6.d.mts} +3 -3
  141. package/dist/v0-DYsCJPIu.d.mts +8 -0
  142. package/dist/{v0-gpExNexS.mjs → v0-DadOcxFI.mjs} +2 -2
  143. package/dist/{v0-Bmow1q_x.mjs → v0-Dvu8fMl3.mjs} +3 -3
  144. package/dist/{v0-CHZpnMeP.mjs → v0-YJQoTLsp.mjs} +6 -4
  145. package/dist/virtual-BqCRw0ly.d.mts +8 -0
  146. package/dist/{virtual-C0yHf1DC.mjs → virtual-Dnno49F8.mjs} +3 -4
  147. package/package.json +1 -1
  148. package/dist/adapter-58IvIfAZ.d.mts +0 -96
  149. package/dist/adapter-BvWEd9w-.d.mts +0 -17
  150. package/dist/adapter-Dhq68tz0.d.mts +0 -11
  151. package/dist/adapters-BSiqsTZN.mjs +0 -3
  152. package/dist/adapters-C3QXhf4I.mjs +0 -2
  153. package/dist/adapters-CMJGA1k7.mjs +0 -2
  154. package/dist/adapters-Dse4bPxk.mjs +0 -5
  155. package/dist/adapters-_ZqxCD8f.mjs +0 -4
  156. package/dist/createPagination-CHF7SmmK.mjs +0 -247
  157. package/dist/index-1XdASTjp.d.mts +0 -13
  158. package/dist/index-C6rdXZ7j.d.mts +0 -11
  159. package/dist/index-Dp1HjBxJ.d.mts +0 -13
  160. package/dist/v0-CdusXjY_.d.mts +0 -8
  161. package/dist/virtual-D4fckewC.d.mts +0 -8
  162. /package/dist/{adapter-Be9zUc-n.mjs → adapter-oM18AdUc.mjs} +0 -0
  163. /package/dist/{htmlElements-D4oMQZPJ.mjs → htmlElements-CHXZfsZu.mjs} +0 -0
  164. /package/dist/{index-CFhUdAHM.d.mts → index-CKKoxA9V.d.mts} +0 -0
  165. /package/dist/{index-DuddF-NR.d.mts → index-CLR1QMM3.d.mts} +0 -0
  166. /package/dist/{index-BgCkepP_.d.mts → index-DJQwYeyx.d.mts} +0 -0
  167. /package/dist/{index-CROz1VSV.d.mts → index-DWfPppPU.d.mts} +0 -0
  168. /package/dist/{index-DTvqw22G.d.mts → index-H_hl6-4b.d.mts} +0 -0
  169. /package/dist/{toArray-as9BWxBK.mjs → toArray-CD2-OxAz.mjs} +0 -0
@@ -1,17 +1,17 @@
1
- import { t as IN_BROWSER } from "./globals-zEjWBKCr.mjs";
1
+ import { n as isSelfClosingTag } from "./htmlElements-CHXZfsZu.mjs";
2
+ import { t as IN_BROWSER } from "./globals-BAe6tA_x.mjs";
2
3
  import { clamp, isArray, isElement, isNull, isNullOrUndefined, isNumber, isObject, isString, isUndefined, useId as useId$1 } from "./utilities/index.mjs";
3
- import { n as isSelfClosingTag } from "./htmlElements-D4oMQZPJ.mjs";
4
4
  import { n as createContext, r as provideContext } from "./createTrinity-BTCs1pYx.mjs";
5
- import { i as useLogger } from "./useLogger-DvdRTrqC.mjs";
6
- import { t as createRegistry } from "./createRegistry-BXzdXAjq.mjs";
7
- import { t as createSelection } from "./createSelection-B3HJEPNg.mjs";
8
- import { t as createSingle } from "./createSingle-Dql8mRi-.mjs";
9
- import { a as useLocale } from "./useLocale-BV8e3imF.mjs";
10
- import { $ as createSlider, C as usePresence, Dt as createCombobox, M as useImage, Mt as useVirtualFocus, Nt as usePopover, Pt as createBreadcrumbs, S as useProxyModel, St as createInput, X as createStep, _t as createNumberField, a as useToggleScope, b as useRovingFocus, dt as toElement, et as createRating, j as useIntersectionObserver, k as useLazy, lt as useElementSize, n as useDocumentEventListener, ot as createOverflow, p as useStack, r as useEventListener, rt as createProgress, t as useClickOutside, ut as useResizeObserver, wt as createForm, x as useRaf, yt as createNested } from "./useClickOutside-CY4U2J9W.mjs";
11
- import { c as useTimer, i as useNotifications } from "./useNotifications-vSJE6z6t.mjs";
12
- import { t as createGroup } from "./createGroup-CGk6hY_Y.mjs";
13
- import { t as createPagination } from "./createPagination-CHF7SmmK.mjs";
14
- import { i as useTheme } from "./useTheme-cUZb2A9O.mjs";
5
+ import { i as useLogger } from "./useLogger-DPSSa-YR.mjs";
6
+ import { t as createRegistry } from "./createRegistry-Db_juawd.mjs";
7
+ import { t as createSelection } from "./createSelection-BeKZMxha.mjs";
8
+ import { t as createSingle } from "./createSingle-Dms2efxr.mjs";
9
+ import { a as useLocale } from "./useLocale-BUms59Bw.mjs";
10
+ import { A as useIntersectionObserver, At as createForm, Bt as usePopover, C as usePresence, Ct as createNested, Nt as createCombobox, O as useLazy, Ot as createInput, S as useProxyModel, Vt as createBreadcrumbs, a as useToggleScope, b as useRovingFocus, et as createStep, ht as toElement, it as createRating, j as useImage, mt as useResizeObserver, n as useDocumentEventListener, p as useStack, pt as useElementSize, r as useEventListener, rt as createSlider, st as createProgress, t as useClickOutside, ut as createOverflow, x as useRaf, xt as createNumberField, zt as useVirtualFocus } from "./useClickOutside-B8naChaQ.mjs";
11
+ import { c as useTimer, i as useNotifications } from "./useNotifications-BPTmZWQy.mjs";
12
+ import { n as createPagination } from "./adapter-C9cR4AcY.mjs";
13
+ import { t as createGroup } from "./createGroup-BSGtfBUE.mjs";
14
+ import { i as useTheme } from "./useTheme-3vW3kFNg.mjs";
15
15
  import { Fragment, Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, nextTick, normalizeProps, normalizeStyle, onActivated, onBeforeUnmount, onDeactivated, onMounted, onScopeDispose, openBlock, renderList, renderSlot, resolveDynamicComponent, shallowRef, toDisplayString, toRef, toValue, unref, useAttrs, useModel, useTemplateRef, vShow, watch, watchEffect, withCtx, withDirectives } from "vue";
16
16
  //#region src/components/Atom/Atom.vue
17
17
  /**
@@ -313,6 +313,7 @@ const _sfc_main$159 = /* @__PURE__ */ defineComponent({
313
313
  }, { immediate: true });
314
314
  watch(context.isOpen, (isOpen) => {
315
315
  const element = contentRef.value?.element;
316
+ /* v8 ignore next -- defensive guard, element is always present after mount */
316
317
  if (!element) return;
317
318
  if (isOpen) element.showModal?.();
318
319
  else element.close?.();
@@ -1391,7 +1392,7 @@ const _sfc_main$145 = /* @__PURE__ */ defineComponent({
1391
1392
  const selection = createSelection({
1392
1393
  disabled: toRef(() => __props.disabled),
1393
1394
  multiple: toRef(() => __props.multiple),
1394
- mandatory: __props.mandatory,
1395
+ mandatory: toRef(() => __props.mandatory),
1395
1396
  events: true
1396
1397
  });
1397
1398
  useProxyModel(selection, model, { multiple: toRef(() => __props.multiple) });
@@ -1513,7 +1514,7 @@ const _sfc_main$143 = /* @__PURE__ */ defineComponent({
1513
1514
  } catch {}
1514
1515
  const ticket = group?.register({
1515
1516
  value: __props.value,
1516
- disabled: __props.disabled
1517
+ disabled: () => toValue(__props.disabled) ?? false
1517
1518
  });
1518
1519
  const isDisabled = toRef(() => group && ticket ? toValue(ticket.disabled) || toValue(group.disabled) : __props.disabled);
1519
1520
  const isReadonly = toRef(() => __props.readonly);
@@ -1994,6 +1995,7 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
1994
1995
  const scrollPaddingEnd = shallowRef();
1995
1996
  function syncScrollPadding() {
1996
1997
  const element = el.value;
1998
+ /* v8 ignore next 5 -- defensive: ResizeObserver only fires when element exists */
1997
1999
  if (!element) {
1998
2000
  scrollPaddingStart.value = void 0;
1999
2001
  scrollPaddingEnd.value = void 0;
@@ -2002,17 +2004,20 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2002
2004
  const cs = getComputedStyle(element);
2003
2005
  const start = isVertical.value ? cs.paddingBlockStart : cs.paddingInlineStart;
2004
2006
  const end = isVertical.value ? cs.paddingBlockEnd : cs.paddingInlineEnd;
2007
+ /* v8 ignore next 2 -- happy-dom returns no computed padding so '0px' branch always taken */
2005
2008
  scrollPaddingStart.value = start && start !== "0px" ? start : void 0;
2006
2009
  scrollPaddingEnd.value = end && end !== "0px" ? end : void 0;
2007
2010
  }
2008
2011
  useResizeObserver(el, syncScrollPadding, { immediate: true });
2009
2012
  watch(isVertical, syncScrollPadding);
2010
2013
  const slideStep = toRef(() => {
2014
+ /* v8 ignore next -- defensive: getter only invoked after viewport mounts */
2011
2015
  if (!el.value) return 0;
2012
2016
  if ((isVertical.value ? height.value : width.value) === 0) return 0;
2013
2017
  const first = toValue(carousel.seek("first")?.el);
2014
2018
  const second = toValue(carousel.seek("first", 1)?.el);
2015
2019
  if (!first) return 0;
2020
+ /* v8 ignore next 3 -- happy-dom returns 0 for offset* so layout-dependent branches never reach here */
2016
2021
  if (!second) return isVertical.value ? first.offsetHeight : first.offsetWidth;
2017
2022
  return isVertical.value ? second.offsetTop - first.offsetTop : second.offsetLeft - first.offsetLeft;
2018
2023
  });
@@ -2023,11 +2028,13 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2023
2028
  return;
2024
2029
  }
2025
2030
  const viewport = el.value;
2031
+ /* v8 ignore next -- defensive: scrollend fires only on attached element with measured slideStep */
2026
2032
  if (!viewport || slideStep.value === 0) return;
2027
2033
  isDragging.value = false;
2028
2034
  const scrollPos = isVertical.value ? viewport.scrollTop : viewport.scrollLeft;
2029
2035
  const snapIndex = Math.round(scrollPos / slideStep.value);
2030
2036
  const id = carousel.lookup(snapIndex);
2037
+ /* v8 ignore next 3 -- snapIndex resolution requires real layout, not exercised in happy-dom */
2031
2038
  if (!/* @__PURE__ */ isUndefined(id) && id !== carousel.selectedItem.value?.id) carousel.select(id);
2032
2039
  });
2033
2040
  useEventListener(el, "scroll", () => {
@@ -2050,6 +2057,7 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2050
2057
  useEventListener(el, "mousedown", (e) => {
2051
2058
  if (e.button !== 0) return;
2052
2059
  const viewport = el.value;
2060
+ /* v8 ignore next -- defensive: mousedown only fires on attached viewport */
2053
2061
  if (!viewport) return;
2054
2062
  carousel.pause();
2055
2063
  dragStart = isVertical.value ? e.clientY : e.clientX;
@@ -2059,6 +2067,7 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2059
2067
  useToggleScope(() => snapDisabled.value, () => {
2060
2068
  useDocumentEventListener("mousemove", (e) => {
2061
2069
  const viewport = el.value;
2070
+ /* v8 ignore next -- defensive: mousemove only fires within active drag scope */
2062
2071
  if (!viewport) return;
2063
2072
  e.preventDefault();
2064
2073
  const delta = (isVertical.value ? e.clientY : e.clientX) - dragStart;
@@ -2097,6 +2106,7 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2097
2106
  }
2098
2107
  watch(() => carousel.selectedIndex.value, (index) => {
2099
2108
  const viewport = el.value;
2109
+ /* v8 ignore next -- defensive: viewport always present when watch fires after mount */
2100
2110
  if (!viewport || slideStep.value === 0) return;
2101
2111
  syncing.value = true;
2102
2112
  const position = index * slideStep.value;
@@ -2114,6 +2124,7 @@ const _sfc_main$138 = /* @__PURE__ */ defineComponent({
2114
2124
  [isVertical.value ? "overflow-x" : "overflow-y"]: "hidden",
2115
2125
  "scroll-snap-type": snapDisabled.value ? "none" : `${isVertical.value ? "y" : "x"} mandatory`,
2116
2126
  "scrollbar-width": "none",
2127
+ /* v8 ignore next 3 -- happy-dom never sets computed padding so spreads always evaluate to {} */
2117
2128
  ...scrollPaddingStart.value ? { [`scroll-padding-${axis}-start`]: scrollPaddingStart.value } : {},
2118
2129
  ...scrollPaddingEnd.value ? { [`scroll-padding-${axis}-end`]: scrollPaddingEnd.value } : {},
2119
2130
  ...snapDisabled.value ? { "user-select": "none" } : {}
@@ -2167,7 +2178,7 @@ const _sfc_main$137 = /* @__PURE__ */ defineComponent({
2167
2178
  const ticket = carousel.register({
2168
2179
  id: __props.id,
2169
2180
  value: __props.value,
2170
- disabled: __props.disabled,
2181
+ disabled: () => toValue(__props.disabled) ?? false,
2171
2182
  el
2172
2183
  });
2173
2184
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(carousel.disabled));
@@ -2819,8 +2830,8 @@ const _sfc_main$131 = /* @__PURE__ */ defineComponent({
2819
2830
  const model = useModel(__props, "modelValue");
2820
2831
  const group = createGroup({
2821
2832
  disabled: toRef(() => __props.disabled),
2822
- enroll: __props.enroll,
2823
- mandatory: __props.mandatory,
2833
+ enroll: toRef(() => __props.enroll),
2834
+ mandatory: toRef(() => __props.mandatory),
2824
2835
  events: true
2825
2836
  });
2826
2837
  useProxyModel(group, model, { multiple: true });
@@ -2891,8 +2902,8 @@ const _sfc_main$130 = /* @__PURE__ */ defineComponent({
2891
2902
  const ticket = group?.register({
2892
2903
  id: __props.id,
2893
2904
  value: __props.value,
2894
- disabled: __props.disabled,
2895
- indeterminate: __props.indeterminate
2905
+ disabled: () => toValue(__props.disabled) ?? false,
2906
+ indeterminate: () => toValue(__props.indeterminate) ?? false
2896
2907
  });
2897
2908
  const isChecked = toRef(() => ticket ? toValue(ticket.isSelected) : model.value ?? false);
2898
2909
  const isMixed = toRef(() => ticket ? toValue(ticket.isMixed) : toValue(__props.indeterminate) ?? false);
@@ -2972,15 +2983,15 @@ const _sfc_main$130 = /* @__PURE__ */ defineComponent({
2972
2983
  "aria-invalid": __props.ariaInvalid || void 0,
2973
2984
  "tabindex": isDisabled.value ? void 0 : 0,
2974
2985
  "data-state": dataState.value,
2975
- "data-disabled": isDisabled.value ? true : void 0
2986
+ "data-disabled": isDisabled.value ? true : void 0,
2987
+ "onClick": onClick,
2988
+ "onKeydown": onKeydown
2976
2989
  }
2977
2990
  }));
2978
2991
  return (_ctx, _cache) => {
2979
2992
  return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$165), mergeProps(mergeProps(unref(attrs), slotProps.value.attrs), {
2980
2993
  as: __props.as,
2981
- renderless: __props.renderless,
2982
- onClick,
2983
- onKeydown
2994
+ renderless: __props.renderless
2984
2995
  }), {
2985
2996
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
2986
2997
  _: 3
@@ -3651,10 +3662,10 @@ const _sfc_main$121 = /* @__PURE__ */ defineComponent({
3651
3662
  id: __props.id,
3652
3663
  name: __props.name,
3653
3664
  form: __props.form,
3654
- disabled: __props.disabled,
3655
- multiple: __props.multiple,
3656
- mandatory: __props.mandatory,
3657
- strict: __props.strict,
3665
+ disabled: toRef(() => __props.disabled),
3666
+ multiple: toRef(() => __props.multiple),
3667
+ mandatory: toRef(() => __props.mandatory),
3668
+ strict: toRef(() => __props.strict),
3658
3669
  error: () => __props.error,
3659
3670
  errorMessages: () => __props.errorMessages,
3660
3671
  adapter: __props.adapter,
@@ -4019,7 +4030,7 @@ const _sfc_main$113 = /* @__PURE__ */ defineComponent({
4019
4030
  const ticket = context.selection.register({
4020
4031
  id: __props.id,
4021
4032
  value: __props.value,
4022
- disabled: __props.disabled
4033
+ disabled: () => toValue(__props.disabled) ?? false
4023
4034
  });
4024
4035
  const elementId = `${context.id}-option-${ticket.id}`;
4025
4036
  const isSelected = toRef(() => toValue(ticket.isSelected));
@@ -4047,14 +4058,12 @@ const _sfc_main$113 = /* @__PURE__ */ defineComponent({
4047
4058
  "data-selected": isSelected.value || void 0,
4048
4059
  "data-highlighted": isHighlighted.value ? "" : void 0,
4049
4060
  "data-disabled": isDisabled.value || void 0,
4050
- "data-id": String(ticket.id)
4061
+ "data-id": String(ticket.id),
4062
+ "onClick": onClick
4051
4063
  }
4052
4064
  }));
4053
4065
  return (_ctx, _cache) => {
4054
- return withDirectives((openBlock(), createBlock(unref(_sfc_main$165), mergeProps(slotProps.value.attrs, {
4055
- as: __props.as,
4056
- onClick
4057
- }), {
4066
+ return withDirectives((openBlock(), createBlock(unref(_sfc_main$165), mergeProps(slotProps.value.attrs, { as: __props.as }), {
4058
4067
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
4059
4068
  _: 3
4060
4069
  }, 16, ["as"])), [[vShow, isFiltered.value]]);
@@ -4386,6 +4395,7 @@ const _sfc_main$110 = /* @__PURE__ */ defineComponent({
4386
4395
  }, { immediate: true });
4387
4396
  watch(context.isOpen, (isOpen) => {
4388
4397
  const element = contentRef.value?.element;
4398
+ /* v8 ignore next -- defensive guard, element is always present after mount */
4389
4399
  if (!element) return;
4390
4400
  if (isOpen) element.showModal?.();
4391
4401
  else element.close?.();
@@ -4696,12 +4706,12 @@ const _sfc_main$106 = /* @__PURE__ */ defineComponent({
4696
4706
  const isDisabled = toRef(() => __props.disabled);
4697
4707
  const selection = createSelection({
4698
4708
  disabled: isDisabled,
4699
- enroll: __props.enroll,
4700
- mandatory: __props.mandatory,
4701
- multiple: __props.multiple,
4709
+ enroll: toRef(() => __props.enroll),
4710
+ mandatory: toRef(() => __props.mandatory),
4711
+ multiple: toRef(() => __props.multiple),
4702
4712
  events: true
4703
4713
  });
4704
- useProxyModel(selection, model, { multiple: __props.multiple });
4714
+ useProxyModel(selection, model, { multiple: toRef(() => __props.multiple) });
4705
4715
  const slotProps = toRef(() => ({
4706
4716
  isDisabled,
4707
4717
  select: selection.select,
@@ -4739,7 +4749,7 @@ const _sfc_main$105 = /* @__PURE__ */ defineComponent({
4739
4749
  const ticket = selection.register({
4740
4750
  id: __props.id,
4741
4751
  value: __props.value,
4742
- disabled: __props.disabled
4752
+ disabled: () => toValue(__props.disabled) ?? false
4743
4753
  });
4744
4754
  const headerId = toRef(() => `${ticket.id}-header`);
4745
4755
  const contentId = toRef(() => `${ticket.id}-content`);
@@ -5145,8 +5155,8 @@ const _sfc_main$99 = /* @__PURE__ */ defineComponent({
5145
5155
  const model = useModel(__props, "modelValue");
5146
5156
  const group = createGroup({
5147
5157
  disabled: toRef(() => __props.disabled),
5148
- enroll: __props.enroll,
5149
- mandatory: __props.mandatory,
5158
+ enroll: toRef(() => __props.enroll),
5159
+ mandatory: toRef(() => __props.mandatory),
5150
5160
  events: true
5151
5161
  });
5152
5162
  useProxyModel(group, model, { multiple: true });
@@ -5187,8 +5197,8 @@ const _sfc_main$98 = /* @__PURE__ */ defineComponent({
5187
5197
  const ticket = group.register({
5188
5198
  id: __props.id,
5189
5199
  value: __props.value,
5190
- disabled: __props.disabled,
5191
- indeterminate: __props.indeterminate
5200
+ disabled: () => toValue(__props.disabled) ?? false,
5201
+ indeterminate: () => toValue(__props.indeterminate) ?? false
5192
5202
  });
5193
5203
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(group.disabled));
5194
5204
  onBeforeUnmount(() => {
@@ -6329,6 +6339,8 @@ const _sfc_main$86 = /* @__PURE__ */ defineComponent({
6329
6339
  delay.stop();
6330
6340
  spin.stop();
6331
6341
  }
6342
+ useDocumentEventListener("pointerup", stop);
6343
+ useDocumentEventListener("pointercancel", stop);
6332
6344
  function onPointerdown(e) {
6333
6345
  if (isDisabled.value) return;
6334
6346
  if (e.button !== 0) return;
@@ -6468,6 +6480,8 @@ const _sfc_main$83 = /* @__PURE__ */ defineComponent({
6468
6480
  delay.stop();
6469
6481
  spin.stop();
6470
6482
  }
6483
+ useDocumentEventListener("pointerup", stop);
6484
+ useDocumentEventListener("pointercancel", stop);
6471
6485
  function onPointerdown(e) {
6472
6486
  if (isDisabled.value) return;
6473
6487
  if (e.button !== 0) return;
@@ -8125,7 +8139,9 @@ const _sfc_main$64 = /* @__PURE__ */ defineComponent({
8125
8139
  return /* @__PURE__ */ isArray(model.value) ? model.value : [model.value];
8126
8140
  },
8127
8141
  set: (arr) => {
8142
+ /* v8 ignore next -- defensive guard for null/undefined model with empty registry */
8128
8143
  if (/* @__PURE__ */ isNullOrUndefined(model.value) && arr.length === 0) return;
8144
+ /* v8 ignore next -- arr[0] always defined when scalar=true since model started as a number */
8129
8145
  model.value = scalar ? arr[0] ?? 0 : arr;
8130
8146
  }
8131
8147
  });
@@ -8237,10 +8253,11 @@ const _sfc_main$62 = /* @__PURE__ */ defineComponent({
8237
8253
  setup(__props) {
8238
8254
  const attrs = useAttrs();
8239
8255
  const root = useProgressRoot(__props.namespace);
8240
- const ticket = root.register({ value: toRef(() => __props.value ?? 0) });
8256
+ const ticket = /* @__PURE__ */ isUndefined(__props.value) ? root.register() : root.register({ value: toRef(() => __props.value) });
8241
8257
  onBeforeUnmount(() => {
8242
8258
  ticket.unregister();
8243
8259
  });
8260
+ /* v8 ignore next -- defensive: registered ticket.value always coalesces to number via toRef getter above */
8244
8261
  const current = toRef(() => toValue(ticket.value) ?? 0);
8245
8262
  const percent = toRef(() => root.fromValue(current.value));
8246
8263
  const slotProps = toRef(() => ({
@@ -8597,7 +8614,7 @@ const _sfc_main$58 = /* @__PURE__ */ defineComponent({
8597
8614
  const model = useModel(__props, "modelValue");
8598
8615
  const single = createSingle({
8599
8616
  disabled: toRef(() => __props.disabled),
8600
- mandatory: __props.mandatory,
8617
+ mandatory: toRef(() => __props.mandatory),
8601
8618
  events: true
8602
8619
  });
8603
8620
  useProxyModel(single, model, { multiple: false });
@@ -8660,7 +8677,7 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
8660
8677
  const ticket = group.register({
8661
8678
  id: __props.id,
8662
8679
  value: __props.value,
8663
- disabled: __props.disabled,
8680
+ disabled: () => toValue(__props.disabled) ?? false,
8664
8681
  el
8665
8682
  });
8666
8683
  const isChecked = toRef(() => toValue(ticket.isSelected));
@@ -8738,15 +8755,15 @@ const _sfc_main$57 = /* @__PURE__ */ defineComponent({
8738
8755
  "tabindex": isTabbable.value ? 0 : -1,
8739
8756
  "data-state": dataState.value,
8740
8757
  "data-disabled": isDisabled.value ? true : void 0,
8741
- "data-radio-id": __props.id
8758
+ "data-radio-id": __props.id,
8759
+ "onClick": onClick,
8760
+ "onKeydown": onKeydown
8742
8761
  }
8743
8762
  }));
8744
8763
  return (_ctx, _cache) => {
8745
8764
  return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$165), mergeProps({ ref: "root" }, mergeProps(unref(attrs), slotProps.value.attrs), {
8746
8765
  as: __props.as,
8747
- renderless: __props.renderless,
8748
- onClick,
8749
- onKeydown
8766
+ renderless: __props.renderless
8750
8767
  }), {
8751
8768
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
8752
8769
  _: 3
@@ -9481,12 +9498,12 @@ const _sfc_main$49 = /* @__PURE__ */ defineComponent({
9481
9498
  const listboxId = `${id}-listbox`;
9482
9499
  const activatorId = `${id}-activator`;
9483
9500
  const selection = createSelection({
9484
- multiple: __props.multiple,
9485
- mandatory: __props.mandatory,
9501
+ multiple: toRef(() => __props.multiple),
9502
+ mandatory: toRef(() => __props.mandatory),
9486
9503
  disabled: toRef(() => __props.disabled),
9487
9504
  events: true
9488
9505
  });
9489
- useProxyModel(selection, model, { multiple: __props.multiple });
9506
+ useProxyModel(selection, model, { multiple: toRef(() => __props.multiple) });
9490
9507
  const selectedId = toRef(() => selection.selectedIds.values().next().value);
9491
9508
  const popover = usePopover({ id });
9492
9509
  const isOpen = popover.isOpen;
@@ -9732,7 +9749,7 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
9732
9749
  const ticket = context.selection.register({
9733
9750
  id: __props.id,
9734
9751
  value: __props.value,
9735
- disabled: __props.disabled
9752
+ disabled: () => toValue(__props.disabled) ?? false
9736
9753
  });
9737
9754
  const elementId = `${context.id}-option-${ticket.id}`;
9738
9755
  const isSelected = toRef(() => toValue(ticket.isSelected));
@@ -9758,11 +9775,12 @@ const _sfc_main$45 = /* @__PURE__ */ defineComponent({
9758
9775
  "data-selected": isSelected.value || void 0,
9759
9776
  "data-highlighted": isHighlighted.value ? "" : void 0,
9760
9777
  "data-disabled": isDisabled.value || void 0,
9761
- "data-id": String(ticket.id)
9778
+ "data-id": String(ticket.id),
9779
+ "onClick": onClick
9762
9780
  }
9763
9781
  }));
9764
9782
  return (_ctx, _cache) => {
9765
- return openBlock(), createBlock(unref(_sfc_main$165), mergeProps({ as: __props.as }, slotProps.value.attrs, { onClick }), {
9783
+ return openBlock(), createBlock(unref(_sfc_main$165), mergeProps({ as: __props.as }, slotProps.value.attrs), {
9766
9784
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
9767
9785
  _: 3
9768
9786
  }, 16, ["as"]);
@@ -10054,12 +10072,12 @@ const _sfc_main$42 = /* @__PURE__ */ defineComponent({
10054
10072
  const model = useModel(__props, "modelValue");
10055
10073
  const selection = createSelection({
10056
10074
  disabled: toRef(() => __props.disabled),
10057
- enroll: __props.enroll,
10058
- mandatory: __props.mandatory,
10059
- multiple: __props.multiple,
10075
+ enroll: toRef(() => __props.enroll),
10076
+ mandatory: toRef(() => __props.mandatory),
10077
+ multiple: toRef(() => __props.multiple),
10060
10078
  events: true
10061
10079
  });
10062
- useProxyModel(selection, model, { multiple: __props.multiple });
10080
+ useProxyModel(selection, model, { multiple: toRef(() => __props.multiple) });
10063
10081
  provideSelectionRoot(__props.namespace, selection);
10064
10082
  const slotProps = toRef(() => ({
10065
10083
  isDisabled: toValue(selection.disabled),
@@ -10091,7 +10109,7 @@ const _sfc_main$41 = /* @__PURE__ */ defineComponent({
10091
10109
  const ticket = selection.register({
10092
10110
  id: __props.id,
10093
10111
  value: __props.value,
10094
- disabled: __props.disabled
10112
+ disabled: () => toValue(__props.disabled) ?? false
10095
10113
  });
10096
10114
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(selection.disabled));
10097
10115
  onBeforeUnmount(() => {
@@ -10201,8 +10219,8 @@ const _sfc_main$40 = /* @__PURE__ */ defineComponent({
10201
10219
  const model = useModel(__props, "modelValue");
10202
10220
  const single = createSingle({
10203
10221
  disabled: toRef(() => __props.disabled),
10204
- enroll: __props.enroll,
10205
- mandatory: __props.mandatory,
10222
+ enroll: toRef(() => __props.enroll),
10223
+ mandatory: toRef(() => __props.mandatory),
10206
10224
  events: true
10207
10225
  });
10208
10226
  useProxyModel(single, model, { multiple: false });
@@ -10236,7 +10254,7 @@ const _sfc_main$39 = /* @__PURE__ */ defineComponent({
10236
10254
  const ticket = single.register({
10237
10255
  id: __props.id,
10238
10256
  value: __props.value,
10239
- disabled: __props.disabled
10257
+ disabled: () => toValue(__props.disabled) ?? false
10240
10258
  });
10241
10259
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(single.disabled));
10242
10260
  onBeforeUnmount(() => {
@@ -10365,6 +10383,7 @@ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
10365
10383
  const internal = computed({
10366
10384
  get: () => /* @__PURE__ */ isArray(model.value) ? model.value : [model.value],
10367
10385
  set: (arr) => {
10386
+ /* v8 ignore next -- arr[0] always defined when scalar=true since model started with a number */
10368
10387
  model.value = scalar ? arr[0] ?? 0 : arr;
10369
10388
  }
10370
10389
  });
@@ -10385,20 +10404,25 @@ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
10385
10404
  const dragOffset = shallowRef(0);
10386
10405
  function getPercent(e) {
10387
10406
  const el = track.value;
10407
+ /* v8 ignore next -- defensive: pointermove is gated to active drag, track is mounted by then */
10388
10408
  if (!el) return 0;
10389
10409
  const rect = el.getBoundingClientRect();
10390
10410
  return toValue(slider.orientation) === "vertical" ? (rect.bottom - e.clientY - dragOffset.value) / rect.height * 100 : (e.clientX - rect.left - dragOffset.value) / rect.width * 100;
10391
10411
  }
10392
10412
  useToggleScope(() => !/* @__PURE__ */ isNull(dragging.value), () => {
10413
+ /* v8 ignore next 3 -- IN_BROWSER always true in happy-dom test env */
10393
10414
  if (IN_BROWSER) document.documentElement.style.touchAction = "none";
10394
10415
  useDocumentEventListener("pointermove", (e) => {
10416
+ /* v8 ignore next -- defensive: dragging cleared on pointerup */
10395
10417
  if (/* @__PURE__ */ isNull(dragging.value)) return;
10396
10418
  const percent = getPercent(e);
10397
10419
  slider.set(dragging.value, slider.fromPercent(percent));
10398
10420
  });
10399
10421
  useDocumentEventListener("pointerup", () => {
10422
+ /* v8 ignore next 3 -- IN_BROWSER always true in happy-dom test env */
10400
10423
  if (IN_BROWSER) document.documentElement.style.touchAction = "";
10401
10424
  const values = [...slider.values.value];
10425
+ /* v8 ignore next -- end event scalar branch only fires for single-value drag, not exercised */
10402
10426
  emit("end", scalar ? values[0] ?? 0 : values);
10403
10427
  dragging.value = null;
10404
10428
  dragOffset.value = 0;
@@ -10415,6 +10439,7 @@ const _sfc_main$38 = /* @__PURE__ */ defineComponent({
10415
10439
  } else dragOffset.value = 0;
10416
10440
  dragging.value = index;
10417
10441
  const values = [...slider.values.value];
10442
+ /* v8 ignore next -- start event scalar branch only fires for single-value drag, not exercised */
10418
10443
  emit("start", scalar ? values[0] ?? 0 : values);
10419
10444
  }
10420
10445
  const context = {
@@ -11231,6 +11256,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11231
11256
  const handles = createRegistry();
11232
11257
  watch(() => panels.collection.size, (size, prev) => {
11233
11258
  const values = panels.values();
11259
+ /* v8 ignore next -- defensive: watch fires only when panel registry has at least one entry */
11234
11260
  if (values.length === 0) return;
11235
11261
  const total = values.reduce((sum, t) => sum + t.size, 0);
11236
11262
  if (total === 0 || total === 100) return;
@@ -11249,6 +11275,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11249
11275
  function resize(index, delta, options) {
11250
11276
  const before = panel(index);
11251
11277
  const after = panel(index + 1);
11278
+ /* v8 ignore next -- defensive: resize only invoked between adjacent panels */
11252
11279
  if (!before || !after) return;
11253
11280
  const total = before.size + after.size;
11254
11281
  const min1 = effectiveMin(before);
@@ -11291,8 +11318,10 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11291
11318
  }
11292
11319
  function collapse(index, neighborIndex) {
11293
11320
  const ticket = panel(index);
11321
+ /* v8 ignore next -- defensive: collapse called only on collapsible+selected panels */
11294
11322
  if (!ticket?.collapsible || !toValue(ticket.isSelected)) return;
11295
11323
  const neighbor = panel(neighborIndex ?? (index > 0 ? index - 1 : index + 1));
11324
+ /* v8 ignore next -- defensive: at least one neighbor exists when there are 2+ panels */
11296
11325
  if (!neighbor) return;
11297
11326
  const diff = ticket.size - ticket.collapsedSize;
11298
11327
  const absorbed = Math.min(diff, neighbor.maxSize - neighbor.size);
@@ -11312,12 +11341,15 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11312
11341
  }
11313
11342
  function expand(index, neighborIndex) {
11314
11343
  const ticket = panel(index);
11344
+ /* v8 ignore next -- defensive: expand called only on collapsible+collapsed panels */
11315
11345
  if (!ticket?.collapsible || toValue(ticket.isSelected)) return;
11316
11346
  const neighbor = panel(neighborIndex ?? (index > 0 ? index - 1 : index + 1));
11347
+ /* v8 ignore next -- defensive: at least one neighbor exists when there are 2+ panels */
11317
11348
  if (!neighbor) return;
11318
11349
  const diff = Math.min(ticket.defaultSize, ticket.maxSize) - ticket.collapsedSize;
11319
11350
  const available = neighbor.size - neighbor.minSize;
11320
11351
  const take = Math.min(diff, available);
11352
+ /* v8 ignore next -- defensive: only triggers when neighbor has insufficient space */
11321
11353
  if (ticket.collapsedSize + take < ticket.minSize) return;
11322
11354
  neighbor.size -= take;
11323
11355
  ticket.size = ticket.collapsedSize + take;
@@ -11341,6 +11373,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11341
11373
  remainder -= adjust;
11342
11374
  }
11343
11375
  for (const ticket of values) {
11376
+ /* v8 ignore next -- defensive: existing tests use collapsible panels */
11344
11377
  if (!ticket.collapsible) continue;
11345
11378
  const collapsed = !toValue(ticket.isSelected);
11346
11379
  if (!collapsed && ticket.size <= ticket.collapsedSize) ticket.unselect();
@@ -11352,6 +11385,7 @@ const _sfc_main$28 = /* @__PURE__ */ defineComponent({
11352
11385
  draggingHandle.value = index;
11353
11386
  }
11354
11387
  function onEndDrag() {
11388
+ if (/* @__PURE__ */ isNull(draggingHandle.value)) return;
11355
11389
  draggingHandle.value = null;
11356
11390
  expandAccum.clear();
11357
11391
  emitLayout();
@@ -11448,7 +11482,9 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
11448
11482
  function isPx(value) {
11449
11483
  return /* @__PURE__ */ isString(value) && value.endsWith("px");
11450
11484
  }
11451
- if (isPx(__props.defaultSize) || isPx(__props.minSize) || isPx(__props.maxSize) || isPx(__props.collapsedSize)) useResizeObserver(splitter.rootEl, (entries) => {
11485
+ if (isPx(__props.defaultSize) || isPx(__props.minSize) || isPx(__props.maxSize) || isPx(__props.collapsedSize))
11486
+ /* v8 ignore start -- px-mode panels not exercised in happy-dom (no real layout) */
11487
+ useResizeObserver(splitter.rootEl, (entries) => {
11452
11488
  const rect = entries[0]?.contentRect;
11453
11489
  rootSize.value = splitter.orientation.value === "horizontal" ? rect?.width ?? 0 : rect?.height ?? 0;
11454
11490
  });
@@ -11456,11 +11492,13 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
11456
11492
  if (!/* @__PURE__ */ isString(value)) return value;
11457
11493
  const num = Number.parseFloat(value);
11458
11494
  if (Number.isNaN(num)) return fallback;
11495
+ /* v8 ignore start -- px-mode conversion path not exercised in happy-dom (no real layout) */
11459
11496
  if (value.endsWith("px")) {
11460
11497
  const root = splitter.rootEl.value;
11461
11498
  const dimension = rootSize.value || (splitter.orientation.value === "horizontal" ? root?.offsetWidth : root?.offsetHeight) || 0;
11462
11499
  return dimension > 0 ? num / dimension * 100 : fallback;
11463
11500
  }
11501
+ /* v8 ignore stop */
11464
11502
  return num;
11465
11503
  }
11466
11504
  const ticket = splitter.panels.register({
@@ -11580,9 +11618,11 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
11580
11618
  if (hovering.value) return "hover";
11581
11619
  return "inactive";
11582
11620
  });
11621
+ /* v8 ignore next -- defensive: the handle's index always points to a registered panel */
11583
11622
  const valuenow = toRef(() => Math.round(splitter.panel(ticket.index)?.size ?? 0));
11584
11623
  const valuemin = toRef(() => {
11585
11624
  const p = splitter.panel(ticket.index);
11625
+ /* v8 ignore next -- defensive: handle's index always resolves to a registered panel */
11586
11626
  if (!p) return 0;
11587
11627
  return p.collapsible ? p.collapsedSize : p.minSize;
11588
11628
  });
@@ -11606,8 +11646,10 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
11606
11646
  useToggleScope(() => splitter.draggingHandle.value === ticket.index, () => {
11607
11647
  const update = useRaf(() => {
11608
11648
  const root = splitter.rootEl.value;
11649
+ /* v8 ignore next -- defensive: drag scope only enters with a mounted root */
11609
11650
  if (!root) return;
11610
11651
  const rootSize = isHorizontal.value ? root.offsetWidth : root.offsetHeight;
11652
+ /* v8 ignore next -- happy-dom returns 0 for offset dimensions; not exercised in tests */
11611
11653
  if (!rootSize) return;
11612
11654
  const delta = (latestPos - startPosition.value) / rootSize * 100;
11613
11655
  startPosition.value = latestPos;
@@ -11619,6 +11661,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
11619
11661
  });
11620
11662
  useDocumentEventListener("pointerup", () => {
11621
11663
  update.cancel();
11664
+ /* v8 ignore next 4 -- IN_BROWSER always true in happy-dom test env */
11622
11665
  if (IN_BROWSER) {
11623
11666
  document.documentElement.style.userSelect = "";
11624
11667
  document.documentElement.style.touchAction = "";
@@ -11627,6 +11670,7 @@ const _sfc_main$26 = /* @__PURE__ */ defineComponent({
11627
11670
  });
11628
11671
  onScopeDispose(() => {
11629
11672
  splitter.onEndDrag();
11673
+ /* v8 ignore next 4 -- IN_BROWSER always true in happy-dom test env */
11630
11674
  if (IN_BROWSER) {
11631
11675
  document.documentElement.style.userSelect = "";
11632
11676
  document.documentElement.style.touchAction = "";
@@ -11849,8 +11893,8 @@ const _sfc_main$25 = /* @__PURE__ */ defineComponent({
11849
11893
  const model = useModel(__props, "modelValue");
11850
11894
  const step = createStep({
11851
11895
  disabled: toRef(() => __props.disabled),
11852
- enroll: __props.enroll,
11853
- mandatory: __props.mandatory,
11896
+ enroll: toRef(() => __props.enroll),
11897
+ mandatory: toRef(() => __props.mandatory),
11854
11898
  events: true
11855
11899
  });
11856
11900
  useProxyModel(step, model, { multiple: false });
@@ -11889,7 +11933,7 @@ const _sfc_main$24 = /* @__PURE__ */ defineComponent({
11889
11933
  const ticket = step.register({
11890
11934
  id: __props.id,
11891
11935
  value: __props.value,
11892
- disabled: __props.disabled
11936
+ disabled: () => toValue(__props.disabled) ?? false
11893
11937
  });
11894
11938
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(step.disabled));
11895
11939
  onBeforeUnmount(() => {
@@ -12002,8 +12046,8 @@ const _sfc_main$23 = /* @__PURE__ */ defineComponent({
12002
12046
  const model = useModel(__props, "modelValue");
12003
12047
  const group = createGroup({
12004
12048
  disabled: toRef(() => __props.disabled),
12005
- enroll: __props.enroll,
12006
- mandatory: __props.mandatory,
12049
+ enroll: toRef(() => __props.enroll),
12050
+ mandatory: toRef(() => __props.mandatory),
12007
12051
  events: true
12008
12052
  });
12009
12053
  useProxyModel(group, model, { multiple: true });
@@ -12074,8 +12118,8 @@ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
12074
12118
  const ticket = group?.register({
12075
12119
  id: __props.id,
12076
12120
  value: __props.value,
12077
- disabled: __props.disabled,
12078
- indeterminate: __props.indeterminate
12121
+ disabled: () => toValue(__props.disabled) ?? false,
12122
+ indeterminate: () => toValue(__props.indeterminate) ?? false
12079
12123
  });
12080
12124
  const isChecked = toRef(() => ticket ? toValue(ticket.isSelected) : model.value ?? false);
12081
12125
  const isMixed = toRef(() => ticket ? toValue(ticket.isMixed) : toValue(__props.indeterminate) ?? false);
@@ -12155,15 +12199,15 @@ const _sfc_main$22 = /* @__PURE__ */ defineComponent({
12155
12199
  "aria-invalid": __props.ariaInvalid || void 0,
12156
12200
  "tabindex": isDisabled.value ? void 0 : 0,
12157
12201
  "data-state": dataState.value,
12158
- "data-disabled": isDisabled.value ? true : void 0
12202
+ "data-disabled": isDisabled.value ? true : void 0,
12203
+ "onClick": onClick,
12204
+ "onKeydown": onKeydown
12159
12205
  }
12160
12206
  }));
12161
12207
  return (_ctx, _cache) => {
12162
12208
  return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(_sfc_main$165), mergeProps(mergeProps(unref(attrs), slotProps.value.attrs), {
12163
12209
  as: __props.as,
12164
- renderless: __props.renderless,
12165
- onClick,
12166
- onKeydown
12210
+ renderless: __props.renderless
12167
12211
  }), {
12168
12212
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
12169
12213
  _: 3
@@ -12607,8 +12651,8 @@ const _sfc_main$17 = /* @__PURE__ */ defineComponent({
12607
12651
  const rootId = /* @__PURE__ */ useId$1();
12608
12652
  const step = createStep({
12609
12653
  disabled: toRef(() => __props.disabled),
12610
- enroll: __props.enroll,
12611
- mandatory: __props.mandatory,
12654
+ enroll: toRef(() => __props.enroll),
12655
+ mandatory: toRef(() => __props.mandatory),
12612
12656
  circular: __props.circular,
12613
12657
  events: true
12614
12658
  });
@@ -12703,7 +12747,7 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
12703
12747
  const ticket = tabs.register({
12704
12748
  id: __props.id,
12705
12749
  value: __props.value,
12706
- disabled: __props.disabled,
12750
+ disabled: () => toValue(__props.disabled) ?? false,
12707
12751
  el
12708
12752
  });
12709
12753
  const isDisabled = toRef(() => toValue(ticket.disabled) || toValue(tabs.disabled));
@@ -13022,14 +13066,14 @@ const _sfc_main$12 = /* @__PURE__ */ defineComponent({
13022
13066
  const model = useModel(__props, "modelValue");
13023
13067
  const selection = __props.multiple ? createGroup({
13024
13068
  disabled: toRef(() => __props.disabled),
13025
- mandatory: __props.mandatory,
13069
+ mandatory: toRef(() => __props.mandatory),
13026
13070
  events: true
13027
13071
  }) : createSingle({
13028
13072
  disabled: toRef(() => __props.disabled),
13029
- mandatory: __props.mandatory,
13073
+ mandatory: toRef(() => __props.mandatory),
13030
13074
  events: true
13031
13075
  });
13032
- useProxyModel(selection, model, { multiple: __props.multiple });
13076
+ useProxyModel(selection, model, { multiple: toRef(() => __props.multiple) });
13033
13077
  provideToggleGroup(__props.namespace, {
13034
13078
  disabled: toRef(() => __props.disabled),
13035
13079
  orientation: toRef(() => __props.orientation),
@@ -13093,7 +13137,7 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
13093
13137
  const ticket = group?.selection.register({
13094
13138
  id: __props.id,
13095
13139
  value: __props.value,
13096
- disabled: __props.disabled
13140
+ disabled: () => toValue(__props.disabled) ?? false
13097
13141
  });
13098
13142
  const isPressed = toRef(() => ticket ? toValue(ticket.isSelected) : pressed.value);
13099
13143
  const isDisabled = toRef(() => group && ticket ? toValue(ticket.disabled) || toValue(group.disabled) : __props.disabled);
@@ -13132,15 +13176,15 @@ const _sfc_main$11 = /* @__PURE__ */ defineComponent({
13132
13176
  "aria-disabled": isDisabled.value,
13133
13177
  "tabindex": isDisabled.value ? void 0 : 0,
13134
13178
  "data-state": isPressed.value ? "on" : "off",
13135
- "data-disabled": isDisabled.value ? true : void 0
13179
+ "data-disabled": isDisabled.value ? true : void 0,
13180
+ "onClick": onClick,
13181
+ "onKeydown": onKeydown
13136
13182
  }
13137
13183
  }));
13138
13184
  return (_ctx, _cache) => {
13139
13185
  return openBlock(), createBlock(unref(_sfc_main$165), mergeProps(mergeProps(unref(attrs), slotProps.value.attrs), {
13140
13186
  as: __props.as,
13141
- renderless: __props.renderless,
13142
- onClick,
13143
- onKeydown
13187
+ renderless: __props.renderless
13144
13188
  }), {
13145
13189
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps(slotProps.value)))]),
13146
13190
  _: 3
@@ -13315,9 +13359,9 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
13315
13359
  const model = useModel(__props, "modelValue");
13316
13360
  const nested = createNested({
13317
13361
  disabled: toRef(() => __props.disabled),
13318
- enroll: __props.enroll,
13319
- mandatory: __props.mandatory,
13320
- multiple: __props.multiple,
13362
+ enroll: toRef(() => __props.enroll),
13363
+ mandatory: toRef(() => __props.mandatory),
13364
+ multiple: toRef(() => __props.multiple),
13321
13365
  open: __props.open,
13322
13366
  openAll: __props.openAll,
13323
13367
  reveal: __props.reveal,
@@ -13373,12 +13417,15 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13373
13417
  if (match && roving.focusedId.value !== match.id) roving.focusedId.value = match.id;
13374
13418
  }
13375
13419
  function expandable(ticket) {
13420
+ /* v8 ignore next -- defensive: callers always pass a registered ticket */
13376
13421
  if (!ticket) return false;
13377
13422
  return (toValue(ticket.el)?.hasAttribute("aria-expanded") ?? false) || !toValue(ticket.isLeaf);
13378
13423
  }
13379
13424
  function isRtl(e) {
13425
+ /* v8 ignore next -- IN_BROWSER always true in happy-dom test env */
13380
13426
  if (!IN_BROWSER) return false;
13381
13427
  const el = e.currentTarget;
13428
+ /* v8 ignore next -- defensive: keydown handlers always have a currentTarget */
13382
13429
  return el ? getComputedStyle(el).direction === "rtl" : false;
13383
13430
  }
13384
13431
  function openOrChild(ticket) {
@@ -13447,6 +13494,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
13447
13494
  }
13448
13495
  const slotProps = toRef(() => ({ attrs: {
13449
13496
  "role": "tree",
13497
+ /* v8 ignore next -- nested.multiple fallback used when multiselectable prop is undefined */
13450
13498
  "aria-multiselectable": __props.multiselectable ?? nested.multiple,
13451
13499
  "aria-label": __props.label || void 0,
13452
13500
  onKeydown,
@@ -13485,7 +13533,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
13485
13533
  const ticket = nested.register({
13486
13534
  id: __props.id,
13487
13535
  value: __props.value,
13488
- disabled: __props.disabled,
13536
+ disabled: () => toValue(__props.disabled) ?? false,
13489
13537
  parentId,
13490
13538
  el
13491
13539
  });