framepexls-ui-lib 0.1.12 → 0.1.14

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 (125) hide show
  1. package/dist/ActionIconButton.d.mts +1 -0
  2. package/dist/ActionIconButton.d.ts +1 -0
  3. package/dist/ActionIconButton.js +12 -9
  4. package/dist/ActionIconButton.mjs +13 -10
  5. package/dist/AppTopbar.d.mts +8 -9
  6. package/dist/AppTopbar.d.ts +8 -9
  7. package/dist/AppTopbar.js +31 -5
  8. package/dist/AppTopbar.mjs +21 -5
  9. package/dist/AvatarGroup.d.mts +14 -0
  10. package/dist/AvatarGroup.d.ts +14 -0
  11. package/dist/AvatarGroup.js +77 -0
  12. package/dist/AvatarGroup.mjs +47 -0
  13. package/dist/AvatarSquare.d.mts +2 -5
  14. package/dist/AvatarSquare.d.ts +2 -5
  15. package/dist/AvatarSquare.js +52 -3
  16. package/dist/AvatarSquare.mjs +52 -3
  17. package/dist/Badge.d.mts +2 -1
  18. package/dist/Badge.d.ts +2 -1
  19. package/dist/Badge.js +3 -1
  20. package/dist/Badge.mjs +3 -1
  21. package/dist/BadgeCluster.js +3 -3
  22. package/dist/BadgeCluster.mjs +3 -3
  23. package/dist/Button.d.mts +3 -4
  24. package/dist/Button.d.ts +3 -4
  25. package/dist/Button.js +97 -9
  26. package/dist/Button.mjs +87 -9
  27. package/dist/CalendarPanel.js +20 -3
  28. package/dist/CalendarPanel.mjs +10 -3
  29. package/dist/Card.d.mts +6 -0
  30. package/dist/Card.d.ts +6 -0
  31. package/dist/Card.js +52 -0
  32. package/dist/Card.mjs +22 -0
  33. package/dist/CheckboxPillsGroup.d.mts +2 -1
  34. package/dist/CheckboxPillsGroup.d.ts +2 -1
  35. package/dist/CheckboxPillsGroup.js +8 -4
  36. package/dist/CheckboxPillsGroup.mjs +8 -4
  37. package/dist/ColumnSelector.js +16 -2
  38. package/dist/ColumnSelector.mjs +6 -2
  39. package/dist/ComboSelect.d.mts +0 -2
  40. package/dist/ComboSelect.d.ts +0 -2
  41. package/dist/ComboSelect.js +8 -4
  42. package/dist/ComboSelect.mjs +8 -4
  43. package/dist/DateTimeField.d.mts +0 -5
  44. package/dist/DateTimeField.d.ts +0 -5
  45. package/dist/DateTimeField.js +17 -8
  46. package/dist/DateTimeField.mjs +17 -8
  47. package/dist/Dialog.d.mts +2 -5
  48. package/dist/Dialog.d.ts +2 -5
  49. package/dist/Dialog.js +21 -22
  50. package/dist/Dialog.mjs +21 -22
  51. package/dist/Drawer.d.mts +38 -0
  52. package/dist/Drawer.d.ts +38 -0
  53. package/dist/Drawer.js +139 -0
  54. package/dist/Drawer.mjs +102 -0
  55. package/dist/Dropdown.d.mts +0 -3
  56. package/dist/Dropdown.d.ts +0 -3
  57. package/dist/Dropdown.js +61 -42
  58. package/dist/Dropdown.mjs +51 -42
  59. package/dist/Input.d.mts +2 -0
  60. package/dist/Input.d.ts +2 -0
  61. package/dist/Input.js +20 -5
  62. package/dist/Input.mjs +20 -5
  63. package/dist/Link.d.mts +15 -0
  64. package/dist/Link.d.ts +15 -0
  65. package/dist/Link.js +93 -0
  66. package/dist/Link.mjs +63 -0
  67. package/dist/MediaCard.d.mts +15 -0
  68. package/dist/MediaCard.d.ts +15 -0
  69. package/dist/MediaCard.js +153 -0
  70. package/dist/MediaCard.mjs +123 -0
  71. package/dist/MediaSelector.d.mts +48 -0
  72. package/dist/MediaSelector.d.ts +48 -0
  73. package/dist/MediaSelector.js +225 -0
  74. package/dist/MediaSelector.mjs +195 -0
  75. package/dist/Money.d.mts +2 -1
  76. package/dist/Money.d.ts +2 -1
  77. package/dist/Money.js +26 -2
  78. package/dist/Money.mjs +26 -2
  79. package/dist/MultiComboSelect.js +6 -11
  80. package/dist/MultiComboSelect.mjs +6 -11
  81. package/dist/OrderButton.js +13 -1
  82. package/dist/OrderButton.mjs +3 -1
  83. package/dist/Pagination.d.mts +2 -1
  84. package/dist/Pagination.d.ts +2 -1
  85. package/dist/Pagination.js +40 -3
  86. package/dist/Pagination.mjs +30 -3
  87. package/dist/ReviewHistory.js +3 -9
  88. package/dist/ReviewHistory.mjs +3 -9
  89. package/dist/SearchInput.js +17 -42
  90. package/dist/SearchInput.mjs +17 -42
  91. package/dist/Select.js +5 -2
  92. package/dist/Select.mjs +5 -2
  93. package/dist/Sidebar.d.mts +2 -3
  94. package/dist/Sidebar.d.ts +2 -3
  95. package/dist/Sidebar.js +132 -24
  96. package/dist/Sidebar.mjs +132 -24
  97. package/dist/Steps.d.mts +0 -2
  98. package/dist/Steps.d.ts +0 -2
  99. package/dist/Steps.js +19 -6
  100. package/dist/Steps.mjs +9 -6
  101. package/dist/Table.js +3 -1
  102. package/dist/Table.mjs +3 -1
  103. package/dist/TimePanel.js +21 -7
  104. package/dist/TimePanel.mjs +11 -7
  105. package/dist/TimePopover.js +32 -15
  106. package/dist/TimePopover.mjs +32 -15
  107. package/dist/TimeRangeField.js +13 -6
  108. package/dist/TimeRangeField.mjs +13 -6
  109. package/dist/Toast.d.mts +53 -0
  110. package/dist/Toast.d.ts +53 -0
  111. package/dist/Toast.js +273 -0
  112. package/dist/Toast.mjs +238 -0
  113. package/dist/Tooltip.d.mts +15 -0
  114. package/dist/Tooltip.d.ts +15 -0
  115. package/dist/Tooltip.js +135 -0
  116. package/dist/Tooltip.mjs +105 -0
  117. package/dist/UploadCard.d.mts +27 -0
  118. package/dist/UploadCard.d.ts +27 -0
  119. package/dist/UploadCard.js +143 -0
  120. package/dist/UploadCard.mjs +113 -0
  121. package/dist/index.d.mts +10 -1
  122. package/dist/index.d.ts +10 -1
  123. package/dist/index.js +30 -1
  124. package/dist/index.mjs +58 -39
  125. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import Dialog from "./Dialog";
