@code-coaching/vuetiful 0.16.6 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/README.md +3 -4
  2. package/dist/style.css +1 -1
  3. package/dist/styles/all.css +173 -7
  4. package/dist/types/components/index.d.ts +2 -2
  5. package/dist/types/components/molecules/VListbox/VListbox.test.d.ts +1 -0
  6. package/dist/types/components/molecules/VListbox/VListbox.vue.d.ts +100 -0
  7. package/dist/types/components/molecules/VListbox/VListboxButton.test.d.ts +1 -0
  8. package/dist/types/components/molecules/VListbox/VListboxButton.vue.d.ts +23 -0
  9. package/dist/types/components/molecules/VListbox/VListboxItem.test.d.ts +1 -0
  10. package/dist/types/components/molecules/VListbox/VListboxItem.vue.d.ts +12 -0
  11. package/dist/types/components/molecules/VListbox/VListboxItems.test.d.ts +1 -0
  12. package/dist/types/components/molecules/VListbox/VListboxItems.vue.d.ts +23 -0
  13. package/dist/types/components/molecules/VListbox/VListboxLabel.test.d.ts +1 -0
  14. package/dist/types/components/molecules/VListbox/VListboxLabel.vue.d.ts +14 -0
  15. package/dist/types/components/molecules/VTabs/VTab.test.d.ts +1 -0
  16. package/dist/types/components/molecules/VTabs/VTab.vue.d.ts +14 -0
  17. package/dist/types/components/molecules/VTabs/VTabPanel.test.d.ts +1 -0
  18. package/dist/types/components/molecules/VTabs/VTabPanel.vue.d.ts +2 -0
  19. package/dist/types/components/molecules/VTabs/VTabs.test.d.ts +1 -0
  20. package/dist/types/components/molecules/VTabs/VTabs.vue.d.ts +86 -0
  21. package/dist/types/components/molecules/index.d.ts +10 -2
  22. package/dist/vuetiful.es.mjs +1333 -392
  23. package/dist/vuetiful.umd.js +12 -12
  24. package/package.json +1 -1
  25. package/src/components/atoms/VAvatar.vue +7 -1
  26. package/src/components/atoms/VBadge.test.ts +1 -1
  27. package/src/components/atoms/VChip.test.ts +1 -1
  28. package/src/components/atoms/VCodeBlock.test.ts +2 -2
  29. package/src/components/atoms/VLightSwitch.test.ts +2 -2
  30. package/src/components/atoms/VRadio/VRadioDescription.vue +3 -3
  31. package/src/components/atoms/VRadio/VRadioGroup.test.ts +4 -4
  32. package/src/components/atoms/VRadio/VRadioItem.test.ts +14 -14
  33. package/src/components/atoms/VSwitch/VSwitch.test.ts +4 -27
  34. package/src/components/atoms/VSwitch/VSwitchDescription.test.ts +1 -2
  35. package/src/components/atoms/VSwitch/VSwitchDescription.vue +2 -2
  36. package/src/components/atoms/VSwitch/VSwitchGroup.test.ts +2 -2
  37. package/src/components/atoms/VSwitch/VSwitchGroup.vue +2 -2
  38. package/src/components/atoms/VSwitch/VSwitchLabel.test.ts +3 -3
  39. package/src/components/atoms/VSwitch/VSwitchLabel.vue +3 -3
  40. package/src/components/index.ts +2 -2
  41. package/src/components/molecules/VDrawer.test.ts +2 -2
  42. package/src/components/molecules/VDrawer.vue +1 -1
  43. package/src/components/molecules/VListbox/VListbox.test.ts +119 -0
  44. package/src/components/molecules/VListbox/VListbox.vue +119 -0
  45. package/src/components/molecules/VListbox/VListboxButton.test.ts +57 -0
  46. package/src/components/molecules/VListbox/VListboxButton.vue +48 -0
  47. package/src/components/molecules/VListbox/VListboxItem.test.ts +51 -0
  48. package/src/components/molecules/VListbox/VListboxItem.vue +29 -0
  49. package/src/components/molecules/VListbox/VListboxItems.test.ts +44 -0
  50. package/src/components/molecules/VListbox/VListboxItems.vue +31 -0
  51. package/src/components/molecules/VListbox/VListboxLabel.test.ts +31 -0
  52. package/src/components/molecules/VListbox/VListboxLabel.vue +14 -0
  53. package/src/components/molecules/VPreview.test.ts +2 -2
  54. package/src/components/molecules/VRail.test.ts +2 -2
  55. package/src/components/molecules/VRailTile.test.ts +2 -2
  56. package/src/components/molecules/VShell.test.ts +2 -2
  57. package/src/components/molecules/VTabs/VTab.test.ts +122 -0
  58. package/src/components/molecules/VTabs/VTab.vue +39 -0
  59. package/src/components/molecules/VTabs/VTabPanel.test.ts +23 -0
  60. package/src/components/molecules/VTabs/VTabPanel.vue +9 -0
  61. package/src/components/molecules/VTabs/VTabs.test.ts +90 -0
  62. package/src/components/molecules/VTabs/VTabs.vue +84 -0
  63. package/src/components/molecules/index.ts +26 -2
  64. package/src/styles/elements/buttons.css +1 -1
