cisse-vue-ui 0.5.22 → 0.5.23

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 (105) hide show
  1. package/dist/{Button.vue_vue_type_script_setup_true_lang-DKE8elsf.js → Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js} +13 -4
  2. package/dist/Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js.map +1 -0
  3. package/dist/{Button.vue_vue_type_script_setup_true_lang-DrGM65ny.cjs → Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs} +13 -4
  4. package/dist/Button.vue_vue_type_script_setup_true_lang-Cev21KGJ.cjs.map +1 -0
  5. package/dist/{Combobox.vue_vue_type_script_setup_true_lang-FdUrjmSG.cjs → Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs} +233 -101
  6. package/dist/Combobox.vue_vue_type_script_setup_true_lang-D9TIId4E.cjs.map +1 -0
  7. package/dist/{Combobox.vue_vue_type_script_setup_true_lang-DhcLb6DX.js → Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js} +234 -102
  8. package/dist/Combobox.vue_vue_type_script_setup_true_lang-DCLKWzhc.js.map +1 -0
  9. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DXb9wQQv.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs} +76 -29
  10. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CwHYxBhR.cjs.map +1 -0
  11. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-CNucAMQg.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js} +77 -30
  12. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-Dm4kLAnr.js.map +1 -0
  13. package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-BoB48313.cjs → DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs} +76 -44
  14. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-CSxGvdSP.cjs.map +1 -0
  15. package/dist/{DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js → DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js} +76 -44
  16. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js.map +1 -0
  17. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs → Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs} +32 -15
  18. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DNeh9Gi-.cjs.map +1 -0
  19. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js → Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js} +32 -15
  20. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DXV811zB.js.map +1 -0
  21. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs} +2 -2
  22. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-D22uNeS1.cjs.map → PageLayout.vue_vue_type_script_setup_true_lang-C0YzyJnK.cjs.map} +1 -1
  23. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js} +2 -2
  24. package/dist/{PageLayout.vue_vue_type_script_setup_true_lang-kT7np2ir.js.map → PageLayout.vue_vue_type_script_setup_true_lang-ClzYGS8h.js.map} +1 -1
  25. package/dist/components/core/AccordionItem.vue.d.ts +2 -0
  26. package/dist/components/core/Dropdown.vue.d.ts +2 -0
  27. package/dist/components/core/Popover.vue.d.ts +2 -0
  28. package/dist/components/core/Tooltip.vue.d.ts +2 -0
  29. package/dist/components/core/index.cjs +3 -3
  30. package/dist/components/core/index.js +3 -3
  31. package/dist/components/core/index.test.d.ts +1 -0
  32. package/dist/components/feedback/LoadingSpinner.vue.d.ts +6 -1
  33. package/dist/components/feedback/Modal.vue.d.ts +8 -2
  34. package/dist/components/feedback/index.cjs +2 -2
  35. package/dist/components/feedback/index.js +2 -2
  36. package/dist/components/feedback/index.test.d.ts +1 -0
  37. package/dist/components/form/Checkbox.vue.d.ts +2 -0
  38. package/dist/components/form/DatePicker.vue.d.ts +2 -0
  39. package/dist/components/form/FormHelp.vue.d.ts +2 -0
  40. package/dist/components/form/Switch.vue.d.ts +2 -0
  41. package/dist/components/form/index.cjs +2 -2
  42. package/dist/components/form/index.js +2 -2
  43. package/dist/components/form/index.test.d.ts +1 -0
  44. package/dist/components/index.cjs +7 -7
  45. package/dist/components/index.js +7 -7
  46. package/dist/components/index.test.d.ts +1 -0
  47. package/dist/components/layout/index.cjs +1 -1
  48. package/dist/components/layout/index.js +1 -1
  49. package/dist/components/layout/index.test.d.ts +1 -0
  50. package/dist/components/type/index.test.d.ts +1 -0
  51. package/dist/composables/index.cjs +6 -0
  52. package/dist/composables/index.cjs.map +1 -1
  53. package/dist/composables/index.d.ts +2 -0
  54. package/dist/composables/index.js +6 -0
  55. package/dist/composables/index.js.map +1 -1
  56. package/dist/composables/index.test.d.ts +1 -0
  57. package/dist/composables/useDarkMode.test.d.ts +1 -0
  58. package/dist/composables/useDropdown.test.d.ts +1 -0
  59. package/dist/composables/useExportCSV.test.d.ts +1 -0
  60. package/dist/composables/useFocusTrap.d.ts +41 -0
  61. package/dist/composables/useFocusTrap.test.d.ts +1 -0
  62. package/dist/composables/useId.d.ts +42 -0
  63. package/dist/composables/useId.test.d.ts +1 -0
  64. package/dist/composables/useModal.d.ts +1 -1
  65. package/dist/composables/useModal.test.d.ts +1 -0
  66. package/dist/{index-DZYqrXV0.js → index-BMoLBt6A.js} +8 -8
  67. package/dist/index-BMoLBt6A.js.map +1 -0
  68. package/dist/{index-Dghdw1yo.js → index-CJwlO351.js} +18 -9
  69. package/dist/index-CJwlO351.js.map +1 -0
  70. package/dist/{index-D7HVSFi2.cjs → index-CUNU12xk.cjs} +17 -8
  71. package/dist/index-CUNU12xk.cjs.map +1 -0
  72. package/dist/{index-DjEv91o4.cjs → index-DwFvFW-3.cjs} +8 -8
  73. package/dist/index-DwFvFW-3.cjs.map +1 -0
  74. package/dist/index.cjs +14 -8
  75. package/dist/index.cjs.map +1 -1
  76. package/dist/index.js +14 -8
  77. package/dist/index.js.map +1 -1
  78. package/dist/index.test.d.ts +1 -0
  79. package/dist/types/form.d.ts +4 -0
  80. package/dist/types/index.test.d.ts +1 -0
  81. package/dist/useFocusTrap-AnlJsihM.js +120 -0
  82. package/dist/useFocusTrap-AnlJsihM.js.map +1 -0
  83. package/dist/useFocusTrap-kcxO8AeU.cjs +119 -0
  84. package/dist/useFocusTrap-kcxO8AeU.cjs.map +1 -0
  85. package/dist/useId-nxrBaIC9.cjs +25 -0
  86. package/dist/useId-nxrBaIC9.cjs.map +1 -0
  87. package/dist/useId-xeHj7rkg.js +26 -0
  88. package/dist/useId-xeHj7rkg.js.map +1 -0
  89. package/dist/useToast-Bk60GArg.cjs.map +1 -1
  90. package/dist/useToast-ina5g3mj.js.map +1 -1
  91. package/package.json +9 -8
  92. package/dist/Button.vue_vue_type_script_setup_true_lang-DKE8elsf.js.map +0 -1
  93. package/dist/Button.vue_vue_type_script_setup_true_lang-DrGM65ny.cjs.map +0 -1
  94. package/dist/Combobox.vue_vue_type_script_setup_true_lang-DhcLb6DX.js.map +0 -1
  95. package/dist/Combobox.vue_vue_type_script_setup_true_lang-FdUrjmSG.cjs.map +0 -1
  96. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CNucAMQg.js.map +0 -1
  97. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DXb9wQQv.cjs.map +0 -1
  98. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js.map +0 -1
  99. package/dist/DarkModeToggle.vue_vue_type_script_setup_true_lang-BoB48313.cjs.map +0 -1
  100. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-C3pr8BwC.js.map +0 -1
  101. package/dist/Dropdown.vue_vue_type_script_setup_true_lang-DKxcVBKu.cjs.map +0 -1
  102. package/dist/index-D7HVSFi2.cjs.map +0 -1
  103. package/dist/index-DZYqrXV0.js.map +0 -1
  104. package/dist/index-Dghdw1yo.js.map +0 -1
  105. package/dist/index-DjEv91o4.cjs.map +0 -1
