@marcoschwartz/lite-ui 0.22.0 → 0.23.1

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
@@ -170,32 +170,35 @@ var themes = {
170
170
  default: {
171
171
  name: "default",
172
172
  button: {
173
- base: "font-semibold rounded-lg transition-all duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 active:scale-95 gap-2",
173
+ base: "font-medium rounded-md transition-all duration-150 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-[hsl(var(--ring))]/50 active:scale-[0.98] gap-2",
174
174
  variants: {
175
- primary: "bg-blue-600 hover:bg-blue-700 active:bg-blue-800 text-white shadow-sm hover:shadow-md dark:bg-blue-500 dark:hover:bg-blue-600 dark:active:bg-blue-700",
176
- secondary: "bg-gray-600 hover:bg-gray-700 active:bg-gray-800 text-white shadow-sm hover:shadow-md dark:bg-gray-500 dark:hover:bg-gray-600 dark:active:bg-gray-700",
177
- success: "bg-green-600 hover:bg-green-700 active:bg-green-800 text-white shadow-sm hover:shadow-md dark:bg-green-500 dark:hover:bg-green-600 dark:active:bg-green-700",
178
- danger: "bg-red-600 hover:bg-red-700 active:bg-red-800 text-white shadow-sm hover:shadow-md dark:bg-red-500 dark:hover:bg-red-600 dark:active:bg-red-700",
179
- warning: "bg-yellow-500 hover:bg-yellow-600 active:bg-yellow-700 text-white shadow-sm hover:shadow-md dark:bg-yellow-400 dark:hover:bg-yellow-500 dark:active:bg-yellow-600",
180
- info: "bg-cyan-600 hover:bg-cyan-700 active:bg-cyan-800 text-white shadow-sm hover:shadow-md dark:bg-cyan-500 dark:hover:bg-cyan-600 dark:active:bg-cyan-700"
175
+ primary: "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:bg-[hsl(var(--primary))]/90 shadow-sm",
176
+ secondary: "bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))] hover:bg-[hsl(var(--secondary))]/80 border border-[hsl(var(--border))]",
177
+ success: "bg-[hsl(var(--success))] text-[hsl(var(--success-foreground))] hover:bg-[hsl(var(--success))]/90 shadow-sm",
178
+ danger: "bg-[hsl(var(--destructive))] text-[hsl(var(--destructive-foreground))] hover:bg-[hsl(var(--destructive))]/90 shadow-sm",
179
+ warning: "bg-[hsl(var(--warning))] text-[hsl(var(--warning-foreground))] hover:bg-[hsl(var(--warning))]/90 shadow-sm",
180
+ info: "bg-[hsl(var(--info))] text-[hsl(var(--info-foreground))] hover:bg-[hsl(var(--info))]/90 shadow-sm",
181
+ outline: "border border-[hsl(var(--border))] bg-transparent hover:bg-[hsl(var(--accent))] text-[hsl(var(--foreground))]",
182
+ ghost: "bg-transparent hover:bg-[hsl(var(--accent))] text-[hsl(var(--foreground))]",
183
+ link: "bg-transparent text-[hsl(var(--primary))] underline-offset-4 hover:underline !p-0 !h-auto !min-h-0 shadow-none"
181
184
  },
182
185
  sizes: {
183
- sm: "px-3 py-1.5 text-sm min-h-[30px]",
184
- md: "px-4 py-2 text-base min-h-[38px]",
185
- lg: "px-6 py-3 text-lg min-h-[48px]",
186
- xl: "px-8 py-4 text-xl min-h-[60px]"
186
+ sm: "px-3 py-1.5 text-sm h-8",
187
+ md: "px-4 py-2 text-sm h-9",
188
+ lg: "px-5 py-2.5 text-base h-10",
189
+ xl: "px-6 py-3 text-base h-11"
187
190
  },
188
- disabled: "opacity-50 cursor-not-allowed hover:shadow-sm active:scale-100"
191
+ disabled: "pointer-events-none opacity-50"
189
192
  },
190
193
  select: {
191
- base: "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 text-left transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 pr-10 cursor-pointer dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500",
194
+ base: "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] text-left transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))] pr-10 cursor-pointer",
192
195
  sizes: {
193
196
  sm: "px-3 py-1.5 text-sm",
194
- md: "px-4 py-2.5 text-base",
195
- lg: "px-4 py-3 text-lg",
196
- xl: "px-5 py-4 text-xl"
197
+ md: "px-3 py-2.5 text-sm",
198
+ lg: "px-4 py-3 text-base",
199
+ xl: "px-4 py-3.5 text-lg"
197
200
  },
198
- disabled: "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900"
201
+ disabled: "pointer-events-none opacity-50 bg-[hsl(var(--muted))]"
199
202
  }
200
203
  },
201
204
  minimalistic: {
@@ -208,7 +211,10 @@ var themes = {
208
211
  success: "bg-transparent border-green-400 text-green-400 hover:bg-green-400 hover:text-black",
209
212
  danger: "bg-transparent border-red-400 text-red-400 hover:bg-red-400 hover:text-black",
210
213
  warning: "bg-transparent border-yellow-400 text-yellow-400 hover:bg-yellow-400 hover:text-black",
211
- info: "bg-transparent border-blue-400 text-blue-400 hover:bg-blue-400 hover:text-black"
214
+ info: "bg-transparent border-blue-400 text-blue-400 hover:bg-blue-400 hover:text-black",
215
+ outline: "bg-transparent border-white text-white hover:bg-white hover:text-black",
216
+ ghost: "bg-transparent border-transparent text-white hover:bg-white/10",
217
+ link: "bg-transparent border-transparent text-white underline-offset-4 hover:underline !p-0 !h-auto !min-h-0"
212
218
  },
213
219
  sizes: {
214
220
  sm: "px-4 py-2 text-sm uppercase tracking-wide min-h-[36px]",
@@ -432,11 +438,11 @@ var Select = ({
432
438
  const baseStyles = theme.select.base;
433
439
  const sizeStyles2 = theme.select.sizes[size];
434
440
  const disabledStyles = disabled ? theme.select.disabled : "";
435
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
441
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]" : "";
436
442
  const buttonClasses = `${baseStyles} ${sizeStyles2} ${disabledStyles} ${errorStyles}`.trim();
437
- const iconColor = themeName === "minimalistic" ? disabled ? "text-gray-600" : "text-white" : disabled ? "text-gray-400" : "text-gray-500";
438
- const dropdownBaseStyles = themeName === "minimalistic" ? "bg-black border-2 border-white" : "bg-white border border-gray-300 shadow-lg dark:bg-gray-800 dark:border-gray-600";
439
- const optionBaseStyles = themeName === "minimalistic" ? "text-white hover:bg-white hover:text-black transition-colors duration-200" : "text-gray-900 hover:bg-blue-50 transition-colors duration-150 dark:text-gray-100 dark:hover:bg-gray-700";
443
+ const iconColor = themeName === "minimalistic" ? disabled ? "text-[hsl(var(--muted-foreground))]" : "text-white" : "text-[hsl(var(--muted-foreground))]";
444
+ const dropdownBaseStyles = themeName === "minimalistic" ? "bg-black border-2 border-white" : "bg-[hsl(var(--popover))] border border-[hsl(var(--border))] shadow-lg";
445
+ const optionBaseStyles = themeName === "minimalistic" ? "text-white hover:bg-white hover:text-black transition-colors duration-200" : "text-[hsl(var(--popover-foreground))] hover:bg-[hsl(var(--accent))] transition-colors duration-150";
440
446
  const optionSizeStyles = {
441
447
  sm: "px-4 py-2 text-sm",
442
448
  md: "px-4 py-2.5 text-base",
@@ -444,7 +450,7 @@ var Select = ({
444
450
  xl: "px-5 py-4 text-xl"
445
451
  }[size];
446
452
  return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: `w-full ${className}`, children: [
447
- label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
453
+ label && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
448
454
  /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)("div", { className: "relative inline-block w-full", ref: dropdownRef, ...props, children: [
449
455
  /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
450
456
  "button",
@@ -477,14 +483,14 @@ var Select = ({
477
483
  isOpen && !disabled && /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
478
484
  "div",
479
485
  {
480
- className: `absolute z-50 w-full mt-1 ${dropdownBaseStyles} rounded-lg overflow-hidden`,
486
+ className: `absolute z-50 w-full mt-1 ${dropdownBaseStyles} rounded-md overflow-hidden`,
481
487
  children: [
482
- searchable && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `sticky top-0 ${themeName === "minimalistic" ? "bg-black border-b-2 border-white" : "bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700"}`, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
488
+ searchable && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `sticky top-0 ${themeName === "minimalistic" ? "bg-black border-b-2 border-white" : "bg-[hsl(var(--popover))] border-b border-[hsl(var(--border))]"}`, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
483
489
  "input",
484
490
  {
485
491
  ref: searchInputRef,
486
492
  type: "text",
487
- className: `w-full ${optionSizeStyles} ${themeName === "minimalistic" ? "bg-black text-white placeholder-gray-600 focus:outline-none" : "bg-transparent text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none"}`,
493
+ className: `w-full ${optionSizeStyles} ${themeName === "minimalistic" ? "bg-black text-white placeholder-[hsl(var(--muted-foreground))] focus:outline-none" : "bg-transparent text-[hsl(var(--popover-foreground))] placeholder:text-[hsl(var(--muted-foreground))] focus:outline-none"}`,
488
494
  placeholder: searchPlaceholder,
489
495
  value: searchQuery,
490
496
  onChange: (e) => setSearchQuery(e.target.value),
@@ -529,20 +535,20 @@ var Select = ({
529
535
  children: filteredOptions.length > 0 ? filteredOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
530
536
  "div",
531
537
  {
532
- className: `${optionBaseStyles} ${optionSizeStyles} cursor-pointer ${value === option.value ? themeName === "minimalistic" ? "bg-white text-black" : "bg-blue-50 dark:bg-gray-700" : ""}`,
538
+ className: `${optionBaseStyles} ${optionSizeStyles} cursor-pointer ${value === option.value ? themeName === "minimalistic" ? "bg-white text-black" : "bg-[hsl(var(--accent))]" : ""}`,
533
539
  onClick: () => handleSelect(option.value),
534
540
  children: option.label
535
541
  },
536
542
  option.value
537
- )) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${optionSizeStyles} ${themeName === "minimalistic" ? "text-gray-500" : "text-gray-500 dark:text-gray-400"} text-center`, children: "No results found" })
543
+ )) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: `${optionSizeStyles} ${themeName === "minimalistic" ? "text-[hsl(var(--muted-foreground))]" : "text-[hsl(var(--muted-foreground))]"} text-center`, children: "No results found" })
538
544
  }
539
545
  )
540
546
  ]
541
547
  }
542
548
  )
543
549
  ] }),
544
- error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
545
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
550
+ error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
551
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText })
546
552
  ] });
547
553
  };
548
554
 
@@ -563,7 +569,6 @@ var Modal = ({
563
569
  size = "md",
564
570
  showCloseButton = true
565
571
  }) => {
566
- const { theme } = useTheme();
567
572
  (0, import_react3.useEffect)(() => {
568
573
  const handleEscape = (e) => {
569
574
  if (e.key === "Escape" && isOpen) {
@@ -584,7 +589,7 @@ var Modal = ({
584
589
  return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
585
590
  "div",
586
591
  {
587
- className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/60 backdrop-blur-sm transition-all duration-200",
592
+ className: "fixed inset-0 z-50 flex items-center justify-center p-4 bg-black/80 backdrop-blur-sm transition-all duration-200",
588
593
  onClick: onClose,
589
594
  role: "dialog",
590
595
  "aria-modal": "true",
@@ -592,18 +597,18 @@ var Modal = ({
592
597
  children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
593
598
  "div",
594
599
  {
595
- className: `relative w-full ${sizeClass} bg-white dark:bg-gray-800 rounded-lg shadow-2xl transform transition-all duration-200 scale-100 animate-in`,
600
+ className: `relative w-full ${sizeClass} bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] rounded-[--radius] border border-[hsl(var(--border))] shadow-2xl transform transition-all duration-200 scale-100 animate-in`,
596
601
  onClick: (e) => e.stopPropagation(),
597
602
  children: [
598
- (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700", children: [
599
- title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h3", { id: "modal-title", className: "text-xl font-semibold text-gray-900 dark:text-gray-100", children: title }),
603
+ (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center justify-between p-6 border-b border-[hsl(var(--border))]", children: [
604
+ title && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h3", { id: "modal-title", className: "text-lg font-semibold", children: title }),
600
605
  showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
601
606
  "button",
602
607
  {
603
608
  onClick: onClose,
604
- className: "ml-auto text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",
609
+ className: "ml-auto text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors rounded-[--radius] p-1 hover:bg-[hsl(var(--accent))]",
605
610
  "aria-label": "Close modal",
606
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { className: "w-6 h-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
611
+ children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
607
612
  }
608
613
  )
609
614
  ] }),
@@ -624,17 +629,16 @@ var Navbar = ({
624
629
  sticky = false,
625
630
  variant = "solid"
626
631
  }) => {
627
- const { theme } = useTheme();
628
632
  const baseClasses = sticky ? "sticky top-0 z-40" : "";
629
633
  const getVariantClasses2 = () => {
630
634
  switch (variant) {
631
635
  case "glass":
632
- return "bg-transparent backdrop-blur-xl";
636
+ return "bg-[hsl(var(--background))]/80 backdrop-blur-xl border-b border-[hsl(var(--border))]";
633
637
  case "transparent":
634
638
  return "bg-transparent";
635
639
  case "solid":
636
640
  default:
637
- return "bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700";
641
+ return "bg-[hsl(var(--background))] border-b border-[hsl(var(--border))]";
638
642
  }
639
643
  };
640
644
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("nav", { className: `${getVariantClasses2()} ${baseClasses} ${className}`, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex justify-between items-center h-16", children: [
@@ -656,13 +660,12 @@ var Sidebar = ({
656
660
  width = "md",
657
661
  position = "left"
658
662
  }) => {
659
- const { theme } = useTheme();
660
663
  const widthClass = widthClasses[width];
661
664
  const borderClass = position === "left" ? "border-r" : "border-l";
662
665
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
663
666
  "aside",
664
667
  {
665
- className: `${widthClass} bg-white dark:bg-gray-800 ${borderClass} border-gray-200 dark:border-gray-700 h-full overflow-y-auto ${className}`,
668
+ className: `${widthClass} bg-[hsl(var(--card))] ${borderClass} border-[hsl(var(--border))] h-full overflow-y-auto ${className}`,
666
669
  children
667
670
  }
668
671
  );
@@ -1259,12 +1262,12 @@ var breakpointClasses = {
1259
1262
  var getVariantClasses = (variant) => {
1260
1263
  switch (variant) {
1261
1264
  case "glass":
1262
- return "bg-transparent backdrop-blur-xl";
1265
+ return "bg-[hsl(var(--background))]/80 backdrop-blur-xl";
1263
1266
  case "transparent":
1264
1267
  return "bg-transparent";
1265
1268
  case "solid":
1266
1269
  default:
1267
- return "bg-white dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700";
1270
+ return "bg-[hsl(var(--background))] border-b border-[hsl(var(--border))]";
1268
1271
  }
1269
1272
  };
1270
1273
  var AppShell = ({
@@ -1277,7 +1280,6 @@ var AppShell = ({
1277
1280
  responsive = true,
1278
1281
  className = ""
1279
1282
  }) => {
1280
- const { theme } = useTheme();
1281
1283
  const [isMobileNavbarOpen, setIsMobileNavbarOpen] = (0, import_react5.useState)(defaultNavbarOpen);
1282
1284
  const navbarWidth = navbar?.width || "md";
1283
1285
  const navbarBreakpoint = navbar?.breakpoint || "md";
@@ -1288,7 +1290,7 @@ var AppShell = ({
1288
1290
  return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `min-h-screen flex flex-col ${className}`, children: [
1289
1291
  header && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "w-full", children: header }),
1290
1292
  /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-1", children: [
1291
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("aside", { className: `${widthClass} bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700 h-full overflow-y-auto`, children: navbar.content }),
1293
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("aside", { className: `${widthClass} bg-[hsl(var(--card))] border-r border-[hsl(var(--border))] h-full overflow-y-auto`, children: navbar.content }),
1292
1294
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("main", { className: "flex-1 overflow-y-auto", children })
1293
1295
  ] })
1294
1296
  ] });
@@ -1302,14 +1304,14 @@ var AppShell = ({
1302
1304
  if (navbar && navbarPosition === "top") {
1303
1305
  const mobileMenuClass = navbarBreakpoint === "sm" ? "sm:hidden" : navbarBreakpoint === "md" ? "md:hidden" : navbarBreakpoint === "lg" ? "lg:hidden" : "xl:hidden";
1304
1306
  const desktopNavClass = navbarBreakpoint === "sm" ? "sm:flex" : navbarBreakpoint === "md" ? "md:flex" : navbarBreakpoint === "lg" ? "lg:flex" : "xl:flex";
1305
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
1307
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `min-h-screen flex flex-col bg-[hsl(var(--background))] ${className}`, children: [
1306
1308
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("nav", { className: `sticky top-0 z-30 ${getVariantClasses(navbar.variant)}`, children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex justify-between items-center h-16", children: [
1307
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center", children: navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null }),
1309
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "flex items-center", children: navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-[hsl(var(--foreground))]", children: navbarTitle }) : null }),
1308
1310
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: `hidden ${desktopNavClass} items-center gap-6`, children: navbar.content }),
1309
1311
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
1310
1312
  "button",
1311
1313
  {
1312
- className: `${mobileMenuClass} p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors`,
1314
+ className: `${mobileMenuClass} p-2 rounded-lg hover:bg-[hsl(var(--accent))] transition-colors`,
1313
1315
  onClick: () => setIsMobileNavbarOpen(!isMobileNavbarOpen),
1314
1316
  "aria-label": "Toggle menu",
1315
1317
  children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(MenuIcon, { size: "md" })
@@ -1325,13 +1327,13 @@ var AppShell = ({
1325
1327
  onClick: () => setIsMobileNavbarOpen(false)
1326
1328
  }
1327
1329
  ),
1328
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `${mobileMenuClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1329
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
1330
- navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1330
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `${mobileMenuClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-[hsl(var(--card))] shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1331
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 border-b border-[hsl(var(--border))] flex items-center justify-between", children: [
1332
+ navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-[hsl(var(--foreground))]", children: navbarTitle }) : null,
1331
1333
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
1332
1334
  "button",
1333
1335
  {
1334
- className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
1336
+ className: "p-1 rounded hover:bg-[hsl(var(--accent))] transition-colors",
1335
1337
  onClick: () => setIsMobileNavbarOpen(false),
1336
1338
  "aria-label": "Close menu",
1337
1339
  children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
@@ -1356,13 +1358,13 @@ var AppShell = ({
1356
1358
  const desktopNavbarClass = navbarBreakpoint === "sm" ? "sm:block" : navbarBreakpoint === "md" ? "md:block" : navbarBreakpoint === "lg" ? "lg:block" : "xl:block";
1357
1359
  const mobileDrawerClass = navbarBreakpoint === "sm" ? "sm:hidden" : navbarBreakpoint === "md" ? "md:hidden" : navbarBreakpoint === "lg" ? "lg:hidden" : "xl:hidden";
1358
1360
  const sidebarWidthClass = navbarWidth === "sm" ? "w-48" : navbarWidth === "lg" ? "w-80" : "w-64";
1359
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `min-h-screen flex flex-col bg-gray-50 dark:bg-gray-900 ${className}`, children: [
1361
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `min-h-screen flex flex-col bg-[hsl(var(--background))] ${className}`, children: [
1360
1362
  /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `${mobileHeaderClass} sticky top-0 z-30 ${getVariantClasses(navbar.variant)} px-4 py-3 flex items-center justify-between`, children: [
1361
- navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1363
+ navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-[hsl(var(--foreground))]", children: navbarTitle }) : null,
1362
1364
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
1363
1365
  "button",
1364
1366
  {
1365
- className: "p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
1367
+ className: "p-2 rounded-lg hover:bg-[hsl(var(--accent))] transition-colors",
1366
1368
  onClick: () => setIsMobileNavbarOpen(!isMobileNavbarOpen),
1367
1369
  "aria-label": "Toggle menu",
1368
1370
  children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(MenuIcon, { size: "md" })
@@ -1371,7 +1373,7 @@ var AppShell = ({
1371
1373
  ] }),
1372
1374
  header && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "w-full", children: header }),
1373
1375
  /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "flex flex-1 min-h-0", children: [
1374
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("aside", { className: `hidden ${desktopNavbarClass} ${sidebarWidthClass} ${navbar.variant === "glass" ? "bg-transparent backdrop-blur-xl" : navbar.variant === "transparent" ? "bg-transparent" : "bg-white dark:bg-gray-800 border-r border-gray-200 dark:border-gray-700"} overflow-y-auto shrink-0`, children: navbar.content }),
1376
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("aside", { className: `hidden ${desktopNavbarClass} ${sidebarWidthClass} ${navbar.variant === "glass" ? "bg-[hsl(var(--background))]/80 backdrop-blur-xl" : navbar.variant === "transparent" ? "bg-transparent" : "bg-[hsl(var(--card))] border-r border-[hsl(var(--border))]"} overflow-y-auto shrink-0`, children: navbar.content }),
1375
1377
  isMobileNavbarOpen && /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_jsx_runtime78.Fragment, { children: [
1376
1378
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
1377
1379
  "div",
@@ -1380,13 +1382,13 @@ var AppShell = ({
1380
1382
  onClick: () => setIsMobileNavbarOpen(false)
1381
1383
  }
1382
1384
  ),
1383
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `${mobileDrawerClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-white dark:bg-gray-800 shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1384
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 border-b border-gray-200 dark:border-gray-700 flex items-center justify-between", children: [
1385
- navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-gray-900 dark:text-gray-100", children: navbarTitle }) : null,
1385
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: `${mobileDrawerClass} fixed left-0 top-0 bottom-0 z-50 w-64 bg-[hsl(var(--card))] shadow-2xl animate-in slide-in-from-left duration-300`, children: [
1386
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("div", { className: "p-4 border-b border-[hsl(var(--border))] flex items-center justify-between", children: [
1387
+ navbarLogo ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { children: navbarLogo }) : navbarTitle ? /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "text-xl font-bold text-[hsl(var(--foreground))]", children: navbarTitle }) : null,
1386
1388
  /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
1387
1389
  "button",
1388
1390
  {
1389
- className: "p-1 rounded hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
1391
+ className: "p-1 rounded hover:bg-[hsl(var(--accent))] transition-colors",
1390
1392
  onClick: () => setIsMobileNavbarOpen(false),
1391
1393
  "aria-label": "Close menu",
1392
1394
  children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("svg", { className: "w-6 h-6", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
@@ -1459,7 +1461,6 @@ var Drawer = ({
1459
1461
  size = "md",
1460
1462
  showCloseButton = true
1461
1463
  }) => {
1462
- const { theme } = useTheme();
1463
1464
  (0, import_react6.useEffect)(() => {
1464
1465
  const handleEscape = (e) => {
1465
1466
  if (e.key === "Escape" && isOpen) {
@@ -1482,24 +1483,24 @@ var Drawer = ({
1482
1483
  /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
1483
1484
  "div",
1484
1485
  {
1485
- className: "fixed inset-0 z-40 bg-black/60 backdrop-blur-sm transition-all duration-200",
1486
+ className: "fixed inset-0 z-40 bg-black/80 backdrop-blur-sm transition-all duration-200",
1486
1487
  onClick: onClose
1487
1488
  }
1488
1489
  ),
1489
1490
  /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
1490
1491
  "div",
1491
1492
  {
1492
- className: `fixed z-50 ${positionClass} ${sizeClass} bg-white dark:bg-gray-800 shadow-2xl overflow-hidden flex flex-col ${slideClasses[position]}`,
1493
+ className: `fixed z-50 ${positionClass} ${sizeClass} bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] border-[hsl(var(--border))] shadow-2xl overflow-hidden flex flex-col ${slideClasses[position]} ${position === "left" ? "border-r" : position === "right" ? "border-l" : position === "top" ? "border-b" : "border-t"}`,
1493
1494
  children: [
1494
- (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between p-6 border-b border-gray-200 dark:border-gray-700", children: [
1495
- title && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("h3", { className: "text-xl font-semibold text-gray-900 dark:text-gray-100", children: title }),
1495
+ (title || showCloseButton) && /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)("div", { className: "flex items-center justify-between p-6 border-b border-[hsl(var(--border))]", children: [
1496
+ title && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("h3", { className: "text-lg font-semibold", children: title }),
1496
1497
  showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
1497
1498
  "button",
1498
1499
  {
1499
1500
  onClick: onClose,
1500
- className: "ml-auto text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",
1501
+ className: "ml-auto text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors rounded-[--radius] p-1 hover:bg-[hsl(var(--accent))]",
1501
1502
  "aria-label": "Close drawer",
1502
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("svg", { className: "w-6 h-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1503
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("svg", { className: "w-5 h-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) })
1503
1504
  }
1504
1505
  )
1505
1506
  ] }),
@@ -1532,16 +1533,16 @@ var TextInput = (0, import_react7.forwardRef)(
1532
1533
  ...props
1533
1534
  }, ref) => {
1534
1535
  const { theme, themeName } = useTheme();
1535
- const baseStyles = theme.select?.base || "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500";
1536
+ const baseStyles = "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))] placeholder:text-[hsl(var(--muted-foreground))]";
1536
1537
  const sizeStyle = sizeClasses4[size];
1537
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
1538
- const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
1538
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]" : "";
1539
+ const disabledStyles = disabled ? "pointer-events-none opacity-50 bg-[hsl(var(--muted))]" : "";
1539
1540
  const widthStyle = fullWidth ? "w-full" : "";
1540
1541
  const paddingWithIcon = leftIcon ? "pl-10" : rightIcon ? "pr-10" : "";
1541
1542
  return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: `${widthStyle} ${className}`, children: [
1542
- label && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1543
+ label && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
1543
1544
  /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)("div", { className: "relative", children: [
1544
- leftIcon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: leftIcon }),
1545
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute left-3 top-1/2 transform -translate-y-1/2 text-[hsl(var(--muted-foreground))]", children: leftIcon }),
1545
1546
  /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
1546
1547
  "input",
1547
1548
  {
@@ -1551,10 +1552,10 @@ var TextInput = (0, import_react7.forwardRef)(
1551
1552
  ...props
1552
1553
  }
1553
1554
  ),
1554
- rightIcon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-gray-400 dark:text-gray-500", children: rightIcon })
1555
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("div", { className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-[hsl(var(--muted-foreground))]", children: rightIcon })
1555
1556
  ] }),
1556
- error && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1557
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1557
+ error && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
1558
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText })
1558
1559
  ] });
1559
1560
  }
1560
1561
  );
@@ -1565,8 +1566,8 @@ var import_react8 = require("react");
1565
1566
  var import_jsx_runtime81 = require("react/jsx-runtime");
1566
1567
  var sizeClasses5 = {
1567
1568
  sm: "px-3 py-1.5 text-sm",
1568
- md: "px-4 py-2.5 text-base",
1569
- lg: "px-4 py-3 text-lg"
1569
+ md: "px-3 py-2.5 text-sm",
1570
+ lg: "px-4 py-3 text-base"
1570
1571
  };
1571
1572
  var NumberInput = ({
1572
1573
  label,
@@ -1585,7 +1586,6 @@ var NumberInput = ({
1585
1586
  placeholder,
1586
1587
  className = ""
1587
1588
  }) => {
1588
- const { theme } = useTheme();
1589
1589
  const inputRef = (0, import_react8.useRef)(null);
1590
1590
  const [isFocused, setIsFocused] = (0, import_react8.useState)(false);
1591
1591
  const clampValue = (val) => {
@@ -1630,15 +1630,15 @@ var NumberInput = ({
1630
1630
  handleDecrement();
1631
1631
  }
1632
1632
  };
1633
- const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500";
1633
+ const baseStyles = "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))] placeholder:text-[hsl(var(--muted-foreground))]";
1634
1634
  const sizeStyle = sizeClasses5[size];
1635
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
1636
- const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
1635
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]/50" : "";
1636
+ const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-[hsl(var(--muted))]" : "";
1637
1637
  const widthStyle = fullWidth ? "w-full" : "";
1638
1638
  const paddingWithControls = !hideControls ? "pr-8" : "";
1639
1639
  const displayValue = value !== void 0 ? value.toString() : "";
1640
1640
  return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: `${widthStyle} ${className}`, children: [
1641
- label && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
1641
+ label && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
1642
1642
  /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "relative", children: [
1643
1643
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
1644
1644
  "input",
@@ -1665,9 +1665,9 @@ var NumberInput = ({
1665
1665
  type: "button",
1666
1666
  onClick: handleIncrement,
1667
1667
  disabled: disabled || max !== void 0 && value !== void 0 && value >= max,
1668
- className: "px-2 py-0.5 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1668
+ className: "px-2 py-0.5 hover:bg-[hsl(var(--accent))] rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1669
1669
  tabIndex: -1,
1670
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 15l7-7 7 7" }) })
1670
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("svg", { className: "w-3 h-3 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M5 15l7-7 7 7" }) })
1671
1671
  }
1672
1672
  ),
1673
1673
  /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
@@ -1676,15 +1676,15 @@ var NumberInput = ({
1676
1676
  type: "button",
1677
1677
  onClick: handleDecrement,
1678
1678
  disabled: disabled || min !== void 0 && value !== void 0 && value <= min,
1679
- className: "px-2 py-0.5 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1679
+ className: "px-2 py-0.5 hover:bg-[hsl(var(--accent))] rounded transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
1680
1680
  tabIndex: -1,
1681
- children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("svg", { className: "w-3 h-3 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M19 9l-7 7-7-7" }) })
1681
+ children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("svg", { className: "w-3 h-3 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 3, d: "M19 9l-7 7-7-7" }) })
1682
1682
  }
1683
1683
  )
1684
1684
  ] })
1685
1685
  ] }),
1686
- error && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
1687
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
1686
+ error && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
1687
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime81.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText })
1688
1688
  ] });
1689
1689
  };
1690
1690
  NumberInput.displayName = "NumberInput";
@@ -1760,18 +1760,18 @@ var ActionMenu = ({
1760
1760
  const defaultTrigger = /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
1761
1761
  "button",
1762
1762
  {
1763
- className: "p-2 rounded-md hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors",
1763
+ className: "p-2 rounded-md hover:bg-[hsl(var(--accent))] transition-colors",
1764
1764
  "aria-label": "Open menu",
1765
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" }) })
1765
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z" }) })
1766
1766
  }
1767
1767
  );
1768
- const menuBaseStyles = themeName === "minimalistic" ? "bg-black border-2 border-white" : "bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 shadow-lg";
1769
- const itemBaseStyles = themeName === "minimalistic" ? "text-white hover:bg-white hover:text-black transition-colors duration-200" : "text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-700 transition-colors";
1768
+ const menuBaseStyles = themeName === "minimalistic" ? "bg-black border-2 border-white" : "bg-[hsl(var(--popover))] border border-[hsl(var(--border))] shadow-lg";
1769
+ const itemBaseStyles = themeName === "minimalistic" ? "text-white hover:bg-white hover:text-black transition-colors duration-200" : "text-[hsl(var(--popover-foreground))] hover:bg-[hsl(var(--accent))] transition-colors";
1770
1770
  const menu = isOpen && mounted && menuPosition ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
1771
1771
  "div",
1772
1772
  {
1773
1773
  ref: menuRef,
1774
- className: `fixed w-56 rounded-lg ${menuBaseStyles} z-[9999] max-h-[80vh] overflow-auto`,
1774
+ className: `fixed w-56 rounded-md ${menuBaseStyles} z-[9999] max-h-[80vh] overflow-auto`,
1775
1775
  style: {
1776
1776
  minWidth: "14rem",
1777
1777
  top: `${menuPosition.top}px`,
@@ -1782,7 +1782,7 @@ var ActionMenu = ({
1782
1782
  return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
1783
1783
  "div",
1784
1784
  {
1785
- className: "my-1 border-t border-gray-200 dark:border-gray-700"
1785
+ className: "my-1 border-t border-[hsl(var(--border))]"
1786
1786
  },
1787
1787
  index
1788
1788
  );
@@ -1792,7 +1792,7 @@ var ActionMenu = ({
1792
1792
  {
1793
1793
  onClick: () => handleItemClick(item),
1794
1794
  disabled: item.disabled,
1795
- className: `w-full text-left px-4 py-3 flex items-center gap-3 ${itemBaseStyles} ${item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${item.variant === "danger" ? "text-red-600 dark:text-red-400 hover:bg-red-50 dark:hover:bg-red-900/20" : ""}`,
1795
+ className: `w-full text-left px-4 py-2.5 flex items-center gap-3 ${itemBaseStyles} ${item.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"} ${item.variant === "danger" ? "text-[hsl(var(--destructive))] hover:bg-[hsl(var(--destructive))]/10" : ""}`,
1796
1796
  children: [
1797
1797
  item.icon && /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "flex-shrink-0", children: item.icon }),
1798
1798
  /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { className: "flex-1", children: item.label })
@@ -1824,13 +1824,12 @@ var Card = ({
1824
1824
  hover = false,
1825
1825
  ...props
1826
1826
  }) => {
1827
- const { theme } = useTheme();
1828
1827
  const paddingClass = paddingClasses[padding];
1829
- const hoverClass = hover ? "hover:shadow-xl hover:scale-[1.02] hover:border-blue-400 dark:hover:border-blue-500 cursor-pointer transition-all duration-200 ease-in-out" : "";
1828
+ const hoverClass = hover ? "hover:shadow-lg hover:border-[hsl(var(--ring))]/50 cursor-pointer transition-all duration-200 ease-in-out" : "";
1830
1829
  return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
1831
1830
  "div",
1832
1831
  {
1833
- className: `bg-white dark:bg-gray-800 rounded-lg shadow-sm border border-gray-200 dark:border-gray-700 ${paddingClass} ${hoverClass} ${className}`,
1832
+ className: `bg-[hsl(var(--card))] text-[hsl(var(--card-foreground))] rounded-lg border border-[hsl(var(--border))] shadow-sm ${paddingClass} ${hoverClass} ${className}`,
1834
1833
  ...props,
1835
1834
  children
1836
1835
  }
@@ -1840,16 +1839,16 @@ var Card = ({
1840
1839
  // src/components/Alert.tsx
1841
1840
  var import_jsx_runtime84 = require("react/jsx-runtime");
1842
1841
  var variantStyles = {
1843
- info: "bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800 text-blue-900 dark:text-blue-100",
1844
- success: "bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800 text-green-900 dark:text-green-100",
1845
- warning: "bg-yellow-50 dark:bg-yellow-900/20 border-yellow-200 dark:border-yellow-800 text-yellow-900 dark:text-yellow-100",
1846
- error: "bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-800 text-red-900 dark:text-red-100"
1842
+ info: "bg-[hsl(var(--info))]/10 border-[hsl(var(--info))]/20 text-[hsl(var(--info))]",
1843
+ success: "bg-[hsl(var(--success))]/10 border-[hsl(var(--success))]/20 text-[hsl(var(--success))]",
1844
+ warning: "bg-[hsl(var(--warning))]/10 border-[hsl(var(--warning))]/20 text-[hsl(var(--warning))]",
1845
+ error: "bg-[hsl(var(--destructive))]/10 border-[hsl(var(--destructive))]/20 text-[hsl(var(--destructive))]"
1847
1846
  };
1848
1847
  var iconStyles = {
1849
- info: "text-blue-600 dark:text-blue-400",
1850
- success: "text-green-600 dark:text-green-400",
1851
- warning: "text-yellow-600 dark:text-yellow-400",
1852
- error: "text-red-600 dark:text-red-400"
1848
+ info: "text-[hsl(var(--info))]",
1849
+ success: "text-[hsl(var(--success))]",
1850
+ warning: "text-[hsl(var(--warning))]",
1851
+ error: "text-[hsl(var(--destructive))]"
1853
1852
  };
1854
1853
  var Alert = ({
1855
1854
  variant = "info",
@@ -1858,10 +1857,9 @@ var Alert = ({
1858
1857
  onClose,
1859
1858
  className = ""
1860
1859
  }) => {
1861
- const { theme } = useTheme();
1862
1860
  const variantClass = variantStyles[variant];
1863
1861
  const iconClass = iconStyles[variant];
1864
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: `rounded-lg border p-4 ${variantClass} ${className}`, role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-start gap-3", children: [
1862
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: `rounded-[--radius] border p-4 ${variantClass} ${className}`, role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "flex items-start gap-3", children: [
1865
1863
  /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: `flex-shrink-0 ${iconClass}`, children: [
1866
1864
  variant === "info" && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) }),
1867
1865
  variant === "success" && /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("svg", { className: "w-5 h-5", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)("path", { fillRule: "evenodd", d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z", clipRule: "evenodd" }) }),
@@ -1889,7 +1887,6 @@ var import_react10 = require("react");
1889
1887
  var import_jsx_runtime85 = require("react/jsx-runtime");
1890
1888
  var Checkbox = (0, import_react10.forwardRef)(
1891
1889
  ({ label, error, className = "", disabled, checked, ...props }, ref) => {
1892
- const { theme } = useTheme();
1893
1890
  return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className, children: [
1894
1891
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("label", { className: "flex items-center gap-2 cursor-pointer group", children: [
1895
1892
  /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { className: "relative inline-flex items-center", children: [
@@ -1904,11 +1901,11 @@ var Checkbox = (0, import_react10.forwardRef)(
1904
1901
  ...props
1905
1902
  }
1906
1903
  ),
1907
- /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: `w-4 h-4 border-2 rounded transition-all duration-200 flex items-center justify-center
1908
- ${error ? "border-red-500 dark:border-red-500" : "border-gray-300 dark:border-gray-600"}
1909
- ${disabled ? "opacity-50 cursor-not-allowed bg-gray-100 dark:bg-gray-800" : "peer-hover:border-gray-400 dark:peer-hover:border-gray-500"}
1910
- peer-checked:bg-blue-600 peer-checked:border-blue-600
1911
- peer-focus:ring-2 peer-focus:ring-blue-500 peer-focus:ring-offset-2
1904
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("div", { className: `w-4 h-4 border-2 rounded-sm transition-all duration-200 flex items-center justify-center
1905
+ ${error ? "border-[hsl(var(--destructive))]" : "border-[hsl(var(--input))]"}
1906
+ ${disabled ? "opacity-50 cursor-not-allowed bg-[hsl(var(--muted))]" : "peer-hover:border-[hsl(var(--ring))]"}
1907
+ peer-checked:bg-[hsl(var(--primary))] peer-checked:border-[hsl(var(--primary))]
1908
+ peer-focus:ring-1 peer-focus:ring-[hsl(var(--ring))]/50
1912
1909
  `, children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
1913
1910
  "svg",
1914
1911
  {
@@ -1929,9 +1926,9 @@ var Checkbox = (0, import_react10.forwardRef)(
1929
1926
  }
1930
1927
  ) })
1931
1928
  ] }),
1932
- label && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: `text-sm text-gray-700 dark:text-gray-300 ${disabled ? "opacity-50 cursor-not-allowed" : "group-hover:text-gray-900 dark:group-hover:text-gray-100"}`, children: label })
1929
+ label && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: `text-sm text-[hsl(var(--foreground))] ${disabled ? "opacity-50 cursor-not-allowed" : ""}`, children: label })
1933
1930
  ] }),
1934
- error && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error })
1931
+ error && /* @__PURE__ */ (0, import_jsx_runtime85.jsx)("p", { className: "mt-1 text-sm text-[hsl(var(--destructive))]", children: error })
1935
1932
  ] });
1936
1933
  }
1937
1934
  );
@@ -1942,7 +1939,6 @@ var import_react11 = require("react");
1942
1939
  var import_jsx_runtime86 = require("react/jsx-runtime");
1943
1940
  var Toggle = (0, import_react11.forwardRef)(
1944
1941
  ({ label, size = "md", className = "", disabled, checked, ...props }, ref) => {
1945
- const { theme } = useTheme();
1946
1942
  const toggleClasses = {
1947
1943
  sm: {
1948
1944
  switch: "w-9 h-5",
@@ -1974,7 +1970,7 @@ var Toggle = (0, import_react11.forwardRef)(
1974
1970
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
1975
1971
  "div",
1976
1972
  {
1977
- className: `${currentSize.switch} bg-gray-300 dark:bg-gray-700 peer-focus:ring-2 peer-focus:ring-blue-500 rounded-full peer peer-checked:bg-blue-600 dark:peer-checked:bg-blue-500 transition-colors`
1973
+ className: `${currentSize.switch} bg-[hsl(var(--input))] peer-focus:ring-1 peer-focus:ring-[hsl(var(--ring))]/50 rounded-full peer peer-checked:bg-[hsl(var(--primary))] transition-colors`
1978
1974
  }
1979
1975
  ),
1980
1976
  /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
@@ -1984,7 +1980,7 @@ var Toggle = (0, import_react11.forwardRef)(
1984
1980
  }
1985
1981
  )
1986
1982
  ] }),
1987
- label && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label })
1983
+ label && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)("span", { className: "text-sm font-medium text-[hsl(var(--foreground))]", children: label })
1988
1984
  ] });
1989
1985
  }
1990
1986
  );
@@ -1993,12 +1989,12 @@ Toggle.displayName = "Toggle";
1993
1989
  // src/components/Badge.tsx
1994
1990
  var import_jsx_runtime87 = require("react/jsx-runtime");
1995
1991
  var variantStyles2 = {
1996
- default: "bg-gray-100 dark:bg-gray-700 text-gray-800 dark:text-gray-200",
1997
- primary: "bg-blue-100 dark:bg-blue-900/30 text-blue-800 dark:text-blue-200",
1998
- success: "bg-green-100 dark:bg-green-900/30 text-green-800 dark:text-green-200",
1999
- warning: "bg-yellow-100 dark:bg-yellow-900/30 text-yellow-800 dark:text-yellow-200",
2000
- error: "bg-red-100 dark:bg-red-900/30 text-red-800 dark:text-red-200",
2001
- info: "bg-cyan-100 dark:bg-cyan-900/30 text-cyan-800 dark:text-cyan-200"
1992
+ default: "bg-[hsl(var(--secondary))] text-[hsl(var(--secondary-foreground))]",
1993
+ primary: "bg-[hsl(var(--primary))]/10 text-[hsl(var(--primary))]",
1994
+ success: "bg-[hsl(var(--success))]/10 text-[hsl(var(--success))]",
1995
+ warning: "bg-[hsl(var(--warning))]/10 text-[hsl(var(--warning))]",
1996
+ error: "bg-[hsl(var(--destructive))]/10 text-[hsl(var(--destructive))]",
1997
+ info: "bg-[hsl(var(--info))]/10 text-[hsl(var(--info))]"
2002
1998
  };
2003
1999
  var sizeStyles = {
2004
2000
  sm: "px-2 py-0.5 text-xs",
@@ -2011,7 +2007,6 @@ var Badge = ({
2011
2007
  size = "md",
2012
2008
  className = ""
2013
2009
  }) => {
2014
- const { theme } = useTheme();
2015
2010
  const variantClass = variantStyles2[variant];
2016
2011
  const sizeClass = sizeStyles[size];
2017
2012
  return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: `inline-flex items-center font-medium rounded-full ${variantClass} ${sizeClass} ${className}`, children });
@@ -2026,8 +2021,8 @@ var sizeClasses6 = {
2026
2021
  xl: "w-16 h-16 border-4"
2027
2022
  };
2028
2023
  var colorClasses = {
2029
- primary: "border-blue-600 border-t-transparent",
2030
- secondary: "border-gray-600 border-t-transparent",
2024
+ primary: "border-[hsl(var(--primary))] border-t-transparent",
2025
+ secondary: "border-[hsl(var(--muted-foreground))] border-t-transparent",
2031
2026
  white: "border-white border-t-transparent"
2032
2027
  };
2033
2028
  var Spinner = ({
@@ -2035,7 +2030,6 @@ var Spinner = ({
2035
2030
  color = "primary",
2036
2031
  className = ""
2037
2032
  }) => {
2038
- const { theme } = useTheme();
2039
2033
  const sizeClass = sizeClasses6[size];
2040
2034
  const colorClass = colorClasses[color];
2041
2035
  return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
@@ -2058,7 +2052,6 @@ var Tabs = ({
2058
2052
  onChange,
2059
2053
  className = ""
2060
2054
  }) => {
2061
- const { theme } = useTheme();
2062
2055
  const [activeIndex, setActiveIndex] = (0, import_react12.useState)(defaultIndex);
2063
2056
  const handleTabClick = (index) => {
2064
2057
  if (tabs[index].disabled) return;
@@ -2066,12 +2059,12 @@ var Tabs = ({
2066
2059
  onChange?.(index);
2067
2060
  };
2068
2061
  return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className, children: [
2069
- /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("nav", { className: "flex gap-8 px-6", "aria-label": "Tabs", children: tabs.map((tab, index) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
2062
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("div", { className: "border-b border-[hsl(var(--border))]", children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("nav", { className: "flex gap-6", "aria-label": "Tabs", children: tabs.map((tab, index) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
2070
2063
  "button",
2071
2064
  {
2072
2065
  onClick: () => handleTabClick(index),
2073
2066
  disabled: tab.disabled,
2074
- className: `py-4 px-1 border-b-2 font-medium text-sm transition-colors ${activeIndex === index ? "border-blue-600 text-blue-600 dark:text-blue-400" : "border-transparent text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-200 hover:border-gray-300 dark:hover:border-gray-600"} ${tab.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`,
2067
+ className: `py-3 px-1 border-b-2 font-medium text-sm transition-colors ${activeIndex === index ? "border-[hsl(var(--primary))] text-[hsl(var(--foreground))]" : "border-transparent text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] hover:border-[hsl(var(--border))]"} ${tab.disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}`,
2075
2068
  "aria-current": activeIndex === index ? "page" : void 0,
2076
2069
  children: tab.label
2077
2070
  },
@@ -2092,26 +2085,25 @@ function Table({
2092
2085
  className = "",
2093
2086
  responsive = true
2094
2087
  }) {
2095
- const { theme } = useTheme();
2096
2088
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className, children: [
2097
2089
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: `${responsive ? "hidden md:block" : ""} overflow-x-auto`, children: [
2098
2090
  /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("table", { className: "w-full text-left", children: [
2099
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("thead", { className: "bg-gray-50 dark:bg-gray-800 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("tr", { children: columns.map((column, colIndex) => {
2091
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("thead", { className: "bg-[hsl(var(--muted))] border-b border-[hsl(var(--border))]", children: /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("tr", { children: columns.map((column, colIndex) => {
2100
2092
  const isLast = colIndex === columns.length - 1;
2101
2093
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
2102
2094
  "th",
2103
2095
  {
2104
- className: isLast ? "px-6 py-3 text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider relative" : "px-6 py-3 text-xs font-medium text-gray-700 dark:text-gray-300 uppercase tracking-wider",
2096
+ className: isLast ? "px-6 py-3 text-xs font-medium text-[hsl(var(--muted-foreground))] uppercase tracking-wider relative" : "px-6 py-3 text-xs font-medium text-[hsl(var(--muted-foreground))] uppercase tracking-wider",
2105
2097
  style: { width: column.width },
2106
2098
  children: column.title
2107
2099
  },
2108
2100
  column.key
2109
2101
  );
2110
2102
  }) }) }),
2111
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("tbody", { className: "bg-white dark:bg-gray-900 divide-y divide-gray-200 dark:divide-gray-700", children: data.map((row, rowIndex) => {
2103
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("tbody", { className: "bg-[hsl(var(--card))] divide-y divide-[hsl(var(--border))]", children: data.map((row, rowIndex) => {
2112
2104
  const rowClasses = [
2113
- striped && rowIndex % 2 === 1 ? "bg-gray-50 dark:bg-gray-800/50" : "",
2114
- hoverable ? "hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors" : ""
2105
+ striped && rowIndex % 2 === 1 ? "bg-[hsl(var(--muted))]/50" : "",
2106
+ hoverable ? "hover:bg-[hsl(var(--muted))] transition-colors" : ""
2115
2107
  ].filter(Boolean).join(" ");
2116
2108
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
2117
2109
  "tr",
@@ -2122,7 +2114,7 @@ function Table({
2122
2114
  return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
2123
2115
  "td",
2124
2116
  {
2125
- className: isLast ? "px-6 py-4 text-sm text-gray-900 dark:text-gray-100 overflow-visible" : "px-6 py-4 text-sm text-gray-900 dark:text-gray-100",
2117
+ className: isLast ? "px-6 py-4 text-sm text-[hsl(var(--foreground))] overflow-visible" : "px-6 py-4 text-sm text-[hsl(var(--foreground))]",
2126
2118
  children: column.render ? column.render(row[column.key], row, rowIndex) : row[column.key]
2127
2119
  },
2128
2120
  column.key
@@ -2133,12 +2125,12 @@ function Table({
2133
2125
  );
2134
2126
  }) })
2135
2127
  ] }),
2136
- data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: "No data available" })
2128
+ data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "text-center py-8 text-[hsl(var(--muted-foreground))]", children: "No data available" })
2137
2129
  ] }),
2138
2130
  responsive && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "md:hidden space-y-3", children: [
2139
2131
  data.map((row, rowIndex) => {
2140
2132
  const cardClasses = [
2141
- "bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-lg p-4 shadow-sm",
2133
+ "bg-[hsl(var(--card))] border border-[hsl(var(--border))] rounded-[--radius] p-4 shadow-sm",
2142
2134
  hoverable ? "hover:shadow-md transition-shadow" : "",
2143
2135
  "relative isolate"
2144
2136
  // Ensure cards are isolated layers
@@ -2150,10 +2142,10 @@ function Table({
2150
2142
  children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
2151
2143
  "div",
2152
2144
  {
2153
- className: "flex justify-between items-start py-2 border-b border-gray-100 dark:border-gray-800 last:border-b-0",
2145
+ className: "flex justify-between items-start py-2 border-b border-[hsl(var(--border))]/50 last:border-b-0",
2154
2146
  children: [
2155
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-xs font-medium text-gray-500 dark:text-gray-400 uppercase tracking-wider flex-shrink-0 mr-4", children: column.title }),
2156
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-sm text-gray-900 dark:text-gray-100 text-right", children: column.render ? column.render(row[column.key], row, rowIndex) : row[column.key] })
2147
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-xs font-medium text-[hsl(var(--muted-foreground))] uppercase tracking-wider flex-shrink-0 mr-4", children: column.title }),
2148
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "text-sm text-[hsl(var(--foreground))] text-right", children: column.render ? column.render(row[column.key], row, rowIndex) : row[column.key] })
2157
2149
  ]
2158
2150
  },
2159
2151
  column.key
@@ -2162,7 +2154,7 @@ function Table({
2162
2154
  row[keyField] || rowIndex
2163
2155
  );
2164
2156
  }),
2165
- data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "text-center py-8 text-gray-500 dark:text-gray-400", children: "No data available" })
2157
+ data.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsx)("div", { className: "text-center py-8 text-[hsl(var(--muted-foreground))]", children: "No data available" })
2166
2158
  ] })
2167
2159
  ] });
2168
2160
  }
@@ -2176,7 +2168,6 @@ var Pagination = ({
2176
2168
  siblingCount = 1,
2177
2169
  className = ""
2178
2170
  }) => {
2179
- const { theme } = useTheme();
2180
2171
  const range = (start, end) => {
2181
2172
  const length = end - start + 1;
2182
2173
  return Array.from({ length }, (_, idx) => idx + start);
@@ -2215,7 +2206,7 @@ var Pagination = ({
2215
2206
  {
2216
2207
  onClick: () => onPageChange(currentPage - 1),
2217
2208
  disabled: currentPage === 1,
2218
- className: "px-3 py-2 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
2209
+ className: "px-3 py-2 rounded-md text-sm font-medium text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50 disabled:pointer-events-none transition-colors",
2219
2210
  "aria-label": "Previous page",
2220
2211
  children: "Previous"
2221
2212
  }
@@ -2225,7 +2216,7 @@ var Pagination = ({
2225
2216
  return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(
2226
2217
  "span",
2227
2218
  {
2228
- className: "px-3 py-2 text-gray-700 dark:text-gray-300",
2219
+ className: "px-3 py-2 text-[hsl(var(--muted-foreground))]",
2229
2220
  children: "..."
2230
2221
  },
2231
2222
  `dots-${index}`
@@ -2235,7 +2226,7 @@ var Pagination = ({
2235
2226
  "button",
2236
2227
  {
2237
2228
  onClick: () => onPageChange(page),
2238
- className: `px-3 py-2 rounded-md text-sm font-medium transition-colors ${currentPage === page ? "bg-blue-600 text-white" : "text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800"}`,
2229
+ className: `px-3 py-2 rounded-md text-sm font-medium transition-colors ${currentPage === page ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))]" : "text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))]"}`,
2239
2230
  "aria-label": `Page ${page}`,
2240
2231
  "aria-current": currentPage === page ? "page" : void 0,
2241
2232
  children: page
@@ -2248,7 +2239,7 @@ var Pagination = ({
2248
2239
  {
2249
2240
  onClick: () => onPageChange(currentPage + 1),
2250
2241
  disabled: currentPage === totalPages,
2251
- className: "px-3 py-2 rounded-md text-sm font-medium text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-800 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",
2242
+ className: "px-3 py-2 rounded-md text-sm font-medium text-[hsl(var(--foreground))] hover:bg-[hsl(var(--accent))] disabled:opacity-50 disabled:pointer-events-none transition-colors",
2252
2243
  "aria-label": "Next page",
2253
2244
  children: "Next"
2254
2245
  }
@@ -2287,7 +2278,6 @@ var DatePicker = ({
2287
2278
  className = "",
2288
2279
  placeholder = "Select date..."
2289
2280
  }) => {
2290
- const { theme } = useTheme();
2291
2281
  const [isOpen, setIsOpen] = (0, import_react13.useState)(false);
2292
2282
  const [viewDate, setViewDate] = (0, import_react13.useState)(value || /* @__PURE__ */ new Date());
2293
2283
  const [mounted, setMounted] = (0, import_react13.useState)(false);
@@ -2377,14 +2367,14 @@ var DatePicker = ({
2377
2367
  year: "numeric"
2378
2368
  });
2379
2369
  };
2380
- const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500 cursor-pointer";
2381
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
2382
- const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
2370
+ const baseStyles = "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] px-4 py-2.5 text-sm transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))] cursor-pointer";
2371
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]/50" : "";
2372
+ const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-[hsl(var(--muted))]" : "";
2383
2373
  const calendar = isOpen && mounted && calendarPosition ? /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
2384
2374
  "div",
2385
2375
  {
2386
2376
  ref: calendarRef,
2387
- className: "fixed z-[9999] bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-xl p-4",
2377
+ className: "fixed z-[9999] bg-[hsl(var(--popover))] rounded-md border border-[hsl(var(--border))] shadow-lg p-4",
2388
2378
  style: {
2389
2379
  top: `${calendarPosition.top}px`,
2390
2380
  left: `${calendarPosition.left}px`,
@@ -2396,13 +2386,13 @@ var DatePicker = ({
2396
2386
  "button",
2397
2387
  {
2398
2388
  onClick: handlePrevMonth,
2399
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2389
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2400
2390
  "aria-label": "Previous month",
2401
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2391
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2402
2392
  }
2403
2393
  ),
2404
2394
  /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className: "flex items-center gap-2", children: [
2405
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
2395
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("h2", { className: "text-base font-semibold text-[hsl(var(--foreground))]", children: [
2406
2396
  MONTHS[month],
2407
2397
  " ",
2408
2398
  year
@@ -2411,7 +2401,7 @@ var DatePicker = ({
2411
2401
  "button",
2412
2402
  {
2413
2403
  onClick: handleToday,
2414
- className: "px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors",
2404
+ className: "px-2 py-1 text-xs bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] rounded-md hover:bg-[hsl(var(--primary))]/90 transition-colors",
2415
2405
  children: "Today"
2416
2406
  }
2417
2407
  )
@@ -2420,13 +2410,13 @@ var DatePicker = ({
2420
2410
  "button",
2421
2411
  {
2422
2412
  onClick: handleNextMonth,
2423
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2413
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2424
2414
  "aria-label": "Next month",
2425
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2415
+ children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2426
2416
  }
2427
2417
  )
2428
2418
  ] }),
2429
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
2419
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS.map((day) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "text-center text-xs font-semibold text-[hsl(var(--muted-foreground))] py-1", children: day }, day)) }),
2430
2420
  /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("div", { className: "grid grid-cols-7 gap-1", children: calendarDays.map((date, index) => {
2431
2421
  const isCurrentMonthDay = isCurrentMonth(date);
2432
2422
  const isTodayDay = isToday(date);
@@ -2438,11 +2428,11 @@ var DatePicker = ({
2438
2428
  onClick: () => handleDateClick(date),
2439
2429
  disabled: isDisabledDay,
2440
2430
  className: `
2441
- aspect-square p-1 rounded-lg text-sm font-medium transition-all
2442
- ${!isCurrentMonthDay ? "text-gray-400 dark:text-gray-600" : "text-gray-900 dark:text-gray-100"}
2443
- ${isTodayDay && !isSelectedDay ? "bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400 font-bold" : ""}
2444
- ${isSelectedDay ? "bg-blue-600 text-white hover:bg-blue-700" : ""}
2445
- ${!isSelectedDay && !isDisabledDay ? "hover:bg-gray-100 dark:hover:bg-gray-700" : ""}
2431
+ aspect-square p-1 rounded-md text-sm font-medium transition-all
2432
+ ${!isCurrentMonthDay ? "text-[hsl(var(--muted-foreground))]/50" : "text-[hsl(var(--foreground))]"}
2433
+ ${isTodayDay && !isSelectedDay ? "bg-[hsl(var(--accent))] text-[hsl(var(--primary))] font-bold" : ""}
2434
+ ${isSelectedDay ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:bg-[hsl(var(--primary))]/90" : ""}
2435
+ ${!isSelectedDay && !isDisabledDay ? "hover:bg-[hsl(var(--accent))]" : ""}
2446
2436
  ${isDisabledDay ? "opacity-30 cursor-not-allowed" : "cursor-pointer"}
2447
2437
  `,
2448
2438
  children: date.getDate()
@@ -2454,7 +2444,7 @@ var DatePicker = ({
2454
2444
  }
2455
2445
  ) : null;
2456
2446
  return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)("div", { className, children: [
2457
- label && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2447
+ label && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
2458
2448
  /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
2459
2449
  "div",
2460
2450
  {
@@ -2462,13 +2452,13 @@ var DatePicker = ({
2462
2452
  onClick: () => !disabled && setIsOpen(!isOpen),
2463
2453
  className: `${baseStyles} ${errorStyles} ${disabledStyles} flex items-center justify-between`.trim(),
2464
2454
  children: [
2465
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDate2(value) : placeholder }),
2466
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2455
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("span", { className: !value ? "text-[hsl(var(--muted-foreground))]" : "", children: value ? formatDate2(value) : placeholder }),
2456
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2467
2457
  ]
2468
2458
  }
2469
2459
  ),
2470
- error && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2471
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
2460
+ error && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
2461
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime92.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText }),
2472
2462
  mounted && (0, import_react_dom2.createPortal)(calendar, document.body)
2473
2463
  ] });
2474
2464
  };
@@ -2479,12 +2469,11 @@ var import_react14 = require("react");
2479
2469
  var import_jsx_runtime93 = require("react/jsx-runtime");
2480
2470
  var TimePicker = (0, import_react14.forwardRef)(
2481
2471
  ({ label, error, helperText, className = "", disabled, ...props }, ref) => {
2482
- const { theme } = useTheme();
2483
- const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500";
2484
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
2485
- const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
2472
+ const baseStyles = "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] px-3 py-2.5 text-sm transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))]";
2473
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]/50" : "";
2474
+ const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-[hsl(var(--muted))]" : "";
2486
2475
  return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className, children: [
2487
- label && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2476
+ label && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
2488
2477
  /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
2489
2478
  "input",
2490
2479
  {
@@ -2495,8 +2484,8 @@ var TimePicker = (0, import_react14.forwardRef)(
2495
2484
  ...props
2496
2485
  }
2497
2486
  ),
2498
- error && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2499
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
2487
+ error && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
2488
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime93.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText })
2500
2489
  ] });
2501
2490
  }
2502
2491
  );
@@ -2521,6 +2510,7 @@ var MONTHS2 = [
2521
2510
  "November",
2522
2511
  "December"
2523
2512
  ];
2513
+ var SHORT_MONTHS = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
2524
2514
  var DateTimePicker = ({
2525
2515
  label,
2526
2516
  error,
@@ -2533,7 +2523,6 @@ var DateTimePicker = ({
2533
2523
  className = "",
2534
2524
  placeholder = "Select date and time..."
2535
2525
  }) => {
2536
- const { theme } = useTheme();
2537
2526
  const [isOpen, setIsOpen] = (0, import_react15.useState)(false);
2538
2527
  const [viewDate, setViewDate] = (0, import_react15.useState)(value || /* @__PURE__ */ new Date());
2539
2528
  const [selectedTime, setSelectedTime] = (0, import_react15.useState)(
@@ -2644,14 +2633,15 @@ var DateTimePicker = ({
2644
2633
  };
2645
2634
  const formatDateTime = (date) => {
2646
2635
  if (!date) return "";
2647
- return date.toLocaleString("en-US", {
2648
- month: "short",
2649
- day: "numeric",
2650
- year: "numeric",
2651
- hour: "numeric",
2652
- minute: "2-digit",
2653
- hour12: true
2654
- });
2636
+ const monthStr = SHORT_MONTHS[date.getMonth()];
2637
+ const day = date.getDate();
2638
+ const yearNum = date.getFullYear();
2639
+ const hours = date.getHours();
2640
+ const minutes = date.getMinutes();
2641
+ const period = hours >= 12 ? "PM" : "AM";
2642
+ const displayHours = hours % 12 || 12;
2643
+ const displayMinutes = minutes.toString().padStart(2, "0");
2644
+ return `${monthStr} ${day}, ${yearNum}, ${displayHours}:${displayMinutes} ${period}`;
2655
2645
  };
2656
2646
  const formatTime = (hours, minutes) => {
2657
2647
  const period = hours >= 12 ? "PM" : "AM";
@@ -2659,14 +2649,14 @@ var DateTimePicker = ({
2659
2649
  const displayMinutes = minutes.toString().padStart(2, "0");
2660
2650
  return `${displayHours}:${displayMinutes} ${period}`;
2661
2651
  };
2662
- const baseStyles = "w-full appearance-none rounded-lg border border-gray-300 bg-white text-gray-900 px-4 py-2.5 text-base transition-all duration-150 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent shadow-sm hover:border-gray-400 dark:bg-gray-800 dark:border-gray-600 dark:text-gray-100 dark:hover:border-gray-500 cursor-pointer";
2663
- const errorStyles = error ? "border-red-500 focus:ring-red-500 dark:border-red-500" : "";
2664
- const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-gray-50 dark:bg-gray-900" : "";
2652
+ const baseStyles = "w-full appearance-none rounded-md border border-[hsl(var(--input))] bg-transparent text-[hsl(var(--foreground))] px-4 py-2.5 text-sm transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))] hover:border-[hsl(var(--muted-foreground))] cursor-pointer";
2653
+ const errorStyles = error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]/50" : "";
2654
+ const disabledStyles = disabled ? "opacity-50 cursor-not-allowed bg-[hsl(var(--muted))]" : "";
2665
2655
  const picker = isOpen && mounted && pickerPosition ? /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
2666
2656
  "div",
2667
2657
  {
2668
2658
  ref: pickerRef,
2669
- className: "fixed z-[9999] bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-xl p-4",
2659
+ className: "fixed z-[9999] bg-[hsl(var(--popover))] rounded-md border border-[hsl(var(--border))] shadow-lg p-4",
2670
2660
  style: {
2671
2661
  top: `${pickerPosition.top}px`,
2672
2662
  left: `${pickerPosition.left}px`,
@@ -2678,13 +2668,13 @@ var DateTimePicker = ({
2678
2668
  "button",
2679
2669
  {
2680
2670
  onClick: handlePrevMonth,
2681
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2671
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2682
2672
  "aria-label": "Previous month",
2683
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2673
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2684
2674
  }
2685
2675
  ),
2686
2676
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center gap-2", children: [
2687
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("h2", { className: "text-base font-semibold text-gray-900 dark:text-gray-100", children: [
2677
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("h2", { className: "text-base font-semibold text-[hsl(var(--foreground))]", children: [
2688
2678
  MONTHS2[month],
2689
2679
  " ",
2690
2680
  year
@@ -2693,7 +2683,7 @@ var DateTimePicker = ({
2693
2683
  "button",
2694
2684
  {
2695
2685
  onClick: handleToday,
2696
- className: "px-2 py-1 text-xs bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors",
2686
+ className: "px-2 py-1 text-xs bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] rounded-md hover:bg-[hsl(var(--primary))]/90 transition-colors",
2697
2687
  children: "Now"
2698
2688
  }
2699
2689
  )
@@ -2702,13 +2692,13 @@ var DateTimePicker = ({
2702
2692
  "button",
2703
2693
  {
2704
2694
  onClick: handleNextMonth,
2705
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2695
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2706
2696
  "aria-label": "Next month",
2707
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2697
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2708
2698
  }
2709
2699
  )
2710
2700
  ] }),
2711
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS2.map((day) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-1", children: day }, day)) }),
2701
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS2.map((day) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-center text-xs font-semibold text-[hsl(var(--muted-foreground))] py-1", children: day }, day)) }),
2712
2702
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-4", children: calendarDays.map((date, index) => {
2713
2703
  const isCurrentMonthDay = isCurrentMonth(date);
2714
2704
  const isTodayDay = isToday(date);
@@ -2720,11 +2710,11 @@ var DateTimePicker = ({
2720
2710
  onClick: () => handleDateClick(date),
2721
2711
  disabled: isDisabledDay,
2722
2712
  className: `
2723
- aspect-square p-1 rounded-lg text-sm font-medium transition-all
2724
- ${!isCurrentMonthDay ? "text-gray-400 dark:text-gray-600" : "text-gray-900 dark:text-gray-100"}
2725
- ${isTodayDay && !isSelectedDay ? "bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400 font-bold" : ""}
2726
- ${isSelectedDay ? "bg-blue-600 text-white hover:bg-blue-700" : ""}
2727
- ${!isSelectedDay && !isDisabledDay ? "hover:bg-gray-100 dark:hover:bg-gray-700" : ""}
2713
+ aspect-square p-1 rounded-md text-sm font-medium transition-all
2714
+ ${!isCurrentMonthDay ? "text-[hsl(var(--muted-foreground))]/50" : "text-[hsl(var(--foreground))]"}
2715
+ ${isTodayDay && !isSelectedDay ? "bg-[hsl(var(--accent))] text-[hsl(var(--primary))] font-bold" : ""}
2716
+ ${isSelectedDay ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:bg-[hsl(var(--primary))]/90" : ""}
2717
+ ${!isSelectedDay && !isDisabledDay ? "hover:bg-[hsl(var(--accent))]" : ""}
2728
2718
  ${isDisabledDay ? "opacity-30 cursor-not-allowed" : "cursor-pointer"}
2729
2719
  `,
2730
2720
  children: date.getDate()
@@ -2732,18 +2722,18 @@ var DateTimePicker = ({
2732
2722
  index
2733
2723
  );
2734
2724
  }) }),
2735
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "border-t border-gray-200 dark:border-gray-700 pt-4", children: [
2725
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "border-t border-[hsl(var(--border))] pt-4", children: [
2736
2726
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex items-center justify-center gap-4 mb-4", children: [
2737
2727
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex flex-col items-center", children: [
2738
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Hour" }),
2728
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "text-xs font-semibold text-[hsl(var(--muted-foreground))] mb-2", children: "Hour" }),
2739
2729
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex flex-col items-center gap-1", children: [
2740
2730
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
2741
2731
  "button",
2742
2732
  {
2743
2733
  type: "button",
2744
2734
  onClick: () => handleTimeChange((selectedTime.hours + 1) % 24, selectedTime.minutes),
2745
- className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2746
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2735
+ className: "p-1 hover:bg-[hsl(var(--accent))] rounded transition-colors",
2736
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2747
2737
  }
2748
2738
  ),
2749
2739
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
@@ -2759,7 +2749,7 @@ var DateTimePicker = ({
2759
2749
  handleTimeChange(val, selectedTime.minutes);
2760
2750
  }
2761
2751
  },
2762
- className: "w-16 px-2 py-2 text-center border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2752
+ className: "w-16 px-2 py-2 text-center border border-[hsl(var(--input))] rounded-md bg-transparent text-[hsl(var(--foreground))] focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2763
2753
  }
2764
2754
  ),
2765
2755
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
@@ -2767,23 +2757,23 @@ var DateTimePicker = ({
2767
2757
  {
2768
2758
  type: "button",
2769
2759
  onClick: () => handleTimeChange((selectedTime.hours - 1 + 24) % 24, selectedTime.minutes),
2770
- className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2771
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2760
+ className: "p-1 hover:bg-[hsl(var(--accent))] rounded transition-colors",
2761
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2772
2762
  }
2773
2763
  )
2774
2764
  ] })
2775
2765
  ] }),
2776
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "text-2xl font-bold text-gray-600 dark:text-gray-400 mt-8", children: ":" }),
2766
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: "text-2xl font-bold text-[hsl(var(--muted-foreground))] mt-8", children: ":" }),
2777
2767
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex flex-col items-center", children: [
2778
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "text-xs font-semibold text-gray-600 dark:text-gray-400 mb-2", children: "Minute" }),
2768
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "text-xs font-semibold text-[hsl(var(--muted-foreground))] mb-2", children: "Minute" }),
2779
2769
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className: "flex flex-col items-center gap-1", children: [
2780
2770
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
2781
2771
  "button",
2782
2772
  {
2783
2773
  type: "button",
2784
2774
  onClick: () => handleTimeChange(selectedTime.hours, (selectedTime.minutes + 1) % 60),
2785
- className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2786
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2775
+ className: "p-1 hover:bg-[hsl(var(--accent))] rounded transition-colors",
2776
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 15l7-7 7 7" }) })
2787
2777
  }
2788
2778
  ),
2789
2779
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
@@ -2799,7 +2789,7 @@ var DateTimePicker = ({
2799
2789
  handleTimeChange(selectedTime.hours, val);
2800
2790
  }
2801
2791
  },
2802
- className: "w-16 px-2 py-2 text-center border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2792
+ className: "w-16 px-2 py-2 text-center border border-[hsl(var(--input))] rounded-md bg-transparent text-[hsl(var(--foreground))] focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 text-lg font-semibold [appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none"
2803
2793
  }
2804
2794
  ),
2805
2795
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
@@ -2807,19 +2797,19 @@ var DateTimePicker = ({
2807
2797
  {
2808
2798
  type: "button",
2809
2799
  onClick: () => handleTimeChange(selectedTime.hours, (selectedTime.minutes - 1 + 60) % 60),
2810
- className: "p-1 hover:bg-gray-100 dark:hover:bg-gray-700 rounded transition-colors",
2811
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2800
+ className: "p-1 hover:bg-[hsl(var(--accent))] rounded transition-colors",
2801
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })
2812
2802
  }
2813
2803
  )
2814
2804
  ] })
2815
2805
  ] })
2816
2806
  ] }),
2817
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-center text-sm text-gray-600 dark:text-gray-400 mb-4", children: formatTime(selectedTime.hours, selectedTime.minutes) }),
2807
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("div", { className: "text-center text-sm text-[hsl(var(--muted-foreground))] mb-4", children: formatTime(selectedTime.hours, selectedTime.minutes) }),
2818
2808
  /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
2819
2809
  "button",
2820
2810
  {
2821
2811
  onClick: handleDone,
2822
- className: "w-full px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors font-medium",
2812
+ className: "w-full px-4 py-2 bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] rounded-md hover:bg-[hsl(var(--primary))]/90 transition-colors font-medium",
2823
2813
  children: "Done"
2824
2814
  }
2825
2815
  )
@@ -2828,7 +2818,7 @@ var DateTimePicker = ({
2828
2818
  }
2829
2819
  ) : null;
2830
2820
  return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)("div", { className, children: [
2831
- label && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
2821
+ label && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
2832
2822
  /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
2833
2823
  "div",
2834
2824
  {
@@ -2836,13 +2826,13 @@ var DateTimePicker = ({
2836
2826
  onClick: () => !disabled && setIsOpen(!isOpen),
2837
2827
  className: `${baseStyles} ${errorStyles} ${disabledStyles} flex items-center justify-between`.trim(),
2838
2828
  children: [
2839
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: !value ? "text-gray-500 dark:text-gray-400" : "", children: value ? formatDateTime(value) : placeholder }),
2840
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2829
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("span", { className: !value ? "text-[hsl(var(--muted-foreground))]" : "", children: value ? formatDateTime(value) : placeholder }),
2830
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z" }) })
2841
2831
  ]
2842
2832
  }
2843
2833
  ),
2844
- error && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
2845
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
2834
+ error && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
2835
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime94.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText }),
2846
2836
  mounted && (0, import_react_dom3.createPortal)(picker, document.body)
2847
2837
  ] });
2848
2838
  };
@@ -2873,7 +2863,6 @@ var Calendar = ({
2873
2863
  maxDate,
2874
2864
  className = ""
2875
2865
  }) => {
2876
- const { theme } = useTheme();
2877
2866
  const [currentDate, setCurrentDate] = (0, import_react16.useState)(value || /* @__PURE__ */ new Date());
2878
2867
  const [viewDate, setViewDate] = (0, import_react16.useState)(value || /* @__PURE__ */ new Date());
2879
2868
  const year = viewDate.getFullYear();
@@ -2926,19 +2915,19 @@ var Calendar = ({
2926
2915
  setCurrentDate(today);
2927
2916
  onChange?.(today);
2928
2917
  };
2929
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 p-4 ${className}`, children: [
2918
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: `bg-[hsl(var(--card))] rounded-md border border-[hsl(var(--border))] p-4 ${className}`, children: [
2930
2919
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center justify-between mb-4", children: [
2931
2920
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
2932
2921
  "button",
2933
2922
  {
2934
2923
  onClick: handlePrevMonth,
2935
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2924
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2936
2925
  "aria-label": "Previous month",
2937
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2926
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) })
2938
2927
  }
2939
2928
  ),
2940
2929
  /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("div", { className: "flex items-center gap-2", children: [
2941
- /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("h2", { className: "text-lg font-semibold text-gray-900 dark:text-gray-100", children: [
2930
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)("h2", { className: "text-lg font-semibold text-[hsl(var(--foreground))]", children: [
2942
2931
  MONTHS3[month],
2943
2932
  " ",
2944
2933
  year
@@ -2947,7 +2936,7 @@ var Calendar = ({
2947
2936
  "button",
2948
2937
  {
2949
2938
  onClick: handleToday,
2950
- className: "px-3 py-1 text-sm bg-blue-600 text-white rounded hover:bg-blue-700 transition-colors",
2939
+ className: "px-3 py-1 text-sm bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] rounded-md hover:bg-[hsl(var(--primary))]/90 transition-colors",
2951
2940
  children: "Today"
2952
2941
  }
2953
2942
  )
@@ -2956,16 +2945,16 @@ var Calendar = ({
2956
2945
  "button",
2957
2946
  {
2958
2947
  onClick: handleNextMonth,
2959
- className: "p-2 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors",
2948
+ className: "p-2 hover:bg-[hsl(var(--accent))] rounded-md transition-colors",
2960
2949
  "aria-label": "Next month",
2961
- children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("svg", { className: "w-5 h-5 text-gray-600 dark:text-gray-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2950
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("svg", { className: "w-5 h-5 text-[hsl(var(--muted-foreground))]", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M9 5l7 7-7 7" }) })
2962
2951
  }
2963
2952
  )
2964
2953
  ] }),
2965
2954
  /* @__PURE__ */ (0, import_jsx_runtime95.jsx)("div", { className: "grid grid-cols-7 gap-1 mb-2", children: DAYS3.map((day) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
2966
2955
  "div",
2967
2956
  {
2968
- className: "text-center text-xs font-semibold text-gray-600 dark:text-gray-400 py-2",
2957
+ className: "text-center text-xs font-semibold text-[hsl(var(--muted-foreground))] py-2",
2969
2958
  children: day
2970
2959
  },
2971
2960
  day
@@ -2982,11 +2971,11 @@ var Calendar = ({
2982
2971
  onClick: () => handleDateClick(date),
2983
2972
  disabled: isDisabledDay,
2984
2973
  className: `
2985
- aspect-square p-2 rounded-lg text-sm font-medium transition-all
2986
- ${!isCurrentMonthDay ? "text-gray-400 dark:text-gray-600" : "text-gray-900 dark:text-gray-100"}
2987
- ${isTodayDay && !isSelectedDay ? "bg-blue-50 dark:bg-blue-900/20 text-blue-600 dark:text-blue-400 font-bold" : ""}
2988
- ${isSelectedDay ? "bg-blue-600 text-white hover:bg-blue-700" : ""}
2989
- ${!isSelectedDay && !isDisabledDay ? "hover:bg-gray-100 dark:hover:bg-gray-700" : ""}
2974
+ aspect-square p-2 rounded-md text-sm font-medium transition-all
2975
+ ${!isCurrentMonthDay ? "text-[hsl(var(--muted-foreground))]/50" : "text-[hsl(var(--foreground))]"}
2976
+ ${isTodayDay && !isSelectedDay ? "bg-[hsl(var(--accent))] text-[hsl(var(--primary))] font-bold" : ""}
2977
+ ${isSelectedDay ? "bg-[hsl(var(--primary))] text-[hsl(var(--primary-foreground))] hover:bg-[hsl(var(--primary))]/90" : ""}
2978
+ ${!isSelectedDay && !isDisabledDay ? "hover:bg-[hsl(var(--accent))]" : ""}
2990
2979
  ${isDisabledDay ? "opacity-30 cursor-not-allowed" : "cursor-pointer"}
2991
2980
  `,
2992
2981
  children: date.getDate()
@@ -3043,13 +3032,13 @@ var Radio = ({
3043
3032
  }
3044
3033
  ),
3045
3034
  /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: `w-4 h-4 rounded-full border-2 transition-all duration-200 flex items-center justify-center
3046
- border-gray-300 dark:border-gray-600
3047
- ${isDisabled ? "bg-gray-100 dark:bg-gray-800" : "peer-hover:border-gray-400 dark:peer-hover:border-gray-500"}
3048
- ${isChecked ? "border-blue-600 bg-white dark:bg-gray-900" : ""}
3049
- peer-focus:ring-2 peer-focus:ring-blue-500 peer-focus:ring-offset-2
3050
- `, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: `w-2 h-2 rounded-full bg-blue-600 transition-all duration-200 ${isChecked ? "scale-100" : "scale-0"}` }) })
3035
+ border-[hsl(var(--input))]
3036
+ ${isDisabled ? "bg-[hsl(var(--muted))]" : "peer-hover:border-[hsl(var(--ring))]"}
3037
+ ${isChecked ? "border-[hsl(var(--primary))] bg-[hsl(var(--background))]" : ""}
3038
+ peer-focus:ring-1 peer-focus:ring-[hsl(var(--ring))]/50
3039
+ `, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("div", { className: `w-2 h-2 rounded-full bg-[hsl(var(--primary))] transition-all duration-200 ${isChecked ? "scale-100" : "scale-0"}` }) })
3051
3040
  ] }),
3052
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: `text-sm font-medium text-gray-900 dark:text-gray-300 ${!isDisabled && "group-hover:text-gray-700 dark:group-hover:text-gray-100"}`, children: option.label })
3041
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)("span", { className: `text-sm font-medium text-[hsl(var(--foreground))] ${!isDisabled && "group-hover:text-[hsl(var(--foreground))]"}`, children: option.label })
3053
3042
  ]
3054
3043
  },
3055
3044
  option.value
@@ -3075,15 +3064,15 @@ var ProgressBar = ({
3075
3064
  lg: "h-3"
3076
3065
  };
3077
3066
  const variantClasses = {
3078
- default: "bg-blue-600 dark:bg-blue-500",
3079
- success: "bg-green-600 dark:bg-green-500",
3080
- warning: "bg-yellow-500 dark:bg-yellow-400",
3081
- danger: "bg-red-600 dark:bg-red-500"
3067
+ default: "bg-[hsl(var(--primary))]",
3068
+ success: "bg-[hsl(var(--success))]",
3069
+ warning: "bg-[hsl(var(--warning))]",
3070
+ danger: "bg-[hsl(var(--destructive))]"
3082
3071
  };
3083
3072
  return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: `w-full ${className}`, children: [
3084
3073
  (showLabel || label) && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex justify-between items-center mb-1", children: [
3085
- label && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
3086
- showLabel && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
3074
+ label && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-sm font-medium text-[hsl(var(--foreground))]", children: label }),
3075
+ showLabel && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "text-sm font-medium text-[hsl(var(--muted-foreground))]", children: [
3087
3076
  Math.round(percentage),
3088
3077
  "%"
3089
3078
  ] })
@@ -3091,7 +3080,7 @@ var ProgressBar = ({
3091
3080
  /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
3092
3081
  "div",
3093
3082
  {
3094
- className: `w-full bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden ${sizeClasses7[size]}`,
3083
+ className: `w-full bg-[hsl(var(--muted))] rounded-full overflow-hidden ${sizeClasses7[size]}`,
3095
3084
  role: "progressbar",
3096
3085
  "aria-valuenow": value,
3097
3086
  "aria-valuemin": 0,
@@ -3198,19 +3187,19 @@ var Slider = ({
3198
3187
  if (range) {
3199
3188
  return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: `w-full ${className}`, children: [
3200
3189
  (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
3201
- label && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
3202
- showValue && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
3190
+ label && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("label", { className: "text-sm font-medium text-[hsl(var(--foreground))]", children: label }),
3191
+ showValue && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("span", { className: "text-sm font-medium text-[hsl(var(--muted-foreground))]", children: [
3203
3192
  rangeValue[0],
3204
3193
  " - ",
3205
3194
  rangeValue[1]
3206
3195
  ] })
3207
3196
  ] }),
3208
3197
  /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "relative h-10 flex items-center", ref: trackRef, children: [
3209
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
3198
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "absolute w-full h-2 bg-[hsl(var(--muted))] rounded-full" }),
3210
3199
  /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
3211
3200
  "div",
3212
3201
  {
3213
- className: "absolute h-2 bg-blue-600 dark:bg-blue-500 rounded-full pointer-events-none",
3202
+ className: "absolute h-2 bg-[hsl(var(--primary))] rounded-full pointer-events-none",
3214
3203
  style: {
3215
3204
  left: `${minPercentage}%`,
3216
3205
  width: `${maxPercentage - minPercentage}%`
@@ -3220,7 +3209,7 @@ var Slider = ({
3220
3209
  /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
3221
3210
  "div",
3222
3211
  {
3223
- className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md cursor-pointer z-10
3212
+ className: `absolute w-4 h-4 -ml-2 rounded-full bg-[hsl(var(--background))] border-2 border-[hsl(var(--primary))] shadow-md cursor-pointer z-10
3224
3213
  ${disabled ? "opacity-50 cursor-not-allowed" : ""}
3225
3214
  `,
3226
3215
  style: { left: `${minPercentage}%` },
@@ -3237,7 +3226,7 @@ var Slider = ({
3237
3226
  /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
3238
3227
  "div",
3239
3228
  {
3240
- className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md cursor-pointer z-10
3229
+ className: `absolute w-4 h-4 -ml-2 rounded-full bg-[hsl(var(--background))] border-2 border-[hsl(var(--primary))] shadow-md cursor-pointer z-10
3241
3230
  ${disabled ? "opacity-50 cursor-not-allowed" : ""}
3242
3231
  `,
3243
3232
  style: { left: `${maxPercentage}%` },
@@ -3256,22 +3245,22 @@ var Slider = ({
3256
3245
  }
3257
3246
  return /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: `w-full ${className}`, children: [
3258
3247
  (label || showValue) && /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "flex justify-between items-center mb-2", children: [
3259
- label && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("label", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: label }),
3260
- showValue && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: value })
3248
+ label && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("label", { className: "text-sm font-medium text-[hsl(var(--foreground))]", children: label }),
3249
+ showValue && /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("span", { className: "text-sm font-medium text-[hsl(var(--muted-foreground))]", children: value })
3261
3250
  ] }),
3262
3251
  /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)("div", { className: "relative h-10 flex items-center", children: [
3263
- /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "absolute w-full h-2 bg-gray-200 dark:bg-gray-700 rounded-full" }),
3252
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)("div", { className: "absolute w-full h-2 bg-[hsl(var(--muted))] rounded-full" }),
3264
3253
  /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
3265
3254
  "div",
3266
3255
  {
3267
- className: "absolute h-2 bg-blue-600 dark:bg-blue-500 rounded-full pointer-events-none",
3256
+ className: "absolute h-2 bg-[hsl(var(--primary))] rounded-full pointer-events-none",
3268
3257
  style: { width: `${percentage}%` }
3269
3258
  }
3270
3259
  ),
3271
3260
  /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
3272
3261
  "div",
3273
3262
  {
3274
- className: `absolute w-4 h-4 -ml-2 rounded-sm bg-white dark:bg-gray-800 border-2 border-blue-600 shadow-md pointer-events-none z-10
3263
+ className: `absolute w-4 h-4 -ml-2 rounded-full bg-[hsl(var(--background))] border-2 border-[hsl(var(--primary))] shadow-md pointer-events-none z-10
3275
3264
  ${disabled ? "opacity-50" : ""}
3276
3265
  `,
3277
3266
  style: { left: `${percentage}%` }
@@ -3287,7 +3276,7 @@ var Slider = ({
3287
3276
  value,
3288
3277
  onChange: handleChange,
3289
3278
  disabled,
3290
- className: "relative w-full h-10 bg-transparent appearance-none cursor-pointer disabled:cursor-not-allowed z-20\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4\n [&::-webkit-slider-thumb]:rounded-sm [&::-webkit-slider-thumb]:bg-transparent [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-sm\n [&::-moz-range-thumb]:bg-transparent [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
3279
+ className: "relative w-full h-10 bg-transparent appearance-none cursor-pointer disabled:cursor-not-allowed z-20\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-4 [&::-webkit-slider-thumb]:h-4\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-transparent [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-4 [&::-moz-range-thumb]:h-4 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-transparent [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
3291
3280
  "aria-label": label,
3292
3281
  "aria-valuemin": min,
3293
3282
  "aria-valuemax": max,
@@ -3308,7 +3297,7 @@ var Avatar = ({
3308
3297
  size = "md",
3309
3298
  shape = "circle",
3310
3299
  className = "",
3311
- fallbackColor = "bg-blue-600"
3300
+ fallbackColor = "bg-[hsl(var(--primary))]"
3312
3301
  }) => {
3313
3302
  const [imageError, setImageError] = import_react19.default.useState(false);
3314
3303
  const sizeClasses7 = {
@@ -3331,7 +3320,7 @@ var Avatar = ({
3331
3320
  return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
3332
3321
  "div",
3333
3322
  {
3334
- className: `${sizeClasses7[size]} ${shapeClass} flex items-center justify-center overflow-hidden ${showImage ? "bg-gray-200 dark:bg-gray-700" : `${fallbackColor} text-white`} ${className}`,
3323
+ className: `${sizeClasses7[size]} ${shapeClass} flex items-center justify-center overflow-hidden ${showImage ? "bg-[hsl(var(--muted))]" : `${fallbackColor} text-white`} ${className}`,
3335
3324
  children: showImage ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
3336
3325
  "img",
3337
3326
  {
@@ -3343,7 +3332,7 @@ var Avatar = ({
3343
3332
  ) : showInitials ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { className: "font-semibold select-none", children: getInitials(name) }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
3344
3333
  "svg",
3345
3334
  {
3346
- className: "w-full h-full text-gray-400 dark:text-gray-600",
3335
+ className: "w-full h-full text-[hsl(var(--muted-foreground))]",
3347
3336
  fill: "currentColor",
3348
3337
  viewBox: "0 0 24 24",
3349
3338
  children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)("path", { d: "M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z" })
@@ -3367,8 +3356,8 @@ var Textarea = ({
3367
3356
  }) => {
3368
3357
  const sizeClasses7 = {
3369
3358
  sm: "px-3 py-1.5 text-sm min-h-[80px]",
3370
- md: "px-4 py-2 text-base min-h-[100px]",
3371
- lg: "px-4 py-3 text-lg min-h-[120px]"
3359
+ md: "px-3 py-2.5 text-sm min-h-[100px]",
3360
+ lg: "px-4 py-3 text-base min-h-[120px]"
3372
3361
  };
3373
3362
  const resizeClasses = {
3374
3363
  none: "resize-none",
@@ -3376,13 +3365,13 @@ var Textarea = ({
3376
3365
  horizontal: "resize-x",
3377
3366
  both: "resize"
3378
3367
  };
3379
- const baseClasses = `w-full rounded-lg border transition-colors duration-150 focus:outline-none focus:ring-2
3380
- ${error ? "border-red-500 focus:ring-red-500 focus:border-red-500 dark:border-red-400 dark:focus:ring-red-400" : "border-gray-300 focus:ring-blue-500 focus:border-blue-500 dark:border-gray-600 dark:focus:ring-blue-400"}
3381
- bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100
3382
- placeholder:text-gray-500 dark:placeholder:text-gray-400
3383
- disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-gray-50 dark:disabled:bg-gray-900`;
3368
+ const baseClasses = `w-full rounded-md border transition-colors duration-150 focus:outline-none focus:ring-1 focus:ring-[hsl(var(--ring))]/50 focus:border-[hsl(var(--ring))]
3369
+ ${error ? "border-[hsl(var(--destructive))] focus:ring-[hsl(var(--destructive))]/50" : "border-[hsl(var(--input))] hover:border-[hsl(var(--muted-foreground))]"}
3370
+ bg-transparent text-[hsl(var(--foreground))]
3371
+ placeholder:text-[hsl(var(--muted-foreground))]
3372
+ disabled:opacity-50 disabled:cursor-not-allowed disabled:bg-[hsl(var(--muted))]`;
3384
3373
  return /* @__PURE__ */ (0, import_jsx_runtime100.jsxs)("div", { className: `w-full ${className}`, children: [
3385
- label && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1", children: label }),
3374
+ label && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-1.5", children: label }),
3386
3375
  /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
3387
3376
  "textarea",
3388
3377
  {
@@ -3391,8 +3380,8 @@ var Textarea = ({
3391
3380
  ...props
3392
3381
  }
3393
3382
  ),
3394
- error && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
3395
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText })
3383
+ error && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--destructive))]", children: error }),
3384
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime100.jsx)("p", { className: "mt-1.5 text-sm text-[hsl(var(--muted-foreground))]", children: helperText })
3396
3385
  ] });
3397
3386
  };
3398
3387
 
@@ -3630,7 +3619,7 @@ var RichTextEditor = ({
3630
3619
  if (selection && selection.rangeCount > 0) {
3631
3620
  const range = selection.getRangeAt(0);
3632
3621
  const code = document.createElement("code");
3633
- code.className = "bg-gray-100 dark:bg-gray-700 px-1.5 py-0.5 rounded text-sm font-mono";
3622
+ code.className = "bg-[hsl(var(--muted))] px-1.5 py-0.5 rounded text-sm font-mono";
3634
3623
  try {
3635
3624
  range.surroundContents(code);
3636
3625
  handleInput();
@@ -3719,17 +3708,17 @@ var RichTextEditor = ({
3719
3708
  handleInput();
3720
3709
  }, [imageUrl, imageAlt, handleInput]);
3721
3710
  const getButtonClass = (isActive) => {
3722
- const baseClass = themeName === "minimalistic" ? "border border-white text-white transition-colors" : "border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 transition-colors";
3723
- const activeClass = themeName === "minimalistic" ? "bg-white text-black" : "bg-blue-100 dark:bg-blue-900 border-blue-500 dark:border-blue-400";
3724
- const hoverClass = themeName === "minimalistic" ? "hover:bg-white hover:text-black" : "hover:bg-gray-100 dark:hover:bg-gray-700";
3711
+ const baseClass = themeName === "minimalistic" ? "border border-white text-white transition-colors" : "border border-[hsl(var(--input))] text-[hsl(var(--foreground))] transition-colors";
3712
+ const activeClass = themeName === "minimalistic" ? "bg-white text-black" : "bg-[hsl(var(--primary))]/20 border-[hsl(var(--primary))]";
3713
+ const hoverClass = themeName === "minimalistic" ? "hover:bg-white hover:text-black" : "hover:bg-[hsl(var(--accent))]";
3725
3714
  const disabledClass = disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer";
3726
3715
  return `px-2.5 py-1.5 rounded text-sm font-medium ${baseClass} ${isActive ? activeClass : hoverClass} ${disabledClass}`;
3727
3716
  };
3728
- const editorBaseClass = themeName === "minimalistic" ? "bg-transparent border-2 border-white text-white placeholder:text-gray-500" : "bg-white dark:bg-gray-800 border border-gray-300 dark:border-gray-600 text-gray-900 dark:text-gray-100";
3729
- const focusClass = isFocused && !disabled ? themeName === "minimalistic" ? "border-white" : "border-blue-500 dark:border-blue-400 ring-2 ring-blue-500/20" : "";
3717
+ const editorBaseClass = themeName === "minimalistic" ? "bg-transparent border-2 border-white text-white placeholder:text-[hsl(var(--muted-foreground))]" : "bg-[hsl(var(--card))] border border-[hsl(var(--input))] text-[hsl(var(--foreground))]";
3718
+ const focusClass = isFocused && !disabled ? themeName === "minimalistic" ? "border-white" : "border-[hsl(var(--primary))] ring-1 ring-[hsl(var(--ring))]/50" : "";
3730
3719
  const errorClass = error ? "border-red-500 dark:border-red-400" : "";
3731
3720
  return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: `w-full ${className}`, children: [
3732
- label && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
3721
+ label && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-2", children: label }),
3733
3722
  /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: `rounded-t-lg border-b ${editorBaseClass} p-2 flex flex-wrap gap-1`, children: [
3734
3723
  /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex gap-1", children: [
3735
3724
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
@@ -3777,7 +3766,7 @@ var RichTextEditor = ({
3777
3766
  }
3778
3767
  )
3779
3768
  ] }),
3780
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3769
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-[hsl(var(--border))] mx-1" }),
3781
3770
  /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex gap-1", children: [
3782
3771
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
3783
3772
  "button",
@@ -3813,7 +3802,7 @@ var RichTextEditor = ({
3813
3802
  }
3814
3803
  )
3815
3804
  ] }),
3816
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3805
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-[hsl(var(--border))] mx-1" }),
3817
3806
  /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex gap-1", children: [
3818
3807
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
3819
3808
  "button",
@@ -3838,7 +3827,7 @@ var RichTextEditor = ({
3838
3827
  }
3839
3828
  )
3840
3829
  ] }),
3841
- /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-gray-300 dark:bg-gray-600 mx-1" }),
3830
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("div", { className: "w-px bg-[hsl(var(--border))] mx-1" }),
3842
3831
  /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "flex gap-1", children: [
3843
3832
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
3844
3833
  "button",
@@ -3900,7 +3889,7 @@ var RichTextEditor = ({
3900
3889
  }
3901
3890
  ),
3902
3891
  error && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("p", { className: "mt-1 text-sm text-red-600 dark:text-red-400", children: error }),
3903
- helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("p", { className: "mt-1 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
3892
+ helperText && !error && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("p", { className: "mt-1 text-sm text-[hsl(var(--muted-foreground))]", children: helperText }),
3904
3893
  /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
3905
3894
  Modal,
3906
3895
  {
@@ -4059,31 +4048,31 @@ var ToastProvider = ({ children, position = "top-right" }) => {
4059
4048
  };
4060
4049
  var ToastItem = ({ toast: toast2, onClose }) => {
4061
4050
  const typeStyles = {
4062
- success: "bg-green-50 dark:bg-green-900/30 border-green-500 text-green-800 dark:text-green-200",
4063
- error: "bg-red-50 dark:bg-red-900/30 border-red-500 text-red-800 dark:text-red-200",
4064
- warning: "bg-yellow-50 dark:bg-yellow-900/30 border-yellow-500 text-yellow-800 dark:text-yellow-200",
4065
- info: "bg-blue-50 dark:bg-blue-900/30 border-blue-500 text-blue-800 dark:text-blue-200"
4051
+ success: "bg-[hsl(var(--success))]/10 border-[hsl(var(--success))] text-[hsl(var(--success))]",
4052
+ error: "bg-[hsl(var(--destructive))]/10 border-[hsl(var(--destructive))] text-[hsl(var(--destructive))]",
4053
+ warning: "bg-[hsl(var(--warning))]/10 border-[hsl(var(--warning))] text-[hsl(var(--warning))]",
4054
+ info: "bg-[hsl(var(--info))]/10 border-[hsl(var(--info))] text-[hsl(var(--info))]"
4066
4055
  };
4067
4056
  const typeIcons = {
4068
- success: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CheckIcon, { size: "sm", className: "text-green-600 dark:text-green-400" }),
4069
- error: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CloseIcon, { size: "sm", className: "text-red-600 dark:text-red-400" }),
4070
- warning: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("svg", { className: "w-4 h-4 text-yellow-600 dark:text-yellow-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
4071
- info: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("svg", { className: "w-4 h-4 text-blue-600 dark:text-blue-400", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) })
4057
+ success: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CheckIcon, { size: "sm", className: "text-[hsl(var(--success))]" }),
4058
+ error: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CloseIcon, { size: "sm", className: "text-[hsl(var(--destructive))]" }),
4059
+ warning: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--warning))]", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("path", { fillRule: "evenodd", d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z", clipRule: "evenodd" }) }),
4060
+ info: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("svg", { className: "w-4 h-4 text-[hsl(var(--info))]", fill: "currentColor", viewBox: "0 0 20 20", children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("path", { fillRule: "evenodd", d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z", clipRule: "evenodd" }) })
4072
4061
  };
4073
4062
  const type = toast2.type || "info";
4074
4063
  return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
4075
4064
  "div",
4076
4065
  {
4077
- className: `flex items-start gap-3 p-4 rounded-lg border-l-4 shadow-lg backdrop-blur-sm ${typeStyles[type]} animate-slide-in`,
4066
+ className: `flex items-start gap-3 p-4 rounded-md border-l-4 shadow-lg bg-[hsl(var(--card))] ${typeStyles[type]} animate-slide-in`,
4078
4067
  role: "alert",
4079
4068
  children: [
4080
4069
  /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "flex-shrink-0 mt-0.5", children: typeIcons[type] }),
4081
- /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("p", { className: "flex-1 text-sm font-medium", children: toast2.message }),
4070
+ /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("p", { className: "flex-1 text-sm font-medium text-[hsl(var(--foreground))]", children: toast2.message }),
4082
4071
  /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(
4083
4072
  "button",
4084
4073
  {
4085
4074
  onClick: onClose,
4086
- className: "flex-shrink-0 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200 transition-colors",
4075
+ className: "flex-shrink-0 text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors",
4087
4076
  "aria-label": "Close",
4088
4077
  children: /* @__PURE__ */ (0, import_jsx_runtime102.jsx)(CloseIcon, { size: "sm" })
4089
4078
  }
@@ -4138,7 +4127,7 @@ var Stepper = ({
4138
4127
  };
4139
4128
  const shouldShowCounter = isHorizontal && steps.length > 3;
4140
4129
  return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: `${isHorizontal ? "flex items-start w-full" : "flex flex-col"} ${className}`, children: [
4141
- shouldShowCounter && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "md:hidden flex items-center mr-4 flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("span", { className: "text-sm font-medium text-gray-600 dark:text-gray-400", children: [
4130
+ shouldShowCounter && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: "md:hidden flex items-center mr-4 flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("span", { className: "text-sm font-medium text-[hsl(var(--muted-foreground))]", children: [
4142
4131
  currentStep,
4143
4132
  "/",
4144
4133
  steps.length
@@ -4162,11 +4151,11 @@ var Stepper = ({
4162
4151
  /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4163
4152
  "div",
4164
4153
  {
4165
- className: `flex items-center justify-center w-10 h-10 rounded-full border-2 transition-all ${isCompleted ? "bg-blue-600 border-blue-600 dark:bg-blue-500 dark:border-blue-500" : isActive ? "border-blue-600 bg-white dark:border-blue-500 dark:bg-gray-800" : "border-gray-300 bg-white dark:border-gray-600 dark:bg-gray-800"}`,
4166
- children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(CheckIcon, { size: "sm", className: "text-white" }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4154
+ className: `flex items-center justify-center w-10 h-10 rounded-full border-2 transition-all ${isCompleted ? "bg-[hsl(var(--primary))] border-[hsl(var(--primary))]" : isActive ? "border-[hsl(var(--primary))] bg-[hsl(var(--background))]" : "border-[hsl(var(--border))] bg-[hsl(var(--background))]"}`,
4155
+ children: isCompleted ? /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(CheckIcon, { size: "sm", className: "text-[hsl(var(--primary-foreground))]" }) : /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4167
4156
  "span",
4168
4157
  {
4169
- className: `text-sm font-semibold ${isActive ? "text-blue-600 dark:text-blue-400" : "text-gray-500 dark:text-gray-400"}`,
4158
+ className: `text-sm font-semibold ${isActive ? "text-[hsl(var(--primary))]" : "text-[hsl(var(--muted-foreground))]"}`,
4170
4159
  children: stepNumber
4171
4160
  }
4172
4161
  )
@@ -4175,7 +4164,7 @@ var Stepper = ({
4175
4164
  !isLast && !isHorizontal && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4176
4165
  "div",
4177
4166
  {
4178
- className: `w-0.5 flex-1 min-h-[24px] ${isCompleted ? "bg-blue-600 dark:bg-blue-500" : "bg-gray-300 dark:bg-gray-600"}`
4167
+ className: `w-0.5 flex-1 min-h-[24px] ${isCompleted ? "bg-[hsl(var(--primary))]" : "bg-[hsl(var(--border))]"}`
4179
4168
  }
4180
4169
  )
4181
4170
  ] }),
@@ -4183,11 +4172,11 @@ var Stepper = ({
4183
4172
  /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4184
4173
  "p",
4185
4174
  {
4186
- className: `text-sm font-medium whitespace-nowrap ${isActive || isCompleted ? "text-gray-900 dark:text-gray-100" : "text-gray-500 dark:text-gray-400"}`,
4175
+ className: `text-sm font-medium whitespace-nowrap ${isActive || isCompleted ? "text-[hsl(var(--foreground))]" : "text-[hsl(var(--muted-foreground))]"}`,
4187
4176
  children: step.label
4188
4177
  }
4189
4178
  ),
4190
- step.description && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1 whitespace-nowrap", children: step.description })
4179
+ step.description && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("p", { className: "text-xs text-[hsl(var(--muted-foreground))] mt-1 whitespace-nowrap", children: step.description })
4191
4180
  ] })
4192
4181
  ] }),
4193
4182
  !isLast && isHorizontal && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)("div", { className: `
@@ -4197,7 +4186,7 @@ var Stepper = ({
4197
4186
  `, children: /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
4198
4187
  "div",
4199
4188
  {
4200
- className: `h-0.5 w-full ${isCompleted ? "bg-blue-600 dark:bg-blue-500" : "bg-gray-300 dark:bg-gray-600"}`
4189
+ className: `h-0.5 w-full ${isCompleted ? "bg-[hsl(var(--primary))]" : "bg-[hsl(var(--border))]"}`
4201
4190
  }
4202
4191
  ) })
4203
4192
  ] }, index);
@@ -4226,16 +4215,16 @@ var Divider = ({
4226
4215
  right: "justify-end"
4227
4216
  };
4228
4217
  return /* @__PURE__ */ (0, import_jsx_runtime104.jsxs)("div", { className: `flex items-center ${alignmentClasses[labelPosition]} ${className}`, role: "separator", children: [
4229
- labelPosition !== "left" && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` }),
4230
- /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { className: "px-4 text-sm text-gray-500 dark:text-gray-400", children: label }),
4231
- labelPosition !== "right" && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: `flex-1 border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600` })
4218
+ labelPosition !== "left" && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: `flex-1 border-t ${variantClasses[variant]} border-[hsl(var(--input))]` }),
4219
+ /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("span", { className: "px-4 text-sm text-[hsl(var(--muted-foreground))]", children: label }),
4220
+ labelPosition !== "right" && /* @__PURE__ */ (0, import_jsx_runtime104.jsx)("div", { className: `flex-1 border-t ${variantClasses[variant]} border-[hsl(var(--input))]` })
4232
4221
  ] });
4233
4222
  }
