cisse-vue-ui 0.8.3 → 0.9.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 (174) hide show
  1. package/README.md +666 -4
  2. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-DuJr8cz3.cjs → CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs} +70 -70
  3. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs.map +1 -0
  4. package/dist/{CheckboxGroup.vue_vue_type_script_setup_true_lang-N4oS_DJD.js → CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js} +72 -72
  5. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-ZP02bMgY.js.map +1 -0
  6. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-DWs2V7xX.js → ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js} +37 -184
  7. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-C5KHLMvx.js.map +1 -0
  8. package/dist/{ConfirmDialog.vue_vue_type_script_setup_true_lang-BGUoa5fT.cjs → ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs} +33 -180
  9. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-CLfy0-Wb.cjs.map +1 -0
  10. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-DoJKvn30.cjs → Dropdown.vue_vue_type_script_setup_true_lang-BAKGRZIb.cjs} +2 -2
  11. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-DoJKvn30.cjs.map → Dropdown.vue_vue_type_script_setup_true_lang-BAKGRZIb.cjs.map} +1 -1
  12. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-A9Ax6iob.js → Dropdown.vue_vue_type_script_setup_true_lang-GLCX7E3C.js} +2 -2
  13. package/dist/{Dropdown.vue_vue_type_script_setup_true_lang-A9Ax6iob.js.map → Dropdown.vue_vue_type_script_setup_true_lang-GLCX7E3C.js.map} +1 -1
  14. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-jW6Ikbvy.cjs → FilterTabs.vue_vue_type_script_setup_true_lang-COkZbeGG.cjs} +1260 -209
  15. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-COkZbeGG.cjs.map +1 -0
  16. package/dist/{FilterTabs.vue_vue_type_script_setup_true_lang-CcOgc2Y_.js → FilterTabs.vue_vue_type_script_setup_true_lang-CzpYHtc5.js} +1269 -218
  17. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CzpYHtc5.js.map +1 -0
  18. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js +298 -0
  19. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BHopJ9RG.js.map +1 -0
  20. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs +297 -0
  21. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-Bo3HqgX0.cjs.map +1 -0
  22. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-rbvfGvll.cjs → PageHero.vue_vue_type_script_setup_true_lang-BqwBJlv0.cjs} +2 -2
  23. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-rbvfGvll.cjs.map → PageHero.vue_vue_type_script_setup_true_lang-BqwBJlv0.cjs.map} +1 -1
  24. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-Gvocjdqh.js → PageHero.vue_vue_type_script_setup_true_lang-by-P5wIB.js} +2 -2
  25. package/dist/{PageHero.vue_vue_type_script_setup_true_lang-Gvocjdqh.js.map → PageHero.vue_vue_type_script_setup_true_lang-by-P5wIB.js.map} +1 -1
  26. package/dist/cisse-vue-ui.css +4 -4
  27. package/dist/components/core/AccordionItem.test.d.ts +1 -0
  28. package/dist/components/core/Breadcrumb.stories.d.ts +5 -0
  29. package/dist/components/core/CardWrapper.stories.d.ts +32 -0
  30. package/dist/components/core/CardWrapper.test.d.ts +1 -0
  31. package/dist/components/core/CardWrapper.vue.d.ts +129 -0
  32. package/dist/components/core/CollapsibleCard.vue.d.ts +1 -1
  33. package/dist/components/core/DataTable.stories.d.ts +38 -0
  34. package/dist/components/core/Dropdown.vue.d.ts +1 -1
  35. package/dist/components/core/Popover.vue.d.ts +2 -2
  36. package/dist/components/core/Tooltip.stories.d.ts +3 -0
  37. package/dist/components/core/index.cjs +40 -23
  38. package/dist/components/core/index.cjs.map +1 -1
  39. package/dist/components/core/index.d.ts +4 -1
  40. package/dist/components/core/index.js +40 -23
  41. package/dist/components/core/table/DataTable.test.d.ts +1 -0
  42. package/dist/components/core/{TableComponent.vue.d.ts → table/DataTable.vue.d.ts} +60 -7
  43. package/dist/components/core/table/Table.stories.d.ts +27 -0
  44. package/dist/components/core/table/atoms/Caption.test.d.ts +1 -0
  45. package/dist/components/core/table/atoms/Caption.vue.d.ts +26 -0
  46. package/dist/components/core/table/atoms/Col.test.d.ts +1 -0
  47. package/dist/components/core/table/atoms/Col.vue.d.ts +8 -0
  48. package/dist/components/core/table/atoms/Colgroup.test.d.ts +1 -0
  49. package/dist/components/core/table/atoms/Colgroup.vue.d.ts +17 -0
  50. package/dist/components/core/table/atoms/Table.test.d.ts +1 -0
  51. package/dist/components/core/table/atoms/Table.vue.d.ts +46 -0
  52. package/dist/components/core/table/atoms/Tbody.test.d.ts +1 -0
  53. package/dist/components/core/table/atoms/Tbody.vue.d.ts +17 -0
  54. package/dist/components/core/table/atoms/Td.test.d.ts +1 -0
  55. package/dist/components/core/table/atoms/Td.vue.d.ts +43 -0
  56. package/dist/components/core/table/atoms/Tfoot.test.d.ts +1 -0
  57. package/dist/components/core/table/atoms/Tfoot.vue.d.ts +17 -0
  58. package/dist/components/core/table/atoms/Th.test.d.ts +1 -0
  59. package/dist/components/core/table/atoms/Th.vue.d.ts +64 -0
  60. package/dist/components/core/table/atoms/Thead.test.d.ts +1 -0
  61. package/dist/components/core/table/atoms/Thead.vue.d.ts +17 -0
  62. package/dist/components/core/table/atoms/Tr.test.d.ts +1 -0
  63. package/dist/components/core/table/atoms/Tr.vue.d.ts +35 -0
  64. package/dist/components/core/table/atoms/index.d.ts +10 -0
  65. package/dist/components/core/table/index.d.ts +3 -0
  66. package/dist/components/core/table/molecules/ExpandableRow.test.d.ts +1 -0
  67. package/dist/components/core/table/molecules/ExpandableRow.vue.d.ts +47 -0
  68. package/dist/components/core/table/molecules/TableFooter.test.d.ts +1 -0
  69. package/dist/components/core/table/molecules/TableFooter.vue.d.ts +21 -0
  70. package/dist/components/core/table/molecules/TableHeader.test.d.ts +1 -0
  71. package/dist/components/core/table/molecules/TableHeader.vue.d.ts +49 -0
  72. package/dist/components/core/table/molecules/TableRow.test.d.ts +1 -0
  73. package/dist/components/core/table/molecules/TableRow.vue.d.ts +59 -0
  74. package/dist/components/core/table/molecules/index.d.ts +4 -0
  75. package/dist/components/feedback/Progress.vue.d.ts +1 -1
  76. package/dist/components/feedback/TableSkeleton.vue.d.ts +1 -1
  77. package/dist/components/feedback/index.cjs +14 -14
  78. package/dist/components/feedback/index.js +14 -14
  79. package/dist/components/form/Combobox.stories.d.ts +2 -0
  80. package/dist/components/form/Combobox.vue.d.ts +4 -0
  81. package/dist/components/form/DatePicker.stories.d.ts +2 -0
  82. package/dist/components/form/DatePicker.vue.d.ts +4 -0
  83. package/dist/components/form/FormSection.vue.d.ts +1 -1
  84. package/dist/components/form/FormSelect.stories.d.ts +2 -0
  85. package/dist/components/form/FormSelect.vue.d.ts +4 -0
  86. package/dist/components/form/IconPicker.stories.d.ts +19 -0
  87. package/dist/components/form/IconPicker.test.d.ts +1 -0
  88. package/dist/components/form/InputWrapper.stories.d.ts +1 -5
  89. package/dist/components/form/InputWrapper.vue.d.ts +6 -3
  90. package/dist/components/form/Rating.vue.d.ts +1 -1
  91. package/dist/components/form/SearchInput.vue.d.ts +1 -1
  92. package/dist/components/form/TagsInput.stories.d.ts +1 -0
  93. package/dist/components/form/TagsInput.vue.d.ts +3 -3
  94. package/dist/components/form/TextArea.stories.d.ts +3 -1
  95. package/dist/components/form/TextArea.vue.d.ts +4 -0
  96. package/dist/components/form/index.cjs +1 -1
  97. package/dist/components/form/index.js +2 -2
  98. package/dist/components/index.cjs +56 -39
  99. package/dist/components/index.cjs.map +1 -1
  100. package/dist/components/index.js +66 -49
  101. package/dist/components/layout/index.cjs +1 -1
  102. package/dist/components/layout/index.js +1 -1
  103. package/dist/composables/index.cjs +18 -9
  104. package/dist/composables/index.cjs.map +1 -1
  105. package/dist/composables/index.d.ts +8 -0
  106. package/dist/composables/index.js +15 -6
  107. package/dist/composables/index.js.map +1 -1
  108. package/dist/composables/useColumnResize.d.ts +38 -0
  109. package/dist/composables/useColumnResize.test.d.ts +1 -0
  110. package/dist/composables/useColumnVisibility.d.ts +44 -0
  111. package/dist/composables/useColumnVisibility.test.d.ts +1 -0
  112. package/dist/composables/useEditableCell.d.ts +51 -0
  113. package/dist/composables/useEditableCell.test.d.ts +1 -0
  114. package/dist/composables/useInputStyles.d.ts +32 -0
  115. package/dist/composables/useInputStyles.test.d.ts +1 -0
  116. package/dist/composables/usePagination.d.ts +44 -0
  117. package/dist/composables/usePagination.test.d.ts +1 -0
  118. package/dist/composables/usePinnedRows.d.ts +41 -0
  119. package/dist/composables/usePinnedRows.test.d.ts +1 -0
  120. package/dist/composables/useTableKeyboardNavigation.d.ts +52 -0
  121. package/dist/composables/useTableKeyboardNavigation.test.d.ts +1 -0
  122. package/dist/composables/useVirtualScroll.d.ts +32 -0
  123. package/dist/composables/useVirtualScroll.test.d.ts +1 -0
  124. package/dist/index-0kwQORZJ.js +114 -0
  125. package/dist/index-0kwQORZJ.js.map +1 -0
  126. package/dist/{index-5dQNEzd8.cjs → index-BMSH4AOz.cjs} +57 -40
  127. package/dist/{index-5dQNEzd8.cjs.map → index-BMSH4AOz.cjs.map} +1 -1
  128. package/dist/{index-SNefWfX0.js → index-BaWpldIJ.js} +3 -3
  129. package/dist/{index-SNefWfX0.js.map → index-BaWpldIJ.js.map} +1 -1
  130. package/dist/index.cjs +75 -49
  131. package/dist/index.cjs.map +1 -1
  132. package/dist/index.js +83 -57
  133. package/dist/index.js.map +1 -1
  134. package/dist/style.css +1 -1
  135. package/dist/types/components.d.ts +1 -1
  136. package/dist/types/property.d.ts +8 -0
  137. package/dist/{useDropdown-DK4c5JGL.cjs → useDropdown-HI7ABBLe.cjs} +5 -4
  138. package/dist/{useDropdown-DK4c5JGL.cjs.map → useDropdown-HI7ABBLe.cjs.map} +1 -1
  139. package/dist/{useDropdown-De0cKI83.js → useDropdown-XITCE_SM.js} +5 -4
  140. package/dist/{useDropdown-De0cKI83.js.map → useDropdown-XITCE_SM.js.map} +1 -1
  141. package/dist/useInputStyles-BFTJdXHL.js +127 -0
  142. package/dist/useInputStyles-BFTJdXHL.js.map +1 -0
  143. package/dist/useInputStyles-DMfvW6N5.cjs +126 -0
  144. package/dist/useInputStyles-DMfvW6N5.cjs.map +1 -0
  145. package/dist/usePagination-BGwbICFC.js +135 -0
  146. package/dist/usePagination-BGwbICFC.js.map +1 -0
  147. package/dist/usePagination-gvvh1zqA.cjs +134 -0
  148. package/dist/usePagination-gvvh1zqA.cjs.map +1 -0
  149. package/dist/useVirtualScroll-BivP86fA.cjs +869 -0
  150. package/dist/useVirtualScroll-BivP86fA.cjs.map +1 -0
  151. package/dist/useVirtualScroll-YeZru2Eo.js +870 -0
  152. package/dist/useVirtualScroll-YeZru2Eo.js.map +1 -0
  153. package/package.json +1 -1
  154. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-DuJr8cz3.cjs.map +0 -1
  155. package/dist/CheckboxGroup.vue_vue_type_script_setup_true_lang-N4oS_DJD.js.map +0 -1
  156. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-BGUoa5fT.cjs.map +0 -1
  157. package/dist/ConfirmDialog.vue_vue_type_script_setup_true_lang-DWs2V7xX.js.map +0 -1
  158. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-CcOgc2Y_.js.map +0 -1
  159. package/dist/FilterTabs.vue_vue_type_script_setup_true_lang-jW6Ikbvy.cjs.map +0 -1
  160. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js +0 -150
  161. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-BwtEbaiT.js.map +0 -1
  162. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs +0 -149
  163. package/dist/ListSkeleton.vue_vue_type_script_setup_true_lang-DtwwmfWr.cjs.map +0 -1
  164. package/dist/components/core/TableComponent.stories.d.ts +0 -16
  165. package/dist/index-CDDUEkXf.js +0 -97
  166. package/dist/index-CDDUEkXf.js.map +0 -1
  167. package/dist/useDarkMode-Cl5QWTlC.js +0 -53
  168. package/dist/useDarkMode-Cl5QWTlC.js.map +0 -1
  169. package/dist/useDarkMode-DLZcJEUQ.cjs +0 -52
  170. package/dist/useDarkMode-DLZcJEUQ.cjs.map +0 -1
  171. package/dist/useToast-Bk60GArg.cjs +0 -176
  172. package/dist/useToast-Bk60GArg.cjs.map +0 -1
  173. package/dist/useToast-ina5g3mj.js +0 -177
  174. package/dist/useToast-ina5g3mj.js.map +0 -1