@@ -1,15 +1,16 @@
1
1
  import { defineComponent, computed, createBlock, createElementBlock, openBlock, createCommentVNode, renderSlot, normalizeClass, createElementVNode, createTextVNode, toDisplayString, useSlots, createVNode, Fragment, renderList, resolveDynamicComponent, withCtx, createSlots, ref, watch, unref, withDirectives, vModelText, withModifiers, Teleport, Transition, normalizeStyle, nextTick, resolveComponent, mergeProps, provide, inject, vShow, onMounted, onUnmounted } from "vue";
2
- import { _ as _sfc_main$l, u as useBreakpoints } from "./index-Dghdw1yo.js";
3
- import { b as _sfc_main$j, a as _sfc_main$k, c as _sfc_main$r } from "./Button.vue_vue_type_script_setup_true_lang-DKE8elsf.js";
2
+ import { _ as _sfc_main$l, u as useBreakpoints } from "./index-CJwlO351.js";
3
+ import { b as _sfc_main$j, a as _sfc_main$k, c as _sfc_main$r } from "./Button.vue_vue_type_script_setup_true_lang-CD9QPOeU.js";
4
4
  import { e as _sfc_main$m, d as _sfc_main$n, c as _sfc_main$o, b as _sfc_main$p, a as _sfc_main$q } from "./BadgeType.vue_vue_type_script_setup_true_lang-CnB5eNEM.js";