4
+ import Button from "./Button";
4
5
  import Badge from "./Badge";
5
6
  function ReviewHistory({
6
7
  items,
@@ -25,7 +26,7 @@ function ReviewHistory({
25
26
  /* @__PURE__ */ jsx("div", { className: "mt-1 text-xs text-muted", children: r.by_name || r.by_email ? `${(_a = r.by_name) != null ? _a : ""} ${r.by_email ? `\xB7 ${r.by_email}` : ""}` : r.user_id ? "Usuario interno" : "Invitado" })
26
27
  ] }, r.id);
27
28
  }) }),
28
- items.length > 3 && /* @__PURE__ */ jsx("div", { className: "pt-1", children: /* @__PURE__ */ jsx("button", { className: "text-sm text-blue-600 hover:underline dark:text-blue-400", onClick: onViewAll, children: "Ver todos" }) })
29
+ items.length > 3 && /* @__PURE__ */ jsx("div", { className: "pt-1", children: /* @__PURE__ */ jsx(Button, { unstyled: true, className: "text-sm text-blue-600 hover:underline dark:text-blue-400", onClick: onViewAll, children: "Ver todos" }) })
29
30
  ] });
30
31
  }
31
32
  function ReviewHistoryDialog({
@@ -49,14 +50,7 @@ function ReviewHistoryDialog({
49
50
  ] }, r.id);
50
51
  })
51
52
  ] }) }),
52
- /* @__PURE__ */ jsx(Dialog.Footer, { align: "end", children: /* @__PURE__ */ jsx(
53
- "button",
54
- {
55
- className: "inline-flex h-10 items-center gap-2 rounded-xl border border-slate-300/80 bg-white px-4 text-sm font-medium text-slate-700 shadow-sm hover:bg-slate-50 dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10",
56
- onClick: onClose,
57
- children: "Cerrar"
58
- }
59
- ) })
53
+ /* @__PURE__ */ jsx(Dialog.Footer, { align: "end", children: /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "md", className: "shadow-sm", onClick: onClose, children: "Cerrar" }) })
60
54
  ] });
61
55
  }
62
56
  function formatDateTime(value) {
@@ -34,6 +34,7 @@ __export(SearchInput_exports, {
34
34
  module.exports = __toCommonJS(SearchInput_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
+ var import_Input = __toESM(require("./Input"));
37
38
  function SearchInput({
38
39
  value,
39
40
  onChange,
@@ -53,7 +54,7 @@ function SearchInput({
53
54
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("label", { htmlFor: inputId, className: `relative ${widthClasses} ${className != null ? className : ""}`, children: [
54
55
  label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: label }),
55
56
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
- "input",
57
+ import_Input.default,
57
58
  {
58
59
  id: inputId,
59
60
  type: "search",
@@ -62,54 +63,28 @@ function SearchInput({
62
63
  disabled,
63
64
  onChange: (e) => onChange(e.target.value),
64
65
  placeholder: placeholder != null ? placeholder : "Buscar...",
65
- className: [
66
- "w-full rounded-2xl border bg-white px-4 py-2.5 text-sm outline-none ring-0",
67
- "pr-10",
68
- // espacio para el icono
69
- "placeholder:text-slate-400",
70
- "border-slate-200 focus:border-blue-300 focus:ring-2 focus:ring-blue-200",
71
- "dark:border-white/10 dark:bg-[#0e0d0e] dark:focus:border-blue-500 dark:focus:ring-blue-900/40",
72
- disabled ? "opacity-60 cursor-not-allowed" : ""
73
- ].join(" "),
66
+ clearable,
74
67
  onKeyDown: (e) => {
75
68
  if (clearable && !disabled && value && e.key === "Escape") {
76
69
  e.preventDefault();
77
70
  clear();
78
71
  }
79
- }
80
- }
81
- ),
82
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
83
- "svg",
84
- {
85
- viewBox: "0 0 24 24",
86
- className: "pointer-events-none absolute right-3 top-1/2 h-5 w-5 -translate-y-1/2 opacity-50",
87
- fill: "none",
88
- stroke: "currentColor",
89
- strokeWidth: "2",
90
- "aria-hidden": "true",
91
- children: [
92
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m21 21-4.3-4.3" }),
93
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "11", cy: "11", r: "7" })
94
- ]
95
- }
96
- ),
97
- clearable && !disabled && value && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
98
- "button",
99
- {
100
- type: "button",
101
- onClick: clear,
102
- className: "absolute right-9 top-1/2 -translate-y-1/2 grid h-6 w-6 place-items-center rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 dark:hover:bg-white/10",
103
- "aria-label": "Limpiar b\xFAsqueda",
104
- title: "Limpiar",
105
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 20 20", className: "h-4 w-4", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
106
- "path",
72
+ },
73
+ rightSlot: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
74
+ "svg",
107
75
  {
108
- fillRule: "evenodd",
109
- d: "M10 8.586l3.536-3.536a1 1 0 111.414 1.414L11.414 10l3.536 3.536a1 1 0 01-1.414 1.414L10 11.414l-3.536 3.536a1 1 0 01-1.414-1.414L8.586 10 5.05 6.464A1 1 0 116.464 5.05L10 8.586z",
110
- clipRule: "evenodd"
76
+ viewBox: "0 0 24 24",
77
+ className: "h-5 w-5 opacity-50",
78
+ fill: "none",
79
+ stroke: "currentColor",
80
+ strokeWidth: "2",
81
+ "aria-hidden": "true",
82
+ children: [
83
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m21 21-4.3-4.3" }),
84
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "11", cy: "11", r: "7" })
85
+ ]
111
86
  }
112
- ) })
87
+ )
113
88
  }