@@ -1,11 +1,11 @@
1
- import { defineComponent, ref, computed, useAttrs, openBlock, createElementBlock, normalizeClass, createElementVNode, unref, toDisplayString, renderSlot, createBlock, resolveDynamicComponent, withCtx, withDirectives, createTextVNode, onMounted, Fragment, cloneVNode, h as h$1, watchEffect, provide, onUnmounted, inject, toRaw, watch, createCommentVNode, reactive, readonly, toRefs, createVNode, Transition, mergeProps, renderList, pushScopeId, popScopeId, resolveComponent } from "vue";
2
- const _hoisted_1$a = ["src", "alt"];
3
- const _hoisted_2$5 = {
1
+ import { defineComponent, ref, computed, useAttrs, openBlock, createElementBlock, normalizeClass, createElementVNode, unref, toDisplayString, renderSlot, createBlock, resolveDynamicComponent, withCtx, withDirectives, createTextVNode, onMounted, Fragment, cloneVNode, h as h$1, inject, provide, watchEffect, onUnmounted, watch, nextTick, toRaw, createCommentVNode, reactive, readonly, toRefs, createVNode, Transition, renderList, pushScopeId, popScopeId, mergeProps, vShow, resolveComponent } from "vue";
2
+ const _hoisted_1$b = ["src", "alt"];
3
+ const _hoisted_2$6 = {
4
4
  key: 1,
5
5
  class: "avatar-initials h-full w-full",
6
6
  viewBox: "0 0 512 512"
7
7
  };
8
- const _sfc_main$j = /* @__PURE__ */ defineComponent({
8
+ const _sfc_main$r = /* @__PURE__ */ defineComponent({
9
9
  __name: "VAvatar",
10
10
  props: {
11
11
  initials: { type: String, default: "" },
@@ -39,7 +39,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
39
39
  src: imgSrc.value,
40
40
  alt: __props.alt,
41
41
  onError: _cache[0] || (_cache[0] = () => imgSrc.value = __props.fallback)
42
- }, null, 40, _hoisted_1$a)) : (openBlock(), createElementBlock("svg", _hoisted_2$5, [
42
+ }, null, 40, _hoisted_1$b)) : (openBlock(), createElementBlock("svg", _hoisted_2$6, [
43
43
  createElementVNode("text", {
44
44
  x: "50%",
45
45
  y: "50%",
@@ -61,17 +61,17 @@ var _export_sfc = (sfc, props) => {
61
61
  }
62
62
  return target;
63
63
  };
64
- const _sfc_main$i = {};
65
- const _hoisted_1$9 = {
64
+ const _sfc_main$q = {};
65
+ const _hoisted_1$a = {
66
66
  class: /* @__PURE__ */ normalizeClass(`vuetiful-badge badge`)
67
67
  };
68
68
  function _sfc_render$3(_ctx, _cache) {
69
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
69
+ return openBlock(), createElementBlock("div", _hoisted_1$a, [
70
70
  renderSlot(_ctx.$slots, "default")
71
71
  ]);
72
72
  }
73
- var VBadge = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["render", _sfc_render$3]]);
74
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
73
+ var VBadge = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$3]]);
74
+ const _sfc_main$p = /* @__PURE__ */ defineComponent({
75
75
  __name: "VButton",
76
76
  props: {
77
77
  icon: {
@@ -121,16 +121,16 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
121
121
  };
122
122
  }
123
123
  });
124
- const _sfc_main$g = {};
125
- const _hoisted_1$8 = {
124
+ const _sfc_main$o = {};
125
+ const _hoisted_1$9 = {
126
126
  class: /* @__PURE__ */ normalizeClass(`vuetiful-chip chip`)
127
127
  };
128
128
  function _sfc_render$2(_ctx, _cache) {
129
- return openBlock(), createElementBlock("div", _hoisted_1$8, [
129
+ return openBlock(), createElementBlock("div", _hoisted_1$9, [
130
130
  renderSlot(_ctx.$slots, "default")
131
131
  ]);
132
132
  }
133
- var VChip = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["render", _sfc_render$2]]);
133
+ var VChip = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$2]]);
134
134
  var deepFreezeEs6 = { exports: {} };
135
135
  function deepFreeze(obj) {
136
136
  if (obj instanceof Map) {
@@ -188,7 +188,7 @@ const scopeToCSSClass = (name, { prefix }) => {
188
188
  const pieces = name.split(".");
189
189
  return [
190
190
  `${prefix}${pieces.shift()}`,
191
- ...pieces.map((x, i2) => `${x}${"_".repeat(i2 + 1)}`)
191
+ ...pieces.map((x2, i2) => `${x2}${"_".repeat(i2 + 1)}`)
192
192
  ].join(" ");
193
193
  }
194
194
  return `${prefix}${name}`;
@@ -339,7 +339,7 @@ function optional(re2) {
339
339
  return concat$2("(?:", re2, ")?");
340
340
  }
341
341
  function concat$2(...args) {
342
- const joined = args.map((x) => source$2(x)).join("");
342
+ const joined = args.map((x2) => source$2(x2)).join("");
343
343
  return joined;
344
344
  }
345
345
  function stripOptionsFromArgs$2(args) {
@@ -353,7 +353,7 @@ function stripOptionsFromArgs$2(args) {
353
353
  }
354
354
  function either$2(...args) {
355
355
  const opts = stripOptionsFromArgs$2(args);
356
- const joined = "(" + (opts.capture ? "" : "?:") + args.map((x) => source$2(x)).join("|") + ")";
356
+ const joined = "(" + (opts.capture ? "" : "?:") + args.map((x2) => source$2(x2)).join("|") + ")";
357
357
  return joined;
358
358
  }
359
359
  function countMatchGroups(re2) {
@@ -669,7 +669,7 @@ function compileKeywords(rawKeywords, caseInsensitive, scopeName = DEFAULT_KEYWO
669
669
  return compiledKeywords;
670
670
  function compileList(scopeName2, keywordList) {
671
671
  if (caseInsensitive) {
672
- keywordList = keywordList.map((x) => x.toLowerCase());
672
+ keywordList = keywordList.map((x2) => x2.toLowerCase());
673
673
  }
674
674
  keywordList.forEach(function(keyword) {
675
675
  const pair = keyword.split("|");
@@ -5634,7 +5634,7 @@ function brainfuck(hljs2) {
5634
5634
  };
5635
5635
  }
5636
5636
  var brainfuck_1 = brainfuck;
5637
- function c$2(hljs2) {
5637
+ function c$3(hljs2) {
5638
5638
  const regex = hljs2.regex;
5639
5639
  const C_LINE_COMMENT_MODE2 = hljs2.COMMENT("//", "$", { contains: [{ begin: /\\\n/ }] });
5640
5640
  const DECLTYPE_AUTO_RE = "decltype\\(auto\\)";
@@ -5897,7 +5897,7 @@ function c$2(hljs2) {
5897
5897
  }
5898
5898
  };
5899
5899
  }
5900
- var c_1 = c$2;
5900
+ var c_1 = c$3;
5901
5901
  function cal(hljs2) {
5902
5902
  const regex = hljs2.regex;
5903
5903
  const KEYWORDS2 = [
@@ -9352,7 +9352,7 @@ function css(hljs2) {
9352
9352
  };
9353
9353
  }
9354
9354
  var css_1 = css;
9355
- function d$3(hljs2) {
9355
+ function d$4(hljs2) {
9356
9356
  const D_KEYWORDS = {
9357
9357
  $pattern: hljs2.UNDERSCORE_IDENT_RE,
9358
9358
  keyword: "abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",
@@ -9462,7 +9462,7 @@ function d$3(hljs2) {
9462
9462
  ]
9463
9463
  };
9464
9464
  }
9465
- var d_1 = d$3;
9465
+ var d_1 = d$4;
9466
9466
  function markdown(hljs2) {
9467
9467
  const regex = hljs2.regex;
9468
9468
  const INLINE_HTML = {
@@ -10863,10 +10863,10 @@ function elixir(hljs2) {
10863
10863
  const LOWERCASE_SIGIL = {
10864
10864
  className: "string",
10865
10865
  begin: "~[a-z](?=" + SIGIL_DELIMITERS + ")",
10866
- contains: SIGIL_DELIMITER_MODES.map((x) => hljs2.inherit(
10867
- x,
10866
+ contains: SIGIL_DELIMITER_MODES.map((x2) => hljs2.inherit(
10867
+ x2,
10868
10868
  { contains: [
10869
- escapeSigilEnd(x.end),
10869
+ escapeSigilEnd(x2.end),
10870
10870
  BACKSLASH_ESCAPE2,
10871
10871
  SUBST
10872
10872
  ] }
@@ -10875,9 +10875,9 @@ function elixir(hljs2) {
10875
10875
  const UPCASE_SIGIL = {
10876
10876
  className: "string",
10877
10877
  begin: "~[A-Z](?=" + SIGIL_DELIMITERS + ")",
10878
- contains: SIGIL_DELIMITER_MODES.map((x) => hljs2.inherit(
10879
- x,
10880
- { contains: [escapeSigilEnd(x.end)] }
10878
+ contains: SIGIL_DELIMITER_MODES.map((x2) => hljs2.inherit(
10879
+ x2,
10880
+ { contains: [escapeSigilEnd(x2.end)] }
10881
10881
  ))
10882
10882
  };
10883
10883
  const REGEX_SIGIL = {
@@ -10885,12 +10885,12 @@ function elixir(hljs2) {
10885
10885
  variants: [
10886
10886
  {
10887
10887
  begin: "~r(?=" + SIGIL_DELIMITERS + ")",
10888
- contains: SIGIL_DELIMITER_MODES.map((x) => hljs2.inherit(
10889
- x,
10888
+ contains: SIGIL_DELIMITER_MODES.map((x2) => hljs2.inherit(
10889
+ x2,
10890
10890
  {
10891
- end: regex.concat(x.end, /[uismxfU]{0,7}/),
10891
+ end: regex.concat(x2.end, /[uismxfU]{0,7}/),
10892
10892
  contains: [
10893
- escapeSigilEnd(x.end),
10893
+ escapeSigilEnd(x2.end),
10894
10894
  BACKSLASH_ESCAPE2,
10895
10895
  SUBST
10896
10896
  ]
@@ -10900,11 +10900,11 @@ function elixir(hljs2) {
10900
10900
  {
10901
10901
  begin: "~R(?=" + SIGIL_DELIMITERS + ")",
10902
10902
  contains: SIGIL_DELIMITER_MODES.map(
10903
- (x) => hljs2.inherit(
10904
- x,
10903
+ (x2) => hljs2.inherit(
10904
+ x2,
10905
10905
  {
10906
- end: regex.concat(x.end, /[uismxfU]{0,7}/),
10907
- contains: [escapeSigilEnd(x.end)]
10906
+ end: regex.concat(x2.end, /[uismxfU]{0,7}/),
10907
+ contains: [escapeSigilEnd(x2.end)]
10908
10908
  }
10909
10909
  )
10910
10910
  )
@@ -11752,7 +11752,7 @@ function erlang(hljs2) {
11752
11752
  returnBegin: true,
11753
11753
  keywords: {
11754
11754
  $pattern: "-" + hljs2.IDENT_RE,
11755
- keyword: DIRECTIVES.map((x) => `${x}|1.5`).join(" ")
11755
+ keyword: DIRECTIVES.map((x2) => `${x2}|1.5`).join(" ")
11756
11756
  },
11757
11757
  contains: [PARAMS]
11758
11758
  },
@@ -12966,7 +12966,7 @@ function lookahead$1(re2) {
12966
12966
  return concat$1("(?=", re2, ")");
12967
12967
  }
12968
12968
  function concat$1(...args) {
12969
- const joined = args.map((x) => source$1(x)).join("");
12969
+ const joined = args.map((x2) => source$1(x2)).join("");
12970
12970
  return joined;
12971
12971
  }
12972
12972
  function stripOptionsFromArgs$1(args) {
@@ -12980,7 +12980,7 @@ function stripOptionsFromArgs$1(args) {
12980
12980
  }
12981
12981
  function either$1(...args) {
12982
12982
  const opts = stripOptionsFromArgs$1(args);
12983
- const joined = "(" + (opts.capture ? "" : "?:") + args.map((x) => source$1(x)).join("|") + ")";
12983
+ const joined = "(" + (opts.capture ? "" : "?:") + args.map((x2) => source$1(x2)).join("|") + ")";
12984
12984
  return joined;
12985
12985
  }
12986
12986
  function fsharp(hljs2) {
@@ -34385,7 +34385,7 @@ function qml(hljs2) {
34385
34385
  };
34386
34386
  }
34387
34387
  var qml_1 = qml;
34388
- function r$1(hljs2) {
34388
+ function r$2(hljs2) {
34389
34389
  const regex = hljs2.regex;
34390
34390
  const IDENT_RE2 = /(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/;
34391
34391
  const NUMBER_TYPES_RE = regex.either(
@@ -34564,7 +34564,7 @@ function r$1(hljs2) {
34564
34564
  ]
34565
34565
  };
34566
34566
  }
34567
- var r_1 = r$1;
34567
+ var r_1 = r$2;
34568
34568
  function reasonml(hljs2) {
34569
34569
  function orReValues(ops) {
34570
34570
  return ops.map(function(op) {
@@ -40410,7 +40410,7 @@ function sql(hljs2) {
40410
40410
  illegal: /[{}]|<\//,
40411
40411
  keywords: {
40412
40412
  $pattern: /\b[\w\.]+/,
40413
- keyword: reduceRelevancy(KEYWORDS2, { when: (x) => x.length < 3 }),
40413
+ keyword: reduceRelevancy(KEYWORDS2, { when: (x2) => x2.length < 3 }),
40414
40414
  literal: LITERALS2,
40415
40415
  type: TYPES2,
40416
40416
  built_in: POSSIBLE_WITHOUT_PARENS
@@ -41756,7 +41756,7 @@ function lookahead(re2) {
41756
41756
  return concat("(?=", re2, ")");
41757
41757
  }
41758
41758
  function concat(...args) {
41759
- const joined = args.map((x) => source(x)).join("");
41759
+ const joined = args.map((x2) => source(x2)).join("");
41760
41760
  return joined;
41761
41761
  }
41762
41762
  function stripOptionsFromArgs(args) {
@@ -41770,7 +41770,7 @@ function stripOptionsFromArgs(args) {
41770
41770
  }
41771
41771
  function either(...args) {
41772
41772
  const opts = stripOptionsFromArgs(args);
41773
- const joined = "(" + (opts.capture ? "" : "?:") + args.map((x) => source(x)).join("|") + ")";
41773
+ const joined = "(" + (opts.capture ? "" : "?:") + args.map((x2) => source(x2)).join("|") + ")";
41774
41774
  return joined;
41775
41775
  }
41776
41776
  const keywordWrapper = (keyword) => concat(
@@ -46471,12 +46471,12 @@ const useHighlight = () => {
46471
46471
  };
46472
46472
  };
46473
46473
  var githubDark = "";
46474
- const _hoisted_1$7 = { class: "code-block max-w-full bg-neutral-900/90 text-sm text-white shadow rounded-container-token" };
46475
- const _hoisted_2$4 = {
46474
+ const _hoisted_1$8 = { class: "code-block max-w-full bg-neutral-900/90 text-sm text-white shadow rounded-container-token" };
46475
+ const _hoisted_2$5 = {
46476
46476
  class: /* @__PURE__ */ normalizeClass(`code-block-language`)
46477
46477
  };
46478
- const _hoisted_3$2 = ["innerHTML"];
46479
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
46478
+ const _hoisted_3$3 = ["innerHTML"];
46479
+ const _sfc_main$n = /* @__PURE__ */ defineComponent({
46480
46480
  __name: "VCodeBlock",
46481
46481
  props: {
46482
46482
  language: {
@@ -46534,12 +46534,12 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
46534
46534
  emit("copy");
46535
46535
  }
46536
46536
  return (_ctx, _cache) => {
46537
- return openBlock(), createElementBlock("div", _hoisted_1$7, [
46537
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
46538
46538
  createElementVNode("header", {
46539
46539
  class: normalizeClass(`code-block-header flex items-center justify-between p-2 pb-0 pl-4 text-xs uppercase text-white/50 ${__props.headerClass}`)
46540
46540
  }, [
46541
- createElementVNode("span", _hoisted_2$4, toDisplayString(languageFormatter(__props.language)), 1),
46542
- withDirectives((openBlock(), createBlock(unref(_sfc_main$h), {
46541
+ createElementVNode("span", _hoisted_2$5, toDisplayString(languageFormatter(__props.language)), 1),
46542
+ withDirectives((openBlock(), createBlock(unref(_sfc_main$p), {
46543
46543
  class: normalizeClass(`code-block-btn ${__props.buttonClass}`),
46544
46544
  onClick: _cache[0] || (_cache[0] = ($event) => onCopyClick())
46545
46545
  }, {
@@ -46557,13 +46557,13 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
46557
46557
  createElementVNode("code", {
46558
46558
  class: normalizeClass(`code-block-code language-${__props.language}`),
46559
46559
  innerHTML: unref(highlight2)(props.code, props.language)
46560
- }, null, 10, _hoisted_3$2)
46560
+ }, null, 10, _hoisted_3$3)
46561
46561
  ], 2)
46562
46562
  ]);
46563
46563
  };
46564
46564
  }
46565
46565
  });
46566
- const _sfc_main$e = defineComponent({
46566
+ const _sfc_main$m = defineComponent({
46567
46567
  props: {
46568
46568
  bgLight: {
46569
46569
  type: String,
@@ -46654,8 +46654,8 @@ const _sfc_main$e = defineComponent({
46654
46654
  };
46655
46655
  }
46656
46656
  });
46657
- const _hoisted_1$6 = ["aria-checked", "title"];
46658
- const _hoisted_2$3 = ["d"];
46657
+ const _hoisted_1$7 = ["aria-checked", "title"];
46658
+ const _hoisted_2$4 = ["d"];
46659
46659
  function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
46660
46660
  return openBlock(), createElementBlock("div", {
46661
46661
  class: normalizeClass(`lightswitch-track ${_ctx.classesTrack}`),
@@ -46680,39 +46680,39 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
46680
46680
  createElementVNode("path", {
46681
46681
  fill: "currentColor",
46682
46682
  d: _ctx.currentMode ? _ctx.svgPath.sun : _ctx.svgPath.moon
46683
- }, null, 8, _hoisted_2$3)
46683
+ }, null, 8, _hoisted_2$4)
46684
46684
  ], 2))
46685
46685
  ], 2)
46686
- ], 42, _hoisted_1$6);
46686
+ ], 42, _hoisted_1$7);
46687
46687
  }
46688
- var VLightSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["render", _sfc_render$1]]);
46689
- function u(r2, n2, ...a2) {
46688
+ var VLightSwitch = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["render", _sfc_render$1]]);
46689
+ function u$2(r2, n2, ...a2) {
46690
46690
  if (r2 in n2) {
46691
46691
  let e2 = n2[r2];
46692
46692
  return typeof e2 == "function" ? e2(...a2) : e2;
46693
46693
  }
46694
46694
  let t2 = new Error(`Tried to handle "${r2}" but there is no handler defined. Only defined handlers are: ${Object.keys(n2).map((e2) => `"${e2}"`).join(", ")}.`);
46695
- throw Error.captureStackTrace && Error.captureStackTrace(t2, u), t2;
46695
+ throw Error.captureStackTrace && Error.captureStackTrace(t2, u$2), t2;
46696
46696
  }
46697
46697
  var N$1 = ((o2) => (o2[o2.None = 0] = "None", o2[o2.RenderStrategy = 1] = "RenderStrategy", o2[o2.Static = 2] = "Static", o2))(N$1 || {}), S$1 = ((e2) => (e2[e2.Unmount = 0] = "Unmount", e2[e2.Hidden = 1] = "Hidden", e2))(S$1 || {});
46698
46698
  function H$2({ visible: r2 = true, features: t2 = 0, ourProps: e2, theirProps: o2, ...i2 }) {
46699
46699
  var a2;
46700
- let n2 = j$1(o2, e2), l = Object.assign(i2, { props: n2 });
46700
+ let n2 = j$3(o2, e2), l2 = Object.assign(i2, { props: n2 });
46701
46701
  if (r2 || t2 & 2 && n2.static)
46702
- return y$1(l);
46702
+ return y$2(l2);
46703
46703
  if (t2 & 1) {
46704
46704
  let d2 = (a2 = n2.unmount) == null || a2 ? 0 : 1;
46705
- return u(d2, { [0]() {
46705
+ return u$2(d2, { [0]() {
46706
46706
  return null;
46707
46707
  }, [1]() {
46708
- return y$1({ ...i2, props: { ...n2, hidden: true, style: { display: "none" } } });
46708
+ return y$2({ ...i2, props: { ...n2, hidden: true, style: { display: "none" } } });
46709
46709
  } });
46710
46710
  }
46711
- return y$1(l);
46711
+ return y$2(l2);
46712
46712
  }
46713
- function y$1({ props: r2, attrs: t2, slots: e2, slot: o2, name: i2 }) {
46713
+ function y$2({ props: r2, attrs: t2, slots: e2, slot: o2, name: i2 }) {
46714
46714
  var m2, h2;
46715
- let { as: n2, ...l } = T$2(r2, ["unmount", "static"]), a2 = (m2 = e2.default) == null ? void 0 : m2.call(e2, o2), d2 = {};
46715
+ let { as: n2, ...l2 } = T$2(r2, ["unmount", "static"]), a2 = (m2 = e2.default) == null ? void 0 : m2.call(e2, o2), d2 = {};
46716
46716
  if (o2) {
46717
46717
  let u2 = false, c2 = [];
46718
46718
  for (let [p2, f2] of Object.entries(o2))
@@ -46720,26 +46720,26 @@ function y$1({ props: r2, attrs: t2, slots: e2, slot: o2, name: i2 }) {
46720
46720
  u2 && (d2["data-headlessui-state"] = c2.join(" "));
46721
46721
  }
46722
46722
  if (n2 === "template") {
46723
- if (a2 = b$2(a2 != null ? a2 : []), Object.keys(l).length > 0 || Object.keys(t2).length > 0) {
46723
+ if (a2 = b$2(a2 != null ? a2 : []), Object.keys(l2).length > 0 || Object.keys(t2).length > 0) {
46724
46724
  let [u2, ...c2] = a2 != null ? a2 : [];
46725
46725
  if (!v(u2) || c2.length > 0)
46726
- throw new Error(['Passing props on "template"!', "", `The current component <${i2} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(l).concat(Object.keys(t2)).map((s2) => s2.trim()).filter((s2, g, R) => R.indexOf(s2) === g).sort((s2, g) => s2.localeCompare(g)).map((s2) => ` - ${s2}`).join(`
46726
+ throw new Error(['Passing props on "template"!', "", `The current component <${i2} /> is rendering a "template".`, "However we need to passthrough the following props:", Object.keys(l2).concat(Object.keys(t2)).map((s2) => s2.trim()).filter((s2, g, R) => R.indexOf(s2) === g).sort((s2, g) => s2.localeCompare(g)).map((s2) => ` - ${s2}`).join(`
46727
46727
  `), "", "You can apply a few solutions:", ['Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', "Render a single element as the child so that we can forward the props onto that element."].map((s2) => ` - ${s2}`).join(`
46728
46728
  `)].join(`
46729
46729
  `));
46730
- let p2 = j$1((h2 = u2.props) != null ? h2 : {}, l), f2 = cloneVNode(u2, p2);
46730
+ let p2 = j$3((h2 = u2.props) != null ? h2 : {}, l2), f2 = cloneVNode(u2, p2);
46731
46731
  for (let s2 in p2)
46732
46732
  s2.startsWith("on") && (f2.props || (f2.props = {}), f2.props[s2] = p2[s2]);
46733
46733
  return f2;
46734
46734
  }
46735
46735
  return Array.isArray(a2) && a2.length === 1 ? a2[0] : a2;
46736
46736
  }
46737
- return h$1(n2, Object.assign({}, l, d2), { default: () => a2 });
46737
+ return h$1(n2, Object.assign({}, l2, d2), { default: () => a2 });
46738
46738
  }
46739
46739
  function b$2(r2) {
46740
46740
  return r2.flatMap((t2) => t2.type === Fragment ? b$2(t2.children) : [t2]);
46741
46741
  }
46742
- function j$1(...r2) {
46742
+ function j$3(...r2) {
46743
46743
  if (r2.length === 0)
46744
46744
  return {};
46745
46745
  if (r2.length === 1)
@@ -46751,12 +46751,12 @@ function j$1(...r2) {
46751
46751
  if (t2.disabled || t2["aria-disabled"])
46752
46752
  return Object.assign(t2, Object.fromEntries(Object.keys(e2).map((i2) => [i2, void 0])));
46753
46753
  for (let i2 in e2)
46754
- Object.assign(t2, { [i2](n2, ...l) {
46754
+ Object.assign(t2, { [i2](n2, ...l2) {
46755
46755
  let a2 = e2[i2];
46756
46756
  for (let d2 of a2) {
46757
46757
  if (n2 instanceof Event && n2.defaultPrevented)
46758
46758
  return;
46759
- d2(n2, ...l);
46759
+ d2(n2, ...l2);
46760
46760
  }
46761
46761
  } });
46762
46762
  return t2;
@@ -46777,18 +46777,58 @@ function v(r2) {
46777
46777
  return r2 == null ? false : typeof r2.type == "string" || typeof r2.type == "object" || typeof r2.type == "function";
46778
46778
  }
46779
46779
  let e$1 = 0;
46780
- function n$1() {
46780
+ function n$2() {
46781
46781
  return ++e$1;
46782
46782
  }
46783
- function t() {
46784
- return n$1();
46783
+ function t$1() {
46784
+ return n$2();
46785
46785
  }
46786
46786
  var o$1 = ((r2) => (r2.Space = " ", r2.Enter = "Enter", r2.Escape = "Escape", r2.Backspace = "Backspace", r2.Delete = "Delete", r2.ArrowLeft = "ArrowLeft", r2.ArrowUp = "ArrowUp", r2.ArrowRight = "ArrowRight", r2.ArrowDown = "ArrowDown", r2.Home = "Home", r2.End = "End", r2.PageUp = "PageUp", r2.PageDown = "PageDown", r2.Tab = "Tab", r2))(o$1 || {});
46787
+ function f$2(r2) {
46788
+ throw new Error("Unexpected object: " + r2);
46789
+ }
46790
+ var a$2 = ((e2) => (e2[e2.First = 0] = "First", e2[e2.Previous = 1] = "Previous", e2[e2.Next = 2] = "Next", e2[e2.Last = 3] = "Last", e2[e2.Specific = 4] = "Specific", e2[e2.Nothing = 5] = "Nothing", e2))(a$2 || {});
46791
+ function x(r2, n2) {
46792
+ let t2 = n2.resolveItems();
46793
+ if (t2.length <= 0)
46794
+ return null;
46795
+ let l2 = n2.resolveActiveIndex(), s2 = l2 != null ? l2 : -1, d2 = (() => {
46796
+ switch (r2.focus) {
46797
+ case 0:
46798
+ return t2.findIndex((e2) => !n2.resolveDisabled(e2));
46799
+ case 1: {
46800
+ let e2 = t2.slice().reverse().findIndex((i2, c2, u2) => s2 !== -1 && u2.length - c2 - 1 >= s2 ? false : !n2.resolveDisabled(i2));
46801
+ return e2 === -1 ? e2 : t2.length - 1 - e2;
46802
+ }
46803
+ case 2:
46804
+ return t2.findIndex((e2, i2) => i2 <= s2 ? false : !n2.resolveDisabled(e2));
46805
+ case 3: {
46806
+ let e2 = t2.slice().reverse().findIndex((i2) => !n2.resolveDisabled(i2));
46807
+ return e2 === -1 ? e2 : t2.length - 1 - e2;
46808
+ }
46809
+ case 4:
46810
+ return t2.findIndex((e2) => n2.resolveId(e2) === r2.id);
46811
+ case 5:
46812
+ return null;
46813
+ default:
46814
+ f$2(r2);
46815
+ }
46816
+ })();
46817
+ return d2 === -1 ? l2 : d2;
46818
+ }
46787
46819
  function o(n2) {
46788
- var l;
46789
- return n2 == null || n2.value == null ? null : (l = n2.value.$el) != null ? l : n2.value;
46820
+ var l2;
46821
+ return n2 == null || n2.value == null ? null : (l2 = n2.value.$el) != null ? l2 : n2.value;
46790
46822
  }
46791
- function r(t2, e2) {
46823
+ let n$1 = Symbol("Context");
46824
+ var l = ((e2) => (e2[e2.Open = 1] = "Open", e2[e2.Closed = 2] = "Closed", e2[e2.Closing = 4] = "Closing", e2[e2.Opening = 8] = "Opening", e2))(l || {});
46825
+ function p$3() {
46826
+ return inject(n$1, null);
46827
+ }
46828
+ function c$2(o2) {
46829
+ provide(n$1, o2);
46830
+ }
46831
+ function r$1(t2, e2) {
46792
46832
  if (t2)
46793
46833
  return t2;
46794
46834
  let n2 = e2 != null ? e2 : "button";
@@ -46796,17 +46836,17 @@ function r(t2, e2) {
46796
46836
  return "button";
46797
46837
  }
46798
46838
  function b$1(t2, e2) {
46799
- let n2 = ref(r(t2.value.type, t2.value.as));
46839
+ let n2 = ref(r$1(t2.value.type, t2.value.as));
46800
46840
  return onMounted(() => {
46801
- n2.value = r(t2.value.type, t2.value.as);
46841
+ n2.value = r$1(t2.value.type, t2.value.as);
46802
46842
  }), watchEffect(() => {
46803
46843
  var o$12;
46804
46844
  n2.value || o(e2) && o(e2) instanceof HTMLButtonElement && !((o$12 = o(e2)) != null && o$12.hasAttribute("type")) && (n2.value = "button");
46805
46845
  }), n2;
46806
46846
  }
46807
46847
  var i = Object.defineProperty;
46808
- var d$2 = (t2, e2, r2) => e2 in t2 ? i(t2, e2, { enumerable: true, configurable: true, writable: true, value: r2 }) : t2[e2] = r2;
46809
- var n = (t2, e2, r2) => (d$2(t2, typeof e2 != "symbol" ? e2 + "" : e2, r2), r2);
46848
+ var d$3 = (t2, e2, r2) => e2 in t2 ? i(t2, e2, { enumerable: true, configurable: true, writable: true, value: r2 }) : t2[e2] = r2;
46849
+ var n = (t2, e2, r2) => (d$3(t2, typeof e2 != "symbol" ? e2 + "" : e2, r2), r2);
46810
46850
  class s$1 {
46811
46851
  constructor() {
46812
46852
  n(this, "current", this.detect());
@@ -46849,10 +46889,10 @@ function p$2({ container: e2, accept: t2, walk: d2, enabled: o2 }) {
46849
46889
  let r2 = e2.value;
46850
46890
  if (!r2 || o2 !== void 0 && !o2.value)
46851
46891
  return;
46852
- let l = m(e2);
46853
- if (!l)
46892
+ let l2 = m(e2);
46893
+ if (!l2)
46854
46894
  return;
46855
- let c2 = Object.assign((f2) => t2(f2), { acceptNode: t2 }), n2 = l.createTreeWalker(r2, NodeFilter.SHOW_ELEMENT, c2, false);
46895
+ let c2 = Object.assign((f2) => t2(f2), { acceptNode: t2 }), n2 = l2.createTreeWalker(r2, NodeFilter.SHOW_ELEMENT, c2, false);
46856
46896
  for (; n2.nextNode(); )
46857
46897
  d2(n2.currentNode);
46858
46898
  });
@@ -46863,7 +46903,21 @@ function E$1(e2 = document.body) {
46863
46903
  return e2 == null ? [] : Array.from(e2.querySelectorAll(c)).sort((r2, t2) => Math.sign((r2.tabIndex || Number.MAX_SAFE_INTEGER) - (t2.tabIndex || Number.MAX_SAFE_INTEGER)));
46864
46904
  }
46865
46905
  var h = ((t2) => (t2[t2.Strict = 0] = "Strict", t2[t2.Loose = 1] = "Loose", t2))(h || {});
46866
- var y = ((t2) => (t2[t2.Keyboard = 0] = "Keyboard", t2[t2.Mouse = 1] = "Mouse", t2))(y || {});
46906
+ function w(e2, r2 = 0) {
46907
+ var t2;
46908
+ return e2 === ((t2 = m(e2)) == null ? void 0 : t2.body) ? false : u$2(r2, { [0]() {
46909
+ return e2.matches(c);
46910
+ }, [1]() {
46911
+ let l2 = e2;
46912
+ for (; l2 !== null; ) {
46913
+ if (l2.matches(c))
46914
+ return true;
46915
+ l2 = l2.parentElement;
46916
+ }
46917
+ return false;
46918
+ } });
46919
+ }
46920
+ var y$1 = ((t2) => (t2[t2.Keyboard = 0] = "Keyboard", t2[t2.Mouse = 1] = "Mouse", t2))(y$1 || {});
46867
46921
  typeof window != "undefined" && typeof document != "undefined" && (document.addEventListener("keydown", (e2) => {
46868
46922
  e2.metaKey || e2.altKey || e2.ctrlKey || (document.documentElement.dataset.headlessuiFocusVisible = "");
46869
46923
  }, true), document.addEventListener("click", (e2) => {
@@ -46875,19 +46929,19 @@ function I(e2) {
46875
46929
  return (t2 = (r2 = e2 == null ? void 0 : e2.matches) == null ? void 0 : r2.call(e2, H$1)) != null ? t2 : false;
46876
46930
  }
46877
46931
  function O(e2, r2 = (t2) => t2) {
46878
- return e2.slice().sort((t2, l) => {
46879
- let o2 = r2(t2), i2 = r2(l);
46932
+ return e2.slice().sort((t2, l2) => {
46933
+ let o2 = r2(t2), i2 = r2(l2);
46880
46934
  if (o2 === null || i2 === null)
46881
46935
  return 0;
46882
46936
  let n2 = o2.compareDocumentPosition(i2);
46883
46937
  return n2 & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n2 & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
46884
46938
  });
46885
46939
  }
46886
- function P(e2, r2, { sorted: t2 = true, relativeTo: l = null, skipElements: o2 = [] } = {}) {
46940
+ function P(e2, r2, { sorted: t2 = true, relativeTo: l2 = null, skipElements: o2 = [] } = {}) {
46887
46941
  var m2;
46888
46942
  let i2 = (m2 = Array.isArray(e2) ? e2.length > 0 ? e2[0].ownerDocument : document : e2 == null ? void 0 : e2.ownerDocument) != null ? m2 : document, n2 = Array.isArray(e2) ? t2 ? O(e2) : e2 : E$1(e2);
46889
- o2.length > 0 && n2.length > 1 && (n2 = n2.filter((s2) => !o2.includes(s2))), l = l != null ? l : i2.activeElement;
46890
- let x = (() => {
46943
+ o2.length > 0 && n2.length > 1 && (n2 = n2.filter((s2) => !o2.includes(s2))), l2 = l2 != null ? l2 : i2.activeElement;
46944
+ let x2 = (() => {
46891
46945
  if (r2 & 5)
46892
46946
  return 1;
46893
46947
  if (r2 & 10)
@@ -46897,9 +46951,9 @@ function P(e2, r2, { sorted: t2 = true, relativeTo: l = null, skipElements: o2 =
46897
46951
  if (r2 & 1)
46898
46952
  return 0;
46899
46953
  if (r2 & 2)
46900
- return Math.max(0, n2.indexOf(l)) - 1;
46954
+ return Math.max(0, n2.indexOf(l2)) - 1;
46901
46955
  if (r2 & 4)
46902
- return Math.max(0, n2.indexOf(l)) + 1;
46956
+ return Math.max(0, n2.indexOf(l2)) + 1;
46903
46957
  if (r2 & 8)
46904
46958
  return n2.length - 1;
46905
46959
  throw new Error("Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last");
@@ -46916,10 +46970,42 @@ function P(e2, r2, { sorted: t2 = true, relativeTo: l = null, skipElements: o2 =
46916
46970
  if (s2 >= d2)
46917
46971
  return 1;
46918
46972
  }
46919
- u2 = n2[s2], u2 == null || u2.focus(L), a2 += x;
46973
+ u2 = n2[s2], u2 == null || u2.focus(L), a2 += x2;
46920
46974
  } while (u2 !== i2.activeElement);
46921
46975
  return r2 & 6 && I(u2) && u2.select(), 2;
46922
46976
  }
46977
+ function u$1(e2, t2, n2) {
46978
+ c$1.isServer || watchEffect((o2) => {
46979
+ document.addEventListener(e2, t2, n2), o2(() => document.removeEventListener(e2, t2, n2));
46980
+ });
46981
+ }
46982
+ function y(f2, m2, i2 = computed(() => true)) {
46983
+ function a2(e2, u2) {
46984
+ if (!i2.value || e2.defaultPrevented)
46985
+ return;
46986
+ let n2 = u2(e2);
46987
+ if (n2 === null || !n2.getRootNode().contains(n2))
46988
+ return;
46989
+ let c2 = function o2(t2) {
46990
+ return typeof t2 == "function" ? o2(t2()) : Array.isArray(t2) || t2 instanceof Set ? t2 : [t2];
46991
+ }(f2);
46992
+ for (let o$12 of c2) {
46993
+ if (o$12 === null)
46994
+ continue;
46995
+ let t2 = o$12 instanceof HTMLElement ? o$12 : o(o$12);
46996
+ if (t2 != null && t2.contains(n2) || e2.composed && e2.composedPath().includes(t2))
46997
+ return;
46998
+ }
46999
+ return !w(n2, h.Loose) && n2.tabIndex !== -1 && e2.preventDefault(), m2(e2, n2);
47000
+ }
47001
+ let r2 = ref(null);
47002
+ u$1("mousedown", (e2) => {
47003
+ var u2, n2;
47004
+ i2.value && (r2.value = ((n2 = (u2 = e2.composedPath) == null ? void 0 : u2.call(e2)) == null ? void 0 : n2[0]) || e2.target);
47005
+ }, true), u$1("click", (e2) => {
47006
+ r2.value && (a2(e2, () => r2.value), r2.value = null);
47007
+ }, true), u$1("blur", (e2) => a2(e2, () => window.document.activeElement instanceof HTMLIFrameElement ? window.document.activeElement : null), true);
47008
+ }
46923
47009
  var a$1 = ((e2) => (e2[e2.None = 1] = "None", e2[e2.Focusable = 2] = "Focusable", e2[e2.Hidden = 4] = "Hidden", e2))(a$1 || {});
46924
47010
  let f$1 = defineComponent({ name: "Hidden", props: { as: { type: [Object, String], default: "div" }, features: { type: Number, default: 1 } }, setup(r2, { slots: t2, attrs: d2 }) {
46925
47011
  return () => {
@@ -46953,12 +47039,29 @@ function p$1(n2) {
46953
47039
  }
46954
47040
  }
46955
47041
  }
46956
- function d$1(u2, e2, r2) {
47042
+ function d$2(u2, e2, r2) {
46957
47043
  let i2 = ref(r2 == null ? void 0 : r2.value), f2 = computed(() => u2.value !== void 0);
46958
47044
  return [computed(() => f2.value ? u2.value : i2.value), function(t2) {
46959
47045
  return f2.value || (i2.value = t2), e2 == null ? void 0 : e2(t2);
46960
47046
  }];
46961
47047
  }
47048
+ function r(e2) {
47049
+ return [e2.screenX, e2.screenY];
47050
+ }
47051
+ function u() {
47052
+ let e2 = ref([-1, -1]);
47053
+ return { wasMoved(n2) {
47054
+ let t2 = r(n2);
47055
+ return e2.value[0] === t2[0] && e2.value[1] === t2[1] ? false : (e2.value = t2, true);
47056
+ }, update(n2) {
47057
+ e2.value = r(n2);
47058
+ } };
47059
+ }
47060
+ function t(e2) {
47061
+ typeof queueMicrotask == "function" ? queueMicrotask(e2) : Promise.resolve().then(e2).catch((o2) => setTimeout(() => {
47062
+ throw o2;
47063
+ }));
47064
+ }
46962
47065
  let p = Symbol("DescriptionContext");
46963
47066
  function b() {
46964
47067
  let t2 = inject(p, null);
@@ -46976,55 +47079,295 @@ function M({ slot: t2 = ref({}), name: i2 = "Description", props: o2 = {} } = {}
46976
47079
  }
46977
47080
  return provide(p, { register: s2, slot: t2, name: i2, props: o2 }), computed(() => e2.value.length > 0 ? e2.value.join(" ") : void 0);
46978
47081
  }
46979
- let E = defineComponent({ name: "Description", props: { as: { type: [Object, String], default: "p" }, id: { type: String, default: () => `headlessui-description-${t()}` } }, setup(t2, { attrs: i2, slots: o2 }) {
47082
+ let E = defineComponent({ name: "Description", props: { as: { type: [Object, String], default: "p" }, id: { type: String, default: () => `headlessui-description-${t$1()}` } }, setup(t2, { attrs: i2, slots: o2 }) {
46980
47083
  let e2 = b();
46981
47084
  return onMounted(() => onUnmounted(e2.register(t2.id))), () => {
46982
- let { name: s2 = "Description", slot: n2 = ref({}), props: r2 = {} } = e2, { id: d2, ...l } = t2, c2 = { ...Object.entries(r2).reduce((f2, [a2, g]) => Object.assign(f2, { [a2]: unref(g) }), {}), id: d2 };
46983
- return H$2({ ourProps: c2, theirProps: l, slot: n2.value, attrs: i2, slots: o2, name: s2 });
47085
+ let { name: s2 = "Description", slot: n2 = ref({}), props: r2 = {} } = e2, { id: d2, ...l2 } = t2, c2 = { ...Object.entries(r2).reduce((f2, [a2, g]) => Object.assign(f2, { [a2]: unref(g) }), {}), id: d2 };
47086
+ return H$2({ ourProps: c2, theirProps: l2, slot: n2.value, attrs: i2, slots: o2, name: s2 });
47087
+ };
47088
+ } });
47089
+ function de$1(t2, b2) {
47090
+ return t2 === b2;
47091
+ }
47092
+ var fe = ((u2) => (u2[u2.Open = 0] = "Open", u2[u2.Closed = 1] = "Closed", u2))(fe || {}), pe = ((u2) => (u2[u2.Single = 0] = "Single", u2[u2.Multi = 1] = "Multi", u2))(pe || {}), ce$1 = ((u2) => (u2[u2.Pointer = 0] = "Pointer", u2[u2.Other = 1] = "Other", u2))(ce$1 || {});
47093
+ function ve(t2) {
47094
+ requestAnimationFrame(() => requestAnimationFrame(t2));
47095
+ }
47096
+ let U$1 = Symbol("ListboxContext");
47097
+ function j$2(t2) {
47098
+ let b2 = inject(U$1, null);
47099
+ if (b2 === null) {
47100
+ let u2 = new Error(`<${t2} /> is missing a parent <Listbox /> component.`);
47101
+ throw Error.captureStackTrace && Error.captureStackTrace(u2, j$2), u2;
47102
+ }
47103
+ return b2;
47104
+ }
47105
+ let je = defineComponent({ name: "Listbox", emits: { "update:modelValue": (t2) => true }, props: { as: { type: [Object, String], default: "template" }, disabled: { type: [Boolean], default: false }, by: { type: [String, Function], default: () => de$1 }, horizontal: { type: [Boolean], default: false }, modelValue: { type: [Object, String, Number, Boolean], default: void 0 }, defaultValue: { type: [Object, String, Number, Boolean], default: void 0 }, form: { type: String, optional: true }, name: { type: String, optional: true }, multiple: { type: [Boolean], default: false } }, inheritAttrs: false, setup(t2, { slots: b2, attrs: u2, emit: L }) {
47106
+ let e$12 = ref(1), d2 = ref(null), m2 = ref(null), x$1 = ref(null), f2 = ref([]), o$12 = ref(""), i2 = ref(null), w$1 = ref(1);
47107
+ function R(a2 = (l2) => l2) {
47108
+ let l2 = i2.value !== null ? f2.value[i2.value] : null, r2 = O(a2(f2.value.slice()), (S2) => o(S2.dataRef.domRef)), s2 = l2 ? r2.indexOf(l2) : null;
47109
+ return s2 === -1 && (s2 = null), { options: r2, activeOptionIndex: s2 };
47110
+ }
47111
+ let h$2 = computed(() => t2.multiple ? 1 : 0), [y$12, M2] = d$2(computed(() => t2.modelValue === void 0 ? u$2(h$2.value, { [1]: [], [0]: void 0 }) : t2.modelValue), (a2) => L("update:modelValue", a2), computed(() => t2.defaultValue)), n2 = { listboxState: e$12, value: y$12, mode: h$2, compare(a2, l2) {
47112
+ if (typeof t2.by == "string") {
47113
+ let r2 = t2.by;
47114
+ return (a2 == null ? void 0 : a2[r2]) === (l2 == null ? void 0 : l2[r2]);
47115
+ }
47116
+ return t2.by(a2, l2);
47117
+ }, orientation: computed(() => t2.horizontal ? "horizontal" : "vertical"), labelRef: d2, buttonRef: m2, optionsRef: x$1, disabled: computed(() => t2.disabled), options: f2, searchQuery: o$12, activeOptionIndex: i2, activationTrigger: w$1, closeListbox() {
47118
+ t2.disabled || e$12.value !== 1 && (e$12.value = 1, i2.value = null);
47119
+ }, openListbox() {
47120
+ t2.disabled || e$12.value !== 0 && (e$12.value = 0);
47121
+ }, goToOption(a2, l2, r2) {
47122
+ if (t2.disabled || e$12.value === 1)
47123
+ return;
47124
+ let s2 = R(), S2 = x(a2 === a$2.Specific ? { focus: a$2.Specific, id: l2 } : { focus: a2 }, { resolveItems: () => s2.options, resolveActiveIndex: () => s2.activeOptionIndex, resolveId: (k2) => k2.id, resolveDisabled: (k2) => k2.dataRef.disabled });
47125
+ o$12.value = "", i2.value = S2, w$1.value = r2 != null ? r2 : 1, f2.value = s2.options;
47126
+ }, search(a2) {
47127
+ if (t2.disabled || e$12.value === 1)
47128
+ return;
47129
+ let r2 = o$12.value !== "" ? 0 : 1;
47130
+ o$12.value += a2.toLowerCase();
47131
+ let S2 = (i2.value !== null ? f2.value.slice(i2.value + r2).concat(f2.value.slice(0, i2.value + r2)) : f2.value).find((V) => V.dataRef.textValue.startsWith(o$12.value) && !V.dataRef.disabled), k2 = S2 ? f2.value.indexOf(S2) : -1;
47132
+ k2 === -1 || k2 === i2.value || (i2.value = k2, w$1.value = 1);
47133
+ }, clearSearch() {
47134
+ t2.disabled || e$12.value !== 1 && o$12.value !== "" && (o$12.value = "");
47135
+ }, registerOption(a2, l2) {
47136
+ let r2 = R((s2) => [...s2, { id: a2, dataRef: l2 }]);
47137
+ f2.value = r2.options, i2.value = r2.activeOptionIndex;
47138
+ }, unregisterOption(a2) {
47139
+ let l2 = R((r2) => {
47140
+ let s2 = r2.findIndex((S2) => S2.id === a2);
47141
+ return s2 !== -1 && r2.splice(s2, 1), r2;
47142
+ });
47143
+ f2.value = l2.options, i2.value = l2.activeOptionIndex, w$1.value = 1;
47144
+ }, select(a2) {
47145
+ t2.disabled || M2(u$2(h$2.value, { [0]: () => a2, [1]: () => {
47146
+ let l2 = toRaw(n2.value.value).slice(), r2 = toRaw(a2), s2 = l2.findIndex((S2) => n2.compare(r2, toRaw(S2)));
47147
+ return s2 === -1 ? l2.push(r2) : l2.splice(s2, 1), l2;
47148
+ } }));
47149
+ } };
47150
+ y([m2, x$1], (a2, l2) => {
47151
+ var r2;
47152
+ n2.closeListbox(), w(l2, h.Loose) || (a2.preventDefault(), (r2 = o(m2)) == null || r2.focus());
47153
+ }, computed(() => e$12.value === 0)), provide(U$1, n2), c$2(computed(() => u$2(e$12.value, { [0]: l.Open, [1]: l.Closed })));
47154
+ let p2 = computed(() => {
47155
+ var a2;
47156
+ return (a2 = o(m2)) == null ? void 0 : a2.closest("form");
47157
+ });
47158
+ return onMounted(() => {
47159
+ watch([p2], () => {
47160
+ if (!p2.value || t2.defaultValue === void 0)
47161
+ return;
47162
+ function a2() {
47163
+ n2.select(t2.defaultValue);
47164
+ }
47165
+ return p2.value.addEventListener("reset", a2), () => {
47166
+ var l2;
47167
+ (l2 = p2.value) == null || l2.removeEventListener("reset", a2);
47168
+ };
47169
+ }, { immediate: true });
47170
+ }), () => {
47171
+ let { name: a2, modelValue: l2, disabled: r2, form: s2, ...S2 } = t2, k2 = { open: e$12.value === 0, disabled: r2, value: y$12.value };
47172
+ return h$1(Fragment, [...a2 != null && y$12.value != null ? e({ [a2]: y$12.value }).map(([V, $]) => h$1(f$1, K$1({ features: a$1.Hidden, key: V, as: "input", type: "hidden", hidden: true, readOnly: true, form: s2, name: V, value: $ }))) : [], H$2({ ourProps: {}, theirProps: { ...u2, ...T$2(S2, ["defaultValue", "onUpdate:modelValue", "horizontal", "multiple", "by"]) }, slot: k2, slots: b2, attrs: u2, name: "Listbox" })]);
47173
+ };
47174
+ } }), Ae = defineComponent({ name: "ListboxLabel", props: { as: { type: [Object, String], default: "label" }, id: { type: String, default: () => `headlessui-listbox-label-${t$1()}` } }, setup(t2, { attrs: b2, slots: u2 }) {
47175
+ let L = j$2("ListboxLabel");
47176
+ function e2() {
47177
+ var d2;
47178
+ (d2 = o(L.buttonRef)) == null || d2.focus({ preventScroll: true });
47179
+ }
47180
+ return () => {
47181
+ let d2 = { open: L.listboxState.value === 0, disabled: L.disabled.value }, { id: m2, ...x2 } = t2, f2 = { id: m2, ref: L.labelRef, onClick: e2 };
47182
+ return H$2({ ourProps: f2, theirProps: x2, slot: d2, attrs: b2, slots: u2, name: "ListboxLabel" });
47183
+ };
47184
+ } }), Fe = defineComponent({ name: "ListboxButton", props: { as: { type: [Object, String], default: "button" }, id: { type: String, default: () => `headlessui-listbox-button-${t$1()}` } }, setup(t2, { attrs: b2, slots: u2, expose: L }) {
47185
+ let e2 = j$2("ListboxButton");
47186
+ L({ el: e2.buttonRef, $el: e2.buttonRef });
47187
+ function d2(o$2) {
47188
+ switch (o$2.key) {
47189
+ case o$1.Space:
47190
+ case o$1.Enter:
47191
+ case o$1.ArrowDown:
47192
+ o$2.preventDefault(), e2.openListbox(), nextTick(() => {
47193
+ var i2;
47194
+ (i2 = o(e2.optionsRef)) == null || i2.focus({ preventScroll: true }), e2.value.value || e2.goToOption(a$2.First);
47195
+ });
47196
+ break;
47197
+ case o$1.ArrowUp:
47198
+ o$2.preventDefault(), e2.openListbox(), nextTick(() => {
47199
+ var i2;
47200
+ (i2 = o(e2.optionsRef)) == null || i2.focus({ preventScroll: true }), e2.value.value || e2.goToOption(a$2.Last);
47201
+ });
47202
+ break;
47203
+ }
47204
+ }
47205
+ function m2(o2) {
47206
+ switch (o2.key) {
47207
+ case o$1.Space:
47208
+ o2.preventDefault();
47209
+ break;
47210
+ }
47211
+ }
47212
+ function x2(o$12) {
47213
+ e2.disabled.value || (e2.listboxState.value === 0 ? (e2.closeListbox(), nextTick(() => {
47214
+ var i2;
47215
+ return (i2 = o(e2.buttonRef)) == null ? void 0 : i2.focus({ preventScroll: true });
47216
+ })) : (o$12.preventDefault(), e2.openListbox(), ve(() => {
47217
+ var i2;
47218
+ return (i2 = o(e2.optionsRef)) == null ? void 0 : i2.focus({ preventScroll: true });
47219
+ })));
47220
+ }
47221
+ let f2 = b$1(computed(() => ({ as: t2.as, type: b2.type })), e2.buttonRef);
47222
+ return () => {
47223
+ var h2, y2;
47224
+ let o$12 = { open: e2.listboxState.value === 0, disabled: e2.disabled.value, value: e2.value.value }, { id: i2, ...w2 } = t2, R = { ref: e2.buttonRef, id: i2, type: f2.value, "aria-haspopup": "listbox", "aria-controls": (h2 = o(e2.optionsRef)) == null ? void 0 : h2.id, "aria-expanded": e2.disabled.value ? void 0 : e2.listboxState.value === 0, "aria-labelledby": e2.labelRef.value ? [(y2 = o(e2.labelRef)) == null ? void 0 : y2.id, i2].join(" ") : void 0, disabled: e2.disabled.value === true ? true : void 0, onKeydown: d2, onKeyup: m2, onClick: x2 };
47225
+ return H$2({ ourProps: R, theirProps: w2, slot: o$12, attrs: b2, slots: u2, name: "ListboxButton" });
47226
+ };
47227
+ } }), Be = defineComponent({ name: "ListboxOptions", props: { as: { type: [Object, String], default: "ul" }, static: { type: Boolean, default: false }, unmount: { type: Boolean, default: true }, id: { type: String, default: () => `headlessui-listbox-options-${t$1()}` } }, setup(t2, { attrs: b2, slots: u2, expose: L }) {
47228
+ let e2 = j$2("ListboxOptions"), d2 = ref(null);
47229
+ L({ el: e2.optionsRef, $el: e2.optionsRef });
47230
+ function m2(o$2) {
47231
+ switch (d2.value && clearTimeout(d2.value), o$2.key) {
47232
+ case o$1.Space:
47233
+ if (e2.searchQuery.value !== "")
47234
+ return o$2.preventDefault(), o$2.stopPropagation(), e2.search(o$2.key);
47235
+ case o$1.Enter:
47236
+ if (o$2.preventDefault(), o$2.stopPropagation(), e2.activeOptionIndex.value !== null) {
47237
+ let i2 = e2.options.value[e2.activeOptionIndex.value];
47238
+ e2.select(i2.dataRef.value);
47239
+ }
47240
+ e2.mode.value === 0 && (e2.closeListbox(), nextTick(() => {
47241
+ var i2;
47242
+ return (i2 = o(e2.buttonRef)) == null ? void 0 : i2.focus({ preventScroll: true });
47243
+ }));
47244
+ break;
47245
+ case u$2(e2.orientation.value, { vertical: o$1.ArrowDown, horizontal: o$1.ArrowRight }):
47246
+ return o$2.preventDefault(), o$2.stopPropagation(), e2.goToOption(a$2.Next);
47247
+ case u$2(e2.orientation.value, { vertical: o$1.ArrowUp, horizontal: o$1.ArrowLeft }):
47248
+ return o$2.preventDefault(), o$2.stopPropagation(), e2.goToOption(a$2.Previous);
47249
+ case o$1.Home:
47250
+ case o$1.PageUp:
47251
+ return o$2.preventDefault(), o$2.stopPropagation(), e2.goToOption(a$2.First);
47252
+ case o$1.End:
47253
+ case o$1.PageDown:
47254
+ return o$2.preventDefault(), o$2.stopPropagation(), e2.goToOption(a$2.Last);
47255
+ case o$1.Escape:
47256
+ o$2.preventDefault(), o$2.stopPropagation(), e2.closeListbox(), nextTick(() => {
47257
+ var i2;
47258
+ return (i2 = o(e2.buttonRef)) == null ? void 0 : i2.focus({ preventScroll: true });
47259
+ });
47260
+ break;
47261
+ case o$1.Tab:
47262
+ o$2.preventDefault(), o$2.stopPropagation();
47263
+ break;
47264
+ default:
47265
+ o$2.key.length === 1 && (e2.search(o$2.key), d2.value = setTimeout(() => e2.clearSearch(), 350));
47266
+ break;
47267
+ }
47268
+ }
47269
+ let x2 = p$3(), f2 = computed(() => x2 !== null ? (x2.value & l.Open) === l.Open : e2.listboxState.value === 0);
47270
+ return () => {
47271
+ var h2, y2, M2, n2;
47272
+ let o$12 = { open: e2.listboxState.value === 0 }, { id: i2, ...w2 } = t2, R = { "aria-activedescendant": e2.activeOptionIndex.value === null || (h2 = e2.options.value[e2.activeOptionIndex.value]) == null ? void 0 : h2.id, "aria-multiselectable": e2.mode.value === 1 ? true : void 0, "aria-labelledby": (n2 = (y2 = o(e2.labelRef)) == null ? void 0 : y2.id) != null ? n2 : (M2 = o(e2.buttonRef)) == null ? void 0 : M2.id, "aria-orientation": e2.orientation.value, id: i2, onKeydown: m2, role: "listbox", tabIndex: 0, ref: e2.optionsRef };
47273
+ return H$2({ ourProps: R, theirProps: w2, slot: o$12, attrs: b2, slots: u2, features: N$1.RenderStrategy | N$1.Static, visible: f2.value, name: "ListboxOptions" });
47274
+ };
47275
+ } }), Ke = defineComponent({ name: "ListboxOption", props: { as: { type: [Object, String], default: "li" }, value: { type: [Object, String, Number, Boolean] }, disabled: { type: Boolean, default: false }, id: { type: String, default: () => `headlessui-listbox.option-${t$1()}` } }, setup(t2, { slots: b2, attrs: u$12, expose: L }) {
47276
+ let e2 = j$2("ListboxOption"), d2 = ref(null);
47277
+ L({ el: d2, $el: d2 });
47278
+ let m2 = computed(() => e2.activeOptionIndex.value !== null ? e2.options.value[e2.activeOptionIndex.value].id === t2.id : false), x2 = computed(() => u$2(e2.mode.value, { [0]: () => e2.compare(toRaw(e2.value.value), toRaw(t2.value)), [1]: () => toRaw(e2.value.value).some((n2) => e2.compare(toRaw(n2), toRaw(t2.value))) })), f2 = computed(() => u$2(e2.mode.value, { [1]: () => {
47279
+ var p2;
47280
+ let n2 = toRaw(e2.value.value);
47281
+ return ((p2 = e2.options.value.find((a2) => n2.some((l2) => e2.compare(toRaw(l2), toRaw(a2.dataRef.value))))) == null ? void 0 : p2.id) === t2.id;
47282
+ }, [0]: () => x2.value })), o$12 = computed(() => ({ disabled: t2.disabled, value: t2.value, textValue: "", domRef: d2 }));
47283
+ onMounted(() => {
47284
+ var p2, a2;
47285
+ let n2 = (a2 = (p2 = o(d2)) == null ? void 0 : p2.textContent) == null ? void 0 : a2.toLowerCase().trim();
47286
+ n2 !== void 0 && (o$12.value.textValue = n2);
47287
+ }), onMounted(() => e2.registerOption(t2.id, o$12)), onUnmounted(() => e2.unregisterOption(t2.id)), onMounted(() => {
47288
+ watch([e2.listboxState, x2], () => {
47289
+ e2.listboxState.value === 0 && x2.value && u$2(e2.mode.value, { [1]: () => {
47290
+ f2.value && e2.goToOption(a$2.Specific, t2.id);
47291
+ }, [0]: () => {
47292
+ e2.goToOption(a$2.Specific, t2.id);
47293
+ } });
47294
+ }, { immediate: true });
47295
+ }), watchEffect(() => {
47296
+ e2.listboxState.value === 0 && m2.value && e2.activationTrigger.value !== 0 && nextTick(() => {
47297
+ var n2, p2;
47298
+ return (p2 = (n2 = o(d2)) == null ? void 0 : n2.scrollIntoView) == null ? void 0 : p2.call(n2, { block: "nearest" });
47299
+ });
47300
+ });
47301
+ function i2(n2) {
47302
+ if (t2.disabled)
47303
+ return n2.preventDefault();
47304
+ e2.select(t2.value), e2.mode.value === 0 && (e2.closeListbox(), nextTick(() => {
47305
+ var p2;
47306
+ return (p2 = o(e2.buttonRef)) == null ? void 0 : p2.focus({ preventScroll: true });
47307
+ }));
47308
+ }
47309
+ function w2() {
47310
+ if (t2.disabled)
47311
+ return e2.goToOption(a$2.Nothing);
47312
+ e2.goToOption(a$2.Specific, t2.id);
47313
+ }
47314
+ let R = u();
47315
+ function h2(n2) {
47316
+ R.update(n2);
47317
+ }
47318
+ function y2(n2) {
47319
+ R.wasMoved(n2) && (t2.disabled || m2.value || e2.goToOption(a$2.Specific, t2.id, 0));
47320
+ }
47321
+ function M2(n2) {
47322
+ R.wasMoved(n2) && (t2.disabled || m2.value && e2.goToOption(a$2.Nothing));
47323
+ }
47324
+ return () => {
47325
+ let { disabled: n2 } = t2, p2 = { active: m2.value, selected: x2.value, disabled: n2 }, { id: a2, value: l2, disabled: r2, ...s2 } = t2, S2 = { id: a2, ref: d2, role: "option", tabIndex: n2 === true ? void 0 : -1, "aria-disabled": n2 === true ? true : void 0, "aria-selected": x2.value, disabled: void 0, onClick: i2, onFocus: w2, onPointerenter: h2, onMouseenter: h2, onPointermove: y2, onMousemove: y2, onPointerleave: M2, onMouseleave: M2 };
47326
+ return H$2({ ourProps: S2, theirProps: s2, slot: p2, attrs: u$12, slots: b2, name: "ListboxOption" });
46984
47327
  };
46985
47328
  } });
46986
47329
  let a = Symbol("LabelContext");
46987
- function d() {
47330
+ function d$1() {
46988
47331
  let t2 = inject(a, null);
46989
47332
  if (t2 === null) {
46990
47333
  let n2 = new Error("You used a <Label /> component, but it is not inside a parent.");
46991
- throw Error.captureStackTrace && Error.captureStackTrace(n2, d), n2;
47334
+ throw Error.captureStackTrace && Error.captureStackTrace(n2, d$1), n2;
46992
47335
  }
46993
47336
  return t2;
46994
47337
  }
46995
47338
  function K({ slot: t2 = {}, name: n2 = "Label", props: i2 = {} } = {}) {
46996
47339
  let e2 = ref([]);
46997
- function l(r2) {
47340
+ function l2(r2) {
46998
47341
  return e2.value.push(r2), () => {
46999
47342
  let o2 = e2.value.indexOf(r2);
47000
47343
  o2 !== -1 && e2.value.splice(o2, 1);
47001
47344
  };
47002
47345
  }
47003
- return provide(a, { register: l, slot: t2, name: n2, props: i2 }), computed(() => e2.value.length > 0 ? e2.value.join(" ") : void 0);
47346
+ return provide(a, { register: l2, slot: t2, name: n2, props: i2 }), computed(() => e2.value.length > 0 ? e2.value.join(" ") : void 0);
47004
47347
  }
47005
- let T = defineComponent({ name: "Label", props: { as: { type: [Object, String], default: "label" }, passive: { type: [Boolean], default: false }, id: { type: String, default: () => `headlessui-label-${t()}` } }, setup(t2, { slots: n2, attrs: i2 }) {
47006
- let e2 = d();
47348
+ let T = defineComponent({ name: "Label", props: { as: { type: [Object, String], default: "label" }, passive: { type: [Boolean], default: false }, id: { type: String, default: () => `headlessui-label-${t$1()}` } }, setup(t2, { slots: n2, attrs: i2 }) {
47349
+ let e2 = d$1();
47007
47350
  return onMounted(() => onUnmounted(e2.register(t2.id))), () => {
47008
- let { name: l = "Label", slot: r2 = {}, props: o2 = {} } = e2, { id: p2, passive: c2, ...u2 } = t2, s2 = { ...Object.entries(o2).reduce((f2, [b2, g]) => Object.assign(f2, { [b2]: unref(g) }), {}), id: p2 };
47009
- return c2 && (delete s2.onClick, delete s2.htmlFor, delete u2.onClick), H$2({ ourProps: s2, theirProps: u2, slot: r2, attrs: i2, slots: n2, name: l });
47351
+ let { name: l2 = "Label", slot: r2 = {}, props: o2 = {} } = e2, { id: p2, passive: c2, ...u2 } = t2, s2 = { ...Object.entries(o2).reduce((f2, [b2, g]) => Object.assign(f2, { [b2]: unref(g) }), {}), id: p2 };
47352
+ return c2 && (delete s2.onClick, delete s2.htmlFor, delete u2.onClick), H$2({ ourProps: s2, theirProps: u2, slot: r2, attrs: i2, slots: n2, name: l2 });
47010
47353
  };
47011
47354
  } });
47012
47355
  function re(t2, c2) {
47013
47356
  return t2 === c2;
47014
47357
  }
47015
- let j = Symbol("RadioGroupContext");
47358
+ let j$1 = Symbol("RadioGroupContext");
47016
47359
  function H(t2) {
47017
- let c2 = inject(j, null);
47360
+ let c2 = inject(j$1, null);
47018
47361
  if (c2 === null) {
47019
47362
  let u2 = new Error(`<${t2} /> is missing a parent <RadioGroup /> component.`);
47020
47363
  throw Error.captureStackTrace && Error.captureStackTrace(u2, H), u2;
47021
47364
  }
47022
47365
  return c2;
47023
47366
  }
47024
- let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2) => true }, props: { as: { type: [Object, String], default: "div" }, disabled: { type: [Boolean], default: false }, by: { type: [String, Function], default: () => re }, modelValue: { type: [Object, String, Number, Boolean], default: void 0 }, defaultValue: { type: [Object, String, Number, Boolean], default: void 0 }, form: { type: String, optional: true }, name: { type: String, optional: true }, id: { type: String, default: () => `headlessui-radiogroup-${t()}` } }, inheritAttrs: false, setup(t2, { emit: c2, attrs: u2, slots: E2, expose: d2 }) {
47025
- let s2 = ref(null), i2 = ref([]), R = K({ name: "RadioGroupLabel" }), w = M({ name: "RadioGroupDescription" });
47367
+ let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2) => true }, props: { as: { type: [Object, String], default: "div" }, disabled: { type: [Boolean], default: false }, by: { type: [String, Function], default: () => re }, modelValue: { type: [Object, String, Number, Boolean], default: void 0 }, defaultValue: { type: [Object, String, Number, Boolean], default: void 0 }, form: { type: String, optional: true }, name: { type: String, optional: true }, id: { type: String, default: () => `headlessui-radiogroup-${t$1()}` } }, inheritAttrs: false, setup(t2, { emit: c2, attrs: u2, slots: E2, expose: d2 }) {
47368
+ let s2 = ref(null), i2 = ref([]), R = K({ name: "RadioGroupLabel" }), w2 = M({ name: "RadioGroupDescription" });
47026
47369
  d2({ el: s2, $el: s2 });
47027
- let [f2, S2] = d$1(computed(() => t2.modelValue), (e2) => c2("update:modelValue", e2), computed(() => t2.defaultValue)), p2 = { options: i2, value: f2, disabled: computed(() => t2.disabled), firstOption: computed(() => i2.value.find((e2) => !e2.propsRef.disabled)), containsCheckedOption: computed(() => i2.value.some((e2) => p2.compare(toRaw(e2.propsRef.value), toRaw(t2.modelValue)))), compare(e2, a2) {
47370
+ let [f2, S2] = d$2(computed(() => t2.modelValue), (e2) => c2("update:modelValue", e2), computed(() => t2.defaultValue)), p2 = { options: i2, value: f2, disabled: computed(() => t2.disabled), firstOption: computed(() => i2.value.find((e2) => !e2.propsRef.disabled)), containsCheckedOption: computed(() => i2.value.some((e2) => p2.compare(toRaw(e2.propsRef.value), toRaw(t2.modelValue)))), compare(e2, a2) {
47028
47371
  if (typeof t2.by == "string") {
47029
47372
  let n2 = t2.by;
47030
47373
  return (e2 == null ? void 0 : e2[n2]) === (a2 == null ? void 0 : a2[n2]);
@@ -47034,7 +47377,7 @@ let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2
47034
47377
  var n2;
47035
47378
  if (t2.disabled || p2.compare(toRaw(f2.value), toRaw(e2)))
47036
47379
  return false;
47037
- let a2 = (n2 = i2.value.find((l) => p2.compare(toRaw(l.propsRef.value), toRaw(e2)))) == null ? void 0 : n2.propsRef;
47380
+ let a2 = (n2 = i2.value.find((l2) => p2.compare(toRaw(l2.propsRef.value), toRaw(e2)))) == null ? void 0 : n2.propsRef;
47038
47381
  return a2 != null && a2.disabled ? false : (S2(e2), true);
47039
47382
  }, registerOption(e2) {
47040
47383
  i2.value.push(e2), i2.value = O(i2.value, (a2) => a2.element);
@@ -47042,7 +47385,7 @@ let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2
47042
47385
  let a2 = i2.value.findIndex((n2) => n2.id === e2);
47043
47386
  a2 !== -1 && i2.value.splice(a2, 1);
47044
47387
  } };
47045
- provide(j, p2), p$2({ container: computed(() => o(s2)), accept(e2) {
47388
+ provide(j$1, p2), p$2({ container: computed(() => o(s2)), accept(e2) {
47046
47389
  return e2.getAttribute("role") === "radio" ? NodeFilter.FILTER_REJECT : e2.hasAttribute("role") ? NodeFilter.FILTER_SKIP : NodeFilter.FILTER_ACCEPT;
47047
47390
  }, walk(e2) {
47048
47391
  e2.setAttribute("role", "none");
@@ -47058,29 +47401,29 @@ let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2
47058
47401
  case o$1.ArrowLeft:
47059
47402
  case o$1.ArrowUp:
47060
47403
  if (e2.preventDefault(), e2.stopPropagation(), P(a2, N.Previous | N.WrapAround) === T$1.Success) {
47061
- let l = i2.value.find((r2) => {
47404
+ let l2 = i2.value.find((r2) => {
47062
47405
  var b2;
47063
47406
  return r2.element === ((b2 = m(s2)) == null ? void 0 : b2.activeElement);
47064
47407
  });
47065
- l && p2.change(l.propsRef.value);
47408
+ l2 && p2.change(l2.propsRef.value);
47066
47409
  }
47067
47410
  break;
47068
47411
  case o$1.ArrowRight:
47069
47412
  case o$1.ArrowDown:
47070
47413
  if (e2.preventDefault(), e2.stopPropagation(), P(a2, N.Next | N.WrapAround) === T$1.Success) {
47071
- let l = i2.value.find((r2) => {
47414
+ let l2 = i2.value.find((r2) => {
47072
47415
  var b2;
47073
47416
  return r2.element === ((b2 = m(r2.element)) == null ? void 0 : b2.activeElement);
47074
47417
  });
47075
- l && p2.change(l.propsRef.value);
47418
+ l2 && p2.change(l2.propsRef.value);
47076
47419
  }
47077
47420
  break;
47078
47421
  case o$1.Space:
47079
47422
  {
47080
47423
  e2.preventDefault(), e2.stopPropagation();
47081
- let n2 = i2.value.find((l) => {
47424
+ let n2 = i2.value.find((l2) => {
47082
47425
  var r2;
47083
- return l.element === ((r2 = m(l.element)) == null ? void 0 : r2.activeElement);
47426
+ return l2.element === ((r2 = m(l2.element)) == null ? void 0 : r2.activeElement);
47084
47427
  });
47085
47428
  n2 && p2.change(n2.propsRef.value);
47086
47429
  }
@@ -47104,16 +47447,16 @@ let ke = defineComponent({ name: "RadioGroup", emits: { "update:modelValue": (t2
47104
47447
  };
47105
47448
  }, { immediate: true });
47106
47449
  }), () => {
47107
- let { disabled: e$12, name: a2, id: n2, form: l, ...r2 } = t2, b2 = { ref: s2, id: n2, role: "radiogroup", "aria-labelledby": R.value, "aria-describedby": w.value, onKeydown: m$1 };
47108
- return h$1(Fragment, [...a2 != null && f2.value != null ? e({ [a2]: f2.value }).map(([T2, G]) => h$1(f$1, K$1({ features: a$1.Hidden, key: T2, as: "input", type: "hidden", hidden: true, readOnly: true, form: l, name: T2, value: G }))) : [], H$2({ ourProps: b2, theirProps: { ...u2, ...T$2(r2, ["modelValue", "defaultValue", "by"]) }, slot: {}, attrs: u2, slots: E2, name: "RadioGroup" })]);
47450
+ let { disabled: e$12, name: a2, id: n2, form: l2, ...r2 } = t2, b2 = { ref: s2, id: n2, role: "radiogroup", "aria-labelledby": R.value, "aria-describedby": w2.value, onKeydown: m$1 };
47451
+ return h$1(Fragment, [...a2 != null && f2.value != null ? e({ [a2]: f2.value }).map(([T2, G]) => h$1(f$1, K$1({ features: a$1.Hidden, key: T2, as: "input", type: "hidden", hidden: true, readOnly: true, form: l2, name: T2, value: G }))) : [], H$2({ ourProps: b2, theirProps: { ...u2, ...T$2(r2, ["modelValue", "defaultValue", "by"]) }, slot: {}, attrs: u2, slots: E2, name: "RadioGroup" })]);
47109
47452
  };
47110
47453
  } });
47111
47454
  var ie = ((u2) => (u2[u2.Empty = 1] = "Empty", u2[u2.Active = 2] = "Active", u2))(ie || {});
47112
- let Ee = defineComponent({ name: "RadioGroupOption", props: { as: { type: [Object, String], default: "div" }, value: { type: [Object, String, Number, Boolean] }, disabled: { type: Boolean, default: false }, id: { type: String, default: () => `headlessui-radiogroup-option-${t()}` } }, setup(t2, { attrs: c2, slots: u2, expose: E2 }) {
47113
- let d2 = H("RadioGroupOption"), s2 = K({ name: "RadioGroupLabel" }), i2 = M({ name: "RadioGroupDescription" }), R = ref(null), w = computed(() => ({ value: t2.value, disabled: t2.disabled })), f2 = ref(1);
47455
+ let Ee = defineComponent({ name: "RadioGroupOption", props: { as: { type: [Object, String], default: "div" }, value: { type: [Object, String, Number, Boolean] }, disabled: { type: Boolean, default: false }, id: { type: String, default: () => `headlessui-radiogroup-option-${t$1()}` } }, setup(t2, { attrs: c2, slots: u2, expose: E2 }) {
47456
+ let d2 = H("RadioGroupOption"), s2 = K({ name: "RadioGroupLabel" }), i2 = M({ name: "RadioGroupDescription" }), R = ref(null), w2 = computed(() => ({ value: t2.value, disabled: t2.disabled })), f2 = ref(1);
47114
47457
  E2({ el: R, $el: R });
47115
47458
  let S2 = computed(() => o(R));
47116
- onMounted(() => d2.registerOption({ id: t2.id, element: S2, propsRef: w })), onUnmounted(() => d2.unregisterOption(t2.id));
47459
+ onMounted(() => d2.registerOption({ id: t2.id, element: S2, propsRef: w2 })), onUnmounted(() => d2.unregisterOption(t2.id));
47117
47460
  let p2 = computed(() => {
47118
47461
  var r2;
47119
47462
  return ((r2 = d2.firstOption.value) == null ? void 0 : r2.id) === t2.id;
@@ -47125,30 +47468,30 @@ let Ee = defineComponent({ name: "RadioGroupOption", props: { as: { type: [Objec
47125
47468
  function n2() {
47126
47469
  f2.value |= 2;
47127
47470
  }
47128
- function l() {
47471
+ function l2() {
47129
47472
  f2.value &= -3;
47130
47473
  }
47131
47474
  return () => {
47132
- let { id: r2, value: b2, disabled: T2, ...G } = t2, N2 = { checked: v2.value, disabled: m2.value, active: Boolean(f2.value & 2) }, K2 = { id: r2, ref: R, role: "radio", "aria-checked": v2.value ? "true" : "false", "aria-labelledby": s2.value, "aria-describedby": i2.value, "aria-disabled": m2.value ? true : void 0, tabIndex: e2.value, onClick: m2.value ? void 0 : a2, onFocus: m2.value ? void 0 : n2, onBlur: m2.value ? void 0 : l };
47475
+ let { id: r2, value: b2, disabled: T2, ...G } = t2, N2 = { checked: v2.value, disabled: m2.value, active: Boolean(f2.value & 2) }, K2 = { id: r2, ref: R, role: "radio", "aria-checked": v2.value ? "true" : "false", "aria-labelledby": s2.value, "aria-describedby": i2.value, "aria-disabled": m2.value ? true : void 0, tabIndex: e2.value, onClick: m2.value ? void 0 : a2, onFocus: m2.value ? void 0 : n2, onBlur: m2.value ? void 0 : l2 };
47133
47476
  return H$2({ ourProps: K2, theirProps: G, slot: N2, attrs: c2, slots: u2, name: "RadioGroupOption" });
47134
47477
  };
47135
- } }), we = T, Se = E;
47136
- let S = Symbol("GroupContext"), ae = defineComponent({ name: "SwitchGroup", props: { as: { type: [Object, String], default: "template" } }, setup(l, { slots: p2, attrs: a2 }) {
47478
+ } }), we = T, Se$1 = E;
47479
+ let S = Symbol("GroupContext"), ae = defineComponent({ name: "SwitchGroup", props: { as: { type: [Object, String], default: "template" } }, setup(l2, { slots: p2, attrs: a2 }) {
47137
47480
  let o2 = ref(null), f2 = K({ name: "SwitchLabel", props: { htmlFor: computed(() => {
47138
47481
  var r2;
47139
47482
  return (r2 = o2.value) == null ? void 0 : r2.id;
47140
47483
  }), onClick(r2) {
47141
47484
  o2.value && (r2.currentTarget.tagName === "LABEL" && r2.preventDefault(), o2.value.click(), o2.value.focus({ preventScroll: true }));
47142
47485
  } } }), t2 = M({ name: "SwitchDescription" });
47143
- return provide(S, { switchRef: o2, labelledby: f2, describedby: t2 }), () => H$2({ theirProps: l, ourProps: {}, slot: {}, slots: p2, attrs: a2, name: "SwitchGroup" });
47144
- } }), ue = defineComponent({ name: "Switch", emits: { "update:modelValue": (l) => true }, props: { as: { type: [Object, String], default: "button" }, modelValue: { type: Boolean, default: void 0 }, defaultChecked: { type: Boolean, optional: true }, form: { type: String, optional: true }, name: { type: String, optional: true }, value: { type: String, optional: true }, id: { type: String, default: () => `headlessui-switch-${t()}` } }, inheritAttrs: false, setup(l, { emit: p2, attrs: a2, slots: o$2, expose: f2 }) {
47145
- let t2 = inject(S, null), [i2, r2] = d$1(computed(() => l.modelValue), (e2) => p2("update:modelValue", e2), computed(() => l.defaultChecked));
47486
+ return provide(S, { switchRef: o2, labelledby: f2, describedby: t2 }), () => H$2({ theirProps: l2, ourProps: {}, slot: {}, slots: p2, attrs: a2, name: "SwitchGroup" });
47487
+ } }), ue = defineComponent({ name: "Switch", emits: { "update:modelValue": (l2) => true }, props: { as: { type: [Object, String], default: "button" }, modelValue: { type: Boolean, default: void 0 }, defaultChecked: { type: Boolean, optional: true }, form: { type: String, optional: true }, name: { type: String, optional: true }, value: { type: String, optional: true }, id: { type: String, default: () => `headlessui-switch-${t$1()}` } }, inheritAttrs: false, setup(l2, { emit: p2, attrs: a2, slots: o$2, expose: f2 }) {
47488
+ let t2 = inject(S, null), [i2, r2] = d$2(computed(() => l2.modelValue), (e2) => p2("update:modelValue", e2), computed(() => l2.defaultChecked));
47146
47489
  function s2() {
47147
47490
  r2(!i2.value);
47148
47491
  }
47149
- let w = ref(null), u2 = t2 === null ? w : t2.switchRef, g = b$1(computed(() => ({ as: l.as, type: a2.type })), u2);
47492
+ let w2 = ref(null), u2 = t2 === null ? w2 : t2.switchRef, g = b$1(computed(() => ({ as: l2.as, type: a2.type })), u2);
47150
47493
  f2({ el: u2, $el: u2 });
47151
- function k(e2) {
47494
+ function k2(e2) {
47152
47495
  e2.preventDefault(), s2();
47153
47496
  }
47154
47497
  function C(e2) {
@@ -47163,10 +47506,10 @@ let S = Symbol("GroupContext"), ae = defineComponent({ name: "SwitchGroup", prop
47163
47506
  });
47164
47507
  return onMounted(() => {
47165
47508
  watch([c2], () => {
47166
- if (!c2.value || l.defaultChecked === void 0)
47509
+ if (!c2.value || l2.defaultChecked === void 0)
47167
47510
  return;
47168
47511
  function e2() {
47169
- r2(l.defaultChecked);
47512
+ r2(l2.defaultChecked);
47170
47513
  }
47171
47514
  return c2.value.addEventListener("reset", e2), () => {
47172
47515
  var n2;
@@ -47174,11 +47517,200 @@ let S = Symbol("GroupContext"), ae = defineComponent({ name: "SwitchGroup", prop
47174
47517
  };
47175
47518
  }, { immediate: true });
47176
47519
  }), () => {
47177
- let { id: e2, name: n2, value: L, form: D, ...R } = l, K2 = { checked: i2.value }, x = { id: e2, ref: u2, role: "switch", type: g.value, tabIndex: 0, "aria-checked": i2.value, "aria-labelledby": t2 == null ? void 0 : t2.labelledby.value, "aria-describedby": t2 == null ? void 0 : t2.describedby.value, onClick: k, onKeyup: C, onKeypress: E2 };
47178
- return h$1(Fragment, [n2 != null && i2.value != null ? h$1(f$1, K$1({ features: a$1.Hidden, as: "input", type: "checkbox", hidden: true, readOnly: true, checked: i2.value, form: D, name: n2, value: L })) : null, H$2({ ourProps: x, theirProps: { ...a2, ...T$2(R, ["modelValue", "defaultChecked"]) }, slot: K2, attrs: a2, slots: o$2, name: "Switch" })]);
47520
+ let { id: e2, name: n2, value: L, form: D, ...R } = l2, K2 = { checked: i2.value }, x2 = { id: e2, ref: u2, role: "switch", type: g.value, tabIndex: 0, "aria-checked": i2.value, "aria-labelledby": t2 == null ? void 0 : t2.labelledby.value, "aria-describedby": t2 == null ? void 0 : t2.describedby.value, onClick: k2, onKeyup: C, onKeypress: E2 };
47521
+ return h$1(Fragment, [n2 != null && i2.value != null ? h$1(f$1, K$1({ features: a$1.Hidden, as: "input", type: "checkbox", hidden: true, readOnly: true, checked: i2.value, form: D, name: n2, value: L })) : null, H$2({ ourProps: x2, theirProps: { ...a2, ...T$2(R, ["modelValue", "defaultChecked"]) }, slot: K2, attrs: a2, slots: o$2, name: "Switch" })]);
47179
47522
  };
47180
47523
  } }), de = T, ce = E;
47181
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
47524
+ let d = defineComponent({ props: { onFocus: { type: Function, required: true } }, setup(t2) {
47525
+ let n2 = ref(true);
47526
+ return () => n2.value ? h$1(f$1, { as: "button", type: "button", features: a$1.Focusable, onFocus(o2) {
47527
+ o2.preventDefault();
47528
+ let e2, a2 = 50;
47529
+ function r2() {
47530
+ var u2;
47531
+ if (a2-- <= 0) {
47532
+ e2 && cancelAnimationFrame(e2);
47533
+ return;
47534
+ }
47535
+ if ((u2 = t2.onFocus) != null && u2.call(t2)) {
47536
+ n2.value = false, cancelAnimationFrame(e2);
47537
+ return;
47538
+ }
47539
+ e2 = requestAnimationFrame(r2);
47540
+ }
47541
+ e2 = requestAnimationFrame(r2);
47542
+ } }) : null;
47543
+ } });
47544
+ var te = ((i2) => (i2[i2.Forwards = 0] = "Forwards", i2[i2.Backwards = 1] = "Backwards", i2))(te || {}), le = ((s2) => (s2[s2.Less = -1] = "Less", s2[s2.Equal = 0] = "Equal", s2[s2.Greater = 1] = "Greater", s2))(le || {});
47545
+ let U = Symbol("TabsContext");
47546
+ function k(a2) {
47547
+ let v2 = inject(U, null);
47548
+ if (v2 === null) {
47549
+ let i2 = new Error(`<${a2} /> is missing a parent <TabGroup /> component.`);
47550
+ throw Error.captureStackTrace && Error.captureStackTrace(i2, k), i2;
47551
+ }
47552
+ return v2;
47553
+ }
47554
+ let j = Symbol("TabsSSRContext"), xe = defineComponent({ name: "TabGroup", emits: { change: (a2) => true }, props: { as: { type: [Object, String], default: "template" }, selectedIndex: { type: [Number], default: null }, defaultIndex: { type: [Number], default: 0 }, vertical: { type: [Boolean], default: false }, manual: { type: [Boolean], default: false } }, inheritAttrs: false, setup(a2, { slots: v2, attrs: i2, emit: s2 }) {
47555
+ var h2;
47556
+ let l2 = ref((h2 = a2.selectedIndex) != null ? h2 : a2.defaultIndex), n2 = ref([]), o$12 = ref([]), T2 = computed(() => a2.selectedIndex !== null), b2 = computed(() => T2.value ? a2.selectedIndex : l2.value);
47557
+ function m2(t2) {
47558
+ var S2;
47559
+ let e2 = O(r2.tabs.value, o), u2 = O(r2.panels.value, o), f2 = e2.filter((p2) => {
47560
+ var E2;
47561
+ return !((E2 = o(p2)) != null && E2.hasAttribute("disabled"));
47562
+ });
47563
+ if (t2 < 0 || t2 > e2.length - 1) {
47564
+ let p2 = u$2(l2.value === null ? 0 : Math.sign(t2 - l2.value), { [-1]: () => 1, [0]: () => u$2(Math.sign(t2), { [-1]: () => 0, [0]: () => 0, [1]: () => 1 }), [1]: () => 0 });
47565
+ l2.value = u$2(p2, { [0]: () => e2.indexOf(f2[0]), [1]: () => e2.indexOf(f2[f2.length - 1]) }), r2.tabs.value = e2, r2.panels.value = u2;
47566
+ } else {
47567
+ let p2 = e2.slice(0, t2), G = [...e2.slice(t2), ...p2].find((W) => f2.includes(W));
47568
+ if (!G)
47569
+ return;
47570
+ let B = (S2 = e2.indexOf(G)) != null ? S2 : r2.selectedIndex.value;
47571
+ B === -1 && (B = r2.selectedIndex.value), l2.value = B, r2.tabs.value = e2, r2.panels.value = u2;
47572
+ }
47573
+ }
47574
+ let r2 = { selectedIndex: computed(() => {
47575
+ var t2, e2;
47576
+ return (e2 = (t2 = l2.value) != null ? t2 : a2.defaultIndex) != null ? e2 : null;
47577
+ }), orientation: computed(() => a2.vertical ? "vertical" : "horizontal"), activation: computed(() => a2.manual ? "manual" : "auto"), tabs: n2, panels: o$12, setSelectedIndex(t2) {
47578
+ b2.value !== t2 && s2("change", t2), T2.value || m2(t2);
47579
+ }, registerTab(t2) {
47580
+ var f2;
47581
+ if (n2.value.includes(t2))
47582
+ return;
47583
+ let e2 = n2.value[l2.value];
47584
+ n2.value.push(t2), n2.value = O(n2.value, o);
47585
+ let u2 = (f2 = n2.value.indexOf(e2)) != null ? f2 : l2.value;
47586
+ u2 !== -1 && (l2.value = u2);
47587
+ }, unregisterTab(t2) {
47588
+ let e2 = n2.value.indexOf(t2);
47589
+ e2 !== -1 && n2.value.splice(e2, 1);
47590
+ }, registerPanel(t2) {
47591
+ o$12.value.includes(t2) || (o$12.value.push(t2), o$12.value = O(o$12.value, o));
47592
+ }, unregisterPanel(t2) {
47593
+ let e2 = o$12.value.indexOf(t2);
47594
+ e2 !== -1 && o$12.value.splice(e2, 1);
47595
+ } };
47596
+ provide(U, r2);
47597
+ let R = ref({ tabs: [], panels: [] }), y2 = ref(false);
47598
+ onMounted(() => {
47599
+ y2.value = true;
47600
+ }), provide(j, computed(() => y2.value ? null : R.value));
47601
+ let w2 = computed(() => a2.selectedIndex);
47602
+ return onMounted(() => {
47603
+ watch([w2], () => {
47604
+ var t2;
47605
+ return m2((t2 = a2.selectedIndex) != null ? t2 : a2.defaultIndex);
47606
+ }, { immediate: true });
47607
+ }), watchEffect(() => {
47608
+ if (!T2.value || b2.value == null || r2.tabs.value.length <= 0)
47609
+ return;
47610
+ let t2 = O(r2.tabs.value, o);
47611
+ t2.some((u2, f2) => o(r2.tabs.value[f2]) !== o(u2)) && r2.setSelectedIndex(t2.findIndex((u2) => o(u2) === o(r2.tabs.value[b2.value])));
47612
+ }), () => {
47613
+ let t2 = { selectedIndex: l2.value };
47614
+ return h$1(Fragment, [n2.value.length <= 0 && h$1(d, { onFocus: () => {
47615
+ for (let e2 of n2.value) {
47616
+ let u2 = o(e2);
47617
+ if ((u2 == null ? void 0 : u2.tabIndex) === 0)
47618
+ return u2.focus(), true;
47619
+ }
47620
+ return false;
47621
+ } }), H$2({ theirProps: { ...i2, ...T$2(a2, ["selectedIndex", "defaultIndex", "manual", "vertical", "onChange"]) }, ourProps: {}, slot: t2, slots: v2, attrs: i2, name: "TabGroup" })]);
47622
+ };
47623
+ } }), Ie = defineComponent({ name: "TabList", props: { as: { type: [Object, String], default: "div" } }, setup(a2, { attrs: v2, slots: i2 }) {
47624
+ let s2 = k("TabList");
47625
+ return () => {
47626
+ let l2 = { selectedIndex: s2.selectedIndex.value }, n2 = { role: "tablist", "aria-orientation": s2.orientation.value };
47627
+ return H$2({ ourProps: n2, theirProps: a2, slot: l2, attrs: v2, slots: i2, name: "TabList" });
47628
+ };
47629
+ } }), ye = defineComponent({ name: "Tab", props: { as: { type: [Object, String], default: "button" }, disabled: { type: [Boolean], default: false }, id: { type: String, default: () => `headlessui-tabs-tab-${t$1()}` } }, setup(a2, { attrs: v2, slots: i2, expose: s2 }) {
47630
+ let l2 = k("Tab"), n2 = ref(null);
47631
+ s2({ el: n2, $el: n2 }), onMounted(() => l2.registerTab(n2)), onUnmounted(() => l2.unregisterTab(n2));
47632
+ let o$2 = inject(j), T2 = computed(() => {
47633
+ if (o$2.value) {
47634
+ let e2 = o$2.value.tabs.indexOf(a2.id);
47635
+ return e2 === -1 ? o$2.value.tabs.push(a2.id) - 1 : e2;
47636
+ }
47637
+ return -1;
47638
+ }), b2 = computed(() => {
47639
+ let e2 = l2.tabs.value.indexOf(n2);
47640
+ return e2 === -1 ? T2.value : e2;
47641
+ }), m$1 = computed(() => b2.value === l2.selectedIndex.value);
47642
+ function r2(e2) {
47643
+ var f2;
47644
+ let u2 = e2();
47645
+ if (u2 === T$1.Success && l2.activation.value === "auto") {
47646
+ let S2 = (f2 = m(n2)) == null ? void 0 : f2.activeElement, p2 = l2.tabs.value.findIndex((E2) => o(E2) === S2);
47647
+ p2 !== -1 && l2.setSelectedIndex(p2);
47648
+ }
47649
+ return u2;
47650
+ }
47651
+ function R(e2) {
47652
+ let u2 = l2.tabs.value.map((S2) => o(S2)).filter(Boolean);
47653
+ if (e2.key === o$1.Space || e2.key === o$1.Enter) {
47654
+ e2.preventDefault(), e2.stopPropagation(), l2.setSelectedIndex(b2.value);
47655
+ return;
47656
+ }
47657
+ switch (e2.key) {
47658
+ case o$1.Home:
47659
+ case o$1.PageUp:
47660
+ return e2.preventDefault(), e2.stopPropagation(), r2(() => P(u2, N.First));
47661
+ case o$1.End:
47662
+ case o$1.PageDown:
47663
+ return e2.preventDefault(), e2.stopPropagation(), r2(() => P(u2, N.Last));
47664
+ }
47665
+ if (r2(() => u$2(l2.orientation.value, { vertical() {
47666
+ return e2.key === o$1.ArrowUp ? P(u2, N.Previous | N.WrapAround) : e2.key === o$1.ArrowDown ? P(u2, N.Next | N.WrapAround) : T$1.Error;
47667
+ }, horizontal() {
47668
+ return e2.key === o$1.ArrowLeft ? P(u2, N.Previous | N.WrapAround) : e2.key === o$1.ArrowRight ? P(u2, N.Next | N.WrapAround) : T$1.Error;
47669
+ } })) === T$1.Success)
47670
+ return e2.preventDefault();
47671
+ }
47672
+ let y2 = ref(false);
47673
+ function w2() {
47674
+ var e2;
47675
+ y2.value || (y2.value = true, !a2.disabled && ((e2 = o(n2)) == null || e2.focus(), l2.setSelectedIndex(b2.value), t(() => {
47676
+ y2.value = false;
47677
+ })));
47678
+ }
47679
+ function h2(e2) {
47680
+ e2.preventDefault();
47681
+ }
47682
+ let t$12 = b$1(computed(() => ({ as: a2.as, type: v2.type })), n2);
47683
+ return () => {
47684
+ var p2;
47685
+ let e2 = { selected: m$1.value }, { id: u2, ...f2 } = a2, S2 = { ref: n2, onKeydown: R, onMousedown: h2, onClick: w2, id: u2, role: "tab", type: t$12.value, "aria-controls": (p2 = o(l2.panels.value[b2.value])) == null ? void 0 : p2.id, "aria-selected": m$1.value, tabIndex: m$1.value ? 0 : -1, disabled: a2.disabled ? true : void 0 };
47686
+ return H$2({ ourProps: S2, theirProps: f2, slot: e2, attrs: v2, slots: i2, name: "Tab" });
47687
+ };
47688
+ } }), Se = defineComponent({ name: "TabPanels", props: { as: { type: [Object, String], default: "div" } }, setup(a2, { slots: v2, attrs: i2 }) {
47689
+ let s2 = k("TabPanels");
47690
+ return () => {
47691
+ let l2 = { selectedIndex: s2.selectedIndex.value };
47692
+ return H$2({ theirProps: a2, ourProps: {}, slot: l2, attrs: i2, slots: v2, name: "TabPanels" });
47693
+ };
47694
+ } }), ge = defineComponent({ name: "TabPanel", props: { as: { type: [Object, String], default: "div" }, static: { type: Boolean, default: false }, unmount: { type: Boolean, default: true }, id: { type: String, default: () => `headlessui-tabs-panel-${t$1()}` }, tabIndex: { type: Number, default: 0 } }, setup(a2, { attrs: v2, slots: i2, expose: s2 }) {
47695
+ let l2 = k("TabPanel"), n2 = ref(null);
47696
+ s2({ el: n2, $el: n2 }), onMounted(() => l2.registerPanel(n2)), onUnmounted(() => l2.unregisterPanel(n2));
47697
+ let o$12 = inject(j), T2 = computed(() => {
47698
+ if (o$12.value) {
47699
+ let r2 = o$12.value.panels.indexOf(a2.id);
47700
+ return r2 === -1 ? o$12.value.panels.push(a2.id) - 1 : r2;
47701
+ }
47702
+ return -1;
47703
+ }), b2 = computed(() => {
47704
+ let r2 = l2.panels.value.indexOf(n2);
47705
+ return r2 === -1 ? T2.value : r2;
47706
+ }), m2 = computed(() => b2.value === l2.selectedIndex.value);
47707
+ return () => {
47708
+ var t2;
47709
+ let r2 = { selected: m2.value }, { id: R, tabIndex: y2, ...w2 } = a2, h2 = { ref: n2, id: R, role: "tabpanel", "aria-labelledby": (t2 = o(l2.tabs.value[b2.value])) == null ? void 0 : t2.id, tabIndex: m2.value ? y2 : -1 };
47710
+ return !m2.value && a2.unmount && !a2.static ? h$1(f$1, { as: "span", ...h2 }) : H$2({ ourProps: h2, theirProps: w2, slot: r2, attrs: v2, slots: i2, features: N$1.Static | N$1.RenderStrategy, visible: m2.value, name: "TabPanel" });
47711
+ };
47712
+ } });
47713
+ const _sfc_main$l = /* @__PURE__ */ defineComponent({
47182
47714
  __name: "VRadioDescription",
47183
47715
  props: {
47184
47716
  as: {
@@ -47188,7 +47720,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
47188
47720
  },
47189
47721
  setup(__props) {
47190
47722
  return (_ctx, _cache) => {
47191
- return openBlock(), createBlock(unref(Se), { as: __props.as }, {
47723
+ return openBlock(), createBlock(unref(Se$1), { as: __props.as }, {
47192
47724
  default: withCtx(() => [
47193
47725
  renderSlot(_ctx.$slots, "default")
47194
47726
  ]),
@@ -47197,7 +47729,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
47197
47729
  };
47198
47730
  }
47199
47731
  });
47200
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
47732
+ const _sfc_main$k = /* @__PURE__ */ defineComponent({
47201
47733
  __name: "VRadioGroup",
47202
47734
  props: {
47203
47735
  as: {
@@ -47265,7 +47797,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
47265
47797
  };
47266
47798
  }
47267
47799
  });
47268
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
47800
+ const _sfc_main$j = /* @__PURE__ */ defineComponent({
47269
47801
  __name: "VRadioItem",
47270
47802
  props: {
47271
47803
  value: {
@@ -47291,7 +47823,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
47291
47823
  };
47292
47824
  }
47293
47825
  });
47294
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
47826
+ const _sfc_main$i = /* @__PURE__ */ defineComponent({
47295
47827
  __name: "VRadioLabel",
47296
47828
  props: {
47297
47829
  as: {
@@ -47310,11 +47842,11 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
47310
47842
  };
47311
47843
  }
47312
47844
  });
47313
- const _hoisted_1$5 = {
47845
+ const _hoisted_1$6 = {
47314
47846
  key: 0,
47315
47847
  class: "sr-only"
47316
47848
  };
47317
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
47849
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
47318
47850
  __name: "VSwitch",
47319
47851
  props: {
47320
47852
  modelValue: {
@@ -47390,7 +47922,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
47390
47922
  createElementVNode("div", {
47391
47923
  class: normalizeClass(`slide-toggle-track flex transition-all duration-[150ms] border-token rounded-token ${unref(trackSize)} ${__props.disabled ? "cursor-not-allowed" : "cursor-pointer"} ${__props.switchClass}`)
47392
47924
  }, [
47393
- _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_1$5, [
47925
+ _ctx.$slots.default ? (openBlock(), createElementBlock("span", _hoisted_1$6, [
47394
47926
  renderSlot(_ctx.$slots, "default")
47395
47927
  ])) : createCommentVNode("", true),
47396
47928
  createElementVNode("div", {
@@ -47403,7 +47935,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
47403
47935
  };
47404
47936
  }
47405
47937
  });
47406
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
47938
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
47407
47939
  __name: "VSwitchDescription",
47408
47940
  props: {
47409
47941
  as: {
@@ -47422,7 +47954,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
47422
47954
  };
47423
47955
  }
47424
47956
  });
47425
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
47957
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
47426
47958
  __name: "VSwitchGroup",
47427
47959
  props: {
47428
47960
  as: {
@@ -47441,7 +47973,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
47441
47973
  };
47442
47974
  }
47443
47975
  });
47444
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
47976
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
47445
47977
  __name: "VSwitchLabel",
47446
47978
  props: {
47447
47979
  as: {
@@ -47586,8 +48118,8 @@ const useDarkMode = () => {
47586
48118
  MODE
47587
48119
  };
47588
48120
  };
47589
- const _hoisted_1$4 = ["aria-labelledby", "aria-describedby"];
47590
- const _sfc_main$5 = /* @__PURE__ */ defineComponent({
48121
+ const _hoisted_1$5 = ["aria-labelledby", "aria-describedby"];
48122
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
47591
48123
  __name: "VDrawer",
47592
48124
  props: {
47593
48125
  regionBackdrop: {
@@ -47651,7 +48183,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
47651
48183
  "aria-describedby": unref(describedby)
47652
48184
  }, [
47653
48185
  renderSlot(_ctx.$slots, "default")
47654
- ], 10, _hoisted_1$4)) : createCommentVNode("", true)
48186
+ ], 10, _hoisted_1$5)) : createCommentVNode("", true)
47655
48187
  ]),
47656
48188
  _: 3
47657
48189
  }, 8, ["name"]),
@@ -47663,7 +48195,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
47663
48195
  key: 0,
47664
48196
  ref_key: "elemBackdrop",
47665
48197
  ref: elemBackdrop,
47666
- class: normalizeClass(`drawer-backdrop backdrop-blur-xs fixed bottom-0 left-0 right-0 top-0 flex bg-surface-backdrop-token z-40 ${unref(regionBackdrop)}`),
48198
+ class: normalizeClass(`drawer-backdrop backdrop-blur-xs fixed bottom-0 left-0 right-0 top-0 z-40 flex bg-surface-backdrop-token ${unref(regionBackdrop)}`),
47667
48199
  onMousedown: onBackdropInteraction,
47668
48200
  onTouchstart: onBackdropInteraction
47669
48201
  }, null, 34)) : createCommentVNode("", true)
@@ -47674,256 +48206,60 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
47674
48206
  };
47675
48207
  }
47676
48208
  });
47677
- const _hoisted_1$3 = { class: "v-rail grid h-full w-[70px] grid-rows-[auto_1fr_auto] gap-0 overflow-y-auto sm:w-20" };
47678
- const _sfc_main$4 = /* @__PURE__ */ defineComponent({
47679
- __name: "VRail",
47680
- props: {
47681
- active: {
47682
- type: String,
47683
- default: "bg-secondary-active-token"
47684
- },
47685
- hover: {
47686
- type: String,
47687
- default: "hover:bg-secondary-hover-token"
47688
- },
47689
- regionLead: {
47690
- type: String,
47691
- default: ""
47692
- },
47693
- regionDefault: {
47694
- type: String,
47695
- default: ""
47696
- },
47697
- regionTrail: {
47698
- type: String,
47699
- default: ""
47700
- }
47701
- },
47702
- setup(__props) {
47703
- const props = __props;
47704
- provide("active", props.active);
47705
- provide("hover", props.hover);
47706
- return (_ctx, _cache) => {
47707
- return openBlock(), createElementBlock("div", _hoisted_1$3, [
47708
- createElementVNode("div", {
47709
- class: normalizeClass(["v-bar-lead", __props.regionLead])
47710
- }, [
47711
- renderSlot(_ctx.$slots, "lead")
47712
- ], 2),
47713
- createElementVNode("div", {
47714
- class: normalizeClass(["v-bar-default", __props.regionDefault])
47715
- }, [
47716
- renderSlot(_ctx.$slots, "default")
47717
- ], 2),
47718
- createElementVNode("div", {
47719
- class: normalizeClass(["v-bar-trail", __props.regionTrail])
47720
- }, [
47721
- renderSlot(_ctx.$slots, "trail")
47722
- ], 2)
47723
- ]);
47724
- };
47725
- }
47726
- });
47727
- const _sfc_main$3 = /* @__PURE__ */ defineComponent({
47728
- __name: "VRailTile",
47729
- props: {
47730
- value: {
47731
- type: String,
47732
- default: ""
47733
- },
47734
- tag: {
47735
- type: String,
47736
- default: "button"
47737
- },
47738
- label: {
47739
- type: String,
47740
- default: ""
47741
- },
47742
- regionIcon: {
47743
- type: String,
47744
- default: ""
47745
- },
47746
- regionLabel: {
47747
- type: String,
47748
- default: ""
47749
- }
47750
- },
47751
- emits: ["click"],
47752
- setup(__props, { emit }) {
47753
- const props = __props;
47754
- const attrs = useAttrs();
47755
- const { selectedRailTile: selectedRailTile2 } = useRail();
47756
- const active = inject("active");
47757
- const hover = inject("hover");
47758
- const activate = () => {
47759
- selectedRailTile2.value = props.value;
47760
- emit("click");
47761
- };
47762
- const clickHandler = (event) => {
47763
- event.preventDefault();
47764
- activate();
47765
- };
47766
- const keydownHandler = (event) => {
47767
- if (["Enter", " "].includes(event.key))
47768
- event.preventDefault();
47769
- if (event.key === "Enter")
47770
- activate();
47771
- };
47772
- const keyupHandler = (event) => {
47773
- if (event.key === " ") {
47774
- event.preventDefault();
47775
- activate();
47776
- }
47777
- };
47778
- return (_ctx, _cache) => {
47779
- return openBlock(), createBlock(resolveDynamicComponent(__props.tag), mergeProps({
47780
- onClick: clickHandler,
47781
- onKeydown: keydownHandler,
47782
- onKeyup: keyupHandler
47783
- }, unref(attrs), {
47784
- class: `app-rail-tile unstyled grid aspect-square w-full cursor-pointer place-content-center place-items-center space-y-1.5 ${unref(hover)} ${unref(selectedRailTile2) === __props.value ? `${unref(active)}` : ""}`
47785
- }), {
47786
- default: withCtx(() => [
47787
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", {
47788
- key: 0,
47789
- class: normalizeClass(`app-rail-tile-icon ${__props.regionIcon}`)
47790
- }, [
47791
- renderSlot(_ctx.$slots, "default")
47792
- ], 2)) : createCommentVNode("", true),
47793
- __props.label ? (openBlock(), createElementBlock("div", {
47794
- key: 1,
47795
- class: normalizeClass(`app-rail-tile-label text-center text-xs font-bold ${__props.regionLabel}`)
47796
- }, toDisplayString(__props.label), 3)) : createCommentVNode("", true)
47797
- ]),
47798
- _: 3
47799
- }, 16, ["class"]);
47800
- };
47801
- }
47802
- });
47803
- const _hoisted_1$2 = { class: "vuetiful-shell flex h-full w-full flex-col overflow-hidden" };
47804
- const _hoisted_2$2 = { class: "vuetiful-shell-content flex h-full w-full flex-auto overflow-hidden" };
47805
- const _sfc_main$2 = defineComponent({
47806
- __name: "VShell",
47807
- props: {
47808
- regionPage: { type: String, default: "" },
47809
- slotFixedHeader: { type: String, default: "z-10" },
47810
- slotSidebarLeft: { type: String, default: "w-auto" },
47811
- slotSidebarRight: { type: String, default: "w-auto" },
47812
- slotPageHeader: { type: String, default: "" },
47813
- slotPageContent: { type: String, default: "" },
47814
- slotPageFooter: { type: String, default: "" },
47815
- slotFixedFooter: { type: String, default: "" }
47816
- },
47817
- setup(__props) {
47818
- return (_ctx, _cache) => {
47819
- var _a;
47820
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
47821
- _ctx.$slots.fixedHeader ? (openBlock(), createElementBlock("header", {
47822
- key: 0,
47823
- class: normalizeClass(`vuetiful-fixed-header ${__props.slotFixedHeader}`)
47824
- }, [
47825
- renderSlot(_ctx.$slots, "fixedHeader")
47826
- ], 2)) : createCommentVNode("", true),
47827
- createElementVNode("div", _hoisted_2$2, [
47828
- _ctx.$slots.sidebarLeft ? (openBlock(), createElementBlock("aside", {
47829
- key: 0,
47830
- class: normalizeClass(`vuetiful-sidebar-left overflow-y-auto overflow-x-hidden ${__props.slotSidebarLeft}`)
47831
- }, [
47832
- renderSlot(_ctx.$slots, "sidebarLeft")
47833
- ], 2)) : createCommentVNode("", true),
47834
- createElementVNode("div", {
47835
- tabindex: "-1",
47836
- class: normalizeClass(`vuetiful-page flex flex-1 flex-col overflow-x-hidden ${(_a = __props.regionPage) != null ? _a : ""}`)
47837
- }, [
47838
- _ctx.$slots.pageHeader ? (openBlock(), createElementBlock("header", {
47839
- key: 0,
47840
- class: normalizeClass(`vuetiful-page-header flex-none ${__props.slotPageHeader}`)
47841
- }, [
47842
- renderSlot(_ctx.$slots, "pageHeader")
47843
- ], 2)) : createCommentVNode("", true),
47844
- createElementVNode("main", {
47845
- class: normalizeClass(`vuetiful-page-content flex-auto ${__props.slotPageContent}`)
47846
- }, [
47847
- renderSlot(_ctx.$slots, "default")
47848
- ], 2),
47849
- _ctx.$slots.pageFooter ? (openBlock(), createElementBlock("footer", {
47850
- key: 1,
47851
- class: normalizeClass(`vuetiful-page-footer flex-none ${__props.slotPageFooter}`)
47852
- }, [
47853
- renderSlot(_ctx.$slots, "pageFooter")
47854
- ], 2)) : createCommentVNode("", true)
47855
- ], 2),
47856
- _ctx.$slots.sidebarRight ? (openBlock(), createElementBlock("aside", {
47857
- key: 1,
47858
- class: normalizeClass(`vuetiful-sidebar-right flex-none overflow-y-auto overflow-x-hidden ${__props.slotSidebarRight}`)
47859
- }, [
47860
- renderSlot(_ctx.$slots, "sidebarRight")
47861
- ], 2)) : createCommentVNode("", true)
47862
- ]),
47863
- _ctx.$slots.fixedFooter ? (openBlock(), createElementBlock("footer", {
47864
- key: 1,
47865
- class: normalizeClass(`vuetiful-fixed-footer ${__props.slotFixedFooter}`)
47866
- }, [
47867
- renderSlot(_ctx.$slots, "fixedFooter")
47868
- ], 2)) : createCommentVNode("", true)
47869
- ]);
47870
- };
47871
- }
47872
- });
47873
48209
  var VPreview_vue_vue_type_style_index_0_scoped_true_lang = "";
47874
- const _withScopeId = (n2) => (pushScopeId("data-v-0d055d3d"), n2 = n2(), popScopeId(), n2);
47875
- const _hoisted_1$1 = { class: "vuetiful-previewer overflow-hidden shadow-2xl shadow-surface-500/10 rounded-container-token dark:shadow-black/10" };
47876
- const _hoisted_2$1 = { class: "flex items-center gap-2" };
47877
- const _hoisted_3$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48210
+ const _withScopeId$1 = (n2) => (pushScopeId("data-v-0d055d3d"), n2 = n2(), popScopeId(), n2);
48211
+ const _hoisted_1$4 = { class: "vuetiful-previewer overflow-hidden shadow-2xl shadow-surface-500/10 rounded-container-token dark:shadow-black/10" };
48212
+ const _hoisted_2$3 = { class: "flex items-center gap-2" };
48213
+ const _hoisted_3$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47878
48214
  class: "icon",
47879
48215
  xmlns: "http://www.w3.org/2000/svg",
47880
48216
  viewBox: "0 0 576 512"
47881
48217
  }, [
47882
48218
  /* @__PURE__ */ createElementVNode("path", { d: "M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm144-64c0 35.3-28.7 64-64 64c-7.1 0-13.9-1.2-20.3-3.3c-5.5-1.8-11.9 1.6-11.7 7.4c.3 6.9 1.3 13.8 3.2 20.7c13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1c-5.8-.2-9.2 6.1-7.4 11.7c2.1 6.4 3.3 13.2 3.3 20.3z" })
47883
48219
  ], -1));
47884
- const _hoisted_4$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48220
+ const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47885
48221
  class: "icon",
47886
48222
  xmlns: "http://www.w3.org/2000/svg",
47887
48223
  viewBox: "0 0 640 512"
47888
48224
  }, [
47889
48225
  /* @__PURE__ */ createElementVNode("path", { d: "M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z" })
47890
48226
  ], -1));
47891
- const _hoisted_5$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48227
+ const _hoisted_5$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47892
48228
  class: "icon",
47893
48229
  xmlns: "http://www.w3.org/2000/svg",
47894
48230
  viewBox: "0 0 384 512"
47895
48231
  }, [
47896
48232
  /* @__PURE__ */ createElementVNode("path", { d: "M16 64C16 28.7 44.7 0 80 0H304c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zM144 448c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16s-7.2-16-16-16H160c-8.8 0-16 7.2-16 16zM304 64H80V384H304V64z" })
47897
48233
  ], -1));
47898
- const _hoisted_6$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48234
+ const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47899
48235
  class: "icon",
47900
48236
  xmlns: "http://www.w3.org/2000/svg",
47901
48237
  viewBox: "0 0 576 512"
47902
48238
  }, [
47903
48239
  /* @__PURE__ */ createElementVNode("path", { d: "M64 0C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64H240l-10.7 32H160c-17.7 0-32 14.3-32 32s14.3 32 32 32H416c17.7 0 32-14.3 32-32s-14.3-32-32-32H346.7L336 416H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM512 64V352H64V64H512z" })
47904
48240
  ], -1));
47905
- const _hoisted_7 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48241
+ const _hoisted_7 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47906
48242
  class: "icon",
47907
48243
  xmlns: "http://www.w3.org/2000/svg",
47908
48244
  viewBox: "0 0 512 512"
47909
48245
  }, [
47910
48246
  /* @__PURE__ */ createElementVNode("path", { d: "M0 32C0 14.3 14.3 0 32 0H160c17.7 0 32 14.3 32 32V416c0 53-43 96-96 96s-96-43-96-96V32zM223.6 425.9c.3-3.3 .4-6.6 .4-9.9V154l75.4-75.4c12.5-12.5 32.8-12.5 45.3 0l90.5 90.5c12.5 12.5 12.5 32.8 0 45.3L223.6 425.9zM182.8 512l192-192H480c17.7 0 32 14.3 32 32V480c0 17.7-14.3 32-32 32H182.8zM128 64H64v64h64V64zM64 192v64h64V192H64zM96 440a24 24 0 1 0 0-48 24 24 0 1 0 0 48z" })
47911
48247
  ], -1));
47912
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48248
+ const _hoisted_8 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47913
48249
  class: "icon",
47914
48250
  xmlns: "http://www.w3.org/2000/svg",
47915
48251
  viewBox: "0 0 512 512"
47916
48252
  }, [
47917
48253
  /* @__PURE__ */ createElementVNode("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" })
47918
48254
  ], -1));
47919
- const _hoisted_9 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48255
+ const _hoisted_9 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createElementVNode("svg", {
47920
48256
  class: "icon",
47921
48257
  xmlns: "http://www.w3.org/2000/svg",
47922
48258
  viewBox: "0 0 512 512"
47923
48259
  }, [
47924
48260
  /* @__PURE__ */ createElementVNode("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z" })
47925
48261
  ], -1));
47926
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48262
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
47927
48263
  __name: "VPreview",
47928
48264
  props: {
47929
48265
  hideMobileToggle: {
@@ -47979,29 +48315,29 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
47979
48315
  const swatches = ref(false);
47980
48316
  const toggleSwatches = () => swatches.value = !swatches.value;
47981
48317
  return (_ctx, _cache) => {
47982
- return openBlock(), createElementBlock("div", _hoisted_1$1, [
48318
+ return openBlock(), createElementBlock("div", _hoisted_1$4, [
47983
48319
  createElementVNode("header", {
47984
48320
  class: normalizeClass(`vuetiful-previewer-header flex items-center justify-between gap-4 p-4 bg-surface-200-700-token ${__props.regionHeader}`)
47985
48321
  }, [
47986
- createElementVNode("div", _hoisted_2$1, [
47987
- createVNode(unref(_sfc_main$c), {
48322
+ createElementVNode("div", _hoisted_2$3, [
48323
+ createVNode(unref(_sfc_main$k), {
47988
48324
  modelValue: tabView.value,
47989
48325
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => tabView.value = $event)
47990
48326
  }, {
47991
48327
  default: withCtx(() => [
47992
- createVNode(unref(_sfc_main$b), {
48328
+ createVNode(unref(_sfc_main$j), {
47993
48329
  "data-test": "radio-item-preview",
47994
48330
  value: "preview",
47995
48331
  title: "Preview"
47996
48332
  }, {
47997
48333
  default: withCtx(() => [
47998
48334
  renderSlot(_ctx.$slots, "preview-item", {}, () => [
47999
- _hoisted_3$1
48335
+ _hoisted_3$2
48000
48336
  ], true)
48001
48337
  ]),
48002
48338
  _: 3
48003
48339
  }),
48004
- createVNode(unref(_sfc_main$b), {
48340
+ createVNode(unref(_sfc_main$j), {
48005
48341
  "data-test": "radio-item-code",
48006
48342
  value: "code",
48007
48343
  title: "Code"
@@ -48016,14 +48352,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48016
48352
  ]),
48017
48353
  _: 3
48018
48354
  }, 8, ["modelValue"]),
48019
- !__props.hideMobileToggle && tabView.value === "preview" ? (openBlock(), createBlock(unref(_sfc_main$c), {
48355
+ !__props.hideMobileToggle && tabView.value === "preview" ? (openBlock(), createBlock(unref(_sfc_main$k), {
48020
48356
  key: 0,
48021
48357
  class: "hidden sm:!inline-flex",
48022
48358
  modelValue: radioSize.value,
48023
48359
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => radioSize.value = $event)
48024
48360
  }, {
48025
48361
  default: withCtx(() => [
48026
- createVNode(unref(_sfc_main$b), {
48362
+ createVNode(unref(_sfc_main$j), {
48027
48363
  "data-test": "radio-item-mobile",
48028
48364
  value: "mobile"
48029
48365
  }, {
@@ -48034,7 +48370,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48034
48370
  ]),
48035
48371
  _: 3
48036
48372
  }),
48037
- createVNode(unref(_sfc_main$b), { value: "full" }, {
48373
+ createVNode(unref(_sfc_main$j), { value: "full" }, {
48038
48374
  default: withCtx(() => [
48039
48375
  renderSlot(_ctx.$slots, "desktop-item", {}, () => [
48040
48376
  _hoisted_6$1
@@ -48046,7 +48382,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48046
48382
  _: 3
48047
48383
  }, 8, ["modelValue"])) : createCommentVNode("", true)
48048
48384
  ]),
48049
- !__props.hideSwatches ? (openBlock(), createBlock(unref(_sfc_main$h), {
48385
+ !__props.hideSwatches ? (openBlock(), createBlock(unref(_sfc_main$p), {
48050
48386
  key: 0,
48051
48387
  "data-test": "swatch-button",
48052
48388
  class: normalizeClass(`${swatches.value ? "variant-filled" : "variant-ghost"} px-4 py-1 border-token border-surface-400-500-token`),
@@ -48061,7 +48397,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48061
48397
  _: 3
48062
48398
  }, 8, ["class"])) : createCommentVNode("", true)
48063
48399
  ], 2),
48064
- swatches.value ? (openBlock(), createBlock(unref(_sfc_main$c), {
48400
+ swatches.value ? (openBlock(), createBlock(unref(_sfc_main$k), {
48065
48401
  key: 0,
48066
48402
  "data-test": "swatches",
48067
48403
  class: normalizeClass(`vuetiful-previewer-swatches variant-soft grid grid-cols-6 gap-2 !rounded-none p-4 sm:grid-cols-12`),
@@ -48072,7 +48408,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48072
48408
  }, {
48073
48409
  default: withCtx(() => [
48074
48410
  (openBlock(true), createElementBlock(Fragment, null, renderList(Object.entries(backgrounds), ([key, value], index2) => {
48075
- return openBlock(), createBlock(unref(_sfc_main$b), {
48411
+ return openBlock(), createBlock(unref(_sfc_main$j), {
48076
48412
  value: key,
48077
48413
  key: index2,
48078
48414
  class: normalizeClass(`${value} flex aspect-square cursor-pointer items-center justify-center rounded ring-[1px] ring-surface-500/50`),
@@ -48125,36 +48461,641 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48125
48461
  };
48126
48462
  }
48127
48463
  });
48128
- var VPreview = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-0d055d3d"]]);
48464
+ var VPreview = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-0d055d3d"]]);
48465
+ const _hoisted_1$3 = { class: "v-rail grid h-full w-[70px] grid-rows-[auto_1fr_auto] gap-0 overflow-y-auto sm:w-20" };
48466
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
48467
+ __name: "VRail",
48468
+ props: {
48469
+ active: {
48470
+ type: String,
48471
+ default: "bg-secondary-active-token"
48472
+ },
48473
+ hover: {
48474
+ type: String,
48475
+ default: "hover:bg-secondary-hover-token"
48476
+ },
48477
+ regionLead: {
48478
+ type: String,
48479
+ default: ""
48480
+ },
48481
+ regionDefault: {
48482
+ type: String,
48483
+ default: ""
48484
+ },
48485
+ regionTrail: {
48486
+ type: String,
48487
+ default: ""
48488
+ }
48489
+ },
48490
+ setup(__props) {
48491
+ const props = __props;
48492
+ provide("active", props.active);
48493
+ provide("hover", props.hover);
48494
+ return (_ctx, _cache) => {
48495
+ return openBlock(), createElementBlock("div", _hoisted_1$3, [
48496
+ createElementVNode("div", {
48497
+ class: normalizeClass(["v-bar-lead", __props.regionLead])
48498
+ }, [
48499
+ renderSlot(_ctx.$slots, "lead")
48500
+ ], 2),
48501
+ createElementVNode("div", {
48502
+ class: normalizeClass(["v-bar-default", __props.regionDefault])
48503
+ }, [
48504
+ renderSlot(_ctx.$slots, "default")
48505
+ ], 2),
48506
+ createElementVNode("div", {
48507
+ class: normalizeClass(["v-bar-trail", __props.regionTrail])
48508
+ }, [
48509
+ renderSlot(_ctx.$slots, "trail")
48510
+ ], 2)
48511
+ ]);
48512
+ };
48513
+ }
48514
+ });
48515
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
48516
+ __name: "VRailTile",
48517
+ props: {
48518
+ value: {
48519
+ type: String,
48520
+ default: ""
48521
+ },
48522
+ tag: {
48523
+ type: String,
48524
+ default: "button"
48525
+ },
48526
+ label: {
48527
+ type: String,
48528
+ default: ""
48529
+ },
48530
+ regionIcon: {
48531
+ type: String,
48532
+ default: ""
48533
+ },
48534
+ regionLabel: {
48535
+ type: String,
48536
+ default: ""
48537
+ }
48538
+ },
48539
+ emits: ["click"],
48540
+ setup(__props, { emit }) {
48541
+ const props = __props;
48542
+ const attrs = useAttrs();
48543
+ const { selectedRailTile: selectedRailTile2 } = useRail();
48544
+ const active = inject("active");
48545
+ const hover = inject("hover");
48546
+ const activate = () => {
48547
+ selectedRailTile2.value = props.value;
48548
+ emit("click");
48549
+ };
48550
+ const clickHandler = (event) => {
48551
+ event.preventDefault();
48552
+ activate();
48553
+ };
48554
+ const keydownHandler = (event) => {
48555
+ if (["Enter", " "].includes(event.key))
48556
+ event.preventDefault();
48557
+ if (event.key === "Enter")
48558
+ activate();
48559
+ };
48560
+ const keyupHandler = (event) => {
48561
+ if (event.key === " ") {
48562
+ event.preventDefault();
48563
+ activate();
48564
+ }
48565
+ };
48566
+ return (_ctx, _cache) => {
48567
+ return openBlock(), createBlock(resolveDynamicComponent(__props.tag), mergeProps({
48568
+ onClick: clickHandler,
48569
+ onKeydown: keydownHandler,
48570
+ onKeyup: keyupHandler
48571
+ }, unref(attrs), {
48572
+ class: `app-rail-tile unstyled grid aspect-square w-full cursor-pointer place-content-center place-items-center space-y-1.5 ${unref(hover)} ${unref(selectedRailTile2) === __props.value ? `${unref(active)}` : ""}`
48573
+ }), {
48574
+ default: withCtx(() => [
48575
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", {
48576
+ key: 0,
48577
+ class: normalizeClass(`app-rail-tile-icon ${__props.regionIcon}`)
48578
+ }, [
48579
+ renderSlot(_ctx.$slots, "default")
48580
+ ], 2)) : createCommentVNode("", true),
48581
+ __props.label ? (openBlock(), createElementBlock("div", {
48582
+ key: 1,
48583
+ class: normalizeClass(`app-rail-tile-label text-center text-xs font-bold ${__props.regionLabel}`)
48584
+ }, toDisplayString(__props.label), 3)) : createCommentVNode("", true)
48585
+ ]),
48586
+ _: 3
48587
+ }, 16, ["class"]);
48588
+ };
48589
+ }
48590
+ });
48591
+ const _hoisted_1$2 = { class: "vuetiful-shell flex h-full w-full flex-col overflow-hidden" };
48592
+ const _hoisted_2$2 = { class: "vuetiful-shell-content flex h-full w-full flex-auto overflow-hidden" };
48593
+ const _sfc_main$9 = defineComponent({
48594
+ __name: "VShell",
48595
+ props: {
48596
+ regionPage: { type: String, default: "" },
48597
+ slotFixedHeader: { type: String, default: "z-10" },
48598
+ slotSidebarLeft: { type: String, default: "w-auto" },
48599
+ slotSidebarRight: { type: String, default: "w-auto" },
48600
+ slotPageHeader: { type: String, default: "" },
48601
+ slotPageContent: { type: String, default: "" },
48602
+ slotPageFooter: { type: String, default: "" },
48603
+ slotFixedFooter: { type: String, default: "" }
48604
+ },
48605
+ setup(__props) {
48606
+ return (_ctx, _cache) => {
48607
+ var _a;
48608
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
48609
+ _ctx.$slots.fixedHeader ? (openBlock(), createElementBlock("header", {
48610
+ key: 0,
48611
+ class: normalizeClass(`vuetiful-fixed-header ${__props.slotFixedHeader}`)
48612
+ }, [
48613
+ renderSlot(_ctx.$slots, "fixedHeader")
48614
+ ], 2)) : createCommentVNode("", true),
48615
+ createElementVNode("div", _hoisted_2$2, [
48616
+ _ctx.$slots.sidebarLeft ? (openBlock(), createElementBlock("aside", {
48617
+ key: 0,
48618
+ class: normalizeClass(`vuetiful-sidebar-left overflow-y-auto overflow-x-hidden ${__props.slotSidebarLeft}`)
48619
+ }, [
48620
+ renderSlot(_ctx.$slots, "sidebarLeft")
48621
+ ], 2)) : createCommentVNode("", true),
48622
+ createElementVNode("div", {
48623
+ tabindex: "-1",
48624
+ class: normalizeClass(`vuetiful-page flex flex-1 flex-col overflow-x-hidden ${(_a = __props.regionPage) != null ? _a : ""}`)
48625
+ }, [
48626
+ _ctx.$slots.pageHeader ? (openBlock(), createElementBlock("header", {
48627
+ key: 0,
48628
+ class: normalizeClass(`vuetiful-page-header flex-none ${__props.slotPageHeader}`)
48629
+ }, [
48630
+ renderSlot(_ctx.$slots, "pageHeader")
48631
+ ], 2)) : createCommentVNode("", true),
48632
+ createElementVNode("main", {
48633
+ class: normalizeClass(`vuetiful-page-content flex-auto ${__props.slotPageContent}`)
48634
+ }, [
48635
+ renderSlot(_ctx.$slots, "default")
48636
+ ], 2),
48637
+ _ctx.$slots.pageFooter ? (openBlock(), createElementBlock("footer", {
48638
+ key: 1,
48639
+ class: normalizeClass(`vuetiful-page-footer flex-none ${__props.slotPageFooter}`)
48640
+ }, [
48641
+ renderSlot(_ctx.$slots, "pageFooter")
48642
+ ], 2)) : createCommentVNode("", true)
48643
+ ], 2),
48644
+ _ctx.$slots.sidebarRight ? (openBlock(), createElementBlock("aside", {
48645
+ key: 1,
48646
+ class: normalizeClass(`vuetiful-sidebar-right flex-none overflow-y-auto overflow-x-hidden ${__props.slotSidebarRight}`)
48647
+ }, [
48648
+ renderSlot(_ctx.$slots, "sidebarRight")
48649
+ ], 2)) : createCommentVNode("", true)
48650
+ ]),
48651
+ _ctx.$slots.fixedFooter ? (openBlock(), createElementBlock("footer", {
48652
+ key: 1,
48653
+ class: normalizeClass(`vuetiful-fixed-footer ${__props.slotFixedFooter}`)
48654
+ }, [
48655
+ renderSlot(_ctx.$slots, "fixedFooter")
48656
+ ], 2)) : createCommentVNode("", true)
48657
+ ]);
48658
+ };
48659
+ }
48660
+ });
48661
+ var VListboxButton_vue_vue_type_style_index_0_scoped_true_lang = "";
48662
+ const _withScopeId = (n2) => (pushScopeId("data-v-85546624"), n2 = n2(), popScopeId(), n2);
48663
+ const _hoisted_1$1 = { key: 0 };
48664
+ const _hoisted_2$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48665
+ class: "icon",
48666
+ xmlns: "http://www.w3.org/2000/svg",
48667
+ viewBox: "0 0 512 512"
48668
+ }, [
48669
+ /* @__PURE__ */ createElementVNode("path", { d: "M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z" })
48670
+ ], -1));
48671
+ const _hoisted_3$1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("svg", {
48672
+ class: "icon",
48673
+ xmlns: "http://www.w3.org/2000/svg",
48674
+ viewBox: "0 0 512 512"
48675
+ }, [
48676
+ /* @__PURE__ */ createElementVNode("path", { d: "M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z" })
48677
+ ], -1));
48678
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
48679
+ __name: "VListboxButton",
48680
+ props: {
48681
+ as: {
48682
+ type: String,
48683
+ default: "button"
48684
+ },
48685
+ hideIcon: {
48686
+ type: Boolean,
48687
+ default: false
48688
+ }
48689
+ },
48690
+ setup(__props) {
48691
+ return (_ctx, _cache) => {
48692
+ return openBlock(), createBlock(unref(Fe), {
48693
+ as: __props.as,
48694
+ class: "variant-filled btn flex w-full justify-between active:scale-[100%]"
48695
+ }, {
48696
+ default: withCtx(({ open }) => [
48697
+ renderSlot(_ctx.$slots, "default", {}, void 0, true),
48698
+ !__props.hideIcon ? (openBlock(), createElementBlock("span", _hoisted_1$1, [
48699
+ !open ? renderSlot(_ctx.$slots, "open-icon", { key: 0 }, () => [
48700
+ _hoisted_2$1
48701
+ ], true) : createCommentVNode("", true),
48702
+ open ? renderSlot(_ctx.$slots, "close-icon", { key: 1 }, () => [
48703
+ _hoisted_3$1
48704
+ ], true) : createCommentVNode("", true)
48705
+ ])) : createCommentVNode("", true)
48706
+ ]),
48707
+ _: 3
48708
+ }, 8, ["as"]);
48709
+ };
48710
+ }
48711
+ });
48712
+ var VListboxButton = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-85546624"]]);
48713
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
48714
+ __name: "VListboxItems",
48715
+ props: {
48716
+ as: {
48717
+ type: String,
48718
+ default: "ul"
48719
+ },
48720
+ static: {
48721
+ type: Boolean,
48722
+ default: false
48723
+ }
48724
+ },
48725
+ setup(__props) {
48726
+ const background = inject("background");
48727
+ const text = inject("text");
48728
+ const horizontal = inject("horizontal");
48729
+ return (_ctx, _cache) => {
48730
+ return openBlock(), createBlock(unref(Be), {
48731
+ as: __props.as,
48732
+ static: __props.static,
48733
+ class: normalizeClass(`p-4 border-token border-surface-400-500-token rounded-container-token ${unref(background)} ${unref(text)}`)
48734
+ }, {
48735
+ default: withCtx(() => [
48736
+ createElementVNode("div", {
48737
+ "data-test": "listbox-items",
48738
+ class: normalizeClass(`flex ${unref(horizontal) ? "flex" : "flex-col"} gap-1`)
48739
+ }, [
48740
+ renderSlot(_ctx.$slots, "default")
48741
+ ], 2)
48742
+ ]),
48743
+ _: 3
48744
+ }, 8, ["as", "static", "class"]);
48745
+ };
48746
+ }
48747
+ });
48748
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
48749
+ __name: "VListboxLabel",
48750
+ props: {
48751
+ as: {
48752
+ type: String,
48753
+ default: "label"
48754
+ }
48755
+ },
48756
+ setup(__props) {
48757
+ return (_ctx, _cache) => {
48758
+ return openBlock(), createBlock(unref(Ae), { as: __props.as }, {
48759
+ default: withCtx(() => [
48760
+ renderSlot(_ctx.$slots, "default")
48761
+ ]),
48762
+ _: 3
48763
+ }, 8, ["as"]);
48764
+ };
48765
+ }
48766
+ });
48767
+ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
48768
+ __name: "VListbox",
48769
+ props: {
48770
+ by: {
48771
+ type: String
48772
+ },
48773
+ display: {
48774
+ type: String
48775
+ },
48776
+ labelText: {
48777
+ type: String
48778
+ },
48779
+ labelClasses: {
48780
+ type: Boolean,
48781
+ default: false
48782
+ },
48783
+ buttonText: {
48784
+ type: String,
48785
+ default: "Select an option"
48786
+ },
48787
+ modelValue: je.props["modelValue"],
48788
+ horizontal: {
48789
+ type: Boolean,
48790
+ default: false
48791
+ },
48792
+ multiple: {
48793
+ type: Boolean,
48794
+ default: false
48795
+ },
48796
+ active: {
48797
+ type: String,
48798
+ default: "variant-filled"
48799
+ },
48800
+ hover: {
48801
+ type: String,
48802
+ default: "variant-ghost"
48803
+ },
48804
+ background: {
48805
+ type: String,
48806
+ default: "bg-surface-200-700-token"
48807
+ },
48808
+ text: {
48809
+ type: String,
48810
+ default: "text-surface-900 dark:text-surface-50"
48811
+ }
48812
+ },
48813
+ emits: ["update:modelValue"],
48814
+ setup(__props, { emit }) {
48815
+ const props = __props;
48816
+ const parentModelValue = ref(props.modelValue);
48817
+ watch(
48818
+ () => props.modelValue,
48819
+ (newValue) => {
48820
+ parentModelValue.value = newValue;
48821
+ }
48822
+ );
48823
+ watch(
48824
+ () => parentModelValue.value,
48825
+ (newValue) => {
48826
+ emit("update:modelValue", newValue);
48827
+ }
48828
+ );
48829
+ provide("active", props.active);
48830
+ provide("hover", props.hover);
48831
+ provide("background", props.background);
48832
+ provide("text", props.text);
48833
+ provide("horizontal", props.horizontal);
48834
+ const showText = computed(() => {
48835
+ var _a;
48836
+ if (props.display && parentModelValue.value)
48837
+ return parentModelValue.value[props.display];
48838
+ const length = (_a = parentModelValue.value) == null ? void 0 : _a.length;
48839
+ if (props.multiple && length === 0)
48840
+ return props.buttonText;
48841
+ if (props.multiple && length === 1)
48842
+ return parentModelValue.value[0];
48843
+ if (props.multiple && length > 1)
48844
+ return `${length} options selected`;
48845
+ if (parentModelValue.value)
48846
+ return parentModelValue.value;
48847
+ return props.buttonText;
48848
+ });
48849
+ return (_ctx, _cache) => {
48850
+ return openBlock(), createBlock(unref(je), {
48851
+ "data-test": "v-listbox",
48852
+ as: "div",
48853
+ by: __props.by,
48854
+ multiple: __props.multiple,
48855
+ class: "vuetiful-listbox relative rounded-container-token",
48856
+ modelValue: parentModelValue.value,
48857
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => parentModelValue.value = $event)
48858
+ }, {
48859
+ default: withCtx(() => [
48860
+ __props.labelText ? (openBlock(), createBlock(_sfc_main$6, {
48861
+ key: 0,
48862
+ class: normalizeClass(__props.labelClasses)
48863
+ }, {
48864
+ default: withCtx(() => [
48865
+ createTextVNode(toDisplayString(__props.labelText), 1)
48866
+ ]),
48867
+ _: 1
48868
+ }, 8, ["class"])) : createCommentVNode("", true),
48869
+ createVNode(VListboxButton, { "data-test": "v-listbox-button" }, {
48870
+ default: withCtx(() => [
48871
+ createTextVNode(toDisplayString(unref(showText)), 1)
48872
+ ]),
48873
+ _: 1
48874
+ }),
48875
+ createVNode(Transition, {
48876
+ "enter-active-class": "transition duration-150 ease-in-out",
48877
+ "enter-from-class": "opacity-0",
48878
+ "enter-to-class": "opacity-100",
48879
+ "leave-active-class": "transition duration-150 ease-in-out",
48880
+ "leave-from-class": "opacity-100",
48881
+ "leave-to-class": "opacity-0"
48882
+ }, {
48883
+ default: withCtx(() => [
48884
+ createVNode(_sfc_main$7, { class: "absolute mt-1 min-w-full" }, {
48885
+ default: withCtx(() => [
48886
+ renderSlot(_ctx.$slots, "default")
48887
+ ]),
48888
+ _: 3
48889
+ })
48890
+ ]),
48891
+ _: 3
48892
+ })
48893
+ ]),
48894
+ _: 3
48895
+ }, 8, ["by", "multiple", "modelValue"]);
48896
+ };
48897
+ }
48898
+ });
48899
+ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
48900
+ __name: "VListboxItem",
48901
+ props: {
48902
+ value: {
48903
+ type: [String, Number, Boolean, Object],
48904
+ required: true
48905
+ }
48906
+ },
48907
+ setup(__props) {
48908
+ const activeClass = inject("active");
48909
+ const hoverClass = inject("hover");
48910
+ return (_ctx, _cache) => {
48911
+ return openBlock(), createBlock(unref(Ke), { value: __props.value }, {
48912
+ default: withCtx(({ selected, disabled, active }) => [
48913
+ createElementVNode("div", {
48914
+ "data-test": "v-listbox-item",
48915
+ class: normalizeClass(`vuetiful-listbox-item px-4 py-1 text-base rounded-token ${selected ? unref(activeClass) : `hover:${unref(hoverClass)}`} ${disabled ? "cursor-not-allowed opacity-50" : "cursor-pointer"} ${active && !selected ? unref(hoverClass) : ""}`)
48916
+ }, [
48917
+ renderSlot(_ctx.$slots, "default")
48918
+ ], 2)
48919
+ ]),
48920
+ _: 3
48921
+ }, 8, ["value"]);
48922
+ };
48923
+ }
48924
+ });
48925
+ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
48926
+ __name: "VTab",
48927
+ props: {
48928
+ disabled: {
48929
+ type: Boolean,
48930
+ default: false
48931
+ }
48932
+ },
48933
+ setup(__props) {
48934
+ const activeClass = inject("active");
48935
+ const hoverClass = inject("hover");
48936
+ const vertical = inject("vertical");
48937
+ const classTab = inject("classTab");
48938
+ const hideSeparator = inject("hideSeparator");
48939
+ const tabClass = computed(() => {
48940
+ return classTab ? classTab : "w-full px-4 py-2";
48941
+ });
48942
+ return (_ctx, _cache) => {
48943
+ return openBlock(), createBlock(unref(ye), {
48944
+ disabled: __props.disabled,
48945
+ class: normalizeClass(`flex ${unref(vertical) ? "flex-row justify-between" : "flex-col"}`)
48946
+ }, {
48947
+ default: withCtx(({ selected }) => [
48948
+ createElementVNode("div", {
48949
+ "data-test": "slot-container",
48950
+ class: normalizeClass(`text-base rounded-token ${selected ? unref(activeClass) : unref(hoverClass)} ${unref(tabClass)}`)
48951
+ }, [
48952
+ renderSlot(_ctx.$slots, "default")
48953
+ ], 2),
48954
+ withDirectives(createElementVNode("div", {
48955
+ class: normalizeClass(`z-10 border-surface-900-50-token ${unref(vertical) ? "mr-[-2px] h-full border-r-2" : "mb-[-2px] border-b-2"}`)
48956
+ }, null, 2), [
48957
+ [vShow, selected && !unref(hideSeparator)]
48958
+ ])
48959
+ ]),
48960
+ _: 3
48961
+ }, 8, ["disabled", "class"]);
48962
+ };
48963
+ }
48964
+ });
48965
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
48966
+ __name: "VTabPanel",
48967
+ setup(__props) {
48968
+ return (_ctx, _cache) => {
48969
+ return openBlock(), createBlock(unref(ge), null, {
48970
+ default: withCtx(() => [
48971
+ renderSlot(_ctx.$slots, "default")
48972
+ ]),
48973
+ _: 3
48974
+ });
48975
+ };
48976
+ }
48977
+ });
48978
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
48979
+ __name: "VTabs",
48980
+ props: {
48981
+ hideSeparator: {
48982
+ type: Boolean,
48983
+ default: false
48984
+ },
48985
+ vertical: {
48986
+ type: Boolean,
48987
+ default: false
48988
+ },
48989
+ active: {
48990
+ type: String,
48991
+ default: ""
48992
+ },
48993
+ hover: {
48994
+ type: String,
48995
+ default: "hover:variant-ghost"
48996
+ },
48997
+ classPanels: {
48998
+ type: String,
48999
+ default: ""
49000
+ },
49001
+ classTabs: {
49002
+ type: String,
49003
+ default: ""
49004
+ },
49005
+ classTab: {
49006
+ type: String,
49007
+ default: ""
49008
+ },
49009
+ classSeparator: {
49010
+ type: String,
49011
+ default: "border border-surface-400-500-token"
49012
+ },
49013
+ defaultIndex: {
49014
+ type: Number,
49015
+ default: 0
49016
+ }
49017
+ },
49018
+ setup(__props) {
49019
+ const props = __props;
49020
+ provide("active", props.active);
49021
+ provide("hover", props.hover);
49022
+ provide("vertical", props.vertical);
49023
+ provide("classTab", props.classTab);
49024
+ provide("hideSeparator", props.hideSeparator);
49025
+ return (_ctx, _cache) => {
49026
+ return openBlock(), createBlock(unref(xe), {
49027
+ as: "div",
49028
+ vertical: __props.vertical,
49029
+ defaultIndex: __props.defaultIndex,
49030
+ class: normalizeClass(`${__props.vertical ? "flex" : ""}`)
49031
+ }, {
49032
+ default: withCtx(() => [
49033
+ createVNode(unref(Ie), {
49034
+ "data-test": "vuetiful-tab-list",
49035
+ class: normalizeClass(`vuetiful-tab-list flex ${__props.vertical ? "flex-col" : ""} ${__props.vertical ? "!rounded-br-none !rounded-tr-none" : "!rounded-bl-none !rounded-br-none"} rounded-container-token ${__props.classTabs}`)
49036
+ }, {
49037
+ default: withCtx(() => [
49038
+ renderSlot(_ctx.$slots, "tabs")
49039
+ ]),
49040
+ _: 3
49041
+ }, 8, ["class"]),
49042
+ !__props.hideSeparator ? (openBlock(), createElementBlock("div", {
49043
+ key: 0,
49044
+ "data-test": "vuetiful-tab-separator",
49045
+ class: normalizeClass(`${__props.classSeparator}`)
49046
+ }, null, 2)) : createCommentVNode("", true),
49047
+ createVNode(unref(Se), {
49048
+ "data-test": "vuetiful-tab-panels",
49049
+ class: normalizeClass(`vuetiful-tab-panels ${__props.vertical ? "!rounded-bl-none !rounded-tl-none" : "!rounded-tl-none !rounded-tr-none"} rounded-container-token ${__props.classPanels}`)
49050
+ }, {
49051
+ default: withCtx(() => [
49052
+ renderSlot(_ctx.$slots, "default")
49053
+ ]),
49054
+ _: 3
49055
+ }, 8, ["class"])
49056
+ ]),
49057
+ _: 3
49058
+ }, 8, ["vertical", "defaultIndex", "class"]);
49059
+ };
49060
+ }
49061
+ });
48129
49062
  var components = /* @__PURE__ */ Object.freeze({
48130
49063
  __proto__: null,
48131
49064
  [Symbol.toStringTag]: "Module",
48132
- VAvatar: _sfc_main$j,
48133
- VButton: _sfc_main$h,
49065
+ VAvatar: _sfc_main$r,
49066
+ VButton: _sfc_main$p,
48134
49067
  VBadge,
48135
49068
  VChip,
48136
- VCodeBlock: _sfc_main$f,
49069
+ VCodeBlock: _sfc_main$n,
48137
49070
  VLightSwitch,
48138
- VRadioGroup: _sfc_main$c,
48139
- VRadioItem: _sfc_main$b,
48140
- VRadioLabel: _sfc_main$a,
48141
- VRadioDescription: _sfc_main$d,
48142
- VSwitchGroup: _sfc_main$7,
48143
- VSwitchLabel: _sfc_main$6,
48144
- VSwitchDescription: _sfc_main$8,
48145
- VSwitch: _sfc_main$9,
48146
- VRail: _sfc_main$4,
48147
- VRailTile: _sfc_main$3,
48148
- VShell: _sfc_main$2,
48149
- VDrawer: _sfc_main$5,
48150
- VPreview
49071
+ VRadioGroup: _sfc_main$k,
49072
+ VRadioItem: _sfc_main$j,
49073
+ VRadioLabel: _sfc_main$i,
49074
+ VRadioDescription: _sfc_main$l,
49075
+ VSwitchGroup: _sfc_main$f,
49076
+ VSwitchLabel: _sfc_main$e,
49077
+ VSwitchDescription: _sfc_main$g,
49078
+ VSwitch: _sfc_main$h,
49079
+ VDrawer: _sfc_main$d,
49080
+ VListbox: _sfc_main$5,
49081
+ VListboxButton,
49082
+ VListboxItem: _sfc_main$4,
49083
+ VListboxItems: _sfc_main$7,
49084
+ VListboxLabel: _sfc_main$6,
49085
+ VPreview,
49086
+ VRail: _sfc_main$b,
49087
+ VRailTile: _sfc_main$a,
49088
+ VShell: _sfc_main$9,
49089
+ VTab: _sfc_main$3,
49090
+ VTabPanel: _sfc_main$2,
49091
+ VTabs: _sfc_main$1
48151
49092
  });
48152
49093
  var main = "";
48153
49094
  var tailwind = "";
48154
49095
  const _sfc_main = defineComponent({
48155
49096
  components: {
48156
49097
  VLightSwitch,
48157
- VButton: _sfc_main$h
49098
+ VButton: _sfc_main$p
48158
49099
  },
48159
49100
  props: {
48160
49101
  bgLight: {
@@ -48394,4 +49335,4 @@ function install(app) {
48394
49335
  }
48395
49336
  }
48396
49337
  var index = { install };
48397
- export { themeSwitcher as ThemeSwitcher, _sfc_main$j as VAvatar, VBadge, _sfc_main$h as VButton, VChip, _sfc_main$f as VCodeBlock, _sfc_main$5 as VDrawer, VLightSwitch, VPreview, _sfc_main$d as VRadioDescription, _sfc_main$c as VRadioGroup, _sfc_main$b as VRadioItem, _sfc_main$a as VRadioLabel, _sfc_main$4 as VRail, _sfc_main$3 as VRailTile, _sfc_main$2 as VShell, _sfc_main$9 as VSwitch, _sfc_main$8 as VSwitchDescription, _sfc_main$7 as VSwitchGroup, _sfc_main$6 as VSwitchLabel, index as default, useDarkMode, useDrawer, useHighlight, useRail, useTheme, clipboard as vClipboard };
49338
+ export { themeSwitcher as ThemeSwitcher, _sfc_main$r as VAvatar, VBadge, _sfc_main$p as VButton, VChip, _sfc_main$n as VCodeBlock, _sfc_main$d as VDrawer, VLightSwitch, _sfc_main$5 as VListbox, VListboxButton, _sfc_main$4 as VListboxItem, _sfc_main$7 as VListboxItems, _sfc_main$6 as VListboxLabel, VPreview, _sfc_main$l as VRadioDescription, _sfc_main$k as VRadioGroup, _sfc_main$j as VRadioItem, _sfc_main$i as VRadioLabel, _sfc_main$b as VRail, _sfc_main$a as VRailTile, _sfc_main$9 as VShell, _sfc_main$h as VSwitch, _sfc_main$g as VSwitchDescription, _sfc_main$f as VSwitchGroup, _sfc_main$e as VSwitchLabel, _sfc_main$3 as VTab, _sfc_main$2 as VTabPanel, _sfc_main$1 as VTabs, index as default, useDarkMode, useDrawer, useHighlight, useRail, useTheme, clipboard as vClipboard };