@@ -2,7 +2,8 @@
2
2
  const vue = require("vue");
3
3
  const useId = require("./useId-nxrBaIC9.cjs");
4
4
  const vue$1 = require("@iconify/vue");
5
- const useDropdown = require("./useDropdown-DK4c5JGL.cjs");
5
+ const useDropdown = require("./useDropdown-HI7ABBLe.cjs");
6
+ const useInputStyles = require("./useInputStyles-DMfvW6N5.cjs");
6
7
  const _pluginVue_exportHelper = require("./_plugin-vue_export-helper-DM9IkUGy.cjs");
7
8
  const index = require("./index-D1x3TH9k.cjs");
8
9
  const Button_vue_vue_type_script_setup_true_lang = require("./Button.vue_vue_type_script_setup_true_lang-CXRj7LEP.cjs");
@@ -65,33 +66,22 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
65
66
  size: { default: "md" },
66
67
  invalid: { type: Boolean },
67
68
  disabled: { type: Boolean },
69
+ focused: { type: Boolean },
68
70
  wrapperClass: {}
69
71
  },
70
72
  setup(__props, { expose: __expose }) {
71
73
  const props = __props;
72
74
  const slots = vue.useSlots();
73
- const hasLeftIcon = vue.computed(() => props.icon || slots.icon);
74
- const hasRightContent = vue.computed(() => props.iconRight || slots.actions);
75
- const inputClass = vue.computed(() => [
76
- // Base styles
77
- "block w-full rounded-xl border text-sm transition-all",
78
- "border-gray-200 bg-gray-50 text-gray-900 placeholder-gray-400",
79
- "focus:border-primary-500 focus:ring-2 focus:ring-primary-500 focus:bg-white focus:outline-hidden",
80
- "disabled:border-gray-200 disabled:bg-gray-100 disabled:text-gray-500 disabled:cursor-not-allowed",
81
- // Dark mode
82
- "dark:border-slate-600 dark:bg-slate-700 dark:text-white dark:placeholder-gray-500",
83
- "dark:focus:border-primary-500 dark:focus:ring-primary-500 dark:focus:bg-slate-600",
84
- "dark:disabled:bg-slate-800 dark:disabled:text-gray-500",
85
- // Padding based on icons/actions
86
- hasLeftIcon.value ? "pl-10" : "pl-4",
87
- hasRightContent.value ? "pr-10" : "pr-4",
88
- // Size
89
- props.size === "sm" && "py-2 text-xs",
90
- props.size === "md" && "py-3 text-sm",
91
- props.size === "lg" && "py-4 text-base",
92
- // Invalid state
93
- props.invalid && "border-red-500 focus:border-red-500 focus:ring-red-500 dark:border-red-500"
94
- ]);
75
+ const hasLeftIcon = vue.computed(() => !!props.icon || !!slots.icon);
76
+ const hasRightContent = vue.computed(() => !!props.iconRight || !!slots.actions);
77
+ const { inputClass, iconClass } = useInputStyles.useInputStyles({
78
+ disabled: vue.toRef(props, "disabled"),
79
+ invalid: vue.toRef(props, "invalid"),
80
+ focused: vue.toRef(props, "focused"),
81
+ size: vue.toRef(props, "size"),
82
+ hasLeftIcon,
83
+ hasRightIcon: hasRightContent
84
+ });
95
85
  __expose({ inputClass });
96
86
  return (_ctx, _cache) => {
97
87
  return vue.openBlock(), vue.createElementBlock("div", {
@@ -102,18 +92,18 @@ const _sfc_main$r = /* @__PURE__ */ vue.defineComponent({
102
92
  __props.icon ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
103
93
  key: 0,
104
94
  icon: __props.icon,
105
- class: "size-5"
106
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
95
+ class: vue.normalizeClass(vue.unref(iconClass))
96
+ }, null, 8, ["icon", "class"])) : vue.createCommentVNode("", true)
107
97
  ])
108
98
  ])) : vue.createCommentVNode("", true),
