framepexls-ui-lib 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/dist/AvatarGroup.js +1 -1
  2. package/dist/AvatarGroup.mjs +1 -1
  3. package/dist/Badge.js +12 -12
  4. package/dist/Badge.mjs +12 -12
  5. package/dist/BadgeCluster.js +1 -1
  6. package/dist/BadgeCluster.mjs +1 -1
  7. package/dist/Button.js +1 -1
  8. package/dist/Button.mjs +1 -1
  9. package/dist/Card.js +1 -1
  10. package/dist/Card.mjs +1 -1
  11. package/dist/ChartCard.js +1 -1
  12. package/dist/ChartCard.mjs +1 -1
  13. package/dist/Checkbox.js +1 -1
  14. package/dist/Checkbox.mjs +1 -1
  15. package/dist/CheckboxPillsGroup.js +3 -3
  16. package/dist/CheckboxPillsGroup.mjs +3 -3
  17. package/dist/ComboSelect.js +2 -2
  18. package/dist/ComboSelect.mjs +2 -2
  19. package/dist/DateTimeField.js +7 -4
  20. package/dist/DateTimeField.mjs +7 -4
  21. package/dist/EmptyState.js +1 -1
  22. package/dist/EmptyState.mjs +1 -1
  23. package/dist/FiltersMultiSelect.js +3 -3
  24. package/dist/FiltersMultiSelect.mjs +3 -3
  25. package/dist/Input.js +4 -4
  26. package/dist/Input.mjs +4 -4
  27. package/dist/KpiCard.js +1 -1
  28. package/dist/KpiCard.mjs +1 -1
  29. package/dist/MediaCard.js +1 -1
  30. package/dist/MediaCard.mjs +1 -1
  31. package/dist/MediaSelector.js +235 -135
  32. package/dist/MediaSelector.mjs +235 -135
  33. package/dist/MediaTile.d.mts +18 -0
  34. package/dist/MediaTile.d.ts +18 -0
  35. package/dist/MediaTile.js +146 -0
  36. package/dist/MediaTile.mjs +116 -0
  37. package/dist/MultiComboSelect.js +2 -2
  38. package/dist/MultiComboSelect.mjs +2 -2
  39. package/dist/Pagination.js +8 -6
  40. package/dist/Pagination.mjs +8 -6
  41. package/dist/Sidebar.js +9 -9
  42. package/dist/Sidebar.mjs +9 -9
  43. package/dist/Skeleton.d.mts +34 -0
  44. package/dist/Skeleton.d.ts +34 -0
  45. package/dist/Skeleton.js +92 -0
  46. package/dist/Skeleton.mjs +64 -0
  47. package/dist/StatCard.js +1 -1
  48. package/dist/StatCard.mjs +1 -1
  49. package/dist/Steps.js +2 -2
  50. package/dist/Steps.mjs +2 -2
  51. package/dist/Table.js +5 -5
  52. package/dist/Table.mjs +5 -5
  53. package/dist/Textarea.js +1 -1
  54. package/dist/Textarea.mjs +1 -1
  55. package/dist/TimePanel.js +4 -4
  56. package/dist/TimePanel.mjs +4 -4
  57. package/dist/TimePopover.js +2 -2
  58. package/dist/TimePopover.mjs +2 -2
  59. package/dist/TimeRangeField.js +7 -4
  60. package/dist/TimeRangeField.mjs +7 -4
  61. package/dist/Tooltip.js +1 -1
  62. package/dist/Tooltip.mjs +1 -1
  63. package/dist/UploadCard.js +7 -7
  64. package/dist/UploadCard.mjs +7 -7
  65. package/dist/index.d.mts +2 -0
  66. package/dist/index.d.ts +2 -0
  67. package/dist/index.js +6 -0
  68. package/dist/index.mjs +68 -64
  69. package/dist/theme/ThemeToggle.js +2 -1
  70. package/dist/theme/ThemeToggle.mjs +2 -1
  71. package/package.json +1 -1