5
5
  import { Icon } from "@iconify/vue";
6
6
  import { u as useDropdown } from "./useDropdown-iVu14E6s.js";
7
+ import { u as useId } from "./useId-xeHj7rkg.js";
7
8
  import { u as useDarkMode } from "./useDarkMode-Cl5QWTlC.js";
8
- const _hoisted_1$d = {
9
+ const _hoisted_1$f = {
9
10
  key: 1,
10
11
  class: "flex flex-col overflow-hidden rounded-lg bg-white shadow-md dark:bg-slate-950"
11
12
  };
12
- const _hoisted_2$a = { class: "flex flex-col gap-0.5" };
13
+ const _hoisted_2$c = { class: "flex flex-col gap-0.5" };
13
14
  const _hoisted_3$7 = {
14
15
  key: 1,
15
16
  class: "text-sm font-normal text-gray-600 dark:text-gray-400"
@@ -41,7 +42,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
41
42
  lines: __props.loadingLines,
42
43
  "show-avatar": __props.loadingAvatar,
43
44
  "show-actions": __props.loadingActions
44
- }, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$d, [
45
+ }, null, 8, ["lines", "show-avatar", "show-actions"])) : (openBlock(), createElementBlock("div", _hoisted_1$f, [
45
46
  _ctx.$slots.header ? (openBlock(), createElementBlock("div", {
46
47
  key: 0,
47
48
  class: normalizeClass(["border-b", dividerClasses.value])
@@ -51,7 +52,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
51
52
  key: 1,
52
53
  class: normalizeClass(["flex items-center justify-between border-b px-5 py-3", dividerClasses.value])
53
54
  }, [
54
- createElementVNode("div", _hoisted_2$a, [
55
+ createElementVNode("div", _hoisted_2$c, [
55
56
  __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", {
56
57
  key: 0,
57
58
  class: normalizeClass(["text-md font-semibold", titleClasses.value])
@@ -75,8 +76,8 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
75
76
  };
76
77
  }
77
78
  });
78
- const _hoisted_1$c = { class: "overflow-hidden" };
79
- const _hoisted_2$9 = {
79
+ const _hoisted_1$e = { class: "overflow-hidden" };
80
+ const _hoisted_2$b = {
80
81
  key: 1,
81
82
  class: "overflow-x-auto"
82
83
  };
@@ -210,12 +211,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
210
211
  return props.sortBy === property.name;
211
212
  };
212
213
  return (_ctx, _cache) => {
213
- return openBlock(), createElementBlock("div", _hoisted_1$c, [
214
+ return openBlock(), createElementBlock("div", _hoisted_1$e, [
214
215
  __props.loading ? (openBlock(), createBlock(_sfc_main$k, {
215
216
  key: 0,
216
217
  rows: __props.loadingRows,
217
218
  columns: visibleProperties.value.length
218
- }, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$9, [
219
+ }, null, 8, ["rows", "columns"])) : (openBlock(), createElementBlock("div", _hoisted_2$b, [
219
220
  createElementVNode("table", _hoisted_3$6, [
220
221
  createElementVNode("thead", _hoisted_4$5, [
221
222
  createElementVNode("tr", null, [
@@ -321,8 +322,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
321
322
  };
322
323
  }
323
324
  });
324
- const _hoisted_1$b = { class: "space-y-3" };
325
- const _hoisted_2$8 = { class: "flex items-center gap-3 p-3" };
325
+ const _hoisted_1$d = { class: "space-y-3" };
326
+ const _hoisted_2$a = { class: "flex items-center gap-3 p-3" };
326
327
  const _hoisted_3$5 = { class: "text-sm text-gray-600 dark:text-gray-400" };
327
328
  const _hoisted_4$4 = {
328
329
  key: 0,
@@ -389,7 +390,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
389
390
  };
390
391
  const hasEmptySlot = computed(() => !!slots.empty);
391
392
  return (_ctx, _cache) => {
392
- return openBlock(), createElementBlock("div", _hoisted_1$b, [
393
+ return openBlock(), createElementBlock("div", _hoisted_1$d, [
393
394
  __props.loading ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
394
395
  default: withCtx(() => [
395
396
  createVNode(_sfc_main$r, {
@@ -403,7 +404,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
403
404
  })) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
404
405
  __props.selectable && selectableItems.value.length > 0 ? (openBlock(), createBlock(_sfc_main$i, { key: 0 }, {
405
406
  default: withCtx(() => [
406
- createElementVNode("div", _hoisted_2$8, [
407
+ createElementVNode("div", _hoisted_2$a, [
407
408
  createVNode(_sfc_main$l, {
408
409
  "model-value": allSelected.value,
409
410
  indeterminate: someSelected.value,
@@ -588,11 +589,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
588
589
  };
589
590
  }
590
591
  });
591
- const _hoisted_1$a = {
592
+ const _hoisted_1$c = {
592
593
  key: 0,
593
594
  class: "mb-2 block text-sm font-medium text-gray-700 dark:text-gray-300"
594
595
  };
595
- const _hoisted_2$7 = { class: "relative" };
596
+ const _hoisted_2$9 = { class: "relative" };
596
597
  const _hoisted_3$4 = ["disabled", "placeholder"];
597
598
  const _hoisted_4$3 = ["disabled"];
598
599
  const _hoisted_5$1 = {
@@ -708,8 +709,8 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
708
709
  ref: containerRef,
709
710
  class: "autocomplete-container"
710
711
  }, [
711
- __props.label ? (openBlock(), createElementBlock("label", _hoisted_1$a, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
712
- createElementVNode("div", _hoisted_2$7, [
712
+ __props.label ? (openBlock(), createElementBlock("label", _hoisted_1$c, toDisplayString(__props.label), 1)) : createCommentVNode("", true),
713
+ createElementVNode("div", _hoisted_2$9, [
713
714
  createElementVNode("div", {
714
715
  ref_key: "inputWrapperRef",
715
716
  ref: inputWrapperRef,
@@ -884,8 +885,8 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
884
885
  };
885
886
  }
886
887
  });
887
- const _hoisted_1$9 = { class: "relative inline-block" };
888
- const _hoisted_2$6 = ["src", "alt"];
888
+ const _hoisted_1$b = { class: "relative inline-block" };
889
+ const _hoisted_2$8 = ["src", "alt"];
889
890
  const _hoisted_3$3 = { key: 1 };
890
891
  const _sfc_main$c = /* @__PURE__ */ defineComponent({
891
892
  __name: "Avatar",
@@ -933,7 +934,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
933
934
  });
934
935
  const showImage = computed(() => props.src && !imageError.value);
935
936
  return (_ctx, _cache) => {
936
- return openBlock(), createElementBlock("div", _hoisted_1$9, [
937
+ return openBlock(), createElementBlock("div", _hoisted_1$b, [
937
938
  createElementVNode("div", {
938
939
  class: normalizeClass([
939
940
  "flex items-center justify-center overflow-hidden bg-gray-200 font-medium text-gray-600 dark:bg-gray-700 dark:text-gray-300",
@@ -947,7 +948,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
947
948
  alt: __props.alt || __props.name,
948
949
  class: "size-full object-cover",
949
950
  onError: _cache[0] || (_cache[0] = ($event) => imageError.value = true)
950
- }, null, 40, _hoisted_2$6)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
951
+ }, null, 40, _hoisted_2$8)) : initials.value ? (openBlock(), createElementBlock("span", _hoisted_3$3, toDisplayString(initials.value), 1)) : (openBlock(), createBlock(unref(Icon), {
951
952
  key: 2,
952
953
  icon: "lucide:user",
953
954
  class: "size-1/2"
@@ -965,8 +966,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
965
966
  };
966
967
  }
967
968
  });
968
- const _hoisted_1$8 = ["aria-selected", "disabled", "onClick"];
969
- const _hoisted_2$5 = { class: "mt-4" };
969
+ const _hoisted_1$a = ["aria-selected", "disabled", "onClick"];
970
+ const _hoisted_2$7 = { class: "mt-4" };
970
971
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
971
972
  __name: "Tabs",
972
973
  props: {
@@ -1032,17 +1033,17 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
1032
1033
  activeTab.value === tab.key ? variantClasses[__props.variant].active : variantClasses[__props.variant].inactive
1033
1034
  ]),
1034
1035
  onClick: ($event) => selectTab(tab)
1035
- }, toDisplayString(tab.label), 11, _hoisted_1$8);
1036
+ }, toDisplayString(tab.label), 11, _hoisted_1$a);
1036
1037
  }), 128))
1037
1038
  ], 2),
1038
- createElementVNode("div", _hoisted_2$5, [
1039
+ createElementVNode("div", _hoisted_2$7, [
1039
1040
  renderSlot(_ctx.$slots, "default", { activeTab: activeTab.value })
1040
1041
  ])
1041
1042
  ]);
1042
1043
  };
1043
1044
  }
1044
1045
  });
1045
- const _hoisted_1$7 = { role: "tabpanel" };
1046
+ const _hoisted_1$9 = { role: "tabpanel" };
1046
1047
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
1047
1048
  __name: "TabPanel",
1048
1049
  props: {
@@ -1053,7 +1054,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1053
1054
  const activeTab = inject("activeTab");
1054
1055
  const isActive = computed(() => (activeTab == null ? void 0 : activeTab.value) === props.value);
1055
1056
  return (_ctx, _cache) => {
1056
- return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$7, [
1057
+ return withDirectives((openBlock(), createElementBlock("div", _hoisted_1$9, [
1057
1058
  renderSlot(_ctx.$slots, "default")
1058
1059
  ], 512)), [
1059
1060
  [vShow, isActive.value]
@@ -1061,7 +1062,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
1061
1062
  };
1062
1063
  }
1063
1064
  });
1064
- const _hoisted_1$6 = {
1065
+ const _hoisted_1$8 = {
1065
1066
  key: 2,
1066
1067
  class: "text-sm font-semibold"
1067
1068
  };
@@ -1134,7 +1135,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
1134
1135
  key: 1,
1135
1136
  icon: step.icon,
1136
1137
  class: "size-6"
1137
- }, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$6, toDisplayString(index + 1), 1))
1138
+ }, null, 8, ["icon"])) : (openBlock(), createElementBlock("span", _hoisted_1$8, toDisplayString(index + 1), 1))
1138
1139
  ], 2),
1139
1140
  createElementVNode("div", {
1140
1141
  class: normalizeClass([
@@ -1258,16 +1259,20 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
1258
1259
  };
1259
1260
  }
1260
1261
  });
1262
+ const _hoisted_1$7 = ["aria-describedby"];
1263
+ const _hoisted_2$6 = ["id"];
1261
1264
  const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1262
1265
  __name: "Tooltip",
1263
1266
  props: {
1264
1267
  content: {},
1265
1268
  position: { default: "top" },
1266
1269
  delay: { default: 0 },
1267
- disabled: { type: Boolean, default: false }
1270
+ disabled: { type: Boolean, default: false },
1271
+ id: {}
1268
1272
  },
1269
1273
  setup(__props) {
1270
1274
  const props = __props;
1275
+ const { id: tooltipId } = useId({ prefix: "tooltip", id: props.id });
1271
1276
  const isVisible = ref(false);
1272
1277
  let timeoutId = null;
1273
1278
  const show = () => {
@@ -1306,6 +1311,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1306
1311
  return (_ctx, _cache) => {
1307
1312
  return openBlock(), createElementBlock("div", {
1308
1313
  class: "relative inline-block",
1314
+ "aria-describedby": __props.content && !__props.disabled ? unref(tooltipId) : void 0,
1309
1315
  onMouseenter: show,
1310
1316
  onMouseleave: hide,
1311
1317
  onFocus: show,
@@ -1323,26 +1329,33 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
1323
1329
  default: withCtx(() => [
1324
1330
  isVisible.value && __props.content ? (openBlock(), createElementBlock("div", {
1325
1331
  key: 0,
1332
+ id: unref(tooltipId),
1326
1333
  class: normalizeClass(positionClasses.value),
1327
1334
  role: "tooltip"
1328
- }, toDisplayString(__props.content), 3)) : createCommentVNode("", true)
1335
+ }, toDisplayString(__props.content), 11, _hoisted_2$6)) : createCommentVNode("", true)
1329
1336
  ]),
1330
1337
  _: 1
1331
1338
  })
1332
- ], 32);
1339
+ ], 40, _hoisted_1$7);
1333
1340
  };
1334
1341
  }
1335
1342
  });
1343
+ const _hoisted_1$6 = ["id", "aria-expanded", "aria-controls"];
1344
+ const _hoisted_2$5 = ["id", "aria-labelledby"];
1336
1345
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1337
1346
  __name: "Popover",
1338
1347
  props: {
1339
1348
  position: { default: "bottom" },
1340
1349
  hover: { type: Boolean, default: false },
1341
1350
  teleport: { type: Boolean, default: true },
1342
- width: { default: "auto" }
1351
+ width: { default: "auto" },
1352
+ id: {}
1343
1353
  },
1344
1354
  setup(__props) {
1345
1355
  const props = __props;
1356
+ const { related } = useId({ prefix: "popover", id: props.id });
1357
+ const triggerId = computed(() => related("trigger"));
1358
+ const popoverId = computed(() => related("content"));
1346
1359
  const triggerRef = ref();
1347
1360
  const popoverRef = ref();
1348
1361
  const { isOpen, dropdownStyle, toggle, close, open } = useDropdown(triggerRef, popoverRef, {
@@ -1379,10 +1392,13 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1379
1392
  createElementVNode("div", {
1380
1393
  ref_key: "triggerRef",
1381
1394
  ref: triggerRef,
1395
+ id: triggerId.value,
1396
+ "aria-expanded": unref(isOpen),
1397
+ "aria-controls": popoverId.value,
1382
1398
  onClick: handleTrigger
1383
1399
  }, [
1384
1400
  renderSlot(_ctx.$slots, "trigger")
1385
- ], 512),
1401
+ ], 8, _hoisted_1$6),
1386
1402
  (openBlock(), createBlock(Teleport, {
1387
1403
  to: "body",
1388
1404
  disabled: !__props.teleport
@@ -1398,8 +1414,11 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1398
1414
  default: withCtx(() => [
1399
1415
  unref(isOpen) ? (openBlock(), createElementBlock("div", {
1400
1416
  key: 0,
1417
+ id: popoverId.value,
1401
1418
  ref_key: "popoverRef",
1402
1419
  ref: popoverRef,
1420
+ role: "dialog",
1421
+ "aria-labelledby": triggerId.value,
1403
1422
  style: normalizeStyle(unref(dropdownStyle)),
1404
1423
  class: normalizeClass([
1405
1424
  "z-[9999] rounded-lg border border-gray-200 bg-white p-4 shadow-lg dark:border-gray-700 dark:bg-gray-800",
@@ -1407,7 +1426,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
1407
1426
  ])
1408
1427
  }, [
1409
1428
  renderSlot(_ctx.$slots, "default", { close: unref(close) })
1410
- ], 6)) : createCommentVNode("", true)
1429
+ ], 14, _hoisted_2$5)) : createCommentVNode("", true)
1411
1430
  ]),
1412
1431
  _: 3
1413
1432
  })
@@ -1664,9 +1683,9 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
1664
1683
  };
1665
1684
  }
1666
1685
  });
1667
- const _hoisted_1$2 = ["disabled", "aria-expanded"];
1686
+ const _hoisted_1$2 = ["id", "disabled", "aria-expanded", "aria-controls"];
1668
1687
  const _hoisted_2$2 = { class: "flex items-center gap-2 font-medium" };
1669
- const _hoisted_3$1 = { class: "overflow-hidden" };
1688
+ const _hoisted_3$1 = ["id", "aria-labelledby"];
1670
1689
  const _hoisted_4$1 = { class: "px-4 py-3 bg-gray-50 dark:bg-gray-900 text-gray-700 dark:text-gray-300" };
1671
1690
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1672
1691
  __name: "AccordionItem",
@@ -1674,10 +1693,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1674
1693
  itemKey: {},
1675
1694
  title: {},
1676
1695
  icon: {},
1677
- disabled: { type: Boolean }
1696
+ disabled: { type: Boolean },
1697
+ id: {}
1678
1698
  },
1679
1699
  setup(__props) {
1680
1700
  const props = __props;
1701
+ const { related } = useId({ prefix: "accordion", id: props.id });
1702
+ const headerId = computed(() => related("header"));
1703
+ const panelId = computed(() => related("panel"));
1681
1704
  const accordion = inject("accordion");
1682
1705
  const isOpen = computed(() => (accordion == null ? void 0 : accordion.isOpen(props.itemKey)) ?? false);
1683
1706
  const toggle = () => {
@@ -1688,25 +1711,29 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1688
1711
  return (_ctx, _cache) => {
1689
1712
  return openBlock(), createElementBlock("div", null, [
1690
1713
  createElementVNode("button", {
1714
+ id: headerId.value,
1691
1715
  type: "button",
1692
1716
  class: normalizeClass(["flex items-center justify-between w-full px-4 py-3 text-left transition-colors", [
1693
1717
  __props.disabled ? "bg-gray-50 text-gray-400 cursor-not-allowed dark:bg-gray-800 dark:text-gray-500" : "bg-white hover:bg-gray-50 text-gray-900 dark:bg-gray-800 dark:hover:bg-gray-700 dark:text-white"
1694
1718
  ]]),
1695
1719
  disabled: __props.disabled,
1696
1720
  "aria-expanded": isOpen.value,
1721
+ "aria-controls": panelId.value,
1697
1722
  onClick: toggle
1698
1723
  }, [
1699
1724
  createElementVNode("span", _hoisted_2$2, [
1700
1725
  __props.icon ? (openBlock(), createBlock(unref(Icon), {
1701
1726
  key: 0,
1702
1727
  icon: __props.icon,
1703
- class: "w-5 h-5"
1728
+ class: "w-5 h-5",
1729
+ "aria-hidden": "true"
1704
1730
  }, null, 8, ["icon"])) : createCommentVNode("", true),
1705
1731
  createTextVNode(" " + toDisplayString(__props.title), 1)
1706
1732
  ]),
1707
1733
  createVNode(unref(Icon), {
1708
1734
  icon: "heroicons:chevron-down",
1709
- class: normalizeClass(["w-5 h-5 transition-transform duration-200", { "rotate-180": isOpen.value }])
1735
+ class: normalizeClass(["w-5 h-5 transition-transform duration-200", { "rotate-180": isOpen.value }]),
1736
+ "aria-hidden": "true"
1710
1737
  }, null, 8, ["class"])
1711
1738
  ], 10, _hoisted_1$2),
1712
1739
  createVNode(Transition, {
@@ -1718,11 +1745,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
1718
1745
  "leave-to-class": "opacity-0 max-h-0"
1719
1746
  }, {
1720
1747
  default: withCtx(() => [
1721
- withDirectives(createElementVNode("div", _hoisted_3$1, [
1748
+ withDirectives(createElementVNode("div", {
1749
+ id: panelId.value,
1750
+ role: "region",
1751
+ "aria-labelledby": headerId.value,
1752
+ class: "overflow-hidden"
1753
+ }, [
1722
1754
  createElementVNode("div", _hoisted_4$1, [
1723
1755
  renderSlot(_ctx.$slots, "default")
1724
1756
  ])
1725
- ], 512), [
1757
+ ], 8, _hoisted_3$1), [
1726
1758
  [vShow, isOpen.value]
1727
1759
  ])
1728
1760
  ]),
@@ -1933,4 +1965,4 @@ export {
1933
1965
  _sfc_main$1 as q,
1934
1966
  _sfc_main as r
1935
1967
  };
1936
- //# sourceMappingURL=DarkModeToggle.vue_vue_type_script_setup_true_lang-43fxlbro.js.map
1968
+ //# sourceMappingURL=DarkModeToggle.vue_vue_type_script_setup_true_lang-D1Q43mhJ.js.map