109
- vue.renderSlot(_ctx.$slots, "default", { inputClass: inputClass.value }),
99
+ vue.renderSlot(_ctx.$slots, "default", { inputClass: vue.unref(inputClass) }),
110
100
  hasRightContent.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2$i, [
111
101
  vue.renderSlot(_ctx.$slots, "actions", {}, () => [
112
102
  __props.iconRight ? (vue.openBlock(), vue.createBlock(vue.unref(vue$1.Icon), {
113
103
  key: 0,
114
104
  icon: __props.iconRight,
115
- class: "size-5 text-gray-400 pointer-events-none"
116
- }, null, 8, ["icon"])) : vue.createCommentVNode("", true)
105
+ class: vue.normalizeClass([vue.unref(iconClass), "pointer-events-none"])
106
+ }, null, 8, ["icon", "class"])) : vue.createCommentVNode("", true)
117
107
  ])
118
108
  ])) : vue.createCommentVNode("", true)
119
109
  ], 2);
@@ -215,7 +205,8 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
215
205
  teleport: { type: Boolean, default: true },
216
206
  searchable: { type: Boolean, default: false },
217
207
  noResultsText: { default: "No results found" },
218
- triggerClass: {}
208
+ triggerClass: {},
209
+ size: { default: "md" }
219
210
  }, {
220
211
  "modelValue": { type: [String, Number, Boolean, null] },
221
212
  "modelModifiers": {}
@@ -310,12 +301,17 @@ const _sfc_main$p = /* @__PURE__ */ vue.defineComponent({
310
301
  vue.watch(searchQuery, () => {
311
302
  highlightedIndex.value = 0;
312
303
  });
313
- const triggerClasses = vue.computed(() => {
314
- const base = "flex w-full items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm text-left transition";
315
- const state = props.disabled ? "cursor-not-allowed border-gray-200 bg-gray-50 text-gray-500 dark:border-gray-800 dark:bg-gray-950 dark:text-gray-500" : isOpen.value ? "border-primary ring-2 ring-primary/20 bg-white dark:bg-gray-900" : "border-gray-300 bg-white hover:border-gray-400 dark:border-gray-700 dark:bg-gray-900 dark:hover:border-gray-600";
316
- const text = selectedOption.value ? "text-gray-800 dark:text-gray-200" : "text-gray-400 dark:text-gray-500";
317
- return [base, state, text, props.triggerClass];
304
+ const hasValue = vue.computed(() => !!selectedOption.value);
305
+ const { triggerClass } = useInputStyles.useInputStyles({
306
+ disabled: vue.computed(() => props.disabled),
307
+ focused: isOpen,
308
+ hasValue,
309
+ size: vue.toRef(props, "size")
318
310
  });
311
+ const triggerClasses = vue.computed(() => [
312
+ ...triggerClass.value,
313
+ props.triggerClass
314
+ ]);
319
315
  return (_ctx, _cache) => {
320
316
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$p, [
321
317
  vue.createElementVNode("button", {
@@ -753,7 +749,8 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
753
749
  minDate: {},
754
750
  maxDate: {},
755
751
  teleport: { type: Boolean, default: true },
756
- id: {}
752
+ id: {},
753
+ size: { default: "md" }
757
754
  }, {
758
755
  "modelValue": { default: null },
759
756
  "modelModifiers": {}
@@ -866,6 +863,13 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
866
863
  });
867
864
  return formatter.format(date);
868
865
  };
866
+ const hasValue = vue.computed(() => !!modelValue.value);
867
+ const { triggerClass } = useInputStyles.useInputStyles({
868
+ disabled: vue.computed(() => props.disabled),
869
+ focused: isOpen,
870
+ hasValue,
871
+ size: vue.toRef(props, "size")
872
+ });
869
873
  return (_ctx, _cache) => {
870
874
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$k, [
871
875
  vue.createElementVNode("button", {
@@ -877,11 +881,7 @@ const _sfc_main$k = /* @__PURE__ */ vue.defineComponent({
877
881
  "aria-expanded": vue.unref(isOpen),
878
882
  "aria-haspopup": "dialog",
879
883
  "aria-controls": calendarId.value,
880
- class: vue.normalizeClass([
881
- "flex w-full items-center justify-between gap-2 rounded-md border px-3 py-2 text-sm text-left transition",
882
- __props.disabled ? "cursor-not-allowed border-gray-200 bg-gray-50 text-gray-500 dark:border-gray-800 dark:bg-gray-950" : vue.unref(isOpen) ? "border-primary ring-2 ring-primary/20 bg-white dark:bg-gray-900" : "border-gray-300 bg-white hover:border-gray-400 dark:border-gray-700 dark:bg-gray-900",
883
- modelValue.value ? "text-gray-900 dark:text-white" : "text-gray-400 dark:text-gray-500"
884
- ]),
884
+ class: vue.normalizeClass(vue.unref(triggerClass)),
885
885
  onClick: _cache[0] || (_cache[0] = //@ts-ignore
886
886
  (...args) => vue.unref(toggle) && vue.unref(toggle)(...args))
887
887
  }, [
@@ -1654,7 +1654,8 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1654
1654
  noResultsText: { default: "No results found" },
1655
1655
  name: {},
1656
1656
  id: {},
1657
- teleport: { type: [String, Boolean], default: false }
1657
+ teleport: { type: [String, Boolean], default: false },
1658
+ size: { default: "md" }
1658
1659
  },
1659
1660
  emits: ["update:modelValue"],
1660
1661
  setup(__props, { emit: __emit }) {
@@ -1733,6 +1734,13 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1733
1734
  search.value = "";
1734
1735
  }
1735
1736
  });
1737
+ const hasValue = vue.computed(() => selectedOptions.value.length > 0);
1738
+ const { triggerClass } = useInputStyles.useInputStyles({
1739
+ disabled: vue.computed(() => props.disabled),
1740
+ focused: isOpen,
1741
+ hasValue,
1742
+ size: vue.toRef(props, "size")
1743
+ });
1736
1744
  return (_ctx, _cache) => {
1737
1745
  return vue.openBlock(), vue.createElementBlock("div", {
1738
1746
  ref_key: "containerRef",
@@ -1744,11 +1752,7 @@ const _sfc_main$f = /* @__PURE__ */ vue.defineComponent({
1744
1752
  "aria-expanded": isOpen.value,
1745
1753
  "aria-haspopup": "listbox",
1746
1754
  "aria-controls": listboxId.value,
1747
- class: vue.normalizeClass([
1748
- "flex min-h-[42px] w-full cursor-pointer items-center rounded-lg border bg-white px-3 py-2 transition-colors",
1749
- "dark:bg-gray-900",
1750
- __props.disabled ? "cursor-not-allowed border-gray-200 bg-gray-50 dark:border-gray-700 dark:bg-gray-800" : isOpen.value ? "border-primary ring-2 ring-primary/20" : "border-gray-300 hover:border-gray-400 dark:border-gray-600 dark:hover:border-gray-500"
1751
- ]),
1755
+ class: vue.normalizeClass(["cursor-pointer", ...vue.unref(triggerClass)]),
1752
1756
  onClick: openDropdown
1753
1757
  }, [
1754
1758
  !isOpen.value ? (vue.openBlock(), vue.createElementBlock("span", {
@@ -2512,12 +2516,12 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
2512
2516
  vue.createElementVNode("button", {
2513
2517
  type: "button",
2514
2518
  disabled: __props.disabled,
2515
- class: "p-1 rounded hover:bg-gray-100 dark:hover:bg-slate-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
2519
+ class: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
2516
2520
  onClick: toggleVisibility
2517
2521
  }, [
2518
2522
  vue.createVNode(vue.unref(vue$1.Icon), {
2519
2523
  icon: showPassword.value ? "lucide:eye-off" : "lucide:eye",
2520
- class: "size-5 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"
2524
+ class: "size-4 text-gray-400 hover:text-gray-600 dark:hover:text-gray-300"
2521
2525
  }, null, 8, ["icon"])
2522
2526
  ], 8, _hoisted_2$6)
2523
2527
  ]),
@@ -3540,12 +3544,11 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3540
3544
  if (props.max !== void 0) return modelValue.value.length < props.max;
3541
3545
  return true;
3542
3546
  });
3547
+ const { wrapperClass } = useInputStyles.useInputStyles({
3548
+ disabled: vue.toRef(props, "disabled"),
3549
+ size: vue.toRef(props, "size")
3550
+ });
3543
3551
  const sizeClasses = vue.computed(() => ({
3544
- wrapper: {
3545
- sm: "min-h-9 py-1.5 px-2 gap-1",
3546
- md: "min-h-11 py-2 px-3 gap-1.5",
3547
- lg: "min-h-13 py-2.5 px-4 gap-2"
3548
- }[props.size],
3549
3552
  tag: {
3550
3553
  sm: "text-xs px-2 py-0.5",
3551
3554
  md: "text-sm px-2.5 py-1",
@@ -3594,14 +3597,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3594
3597
  __expose({ focus: focusInput });
3595
3598
  return (_ctx, _cache) => {
3596
3599
  return vue.openBlock(), vue.createElementBlock("div", {
3597
- class: vue.normalizeClass([
3598
- "flex flex-wrap items-center rounded-xl border transition-all cursor-text",
3599
- "bg-gray-50 dark:bg-slate-700",
3600
- "border-gray-200 dark:border-slate-600",
3601
- "focus-within:border-primary-500 focus-within:ring-2 focus-within:ring-primary-500 focus-within:bg-white dark:focus-within:bg-slate-600",
3602
- __props.disabled && "opacity-50 cursor-not-allowed",
3603
- sizeClasses.value.wrapper
3604
- ]),
3600
+ class: vue.normalizeClass(vue.unref(wrapperClass)),
3605
3601
  onClick: focusInput
3606
3602
  }, [
3607
3603
  vue.createVNode(vue.TransitionGroup, {
@@ -3649,7 +3645,8 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3649
3645
  required: __props.required && modelValue.value.length === 0,
3650
3646
  class: [
3651
3647
  "flex-1 min-w-20 bg-transparent border-none focus:outline-none",
3652
- "text-gray-900 dark:text-white placeholder-gray-400",
3648
+ "text-gray-800 dark:text-gray-200 placeholder-gray-400 dark:placeholder-gray-500",
3649
+ __props.disabled && "text-gray-500 dark:text-gray-500",
3653
3650
  sizeClasses.value.input
3654
3651
  ]
3655
3652
  }, _ctx.$attrs, {
@@ -3662,7 +3659,7 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3662
3659
  };
3663
3660
  }
3664
3661
  });
3665
- const TagsInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["__scopeId", "data-v-fb9f5eb1"]]);
3662
+ const TagsInput = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$2, [["__scopeId", "data-v-46cfbdf1"]]);
3666
3663
  const _hoisted_1$1 = {
3667
3664
  key: 0,
3668
3665
  class: "text-red-500 ml-1"
@@ -3688,7 +3685,8 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3688
3685
  rows: { default: 3 },
3689
3686
  maxLength: {},
3690
3687
  showCount: { type: Boolean, default: false },
3691
- resize: { default: "vertical" }
3688
+ resize: { default: "vertical" },
3689
+ size: { default: "md" }
3692
3690
  },
3693
3691
  emits: ["update:modelValue"],
3694
3692
  setup(__props, { emit: __emit }) {
@@ -3698,6 +3696,11 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3698
3696
  var _a;
3699
3697
  return ((_a = props.modelValue) == null ? void 0 : _a.length) ?? 0;
3700
3698
  });
3699
+ const { inputClass } = useInputStyles.useInputStyles({
3700
+ disabled: vue.toRef(props, "disabled"),
3701
+ invalid: vue.computed(() => !!props.error),
3702
+ size: vue.toRef(props, "size")
3703
+ });
3701
3704
  const resizeClass = vue.computed(() => {
3702
3705
  switch (props.resize) {
3703
3706
  case "none":
@@ -3739,12 +3742,9 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3739
3742
  rows: __props.rows,
3740
3743
  maxlength: __props.maxLength,
3741
3744
  class: vue.normalizeClass([
3742
- "w-full px-4 py-3 rounded-xl border transition-all duration-200",
3743
- "focus:outline-none focus:ring-2 focus:ring-offset-0",
3745
+ vue.unref(inputClass),
3744
3746
  resizeClass.value,
3745
- __props.label || _ctx.$slots.label ? "mt-2" : "",
3746
- __props.error ? "border-red-300 dark:border-red-500 focus:border-red-500 focus:ring-red-500/20" : "border-gray-200 dark:border-slate-600 focus:border-primary-500 focus:ring-primary-500/20",
3747
- __props.disabled ? "bg-gray-50 dark:bg-slate-800 text-gray-400 cursor-not-allowed" : "bg-white dark:bg-slate-700 text-gray-900 dark:text-white"
3747
+ __props.label || _ctx.$slots.label ? "mt-2" : ""
3748
3748
  ]),
3749
3749
  onInput: handleInput
3750
3750
  }, null, 42, _hoisted_2),
@@ -3897,4 +3897,4 @@ exports._sfc_main$6 = _sfc_main$m;
3897
3897
  exports._sfc_main$7 = _sfc_main$k;
3898
3898
  exports._sfc_main$8 = _sfc_main$j;
3899
3899
  exports._sfc_main$9 = _sfc_main$i;
3900
- //# sourceMappingURL=CheckboxGroup.vue_vue_type_script_setup_true_lang-DuJr8cz3.cjs.map
3900
+ //# sourceMappingURL=CheckboxGroup.vue_vue_type_script_setup_true_lang-BC86pBlY.cjs.map