114
89
  )
115
90
  ] });
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
+ import Input from "./Input";
4
5
  function SearchInput({
5
6
  value,
6
7
  onChange,
@@ -20,7 +21,7 @@ function SearchInput({
20
21
  return /* @__PURE__ */ jsxs("label", { htmlFor: inputId, className: `relative ${widthClasses} ${className != null ? className : ""}`, children: [
21
22
  label && /* @__PURE__ */ jsx("span", { className: "sr-only", children: label }),
22
23
  /* @__PURE__ */ jsx(
23
- "input",
24
+ Input,
24
25
  {
25
26
  id: inputId,
26
27
  type: "search",
@@ -29,54 +30,28 @@ function SearchInput({
29
30
  disabled,
30
31
  onChange: (e) => onChange(e.target.value),
31
32
  placeholder: placeholder != null ? placeholder : "Buscar...",
32
- className: [
33
- "w-full rounded-2xl border bg-white px-4 py-2.5 text-sm outline-none ring-0",
34
- "pr-10",
35
- // espacio para el icono
36
- "placeholder:text-slate-400",
37
- "border-slate-200 focus:border-blue-300 focus:ring-2 focus:ring-blue-200",
38
- "dark:border-white/10 dark:bg-[#0e0d0e] dark:focus:border-blue-500 dark:focus:ring-blue-900/40",
39
- disabled ? "opacity-60 cursor-not-allowed" : ""
40
- ].join(" "),
33
+ clearable,
41
34
  onKeyDown: (e) => {
42
35
  if (clearable && !disabled && value && e.key === "Escape") {
43
36
  e.preventDefault();
44
37
  clear();
45
38
  }
46
- }
47
- }
48
- ),
49
- /* @__PURE__ */ jsxs(
50
- "svg",
51
- {
52
- viewBox: "0 0 24 24",
53
- className: "pointer-events-none absolute right-3 top-1/2 h-5 w-5 -translate-y-1/2 opacity-50",
54
- fill: "none",
55
- stroke: "currentColor",
56
- strokeWidth: "2",
57
- "aria-hidden": "true",
58
- children: [
59
- /* @__PURE__ */ jsx("path", { d: "m21 21-4.3-4.3" }),
60
- /* @__PURE__ */ jsx("circle", { cx: "11", cy: "11", r: "7" })
61
- ]
62
- }
63
- ),
64
- clearable && !disabled && value && /* @__PURE__ */ jsx(
65
- "button",
66
- {
67
- type: "button",
68
- onClick: clear,
69
- className: "absolute right-9 top-1/2 -translate-y-1/2 grid h-6 w-6 place-items-center rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 dark:hover:bg-white/10",
70
- "aria-label": "Limpiar b\xFAsqueda",
71
- title: "Limpiar",
72
- children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 20 20", className: "h-4 w-4", fill: "currentColor", "aria-hidden": "true", children: /* @__PURE__ */ jsx(
73
- "path",
39
+ },
40
+ rightSlot: /* @__PURE__ */ jsxs(
41
+ "svg",
74
42
  {
75
- fillRule: "evenodd",
76
- d: "M10 8.586l3.536-3.536a1 1 0 111.414 1.414L11.414 10l3.536 3.536a1 1 0 01-1.414 1.414L10 11.414l-3.536 3.536a1 1 0 01-1.414-1.414L8.586 10 5.05 6.464A1 1 0 116.464 5.05L10 8.586z",
77
- clipRule: "evenodd"
43
+ viewBox: "0 0 24 24",
44
+ className: "h-5 w-5 opacity-50",
45
+ fill: "none",
46
+ stroke: "currentColor",
47
+ strokeWidth: "2",
48
+ "aria-hidden": "true",
49
+ children: [
50
+ /* @__PURE__ */ jsx("path", { d: "m21 21-4.3-4.3" }),
51
+ /* @__PURE__ */ jsx("circle", { cx: "11", cy: "11", r: "7" })
52
+ ]
78
53
  }
79
- ) })
54
+ )
80
55
  }
81
56
  )
82
57
  ] });
package/dist/Select.js CHANGED
@@ -34,6 +34,7 @@ __export(Select_exports, {
34
34
  module.exports = __toCommonJS(Select_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = __toESM(require("react"));
37
+ var import_Button = __toESM(require("./Button"));
37
38
  const S = {
38
39
  sm: { h: "h-8", text: "text-[13px]", radius: "rounded-xl", padX: "px-3", itemPad: "px-3 py-1.5" },
39
40
  md: { h: "h-10", text: "text-sm", radius: "rounded-2xl", padX: "px-3.5", itemPad: "px-3.5 py-2" },
@@ -162,8 +163,9 @@ function ModernSelect({
162
163
  label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mb-1.5 text-[13px] font-semibold", children: label }),
163
164
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative", children: [
164
165
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
165
- "button",
166
+ import_Button.default,
166
167
  {
168
+ unstyled: true,
167
169
  ref: btnRef,
168
170
  id: selectId,
169
171
  type: "button",
@@ -202,8 +204,9 @@ function ModernSelect({
202
204
  }
203
205
  ),
204
206
  clearable && value !== "" && !disabled && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
205
- "button",
207
+ import_Button.default,
206
208
  {
209
+ unstyled: true,
207
210
  type: "button",
208
211
  onClick: clear,
209
212
  className: "absolute right-9 top-1/2 -translate-y-1/2 grid h-6 w-6 place-items-center rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 dark:hover:bg-white/10",
package/dist/Select.mjs CHANGED
@@ -1,6 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import React from "react";
4
+ import Button from "./Button";
4
5
  const S = {
5
6
  sm: { h: "h-8", text: "text-[13px]", radius: "rounded-xl", padX: "px-3", itemPad: "px-3 py-1.5" },
6
7
  md: { h: "h-10", text: "text-sm", radius: "rounded-2xl", padX: "px-3.5", itemPad: "px-3.5 py-2" },
@@ -129,8 +130,9 @@ function ModernSelect({
129
130
  label && /* @__PURE__ */ jsx("div", { className: "mb-1.5 text-[13px] font-semibold", children: label }),
130
131
  /* @__PURE__ */ jsxs("div", { className: "relative", children: [
131
132
  /* @__PURE__ */ jsx(
132
- "button",
133
+ Button,
133
134
  {
135
+ unstyled: true,
134
136
  ref: btnRef,
135
137
  id: selectId,
136
138
  type: "button",
@@ -169,8 +171,9 @@ function ModernSelect({
169
171
  }
170
172
  ),
171
173
  clearable && value !== "" && !disabled && /* @__PURE__ */ jsx(
172
- "button",
174
+ Button,
173
175
  {
176
+ unstyled: true,
174
177
  type: "button",
175
178
  onClick: clear,
176
179
  className: "absolute right-9 top-1/2 -translate-y-1/2 grid h-6 w-6 place-items-center rounded-md text-slate-400 hover:text-slate-700 hover:bg-slate-100 dark:hover:bg-white/10",
@@ -23,13 +23,12 @@ type SidebarProps = {
23
23
  user?: SidebarUser;
24
24
  userMenuSlot?: React__default.ReactNode;
25
25
  onBrandClick?: () => void;
26
- /** LocalStorage key para persistir colapsado */
27
26
  collapsedKey?: string;
28
- /** Rotulación de marca, valores por defecto mantienen estilos existentes */
29
27
  brandInitials?: string;
30
28
  brandTitle?: string;
31
29
  brandSubtitle?: string;
30
+ color?: "slate" | "gray" | "zinc" | "neutral" | "stone" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose";
32
31
  };
33
- declare function Sidebar({ items, activeKey, onNavigate, user, userMenuSlot, onBrandClick, collapsedKey, brandInitials, brandTitle, brandSubtitle, }: SidebarProps): react_jsx_runtime.JSX.Element;
32
+ declare function Sidebar({ items, activeKey, onNavigate, user, userMenuSlot, onBrandClick, collapsedKey, brandInitials, brandTitle, brandSubtitle, color, }: SidebarProps): react_jsx_runtime.JSX.Element;
34
33
 
35
34
  export { type SidebarItem, type SidebarProps, type SidebarUser, Sidebar as default };
package/dist/Sidebar.d.ts CHANGED
@@ -23,13 +23,12 @@ type SidebarProps = {
23
23
  user?: SidebarUser;
24
24
  userMenuSlot?: React__default.ReactNode;
25
25
  onBrandClick?: () => void;
26
- /** LocalStorage key para persistir colapsado */
27
26
  collapsedKey?: string;
28
- /** Rotulación de marca, valores por defecto mantienen estilos existentes */
29
27
  brandInitials?: string;
30
28
  brandTitle?: string;
31
29
  brandSubtitle?: string;
30
+ color?: "slate" | "gray" | "zinc" | "neutral" | "stone" | "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "indigo" | "violet" | "purple" | "fuchsia" | "pink" | "rose";
32
31
  };
33
- declare function Sidebar({ items, activeKey, onNavigate, user, userMenuSlot, onBrandClick, collapsedKey, brandInitials, brandTitle, brandSubtitle, }: SidebarProps): react_jsx_runtime.JSX.Element;
32
+ declare function Sidebar({ items, activeKey, onNavigate, user, userMenuSlot, onBrandClick, collapsedKey, brandInitials, brandTitle, brandSubtitle, color, }: SidebarProps): react_jsx_runtime.JSX.Element;
34
33
 
35
34
  export { type SidebarItem, type SidebarProps, type SidebarUser, Sidebar as default };
package/dist/Sidebar.js CHANGED
@@ -60,6 +60,102 @@ function ChevronDown({ open }) {
60
60
  }
61
61
  ) });
62
62
  }
63
+ const WRAP_ACTIVE = {
64
+ slate: "bg-slate-600/20 ring-1 ring-slate-300 dark:bg-slate-600/25",
65
+ gray: "bg-gray-600/20 ring-1 ring-gray-300 dark:bg-gray-600/25",
66
+ zinc: "bg-zinc-600/20 ring-1 ring-zinc-300 dark:bg-zinc-600/25",
67
+ neutral: "bg-neutral-600/20 ring-1 ring-neutral-300 dark:bg-neutral-600/25",
68
+ stone: "bg-stone-600/20 ring-1 ring-stone-300 dark:bg-stone-600/25",
69
+ red: "bg-red-600/20 ring-1 ring-red-300 dark:bg-red-600/25",
70
+ orange: "bg-orange-600/20 ring-1 ring-orange-300 dark:bg-orange-600/25",
71
+ amber: "bg-amber-600/20 ring-1 ring-amber-300 dark:bg-amber-600/25",
72
+ yellow: "bg-yellow-500/20 ring-1 ring-yellow-300 dark:bg-yellow-500/25",
73
+ lime: "bg-lime-600/20 ring-1 ring-lime-300 dark:bg-lime-600/25",
74
+ green: "bg-green-600/20 ring-1 ring-green-300 dark:bg-green-600/25",
75
+ emerald: "bg-emerald-600/20 ring-1 ring-emerald-300 dark:bg-emerald-600/25",
76
+ teal: "bg-teal-600/20 ring-1 ring-teal-300 dark:bg-teal-600/25",
77
+ cyan: "bg-cyan-600/20 ring-1 ring-cyan-300 dark:bg-cyan-600/25",
78
+ sky: "bg-sky-600/20 ring-1 ring-sky-300 dark:bg-sky-600/25",
79
+ blue: "bg-blue-600/20 ring-1 ring-blue-300 dark:bg-blue-600/25",
80
+ indigo: "bg-indigo-600/20 ring-1 ring-indigo-300 dark:bg-indigo-600/25",
81
+ violet: "bg-violet-600/20 ring-1 ring-violet-300 dark:bg-violet-600/25",
82
+ purple: "bg-purple-600/20 ring-1 ring-purple-300 dark:bg-purple-600/25",
83
+ fuchsia: "bg-fuchsia-600/20 ring-1 ring-fuchsia-300 dark:bg-fuchsia-600/25",
84
+ pink: "bg-pink-600/20 ring-1 ring-pink-300 dark:bg-pink-600/25",
85
+ rose: "bg-rose-600/20 ring-1 ring-rose-300 dark:bg-rose-600/25"
86
+ };
87
+ const ICON_BORDER_ACTIVE = {
88
+ slate: "border-slate-300/60 dark:border-slate-700/40",
89
+ gray: "border-gray-300/60 dark:border-gray-700/40",
90
+ zinc: "border-zinc-300/60 dark:border-zinc-700/40",
91
+ neutral: "border-neutral-300/60 dark:border-neutral-700/40",
92
+ stone: "border-stone-300/60 dark:border-stone-700/40",
93
+ red: "border-red-300/60 dark:border-red-700/40",
94
+ orange: "border-orange-300/60 dark:border-orange-700/40",
95
+ amber: "border-amber-300/60 dark:border-amber-700/40",
96
+ yellow: "border-yellow-300/60 dark:border-yellow-700/40",
97
+ lime: "border-lime-300/60 dark:border-lime-700/40",
98
+ green: "border-green-300/60 dark:border-green-700/40",
99
+ emerald: "border-emerald-300/60 dark:border-emerald-700/40",
100
+ teal: "border-teal-300/60 dark:border-teal-700/40",
101
+ cyan: "border-cyan-300/60 dark:border-cyan-700/40",
102
+ sky: "border-sky-300/60 dark:border-sky-700/40",
103
+ blue: "border-blue-300/60 dark:border-blue-700/40",
104
+ indigo: "border-indigo-300/60 dark:border-indigo-700/40",
105
+ violet: "border-violet-300/60 dark:border-violet-700/40",
106
+ purple: "border-purple-300/60 dark:border-purple-700/40",
107
+ fuchsia: "border-fuchsia-300/60 dark:border-fuchsia-700/40",
108
+ pink: "border-pink-300/60 dark:border-pink-700/40",
109
+ rose: "border-rose-300/60 dark:border-rose-700/40"
110
+ };
111
+ const TOGGLE_BORDER_ACTIVE = {
112
+ slate: "border-slate-200 dark:border-slate-700/40",
113
+ gray: "border-gray-200 dark:border-gray-700/40",
114
+ zinc: "border-zinc-200 dark:border-zinc-700/40",
115
+ neutral: "border-neutral-200 dark:border-neutral-700/40",
116
+ stone: "border-stone-200 dark:border-stone-700/40",
117
+ red: "border-red-200 dark:border-red-700/40",
118
+ orange: "border-orange-200 dark:border-orange-700/40",
119
+ amber: "border-amber-200 dark:border-amber-700/40",
120
+ yellow: "border-yellow-200 dark:border-yellow-700/40",
121
+ lime: "border-lime-200 dark:border-lime-700/40",
122
+ green: "border-green-200 dark:border-green-700/40",
123
+ emerald: "border-emerald-200 dark:border-emerald-700/40",
124
+ teal: "border-teal-200 dark:border-teal-700/40",
125
+ cyan: "border-cyan-200 dark:border-cyan-700/40",
126
+ sky: "border-sky-200 dark:border-sky-700/40",
127
+ blue: "border-blue-200 dark:border-blue-700/40",
128
+ indigo: "border-indigo-200 dark:border-indigo-700/40",
129
+ violet: "border-violet-200 dark:border-violet-700/40",
130
+ purple: "border-purple-200 dark:border-purple-700/40",
131
+ fuchsia: "border-fuchsia-200 dark:border-fuchsia-700/40",
132
+ pink: "border-pink-200 dark:border-pink-700/40",
133
+ rose: "border-rose-200 dark:border-rose-700/40"
134
+ };
135
+ const SUBITEM_ACTIVE = {
136
+ slate: "bg-slate-50 text-slate-700 ring-1 ring-slate-200 dark:bg-slate-900/20 dark:text-slate-200 dark:ring-slate-700/40 rounded-xl",
137
+ gray: "bg-gray-50 text-gray-700 ring-1 ring-gray-200 dark:bg-gray-900/20 dark:text-gray-200 dark:ring-gray-700/40 rounded-xl",
138
+ zinc: "bg-zinc-50 text-zinc-700 ring-1 ring-zinc-200 dark:bg-zinc-900/20 dark:text-zinc-200 dark:ring-zinc-700/40 rounded-xl",
139
+ neutral: "bg-neutral-50 text-neutral-700 ring-1 ring-neutral-200 dark:bg-neutral-900/20 dark:text-neutral-200 dark:ring-neutral-700/40 rounded-xl",
140
+ stone: "bg-stone-50 text-stone-700 ring-1 ring-stone-200 dark:bg-stone-900/20 dark:text-stone-200 dark:ring-stone-700/40 rounded-xl",
141
+ red: "bg-red-50 text-red-700 ring-1 ring-red-200 dark:bg-red-900/20 dark:text-red-200 dark:ring-red-700/40 rounded-xl",
142
+ orange: "bg-orange-50 text-orange-700 ring-1 ring-orange-200 dark:bg-orange-900/20 dark:text-orange-200 dark:ring-orange-700/40 rounded-xl",
143
+ amber: "bg-amber-50 text-amber-700 ring-1 ring-amber-200 dark:bg-amber-900/20 dark:text-amber-200 dark:ring-amber-700/40 rounded-xl",
144
+ yellow: "bg-yellow-50 text-yellow-700 ring-1 ring-yellow-200 dark:bg-yellow-900/20 dark:text-yellow-200 dark:ring-yellow-700/40 rounded-xl",
145
+ lime: "bg-lime-50 text-lime-700 ring-1 ring-lime-200 dark:bg-lime-900/20 dark:text-lime-200 dark:ring-lime-700/40 rounded-xl",
146
+ green: "bg-green-50 text-green-700 ring-1 ring-green-200 dark:bg-green-900/20 dark:text-green-200 dark:ring-green-700/40 rounded-xl",
147
+ emerald: "bg-emerald-50 text-emerald-700 ring-1 ring-emerald-200 dark:bg-emerald-900/20 dark:text-emerald-200 dark:ring-emerald-700/40 rounded-xl",
148
+ teal: "bg-teal-50 text-teal-700 ring-1 ring-teal-200 dark:bg-teal-900/20 dark:text-teal-200 dark:ring-teal-700/40 rounded-xl",
149
+ cyan: "bg-cyan-50 text-cyan-700 ring-1 ring-cyan-200 dark:bg-cyan-900/20 dark:text-cyan-200 dark:ring-cyan-700/40 rounded-xl",
150
+ sky: "bg-sky-50 text-sky-700 ring-1 ring-sky-200 dark:bg-sky-900/20 dark:text-sky-200 dark:ring-sky-700/40 rounded-xl",
151
+ blue: "bg-blue-50 text-blue-700 ring-1 ring-blue-200 dark:bg-blue-900/20 dark:text-blue-200 dark:ring-blue-700/40 rounded-xl",
152
+ indigo: "bg-indigo-50 text-indigo-700 ring-1 ring-indigo-200 dark:bg-indigo-900/20 dark:text-indigo-200 dark:ring-indigo-700/40 rounded-xl",
153
+ violet: "bg-violet-50 text-violet-700 ring-1 ring-violet-200 dark:bg-violet-900/20 dark:text-violet-200 dark:ring-violet-700/40 rounded-xl",
154
+ purple: "bg-purple-50 text-purple-700 ring-1 ring-purple-200 dark:bg-purple-900/20 dark:text-purple-200 dark:ring-purple-700/40 rounded-xl",
155
+ fuchsia: "bg-fuchsia-50 text-fuchsia-700 ring-1 ring-fuchsia-200 dark:bg-fuchsia-900/20 dark:text-fuchsia-200 dark:ring-fuchsia-700/40 rounded-xl",
156
+ pink: "bg-pink-50 text-pink-700 ring-1 ring-pink-200 dark:bg-pink-900/20 dark:text-pink-200 dark:ring-pink-700/40 rounded-xl",
157
+ rose: "bg-rose-50 text-rose-700 ring-1 ring-rose-200 dark:bg-rose-900/20 dark:text-rose-200 dark:ring-rose-700/40 rounded-xl"
158
+ };
63
159
  function Sidebar({
64
160
  items,
65
161
  activeKey,
@@ -68,9 +164,10 @@ function Sidebar({
68
164
  userMenuSlot,
69
165
  onBrandClick,
70
166
  collapsedKey = "ga:sidebar-collapsed",
71
- brandInitials = "C",
72
- brandTitle = "Campaign",
73
- brandSubtitle = "Tablero"
167
+ brandInitials = "BM",
168
+ brandTitle = "Bellamia",
169
+ brandSubtitle = "Tablero",
170
+ color = "blue"
74
171
  }) {
75
172
  const [drawerOpen, setDrawerOpen] = (0, import_react.useState)(false);
76
173
  const [collapsed, setCollapsed] = (0, import_react.useState)(false);
@@ -116,7 +213,7 @@ function Sidebar({
116
213
  className: "h-9 w-9 p-0 !gap-0 rounded-xl border border-slate-200 bg-white text-slate-700 shadow-sm hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-white/5 dark:text-slate-200 dark:hover:bg-white/10"
117
214
  }
118
215
  ),
119
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { onClick: onBrandClick, className: "flex items-center gap-2", children: [
216
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.default, { unstyled: true, type: "button", onClick: onBrandClick, className: "flex items-center gap-2", children: [
120
217
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-2xl font-black leading-none tracking-tight", children: brandInitials }),
121
218
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
122
219
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm font-semibold leading-4", children: brandTitle }),
@@ -144,7 +241,8 @@ function Sidebar({
144
241
  userMenuSlot,
145
242
  brandInitials,
146
243
  brandTitle,
147
- brandSubtitle
244
+ brandSubtitle,
245
+ color
148
246
  }
149
247
  )
150
248
  }
@@ -188,7 +286,8 @@ function Sidebar({
188
286
  userMenuSlot,
189
287
  brandInitials,
190
288
  brandTitle,
191
- brandSubtitle
289
+ brandSubtitle,
290
+ color
192
291
  }
193
292
  )
194
293
  ]
@@ -208,12 +307,13 @@ function SidebarInner({
208
307
  userMenuSlot,
209
308
  brandInitials,
210
309
  brandTitle,
211
- brandSubtitle
310
+ brandSubtitle,
311
+ color = "blue"
212
312
  }) {
213
313
  var _a, _b, _c, _d;
214
314
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex h-full flex-col", children: [
215
315
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between px-1", children: [
216
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { className: "flex items-center gap-3", title: "Ir al inicio", children: [
316
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.default, { unstyled: true, type: "button", className: "flex items-center gap-3", title: "Ir al inicio", children: [
217
317
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-2xl font-black tracking-tight", children: brandInitials }),
218
318
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "leading-tight", children: [
219
319
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-lg font-semibold tracking-tight", children: brandTitle }),
@@ -234,9 +334,9 @@ function SidebarInner({
234
334
  }
235
335
  )
236
336
  ] }),
237
- collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-4 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AvatarSquare.default, { size: 48, src: (_a = user == null ? void 0 : user.avatarUrl) != null ? _a : void 0, radiusClass: "rounded-2xl" }) }),
337
+ collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-4 flex items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AvatarSquare.default, { size: 48, src: (_a = user == null ? void 0 : user.avatarUrl) != null ? _a : void 0, radiusClass: "rounded-2xl", color }) }),
238
338
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 flex items-center gap-3 rounded-2xl border border-slate-200 bg-white p-2 pr-3 shadow-sm dark:border-white/10 dark:bg:white/5 dark:bg-white/5", children: [
239
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AvatarSquare.default, { size: 48, src: (_b = user == null ? void 0 : user.avatarUrl) != null ? _b : void 0, radiusClass: "rounded-2xl" }),
339
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_AvatarSquare.default, { size: 48, src: (_b = user == null ? void 0 : user.avatarUrl) != null ? _b : void 0, radiusClass: "rounded-2xl", color }),
240
340
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0", children: [
241
341
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "truncate text-sm font-semibold", children: (_c = user == null ? void 0 : user.name) != null ? _c : "Usuario" }),
242
342
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-xs text-slate-500", children: (_d = user == null ? void 0 : user.rol_principal) != null ? _d : "\u2014" })
@@ -251,7 +351,7 @@ function SidebarInner({
251
351
  if (visibles.length === 0) return null;
252
352
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
253
353
  !collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(GroupHeader, { title: groupName }),
254
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-2", children: visibles.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RenderItem, { item, collapsed: collapsed != null ? collapsed : false, activeKey, go }, item.key)) })
354
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "space-y-2", children: visibles.map((item) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RenderItem, { item, collapsed: collapsed != null ? collapsed : false, activeKey, go, color }, item.key)) })
255
355
  ] }, groupName);
256
356
  }) })
257
357
  ] });
@@ -260,7 +360,8 @@ function RenderItem({
260
360
  item,
261
361
  collapsed,
262
362
  activeKey,
263
- go
363
+ go,
364
+ color = "blue"
264
365
  }) {
265
366
  var _a, _b, _c;
266
367
  const Icon = (_a = item.icon) != null ? _a : (() => null);
@@ -285,20 +386,22 @@ function RenderItem({
285
386
  }, [hasChildren, open, item.key]);
286
387
  if (hasChildren && collapsed) {
287
388
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
288
- "button",
389
+ import_Button.default,
289
390
  {
391
+ unstyled: true,
392
+ type: "button",
290
393
  onClick: () => go(item.key),
291
394
  title: item.label,
292
395
  className: [
293
396
  "group flex w-full items-center gap-3 rounded-2xl px-3 py-2 text-left text-[15px] transition justify-center",
294
- isActive ? "bg-blue-600/20 text-slate-900 ring-1 ring-blue-300 dark:bg-blue-600/25 dark:text-white" : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5"
397
+ isActive ? `${WRAP_ACTIVE[color]} text-slate-900 dark:text-white` : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5"
295
398
  ].join(" "),
296
399
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
297
400
  "span",
298
401
  {
299
402
  className: [
300
403
  "grid h-9 w-9 place-items-center rounded-xl border transition",
301
- isActive ? "border-blue-300/60 bg-white shadow-sm dark:border-blue-700/40 dark:bg-white/10" : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
404
+ isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-white/10` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
302
405
  ].join(" "),
303
406
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
304
407
  }
@@ -313,16 +416,16 @@ function RenderItem({
313
416
  {
314
417
  className: [
315
418
  "flex w-full min-w-0 items-center rounded-2xl px-3 py-2 text-[15px] transition gap-2",
316
- isActive ? "bg-blue-600/20 text-slate-900 ring-1 ring-blue-300 dark:bg-blue-600/25 dark:text-white" : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5"
419
+ isActive ? `${WRAP_ACTIVE[color]} text-slate-900 dark:text-white` : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5"
317
420
  ].join(" "),
318
421
  children: [
319
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("button", { type: "button", onClick: () => go(item.key), className: "flex min-w-0 flex-1 items-center gap-3", children: [
422
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.default, { unstyled: true, type: "button", onClick: () => go(item.key), className: "flex min-w-0 flex-1 items-center gap-3", children: [
320
423
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
321
424
  "span",
322
425
  {
323
426
  className: [
324
427
  "grid h-9 w-9 place-items-center rounded-xl border transition",
325
- isActive ? "border-blue-300/60 bg-white shadow-sm dark:border-blue-700/40 dark:bg-white/10" : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
428
+ isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-white/10` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
326
429
  ].join(" "),
327
430
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
328
431
  }
@@ -332,6 +435,8 @@ function RenderItem({
332
435
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
333
436
  import_Button.default,
334
437
  {
438
+ iconOnly: true,
439
+ noPaddingX: true,
335
440
  type: "button",
336
441
  "aria-label": open ? "Contraer submen\xFA" : "Expandir submen\xFA",
337
442
  onClick: (e) => {
@@ -343,7 +448,7 @@ function RenderItem({
343
448
  leftIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronDown, { open }),
344
449
  className: [
345
450
  "h-8 w-8 shrink-0 rounded-lg p-0 !gap-0 border",
346
- isActive ? "border-blue-200 bg-white/80 dark:border-blue-700/40 dark:bg-white/10" : "border-slate-200 bg-white dark:border-white/10 dark:bg-white/5"
451
+ isActive ? `${TOGGLE_BORDER_ACTIVE[color]} bg-white/80 dark:bg-white/10` : "border-slate-200 bg-white dark:border-white/10 dark:bg-white/5"
347
452
  ].join(" ")
348
453
  }
349
454
  )
@@ -361,12 +466,13 @@ function RenderItem({
361
466
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "rounded-xl border border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5", children: children.map((ch) => {
362
467
  const active2 = ch.key === activeKey;
363
468
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
364
- "button",
469
+ import_Button.default,
365
470
  {
471
+ unstyled: true,
366
472
  onClick: () => go(ch.key),
367
473
  className: [
368
474
  "block w-full text-left px-3 py-2 text-[14px] transition",
369
- active2 ? "bg-blue-50 text-blue-700 ring-1 ring-blue-200 dark:bg-blue-900/20 dark:text-blue-200 dark:ring-blue-700/40 rounded-xl" : "text-slate-700 hover:bg-slate-50 dark:text-slate-200 dark:hover:bg-white/10"
475
+ active2 ? SUBITEM_ACTIVE[color] : "text-slate-700 hover:bg-slate-50 dark:text-slate-200 dark:hover:bg-white/10"
370
476
  ].join(" "),
371
477
  children: ch.label
372
478
  },
@@ -380,13 +486,15 @@ function RenderItem({
380
486
  }
381
487
  const active = item.key === activeKey;
382
488
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
383
- "button",
489
+ import_Button.default,
384
490
  {
491
+ unstyled: true,
492
+ type: "button",
385
493
  onClick: () => go(item.key),
386
494
  title: collapsed ? item.label : void 0,
387
495
  className: [
388
496
  "group flex w-full min-w-0 items-center gap-3 rounded-2xl px-3 py-2 text-left text-[15px] transition",
389
- active ? "bg-blue-600/20 text-slate-900 ring-1 ring-blue-300 dark:bg-blue-600/25 dark:text-white" : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5",
497
+ active ? `${WRAP_ACTIVE[color]} text-slate-900 dark:text-white` : "text-slate-700 hover:bg-slate-100 dark:text-slate-200 dark:hover:bg-white/5",
390
498
  collapsed ? "justify-center" : ""
391
499
  ].join(" "),
392
500
  children: [
@@ -395,7 +503,7 @@ function RenderItem({
395
503
  {
396
504
  className: [
397
505
  "grid h-9 w-9 place-items-center rounded-xl border text-slate-700 transition group-hover:scale-105 dark:text-slate-200",
398
- active ? "border-blue-300/60 bg-white shadow-sm dark:border-blue-700/40 dark:bg-white/10" : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
506
+ active ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-white/10` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-white/5"
399
507
  ].join(" "),
400
508
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
401
509
  }