4234
4223
  if (orientation === "vertical") {
4235
4224
  return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
4236
4225
  "div",
4237
4226
  {
4238
- className: `inline-block h-full border-l ${variantClasses[variant]} border-gray-300 dark:border-gray-600 ${className}`,
4227
+ className: `inline-block h-full border-l ${variantClasses[variant]} border-[hsl(var(--input))] ${className}`,
4239
4228
  role: "separator",
4240
4229
  "aria-orientation": "vertical"
4241
4230
  }
@@ -4244,7 +4233,7 @@ var Divider = ({
4244
4233
  return /* @__PURE__ */ (0, import_jsx_runtime104.jsx)(
4245
4234
  "hr",
4246
4235
  {
4247
- className: `border-t ${variantClasses[variant]} border-gray-300 dark:border-gray-600 ${className}`,
4236
+ className: `border-t ${variantClasses[variant]} border-[hsl(var(--input))] ${className}`,
4248
4237
  role: "separator"
4249
4238
  }
4250
4239
  );
@@ -4326,7 +4315,7 @@ var FileUpload = ({
4326
4315
  onChange?.(newFiles);
4327
4316
  };
4328
4317
  return /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: `w-full ${className}`, children: [
4329
- label && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("label", { className: "block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2", children: label }),
4318
+ label && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("label", { className: "block text-sm font-medium text-[hsl(var(--foreground))] mb-2", children: label }),
4330
4319
  /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
4331
4320
  "div",
4332
4321
  {
@@ -4334,7 +4323,7 @@ var FileUpload = ({
4334
4323
  onDragOver: handleDragOver,
4335
4324
  onDragLeave: handleDragLeave,
4336
4325
  onClick: handleClick,
4337
- className: `relative border-2 border-dashed rounded-lg p-8 text-center cursor-pointer transition-all ${isDragging ? "border-blue-500 bg-blue-50 dark:bg-blue-900/20" : "border-gray-300 dark:border-gray-600 hover:border-gray-400 dark:hover:border-gray-500"} ${disabled ? "opacity-50 cursor-not-allowed" : ""}`,
4326
+ className: `relative border-2 border-dashed rounded-lg p-8 text-center cursor-pointer transition-all ${isDragging ? "border-[hsl(var(--primary))] bg-[hsl(var(--primary))]/10" : "border-[hsl(var(--input))] hover:border-[hsl(var(--muted-foreground))]"} ${disabled ? "opacity-50 cursor-not-allowed" : ""}`,
4338
4327
  children: [
4339
4328
  /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
4340
4329
  "input",
@@ -4349,13 +4338,13 @@ var FileUpload = ({
4349
4338
  }
4350
4339
  ),
4351
4340
  /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex flex-col items-center gap-2", children: [
4352
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "w-12 h-12 rounded-full bg-gray-100 dark:bg-gray-800 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(UploadIcon, { size: "lg", className: "text-gray-400 dark:text-gray-500" }) }),
4341
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "w-12 h-12 rounded-full bg-[hsl(var(--muted))] flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(UploadIcon, { size: "lg", className: "text-[hsl(var(--muted-foreground))]" }) }),
4353
4342
  /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { children: [
4354
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("p", { className: "text-sm font-medium text-gray-700 dark:text-gray-300", children: [
4355
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { className: "text-blue-600 dark:text-blue-400", children: "Click to upload" }),
4343
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("p", { className: "text-sm font-medium text-[hsl(var(--foreground))]", children: [
4344
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("span", { className: "text-[hsl(var(--primary))]", children: "Click to upload" }),
4356
4345
  " or drag and drop"
4357
4346
  ] }),
4358
- /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("p", { className: "text-xs text-gray-500 dark:text-gray-400 mt-1", children: [
4347
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("p", { className: "text-xs text-[hsl(var(--muted-foreground))] mt-1", children: [
4359
4348
  accept ? `Accepted: ${accept}` : "Any file type",
4360
4349
  maxSize && ` \u2022 Max size: ${formatFileSize(maxSize)}`
4361
4350
  ] })
@@ -4364,15 +4353,15 @@ var FileUpload = ({
4364
4353
  ]
4365
4354
  }
4366
4355
  ),
4367
- helperText && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "mt-2 text-sm text-gray-500 dark:text-gray-400", children: helperText }),
4356
+ helperText && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "mt-2 text-sm text-[hsl(var(--muted-foreground))]", children: helperText }),
4368
4357
  files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("div", { className: "mt-4 space-y-2", children: files.map((file, index) => /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)(
4369
4358
  "div",
4370
4359
  {
4371
- className: "flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700",
4360
+ className: "flex items-center justify-between p-3 bg-[hsl(var(--muted))] rounded-lg border border-[hsl(var(--border))]",
4372
4361
  children: [
4373
4362
  /* @__PURE__ */ (0, import_jsx_runtime105.jsxs)("div", { className: "flex-1 min-w-0", children: [
4374
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-sm font-medium text-gray-900 dark:text-gray-100 truncate", children: file.name }),
4375
- /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-xs text-gray-500 dark:text-gray-400", children: formatFileSize(file.size) })
4363
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-sm font-medium text-[hsl(var(--foreground))] truncate", children: file.name }),
4364
+ /* @__PURE__ */ (0, import_jsx_runtime105.jsx)("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: formatFileSize(file.size) })
4376
4365
  ] }),
4377
4366
  /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(
4378
4367
  "button",
@@ -4381,7 +4370,7 @@ var FileUpload = ({
4381
4370
  e.stopPropagation();
4382
4371
  handleRemoveFile(index);
4383
4372
  },
4384
- className: "ml-4 text-gray-400 hover:text-red-600 dark:hover:text-red-400 transition-colors",
4373
+ className: "ml-4 text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--destructive))] transition-colors",
4385
4374
  "aria-label": "Remove file",
4386
4375
  children: /* @__PURE__ */ (0, import_jsx_runtime105.jsx)(CloseIcon, { size: "sm" })
4387
4376
  }
@@ -4580,7 +4569,7 @@ var AudioPlayer = ({
4580
4569
  };
4581
4570
  const progress = duration > 0 ? currentTime / duration * 100 : 0;
4582
4571
  if (variant === "mini") {
4583
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `flex items-center gap-2 p-2 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 ${className}`, children: [
4572
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `flex items-center gap-2 p-2 bg-[hsl(var(--card))] rounded-lg border border-[hsl(var(--border))] ${className}`, children: [
4584
4573
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4585
4574
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4586
4575
  Button,
@@ -4594,11 +4583,11 @@ var AudioPlayer = ({
4594
4583
  children: isPlaying ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(PauseIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(PlayIcon, { size: "sm" })
4595
4584
  }
4596
4585
  ),
4597
- title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-sm font-medium text-gray-700 dark:text-gray-300 truncate", children: title })
4586
+ title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-sm font-medium text-[hsl(var(--foreground))] truncate", children: title })
4598
4587
  ] });
4599
4588
  }
4600
4589
  if (variant === "compact") {
4601
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `flex items-center gap-3 p-3 bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-sm ${className}`, children: [
4590
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `flex items-center gap-3 p-3 bg-[hsl(var(--card))] rounded-lg border border-[hsl(var(--border))] shadow-sm ${className}`, children: [
4602
4591
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4603
4592
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4604
4593
  Button,
@@ -4613,16 +4602,16 @@ var AudioPlayer = ({
4613
4602
  }
4614
4603
  ),
4615
4604
  /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex-1 min-w-0", children: [
4616
- title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-sm font-medium text-gray-900 dark:text-gray-100 truncate", children: title }),
4617
- artist && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-xs text-gray-500 dark:text-gray-400 truncate", children: artist })
4605
+ title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-sm font-medium text-[hsl(var(--foreground))] truncate", children: title }),
4606
+ artist && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-xs text-[hsl(var(--muted-foreground))] truncate", children: artist })
4618
4607
  ] }),
4619
4608
  /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-2 flex-1", children: [
4620
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: formatTime(currentTime) }),
4621
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "relative flex-1 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-visible", children: [
4609
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-[hsl(var(--muted-foreground))] tabular-nums", children: formatTime(currentTime) }),
4610
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "relative flex-1 h-1.5 bg-[hsl(var(--muted))] rounded-full overflow-visible", children: [
4622
4611
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4623
4612
  "div",
4624
4613
  {
4625
- className: "absolute h-full bg-blue-600 dark:bg-blue-500 rounded-full transition-all",
4614
+ className: "absolute h-full bg-[hsl(var(--primary))] rounded-full transition-all",
4626
4615
  style: { width: `${progress}%` }
4627
4616
  }
4628
4617
  ),
@@ -4631,7 +4620,7 @@ var AudioPlayer = ({
4631
4620
  return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4632
4621
  "div",
4633
4622
  {
4634
- className: "absolute top-0 bottom-0 w-1 -ml-0.5 bg-white dark:bg-gray-300 opacity-70 hover:opacity-100 hover:w-1.5 hover:-ml-0.5 cursor-pointer z-10 transition-all",
4623
+ className: "absolute top-0 bottom-0 w-1 -ml-0.5 bg-[hsl(var(--background))] opacity-70 hover:opacity-100 hover:w-1.5 hover:-ml-0.5 cursor-pointer z-10 transition-all",
4635
4624
  style: { left: `${markerPosition}%` },
4636
4625
  onClick: () => jumpToChapter(chapter),
4637
4626
  onMouseEnter: (e) => {
@@ -4658,8 +4647,8 @@ var AudioPlayer = ({
4658
4647
  }
4659
4648
  )
4660
4649
  ] }),
4661
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: formatTime(duration) }),
4662
- currentChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("span", { className: "text-xs text-blue-600 dark:text-blue-400 font-medium truncate max-w-[120px]", children: [
4650
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-[hsl(var(--muted-foreground))] tabular-nums", children: formatTime(duration) }),
4651
+ currentChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("span", { className: "text-xs text-[hsl(var(--primary))] font-medium truncate max-w-[120px]", children: [
4663
4652
  "\u2022 ",
4664
4653
  currentChapter.title
4665
4654
  ] })
@@ -4669,7 +4658,7 @@ var AudioPlayer = ({
4669
4658
  "button",
4670
4659
  {
4671
4660
  onClick: toggleMute,
4672
- className: "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",
4661
+ className: "text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))]",
4673
4662
  "aria-label": isMuted ? "Unmute" : "Mute",
4674
4663
  children: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(VolumeOffIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(VolumeUpIcon, { size: "sm" })
4675
4664
  }
@@ -4683,7 +4672,7 @@ var AudioPlayer = ({
4683
4672
  step: 0.01,
4684
4673
  value: isMuted ? 0 : volume,
4685
4674
  onChange: handleVolumeChange,
4686
- className: "w-16 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4675
+ className: "w-16 h-1.5 bg-[hsl(var(--muted))] rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[hsl(var(--primary))] [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-[hsl(var(--primary))] [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4687
4676
  "aria-label": "Volume"
4688
4677
  }
4689
4678
  )
@@ -4691,21 +4680,21 @@ var AudioPlayer = ({
4691
4680
  hoveredChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
4692
4681
  "div",
4693
4682
  {
4694
- className: "fixed z-50 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
4683
+ className: "fixed z-50 px-3 py-2 bg-[hsl(var(--popover))] text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
4695
4684
  style: { left: hoverPosition.x, top: hoverPosition.y - 8 },
4696
4685
  children: [
4697
4686
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "whitespace-nowrap", children: hoveredChapter.title }),
4698
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-gray-300 text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
4699
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-gray-900 dark:bg-gray-800 transform -translate-x-1/2 rotate-45" })
4687
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-[hsl(var(--muted-foreground))] text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
4688
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-[hsl(var(--popover))] transform -translate-x-1/2 rotate-45" })
4700
4689
  ]
4701
4690
  }
4702
4691
  )
4703
4692
  ] });
4704
4693
  }
4705
- return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-md overflow-hidden ${className}`, children: [
4694
+ return /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: `bg-[hsl(var(--card))] rounded-lg border border-[hsl(var(--border))] shadow-md overflow-hidden ${className}`, children: [
4706
4695
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("audio", { ref: audioRef, src, preload, loop, autoPlay }),
4707
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-4 p-4 border-b border-gray-200 dark:border-gray-700", children: [
4708
- coverArt && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "w-16 h-16 flex-shrink-0 rounded-md overflow-hidden bg-gray-100 dark:bg-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4696
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center gap-4 p-4 border-b border-[hsl(var(--border))]", children: [
4697
+ coverArt && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "w-16 h-16 flex-shrink-0 rounded-md overflow-hidden bg-[hsl(var(--muted))]", children: /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4709
4698
  "img",
4710
4699
  {
4711
4700
  src: coverArt,
@@ -4714,17 +4703,17 @@ var AudioPlayer = ({
4714
4703
  }
4715
4704
  ) }),
4716
4705
  /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex-1 min-w-0", children: [
4717
- title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("h3", { className: "text-base font-semibold text-gray-900 dark:text-gray-100 truncate", children: title }),
4718
- artist && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-sm text-gray-600 dark:text-gray-400 truncate", children: artist }),
4719
- album && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-xs text-gray-500 dark:text-gray-500 truncate", children: album })
4706
+ title && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("h3", { className: "text-base font-semibold text-[hsl(var(--foreground))] truncate", children: title }),
4707
+ artist && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-sm text-[hsl(var(--muted-foreground))] truncate", children: artist }),
4708
+ album && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("p", { className: "text-xs text-[hsl(var(--muted-foreground))] truncate", children: album })
4720
4709
  ] })
4721
4710
  ] }),
4722
4711
  /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "px-4 pt-4", children: [
4723
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "relative h-2 bg-gray-200 dark:bg-gray-700 rounded-full overflow-visible", children: [
4712
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "relative h-2 bg-[hsl(var(--muted))] rounded-full overflow-visible", children: [
4724
4713
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4725
4714
  "div",
4726
4715
  {
4727
- className: "absolute h-full bg-blue-600 dark:bg-blue-500 rounded-full transition-all",
4716
+ className: "absolute h-full bg-[hsl(var(--primary))] rounded-full transition-all",
4728
4717
  style: { width: `${progress}%` }
4729
4718
  }
4730
4719
  ),
@@ -4733,7 +4722,7 @@ var AudioPlayer = ({
4733
4722
  return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4734
4723
  "div",
4735
4724
  {
4736
- className: "absolute top-0 bottom-0 w-1 -ml-0.5 bg-white dark:bg-gray-300 opacity-70 hover:opacity-100 hover:w-1.5 hover:-ml-0.5 cursor-pointer z-10 transition-all",
4725
+ className: "absolute top-0 bottom-0 w-1 -ml-0.5 bg-[hsl(var(--background))] opacity-70 hover:opacity-100 hover:w-1.5 hover:-ml-0.5 cursor-pointer z-10 transition-all",
4737
4726
  style: { left: `${markerPosition}%` },
4738
4727
  onClick: () => jumpToChapter(chapter),
4739
4728
  onMouseEnter: (e) => {
@@ -4749,12 +4738,12 @@ var AudioPlayer = ({
4749
4738
  hoveredChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)(
4750
4739
  "div",
4751
4740
  {
4752
- className: "fixed z-50 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
4741
+ className: "fixed z-50 px-3 py-2 bg-[hsl(var(--popover))] text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
4753
4742
  style: { left: hoverPosition.x, top: hoverPosition.y - 8 },
4754
4743
  children: [
4755
4744
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "whitespace-nowrap", children: hoveredChapter.title }),
4756
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-gray-300 text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
4757
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-gray-900 dark:bg-gray-800 transform -translate-x-1/2 rotate-45" })
4745
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "text-[hsl(var(--muted-foreground))] text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
4746
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-[hsl(var(--popover))] transform -translate-x-1/2 rotate-45" })
4758
4747
  ]
4759
4748
  }
4760
4749
  ),
@@ -4772,9 +4761,9 @@ var AudioPlayer = ({
4772
4761
  }
4773
4762
  )
4774
4763
  ] }),
4775
- /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex justify-between items-center mt-1 text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: [
4764
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex justify-between items-center mt-1 text-xs text-[hsl(var(--muted-foreground))] tabular-nums", children: [
4776
4765
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { children: formatTime(currentTime) }),
4777
- currentChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-blue-600 dark:text-blue-400 font-medium truncate max-w-[200px]", children: currentChapter.title }),
4766
+ currentChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-[hsl(var(--primary))] font-medium truncate max-w-[200px]", children: currentChapter.title }),
4778
4767
  /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { children: formatTime(duration) })
4779
4768
  ] })
4780
4769
  ] }),
@@ -4784,7 +4773,7 @@ var AudioPlayer = ({
4784
4773
  "button",
4785
4774
  {
4786
4775
  onClick: toggleMute,
4787
- className: "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200 transition-colors",
4776
+ className: "text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors",
4788
4777
  "aria-label": isMuted ? "Unmute" : "Mute",
4789
4778
  children: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(VolumeOffIcon, { size: "md" }) : /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(VolumeUpIcon, { size: "md" })
4790
4779
  }
@@ -4798,7 +4787,7 @@ var AudioPlayer = ({
4798
4787
  step: 0.01,
4799
4788
  value: isMuted ? 0 : volume,
4800
4789
  onChange: handleVolumeChange,
4801
- className: "w-20 h-1.5 bg-gray-200 dark:bg-gray-700 rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-blue-600 [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-blue-600 [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4790
+ className: "w-20 h-1.5 bg-[hsl(var(--muted))] rounded-full appearance-none cursor-pointer\n [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:h-3\n [&::-webkit-slider-thumb]:rounded-full [&::-webkit-slider-thumb]:bg-[hsl(var(--primary))] [&::-webkit-slider-thumb]:cursor-pointer\n [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:rounded-full\n [&::-moz-range-thumb]:bg-[hsl(var(--primary))] [&::-moz-range-thumb]:cursor-pointer [&::-moz-range-thumb]:border-none",
4802
4791
  "aria-label": "Volume"
4803
4792
  }
4804
4793
  )
@@ -4845,7 +4834,7 @@ var AudioPlayer = ({
4845
4834
  "button",
4846
4835
  {
4847
4836
  onClick: () => setShowChapterList(!showChapterList),
4848
- className: "text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors",
4837
+ className: "text-sm text-[hsl(var(--muted-foreground))] hover:text-[hsl(var(--foreground))] transition-colors",
4849
4838
  "aria-label": "Toggle chapters",
4850
4839
  children: [
4851
4840
  "Chapters (",
@@ -4855,16 +4844,16 @@ var AudioPlayer = ({
4855
4844
  }
4856
4845
  ) })
4857
4846
  ] }),
4858
- showChapters && showChapterList && chapters.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "border-t border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-900/50 max-h-48 overflow-y-auto", children: chapters.map((chapter, index) => {
4847
+ showChapters && showChapterList && chapters.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("div", { className: "border-t border-[hsl(var(--border))] bg-[hsl(var(--muted))]/50 max-h-48 overflow-y-auto", children: chapters.map((chapter, index) => {
4859
4848
  const isCurrentChapter = currentChapter?.startTime === chapter.startTime;
4860
4849
  return /* @__PURE__ */ (0, import_jsx_runtime106.jsx)(
4861
4850
  "button",
4862
4851
  {
4863
4852
  onClick: () => jumpToChapter(chapter),
4864
- className: `w-full text-left px-4 py-2 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors ${isCurrentChapter ? "bg-blue-50 dark:bg-blue-900/20 border-l-2 border-blue-600" : ""}`,
4853
+ className: `w-full text-left px-4 py-2 hover:bg-[hsl(var(--accent))] transition-colors ${isCurrentChapter ? "bg-[hsl(var(--primary))]/10 border-l-2 border-[hsl(var(--primary))]" : ""}`,
4865
4854
  children: /* @__PURE__ */ (0, import_jsx_runtime106.jsxs)("div", { className: "flex items-center justify-between gap-2", children: [
4866
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: `text-sm font-medium ${isCurrentChapter ? "text-blue-600 dark:text-blue-400" : "text-gray-900 dark:text-gray-100"}`, children: chapter.title }),
4867
- /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-gray-500 dark:text-gray-400 tabular-nums", children: formatTime(chapter.startTime) })
4855
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: `text-sm font-medium ${isCurrentChapter ? "text-[hsl(var(--primary))]" : "text-[hsl(var(--foreground))]"}`, children: chapter.title }),
4856
+ /* @__PURE__ */ (0, import_jsx_runtime106.jsx)("span", { className: "text-xs text-[hsl(var(--muted-foreground))] tabular-nums", children: formatTime(chapter.startTime) })
4868
4857
  ] })
4869
4858
  },
4870
4859
  index
@@ -5143,7 +5132,7 @@ var VideoPlayer = ({
5143
5132
  /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
5144
5133
  "div",
5145
5134
  {
5146
- className: "absolute h-full bg-blue-600 rounded-full transition-all",
5135
+ className: "absolute h-full bg-[hsl(var(--primary))] rounded-full transition-all",
5147
5136
  style: { width: `${progress}%` }
5148
5137
  }
5149
5138
  ),
@@ -5196,7 +5185,7 @@ var VideoPlayer = ({
5196
5185
  "button",
5197
5186
  {
5198
5187
  onClick: toggleMute,
5199
- className: "text-white hover:text-gray-200 transition-colors",
5188
+ className: "text-white hover:text-[hsl(var(--foreground))] transition-colors",
5200
5189
  "aria-label": isMuted ? "Unmute" : "Mute",
5201
5190
  children: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(VolumeOffIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(VolumeUpIcon, { size: "sm" })
5202
5191
  }
@@ -5205,7 +5194,7 @@ var VideoPlayer = ({
5205
5194
  "button",
5206
5195
  {
5207
5196
  onClick: toggleFullscreen,
5208
- className: "text-white hover:text-gray-200 transition-colors",
5197
+ className: "text-white hover:text-[hsl(var(--foreground))] transition-colors",
5209
5198
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
5210
5199
  children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(FullscreenExitIcon, { size: "sm" }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(FullscreenIcon, { size: "sm" })
5211
5200
  }
@@ -5217,12 +5206,12 @@ var VideoPlayer = ({
5217
5206
  hoveredChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
5218
5207
  "div",
5219
5208
  {
5220
- className: "fixed z-50 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
5209
+ className: "fixed z-50 px-3 py-2 bg-[hsl(var(--popover))] text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
5221
5210
  style: { left: hoverPosition.x, top: hoverPosition.y - 8 },
5222
5211
  children: [
5223
5212
  /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "whitespace-nowrap", children: hoveredChapter.title }),
5224
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "text-gray-300 text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
5225
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-gray-900 dark:bg-gray-800 transform -translate-x-1/2 rotate-45" })
5213
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "text-[hsl(var(--muted-foreground))] text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
5214
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-[hsl(var(--popover))] transform -translate-x-1/2 rotate-45" })
5226
5215
  ]
5227
5216
  }
5228
5217
  )
@@ -5230,8 +5219,8 @@ var VideoPlayer = ({
5230
5219
  }
5231
5220
  );
5232
5221
  }
5233
- return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: `bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 shadow-md overflow-hidden ${className}`, children: [
5234
- title && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "px-4 py-3 border-b border-gray-200 dark:border-gray-700", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("h3", { className: "text-base font-semibold text-gray-900 dark:text-gray-100 truncate", children: title }) }),
5222
+ return /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)("div", { className: `bg-[hsl(var(--card))] rounded-lg border border-[hsl(var(--border))] shadow-md overflow-hidden ${className}`, children: [
5223
+ title && /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "px-4 py-3 border-b border-[hsl(var(--border))]", children: /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("h3", { className: "text-base font-semibold text-[hsl(var(--foreground))] truncate", children: title }) }),
5235
5224
  /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
5236
5225
  "div",
5237
5226
  {
@@ -5274,7 +5263,7 @@ var VideoPlayer = ({
5274
5263
  /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(
5275
5264
  "div",
5276
5265
  {
5277
- className: "absolute h-full bg-blue-600 rounded-full transition-all",
5266
+ className: "absolute h-full bg-[hsl(var(--primary))] rounded-full transition-all",
5278
5267
  style: { width: `${progress}%` }
5279
5268
  }
5280
5269
  ),
@@ -5343,7 +5332,7 @@ var VideoPlayer = ({
5343
5332
  "button",
5344
5333
  {
5345
5334
  onClick: toggleMute,
5346
- className: "text-white hover:text-gray-200 transition-colors",
5335
+ className: "text-white hover:text-[hsl(var(--foreground))] transition-colors",
5347
5336
  "aria-label": isMuted ? "Unmute" : "Mute",
5348
5337
  children: isMuted ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(VolumeOffIcon, { size: "md" }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(VolumeUpIcon, { size: "md" })
5349
5338
  }
@@ -5366,7 +5355,7 @@ var VideoPlayer = ({
5366
5355
  "button",
5367
5356
  {
5368
5357
  onClick: toggleFullscreen,
5369
- className: "text-white hover:text-gray-200 transition-colors",
5358
+ className: "text-white hover:text-[hsl(var(--foreground))] transition-colors",
5370
5359
  "aria-label": isFullscreen ? "Exit fullscreen" : "Enter fullscreen",
5371
5360
  children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(FullscreenExitIcon, { size: "md" }) : /* @__PURE__ */ (0, import_jsx_runtime107.jsx)(FullscreenIcon, { size: "md" })
5372
5361
  }
@@ -5378,12 +5367,12 @@ var VideoPlayer = ({
5378
5367
  hoveredChapter && showChapters && /* @__PURE__ */ (0, import_jsx_runtime107.jsxs)(
5379
5368
  "div",
5380
5369
  {
5381
- className: "fixed z-50 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
5370
+ className: "fixed z-50 px-3 py-2 bg-[hsl(var(--popover))] text-white text-xs font-medium rounded shadow-lg pointer-events-none transform -translate-x-1/2 -translate-y-full",
5382
5371
  style: { left: hoverPosition.x, top: hoverPosition.y - 8 },
5383
5372
  children: [
5384
5373
  /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "whitespace-nowrap", children: hoveredChapter.title }),
5385
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "text-gray-300 text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
5386
- /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-gray-900 dark:bg-gray-800 transform -translate-x-1/2 rotate-45" })
5374
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "text-[hsl(var(--muted-foreground))] text-[10px] mt-0.5", children: formatTime(hoveredChapter.startTime) }),
5375
+ /* @__PURE__ */ (0, import_jsx_runtime107.jsx)("div", { className: "absolute left-1/2 -bottom-1 w-2 h-2 bg-[hsl(var(--popover))] transform -translate-x-1/2 rotate-45" })
5387
5376
  ]
5388
5377
  }
5389
5378
  )
@@ -5723,8 +5712,8 @@ var DefaultTooltipContent = ({
5723
5712
  return null;
5724
5713
  }
5725
5714
  const formattedLabel = labelFormatter ? labelFormatter(label ?? "") : String(label ?? "");
5726
- return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "bg-gray-900 dark:bg-gray-800 text-white rounded-lg shadow-xl border border-gray-700 overflow-hidden min-w-[120px]", children: [
5727
- formattedLabel && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "px-3 py-2 bg-gray-800 dark:bg-gray-700 border-b border-gray-700 dark:border-gray-600", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-sm font-medium text-gray-200", children: formattedLabel }) }),
5715
+ return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "bg-[hsl(var(--popover))] text-white rounded-lg shadow-xl border border-[hsl(var(--border))] overflow-hidden min-w-[120px]", children: [
5716
+ formattedLabel && /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "px-3 py-2 bg-[hsl(var(--popover))] border-b border-[hsl(var(--border))]", children: /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-sm font-medium text-[hsl(var(--muted-foreground))]", children: formattedLabel }) }),
5728
5717
  /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("div", { className: "px-3 py-2 space-y-1", children: payload.map((item, index) => {
5729
5718
  const formattedValue = formatter ? formatter(item.value, item.name, item) : String(item.value);
5730
5719
  return /* @__PURE__ */ (0, import_jsx_runtime108.jsxs)("div", { className: "flex items-center justify-between gap-4", children: [
@@ -5736,7 +5725,7 @@ var DefaultTooltipContent = ({
5736
5725
  style: { backgroundColor: item.color }
5737
5726
  }
5738
5727
  ),
5739
- /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-xs text-gray-300", children: item.name })
5728
+ /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: item.name })
5740
5729
  ] }),
5741
5730
  /* @__PURE__ */ (0, import_jsx_runtime108.jsx)("span", { className: "text-sm font-semibold text-white", children: formattedValue })
5742
5731
  ] }, `${item.name}-${index}`);
@@ -5945,7 +5934,7 @@ var Legend = ({
5945
5934
  onMouseLeave,
5946
5935
  children: [
5947
5936
  renderIcon(item),
5948
- /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: "text-gray-700 dark:text-gray-300", children: formatter ? formatter(item.name, item, index) : item.name })
5937
+ /* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: "text-[hsl(var(--foreground))]", children: formatter ? formatter(item.name, item, index) : item.name })
5949
5938
  ]
5950
5939
  },
5951
5940
  `${item.name}-${index}`
@@ -6089,7 +6078,7 @@ var ReferenceLine = ({
6089
6078
  dominantBaseline,
6090
6079
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6091
6080
  fontWeight: "500",
6092
- className: "fill-gray-600 dark:fill-gray-400",
6081
+ className: "fill-[hsl(var(--muted-foreground))]",
6093
6082
  children: label
6094
6083
  }
6095
6084
  ) : /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
@@ -6237,7 +6226,7 @@ var ReferenceArea = ({
6237
6226
  dominantBaseline,
6238
6227
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6239
6228
  fontWeight: "500",
6240
- className: "fill-gray-600 dark:fill-gray-400",
6229
+ className: "fill-[hsl(var(--muted-foreground))]",
6241
6230
  children: label
6242
6231
  }
6243
6232
  ) : /* @__PURE__ */ (0, import_jsx_runtime111.jsx)(
@@ -6294,7 +6283,7 @@ var CartesianGrid = ({
6294
6283
  strokeDasharray,
6295
6284
  strokeWidth,
6296
6285
  strokeOpacity,
6297
- className: !stroke ? "stroke-gray-200 dark:stroke-gray-700" : void 0
6286
+ className: !stroke ? "stroke-[hsl(var(--border))]" : void 0
6298
6287
  },
6299
6288
  `h-${i}`
6300
6289
  )),
@@ -6309,7 +6298,7 @@ var CartesianGrid = ({
6309
6298
  strokeDasharray,
6310
6299
  strokeWidth,
6311
6300
  strokeOpacity,
6312
- className: !stroke ? "stroke-gray-200 dark:stroke-gray-700" : void 0
6301
+ className: !stroke ? "stroke-[hsl(var(--border))]" : void 0
6313
6302
  },
6314
6303
  `v-${i}`
6315
6304
  ))
@@ -6564,7 +6553,7 @@ var LineChart = ({
6564
6553
  viewBox: `0 0 ${width} ${height}`,
6565
6554
  role: "img",
6566
6555
  "aria-label": accessibleDescription,
6567
- className: "bg-white dark:bg-gray-900",
6556
+ className: "bg-[hsl(var(--card))]",
6568
6557
  children: [
6569
6558
  /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("defs", { children: animate && data.map((series, i) => /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("style", { children: `
6570
6559
  @keyframes drawLine${i} {
@@ -6591,7 +6580,7 @@ var LineChart = ({
6591
6580
  stroke: "currentColor",
6592
6581
  strokeWidth: 1,
6593
6582
  strokeDasharray: "4 4",
6594
- className: "text-gray-400 dark:text-gray-500",
6583
+ className: "text-[hsl(var(--muted-foreground))]",
6595
6584
  pointerEvents: "none"
6596
6585
  }
6597
6586
  ),
@@ -6669,7 +6658,7 @@ var LineChart = ({
6669
6658
  dominantBaseline: "middle",
6670
6659
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6671
6660
  fontWeight: "600",
6672
- className: "fill-gray-700 dark:fill-gray-300",
6661
+ className: "fill-[hsl(var(--foreground))]",
6673
6662
  children: yFormatter(lastPoint.y)
6674
6663
  }
6675
6664
  )
@@ -6683,21 +6672,21 @@ var LineChart = ({
6683
6672
  y1: 0,
6684
6673
  x2: chartWidth,
6685
6674
  y2: 0,
6686
- className: "stroke-gray-300 dark:stroke-gray-600",
6675
+ className: "stroke-[hsl(var(--border))]",
6687
6676
  strokeWidth: 1
6688
6677
  }
6689
6678
  ),
6690
6679
  xTicks.map((tick, i) => {
6691
6680
  const x = xValueType === "string" ? xScale(tick.value, tick.index) : xScale(xValueType === "date" ? new Date(tick.value) : tick.value, 0);
6692
6681
  return /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("g", { transform: `translate(${x}, 0)`, children: [
6693
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("line", { y2: 6, className: "stroke-gray-300 dark:stroke-gray-600" }),
6682
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("line", { y2: 6, className: "stroke-[hsl(var(--border))]" }),
6694
6683
  /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
6695
6684
  "text",
6696
6685
  {
6697
6686
  y: 20,
6698
6687
  textAnchor: "middle",
6699
6688
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6700
- className: "fill-gray-600 dark:fill-gray-400",
6689
+ className: "fill-[hsl(var(--muted-foreground))]",
6701
6690
  children: xFormatter(xValueType === "date" ? new Date(tick.value) : tick.value)
6702
6691
  }
6703
6692
  )
@@ -6711,7 +6700,7 @@ var LineChart = ({
6711
6700
  textAnchor: "middle",
6712
6701
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
6713
6702
  fontWeight: "500",
6714
- className: "fill-gray-700 dark:fill-gray-300",
6703
+ className: "fill-[hsl(var(--foreground))]",
6715
6704
  children: xAxisLabel
6716
6705
  }
6717
6706
  )
@@ -6724,12 +6713,12 @@ var LineChart = ({
6724
6713
  y1: 0,
6725
6714
  x2: 0,
6726
6715
  y2: chartHeight,
6727
- className: "stroke-gray-300 dark:stroke-gray-600",
6716
+ className: "stroke-[hsl(var(--border))]",
6728
6717
  strokeWidth: 1
6729
6718
  }
6730
6719
  ),
6731
6720
  yTicks.map((tick, i) => /* @__PURE__ */ (0, import_jsx_runtime113.jsxs)("g", { transform: `translate(0, ${yScale(tick)})`, children: [
6732
- /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("line", { x2: -6, className: "stroke-gray-300 dark:stroke-gray-600" }),
6721
+ /* @__PURE__ */ (0, import_jsx_runtime113.jsx)("line", { x2: -6, className: "stroke-[hsl(var(--border))]" }),
6733
6722
  /* @__PURE__ */ (0, import_jsx_runtime113.jsx)(
6734
6723
  "text",
6735
6724
  {
@@ -6737,7 +6726,7 @@ var LineChart = ({
6737
6726
  textAnchor: "end",
6738
6727
  dominantBaseline: "middle",
6739
6728
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6740
- className: "fill-gray-600 dark:fill-gray-400",
6729
+ className: "fill-[hsl(var(--muted-foreground))]",
6741
6730
  children: yFormatter(tick)
6742
6731
  }
6743
6732
  )
@@ -6751,7 +6740,7 @@ var LineChart = ({
6751
6740
  transform: "rotate(-90)",
6752
6741
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
6753
6742
  fontWeight: "500",
6754
- className: "fill-gray-700 dark:fill-gray-300",
6743
+ className: "fill-[hsl(var(--foreground))]",
6755
6744
  children: yAxisLabel
6756
6745
  }
6757
6746
  )
@@ -6996,7 +6985,7 @@ var BarChart = ({
6996
6985
  dominantBaseline: horizontal ? "middle" : "auto",
6997
6986
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
6998
6987
  fontWeight: "600",
6999
- className: "fill-gray-700 dark:fill-gray-300",
6988
+ className: "fill-[hsl(var(--foreground))]",
7000
6989
  style: animate ? {
7001
6990
  opacity: 0,
7002
6991
  animation: `fadeIn 200ms ease-out ${animationDuration + barIndex * 50}ms forwards`
@@ -7069,7 +7058,7 @@ var BarChart = ({
7069
7058
  viewBox: `0 0 ${width} ${height}`,
7070
7059
  role: "img",
7071
7060
  "aria-label": accessibleDescription,
7072
- className: "bg-white dark:bg-gray-900",
7061
+ className: "bg-[hsl(var(--card))]",
7073
7062
  children: [
7074
7063
  /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("style", { children: `
7075
7064
  @keyframes growY {
@@ -7106,20 +7095,20 @@ var BarChart = ({
7106
7095
  y1: 0,
7107
7096
  x2: chartWidth,
7108
7097
  y2: 0,
7109
- className: "stroke-gray-300 dark:stroke-gray-600"
7098
+ className: "stroke-[hsl(var(--border))]"
7110
7099
  }
7111
7100
  ),
7112
7101
  categories.map((cat, i) => {
7113
7102
  const x = xBandScale.scale(cat) + bandwidth / 2;
7114
7103
  return /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("g", { transform: `translate(${x}, 0)`, children: [
7115
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("line", { y2: 6, className: "stroke-gray-300 dark:stroke-gray-600" }),
7104
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("line", { y2: 6, className: "stroke-[hsl(var(--border))]" }),
7116
7105
  /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
7117
7106
  "text",
7118
7107
  {
7119
7108
  y: 20,
7120
7109
  textAnchor: "middle",
7121
7110
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
7122
- className: "fill-gray-600 dark:fill-gray-400",
7111
+ className: "fill-[hsl(var(--muted-foreground))]",
7123
7112
  children: cat
7124
7113
  }
7125
7114
  )
@@ -7133,7 +7122,7 @@ var BarChart = ({
7133
7122
  textAnchor: "middle",
7134
7123
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
7135
7124
  fontWeight: "500",
7136
- className: "fill-gray-700 dark:fill-gray-300",
7125
+ className: "fill-[hsl(var(--foreground))]",
7137
7126
  children: xAxisLabel
7138
7127
  }
7139
7128
  )
@@ -7146,11 +7135,11 @@ var BarChart = ({
7146
7135
  y1: 0,
7147
7136
  x2: 0,
7148
7137
  y2: chartHeight,
7149
- className: "stroke-gray-300 dark:stroke-gray-600"
7138
+ className: "stroke-[hsl(var(--border))]"
7150
7139
  }
7151
7140
  ),
7152
7141
  yTicks.map((tick, i) => /* @__PURE__ */ (0, import_jsx_runtime114.jsxs)("g", { transform: `translate(0, ${yScale(tick)})`, children: [
7153
- /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("line", { x2: -6, className: "stroke-gray-300 dark:stroke-gray-600" }),
7142
+ /* @__PURE__ */ (0, import_jsx_runtime114.jsx)("line", { x2: -6, className: "stroke-[hsl(var(--border))]" }),
7154
7143
  /* @__PURE__ */ (0, import_jsx_runtime114.jsx)(
7155
7144
  "text",
7156
7145
  {
@@ -7158,7 +7147,7 @@ var BarChart = ({
7158
7147
  textAnchor: "end",
7159
7148
  dominantBaseline: "middle",
7160
7149
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
7161
- className: "fill-gray-600 dark:fill-gray-400",
7150
+ className: "fill-[hsl(var(--muted-foreground))]",
7162
7151
  children: yFormatter(tick)
7163
7152
  }
7164
7153
  )
@@ -7172,7 +7161,7 @@ var BarChart = ({
7172
7161
  transform: "rotate(-90)",
7173
7162
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
7174
7163
  fontWeight: "500",
7175
- className: "fill-gray-700 dark:fill-gray-300",
7164
+ className: "fill-[hsl(var(--foreground))]",
7176
7165
  children: yAxisLabel
7177
7166
  }
7178
7167
  )
@@ -7447,7 +7436,7 @@ var AreaChart = ({
7447
7436
  viewBox: `0 0 ${width} ${height}`,
7448
7437
  role: "img",
7449
7438
  "aria-label": accessibleDescription,
7450
- className: "bg-white dark:bg-gray-900",
7439
+ className: "bg-[hsl(var(--card))]",
7451
7440
  children: [
7452
7441
  /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("defs", { children: [
7453
7442
  data.map((series, i) => {
@@ -7559,20 +7548,20 @@ var AreaChart = ({
7559
7548
  y1: 0,
7560
7549
  x2: chartWidth,
7561
7550
  y2: 0,
7562
- className: "stroke-gray-300 dark:stroke-gray-600"
7551
+ className: "stroke-[hsl(var(--border))]"
7563
7552
  }
7564
7553
  ),
7565
7554
  xTicks.map((tick, i) => {
7566
7555
  const x = xValueType === "string" ? xScale(tick.value, tick.index) : xScale(xValueType === "date" ? new Date(tick.value) : tick.value, 0);
7567
7556
  return /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("g", { transform: `translate(${x}, 0)`, children: [
7568
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("line", { y2: 6, className: "stroke-gray-300 dark:stroke-gray-600" }),
7557
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("line", { y2: 6, className: "stroke-[hsl(var(--border))]" }),
7569
7558
  /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
7570
7559
  "text",
7571
7560
  {
7572
7561
  y: 20,
7573
7562
  textAnchor: "middle",
7574
7563
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
7575
- className: "fill-gray-600 dark:fill-gray-400",
7564
+ className: "fill-[hsl(var(--muted-foreground))]",
7576
7565
  children: xFormatter(xValueType === "date" ? new Date(tick.value) : tick.value)
7577
7566
  }
7578
7567
  )
@@ -7586,7 +7575,7 @@ var AreaChart = ({
7586
7575
  textAnchor: "middle",
7587
7576
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
7588
7577
  fontWeight: "500",
7589
- className: "fill-gray-700 dark:fill-gray-300",
7578
+ className: "fill-[hsl(var(--foreground))]",
7590
7579
  children: xAxisLabel
7591
7580
  }
7592
7581
  )
@@ -7599,11 +7588,11 @@ var AreaChart = ({
7599
7588
  y1: 0,
7600
7589
  x2: 0,
7601
7590
  y2: chartHeight,
7602
- className: "stroke-gray-300 dark:stroke-gray-600"
7591
+ className: "stroke-[hsl(var(--border))]"
7603
7592
  }
7604
7593
  ),
7605
7594
  yTicks.map((tick, i) => /* @__PURE__ */ (0, import_jsx_runtime115.jsxs)("g", { transform: `translate(0, ${yScale(tick)})`, children: [
7606
- /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("line", { x2: -6, className: "stroke-gray-300 dark:stroke-gray-600" }),
7595
+ /* @__PURE__ */ (0, import_jsx_runtime115.jsx)("line", { x2: -6, className: "stroke-[hsl(var(--border))]" }),
7607
7596
  /* @__PURE__ */ (0, import_jsx_runtime115.jsx)(
7608
7597
  "text",
7609
7598
  {
@@ -7611,7 +7600,7 @@ var AreaChart = ({
7611
7600
  textAnchor: "end",
7612
7601
  dominantBaseline: "middle",
7613
7602
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
7614
- className: "fill-gray-600 dark:fill-gray-400",
7603
+ className: "fill-[hsl(var(--muted-foreground))]",
7615
7604
  children: yFormatter(tick)
7616
7605
  }
7617
7606
  )
@@ -7625,7 +7614,7 @@ var AreaChart = ({
7625
7614
  transform: "rotate(-90)",
7626
7615
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
7627
7616
  fontWeight: "500",
7628
- className: "fill-gray-700 dark:fill-gray-300",
7617
+ className: "fill-[hsl(var(--foreground))]",
7629
7618
  children: yAxisLabel
7630
7619
  }
7631
7620
  )
@@ -7806,7 +7795,7 @@ var PieChart = ({
7806
7795
  viewBox: `0 0 ${width} ${height}`,
7807
7796
  role: "img",
7808
7797
  "aria-label": accessibleDescription,
7809
- className: "bg-white dark:bg-gray-900",
7798
+ className: "bg-[hsl(var(--card))]",
7810
7799
  children: [
7811
7800
  /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime116.jsx)("style", { children: `
7812
7801
  @keyframes rotateIn {
@@ -7876,7 +7865,7 @@ var PieChart = ({
7876
7865
  dominantBaseline: "middle",
7877
7866
  fontSize: CHART_DEFAULTS.fontSize.title,
7878
7867
  fontWeight: "700",
7879
- className: "fill-gray-900 dark:fill-gray-100",
7868
+ className: "fill-[hsl(var(--foreground))]",
7880
7869
  children: typeof centerValue === "number" ? formatNumber(centerValue) : centerValue
7881
7870
  }
7882
7871
  ),
@@ -7888,7 +7877,7 @@ var PieChart = ({
7888
7877
  textAnchor: "middle",
7889
7878
  dominantBaseline: "middle",
7890
7879
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
7891
- className: "fill-gray-500 dark:fill-gray-400",
7880
+ className: "fill-[hsl(var(--muted-foreground))]",
7892
7881
  children: centerLabel
7893
7882
  }
7894
7883
  ) : /* @__PURE__ */ (0, import_jsx_runtime116.jsx)(
@@ -8204,7 +8193,7 @@ var ScatterChart = ({
8204
8193
  viewBox: `0 0 ${width} ${height}`,
8205
8194
  role: "img",
8206
8195
  "aria-label": accessibleDescription,
8207
- className: "bg-white dark:bg-gray-900",
8196
+ className: "bg-[hsl(var(--card))]",
8208
8197
  children: [
8209
8198
  /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("style", { children: `
8210
8199
  @keyframes popIn {
@@ -8281,18 +8270,18 @@ var ScatterChart = ({
8281
8270
  y1: 0,
8282
8271
  x2: chartWidth,
8283
8272
  y2: 0,
8284
- className: "stroke-gray-300 dark:stroke-gray-600"
8273
+ className: "stroke-[hsl(var(--border))]"
8285
8274
  }
8286
8275
  ),
8287
8276
  xTicks.map((tick, i) => /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("g", { transform: `translate(${xScale(tick)}, 0)`, children: [
8288
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("line", { y2: 6, className: "stroke-gray-300 dark:stroke-gray-600" }),
8277
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("line", { y2: 6, className: "stroke-[hsl(var(--border))]" }),
8289
8278
  /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
8290
8279
  "text",
8291
8280
  {
8292
8281
  y: 20,
8293
8282
  textAnchor: "middle",
8294
8283
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
8295
- className: "fill-gray-600 dark:fill-gray-400",
8284
+ className: "fill-[hsl(var(--muted-foreground))]",
8296
8285
  children: xFormatter(tick)
8297
8286
  }
8298
8287
  )
@@ -8305,7 +8294,7 @@ var ScatterChart = ({
8305
8294
  textAnchor: "middle",
8306
8295
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
8307
8296
  fontWeight: "500",
8308
- className: "fill-gray-700 dark:fill-gray-300",
8297
+ className: "fill-[hsl(var(--foreground))]",
8309
8298
  children: xAxisLabel
8310
8299
  }
8311
8300
  )
@@ -8318,11 +8307,11 @@ var ScatterChart = ({
8318
8307
  y1: 0,
8319
8308
  x2: 0,
8320
8309
  y2: chartHeight,
8321
- className: "stroke-gray-300 dark:stroke-gray-600"
8310
+ className: "stroke-[hsl(var(--border))]"
8322
8311
  }
8323
8312
  ),
8324
8313
  yTicks.map((tick, i) => /* @__PURE__ */ (0, import_jsx_runtime117.jsxs)("g", { transform: `translate(0, ${yScale(tick)})`, children: [
8325
- /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("line", { x2: -6, className: "stroke-gray-300 dark:stroke-gray-600" }),
8314
+ /* @__PURE__ */ (0, import_jsx_runtime117.jsx)("line", { x2: -6, className: "stroke-[hsl(var(--border))]" }),
8326
8315
  /* @__PURE__ */ (0, import_jsx_runtime117.jsx)(
8327
8316
  "text",
8328
8317
  {
@@ -8330,7 +8319,7 @@ var ScatterChart = ({
8330
8319
  textAnchor: "end",
8331
8320
  dominantBaseline: "middle",
8332
8321
  fontSize: CHART_DEFAULTS.fontSize.gridLabel,
8333
- className: "fill-gray-600 dark:fill-gray-400",
8322
+ className: "fill-[hsl(var(--muted-foreground))]",
8334
8323
  children: yFormatter(tick)
8335
8324
  }
8336
8325
  )
@@ -8344,7 +8333,7 @@ var ScatterChart = ({
8344
8333
  transform: "rotate(-90)",
8345
8334
  fontSize: CHART_DEFAULTS.fontSize.axisLabel,
8346
8335
  fontWeight: "500",
8347
- className: "fill-gray-700 dark:fill-gray-300",
8336
+ className: "fill-[hsl(var(--foreground))]",
8348
8337
  children: yAxisLabel
8349
8338
  }
8350
8339
  )
@@ -8595,7 +8584,7 @@ var Heatmap = ({
8595
8584
  x: labelWidth + i * (cellSize + cellGap) + cellSize / 2,
8596
8585
  y: labelHeight - 8,
8597
8586
  textAnchor: "middle",
8598
- className: "text-xs fill-gray-600 dark:fill-gray-400",
8587
+ className: "text-xs fill-[hsl(var(--muted-foreground))]",
8599
8588
  style: { fontSize: "11px" },
8600
8589
  children: label
8601
8590
  },
@@ -8607,7 +8596,7 @@ var Heatmap = ({
8607
8596
  x: labelWidth - 8,
8608
8597
  y: labelHeight + j * (cellSize + cellGap) + cellSize / 2 + 4,
8609
8598
  textAnchor: "end",
8610
- className: "text-xs fill-gray-600 dark:fill-gray-400",
8599
+ className: "text-xs fill-[hsl(var(--muted-foreground))]",
8611
8600
  style: { fontSize: "11px" },
8612
8601
  children: label
8613
8602
  },
@@ -8663,7 +8652,7 @@ var Heatmap = ({
8663
8652
  showTooltip && hoveredCell && /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
8664
8653
  "div",
8665
8654
  {
8666
- className: "absolute z-50 px-3 py-2 text-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-lg shadow-lg pointer-events-none whitespace-nowrap",
8655
+ className: "absolute z-50 px-3 py-2 text-sm bg-[hsl(var(--popover))] text-[hsl(var(--popover-foreground))] border border-[hsl(var(--border))] rounded-lg shadow-lg pointer-events-none whitespace-nowrap",
8667
8656
  style: {
8668
8657
  left: labelWidth + hoveredCell.x * (cellSize + cellGap) + cellSize / 2,
8669
8658
  top: labelHeight + hoveredCell.y * (cellSize + cellGap) - 8,
@@ -8674,7 +8663,7 @@ var Heatmap = ({
8674
8663
  /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
8675
8664
  "div",
8676
8665
  {
8677
- className: "absolute w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45",
8666
+ className: "absolute w-2 h-2 bg-[hsl(var(--popover))] rotate-45",
8678
8667
  style: {
8679
8668
  left: "50%",
8680
8669
  bottom: "-4px",
@@ -8780,7 +8769,7 @@ var CalendarHeatmap = ({
8780
8769
  {
8781
8770
  x: dayLabelWidth + weekIndex * (cellSize + cellGap),
8782
8771
  y: 12,
8783
- className: "text-xs fill-gray-600 dark:fill-gray-400",
8772
+ className: "text-xs fill-[hsl(var(--muted-foreground))]",
8784
8773
  style: { fontSize: "10px" },
8785
8774
  children: label
8786
8775
  },
@@ -8792,7 +8781,7 @@ var CalendarHeatmap = ({
8792
8781
  x: dayLabelWidth - 6,
8793
8782
  y: monthLabelHeight + dayIndex * (cellSize + cellGap) + cellSize / 2 + 3,
8794
8783
  textAnchor: "end",
8795
- className: "text-xs fill-gray-600 dark:fill-gray-400",
8784
+ className: "text-xs fill-[hsl(var(--muted-foreground))]",
8796
8785
  style: { fontSize: "9px" },
8797
8786
  children: DAY_LABELS[dayIndex]
8798
8787
  },
@@ -8832,7 +8821,7 @@ var CalendarHeatmap = ({
8832
8821
  hoveredCell && /* @__PURE__ */ (0, import_jsx_runtime119.jsxs)(
8833
8822
  "div",
8834
8823
  {
8835
- className: "absolute z-50 px-3 py-2 text-sm bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-lg shadow-lg pointer-events-none whitespace-nowrap",
8824
+ className: "absolute z-50 px-3 py-2 text-sm bg-[hsl(var(--popover))] text-[hsl(var(--popover-foreground))] border border-[hsl(var(--border))] rounded-lg shadow-lg pointer-events-none whitespace-nowrap",
8836
8825
  style: {
8837
8826
  left: dayLabelWidth + hoveredCell.weekIndex * (cellSize + cellGap) + cellSize / 2,
8838
8827
  top: monthLabelHeight + hoveredCell.dayIndex * (cellSize + cellGap) - 8,
@@ -8843,7 +8832,7 @@ var CalendarHeatmap = ({
8843
8832
  /* @__PURE__ */ (0, import_jsx_runtime119.jsx)(
8844
8833
  "div",
8845
8834
  {
8846
- className: "absolute w-2 h-2 bg-gray-900 dark:bg-gray-100 rotate-45",
8835
+ className: "absolute w-2 h-2 bg-[hsl(var(--popover))] rotate-45",
8847
8836
  style: {
8848
8837
  left: "50%",
8849
8838
  bottom: "-4px",