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.
- package/dist/ActionIconButton.d.mts +1 -0
- package/dist/ActionIconButton.d.ts +1 -0
- package/dist/ActionIconButton.js +12 -9
- package/dist/ActionIconButton.mjs +13 -10
- package/dist/AppTopbar.d.mts +8 -9
- package/dist/AppTopbar.d.ts +8 -9
- package/dist/AppTopbar.js +31 -5
- package/dist/AppTopbar.mjs +21 -5
- package/dist/AvatarGroup.d.mts +14 -0
- package/dist/AvatarGroup.d.ts +14 -0
- package/dist/AvatarGroup.js +77 -0
- package/dist/AvatarGroup.mjs +47 -0
- package/dist/AvatarSquare.d.mts +2 -5
- package/dist/AvatarSquare.d.ts +2 -5
- package/dist/AvatarSquare.js +52 -3
- package/dist/AvatarSquare.mjs +52 -3
- package/dist/Badge.d.mts +2 -1
- package/dist/Badge.d.ts +2 -1
- package/dist/Badge.js +3 -1
- package/dist/Badge.mjs +3 -1
- package/dist/BadgeCluster.js +3 -3
- package/dist/BadgeCluster.mjs +3 -3
- package/dist/Button.d.mts +3 -4
- package/dist/Button.d.ts +3 -4
- package/dist/Button.js +97 -9
- package/dist/Button.mjs +87 -9
- package/dist/CalendarPanel.js +20 -3
- package/dist/CalendarPanel.mjs +10 -3
- package/dist/Card.d.mts +6 -0
- package/dist/Card.d.ts +6 -0
- package/dist/Card.js +52 -0
- package/dist/Card.mjs +22 -0
- package/dist/CheckboxPillsGroup.d.mts +2 -1
- package/dist/CheckboxPillsGroup.d.ts +2 -1
- package/dist/CheckboxPillsGroup.js +8 -4
- package/dist/CheckboxPillsGroup.mjs +8 -4
- package/dist/ColumnSelector.js +16 -2
- package/dist/ColumnSelector.mjs +6 -2
- package/dist/ComboSelect.d.mts +0 -2
- package/dist/ComboSelect.d.ts +0 -2
- package/dist/ComboSelect.js +8 -4
- package/dist/ComboSelect.mjs +8 -4
- package/dist/DateTimeField.d.mts +0 -5
- package/dist/DateTimeField.d.ts +0 -5
- package/dist/DateTimeField.js +17 -8
- package/dist/DateTimeField.mjs +17 -8
- package/dist/Dialog.d.mts +2 -5
- package/dist/Dialog.d.ts +2 -5
- package/dist/Dialog.js +21 -22
- package/dist/Dialog.mjs +21 -22
- package/dist/Drawer.d.mts +38 -0
- package/dist/Drawer.d.ts +38 -0
- package/dist/Drawer.js +139 -0
- package/dist/Drawer.mjs +102 -0
- package/dist/Dropdown.d.mts +0 -3
- package/dist/Dropdown.d.ts +0 -3
- package/dist/Dropdown.js +61 -42
- package/dist/Dropdown.mjs +51 -42
- package/dist/Input.d.mts +2 -0
- package/dist/Input.d.ts +2 -0
- package/dist/Input.js +20 -5
- package/dist/Input.mjs +20 -5
- package/dist/Link.d.mts +15 -0
- package/dist/Link.d.ts +15 -0
- package/dist/Link.js +93 -0
- package/dist/Link.mjs +63 -0
- package/dist/MediaCard.d.mts +15 -0
- package/dist/MediaCard.d.ts +15 -0
- package/dist/MediaCard.js +153 -0
- package/dist/MediaCard.mjs +123 -0
- package/dist/MediaSelector.d.mts +48 -0
- package/dist/MediaSelector.d.ts +48 -0
- package/dist/MediaSelector.js +225 -0
- package/dist/MediaSelector.mjs +195 -0
- package/dist/Money.d.mts +2 -1
- package/dist/Money.d.ts +2 -1
- package/dist/Money.js +26 -2
- package/dist/Money.mjs +26 -2
- package/dist/MultiComboSelect.js +6 -11
- package/dist/MultiComboSelect.mjs +6 -11
- package/dist/OrderButton.js +13 -1
- package/dist/OrderButton.mjs +3 -1
- package/dist/Pagination.d.mts +2 -1
- package/dist/Pagination.d.ts +2 -1
- package/dist/Pagination.js +40 -3
- package/dist/Pagination.mjs +30 -3
- package/dist/ReviewHistory.js +3 -9
- package/dist/ReviewHistory.mjs +3 -9
- package/dist/SearchInput.js +17 -42
- package/dist/SearchInput.mjs +17 -42
- package/dist/Select.js +5 -2
- package/dist/Select.mjs +5 -2
- package/dist/Sidebar.d.mts +2 -3
- package/dist/Sidebar.d.ts +2 -3
- package/dist/Sidebar.js +132 -24
- package/dist/Sidebar.mjs +132 -24
- package/dist/Steps.d.mts +0 -2
- package/dist/Steps.d.ts +0 -2
- package/dist/Steps.js +19 -6
- package/dist/Steps.mjs +9 -6
- package/dist/Table.js +3 -1
- package/dist/Table.mjs +3 -1
- package/dist/TimePanel.js +21 -7
- package/dist/TimePanel.mjs +11 -7
- package/dist/TimePopover.js +32 -15
- package/dist/TimePopover.mjs +32 -15
- package/dist/TimeRangeField.js +13 -6
- package/dist/TimeRangeField.mjs +13 -6
- package/dist/Toast.d.mts +53 -0
- package/dist/Toast.d.ts +53 -0
- package/dist/Toast.js +273 -0
- package/dist/Toast.mjs +238 -0
- package/dist/Tooltip.d.mts +15 -0
- package/dist/Tooltip.d.ts +15 -0
- package/dist/Tooltip.js +135 -0
- package/dist/Tooltip.mjs +105 -0
- package/dist/UploadCard.d.mts +27 -0
- package/dist/UploadCard.d.ts +27 -0
- package/dist/UploadCard.js +143 -0
- package/dist/UploadCard.mjs +113 -0
- package/dist/index.d.mts +10 -1
- package/dist/index.d.ts +10 -1
- package/dist/index.js +30 -1
- package/dist/index.mjs +58 -39
- package/package.json +1 -1
package/dist/ReviewHistory.mjs
CHANGED
|
@@ -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(
|
|
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) {
|
package/dist/SearchInput.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
] });
|
package/dist/SearchInput.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 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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",
|
package/dist/Sidebar.d.mts
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.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 = "
|
|
72
|
-
brandTitle = "
|
|
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",
|
|
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",
|
|
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
|
-
|
|
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 ?
|
|
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 ?
|
|
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 ?
|
|
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)(
|
|
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 ?
|
|
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 ?
|
|
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
|
-
|
|
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 ?
|
|
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
|
-
|
|
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 ?
|
|
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 ?
|
|
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
|
}
|