@enos5/enos-vue-default 0.2.1 → 0.3.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.
package/dist/index.js CHANGED
@@ -119,10 +119,10 @@ const components = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
119
119
  return _sfc_main$g;
120
120
  }
121
121
  }, Symbol.toStringTag, { value: "Module" }));
122
- const _hoisted_1$w = { class: "border-b border-gray-200/80 bg-gray-50/80 p-2" };
122
+ const _hoisted_1$w = { class: "border-b border-neutral-200 bg-neutral-50/80 p-2 dark:border-neutral-800 dark:bg-neutral-900/80" };
123
123
  const _hoisted_2$h = {
124
124
  role: "tablist",
125
- class: "flex rounded-lg bg-white shadow-sm ring-1 ring-gray-200/80 overflow-hidden"
125
+ class: "flex overflow-hidden rounded-lg bg-white shadow-sm ring-1 ring-neutral-200 dark:bg-neutral-950 dark:ring-neutral-800"
126
126
  };
127
127
  const _hoisted_3$c = ["aria-selected", "tabindex", "onClick", "onKeydown"];
128
128
  const _sfc_main$A = {
@@ -207,10 +207,10 @@ const _sfc_main$A = {
207
207
  "aria-selected": currentActiveTab.value === tab.value,
208
208
  tabindex: currentActiveTab.value === tab.value ? 0 : -1,
209
209
  class: normalizeClass([
210
- "px-4 py-3 text-center text-sm font-semibold tracking-wide transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/40 focus-visible:ring-inset",
211
- currentActiveTab.value === tab.value ? "bg-blue-50 text-blue-700 shadow-[inset_0_-2px_0_0_rgb(37_99_235)]" : "text-gray-700 hover:bg-gray-50",
210
+ "px-4 py-3 text-center text-sm font-semibold tracking-wide transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-neutral-900/20 focus-visible:ring-inset dark:focus-visible:ring-neutral-100/20",
211
+ currentActiveTab.value === tab.value ? "bg-neutral-100 text-neutral-950 shadow-[inset_0_-2px_0_0_rgb(23_23_23)] dark:bg-neutral-800 dark:text-neutral-50 dark:shadow-[inset_0_-2px_0_0_rgb(245_245_245)]" : "text-neutral-700 hover:bg-neutral-50 dark:text-neutral-100 dark:hover:bg-neutral-900",
212
212
  {
213
- "border-r border-gray-200/80": index !== __props.tabs.length - 1
213
+ "border-r border-neutral-200 dark:border-neutral-800": index !== __props.tabs.length - 1
214
214
  }
215
215
  ]),
216
216
  onClick: ($event) => activateTab(tab.value),
@@ -228,7 +228,7 @@ const _hoisted_1$v = {
228
228
  };
229
229
  const _hoisted_2$g = {
230
230
  key: 1,
231
- class: "mb-4 text-xl font-semibold tracking-tight text-slate-900"
231
+ class: "mb-4 text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50"
232
232
  };
233
233
  const _sfc_main$z = {
234
234
  __name: "Card",
@@ -289,7 +289,7 @@ const _sfc_main$z = {
289
289
  });
290
290
  return (_ctx, _cache) => {
291
291
  return openBlock(), createElementBlock("div", {
292
- class: normalizeClass(["bg-white border border-slate-200/70 rounded-2xl shadow-[0_12px_30px_rgba(15,23,42,0.06)]", __props.overflowClass, { "sticky top-6 self-start": __props.sticky }, __props.cardClass])
292
+ class: normalizeClass(["rounded-2xl border border-neutral-200 bg-white text-neutral-950 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50", __props.overflowClass, { "sticky top-6 self-start": __props.sticky }, __props.cardClass])
293
293
  }, [
294
294
  __props.tabs.length > 0 ? (openBlock(), createBlock(_sfc_main$A, {
295
295
  key: 0,
@@ -319,7 +319,11 @@ const _sfc_main$z = {
319
319
  default: withCtx(() => [
320
320
  (openBlock(), createElementBlock("div", {
321
321
  key: __props.activeTab,
322
- class: normalizeClass([__props.tabs.length > 0 ? "p-2" : "", __props.contentClass])
322
+ class: normalizeClass([
323
+ __props.tabs.length > 0 ? "p-2" : "",
324
+ "dark:text-neutral-50 dark:[&_h1]:text-neutral-50 dark:[&_h2]:text-neutral-50 dark:[&_h3]:text-neutral-50 dark:[&_h4]:text-neutral-50 dark:[&_h5]:text-neutral-50 dark:[&_h6]:text-neutral-50 dark:[&_p]:text-neutral-100 dark:[&_span]:text-neutral-100 dark:[&_label]:text-neutral-100 dark:[&_li]:text-neutral-100 dark:[&_a]:text-neutral-100",
325
+ __props.contentClass
326
+ ])
323
327
  }, [
324
328
  renderSlot(_ctx.$slots, "default")
325
329
  ], 2))
@@ -338,7 +342,7 @@ const _sfc_main$y = /* @__PURE__ */ Object.assign({
338
342
  __name: "Divider",
339
343
  setup(__props) {
340
344
  return (_ctx, _cache) => {
341
- return openBlock(), createElementBlock("div", mergeProps({ class: "border-t border-gray-200" }, _ctx.$attrs), [
345
+ return openBlock(), createElementBlock("div", mergeProps({ class: "border-t border-neutral-200 dark:border-neutral-800" }, _ctx.$attrs), [
342
346
  renderSlot(_ctx.$slots, "default")
343
347
  ], 16);
344
348
  };
@@ -417,8 +421,8 @@ const _export_sfc = (sfc, props) => {
417
421
  const _sfc_main$v = {};
418
422
  const _hoisted_1$t = { class: "md:col-span-1 flex justify-between" };
419
423
  const _hoisted_2$f = { class: "px-4 sm:px-0" };
420
- const _hoisted_3$b = { class: "text-xl font-semibold tracking-tight text-slate-900" };
421
- const _hoisted_4$8 = { class: "mt-1 max-w-2xl text-sm text-slate-600" };
424
+ const _hoisted_3$b = { class: "text-xl font-semibold tracking-tight text-neutral-950 dark:text-neutral-50" };
425
+ const _hoisted_4$8 = { class: "mt-1 max-w-2xl text-sm text-neutral-600 dark:text-neutral-200" };
422
426
  const _hoisted_5$6 = { class: "px-4 sm:px-0" };
423
427
  function _sfc_render(_ctx, _cache) {
424
428
  return openBlock(), createElementBlock("div", _hoisted_1$t, [
@@ -438,7 +442,7 @@ function _sfc_render(_ctx, _cache) {
438
442
  const SectionTitle = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["render", _sfc_render]]);
439
443
  const _hoisted_1$s = { class: "md:grid md:grid-cols-3 md:gap-6" };
440
444
  const _hoisted_2$e = { class: "mt-5 md:mt-0 md:col-span-2" };
441
- const _hoisted_3$a = { class: "px-4 py-5 sm:p-6 bg-white shadow sm:rounded-lg" };
445
+ const _hoisted_3$a = { class: "rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6" };
442
446
  const _sfc_main$u = {
443
447
  __name: "ActionSection",
444
448
  setup(__props) {
@@ -568,20 +572,20 @@ const _sfc_main$s = /* @__PURE__ */ Object.assign({
568
572
  const attrs = useAttrs();
569
573
  const props = __props;
570
574
  const variantClasses = {
571
- primary: "bg-gradient-to-r from-blue-500 to-blue-600 text-white shadow-[0_6px_14px_rgba(37,99,235,0.14)] hover:from-blue-600 hover:to-blue-700 hover:shadow-[0_8px_18px_rgba(37,99,235,0.18)] focus:ring-blue-500 disabled:hover:from-blue-500 disabled:hover:to-blue-600",
572
- success: "bg-gradient-to-r from-green-500 to-green-600 text-white shadow-[0_6px_14px_rgba(34,197,94,0.14)] hover:from-green-600 hover:to-green-700 hover:shadow-[0_8px_18px_rgba(34,197,94,0.18)] focus:ring-green-500 disabled:hover:from-green-500 disabled:hover:to-green-600",
573
- secondary: "bg-gradient-to-r from-slate-700 to-slate-800 text-white shadow-[0_8px_18px_rgba(15,23,42,0.16)] hover:from-slate-800 hover:to-slate-900 hover:shadow-[0_10px_22px_rgba(15,23,42,0.22)] focus:ring-slate-500 disabled:hover:from-slate-700 disabled:hover:to-slate-800",
574
- tertiary: "border border-slate-300 bg-white text-slate-700 shadow-sm hover:bg-slate-50 hover:border-slate-400 hover:shadow focus:ring-slate-500 disabled:hover:bg-white",
575
- warning: "border border-amber-300 bg-amber-50 text-amber-800 shadow-sm hover:bg-amber-100 focus:ring-amber-500 disabled:hover:bg-amber-50",
576
- danger: "border border-rose-300 bg-rose-50 text-rose-700 shadow-sm hover:bg-rose-100 focus:ring-rose-500 disabled:hover:bg-rose-50",
577
- "warning-solid": "bg-gradient-to-r from-yellow-500 to-yellow-600 text-white shadow-[0_6px_14px_rgba(251,206,3,0.14)] hover:from-yellow-600 hover:to-yellow-700 hover:shadow-[0_8px_18px_rgba(251,206,3,0.18)] focus:ring-yellow-500 disabled:hover:from-yellow-500 disabled:hover:to-yellow-600",
578
- "danger-solid": "bg-gradient-to-r from-red-500 to-red-600 text-white shadow-[0_6px_14px_rgba(239,68,68,0.14)] hover:from-red-600 hover:to-red-700 hover:shadow-[0_8px_18px_rgba(239,68,68,0.18)] focus:ring-red-500 disabled:hover:from-red-500 disabled:hover:to-red-600"
575
+ primary: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900/90 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-700",
576
+ success: "bg-emerald-600 text-white hover:bg-emerald-600/90 dark:bg-emerald-600 dark:text-white dark:hover:bg-emerald-600/90",
577
+ secondary: "bg-gray-300 text-gray-900 hover:bg-gray-300/80 dark:bg-gray-500 dark:text-gray-50 dark:hover:bg-gray-500/80",
578
+ tertiary: "border border-neutral-200 bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
579
+ warning: "bg-amber-100 text-amber-700 hover:bg-amber-100/90 focus-visible:ring-amber-500/20 dark:bg-amber-600/20 dark:text-neutral-50 dark:hover:bg-amber-600/30 dark:focus-visible:ring-amber-500/40",
580
+ danger: "bg-red-100 text-red-700 hover:bg-red-100/90 focus-visible:ring-red-500/20 dark:bg-red-600/20 dark:text-neutral-50 dark:hover:bg-red-600/30 dark:focus-visible:ring-red-500/40",
581
+ "warning-solid": "bg-amber-500 text-white hover:bg-amber-500/90 dark:bg-amber-500 dark:text-white dark:hover:bg-amber-500/90",
582
+ "danger-solid": "bg-red-600 text-white hover:bg-red-600/90 focus-visible:ring-red-500/20 dark:bg-red-600/60 dark:text-white dark:hover:bg-red-600/50 dark:focus-visible:ring-red-500/40"
579
583
  };
580
584
  const resolvedVariant = computed(() => {
581
585
  return variantClasses[props.variant] ? props.variant : "primary";
582
586
  });
583
587
  const buttonClasses = computed(() => [
584
- "min-w-[40px] min-h-[35px] inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-semibold tracking-tight transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-slate-50 disabled:cursor-not-allowed disabled:opacity-50",
588
+ "inline-flex h-9 min-w-[40px] shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md px-4 py-2 text-sm font-medium shadow-xs outline-none transition-all disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-red-500 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
585
589
  variantClasses[resolvedVariant.value],
586
590
  attrs.class
587
591
  ]);
@@ -626,7 +630,7 @@ const _sfc_main$r = {
626
630
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => proxyChecked.value = $event),
627
631
  type: "checkbox",
628
632
  value: __props.value,
629
- class: "rounded border-gray-300 text-indigo-600 shadow-sm focus:ring-indigo-500"
633
+ class: "rounded border-neutral-300 text-neutral-900 shadow-sm focus:ring-neutral-900 dark:border-neutral-700 dark:bg-neutral-950 dark:text-neutral-100 dark:focus:ring-neutral-100"
630
634
  }, null, 8, _hoisted_1$p)), [
631
635
  [vModelCheckbox, proxyChecked.value]
632
636
  ]);
@@ -676,9 +680,9 @@ const _sfc_main$q = {
676
680
  return (_ctx, _cache) => {
677
681
  return openBlock(), createElementBlock("label", {
678
682
  class: normalizeClass(["inline-flex items-center gap-2 rounded-full border px-3 py-1 text-sm font-medium select-none transition-colors", [
679
- isChecked.value ? "bg-indigo-600 text-white border-indigo-600" : "text-gray-600 border-gray-200",
683
+ isChecked.value ? "border-neutral-900 bg-neutral-900 text-neutral-50 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-50" : "border-neutral-200 text-neutral-600 dark:border-neutral-800 dark:text-neutral-100",
680
684
  __props.disabled ? "opacity-60 cursor-not-allowed" : "cursor-pointer",
681
- hasFocus.value && !__props.disabled ? "ring-2 ring-indigo-500/80 ring-offset-2 ring-offset-white" : ""
685
+ hasFocus.value && !__props.disabled ? "ring-2 ring-neutral-900/20 ring-offset-2 ring-offset-white dark:ring-neutral-100/20 dark:ring-offset-neutral-950" : ""
682
686
  ]])
683
687
  }, [
684
688
  createElementVNode("input", {
@@ -692,7 +696,7 @@ const _sfc_main$q = {
692
696
  }, null, 40, _hoisted_1$o),
693
697
  createElementVNode("span", {
694
698
  class: normalizeClass(["inline-flex h-4 w-4 items-center justify-center border text-[10px] font-bold leading-none", [
695
- isChecked.value ? "border-current bg-white/15 text-current" : "border-current/70 text-transparent",
699
+ isChecked.value ? "border-current bg-white/15 text-current dark:bg-neutral-900/15" : "border-current/70 text-transparent",
696
700
  "rounded"
697
701
  ]])
698
702
  }, " ✓ ", 2),
@@ -736,7 +740,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
736
740
  },
737
741
  disabledClass: {
738
742
  type: String,
739
- default: "!bg-slate-100"
743
+ default: "!border-neutral-200 !bg-neutral-100 !text-neutral-500 dark:!border-neutral-800 dark:!bg-neutral-900 dark:!text-neutral-500"
740
744
  }
741
745
  },
742
746
  emits: ["update:modelValue", "blur"],
@@ -758,7 +762,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
758
762
  return rest;
759
763
  });
760
764
  const inputClasses = computed(() => [
761
- "w-full min-w-0 max-w-full rounded-lg border border-slate-300 bg-white text-slate-900 shadow-sm focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 placeholder:text-slate-400",
765
+ "w-full min-w-0 max-w-full rounded-lg border border-neutral-200 bg-white text-neutral-950 shadow-sm outline-none transition-colors placeholder:text-neutral-400 focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
762
766
  attrs.class,
763
767
  isPasswordField.value ? "pr-10 pl-10" : ""
764
768
  ]);
@@ -784,7 +788,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
784
788
  return (_ctx, _cache) => {
785
789
  return openBlock(), createElementBlock("div", _hoisted_1$n, [
786
790
  isPasswordField.value ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
787
- createVNode(unref(LockClosedIcon), { class: "h-5 w-5 text-slate-400" })
791
+ createVNode(unref(LockClosedIcon), { class: "h-5 w-5 text-neutral-400 dark:text-neutral-200" })
788
792
  ])) : createCommentVNode("", true),
789
793
  createElementVNode("input", mergeProps({
790
794
  ref_key: "input",
@@ -801,7 +805,7 @@ const _sfc_main$p = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
801
805
  isPasswordField.value ? (openBlock(), createElementBlock("button", {
802
806
  key: 1,
803
807
  type: "button",
804
- class: "absolute inset-y-0 right-0 flex items-center pr-3 text-slate-400 hover:text-slate-600 focus:outline-none",
808
+ class: "absolute inset-y-0 right-0 flex items-center pr-3 text-neutral-400 transition-colors hover:text-neutral-700 focus:outline-none dark:text-neutral-200 dark:hover:text-neutral-50",
805
809
  "aria-label": revealed.value ? "Hide password" : "Show password",
806
810
  onClick: toggleVisibility
807
811
  }, [
@@ -843,7 +847,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
843
847
  },
844
848
  disabledClass: {
845
849
  type: String,
846
- default: "!bg-gray-200"
850
+ default: "!border-neutral-200 !bg-neutral-100 !text-neutral-500 dark:!border-neutral-800 dark:!bg-neutral-900 dark:!text-neutral-500"
847
851
  },
848
852
  autoResize: {
849
853
  type: Boolean,
@@ -864,7 +868,7 @@ const _sfc_main$o = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
864
868
  return rest;
865
869
  });
866
870
  const textareaClasses = computed(() => [
867
- "w-full min-w-0 max-w-full border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm",
871
+ "w-full min-w-0 max-w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 shadow-sm outline-none transition-colors placeholder:text-neutral-400 focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
868
872
  props.autoResize ? "resize-none overflow-y-auto" : "resize-y",
869
873
  attrs.class
870
874
  ]);
@@ -958,39 +962,39 @@ const _sfc_main$n = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
958
962
  },
959
963
  baseClass: {
960
964
  type: [String, Array, Object],
961
- default: "block w-full rounded-md border border-gray-300 bg-white px-4 py-3 text-sm focus:border-indigo-500 focus:ring-2 focus:ring-indigo-500"
965
+ default: "block w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm shadow-sm outline-none transition-colors focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10"
962
966
  },
963
967
  normalTextClass: {
964
968
  type: [String, Array, Object],
965
- default: "text-gray-900"
969
+ default: "text-neutral-950 dark:text-neutral-50"
966
970
  },
967
971
  deletedSelectedClass: {
968
972
  type: [String, Array, Object],
969
- default: "text-red-600"
973
+ default: "text-red-600 dark:text-neutral-100"
970
974
  },
971
975
  optionClass: {
972
976
  type: [String, Array, Object],
973
- default: "text-[#111827]"
977
+ default: "text-neutral-950 dark:text-neutral-50"
974
978
  },
975
979
  deletedOptionClass: {
976
980
  type: [String, Array, Object],
977
- default: "text-[#dc2626]"
981
+ default: "text-red-600 dark:text-neutral-100"
978
982
  },
979
983
  placeholderClass: {
980
984
  type: [String, Array, Object],
981
- default: "text-[#111827]"
985
+ default: "text-neutral-500 dark:text-neutral-200"
982
986
  },
983
987
  dropdownClass: {
984
988
  type: [String, Array, Object],
985
- default: "bg-white border border-gray-300 rounded-lg shadow-lg max-h-60 overflow-auto z-50"
989
+ default: "z-50 max-h-60 overflow-auto rounded-lg border border-neutral-200 bg-white shadow-xl dark:border-neutral-800 dark:bg-neutral-950"
986
990
  },
987
991
  dropdownOptionClass: {
988
992
  type: [String, Array, Object],
989
- default: "px-4 py-3 hover:bg-gray-100 cursor-pointer transition-colors"
993
+ default: "cursor-pointer px-4 py-3 transition-colors hover:bg-neutral-100 dark:hover:bg-neutral-900"
990
994
  },
991
995
  dropdownSelectedClass: {
992
996
  type: [String, Array, Object],
993
- default: "bg-blue-50 text-blue-600 font-medium"
997
+ default: "bg-neutral-100 font-medium text-neutral-950 dark:bg-neutral-900 dark:text-neutral-50"
994
998
  }
995
999
  },
996
1000
  emits: ["update:modelValue"],
@@ -1136,10 +1140,10 @@ const _sfc_main$n = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1136
1140
  ]
1137
1141
  }, unref(attrs), { tabindex: "0" }), [
1138
1142
  createElementVNode("span", {
1139
- class: normalizeClass({ "text-gray-400": !__props.modelValue && __props.placeholder })
1143
+ class: normalizeClass(!__props.modelValue && __props.placeholder ? __props.placeholderClass : null)
1140
1144
  }, toDisplayString(displayText.value), 3),
1141
1145
  createVNode(unref(ChevronDownIcon), {
1142
- class: normalizeClass(["size-5 text-gray-400 transition-transform", { "rotate-180": isOpen.value }])
1146
+ class: normalizeClass(["size-5 text-neutral-400 transition-transform dark:text-neutral-200", { "rotate-180": isOpen.value }])
1143
1147
  }, null, 8, ["class"])
1144
1148
  ], 16),
1145
1149
  createVNode(Transition, {
@@ -1332,7 +1336,7 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1332
1336
  },
1333
1337
  disabledClass: {
1334
1338
  type: String,
1335
- default: "!bg-gray-200"
1339
+ default: "!border-neutral-200 !bg-neutral-100 !text-neutral-500 dark:!border-neutral-800 dark:!bg-neutral-900 dark:!text-neutral-500"
1336
1340
  }
1337
1341
  },
1338
1342
  emits: ["update:modelValue"],
@@ -1356,7 +1360,7 @@ const _sfc_main$l = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1356
1360
  return rest;
1357
1361
  });
1358
1362
  const inputClasses = computed(() => [
1359
- "w-full border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm",
1363
+ "w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 shadow-sm outline-none transition-colors focus:border-neutral-900 focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
1360
1364
  attrs.class
1361
1365
  ]);
1362
1366
  const normalizeDateValue = (rawValue) => {
@@ -1404,12 +1408,12 @@ const _hoisted_2$c = { class: "absolute inset-y-0 left-0 pl-3 flex items-center
1404
1408
  const _hoisted_3$8 = ["accept"];
1405
1409
  const _hoisted_4$6 = {
1406
1410
  key: 0,
1407
- class: "mt-4 p-4 bg-gray-50 rounded-lg border border-gray-200"
1411
+ class: "mt-4 rounded-lg border border-neutral-200 bg-neutral-50 p-4 dark:border-neutral-800 dark:bg-neutral-900/50"
1408
1412
  };
1409
1413
  const _hoisted_5$4 = { class: "flex items-center space-x-4" };
1410
1414
  const _hoisted_6$4 = ["src"];
1411
- const _hoisted_7$4 = { class: "text-sm font-medium text-gray-900" };
1412
- const _hoisted_8$2 = { class: "text-xs text-gray-500" };
1415
+ const _hoisted_7$4 = { class: "text-sm font-medium text-neutral-900 dark:text-neutral-50" };
1416
+ const _hoisted_8$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
1413
1417
  const _sfc_main$k = {
1414
1418
  __name: "ImageInput",
1415
1419
  props: {
@@ -1446,12 +1450,12 @@ const _sfc_main$k = {
1446
1450
  return openBlock(), createElementBlock("div", null, [
1447
1451
  createElementVNode("div", _hoisted_1$j, [
1448
1452
  createElementVNode("div", _hoisted_2$c, [
1449
- createVNode(unref(PhotoIcon), { class: "size-5 text-gray-400" })
1453
+ createVNode(unref(PhotoIcon), { class: "size-5 text-neutral-400 dark:text-neutral-200" })
1450
1454
  ]),
1451
1455
  createElementVNode("input", mergeProps(__props.attrs, {
1452
1456
  type: "file",
1453
1457
  accept: __props.accept,
1454
- class: "block w-full pl-10 pr-4 py-3 border border-gray-300 rounded-lg bg-white text-sm file:mr-4 file:py-2 file:px-4 file:rounded-md file:border-0 file:text-sm file:font-medium file:bg-blue-50 file:text-blue-700 hover:file:bg-blue-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent transition-all duration-200 cursor-pointer",
1458
+ class: "block w-full cursor-pointer rounded-lg border border-neutral-200 bg-white py-3 pl-10 pr-4 text-sm text-neutral-700 shadow-sm transition-all duration-200 file:mr-4 file:rounded-md file:border-0 file:bg-neutral-900 file:px-4 file:py-2 file:text-sm file:font-medium file:text-neutral-50 hover:file:bg-neutral-800 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-100 dark:file:bg-neutral-800 dark:file:text-neutral-50 dark:hover:file:bg-neutral-700 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10",
1455
1459
  onChange: handleFileChange
1456
1460
  }), null, 16, _hoisted_3$8)
1457
1461
  ]),
@@ -1472,7 +1476,7 @@ const _sfc_main$k = {
1472
1476
  };
1473
1477
  }
1474
1478
  };
1475
- const _hoisted_1$i = { class: "flex h-12 overflow-hidden rounded-lg border border-gray-300 text-sm" };
1479
+ const _hoisted_1$i = { class: "flex h-12 overflow-hidden rounded-lg border border-neutral-200 bg-white text-sm dark:border-neutral-800 dark:bg-neutral-950" };
1476
1480
  const _hoisted_2$b = ["disabled", "onClick"];
1477
1481
  const _sfc_main$j = {
1478
1482
  __name: "NotationInput",
@@ -1505,11 +1509,11 @@ const _sfc_main$j = {
1505
1509
  return openBlock(), createElementBlock("button", {
1506
1510
  key: `notation-${idx}-${option}`,
1507
1511
  type: "button",
1508
- class: normalizeClass(["flex-1 border-l border-gray-300 px-2 text-center font-semibold transition-colors duration-150 first:border-l-0", [
1512
+ class: normalizeClass(["flex-1 border-l border-neutral-200 px-2 text-center font-semibold transition-colors duration-150 first:border-l-0 dark:border-neutral-800", [
1509
1513
  idx === 0 ? "rounded-l-lg" : "",
1510
1514
  idx === normalizedOptions.value.length - 1 ? "rounded-r-lg" : "",
1511
- isSelected(option) ? "bg-indigo-600 text-white" : "bg-white text-gray-700 hover:bg-gray-50",
1512
- "focus-visible:ring-2 "
1515
+ isSelected(option) ? "bg-neutral-900 text-neutral-50 dark:bg-neutral-800 dark:text-neutral-50" : "bg-white text-neutral-700 hover:bg-neutral-100 dark:bg-neutral-950 dark:text-neutral-100 dark:hover:bg-neutral-900",
1516
+ "focus-visible:ring-2 focus-visible:ring-neutral-900/20 focus-visible:ring-offset-0 dark:focus-visible:ring-neutral-100/20"
1513
1517
  ]]),
1514
1518
  disabled: __props.disabled,
1515
1519
  onClick: ($event) => selectOption(option)
@@ -1560,9 +1564,9 @@ const _sfc_main$i = {
1560
1564
  return (_ctx, _cache) => {
1561
1565
  return openBlock(), createElementBlock("label", {
1562
1566
  class: normalizeClass(["inline-flex items-center rounded-full border px-3 py-1 text-sm font-medium select-none transition-colors", [
1563
- isChecked.value ? "bg-indigo-600 text-white border-indigo-600" : "text-gray-600 border-gray-200",
1567
+ isChecked.value ? "border-neutral-900 bg-neutral-900 text-neutral-50 dark:border-neutral-700 dark:bg-neutral-800 dark:text-neutral-50" : "border-neutral-200 text-neutral-600 dark:border-neutral-800 dark:text-neutral-100",
1564
1568
  __props.disabled ? "opacity-60 cursor-not-allowed" : "cursor-pointer",
1565
- hasFocus.value && !__props.disabled ? "ring-2 ring-indigo-500/80 ring-offset-2 ring-offset-white" : ""
1569
+ hasFocus.value && !__props.disabled ? "ring-2 ring-neutral-900/20 ring-offset-2 ring-offset-white dark:ring-neutral-100/20 dark:ring-offset-neutral-950" : ""
1566
1570
  ]])
1567
1571
  }, [
1568
1572
  createElementVNode("input", {
@@ -1760,7 +1764,7 @@ const _hoisted_3$7 = {
1760
1764
  key: 15,
1761
1765
  class: "flex items-center mt-2 text-sm text-red-600"
1762
1766
  };
1763
- const defaultFieldClass = "block w-full rounded-lg border border-slate-300 bg-white px-4 py-3 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm transition-all duration-200 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20";
1767
+ const defaultFieldClass = "block w-full rounded-lg border border-neutral-200 bg-white px-4 py-3 text-sm text-neutral-950 placeholder:text-neutral-400 shadow-sm transition-all duration-200 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10";
1764
1768
  const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1765
1769
  __name: "InputGroup",
1766
1770
  props: {
@@ -1794,7 +1798,7 @@ const _sfc_main$f = /* @__PURE__ */ Object.assign({ inheritAttrs: false }, {
1794
1798
  },
1795
1799
  disabledClass: {
1796
1800
  type: String,
1797
- default: "!bg-gray-200"
1801
+ default: "!border-neutral-200 !bg-neutral-100 !text-neutral-500 dark:!border-neutral-800 dark:!bg-neutral-900 dark:!text-neutral-500"
1798
1802
  },
1799
1803
  modelModifiers: {
1800
1804
  type: Object,
@@ -2274,7 +2278,7 @@ const _sfc_main$d = {
2274
2278
  class: "fixed inset-0 z-40 transform transition-all",
2275
2279
  onClick: close
2276
2280
  }, [..._cache[0] || (_cache[0] = [
2277
- createElementVNode("div", { class: "absolute inset-0 bg-gray-500 opacity-75" }, null, -1)
2281
+ createElementVNode("div", { class: "absolute inset-0 bg-neutral-950/55 backdrop-blur-[2px]" }, null, -1)
2278
2282
  ])], 512), [
2279
2283
  [vShow, __props.show]
2280
2284
  ])
@@ -2291,7 +2295,7 @@ const _sfc_main$d = {
2291
2295
  }, {
2292
2296
  default: withCtx(() => [
2293
2297
  withDirectives(createElementVNode("div", {
2294
- class: normalizeClass(["relative z-50 mb-6 bg-white rounded-lg overflow-hidden shadow-xl transform transition-all sm:w-full sm:mx-auto", maxWidthClass.value])
2298
+ class: normalizeClass(["relative z-50 mb-6 overflow-hidden rounded-lg border border-neutral-200 bg-white shadow-xl transform transition-all dark:border-neutral-800 dark:bg-neutral-950 sm:mx-auto sm:w-full", maxWidthClass.value])
2295
2299
  }, [
2296
2300
  showSlot.value ? renderSlot(_ctx.$slots, "default", { key: 0 }) : createCommentVNode("", true)
2297
2301
  ], 2), [
@@ -2305,13 +2309,13 @@ const _sfc_main$d = {
2305
2309
  };
2306
2310
  }
2307
2311
  };
2308
- const _hoisted_1$c = { class: "bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" };
2312
+ const _hoisted_1$c = { class: "bg-white px-4 pb-4 pt-5 dark:bg-neutral-950 sm:p-6 sm:pb-4" };
2309
2313
  const _hoisted_2$9 = { class: "sm:flex sm:items-start" };
2310
- const _hoisted_3$6 = { class: "mx-auto shrink-0 flex items-center justify-center size-12 rounded-full bg-red-100 sm:mx-0 sm:size-10" };
2314
+ const _hoisted_3$6 = { class: "mx-auto flex size-12 shrink-0 items-center justify-center rounded-full bg-red-100 dark:bg-red-950/60 sm:mx-0 sm:size-10" };
2311
2315
  const _hoisted_4$5 = { class: "mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start" };
2312
- const _hoisted_5$3 = { class: "text-lg font-medium text-gray-900" };
2313
- const _hoisted_6$3 = { class: "mt-4 text-sm text-gray-600" };
2314
- const _hoisted_7$3 = { class: "flex flex-col-reverse lg:flex-row lg:justify-end px-6 py-4 bg-gray-100 text-end gap-4 lg:gap-0" };
2316
+ const _hoisted_5$3 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2317
+ const _hoisted_6$3 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2318
+ const _hoisted_7$3 = { class: "flex flex-col-reverse gap-4 border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60 lg:flex-row lg:justify-end lg:gap-0" };
2315
2319
  const _sfc_main$c = {
2316
2320
  __name: "ConfirmationModal",
2317
2321
  props: {
@@ -2351,7 +2355,7 @@ const _sfc_main$c = {
2351
2355
  createElementVNode("div", _hoisted_1$c, [
2352
2356
  createElementVNode("div", _hoisted_2$9, [
2353
2357
  createElementVNode("div", _hoisted_3$6, [
2354
- createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600" })
2358
+ createVNode(unref(ExclamationTriangleIcon), { class: "size-6 text-red-600 dark:text-neutral-100" })
2355
2359
  ]),
2356
2360
  createElementVNode("div", _hoisted_4$5, [
2357
2361
  createElementVNode("h3", _hoisted_5$3, [
@@ -2373,9 +2377,9 @@ const _sfc_main$c = {
2373
2377
  }
2374
2378
  };
2375
2379
  const _hoisted_1$b = { class: "px-6 py-4" };
2376
- const _hoisted_2$8 = { class: "text-lg font-medium text-gray-900" };
2377
- const _hoisted_3$5 = { class: "mt-4 text-sm text-gray-600" };
2378
- const _hoisted_4$4 = { class: "flex flex-row justify-end px-6 py-4 bg-gray-100 text-end" };
2380
+ const _hoisted_2$8 = { class: "text-lg font-medium text-neutral-950 dark:text-neutral-50" };
2381
+ const _hoisted_3$5 = { class: "mt-4 text-sm text-neutral-600 dark:text-neutral-200" };
2382
+ const _hoisted_4$4 = { class: "flex flex-row justify-end border-t border-neutral-200 bg-neutral-50 px-6 py-4 text-end dark:border-neutral-800 dark:bg-neutral-900/60" };
2379
2383
  const _sfc_main$b = {
2380
2384
  __name: "DialogModal",
2381
2385
  props: {
@@ -2437,7 +2441,7 @@ const _sfc_main$a = {
2437
2441
  },
2438
2442
  contentClasses: {
2439
2443
  type: Array,
2440
- default: () => ["py-1", "bg-white"]
2444
+ default: () => ["py-1", "bg-white", "dark:bg-neutral-950"]
2441
2445
  }
2442
2446
  },
2443
2447
  setup(__props) {
@@ -2587,12 +2591,12 @@ const _sfc_main$a = {
2587
2591
  key: 0,
2588
2592
  ref_key: "menuRef",
2589
2593
  ref: menuRef,
2590
- class: normalizeClass(["z-50 rounded-xl shadow-xl shadow-gray-900/10", [widthClass.value, alignmentClasses.value]]),
2594
+ class: normalizeClass(["z-50 rounded-xl shadow-xl shadow-neutral-950/10 dark:shadow-black/30", [widthClass.value, alignmentClasses.value]]),
2591
2595
  style: normalizeStyle(menuStyle.value),
2592
2596
  onClick: _cache[1] || (_cache[1] = ($event) => open.value = false)
2593
2597
  }, [
2594
2598
  createElementVNode("div", {
2595
- class: normalizeClass(["rounded-xl ring-1 ring-gray-200/60 backdrop-blur-sm bg-white/95", __props.contentClasses])
2599
+ class: normalizeClass(["rounded-xl border border-neutral-200 bg-white/95 backdrop-blur-sm dark:border-neutral-800 dark:bg-neutral-950/95", __props.contentClasses])
2596
2600
  }, [
2597
2601
  renderSlot(_ctx.$slots, "content")
2598
2602
  ], 2)
@@ -2608,7 +2612,7 @@ const _sfc_main$a = {
2608
2612
  const _hoisted_1$9 = {
2609
2613
  key: 0,
2610
2614
  type: "submit",
2611
- class: "block w-full px-4 py-2 text-start text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out"
2615
+ class: "block w-full px-4 py-2 text-start text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
2612
2616
  };
2613
2617
  const _hoisted_2$7 = ["href"];
2614
2618
  const _sfc_main$9 = {
@@ -2625,13 +2629,13 @@ const _sfc_main$9 = {
2625
2629
  ])) : __props.as == "a" ? (openBlock(), createElementBlock("a", {
2626
2630
  key: 1,
2627
2631
  href: __props.href,
2628
- class: "block px-4 py-2 text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out"
2632
+ class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
2629
2633
  }, [
2630
2634
  renderSlot(_ctx.$slots, "default")
2631
2635
  ], 8, _hoisted_2$7)) : (openBlock(), createBlock(unref(Link), {
2632
2636
  key: 2,
2633
2637
  href: __props.href,
2634
- class: "block px-4 py-2 text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out"
2638
+ class: "block px-4 py-2 text-sm leading-5 text-neutral-700 transition duration-150 ease-in-out hover:bg-neutral-100 focus:bg-neutral-100 focus:outline-none dark:text-neutral-100 dark:hover:bg-neutral-900 dark:focus:bg-neutral-900"
2635
2639
  }, {
2636
2640
  default: withCtx(() => [
2637
2641
  renderSlot(_ctx.$slots, "default")
@@ -2643,11 +2647,11 @@ const _sfc_main$9 = {
2643
2647
  }
2644
2648
  };
2645
2649
  const _hoisted_1$8 = { class: "md:grid md:grid-cols-3 md:gap-6" };
2646
- const _hoisted_2$6 = { class: "mt-5 md:mt-0 md:col-span-2 shadow sm:rounded-lg" };
2650
+ const _hoisted_2$6 = { class: "mt-5 md:col-span-2 md:mt-0" };
2647
2651
  const _hoisted_3$4 = { class: "grid grid-cols-6 gap-6" };
2648
2652
  const _hoisted_4$3 = {
2649
2653
  key: 0,
2650
- class: "flex items-center justify-start px-3 pb-6 bg-white text-end sm:rounded-bl-md sm:rounded-br-md"
2654
+ class: "flex items-center justify-start rounded-b-lg border border-t-0 border-neutral-200 bg-neutral-50 px-3 pb-6 text-end dark:border-neutral-800 dark:bg-neutral-900/60 sm:rounded-bl-md sm:rounded-br-md"
2651
2655
  };
2652
2656
  const _sfc_main$8 = {
2653
2657
  __name: "FormSection",
@@ -2670,7 +2674,7 @@ const _sfc_main$8 = {
2670
2674
  onSubmit: _cache[0] || (_cache[0] = withModifiers(($event) => _ctx.$emit("submitted"), ["prevent"]))
2671
2675
  }, [
2672
2676
  createElementVNode("div", {
2673
- class: normalizeClass(["px-4 py-5 bg-white sm:p-6", hasActions.value ? "sm:rounded-tl-md sm:rounded-tr-md" : "sm:rounded-md"])
2677
+ class: normalizeClass(["rounded-lg border border-neutral-200 bg-white px-4 py-5 shadow-sm dark:border-neutral-800 dark:bg-neutral-950 sm:p-6", hasActions.value ? "sm:rounded-tl-md sm:rounded-tr-md" : "sm:rounded-md"])
2674
2678
  }, [
2675
2679
  createElementVNode("div", _hoisted_3$4, [
2676
2680
  renderSlot(_ctx.$slots, "form")
@@ -2685,7 +2689,7 @@ const _sfc_main$8 = {
2685
2689
  };
2686
2690
  }
2687
2691
  };
2688
- const _hoisted_1$7 = { class: "text-sm text-red-600" };
2692
+ const _hoisted_1$7 = { class: "text-sm text-red-600 dark:text-neutral-100" };
2689
2693
  const _sfc_main$7 = {
2690
2694
  __name: "InputError",
2691
2695
  props: {
@@ -2701,7 +2705,7 @@ const _sfc_main$7 = {
2701
2705
  };
2702
2706
  }
2703
2707
  };
2704
- const _hoisted_1$6 = { class: "block font-medium text-sm text-gray-700" };
2708
+ const _hoisted_1$6 = { class: "block text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2705
2709
  const _hoisted_2$5 = { key: 0 };
2706
2710
  const _hoisted_3$3 = { key: 1 };
2707
2711
  const _sfc_main$6 = {
@@ -2754,20 +2758,20 @@ const _sfc_main$5 = /* @__PURE__ */ Object.assign({
2754
2758
  const attrs = useAttrs();
2755
2759
  const props = __props;
2756
2760
  const variantClasses = {
2757
- primary: "bg-gradient-to-r from-blue-500 to-blue-600 text-white shadow-[0_6px_14px_rgba(37,99,235,0.14)] hover:from-blue-600 hover:to-blue-700 hover:shadow-[0_8px_18px_rgba(37,99,235,0.18)] focus:ring-blue-500",
2758
- success: "bg-gradient-to-r from-green-500 to-green-600 text-white shadow-[0_6px_14px_rgba(34,197,94,0.14)] hover:from-green-600 hover:to-green-700 hover:shadow-[0_8px_18px_rgba(34,197,94,0.18)] focus:ring-green-500",
2759
- secondary: "bg-gradient-to-r from-slate-700 to-slate-800 text-white shadow-[0_8px_18px_rgba(15,23,42,0.16)] hover:from-slate-800 hover:to-slate-900 hover:shadow-[0_10px_22px_rgba(15,23,42,0.22)] focus:ring-slate-500",
2760
- tertiary: "border border-slate-300 bg-white text-slate-700 shadow-sm hover:bg-slate-50 hover:border-slate-400 hover:shadow focus:ring-slate-500",
2761
- warning: "border border-amber-300 bg-amber-50 text-amber-800 shadow-sm hover:bg-amber-100 focus:ring-amber-500",
2762
- danger: "border border-rose-300 bg-rose-50 text-rose-700 shadow-sm hover:bg-rose-100 focus:ring-rose-500",
2763
- "warning-solid": "bg-gradient-to-r from-yellow-500 to-yellow-600 text-white shadow-[0_6px_14px_rgba(251,206,3,0.14)] hover:from-yellow-600 hover:to-yellow-700 hover:shadow-[0_8px_18px_rgba(251,206,3,0.18)] focus:ring-yellow-500 disabled:hover:from-yellow-500 disabled:hover:to-yellow-600",
2764
- "danger-solid": "bg-gradient-to-r from-red-500 to-red-600 text-white shadow-[0_6px_14px_rgba(239,68,68,0.14)] hover:from-red-600 hover:to-red-700 hover:shadow-[0_8px_18px_rgba(239,68,68,0.18)] focus:ring-red-500 disabled:hover:from-red-500 disabled:hover:to-red-600"
2761
+ primary: "bg-neutral-900 text-neutral-50 hover:bg-neutral-900/90 dark:bg-neutral-800 dark:text-neutral-50 dark:hover:bg-neutral-700",
2762
+ success: "bg-emerald-600 text-white hover:bg-emerald-600/90 dark:bg-emerald-600 dark:text-white dark:hover:bg-emerald-600/90",
2763
+ secondary: "bg-gray-300 text-gray-900 hover:bg-gray-300/80 dark:bg-gray-500 dark:text-gray-50 dark:hover:bg-gray-500/80",
2764
+ tertiary: "border border-neutral-200 bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
2765
+ warning: "bg-amber-100 text-amber-700 hover:bg-amber-100/90 focus-visible:ring-amber-500/20 dark:bg-amber-600/20 dark:text-neutral-50 dark:hover:bg-amber-600/30 dark:focus-visible:ring-amber-500/40",
2766
+ danger: "bg-red-100 text-red-700 hover:bg-red-100/90 focus-visible:ring-red-500/20 dark:bg-red-600/20 dark:text-neutral-50 dark:hover:bg-red-600/30 dark:focus-visible:ring-red-500/40",
2767
+ "warning-solid": "bg-amber-500 text-white hover:bg-amber-500/90 dark:bg-amber-500 dark:text-white dark:hover:bg-amber-500/90",
2768
+ "danger-solid": "bg-red-600 text-white hover:bg-red-600/90 focus-visible:ring-red-500/20 dark:bg-red-600/60 dark:text-white dark:hover:bg-red-600/50 dark:focus-visible:ring-red-500/40"
2765
2769
  };
2766
2770
  const resolvedVariant = computed(() => {
2767
2771
  return variantClasses[props.variant] ? props.variant : "primary";
2768
2772
  });
2769
2773
  const linkClasses = computed(() => [
2770
- "min-w-[40px] min-h-[35px] inline-flex items-center justify-center rounded-lg px-4 py-2 text-sm font-semibold tracking-tight transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-slate-50",
2774
+ "inline-flex h-9 min-w-[40px] shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md px-4 py-2 text-sm font-medium shadow-xs outline-none transition-all aria-invalid:border-red-500 aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=size-])]:size-4 focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",
2771
2775
  variantClasses[resolvedVariant.value],
2772
2776
  attrs.class
2773
2777
  ]);
@@ -2807,13 +2811,13 @@ const _sfc_main$4 = {
2807
2811
  };
2808
2812
  }
2809
2813
  };
2810
- const _hoisted_1$3 = { class: "bg-white/80 backdrop-blur-sm border border-gray-200/60 rounded-xl px-6 py-4" };
2811
- const _hoisted_2$3 = { class: "flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4" };
2814
+ const _hoisted_1$3 = { class: "rounded-xl border border-neutral-200 bg-white/80 px-6 py-4 backdrop-blur-sm dark:border-neutral-800 dark:bg-neutral-950/80" };
2815
+ const _hoisted_2$3 = { class: "flex flex-col items-start justify-between gap-4 sm:flex-row sm:items-center" };
2812
2816
  const _hoisted_3$2 = { class: "flex items-center gap-3" };
2813
- const _hoisted_4$2 = { class: "text-sm font-medium text-gray-700" };
2817
+ const _hoisted_4$2 = { class: "text-sm font-medium text-neutral-700 dark:text-neutral-100" };
2814
2818
  const _hoisted_5$2 = { class: "flex flex-wrap items-center gap-2" };
2815
2819
  const _hoisted_6$2 = ["onClick"];
2816
- const _hoisted_7$2 = { class: "text-xs text-gray-500" };
2820
+ const _hoisted_7$2 = { class: "text-xs text-neutral-500 dark:text-neutral-200" };
2817
2821
  const _sfc_main$3 = {
2818
2822
  __name: "SortControls",
2819
2823
  props: {
@@ -2866,7 +2870,7 @@ const _sfc_main$3 = {
2866
2870
  onClick: ($event) => handleSort(field.key),
2867
2871
  class: normalizeClass([
2868
2872
  "px-3 py-1.5 text-sm font-medium rounded-lg transition-all duration-200",
2869
- __props.currentSortField === field.key ? "bg-blue-500 text-white shadow-sm" : "bg-gray-100 text-gray-700 hover:bg-gray-200"
2873
+ __props.currentSortField === field.key ? "bg-neutral-900 text-neutral-50 shadow-sm dark:bg-neutral-800 dark:text-neutral-50" : "bg-neutral-100 text-neutral-700 hover:bg-neutral-200 dark:bg-neutral-900 dark:text-neutral-100 dark:hover:bg-neutral-800"
2870
2874
  ])
2871
2875
  }, [
2872
2876
  createTextVNode(toDisplayString(field.label) + " ", 1),
@@ -2913,13 +2917,13 @@ const _sfc_main$2 = {
2913
2917
  });
2914
2918
  const sortIconClass = computed(() => {
2915
2919
  if (!isCurrentSort.value) {
2916
- return "text-gray-400";
2920
+ return "text-neutral-400 dark:text-neutral-200";
2917
2921
  }
2918
- return "text-blue-600";
2922
+ return "text-neutral-900 dark:text-neutral-100";
2919
2923
  });
2920
2924
  return (_ctx, _cache) => {
2921
2925
  return openBlock(), createElementBlock("th", {
2922
- class: "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer hover:bg-gray-100 transition-colors duration-150",
2926
+ class: "cursor-pointer px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-neutral-500 transition-colors duration-150 hover:bg-neutral-100 dark:text-neutral-200 dark:hover:bg-neutral-900",
2923
2927
  onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("sort", __props.field))
2924
2928
  }, [
2925
2929
  createElementVNode("div", _hoisted_1$2, [
@@ -2941,13 +2945,13 @@ const _sfc_main$2 = {
2941
2945
  };
2942
2946
  }
2943
2947
  };
2944
- const _hoisted_1$1 = { class: "min-w-full divide-y divide-slate-200/80" };
2945
- const _hoisted_2$1 = { class: "bg-slate-50/80" };
2948
+ const _hoisted_1$1 = { class: "min-w-full divide-y divide-neutral-200 dark:divide-neutral-800" };
2949
+ const _hoisted_2$1 = { class: "bg-neutral-50/80 dark:bg-neutral-900/80" };
2946
2950
  const _hoisted_3$1 = {
2947
2951
  key: 0,
2948
- class: "px-6 py-3 text-right text-[11px] font-semibold tracking-[0.12em] text-slate-600 uppercase"
2952
+ class: "px-6 py-3 text-right text-[11px] font-semibold tracking-[0.12em] text-neutral-600 uppercase dark:text-neutral-200"
2949
2953
  };
2950
- const _hoisted_4$1 = { class: "bg-white divide-y divide-slate-200/80" };
2954
+ const _hoisted_4$1 = { class: "divide-y divide-neutral-200 bg-white dark:divide-neutral-800 dark:bg-neutral-950" };
2951
2955
  const _hoisted_5$1 = {
2952
2956
  key: 0,
2953
2957
  class: "flex items-center"
@@ -2955,7 +2959,7 @@ const _hoisted_5$1 = {
2955
2959
  const _hoisted_6$1 = ["title"];
2956
2960
  const _hoisted_7$1 = {
2957
2961
  key: 0,
2958
- class: "ml-2 inline-flex items-center rounded-full bg-rose-100 px-2 py-1 text-xs font-medium text-rose-700"
2962
+ class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-700 dark:bg-red-950/60 dark:text-neutral-100"
2959
2963
  };
2960
2964
  const _hoisted_8$1 = ["innerHTML"];
2961
2965
  const _hoisted_9$1 = { key: 3 };
@@ -2967,9 +2971,9 @@ const _hoisted_11$1 = {
2967
2971
  key: 0,
2968
2972
  class: "text-center py-12"
2969
2973
  };
2970
- const _hoisted_12$1 = { class: "inline-flex items-center justify-center w-16 h-16 rounded-full bg-slate-100 mb-4" };
2971
- const _hoisted_13$1 = { class: "mb-2 text-lg font-semibold text-slate-900" };
2972
- const _hoisted_14$1 = { class: "mb-4 text-slate-600" };
2974
+ const _hoisted_12$1 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
2975
+ const _hoisted_13$1 = { class: "mb-2 text-lg font-semibold text-neutral-950 dark:text-neutral-50" };
2976
+ const _hoisted_14$1 = { class: "mb-4 text-neutral-600 dark:text-neutral-200" };
2973
2977
  const _sfc_main$1 = {
2974
2978
  __name: "TableList",
2975
2979
  props: {
@@ -3003,7 +3007,7 @@ const _sfc_main$1 = {
3003
3007
  type: Function,
3004
3008
  default: (item, index) => [
3005
3009
  "transition-colors duration-150",
3006
- item.deleted_at ? "bg-rose-50 hover:bg-rose-100" : "odd:bg-white even:bg-slate-50 hover:bg-slate-100"
3010
+ item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-red-950/30 dark:hover:bg-red-950/50" : "odd:bg-white even:bg-neutral-50 hover:bg-neutral-100 dark:odd:bg-neutral-950 dark:even:bg-neutral-900/70 dark:hover:bg-neutral-900"
3007
3011
  ]
3008
3012
  },
3009
3013
  maxTextLength: {
@@ -3066,7 +3070,7 @@ const _sfc_main$1 = {
3066
3070
  classes += " font-medium";
3067
3071
  }
3068
3072
  if (column.isSecondary) {
3069
- classes += " text-slate-600";
3073
+ classes += " text-neutral-600 dark:text-neutral-200";
3070
3074
  }
3071
3075
  return classes;
3072
3076
  };
@@ -3074,11 +3078,11 @@ const _sfc_main$1 = {
3074
3078
  if (column.sortable) {
3075
3079
  return "";
3076
3080
  }
3077
- return "px-6 py-3 text-left text-[11px] font-semibold tracking-[0.12em] text-slate-600 uppercase";
3081
+ return "px-6 py-3 text-left text-[11px] font-semibold tracking-[0.12em] text-neutral-600 uppercase dark:text-neutral-200";
3078
3082
  };
3079
3083
  return (_ctx, _cache) => {
3080
3084
  return openBlock(), createElementBlock("div", {
3081
- class: normalizeClass(["bg-white/90 backdrop-blur-sm", __props.isCard ? "border border-slate-200/70 rounded-2xl shadow-[0_12px_30px_rgba(15,23,42,0.06)] animate-fadeIn mx-4 md:mx-0" : ""])
3085
+ class: normalizeClass(["bg-white/90 backdrop-blur-sm dark:bg-neutral-950/90", __props.isCard ? "mx-4 animate-fadeIn rounded-2xl border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0" : ""])
3082
3086
  }, [
3083
3087
  createElementVNode("div", {
3084
3088
  class: normalizeClass(["overflow-x-auto", __props.isCard ? "rounded-xl" : ""])
@@ -3123,7 +3127,7 @@ const _sfc_main$1 = {
3123
3127
  }, [
3124
3128
  column.key === "name" && !column.slot ? (openBlock(), createElementBlock("div", _hoisted_5$1, [
3125
3129
  createElementVNode("div", {
3126
- class: "text-sm font-medium text-slate-900 truncate",
3130
+ class: "truncate text-sm font-medium text-neutral-950 dark:text-neutral-50",
3127
3131
  title: getCellContent(item, column)
3128
3132
  }, toDisplayString(getCellContent(item, column)), 9, _hoisted_6$1),
3129
3133
  isDeleted(item) ? (openBlock(), createElementBlock("span", _hoisted_7$1, toDisplayString(__props.deletedLabel), 1)) : createCommentVNode("", true)
@@ -3151,7 +3155,7 @@ const _sfc_main$1 = {
3151
3155
  ], 2),
3152
3156
  !hasData.value ? (openBlock(), createElementBlock("div", _hoisted_11$1, [
3153
3157
  createElementVNode("div", _hoisted_12$1, [
3154
- (openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "w-8 h-8 text-slate-400" }))
3158
+ (openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))
3155
3159
  ]),
3156
3160
  createElementVNode("h3", _hoisted_13$1, toDisplayString(__props.emptyState.title), 1),
3157
3161
  createElementVNode("p", _hoisted_14$1, toDisplayString(__props.emptyState.description), 1),
@@ -3171,15 +3175,15 @@ const _sfc_main$1 = {
3171
3175
  }
3172
3176
  };
3173
3177
  const _hoisted_1 = { class: "relative max-w-sm" };
3174
- const _hoisted_2 = { class: "absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none" };
3178
+ const _hoisted_2 = { class: "absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none" };
3175
3179
  const _hoisted_3 = ["placeholder"];
3176
- const _hoisted_4 = { class: "min-w-full divide-y divide-gray-200" };
3177
- const _hoisted_5 = { class: "bg-gray-50" };
3180
+ const _hoisted_4 = { class: "min-w-full divide-y divide-neutral-200 dark:divide-neutral-800" };
3181
+ const _hoisted_5 = { class: "bg-neutral-50 dark:bg-neutral-900" };
3178
3182
  const _hoisted_6 = {
3179
3183
  key: 0,
3180
- class: "px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"
3184
+ class: "px-6 py-3 text-right text-xs font-medium uppercase tracking-wider text-neutral-500 dark:text-neutral-200"
3181
3185
  };
3182
- const _hoisted_7 = { class: "bg-white divide-y divide-gray-200" };
3186
+ const _hoisted_7 = { class: "divide-y divide-neutral-200 bg-white dark:divide-neutral-800 dark:bg-neutral-950" };
3183
3187
  const _hoisted_8 = {
3184
3188
  key: 2,
3185
3189
  class: "flex items-center"
@@ -3187,7 +3191,7 @@ const _hoisted_8 = {
3187
3191
  const _hoisted_9 = ["title"];
3188
3192
  const _hoisted_10 = {
3189
3193
  key: 0,
3190
- class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-800"
3194
+ class: "ml-2 inline-flex items-center rounded-full bg-red-100 px-2 py-1 text-xs font-medium text-red-800 dark:bg-red-950/60 dark:text-neutral-100"
3191
3195
  };
3192
3196
  const _hoisted_11 = ["innerHTML"];
3193
3197
  const _hoisted_12 = { key: 5 };
@@ -3200,9 +3204,9 @@ const _hoisted_15 = {
3200
3204
  key: 2,
3201
3205
  class: "py-12 text-center"
3202
3206
  };
3203
- const _hoisted_16 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-gray-100" };
3204
- const _hoisted_17 = { class: "mb-2 text-lg font-medium text-gray-900" };
3205
- const _hoisted_18 = { class: "mb-4 text-gray-500" };
3207
+ const _hoisted_16 = { class: "mb-4 inline-flex h-16 w-16 items-center justify-center rounded-full bg-neutral-100 dark:bg-neutral-900" };
3208
+ const _hoisted_17 = { class: "mb-2 text-lg font-medium text-neutral-950 dark:text-neutral-50" };
3209
+ const _hoisted_18 = { class: "mb-4 text-neutral-500 dark:text-neutral-200" };
3206
3210
  const _sfc_main = {
3207
3211
  __name: "TableListForm",
3208
3212
  props: {
@@ -3236,7 +3240,7 @@ const _sfc_main = {
3236
3240
  type: Function,
3237
3241
  default: (item) => [
3238
3242
  "transition-colors duration-150",
3239
- item.deleted_at ? "bg-red-50 hover:bg-red-100" : "odd:bg-white even:bg-gray-50 hover:bg-gray-100"
3243
+ item.deleted_at ? "bg-red-50 hover:bg-red-100 dark:bg-red-950/30 dark:hover:bg-red-950/50" : "odd:bg-white even:bg-neutral-50 hover:bg-neutral-100 dark:odd:bg-neutral-950 dark:even:bg-neutral-900/70 dark:hover:bg-neutral-900"
3240
3244
  ]
3241
3245
  },
3242
3246
  getErrorMessage: {
@@ -3528,7 +3532,7 @@ const _sfc_main = {
3528
3532
  classes += " font-medium";
3529
3533
  }
3530
3534
  if (column.isSecondary) {
3531
- classes += " text-gray-600";
3535
+ classes += " text-neutral-600 dark:text-neutral-200";
3532
3536
  }
3533
3537
  return classes;
3534
3538
  };
@@ -3536,16 +3540,16 @@ const _sfc_main = {
3536
3540
  if (column.sortable) {
3537
3541
  return "";
3538
3542
  }
3539
- return "px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider";
3543
+ return "px-6 py-3 text-left text-xs font-medium uppercase tracking-wider text-neutral-500 dark:text-neutral-200";
3540
3544
  };
3541
3545
  const getInputType = (column) => column.inputType || "text";
3542
3546
  const getInputClass = (column) => {
3543
- let classes = "block w-full min-w-[12rem] sm:min-w-[10rem] max-w-xs rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-sm text-gray-900 shadow-none placeholder-gray-400 transition-colors duration-200 focus:border-blue-500 focus:bg-white focus:outline-none focus:ring-2 focus:ring-blue-500/20";
3547
+ let classes = "block w-full max-w-xs min-w-[12rem] rounded-lg border border-neutral-200 bg-neutral-50 px-3 py-2 text-sm text-neutral-900 shadow-none placeholder:text-neutral-400 transition-colors duration-200 focus:border-neutral-900 focus:bg-white focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-900 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:bg-neutral-950 dark:focus:ring-neutral-100/10 sm:min-w-[10rem]";
3544
3548
  if (column.inputClass) {
3545
3549
  classes += ` ${column.inputClass}`;
3546
3550
  }
3547
3551
  if (column.isSecondary) {
3548
- classes += " text-gray-600";
3552
+ classes += " text-neutral-600 dark:text-neutral-200";
3549
3553
  }
3550
3554
  return classes;
3551
3555
  };
@@ -3580,24 +3584,24 @@ const _sfc_main = {
3580
3584
  };
3581
3585
  return (_ctx, _cache) => {
3582
3586
  return openBlock(), createElementBlock("div", {
3583
- class: normalizeClass(["bg-white", __props.isCard ? "mx-4 md:mx-0 border border-gray-200/60 rounded-xl shadow-[0_1px_3px_rgba(0,0,0,0.1)] animate-fadeIn" : ""])
3587
+ class: normalizeClass(["bg-white dark:bg-neutral-950", __props.isCard ? "mx-4 animate-fadeIn rounded-xl border border-neutral-200 shadow-sm dark:border-neutral-800 md:mx-0" : ""])
3584
3588
  }, [
3585
3589
  __props.search ? (openBlock(), createElementBlock("div", {
3586
3590
  key: 0,
3587
3591
  class: normalizeClass([
3588
3592
  "px-6 py-4",
3589
- __props.isCard ? "border-b border-gray-200 bg-gray-50/80 rounded-t-xl" : "mb-4 bg-white/80 backdrop-blur-sm"
3593
+ __props.isCard ? "rounded-t-xl border-b border-neutral-200 bg-neutral-50/80 dark:border-neutral-800 dark:bg-neutral-900/80" : "mb-4 bg-white/80 backdrop-blur-sm dark:bg-neutral-950/80"
3590
3594
  ])
3591
3595
  }, [
3592
3596
  createElementVNode("div", _hoisted_1, [
3593
3597
  createElementVNode("div", _hoisted_2, [
3594
- createVNode(unref(MagnifyingGlassIcon), { class: "h-4 w-4 text-gray-400" })
3598
+ createVNode(unref(MagnifyingGlassIcon), { class: "h-4 w-4 text-neutral-400 dark:text-neutral-200" })
3595
3599
  ]),
3596
3600
  withDirectives(createElementVNode("input", {
3597
3601
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchQuery.value = $event),
3598
3602
  type: "text",
3599
3603
  placeholder: __props.searchPlaceholder,
3600
- class: "block w-full rounded-md border border-gray-200 bg-white pl-9 pr-3 py-2 text-sm text-gray-900 placeholder-gray-500 transition-colors duration-200 focus:border-blue-500 focus:outline-none focus:ring-2 focus:ring-blue-500/20"
3604
+ class: "block w-full rounded-lg border border-neutral-200 bg-white py-2 pl-9 pr-3 text-sm text-neutral-900 placeholder:text-neutral-500 transition-colors duration-200 focus:border-neutral-900 focus:outline-none focus:ring-2 focus:ring-neutral-950/10 dark:border-neutral-800 dark:bg-neutral-950 dark:text-neutral-50 dark:placeholder:text-neutral-500 dark:focus:border-neutral-100 dark:focus:ring-neutral-100/10"
3601
3605
  }, null, 8, _hoisted_3), [
3602
3606
  [vModelText, searchQuery.value]
3603
3607
  ])
@@ -3715,7 +3719,7 @@ const _sfc_main = {
3715
3719
  ])
3716
3720
  ], 2)) : (openBlock(), createElementBlock("div", _hoisted_15, [
3717
3721
  createElementVNode("div", _hoisted_16, [
3718
- (openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-gray-400" }))
3722
+ (openBlock(), createBlock(resolveDynamicComponent(__props.emptyState.icon), { class: "h-8 w-8 text-neutral-400 dark:text-neutral-200" }))
3719
3723
  ]),
3720
3724
  createElementVNode("h3", _hoisted_17, toDisplayString(__props.emptyState.title), 1),
3721
3725
  createElementVNode("p", _hoisted_18, toDisplayString(__props.emptyState.description), 1),