framepexls-ui-lib 0.3.0 → 0.3.2
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/AvatarGroup.js +1 -1
- package/dist/AvatarGroup.mjs +1 -1
- package/dist/Badge.js +12 -12
- package/dist/Badge.mjs +12 -12
- package/dist/BadgeCluster.js +1 -1
- package/dist/BadgeCluster.mjs +1 -1
- package/dist/Button.js +1 -1
- package/dist/Button.mjs +1 -1
- package/dist/Card.js +1 -1
- package/dist/Card.mjs +1 -1
- package/dist/ChartCard.js +1 -1
- package/dist/ChartCard.mjs +1 -1
- package/dist/Checkbox.d.mts +1 -1
- package/dist/Checkbox.d.ts +1 -1
- package/dist/Checkbox.js +1 -1
- package/dist/Checkbox.mjs +1 -1
- package/dist/CheckboxPillsGroup.js +3 -3
- package/dist/CheckboxPillsGroup.mjs +3 -3
- package/dist/ComboSelect.js +2 -2
- package/dist/ComboSelect.mjs +2 -2
- package/dist/DateTimeField.js +1 -1
- package/dist/DateTimeField.mjs +1 -1
- package/dist/EmptyState.js +1 -1
- package/dist/EmptyState.mjs +1 -1
- package/dist/FiltersMultiSelect.js +3 -3
- package/dist/FiltersMultiSelect.mjs +3 -3
- package/dist/Input.js +4 -4
- package/dist/Input.mjs +4 -4
- package/dist/KpiCard.js +1 -1
- package/dist/KpiCard.mjs +1 -1
- package/dist/MediaCard.js +1 -1
- package/dist/MediaCard.mjs +1 -1
- package/dist/MediaSelector.js +235 -135
- package/dist/MediaSelector.mjs +235 -135
- package/dist/MediaTile.d.mts +18 -0
- package/dist/MediaTile.d.ts +18 -0
- package/dist/MediaTile.js +146 -0
- package/dist/MediaTile.mjs +116 -0
- package/dist/MultiComboSelect.js +2 -2
- package/dist/MultiComboSelect.mjs +2 -2
- package/dist/Pagination.js +8 -6
- package/dist/Pagination.mjs +8 -6
- package/dist/Sidebar.js +40 -16
- package/dist/Sidebar.mjs +40 -16
- package/dist/Skeleton.d.mts +34 -0
- package/dist/Skeleton.d.ts +34 -0
- package/dist/Skeleton.js +92 -0
- package/dist/Skeleton.mjs +64 -0
- package/dist/StatCard.js +1 -1
- package/dist/StatCard.mjs +1 -1
- package/dist/Steps.js +2 -2
- package/dist/Steps.mjs +2 -2
- package/dist/Table.js +5 -5
- package/dist/Table.mjs +5 -5
- package/dist/Textarea.js +1 -1
- package/dist/Textarea.mjs +1 -1
- package/dist/TimePanel.js +4 -4
- package/dist/TimePanel.mjs +4 -4
- package/dist/TimePopover.js +2 -2
- package/dist/TimePopover.mjs +2 -2
- package/dist/TimeRangeField.js +1 -1
- package/dist/TimeRangeField.mjs +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/Tooltip.mjs +1 -1
- package/dist/UploadCard.js +7 -7
- package/dist/UploadCard.mjs +7 -7
- package/dist/iconos/index.js +4 -14
- package/dist/iconos/index.mjs +4 -14
- package/dist/index.d.mts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +6 -0
- package/dist/index.mjs +68 -64
- package/dist/theme/ThemeToggle.js +2 -1
- package/dist/theme/ThemeToggle.mjs +2 -1
- package/package.json +1 -1
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import Image from "next/image";
|
|
5
|
+
import { motion } from "framer-motion";
|
|
6
|
+
import { microTransition } from "./animations";
|
|
7
|
+
import Dropdown from "./Dropdown";
|
|
8
|
+
function MediaTile({
|
|
9
|
+
imageUrl,
|
|
10
|
+
title,
|
|
11
|
+
subtitle,
|
|
12
|
+
copyUrl,
|
|
13
|
+
onPreview,
|
|
14
|
+
onRename,
|
|
15
|
+
onReplace,
|
|
16
|
+
onDelete,
|
|
17
|
+
loading,
|
|
18
|
+
menuSize = "md",
|
|
19
|
+
className
|
|
20
|
+
}) {
|
|
21
|
+
const [copied, setCopied] = useState(false);
|
|
22
|
+
const copy = async () => {
|
|
23
|
+
if (!copyUrl) return;
|
|
24
|
+
try {
|
|
25
|
+
await navigator.clipboard.writeText(copyUrl);
|
|
26
|
+
setCopied(true);
|
|
27
|
+
setTimeout(() => setCopied(false), 1200);
|
|
28
|
+
} catch {
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const btnSize = menuSize === "lg" ? "h-11 w-11" : menuSize === "sm" ? "h-8 w-8" : "h-9 w-9";
|
|
32
|
+
const iconSize = menuSize === "lg" ? "h-7 w-7" : menuSize === "sm" ? "h-5 w-5" : "h-6 w-6";
|
|
33
|
+
const ImgWrap = onPreview ? (props) => /* @__PURE__ */ jsx("button", { type: "button", onClick: onPreview, ...props }) : (props) => /* @__PURE__ */ jsx("div", { ...props });
|
|
34
|
+
if (loading) {
|
|
35
|
+
return /* @__PURE__ */ jsxs(
|
|
36
|
+
"div",
|
|
37
|
+
{
|
|
38
|
+
className: [
|
|
39
|
+
"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)]",
|
|
40
|
+
className != null ? className : ""
|
|
41
|
+
].join(" "),
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ jsx("div", { className: "aspect-square w-full", children: /* @__PURE__ */ jsx("div", { className: "h-full w-full animate-pulse bg-slate-200 dark:bg-white/10" }) }),
|
|
44
|
+
/* @__PURE__ */ jsxs("div", { className: "p-2 space-y-2", children: [
|
|
45
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-3/4 animate-pulse rounded bg-slate-200 dark:bg-white/10" }),
|
|
46
|
+
/* @__PURE__ */ jsx("div", { className: "h-2 w-1/3 animate-pulse rounded bg-slate-200 dark:bg-white/10" })
|
|
47
|
+
] })
|
|
48
|
+
]
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
return /* @__PURE__ */ jsxs(
|
|
53
|
+
motion.div,
|
|
54
|
+
{
|
|
55
|
+
whileHover: { y: -2 },
|
|
56
|
+
transition: microTransition,
|
|
57
|
+
className: [
|
|
58
|
+
"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)]",
|
|
59
|
+
className != null ? className : ""
|
|
60
|
+
].join(" "),
|
|
61
|
+
children: [
|
|
62
|
+
/* @__PURE__ */ jsxs(ImgWrap, { className: "aspect-square w-full bg-slate-100 relative text-left", children: [
|
|
63
|
+
imageUrl ? /* @__PURE__ */ jsx(
|
|
64
|
+
Image,
|
|
65
|
+
{
|
|
66
|
+
src: imageUrl,
|
|
67
|
+
alt: title,
|
|
68
|
+
fill: true,
|
|
69
|
+
sizes: "(min-width:1024px) 20vw, (min-width:768px) 25vw, (min-width:640px) 33vw, 50vw",
|
|
70
|
+
className: "object-cover transition-transform duration-200 will-change-transform group-hover:scale-105"
|
|
71
|
+
}
|
|
72
|
+
) : /* @__PURE__ */ jsx("div", { className: "h-full w-full" }),
|
|
73
|
+
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 bg-gradient-to-t from-black/30 to-transparent opacity-0 transition-opacity duration-200 group-hover:opacity-100" })
|
|
74
|
+
] }),
|
|
75
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 p-2", children: [
|
|
76
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
77
|
+
/* @__PURE__ */ jsx("div", { className: "truncate text-sm font-medium", children: title }),
|
|
78
|
+
subtitle && /* @__PURE__ */ jsx("div", { className: "text-xs text-slate-500 dark:text-slate-400", children: subtitle })
|
|
79
|
+
] }),
|
|
80
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center gap-1", children: /* @__PURE__ */ jsxs(Dropdown, { children: [
|
|
81
|
+
/* @__PURE__ */ jsx(Dropdown.Trigger, { "aria-label": "Acciones", className: [btnSize, "p-0 !gap-0"].join(" "), children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", className: iconSize, fill: "currentColor", children: [
|
|
82
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "5", r: "2" }),
|
|
83
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "2" }),
|
|
84
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "19", r: "2" })
|
|
85
|
+
] }) }),
|
|
86
|
+
/* @__PURE__ */ jsxs(Dropdown.Content, { children: [
|
|
87
|
+
onPreview && /* @__PURE__ */ jsx(Dropdown.Item, { onSelect: onPreview, icon: /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
88
|
+
/* @__PURE__ */ jsx("path", { d: "M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7Z" }),
|
|
89
|
+
/* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "3" })
|
|
90
|
+
] }) }), children: "Ver" }),
|
|
91
|
+
copyUrl && /* @__PURE__ */ jsx(Dropdown.Item, { onSelect: copy, icon: /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
92
|
+
/* @__PURE__ */ jsx("rect", { x: "9", y: "9", width: "13", height: "13", rx: "2" }),
|
|
93
|
+
/* @__PURE__ */ jsx("path", { d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" })
|
|
94
|
+
] }) }), children: copied ? "Copiado" : "Copiar URL" }),
|
|
95
|
+
(onRename || onReplace) && /* @__PURE__ */ jsx(Dropdown.Separator, {}),
|
|
96
|
+
onRename && /* @__PURE__ */ jsx(Dropdown.Item, { onSelect: onRename, icon: /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
97
|
+
/* @__PURE__ */ jsx("path", { d: "M3 21v-4l12-12 4 4-12 12z" }),
|
|
98
|
+
/* @__PURE__ */ jsx("path", { d: "M14 7l4 4" })
|
|
99
|
+
] }) }), children: "Renombrar" }),
|
|
100
|
+
onReplace && /* @__PURE__ */ jsx(Dropdown.Item, { onSelect: onReplace, icon: /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M12 5v14M5 12h14" }) }) }), children: "Reemplazar" }),
|
|
101
|
+
onDelete && /* @__PURE__ */ jsx(Dropdown.Item, { danger: true, onSelect: onDelete, icon: /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 items-center justify-center", children: /* @__PURE__ */ jsxs("svg", { viewBox: "0 0 24 24", className: "h-4 w-4", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
102
|
+
/* @__PURE__ */ jsx("path", { d: "M3 6h18" }),
|
|
103
|
+
/* @__PURE__ */ jsx("path", { d: "M8 6v14a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V6" }),
|
|
104
|
+
/* @__PURE__ */ jsx("path", { d: "M10 11v6M14 11v6" }),
|
|
105
|
+
/* @__PURE__ */ jsx("path", { d: "M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2" })
|
|
106
|
+
] }) }), children: "Eliminar" })
|
|
107
|
+
] })
|
|
108
|
+
] }) })
|
|
109
|
+
] })
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
export {
|
|
115
|
+
MediaTile as default
|
|
116
|
+
};
|
package/dist/MultiComboSelect.js
CHANGED
|
@@ -106,7 +106,7 @@ function MultiComboSelect({
|
|
|
106
106
|
{
|
|
107
107
|
unstyled: true,
|
|
108
108
|
type: "button",
|
|
109
|
-
className: "inline-flex items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-
|
|
109
|
+
className: "inline-flex items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200",
|
|
110
110
|
onClick: () => setDialogOpen(true),
|
|
111
111
|
title: "Ver todas",
|
|
112
112
|
children: [
|
|
@@ -135,7 +135,7 @@ function MultiComboSelect({
|
|
|
135
135
|
{
|
|
136
136
|
unstyled: true,
|
|
137
137
|
type: "button",
|
|
138
|
-
className: "inline-flex h-8 items-center justify-center rounded-lg border border-slate-300/80 bg-white px-2 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-
|
|
138
|
+
className: "inline-flex h-8 items-center justify-center rounded-lg border border-slate-300/80 bg-white px-2 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10",
|
|
139
139
|
onClick: () => toggle(v),
|
|
140
140
|
children: "Quitar"
|
|
141
141
|
}
|
|
@@ -73,7 +73,7 @@ function MultiComboSelect({
|
|
|
73
73
|
{
|
|
74
74
|
unstyled: true,
|
|
75
75
|
type: "button",
|
|
76
|
-
className: "inline-flex items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-
|
|
76
|
+
className: "inline-flex items-center gap-1 rounded-full border border-slate-200 bg-white px-2 py-0.5 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200",
|
|
77
77
|
onClick: () => setDialogOpen(true),
|
|
78
78
|
title: "Ver todas",
|
|
79
79
|
children: [
|
|
@@ -102,7 +102,7 @@ function MultiComboSelect({
|
|
|
102
102
|
{
|
|
103
103
|
unstyled: true,
|
|
104
104
|
type: "button",
|
|
105
|
-
className: "inline-flex h-8 items-center justify-center rounded-lg border border-slate-300/80 bg-white px-2 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-
|
|
105
|
+
className: "inline-flex h-8 items-center justify-center rounded-lg border border-slate-300/80 bg-white px-2 text-xs text-slate-700 hover:bg-slate-50 active:scale-95 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10",
|
|
106
106
|
onClick: () => toggle(v),
|
|
107
107
|
children: "Quitar"
|
|
108
108
|
}
|
package/dist/Pagination.js
CHANGED
|
@@ -108,25 +108,27 @@ function Pagination({
|
|
|
108
108
|
children,
|
|
109
109
|
active,
|
|
110
110
|
disabled,
|
|
111
|
-
onClick
|
|
111
|
+
onClick,
|
|
112
|
+
ariaLabel
|
|
112
113
|
}) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
113
114
|
import_Button.default,
|
|
114
115
|
{
|
|
115
116
|
unstyled: true,
|
|
116
117
|
disabled,
|
|
117
118
|
onClick,
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
"aria-label": ariaLabel,
|
|
120
|
+
className: `relative h-10 min-w-10 px-3 inline-flex items-center justify-center text-[15px] font-medium transition focus:outline-none focus:ring-2 focus:ring-blue-200 dark:focus:ring-white/10
|
|
121
|
+
${active ? `${PILL_BG[color]} ${ACTIVE_TEXT[color]} rounded-2xl shadow-sm` : "text-slate-700 dark:text-slate-200 hover:bg-white/60 dark:hover:bg-white/10"}
|
|
120
122
|
${disabled ? "opacity-40 cursor-not-allowed" : ""}`,
|
|
121
123
|
"aria-current": active ? "page" : void 0,
|
|
122
124
|
children
|
|
123
125
|
}
|
|
124
126
|
);
|
|
125
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { className: className || "w-full md:w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative inline-flex overflow-hidden rounded-2xl border border-slate-200 bg-slate-100/60 shadow-sm dark:border-white/10 dark:bg-
|
|
126
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Btn, { disabled: page === 1, onClick: () => onPageChange(page - 1), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M15 18l-6-6 6-6" }) }) }),
|
|
127
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("nav", { className: className || "w-full md:w-auto", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative inline-flex overflow-hidden rounded-2xl border border-slate-200 bg-slate-100/60 shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]", children: [
|
|
128
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Btn, { disabled: page === 1, onClick: () => onPageChange(page - 1), ariaLabel: "P\xE1gina anterior", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M15 18l-6-6 6-6" }) }) }),
|
|
127
129
|
range.map(
|
|
128
130
|
(it, idx) => it === "..." ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "h-10 min-w-10 px-3 inline-flex items-center justify-center text-slate-500 dark:text-slate-400", children: "\u2026" }, `dots-${idx}`) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Btn, { active: it === page, onClick: () => onPageChange(it), children: it }, it)
|
|
129
131
|
),
|
|
130
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Btn, { disabled: page === totalPages, onClick: () => onPageChange(page + 1), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9 6l6 6-6 6" }) }) })
|
|
132
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Btn, { disabled: page === totalPages, onClick: () => onPageChange(page + 1), ariaLabel: "P\xE1gina siguiente", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M9 6l6 6-6 6" }) }) })
|
|
131
133
|
] }) });
|
|
132
134
|
}
|
package/dist/Pagination.mjs
CHANGED
|
@@ -75,26 +75,28 @@ function Pagination({
|
|
|
75
75
|
children,
|
|
76
76
|
active,
|
|
77
77
|
disabled,
|
|
78
|
-
onClick
|
|
78
|
+
onClick,
|
|
79
|
+
ariaLabel
|
|
79
80
|
}) => /* @__PURE__ */ jsx(
|
|
80
81
|
Button,
|
|
81
82
|
{
|
|
82
83
|
unstyled: true,
|
|
83
84
|
disabled,
|
|
84
85
|
onClick,
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
"aria-label": ariaLabel,
|
|
87
|
+
className: `relative h-10 min-w-10 px-3 inline-flex items-center justify-center text-[15px] font-medium transition focus:outline-none focus:ring-2 focus:ring-blue-200 dark:focus:ring-white/10
|
|
88
|
+
${active ? `${PILL_BG[color]} ${ACTIVE_TEXT[color]} rounded-2xl shadow-sm` : "text-slate-700 dark:text-slate-200 hover:bg-white/60 dark:hover:bg-white/10"}
|
|
87
89
|
${disabled ? "opacity-40 cursor-not-allowed" : ""}`,
|
|
88
90
|
"aria-current": active ? "page" : void 0,
|
|
89
91
|
children
|
|
90
92
|
}
|
|
91
93
|
);
|
|
92
|
-
return /* @__PURE__ */ jsx("nav", { className: className || "w-full md:w-auto", children: /* @__PURE__ */ jsxs("div", { className: "relative inline-flex overflow-hidden rounded-2xl border border-slate-200 bg-slate-100/60 shadow-sm dark:border-white/10 dark:bg-
|
|
93
|
-
/* @__PURE__ */ jsx(Btn, { disabled: page === 1, onClick: () => onPageChange(page - 1), children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M15 18l-6-6 6-6" }) }) }),
|
|
94
|
+
return /* @__PURE__ */ jsx("nav", { className: className || "w-full md:w-auto", children: /* @__PURE__ */ jsxs("div", { className: "relative inline-flex overflow-hidden rounded-2xl border border-slate-200 bg-slate-100/60 shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]", children: [
|
|
95
|
+
/* @__PURE__ */ jsx(Btn, { disabled: page === 1, onClick: () => onPageChange(page - 1), ariaLabel: "P\xE1gina anterior", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M15 18l-6-6 6-6" }) }) }),
|
|
94
96
|
range.map(
|
|
95
97
|
(it, idx) => it === "..." ? /* @__PURE__ */ jsx("span", { className: "h-10 min-w-10 px-3 inline-flex items-center justify-center text-slate-500 dark:text-slate-400", children: "\u2026" }, `dots-${idx}`) : /* @__PURE__ */ jsx(Btn, { active: it === page, onClick: () => onPageChange(it), children: it }, it)
|
|
96
98
|
),
|
|
97
|
-
/* @__PURE__ */ jsx(Btn, { disabled: page === totalPages, onClick: () => onPageChange(page + 1), children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M9 6l6 6-6 6" }) }) })
|
|
99
|
+
/* @__PURE__ */ jsx(Btn, { disabled: page === totalPages, onClick: () => onPageChange(page + 1), ariaLabel: "P\xE1gina siguiente", children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", className: "h-5 w-5", fill: "none", stroke: "currentColor", strokeWidth: "2", children: /* @__PURE__ */ jsx("path", { d: "M9 6l6 6-6 6" }) }) })
|
|
98
100
|
] }) });
|
|
99
101
|
}
|
|
100
102
|
export {
|
package/dist/Sidebar.js
CHANGED
|
@@ -210,7 +210,7 @@ function Sidebar({
|
|
|
210
210
|
variant: "ghost",
|
|
211
211
|
size: "sm",
|
|
212
212
|
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconos.MenuIcon, {}),
|
|
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-
|
|
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-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10"
|
|
214
214
|
}
|
|
215
215
|
),
|
|
216
216
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.default, { unstyled: true, type: "button", onClick: onBrandClick, className: "flex items-center gap-2", children: [
|
|
@@ -222,12 +222,16 @@ function Sidebar({
|
|
|
222
222
|
] })
|
|
223
223
|
] }),
|
|
224
224
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
225
|
-
|
|
225
|
+
import_framer_motion.motion.aside,
|
|
226
226
|
{
|
|
227
227
|
className: [
|
|
228
228
|
"hidden xl:fixed xl:inset-y-0 xl:flex xl:flex-col xl:border-r xl:border-black/5 bg-white xl:py-6 dark:bg-[var(--fx-surface)] z-40",
|
|
229
|
-
collapsed ? "xl:
|
|
229
|
+
collapsed ? "xl:px-3" : "xl:px-4"
|
|
230
230
|
].join(" "),
|
|
231
|
+
initial: false,
|
|
232
|
+
animate: { width: collapsed ? 112 : 288 },
|
|
233
|
+
transition: { type: "spring", stiffness: 260, damping: 30, mass: 0.9 },
|
|
234
|
+
style: { width: collapsed ? 112 : 288 },
|
|
231
235
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
232
236
|
SidebarInner,
|
|
233
237
|
{
|
|
@@ -246,7 +250,16 @@ function Sidebar({
|
|
|
246
250
|
)
|
|
247
251
|
}
|
|
248
252
|
),
|
|
249
|
-
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
253
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
254
|
+
import_framer_motion.motion.div,
|
|
255
|
+
{
|
|
256
|
+
className: "hidden xl:block",
|
|
257
|
+
initial: false,
|
|
258
|
+
animate: { width: collapsed ? 112 : 288 },
|
|
259
|
+
transition: { type: "spring", stiffness: 260, damping: 30, mass: 0.9 },
|
|
260
|
+
style: { width: collapsed ? 112 : 288 }
|
|
261
|
+
}
|
|
262
|
+
),
|
|
250
263
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.AnimatePresence, { children: drawerOpen && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_framer_motion.motion.div, { className: "fixed inset-0 z-40 xl:hidden", initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, children: [
|
|
251
264
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "absolute inset-0 bg-black/40" }),
|
|
252
265
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
@@ -270,7 +283,7 @@ function Sidebar({
|
|
|
270
283
|
variant: "ghost",
|
|
271
284
|
size: "sm",
|
|
272
285
|
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconos.CloseIcon, {}),
|
|
273
|
-
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 dark:border-white/10 dark:bg-
|
|
286
|
+
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 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200"
|
|
274
287
|
}
|
|
275
288
|
),
|
|
276
289
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm text-slate-500 dark:text-slate-400", children: "Men\xFA" })
|
|
@@ -315,10 +328,21 @@ function SidebarInner({
|
|
|
315
328
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex items-center justify-between px-1", children: [
|
|
316
329
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_Button.default, { unstyled: true, type: "button", className: "flex items-center gap-3", title: "Ir al inicio", children: [
|
|
317
330
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-2xl font-black tracking-tight", children: brandInitials }),
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
331
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_framer_motion.AnimatePresence, { initial: false, children: !collapsed && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
332
|
+
import_framer_motion.motion.div,
|
|
333
|
+
{
|
|
334
|
+
initial: { opacity: 0, x: -6 },
|
|
335
|
+
animate: { opacity: 1, x: 0 },
|
|
336
|
+
exit: { opacity: 0, x: -6 },
|
|
337
|
+
transition: { duration: 0.15 },
|
|
338
|
+
className: "leading-tight",
|
|
339
|
+
children: [
|
|
340
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-lg font-semibold tracking-tight", children: brandTitle }),
|
|
341
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-[11px] uppercase tracking-wide text-slate-400 text-left", children: brandSubtitle })
|
|
342
|
+
]
|
|
343
|
+
},
|
|
344
|
+
"brand-meta"
|
|
345
|
+
) })
|
|
322
346
|
] }),
|
|
323
347
|
!mobile && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
324
348
|
import_Button.default,
|
|
@@ -329,13 +353,13 @@ function SidebarInner({
|
|
|
329
353
|
variant: "ghost",
|
|
330
354
|
size: "sm",
|
|
331
355
|
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_iconos.ChevronLeftRightIcon, { collapsed: collapsed != null ? collapsed : false }),
|
|
332
|
-
className: "hidden xl:inline-flex h-8 w-8 p-0 !gap-0 rounded-xl border border-slate-200 bg-white text-slate-700 shadow-sm hover:bg-slate-50 dark:border-white/10 dark:bg-
|
|
356
|
+
className: "hidden xl:inline-flex h-8 w-8 p-0 !gap-0 rounded-xl border border-slate-200 bg-white text-slate-700 shadow-sm hover:bg-slate-50 active:scale-[0.98] dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200",
|
|
333
357
|
title: collapsed ? "Expandir" : "Contraer"
|
|
334
358
|
}
|
|
335
359
|
)
|
|
336
360
|
] }),
|
|
337
361
|
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 }) }),
|
|
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-
|
|
362
|
+
!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-[var(--fx-surface)]", children: [
|
|
339
363
|
/* @__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 }),
|
|
340
364
|
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0", children: [
|
|
341
365
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "truncate text-sm font-semibold", children: (_c = user == null ? void 0 : user.name) != null ? _c : "Usuario" }),
|
|
@@ -401,7 +425,7 @@ function RenderItem({
|
|
|
401
425
|
{
|
|
402
426
|
className: [
|
|
403
427
|
"grid h-9 w-9 place-items-center rounded-xl border transition",
|
|
404
|
-
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
428
|
+
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
405
429
|
].join(" "),
|
|
406
430
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
|
|
407
431
|
}
|
|
@@ -437,7 +461,7 @@ function RenderItem({
|
|
|
437
461
|
{
|
|
438
462
|
className: [
|
|
439
463
|
"grid h-9 w-9 place-items-center rounded-xl border transition",
|
|
440
|
-
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
464
|
+
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
441
465
|
].join(" "),
|
|
442
466
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
|
|
443
467
|
}
|
|
@@ -460,7 +484,7 @@ function RenderItem({
|
|
|
460
484
|
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronDown, { open }),
|
|
461
485
|
className: [
|
|
462
486
|
"h-8 w-8 shrink-0 rounded-lg p-0 !gap-0 border",
|
|
463
|
-
isActive ? `${TOGGLE_BORDER_ACTIVE[color]} bg-white/80 dark:bg-white/15` : "border-slate-200 bg-white dark:border-white/10 dark:bg-
|
|
487
|
+
isActive ? `${TOGGLE_BORDER_ACTIVE[color]} bg-white/80 dark:bg-white/15` : "border-slate-200 bg-white dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
464
488
|
].join(" ")
|
|
465
489
|
}
|
|
466
490
|
)
|
|
@@ -476,7 +500,7 @@ function RenderItem({
|
|
|
476
500
|
transition: { type: "tween", duration: 0.18 },
|
|
477
501
|
className: "mt-1 overflow-hidden",
|
|
478
502
|
style: { willChange: "height, opacity, transform" },
|
|
479
|
-
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-
|
|
503
|
+
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-[var(--fx-surface)]", children: children.map((ch) => {
|
|
480
504
|
const active2 = ch.key === activeKey;
|
|
481
505
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
482
506
|
import_Button.default,
|
|
@@ -528,7 +552,7 @@ function RenderItem({
|
|
|
528
552
|
{
|
|
529
553
|
className: [
|
|
530
554
|
"grid h-9 w-9 place-items-center rounded-xl border text-slate-700 transition group-hover:scale-105 dark:text-slate-200",
|
|
531
|
-
active ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
555
|
+
active ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
532
556
|
].join(" "),
|
|
533
557
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, { className: "h-5 w-5" })
|
|
534
558
|
}
|
package/dist/Sidebar.mjs
CHANGED
|
@@ -177,7 +177,7 @@ function Sidebar({
|
|
|
177
177
|
variant: "ghost",
|
|
178
178
|
size: "sm",
|
|
179
179
|
leftIcon: /* @__PURE__ */ jsx(MenuIcon, {}),
|
|
180
|
-
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-
|
|
180
|
+
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-[var(--fx-surface)] dark:text-slate-200 dark:hover:bg-white/10"
|
|
181
181
|
}
|
|
182
182
|
),
|
|
183
183
|
/* @__PURE__ */ jsxs(Button, { unstyled: true, type: "button", onClick: onBrandClick, className: "flex items-center gap-2", children: [
|
|
@@ -189,12 +189,16 @@ function Sidebar({
|
|
|
189
189
|
] })
|
|
190
190
|
] }),
|
|
191
191
|
/* @__PURE__ */ jsx(
|
|
192
|
-
|
|
192
|
+
motion.aside,
|
|
193
193
|
{
|
|
194
194
|
className: [
|
|
195
195
|
"hidden xl:fixed xl:inset-y-0 xl:flex xl:flex-col xl:border-r xl:border-black/5 bg-white xl:py-6 dark:bg-[var(--fx-surface)] z-40",
|
|
196
|
-
collapsed ? "xl:
|
|
196
|
+
collapsed ? "xl:px-3" : "xl:px-4"
|
|
197
197
|
].join(" "),
|
|
198
|
+
initial: false,
|
|
199
|
+
animate: { width: collapsed ? 112 : 288 },
|
|
200
|
+
transition: { type: "spring", stiffness: 260, damping: 30, mass: 0.9 },
|
|
201
|
+
style: { width: collapsed ? 112 : 288 },
|
|
198
202
|
children: /* @__PURE__ */ jsx(
|
|
199
203
|
SidebarInner,
|
|
200
204
|
{
|
|
@@ -213,7 +217,16 @@ function Sidebar({
|
|
|
213
217
|
)
|
|
214
218
|
}
|
|
215
219
|
),
|
|
216
|
-
/* @__PURE__ */ jsx(
|
|
220
|
+
/* @__PURE__ */ jsx(
|
|
221
|
+
motion.div,
|
|
222
|
+
{
|
|
223
|
+
className: "hidden xl:block",
|
|
224
|
+
initial: false,
|
|
225
|
+
animate: { width: collapsed ? 112 : 288 },
|
|
226
|
+
transition: { type: "spring", stiffness: 260, damping: 30, mass: 0.9 },
|
|
227
|
+
style: { width: collapsed ? 112 : 288 }
|
|
228
|
+
}
|
|
229
|
+
),
|
|
217
230
|
/* @__PURE__ */ jsx(AnimatePresence, { children: drawerOpen && /* @__PURE__ */ jsxs(motion.div, { className: "fixed inset-0 z-40 xl:hidden", initial: { opacity: 0 }, animate: { opacity: 1 }, exit: { opacity: 0 }, children: [
|
|
218
231
|
/* @__PURE__ */ jsx("div", { className: "absolute inset-0 bg-black/40" }),
|
|
219
232
|
/* @__PURE__ */ jsxs(
|
|
@@ -237,7 +250,7 @@ function Sidebar({
|
|
|
237
250
|
variant: "ghost",
|
|
238
251
|
size: "sm",
|
|
239
252
|
leftIcon: /* @__PURE__ */ jsx(CloseIcon, {}),
|
|
240
|
-
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 dark:border-white/10 dark:bg-
|
|
253
|
+
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 dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200"
|
|
241
254
|
}
|
|
242
255
|
),
|
|
243
256
|
/* @__PURE__ */ jsx("div", { className: "text-sm text-slate-500 dark:text-slate-400", children: "Men\xFA" })
|
|
@@ -282,10 +295,21 @@ function SidebarInner({
|
|
|
282
295
|
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-1", children: [
|
|
283
296
|
/* @__PURE__ */ jsxs(Button, { unstyled: true, type: "button", className: "flex items-center gap-3", title: "Ir al inicio", children: [
|
|
284
297
|
/* @__PURE__ */ jsx("div", { className: "text-2xl font-black tracking-tight", children: brandInitials }),
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
298
|
+
/* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: !collapsed && /* @__PURE__ */ jsxs(
|
|
299
|
+
motion.div,
|
|
300
|
+
{
|
|
301
|
+
initial: { opacity: 0, x: -6 },
|
|
302
|
+
animate: { opacity: 1, x: 0 },
|
|
303
|
+
exit: { opacity: 0, x: -6 },
|
|
304
|
+
transition: { duration: 0.15 },
|
|
305
|
+
className: "leading-tight",
|
|
306
|
+
children: [
|
|
307
|
+
/* @__PURE__ */ jsx("div", { className: "text-lg font-semibold tracking-tight", children: brandTitle }),
|
|
308
|
+
/* @__PURE__ */ jsx("div", { className: "text-[11px] uppercase tracking-wide text-slate-400 text-left", children: brandSubtitle })
|
|
309
|
+
]
|
|
310
|
+
},
|
|
311
|
+
"brand-meta"
|
|
312
|
+
) })
|
|
289
313
|
] }),
|
|
290
314
|
!mobile && /* @__PURE__ */ jsx(
|
|
291
315
|
Button,
|
|
@@ -296,13 +320,13 @@ function SidebarInner({
|
|
|
296
320
|
variant: "ghost",
|
|
297
321
|
size: "sm",
|
|
298
322
|
leftIcon: /* @__PURE__ */ jsx(ChevronLeftRightIcon, { collapsed: collapsed != null ? collapsed : false }),
|
|
299
|
-
className: "hidden xl:inline-flex h-8 w-8 p-0 !gap-0 rounded-xl border border-slate-200 bg-white text-slate-700 shadow-sm hover:bg-slate-50 dark:border-white/10 dark:bg-
|
|
323
|
+
className: "hidden xl:inline-flex h-8 w-8 p-0 !gap-0 rounded-xl border border-slate-200 bg-white text-slate-700 shadow-sm hover:bg-slate-50 active:scale-[0.98] dark:border-white/10 dark:bg-[var(--fx-surface)] dark:text-slate-200",
|
|
300
324
|
title: collapsed ? "Expandir" : "Contraer"
|
|
301
325
|
}
|
|
302
326
|
)
|
|
303
327
|
] }),
|
|
304
328
|
collapsed && /* @__PURE__ */ jsx("div", { className: "mt-4 flex items-center justify-center", children: /* @__PURE__ */ jsx(AvatarSquare, { size: 48, src: (_a = user == null ? void 0 : user.avatarUrl) != null ? _a : void 0, radiusClass: "rounded-2xl", color }) }),
|
|
305
|
-
!collapsed && /* @__PURE__ */ 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-
|
|
329
|
+
!collapsed && /* @__PURE__ */ 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-[var(--fx-surface)]", children: [
|
|
306
330
|
/* @__PURE__ */ jsx(AvatarSquare, { size: 48, src: (_b = user == null ? void 0 : user.avatarUrl) != null ? _b : void 0, radiusClass: "rounded-2xl", color }),
|
|
307
331
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
308
332
|
/* @__PURE__ */ jsx("div", { className: "truncate text-sm font-semibold", children: (_c = user == null ? void 0 : user.name) != null ? _c : "Usuario" }),
|
|
@@ -368,7 +392,7 @@ function RenderItem({
|
|
|
368
392
|
{
|
|
369
393
|
className: [
|
|
370
394
|
"grid h-9 w-9 place-items-center rounded-xl border transition",
|
|
371
|
-
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
395
|
+
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
372
396
|
].join(" "),
|
|
373
397
|
children: /* @__PURE__ */ jsx(Icon, { className: "h-5 w-5" })
|
|
374
398
|
}
|
|
@@ -404,7 +428,7 @@ function RenderItem({
|
|
|
404
428
|
{
|
|
405
429
|
className: [
|
|
406
430
|
"grid h-9 w-9 place-items-center rounded-xl border transition",
|
|
407
|
-
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
431
|
+
isActive ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
408
432
|
].join(" "),
|
|
409
433
|
children: /* @__PURE__ */ jsx(Icon, { className: "h-5 w-5" })
|
|
410
434
|
}
|
|
@@ -427,7 +451,7 @@ function RenderItem({
|
|
|
427
451
|
leftIcon: /* @__PURE__ */ jsx(ChevronDown, { open }),
|
|
428
452
|
className: [
|
|
429
453
|
"h-8 w-8 shrink-0 rounded-lg p-0 !gap-0 border",
|
|
430
|
-
isActive ? `${TOGGLE_BORDER_ACTIVE[color]} bg-white/80 dark:bg-white/15` : "border-slate-200 bg-white dark:border-white/10 dark:bg-
|
|
454
|
+
isActive ? `${TOGGLE_BORDER_ACTIVE[color]} bg-white/80 dark:bg-white/15` : "border-slate-200 bg-white dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
431
455
|
].join(" ")
|
|
432
456
|
}
|
|
433
457
|
)
|
|
@@ -443,7 +467,7 @@ function RenderItem({
|
|
|
443
467
|
transition: { type: "tween", duration: 0.18 },
|
|
444
468
|
className: "mt-1 overflow-hidden",
|
|
445
469
|
style: { willChange: "height, opacity, transform" },
|
|
446
|
-
children: /* @__PURE__ */ jsx("div", { className: "rounded-xl border border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-
|
|
470
|
+
children: /* @__PURE__ */ jsx("div", { className: "rounded-xl border border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]", children: children.map((ch) => {
|
|
447
471
|
const active2 = ch.key === activeKey;
|
|
448
472
|
return /* @__PURE__ */ jsx(
|
|
449
473
|
Button,
|
|
@@ -495,7 +519,7 @@ function RenderItem({
|
|
|
495
519
|
{
|
|
496
520
|
className: [
|
|
497
521
|
"grid h-9 w-9 place-items-center rounded-xl border text-slate-700 transition group-hover:scale-105 dark:text-slate-200",
|
|
498
|
-
active ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-
|
|
522
|
+
active ? `${ICON_BORDER_ACTIVE[color]} bg-white shadow-sm dark:bg-[var(--fx-surface)]` : "border-slate-200 bg-white shadow-sm dark:border-white/10 dark:bg-[var(--fx-surface)]"
|
|
499
523
|
].join(" "),
|
|
500
524
|
children: /* @__PURE__ */ jsx(Icon, { className: "h-5 w-5" })
|
|
501
525
|
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
type SkeletonBaseProps = {
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React__default.CSSProperties;
|
|
7
|
+
};
|
|
8
|
+
declare function Skeleton({ className, style }: SkeletonBaseProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function SkeletonCircle({ size, className }: {
|
|
10
|
+
size?: number;
|
|
11
|
+
className?: string;
|
|
12
|
+
}): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function SkeletonLine({ width, height, className }: {
|
|
14
|
+
width?: number | string;
|
|
15
|
+
height?: number;
|
|
16
|
+
className?: string;
|
|
17
|
+
}): react_jsx_runtime.JSX.Element;
|
|
18
|
+
declare function SkeletonText({ lines, widths }: {
|
|
19
|
+
lines?: number;
|
|
20
|
+
widths?: Array<number | string>;
|
|
21
|
+
}): react_jsx_runtime.JSX.Element;
|
|
22
|
+
declare function SkeletonContainer({ loading, skeleton, children }: {
|
|
23
|
+
loading: boolean;
|
|
24
|
+
skeleton: React__default.ReactNode;
|
|
25
|
+
children: React__default.ReactNode;
|
|
26
|
+
}): react_jsx_runtime.JSX.Element;
|
|
27
|
+
declare const SkeletonCompound: typeof Skeleton & {
|
|
28
|
+
Circle: typeof SkeletonCircle;
|
|
29
|
+
Line: typeof SkeletonLine;
|
|
30
|
+
Text: typeof SkeletonText;
|
|
31
|
+
Container: typeof SkeletonContainer;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { Skeleton, type SkeletonBaseProps, SkeletonCircle, SkeletonContainer, SkeletonLine, SkeletonText, SkeletonCompound as default };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React__default from 'react';
|
|
3
|
+
|
|
4
|
+
type SkeletonBaseProps = {
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React__default.CSSProperties;
|
|
7
|
+
};
|
|
8
|
+
declare function Skeleton({ className, style }: SkeletonBaseProps): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function SkeletonCircle({ size, className }: {
|
|
10
|
+
size?: number;
|
|
11
|
+
className?: string;
|
|
12
|
+
}): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare function SkeletonLine({ width, height, className }: {
|
|
14
|
+
width?: number | string;
|
|
15
|
+
height?: number;
|
|
16
|
+
className?: string;
|
|
17
|
+
}): react_jsx_runtime.JSX.Element;
|
|
18
|
+
declare function SkeletonText({ lines, widths }: {
|
|
19
|
+
lines?: number;
|
|
20
|
+
widths?: Array<number | string>;
|
|
21
|
+
}): react_jsx_runtime.JSX.Element;
|
|
22
|
+
declare function SkeletonContainer({ loading, skeleton, children }: {
|
|
23
|
+
loading: boolean;
|
|
24
|
+
skeleton: React__default.ReactNode;
|
|
25
|
+
children: React__default.ReactNode;
|
|
26
|
+
}): react_jsx_runtime.JSX.Element;
|
|
27
|
+
declare const SkeletonCompound: typeof Skeleton & {
|
|
28
|
+
Circle: typeof SkeletonCircle;
|
|
29
|
+
Line: typeof SkeletonLine;
|
|
30
|
+
Text: typeof SkeletonText;
|
|
31
|
+
Container: typeof SkeletonContainer;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { Skeleton, type SkeletonBaseProps, SkeletonCircle, SkeletonContainer, SkeletonLine, SkeletonText, SkeletonCompound as default };
|