@@ -68,7 +68,7 @@ function AvatarGroup({
68
68
  overlap && visible.length > 0 ? "-ml-2" : "",
69
69
  "grid place-items-center",
70
70
  radiusClass,
71
- "border border-slate-200 bg-white text-[11px] font-medium text-slate-600 dark:border-white/10 dark:bg-white/5 dark:text-slate-300"
71
+ "border border-slate-200 bg-white text-[11px] font-medium text-slate-600 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-300"
72
72
  ].join(" "),
73
73
  style: { width: size, height: size },
74
74
  "aria-label": `+${rest}`,
@@ -35,7 +35,7 @@ function AvatarGroup({
35
35
  overlap && visible.length > 0 ? "-ml-2" : "",
36
36
  "grid place-items-center",
37
37
  radiusClass,
38
- "border border-slate-200 bg-white text-[11px] font-medium text-slate-600 dark:border-white/10 dark:bg-white/5 dark:text-slate-300"
38
+ "border border-slate-200 bg-white text-[11px] font-medium text-slate-600 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-300"
39
39
  ].join(" "),
40
40
  style: { width: size, height: size },
41
41
  "aria-label": `+${rest}`,
package/dist/Badge.js CHANGED
@@ -26,18 +26,18 @@ var import_jsx_runtime = require("react/jsx-runtime");
26
26
  var import_framer_motion = require("framer-motion");
27
27
  var import_animations = require("./animations");
28
28
  const tones = {
29
- emerald: "bg-emerald-100 text-emerald-700 ring-1 ring-emerald-200",
30
- indigo: "bg-indigo-100 text-indigo-700 ring-1 ring-indigo-200",
31
- amber: "bg-amber-100 text-amber-700 ring-1 ring-amber-200",
32
- slate: "bg-slate-100 text-slate-700 ring-1 ring-slate-200",
33
- rose: "bg-rose-100 text-rose-700 ring-1 ring-rose-200",
34
- sky: "bg-sky-100 text-sky-700 ring-1 ring-sky-200",
35
- violet: "bg-blue-100 text-blue-700 ring-1 ring-blue-200",
36
- cyan: "bg-cyan-100 text-cyan-700 ring-1 ring-cyan-200",
37
- teal: "bg-teal-100 text-teal-700 ring-1 ring-teal-200",
38
- pink: "bg-pink-100 text-pink-700 ring-1 ring-pink-200",
39
- orange: "bg-orange-100 text-orange-700 ring-1 ring-orange-200",
40
- lime: "bg-lime-100 text-lime-700 ring-1 ring-lime-200"
29
+ emerald: "bg-emerald-100 text-emerald-700 ring-1 ring-emerald-200 dark:bg-[var(--fx-surface)] dark:text-emerald-300 dark:ring-white/10",
30
+ indigo: "bg-indigo-100 text-indigo-700 ring-1 ring-indigo-200 dark:bg-[var(--fx-surface)] dark:text-indigo-300 dark:ring-white/10",
31
+ amber: "bg-amber-100 text-amber-700 ring-1 ring-amber-200 dark:bg-[var(--fx-surface)] dark:text-amber-300 dark:ring-white/10",
32
+ slate: "bg-slate-100 text-slate-700 ring-1 ring-slate-200 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:ring-white/10",
33
+ rose: "bg-rose-100 text-rose-700 ring-1 ring-rose-200 dark:bg-[var(--fx-surface)] dark:text-rose-300 dark:ring-white/10",
34
+ sky: "bg-sky-100 text-sky-700 ring-1 ring-sky-200 dark:bg-[var(--fx-surface)] dark:text-sky-300 dark:ring-white/10",
35
+ violet: "bg-violet-100 text-violet-700 ring-1 ring-violet-200 dark:bg-[var(--fx-surface)] dark:text-violet-300 dark:ring-white/10",
36
+ cyan: "bg-cyan-100 text-cyan-700 ring-1 ring-cyan-200 dark:bg-[var(--fx-surface)] dark:text-cyan-300 dark:ring-white/10",
37
+ teal: "bg-teal-100 text-teal-700 ring-1 ring-teal-200 dark:bg-[var(--fx-surface)] dark:text-teal-300 dark:ring-white/10",
38
+ pink: "bg-pink-100 text-pink-700 ring-1 ring-pink-200 dark:bg-[var(--fx-surface)] dark:text-pink-300 dark:ring-white/10",
39
+ orange: "bg-orange-100 text-orange-700 ring-1 ring-orange-200 dark:bg-[var(--fx-surface)] dark:text-orange-300 dark:ring-white/10",
40
+ lime: "bg-lime-100 text-lime-700 ring-1 ring-lime-200 dark:bg-[var(--fx-surface)] dark:text-lime-300 dark:ring-white/10"
41
41
  };
42
42
  const sizeClasses = {
43
43
  sm: { wrap: "px-2 py-0.5 text-[11px]", dot: "h-1.5 w-1.5", gap: "gap-1.5" },
package/dist/Badge.mjs CHANGED
@@ -3,18 +3,18 @@ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { motion } from "framer-motion";
4
4
  import { microTransition } from "./animations";
5
5
  const tones = {
6
- emerald: "bg-emerald-100 text-emerald-700 ring-1 ring-emerald-200",
7
- indigo: "bg-indigo-100 text-indigo-700 ring-1 ring-indigo-200",
8
- amber: "bg-amber-100 text-amber-700 ring-1 ring-amber-200",
9
- slate: "bg-slate-100 text-slate-700 ring-1 ring-slate-200",
10
- rose: "bg-rose-100 text-rose-700 ring-1 ring-rose-200",
11
- sky: "bg-sky-100 text-sky-700 ring-1 ring-sky-200",
12
- violet: "bg-blue-100 text-blue-700 ring-1 ring-blue-200",
13
- cyan: "bg-cyan-100 text-cyan-700 ring-1 ring-cyan-200",
14
- teal: "bg-teal-100 text-teal-700 ring-1 ring-teal-200",
15
- pink: "bg-pink-100 text-pink-700 ring-1 ring-pink-200",
16
- orange: "bg-orange-100 text-orange-700 ring-1 ring-orange-200",
17
- lime: "bg-lime-100 text-lime-700 ring-1 ring-lime-200"
6
+ emerald: "bg-emerald-100 text-emerald-700 ring-1 ring-emerald-200 dark:bg-[var(--fx-surface)] dark:text-emerald-300 dark:ring-white/10",
7
+ indigo: "bg-indigo-100 text-indigo-700 ring-1 ring-indigo-200 dark:bg-[var(--fx-surface)] dark:text-indigo-300 dark:ring-white/10",
8
+ amber: "bg-amber-100 text-amber-700 ring-1 ring-amber-200 dark:bg-[var(--fx-surface)] dark:text-amber-300 dark:ring-white/10",
9
+ slate: "bg-slate-100 text-slate-700 ring-1 ring-slate-200 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:ring-white/10",
10
+ rose: "bg-rose-100 text-rose-700 ring-1 ring-rose-200 dark:bg-[var(--fx-surface)] dark:text-rose-300 dark:ring-white/10",
11
+ sky: "bg-sky-100 text-sky-700 ring-1 ring-sky-200 dark:bg-[var(--fx-surface)] dark:text-sky-300 dark:ring-white/10",
12
+ violet: "bg-violet-100 text-violet-700 ring-1 ring-violet-200 dark:bg-[var(--fx-surface)] dark:text-violet-300 dark:ring-white/10",
13
+ cyan: "bg-cyan-100 text-cyan-700 ring-1 ring-cyan-200 dark:bg-[var(--fx-surface)] dark:text-cyan-300 dark:ring-white/10",
14
+ teal: "bg-teal-100 text-teal-700 ring-1 ring-teal-200 dark:bg-[var(--fx-surface)] dark:text-teal-300 dark:ring-white/10",
15
+ pink: "bg-pink-100 text-pink-700 ring-1 ring-pink-200 dark:bg-[var(--fx-surface)] dark:text-pink-300 dark:ring-white/10",
16
+ orange: "bg-orange-100 text-orange-700 ring-1 ring-orange-200 dark:bg-[var(--fx-surface)] dark:text-orange-300 dark:ring-white/10",
17
+ lime: "bg-lime-100 text-lime-700 ring-1 ring-lime-200 dark:bg-[var(--fx-surface)] dark:text-lime-300 dark:ring-white/10"
18
18
  };
19
19
  const sizeClasses = {
20
20
  sm: { wrap: "px-2 py-0.5 text-[11px]", dot: "h-1.5 w-1.5", gap: "gap-1.5" },
@@ -111,7 +111,7 @@ function BadgeCluster({
111
111
  ref: btnRef,
112
112
  type: "button",
113
113
  onClick: () => setOpen((v) => !v),
114
- className: "inline-flex items-center rounded-full bg-slate-100 px-2.5 py-1 text-xs font-semibold text-slate-700 ring-1 ring-slate-200 hover:bg-slate-200 dark:bg-white/10 dark:text-slate-100 dark:ring-white/10",
114
+ className: "inline-flex items-center rounded-full bg-slate-100 px-2.5 py-1 text-xs font-semibold text-slate-700 ring-1 ring-slate-200 hover:bg-slate-200 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:ring-white/10",
115
115
  title: rest.map((r) => r.label).join(", "),
116
116
  children: [
117
117
  "+",
@@ -78,7 +78,7 @@ function BadgeCluster({
78
78
  ref: btnRef,
79
79
  type: "button",
80
80
  onClick: () => setOpen((v) => !v),
81
- className: "inline-flex items-center rounded-full bg-slate-100 px-2.5 py-1 text-xs font-semibold text-slate-700 ring-1 ring-slate-200 hover:bg-slate-200 dark:bg-white/10 dark:text-slate-100 dark:ring-white/10",
81
+ className: "inline-flex items-center rounded-full bg-slate-100 px-2.5 py-1 text-xs font-semibold text-slate-700 ring-1 ring-slate-200 hover:bg-slate-200 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:ring-white/10",
82
82
  title: rest.map((r) => r.label).join(", "),
83
83
  children: [
84
84
  "+",
package/dist/Button.js CHANGED
@@ -149,7 +149,7 @@ const Button = import_react.default.forwardRef(({
149
149
  case "primary":
150
150
  return color ? SOLID[color] : "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
151
151
  case "secondary":
152
- return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
152
+ return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10";
153
153
  case "outline":
154
154
  return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? OUTLINE[color] : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
155
155
  case "ghost":
package/dist/Button.mjs CHANGED
@@ -116,7 +116,7 @@ const Button = React.forwardRef(({
116
116
  case "primary":
117
117
  return color ? SOLID[color] : "bg-slate-900 text-white hover:opacity-90 active:scale-[.98] dark:bg-white dark:text-slate-900";
118
118
  case "secondary":
119
- return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
119
+ return inverted ? "border border-white/15 bg-white/10 text-white hover:bg-white/15 active:scale-[.98]" : "border border-slate-300/80 bg-white text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10";
120
120
  case "outline":
121
121
  return inverted ? "border border-white/20 bg-transparent text-white hover:bg-white/10 active:scale-[.98]" : color ? OUTLINE[color] : "border border-slate-300/80 bg-transparent text-slate-700 hover:bg-slate-50 active:scale-[.98] dark:border-white/10 dark:text-slate-200 dark:hover:bg-white/10";
122
122
  case "ghost":
package/dist/Card.js CHANGED
@@ -36,7 +36,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_framer_motion = require("framer-motion");
38
38
  var import_animations = require("./animations");
39
- const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-white/5";
39
+ const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]";
40
40
  const Card = import_react.default.forwardRef(
41
41
  ({ className, children, ...rest }, ref) => {
42
42
  const { onDrag, onDragStart, onDragEnd, onDragOver, onDragEnter, onDragLeave, ...domRest } = rest;
package/dist/Card.mjs CHANGED
@@ -3,7 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
  import React from "react";
4
4
  import { motion } from "framer-motion";
5
5
  import { microTransition } from "./animations";
6
- const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-white/5";
6
+ const base = "rounded-2xl border border-slate-200 bg-white p-4 shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]";
7
7
  const Card = React.forwardRef(
8
8
  ({ className, children, ...rest }, ref) => {
9
9
  const { onDrag, onDragStart, onDragEnd, onDragOver, onDragEnter, onDragLeave, ...domRest } = rest;
package/dist/ChartCard.js CHANGED
@@ -27,7 +27,7 @@ function ChartCard({ title, subtitle, right, children, footer, compact, classNam
27
27
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
28
28
  "div",
29
29
  {
30
- className: ["relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-white/5", className != null ? className : ""].join(" "),
30
+ className: ["relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-[var(--fx-surface)]", className != null ? className : ""].join(" "),
31
31
  children: [
32
32
  (title || subtitle || right) && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: ["flex items-center justify-between gap-3 border-b border-slate-100 px-4", compact ? "py-2" : "py-3", "dark:border-white/10"].join(" "), children: [
33
33
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
@@ -4,7 +4,7 @@ function ChartCard({ title, subtitle, right, children, footer, compact, classNam
4
4
  return /* @__PURE__ */ jsxs(
5
5
  "div",
6
6
  {
7
- className: ["relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-white/5", className != null ? className : ""].join(" "),
7
+ className: ["relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-[var(--fx-surface)]", className != null ? className : ""].join(" "),
8
8
  children: [
9
9
  (title || subtitle || right) && /* @__PURE__ */ jsxs("div", { className: ["flex items-center justify-between gap-3 border-b border-slate-100 px-4", compact ? "py-2" : "py-3", "dark:border-white/10"].join(" "), children: [
10
10
  /* @__PURE__ */ jsxs("div", { children: [
package/dist/Checkbox.js CHANGED
@@ -38,7 +38,7 @@ var import_framer_motion = require("framer-motion");
38
38
  function cx(...a) {
39
39
  return a.filter(Boolean).join(" ");
40
40
  }
41
- const baseInput = "appearance-none grid place-items-center rounded border border-slate-300 bg-white shadow-sm outline-none focus:ring-4 focus:ring-blue-300/40 checked:bg-blue-600 checked:border-blue-600 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:checked:bg-blue-500 dark:checked:border-blue-500";
41
+ const baseInput = "appearance-none grid place-items-center rounded border border-slate-300 bg-white shadow-sm outline-none focus:ring-4 focus:ring-blue-300/40 checked:bg-blue-600 checked:border-blue-600 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-[var(--fx-surface)] dark:checked:bg-blue-500 dark:checked:border-blue-500";
42
42
  const sizeMap = {
43
43
  sm: "h-4 w-4",
44
44
  md: "h-5 w-5",
package/dist/Checkbox.mjs CHANGED
@@ -5,7 +5,7 @@ import { motion } from "framer-motion";
5
5
  function cx(...a) {
6
6
  return a.filter(Boolean).join(" ");
7
7
  }
8
- const baseInput = "appearance-none grid place-items-center rounded border border-slate-300 bg-white shadow-sm outline-none focus:ring-4 focus:ring-blue-300/40 checked:bg-blue-600 checked:border-blue-600 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:checked:bg-blue-500 dark:checked:border-blue-500";
8
+ const baseInput = "appearance-none grid place-items-center rounded border border-slate-300 bg-white shadow-sm outline-none focus:ring-4 focus:ring-blue-300/40 checked:bg-blue-600 checked:border-blue-600 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-[var(--fx-surface)] dark:checked:bg-blue-500 dark:checked:border-blue-500";
9
9
  const sizeMap = {
10
10
  sm: "h-4 w-4",
11
11
  md: "h-5 w-5",
@@ -79,10 +79,10 @@ const ACTIVE_GLASS = {
79
79
  };
80
80
  function activeClasses(accent, variant) {
81
81
  if (variant === "soft") return ACTIVE_SOFT[accent];
82
- if (variant === "outline") return ACTIVE_OUTLINE[accent] + " bg-white/70 dark:bg-white/5";
82
+ if (variant === "outline") return ACTIVE_OUTLINE[accent] + " bg-white/70 dark:bg-[var(--fx-surface)]";
83
83
  return ACTIVE_GLASS[accent] + " backdrop-blur-[2px]";
84
84
  }
85
- const NEUTRAL = "border-slate-200 bg-white/70 text-slate-700 hover:bg-slate-50 dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
85
+ const NEUTRAL = "border-slate-200 bg-white/70 text-slate-700 hover:bg-slate-50 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10";
86
86
  function CheckboxPillsGroup({
87
87
  options,
88
88
  value,
@@ -160,7 +160,7 @@ function CheckboxPillsGroup({
160
160
  }
161
161
  ),
162
162
  withIcon && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: "relative mr-2 inline-block h-[22px] w-[22px] flex-none", children: [
163
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-0" : "opacity-100"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "grid place-items-center rounded-full border border-slate-300/80 bg-white/70 text-slate-500 dark:border-white/15 dark:bg-white/5", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "7" }) }) }) }),
163
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-0" : "opacity-100"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "grid place-items-center rounded-full border border-slate-300/80 bg-white/70 text-slate-500 dark:border-white/15 dark:bg-[var(--fx-surface)]", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "7" }) }) }) }),
164
164
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-100" : "opacity-0"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
165
165
  "span",
166
166
  {
@@ -46,10 +46,10 @@ const ACTIVE_GLASS = {
46
46
  };
47
47
  function activeClasses(accent, variant) {
48
48
  if (variant === "soft") return ACTIVE_SOFT[accent];
49
- if (variant === "outline") return ACTIVE_OUTLINE[accent] + " bg-white/70 dark:bg-white/5";
49
+ if (variant === "outline") return ACTIVE_OUTLINE[accent] + " bg-white/70 dark:bg-[var(--fx-surface)]";
50
50
  return ACTIVE_GLASS[accent] + " backdrop-blur-[2px]";
51
51
  }
52
- const NEUTRAL = "border-slate-200 bg-white/70 text-slate-700 hover:bg-slate-50 dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10";
52
+ const NEUTRAL = "border-slate-200 bg-white/70 text-slate-700 hover:bg-slate-50 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10";
53
53
  function CheckboxPillsGroup({
54
54
  options,
55
55
  value,
@@ -127,7 +127,7 @@ function CheckboxPillsGroup({
127
127
  }
128
128
  ),
129
129
  withIcon && /* @__PURE__ */ jsxs("span", { className: "relative mr-2 inline-block h-[22px] w-[22px] flex-none", children: [
130
- /* @__PURE__ */ jsx("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-0" : "opacity-100"), children: /* @__PURE__ */ jsx("span", { className: "grid place-items-center rounded-full border border-slate-300/80 bg-white/70 text-slate-500 dark:border-white/15 dark:bg-white/5", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7" }) }) }) }),
130
+ /* @__PURE__ */ jsx("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-0" : "opacity-100"), children: /* @__PURE__ */ jsx("span", { className: "grid place-items-center rounded-full border border-slate-300/80 bg-white/70 text-slate-500 dark:border-white/15 dark:bg-[var(--fx-surface)]", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: sz.icon, fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7" }) }) }) }),
131
131
  /* @__PURE__ */ jsx("span", { className: cx("absolute inset-0 grid place-items-center transition-opacity duration-150", active ? "opacity-100" : "opacity-0"), children: /* @__PURE__ */ jsx(
132
132
  "span",
133
133
  {
@@ -405,7 +405,7 @@ function ComboSelect({
405
405
  unstyled: true,
406
406
  type: "button",
407
407
  title: "Limpiar",
408
- className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
408
+ className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]",
409
409
  onMouseDown: (e) => {
410
410
  e.preventDefault();
411
411
  e.stopPropagation();
@@ -433,7 +433,7 @@ function ComboSelect({
433
433
  title: open ? "Cerrar" : "Abrir",
434
434
  disabled,
435
435
  className: cx(
436
- disabled ? "pointer-events-none opacity-60" : "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5"
436
+ disabled ? "pointer-events-none opacity-60" : "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]"
437
437
  ),
438
438
  onMouseDown: (e) => {
439
439
  e.preventDefault();
@@ -372,7 +372,7 @@ function ComboSelect({
372
372
  unstyled: true,
373
373
  type: "button",
374
374
  title: "Limpiar",
375
- className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
375
+ className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]",
376
376
  onMouseDown: (e) => {
377
377
  e.preventDefault();
378
378
  e.stopPropagation();
@@ -400,7 +400,7 @@ function ComboSelect({
400
400
  title: open ? "Cerrar" : "Abrir",
401
401
  disabled,
402
402
  className: cx(
403
- disabled ? "pointer-events-none opacity-60" : "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5"
403
+ disabled ? "pointer-events-none opacity-60" : "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]"
404
404
  ),
405
405
  onMouseDown: (e) => {
406
406
  e.preventDefault();
@@ -188,12 +188,15 @@ function DateTimeField({
188
188
  }, [open]);
189
189
  const stylePop = (() => {
190
190
  if (!anchorRect) return { visibility: "hidden" };
191
- const W = 360, GAP = 8, MARGIN = 8, H = 420;
191
+ const GAP = 8, MARGIN = 8;
192
+ const W = Math.min(420, Math.max(320, window.innerWidth - MARGIN * 2));
193
+ const H = Math.min(520, Math.max(320, Math.floor(window.innerHeight * 0.75)));
192
194
  let left = anchorRect.right - W;
193
195
  left = Math.max(MARGIN, Math.min(left, window.innerWidth - (W + MARGIN)));
194
196
  let top = anchorRect.bottom + GAP;
195
197
  if (top + H > window.innerHeight) top = Math.max(MARGIN, anchorRect.top - GAP - H);
196
- return { position: "fixed", top, left, zIndex: 1e5 };
198
+ const maxHeight = Math.min(H, window.innerHeight - top - MARGIN);
199
+ return { position: "fixed", top, left, zIndex: 1e5, width: W, maxHeight, overflowY: "auto" };
197
200
  })();
198
201
  const parsed = (0, import_react.useMemo)(() => value ? parseValueByType(value, type) : null, [value, type]);
199
202
  const [cursor, setCursor] = (0, import_react.useState)(() => parsed != null ? parsed : /* @__PURE__ */ new Date());
@@ -256,7 +259,7 @@ function DateTimeField({
256
259
  ref: popRef,
257
260
  style: { ...stylePop, willChange: "transform, opacity" },
258
261
  "data-dtf-pop": true,
259
- className: "w-1/3 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-xl dark:border-white/10 dark:bg-[var(--fx-surface)]",
262
+ className: "overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-xl dark:border-white/10 dark:bg-[var(--fx-surface)]",
260
263
  children: [
261
264
  type !== "time" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
262
265
  import_CalendarPanel.default,
@@ -393,7 +396,7 @@ function DateTimeField({
393
396
  {
394
397
  unstyled: true,
395
398
  type: "button",
396
- className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
399
+ className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]",
397
400
  onClick: (e) => {
398
401
  e.preventDefault();
399
402
  openPopover();
@@ -155,12 +155,15 @@ function DateTimeField({
155
155
  }, [open]);
156
156
  const stylePop = (() => {
157
157
  if (!anchorRect) return { visibility: "hidden" };
158
- const W = 360, GAP = 8, MARGIN = 8, H = 420;
158
+ const GAP = 8, MARGIN = 8;
159
+ const W = Math.min(420, Math.max(320, window.innerWidth - MARGIN * 2));
160
+ const H = Math.min(520, Math.max(320, Math.floor(window.innerHeight * 0.75)));
159
161
  let left = anchorRect.right - W;
160
162
  left = Math.max(MARGIN, Math.min(left, window.innerWidth - (W + MARGIN)));
161
163
  let top = anchorRect.bottom + GAP;
162
164
  if (top + H > window.innerHeight) top = Math.max(MARGIN, anchorRect.top - GAP - H);
163
- return { position: "fixed", top, left, zIndex: 1e5 };
165
+ const maxHeight = Math.min(H, window.innerHeight - top - MARGIN);
166
+ return { position: "fixed", top, left, zIndex: 1e5, width: W, maxHeight, overflowY: "auto" };
164
167
  })();
165
168
  const parsed = useMemo(() => value ? parseValueByType(value, type) : null, [value, type]);
166
169
  const [cursor, setCursor] = useState(() => parsed != null ? parsed : /* @__PURE__ */ new Date());
@@ -223,7 +226,7 @@ function DateTimeField({
223
226
  ref: popRef,
224
227
  style: { ...stylePop, willChange: "transform, opacity" },
225
228
  "data-dtf-pop": true,
226
- className: "w-1/3 overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-xl dark:border-white/10 dark:bg-[var(--fx-surface)]",
229
+ className: "overflow-hidden rounded-2xl border border-slate-200 bg-white shadow-xl dark:border-white/10 dark:bg-[var(--fx-surface)]",
227
230
  children: [
228
231
  type !== "time" && /* @__PURE__ */ jsx(
229
232
  CalendarPanel,
@@ -360,7 +363,7 @@ function DateTimeField({
360
363
  {
361
364
  unstyled: true,
362
365
  type: "button",
363
- className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5",
366
+ className: "pointer-events-auto inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]",
364
367
  onClick: (e) => {
365
368
  e.preventDefault();
366
369
  openPopover();
@@ -28,7 +28,7 @@ function EmptyState({
28
28
  subtitle = "Intenta cambiar el t\xE9rmino de b\xFAsqueda o los filtros."
29
29
  }) {
30
30
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mx-auto w-full max-w-sm", children: [
31
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mx-auto mb-4 h-14 w-14 rounded-2xl bg-slate-100 ring-1 ring-slate-200 dark:bg-white/5" }),
31
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mx-auto mb-4 h-14 w-14 rounded-2xl bg-slate-100 ring-1 ring-slate-200 dark:bg-[var(--fx-surface)] dark:ring-white/10" }),
32
32
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-lg font-medium", children: title }),
33
33
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm text-slate-500 dark:text-slate-400", children: subtitle })
34
34
  ] });
@@ -5,7 +5,7 @@ function EmptyState({
5
5
  subtitle = "Intenta cambiar el t\xE9rmino de b\xFAsqueda o los filtros."
6
6
  }) {
7
7
  return /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-sm", children: [
8
- /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 h-14 w-14 rounded-2xl bg-slate-100 ring-1 ring-slate-200 dark:bg-white/5" }),
8
+ /* @__PURE__ */ jsx("div", { className: "mx-auto mb-4 h-14 w-14 rounded-2xl bg-slate-100 ring-1 ring-slate-200 dark:bg-[var(--fx-surface)] dark:ring-white/10" }),
9
9
  /* @__PURE__ */ jsx("div", { className: "text-lg font-medium", children: title }),
10
10
  /* @__PURE__ */ jsx("div", { className: "text-sm text-slate-500 dark:text-slate-400", children: subtitle })
11
11
  ] });
@@ -93,12 +93,12 @@ function FiltersMultiSelect({
93
93
  className: clsx(
94
94
  "relative inline-flex items-center gap-2 min-h-[44px] rounded-2xl border border-slate-200 bg-white px-3 pr-9 text-sm text-slate-900 shadow-sm outline-none transition",
95
95
  "hover:bg-white focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300",
96
- "dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:focus:ring-white/10"
96
+ "dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:focus:ring-white/10"
97
97
  ),
98
98
  children: [
99
99
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: triggerLabel }),
100
- showActiveCount && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-700 dark:bg-white/10 dark:text-slate-200", children: activeCount }),
101
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 dark:border-white/10 dark:bg-white/5", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: clsx("h-4 w-4 transition", open && "rotate-180"), fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m6 9 6 6 6-6" }) }) })
100
+ showActiveCount && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-700 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:ring-1 dark:ring-white/10", children: activeCount }),
101
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 dark:border-white/10 dark:bg-[var(--fx-surface)]", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: clsx("h-4 w-4 transition", open && "rotate-180"), fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m6 9 6 6 6-6" }) }) })
102
102
  ]
103
103
  }
104
104
  ),
@@ -60,12 +60,12 @@ function FiltersMultiSelect({
60
60
  className: clsx(
61
61
  "relative inline-flex items-center gap-2 min-h-[44px] rounded-2xl border border-slate-200 bg-white px-3 pr-9 text-sm text-slate-900 shadow-sm outline-none transition",
62
62
  "hover:bg-white focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300",
63
- "dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:focus:ring-white/10"
63
+ "dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:focus:ring-white/10"
64
64
  ),
65
65
  children: [
66
66
  /* @__PURE__ */ jsx("span", { children: triggerLabel }),
67
- showActiveCount && /* @__PURE__ */ jsx("span", { className: "rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-700 dark:bg-white/10 dark:text-slate-200", children: activeCount }),
68
- /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 dark:border-white/10 dark:bg-white/5", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: clsx("h-4 w-4 transition", open && "rotate-180"), fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" }) }) })
67
+ showActiveCount && /* @__PURE__ */ jsx("span", { className: "rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-700 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:ring-1 dark:ring-white/10", children: activeCount }),
68
+ /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-2 top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 dark:border-white/10 dark:bg-[var(--fx-surface)]", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: clsx("h-4 w-4 transition", open && "rotate-180"), fill: "none", stroke: "currentColor", strokeWidth: 2, children: /* @__PURE__ */ jsx("path", { d: "m6 9 6 6 6-6" }) }) })
69
69
  ]
70
70
  }
71
71
  ),
package/dist/Input.js CHANGED
@@ -40,7 +40,7 @@ var import_Button = __toESM(require("./Button"));
40
40
  function cx(...a) {
41
41
  return a.filter(Boolean).join(" ");
42
42
  }
43
- const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus:ring-white/10";
43
+ const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus:ring-white/10";
44
44
  const errorControl = "border-blue-300 focus:border-blue-300 focus:ring-blue-500/15";
45
45
  const Input = import_react.default.forwardRef(
46
46
  ({ className, error, leftSlot, rightSlot, clearable, onClear, tone = "default", value, onChange, unstyled, ...props }, ref) => {
@@ -60,7 +60,7 @@ const Input = import_react.default.forwardRef(
60
60
  const readOnly = !onChange;
61
61
  const [focused, setFocused] = import_react.default.useState(false);
62
62
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative content-center", children: [
63
- leftSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400", children: leftSlot }),
63
+ leftSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400 dark:text-slate-400", children: leftSlot }),
64
64
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
65
  "input",
66
66
  {
@@ -89,14 +89,14 @@ const Input = import_react.default.forwardRef(
89
89
  ...props
90
90
  }
91
91
  ),
92
- rightSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-slate-400", children: rightSlot }),
92
+ rightSlot && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 dark:text-slate-400", children: rightSlot }),
93
93
  showClear && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
94
  import_Button.default,
95
95
  {
96
96
  unstyled: true,
97
97
  type: "button",
98
98
  title: "Limpiar",
99
- className: `absolute ${rightSlot ? "right-9" : "right-2.5"} top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5`,
99
+ className: `absolute ${rightSlot ? "right-9" : "right-2.5"} top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]`,
100
100
  onClick: (e) => {
101
101
  e.preventDefault();
102
102
  onClear == null ? void 0 : onClear();
package/dist/Input.mjs CHANGED
@@ -7,7 +7,7 @@ import Button from "./Button";
7
7
  function cx(...a) {
8
8
  return a.filter(Boolean).join(" ");
9
9
  }
10
- const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-white/10 dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus:ring-white/10";
10
+ const baseControl = "w-full rounded-2xl border border-slate-200 bg-white px-3.5 py-2.5 text-sm text-slate-900 placeholder:text-slate-400 shadow-sm outline-none transition focus:ring-4 focus:ring-slate-900/5 focus:border-slate-300 disabled:opacity-60 disabled:cursor-not-allowed dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-100 dark:placeholder:text-slate-400 dark:focus:ring-white/10";
11
11
  const errorControl = "border-blue-300 focus:border-blue-300 focus:ring-blue-500/15";
12
12
  const Input = React.forwardRef(
13
13
  ({ className, error, leftSlot, rightSlot, clearable, onClear, tone = "default", value, onChange, unstyled, ...props }, ref) => {
@@ -27,7 +27,7 @@ const Input = React.forwardRef(
27
27
  const readOnly = !onChange;
28
28
  const [focused, setFocused] = React.useState(false);
29
29
  return /* @__PURE__ */ jsxs("div", { className: "relative content-center", children: [
30
- leftSlot && /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400", children: leftSlot }),
30
+ leftSlot && /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-slate-400 dark:text-slate-400", children: leftSlot }),
31
31
  /* @__PURE__ */ jsx(
32
32
  "input",
33
33
  {
@@ -56,14 +56,14 @@ const Input = React.forwardRef(
56
56
  ...props
57
57
  }
58
58
  ),
59
- rightSlot && /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-slate-400", children: rightSlot }),
59
+ rightSlot && /* @__PURE__ */ jsx("span", { className: "pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-slate-400 dark:text-slate-400", children: rightSlot }),
60
60
  showClear && /* @__PURE__ */ jsx(
61
61
  Button,
62
62
  {
63
63
  unstyled: true,
64
64
  type: "button",
65
65
  title: "Limpiar",
66
- className: `absolute ${rightSlot ? "right-9" : "right-2.5"} top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5`,
66
+ className: `absolute ${rightSlot ? "right-9" : "right-2.5"} top-1/2 -translate-y-1/2 inline-flex h-7 w-7 items-center justify-center rounded-lg border border-slate-200 bg-white text-slate-600 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)]`,
67
67
  onClick: (e) => {
68
68
  e.preventDefault();
69
69
  onClear == null ? void 0 : onClear();
package/dist/KpiCard.js CHANGED
@@ -39,7 +39,7 @@ function MotionNumber({ value, format }) {
39
39
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: format ? format(display) : Math.round(display).toLocaleString() });
40
40
  }
41
41
  function KpiCard({ label, value, delta, help }) {
42
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-white/50 bg-white/75 p-4 text-slate-900/90 backdrop-blur-sm dark:border-white/10 dark:bg-white/10 dark:text-white", children: [
42
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "rounded-2xl border border-white/50 bg-white/75 p-4 text-slate-900/90 backdrop-blur-sm dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-white", children: [
43
43
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between", children: [
44
44
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-slate-600 dark:text-white/80", children: label }),
45
45
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
package/dist/KpiCard.mjs CHANGED
@@ -16,7 +16,7 @@ function MotionNumber({ value, format }) {
16
16
  return /* @__PURE__ */ jsx("span", { children: format ? format(display) : Math.round(display).toLocaleString() });
17
17
  }
18
18
  function KpiCard({ label, value, delta, help }) {
19
- return /* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-white/50 bg-white/75 p-4 text-slate-900/90 backdrop-blur-sm dark:border-white/10 dark:bg-white/10 dark:text-white", children: [
19
+ return /* @__PURE__ */ jsxs("div", { className: "rounded-2xl border border-white/50 bg-white/75 p-4 text-slate-900/90 backdrop-blur-sm dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-white", children: [
20
20
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
21
21
  /* @__PURE__ */ jsx("span", { className: "text-slate-600 dark:text-white/80", children: label }),
22
22
  /* @__PURE__ */ jsx(
package/dist/MediaCard.js CHANGED
@@ -64,7 +64,7 @@ function MediaCard({
64
64
  whileHover: { y: -2 },
65
65
  transition: import_animations.microTransition,
66
66
  className: [
67
- "group relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-white/5",
67
+ "group relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-[var(--fx-surface)]",
68
68
  className != null ? className : ""
69
69
  ].join(" "),
70
70
  children: [
@@ -31,7 +31,7 @@ function MediaCard({
31
31
  whileHover: { y: -2 },
32
32
  transition: microTransition,
33
33
  className: [
34
- "group relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-white/5",
34
+ "group relative overflow-hidden rounded-2xl border border-slate-200 bg-white/80 shadow-sm ring-1 ring-black/5 backdrop-blur dark:border-white/10 dark:bg-[var(--fx-surface)]",
35
35
  className != null ? className : ""
36
36
  ].join(" "),
37
37
  children: [