@doscientos/ui 0.1.32 → 0.1.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +540 -525
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +71 -62
- package/dist/index.d.ts +71 -62
- package/dist/index.js +558 -543
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1997,15 +1997,197 @@ function CommandItem({ className, ...props }) {
|
|
|
1997
1997
|
);
|
|
1998
1998
|
}
|
|
1999
1999
|
|
|
2000
|
-
// src/ui/
|
|
2000
|
+
// src/ui/confirm-dialog/confirm-dialog.tsx
|
|
2001
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
2002
|
+
function ConfirmDialog({
|
|
2003
|
+
open,
|
|
2004
|
+
onOpenChange,
|
|
2005
|
+
title,
|
|
2006
|
+
description,
|
|
2007
|
+
confirmLabel = "Confirmar",
|
|
2008
|
+
cancelLabel = "Cancelar",
|
|
2009
|
+
destructive = false,
|
|
2010
|
+
pending = false,
|
|
2011
|
+
onConfirm
|
|
2012
|
+
}) {
|
|
2013
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2014
|
+
AlertDialog,
|
|
2015
|
+
{
|
|
2016
|
+
open,
|
|
2017
|
+
onOpenChange: (nextOpen) => {
|
|
2018
|
+
if (!pending || nextOpen) onOpenChange(nextOpen);
|
|
2019
|
+
},
|
|
2020
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(AlertDialogContent, { children: [
|
|
2021
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(AlertDialogHeader, { children: [
|
|
2022
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialogTitle, { children: title }),
|
|
2023
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AlertDialogDescription, { children: description }) : null
|
|
2024
|
+
] }),
|
|
2025
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(AlertDialogFooter, { children: [
|
|
2026
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { variant: "outline", isDisabled: pending, onPress: () => onOpenChange(false), children: cancelLabel }),
|
|
2027
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2028
|
+
Button,
|
|
2029
|
+
{
|
|
2030
|
+
variant: destructive ? "destructive" : "default",
|
|
2031
|
+
isDisabled: pending,
|
|
2032
|
+
onPress: onConfirm,
|
|
2033
|
+
children: confirmLabel
|
|
2034
|
+
}
|
|
2035
|
+
)
|
|
2036
|
+
] })
|
|
2037
|
+
] })
|
|
2038
|
+
}
|
|
2039
|
+
);
|
|
2040
|
+
}
|
|
2041
|
+
|
|
2042
|
+
// src/ui/copy-button/copy-button.tsx
|
|
2001
2043
|
var import_lucide_react4 = require("lucide-react");
|
|
2044
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
2045
|
+
function CopyButton({
|
|
2046
|
+
value,
|
|
2047
|
+
children,
|
|
2048
|
+
copiedLabel = "Copiado",
|
|
2049
|
+
resetMs,
|
|
2050
|
+
onCopied,
|
|
2051
|
+
onCopyError,
|
|
2052
|
+
...props
|
|
2053
|
+
}) {
|
|
2054
|
+
const { copy, status } = useClipboard({ resetMs, onError: onCopyError });
|
|
2055
|
+
const copied = status === "copied";
|
|
2056
|
+
const label = copied ? copiedLabel : children ?? "Copiar";
|
|
2057
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
2058
|
+
Button,
|
|
2059
|
+
{
|
|
2060
|
+
"aria-label": typeof label === "string" ? label : void 0,
|
|
2061
|
+
onPress: () => {
|
|
2062
|
+
void copy(value).then((wasCopied) => {
|
|
2063
|
+
if (wasCopied) onCopied?.(value);
|
|
2064
|
+
});
|
|
2065
|
+
},
|
|
2066
|
+
...props,
|
|
2067
|
+
children: [
|
|
2068
|
+
copied ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react4.Check, { "aria-hidden": "true", className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react4.Copy, { "aria-hidden": "true", className: "size-3.5" }),
|
|
2069
|
+
label
|
|
2070
|
+
]
|
|
2071
|
+
}
|
|
2072
|
+
);
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
// src/ui/danger-zone/danger-zone.tsx
|
|
2076
|
+
var import_lucide_react5 = require("lucide-react");
|
|
2002
2077
|
var import_react_aria_components11 = require("react-aria-components");
|
|
2003
|
-
var
|
|
2078
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2079
|
+
function DangerZone({
|
|
2080
|
+
title = "Zona de peligro",
|
|
2081
|
+
description = "Acciones irreversibles. \xC1brela solo si est\xE1s seguro.",
|
|
2082
|
+
defaultOpen = false,
|
|
2083
|
+
className,
|
|
2084
|
+
children
|
|
2085
|
+
}) {
|
|
2086
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components11.Disclosure, { defaultExpanded: defaultOpen, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Card, { className: cn("border-destructive/30", className), children: [
|
|
2087
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components11.Heading, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
2088
|
+
import_react_aria_components11.Button,
|
|
2089
|
+
{
|
|
2090
|
+
slot: "trigger",
|
|
2091
|
+
"data-slot": "danger-zone-trigger",
|
|
2092
|
+
className: "group/danger focus-visible:ring-ring/50 flex w-full items-center gap-3 px-4 text-left outline-none focus-visible:ring-3",
|
|
2093
|
+
children: [
|
|
2094
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.ShieldAlert, { className: "text-destructive size-4 shrink-0" }),
|
|
2095
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("span", { className: "flex flex-1 flex-col gap-0.5", children: [
|
|
2096
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "font-heading text-destructive text-base leading-snug font-medium", children: title }),
|
|
2097
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "text-muted-foreground text-xs", children: description })
|
|
2098
|
+
] }),
|
|
2099
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_lucide_react5.ChevronDown, { className: "text-muted-foreground size-4 shrink-0 transition-transform group-aria-expanded/danger:rotate-180" })
|
|
2100
|
+
]
|
|
2101
|
+
}
|
|
2102
|
+
) }),
|
|
2103
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_aria_components11.DisclosurePanel, { "data-slot": "danger-zone-content", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CardContent, { children }) })
|
|
2104
|
+
] }) });
|
|
2105
|
+
}
|
|
2106
|
+
|
|
2107
|
+
// src/ui/data-view-state/data-view-state.tsx
|
|
2108
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2109
|
+
function DataViewState({ className, ...props }) {
|
|
2110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2111
|
+
"section",
|
|
2112
|
+
{
|
|
2113
|
+
"data-slot": "data-view-state",
|
|
2114
|
+
className: cn(
|
|
2115
|
+
"flex min-h-40 flex-col items-center justify-center gap-3 rounded-xl border p-6 text-center",
|
|
2116
|
+
className
|
|
2117
|
+
),
|
|
2118
|
+
...props
|
|
2119
|
+
}
|
|
2120
|
+
);
|
|
2121
|
+
}
|
|
2122
|
+
function DataViewStateTitle({ children, className, ...props }) {
|
|
2123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h2", { "data-slot": "data-view-state-title", className: cn("font-semibold", className), ...props, children });
|
|
2124
|
+
}
|
|
2125
|
+
function DataViewStateDescription({ className, ...props }) {
|
|
2126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2127
|
+
"p",
|
|
2128
|
+
{
|
|
2129
|
+
"data-slot": "data-view-state-description",
|
|
2130
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
2131
|
+
...props
|
|
2132
|
+
}
|
|
2133
|
+
);
|
|
2134
|
+
}
|
|
2135
|
+
function DataViewStateActions({ className, ...props }) {
|
|
2136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2137
|
+
"div",
|
|
2138
|
+
{
|
|
2139
|
+
"data-slot": "data-view-state-actions",
|
|
2140
|
+
className: cn("flex items-center gap-2", className),
|
|
2141
|
+
...props
|
|
2142
|
+
}
|
|
2143
|
+
);
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
// src/ui/description-list/description-list.tsx
|
|
2147
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2148
|
+
function DescriptionList({ className, ...props }) {
|
|
2149
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2150
|
+
"dl",
|
|
2151
|
+
{
|
|
2152
|
+
"data-slot": "description-list",
|
|
2153
|
+
className: cn("grid gap-x-6 gap-y-4 sm:grid-cols-2", className),
|
|
2154
|
+
...props
|
|
2155
|
+
}
|
|
2156
|
+
);
|
|
2157
|
+
}
|
|
2158
|
+
function DescriptionItem({ className, ...props }) {
|
|
2159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { "data-slot": "description-item", className: cn("min-w-0", className), ...props });
|
|
2160
|
+
}
|
|
2161
|
+
function DescriptionTerm({ className, ...props }) {
|
|
2162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2163
|
+
"dt",
|
|
2164
|
+
{
|
|
2165
|
+
"data-slot": "description-term",
|
|
2166
|
+
className: cn("text-xs font-medium text-muted-foreground", className),
|
|
2167
|
+
...props
|
|
2168
|
+
}
|
|
2169
|
+
);
|
|
2170
|
+
}
|
|
2171
|
+
function DescriptionDetails({ className, ...props }) {
|
|
2172
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2173
|
+
"dd",
|
|
2174
|
+
{
|
|
2175
|
+
"data-slot": "description-details",
|
|
2176
|
+
className: cn("mt-1 wrap-break-word text-sm", className),
|
|
2177
|
+
...props
|
|
2178
|
+
}
|
|
2179
|
+
);
|
|
2180
|
+
}
|
|
2181
|
+
|
|
2182
|
+
// src/ui/drawer/drawer.tsx
|
|
2183
|
+
var import_lucide_react6 = require("lucide-react");
|
|
2184
|
+
var import_react_aria_components12 = require("react-aria-components");
|
|
2185
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2004
2186
|
function DrawerTrigger({ ...props }) {
|
|
2005
|
-
return /* @__PURE__ */ (0,
|
|
2187
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_react_aria_components12.DialogTrigger, { "data-slot": "drawer-trigger", ...props });
|
|
2006
2188
|
}
|
|
2007
2189
|
function DrawerClose({ className, variant = "outline", size = "default", ...props }) {
|
|
2008
|
-
return /* @__PURE__ */ (0,
|
|
2190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2009
2191
|
Button,
|
|
2010
2192
|
{
|
|
2011
2193
|
slot: "close",
|
|
@@ -2022,8 +2204,8 @@ function DrawerOverlay({
|
|
|
2022
2204
|
children,
|
|
2023
2205
|
...props
|
|
2024
2206
|
}) {
|
|
2025
|
-
return /* @__PURE__ */ (0,
|
|
2026
|
-
|
|
2207
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2208
|
+
import_react_aria_components12.ModalOverlay,
|
|
2027
2209
|
{
|
|
2028
2210
|
"data-slot": "drawer-overlay",
|
|
2029
2211
|
isDismissable: true,
|
|
@@ -2044,8 +2226,8 @@ function DrawerContent({
|
|
|
2044
2226
|
showCloseButton = true,
|
|
2045
2227
|
...props
|
|
2046
2228
|
}) {
|
|
2047
|
-
return /* @__PURE__ */ (0,
|
|
2048
|
-
|
|
2229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DrawerOverlay, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2230
|
+
import_react_aria_components12.Modal,
|
|
2049
2231
|
{
|
|
2050
2232
|
"data-slot": "drawer-content",
|
|
2051
2233
|
"data-side": side,
|
|
@@ -2053,17 +2235,17 @@ function DrawerContent({
|
|
|
2053
2235
|
"fixed z-50 flex max-h-svh flex-col gap-4 border-border bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg motion-safe:transition motion-safe:duration-200 motion-safe:ease-in-out motion-safe:data-entering:opacity-0 motion-safe:data-exiting:opacity-0 motion-reduce:transition-none data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:pb-[env(safe-area-inset-bottom)] motion-safe:data-[side=bottom]:data-entering:translate-y-10 motion-safe:data-[side=bottom]:data-exiting:translate-y-10 data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r motion-safe:data-[side=left]:data-entering:-translate-x-10 motion-safe:data-[side=left]:data-exiting:-translate-x-10 data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l motion-safe:data-[side=right]:data-entering:translate-x-10 motion-safe:data-[side=right]:data-exiting:translate-x-10 data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:pt-[env(safe-area-inset-top)] motion-safe:data-[side=top]:data-entering:-translate-y-10 motion-safe:data-[side=top]:data-exiting:-translate-y-10 data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",
|
|
2054
2236
|
className
|
|
2055
2237
|
),
|
|
2056
|
-
children: /* @__PURE__ */ (0,
|
|
2057
|
-
|
|
2238
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
|
|
2239
|
+
import_react_aria_components12.Dialog,
|
|
2058
2240
|
{
|
|
2059
2241
|
"data-slot": "drawer",
|
|
2060
2242
|
className: "[display:inherit] h-full max-h-[inherit] [flex-direction:inherit] gap-[inherit] outline-none",
|
|
2061
2243
|
...dialogProps,
|
|
2062
2244
|
children: [
|
|
2063
2245
|
children,
|
|
2064
|
-
showCloseButton && /* @__PURE__ */ (0,
|
|
2065
|
-
/* @__PURE__ */ (0,
|
|
2066
|
-
/* @__PURE__ */ (0,
|
|
2246
|
+
showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DrawerClose, { variant: "ghost", className: "absolute top-3 right-3", size: "icon-sm", children: [
|
|
2247
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_lucide_react6.XIcon, {}),
|
|
2248
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("span", { className: "sr-only", children: "Cerrar" })
|
|
2067
2249
|
] })
|
|
2068
2250
|
]
|
|
2069
2251
|
}
|
|
@@ -2072,16 +2254,16 @@ function DrawerContent({
|
|
|
2072
2254
|
) });
|
|
2073
2255
|
}
|
|
2074
2256
|
function Drawer(props) {
|
|
2075
|
-
if (!("trigger" in props)) return /* @__PURE__ */ (0,
|
|
2257
|
+
if (!("trigger" in props)) return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DrawerContent, { ...props });
|
|
2076
2258
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
2077
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0,
|
|
2078
|
-
return /* @__PURE__ */ (0,
|
|
2259
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
2260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(DrawerTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
2079
2261
|
triggerElement,
|
|
2080
|
-
/* @__PURE__ */ (0,
|
|
2262
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(DrawerContent, { ...contentProps, children })
|
|
2081
2263
|
] });
|
|
2082
2264
|
}
|
|
2083
2265
|
function DrawerHeader({ className, ...props }) {
|
|
2084
|
-
return /* @__PURE__ */ (0,
|
|
2266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2085
2267
|
"div",
|
|
2086
2268
|
{
|
|
2087
2269
|
"data-slot": "drawer-header",
|
|
@@ -2091,7 +2273,7 @@ function DrawerHeader({ className, ...props }) {
|
|
|
2091
2273
|
);
|
|
2092
2274
|
}
|
|
2093
2275
|
function DrawerFooter({ className, ...props }) {
|
|
2094
|
-
return /* @__PURE__ */ (0,
|
|
2276
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2095
2277
|
"div",
|
|
2096
2278
|
{
|
|
2097
2279
|
"data-slot": "drawer-footer",
|
|
@@ -2101,8 +2283,8 @@ function DrawerFooter({ className, ...props }) {
|
|
|
2101
2283
|
);
|
|
2102
2284
|
}
|
|
2103
2285
|
function DrawerTitle({ className, ...props }) {
|
|
2104
|
-
return /* @__PURE__ */ (0,
|
|
2105
|
-
|
|
2286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2287
|
+
import_react_aria_components12.Heading,
|
|
2106
2288
|
{
|
|
2107
2289
|
slot: "title",
|
|
2108
2290
|
"data-slot": "drawer-title",
|
|
@@ -2115,8 +2297,8 @@ function DrawerDescription({
|
|
|
2115
2297
|
className,
|
|
2116
2298
|
...props
|
|
2117
2299
|
}) {
|
|
2118
|
-
return /* @__PURE__ */ (0,
|
|
2119
|
-
|
|
2300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2301
|
+
import_react_aria_components12.Text,
|
|
2120
2302
|
{
|
|
2121
2303
|
slot: "description",
|
|
2122
2304
|
"data-slot": "drawer-description",
|
|
@@ -2134,281 +2316,29 @@ var SheetHeader = DrawerHeader;
|
|
|
2134
2316
|
var SheetTitle = DrawerTitle;
|
|
2135
2317
|
var SheetTrigger = DrawerTrigger;
|
|
2136
2318
|
|
|
2137
|
-
// src/ui/
|
|
2138
|
-
var
|
|
2139
|
-
function FilterBar({ className, ...props }) {
|
|
2140
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2141
|
-
"div",
|
|
2142
|
-
{
|
|
2143
|
-
"data-slot": "filter-bar",
|
|
2144
|
-
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2145
|
-
...props
|
|
2146
|
-
}
|
|
2147
|
-
);
|
|
2148
|
-
}
|
|
2149
|
-
function FilterGroup({ className, ...props }) {
|
|
2150
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2151
|
-
"div",
|
|
2152
|
-
{
|
|
2153
|
-
"data-slot": "filter-group",
|
|
2154
|
-
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2155
|
-
...props
|
|
2156
|
-
}
|
|
2157
|
-
);
|
|
2158
|
-
}
|
|
2159
|
-
function ActiveFilters({ className, ...props }) {
|
|
2160
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2161
|
-
"div",
|
|
2162
|
-
{
|
|
2163
|
-
"data-slot": "active-filters",
|
|
2164
|
-
"aria-label": "Filtros activos",
|
|
2165
|
-
className: cn("flex flex-wrap items-center gap-1.5", className),
|
|
2166
|
-
...props
|
|
2167
|
-
}
|
|
2168
|
-
);
|
|
2169
|
-
}
|
|
2170
|
-
function FilterChip({
|
|
2171
|
-
children,
|
|
2172
|
-
onRemove,
|
|
2173
|
-
...props
|
|
2174
|
-
}) {
|
|
2175
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Button, { size: "sm", variant: "outline", onPress: onRemove, ...props, children: [
|
|
2176
|
-
children,
|
|
2177
|
-
" \xD7"
|
|
2178
|
-
] });
|
|
2179
|
-
}
|
|
2180
|
-
function SelectionToolbar({
|
|
2181
|
-
count,
|
|
2182
|
-
className,
|
|
2183
|
-
children,
|
|
2184
|
-
...props
|
|
2185
|
-
}) {
|
|
2186
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
2187
|
-
"div",
|
|
2188
|
-
{
|
|
2189
|
-
"data-slot": "selection-toolbar",
|
|
2190
|
-
className: cn(
|
|
2191
|
-
"flex flex-wrap items-center justify-between gap-2 rounded-lg border bg-muted/40 p-2",
|
|
2192
|
-
className
|
|
2193
|
-
),
|
|
2194
|
-
...props,
|
|
2195
|
-
children: [
|
|
2196
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("output", { "aria-live": "polite", className: "text-sm font-medium", children: [
|
|
2197
|
-
count,
|
|
2198
|
-
" seleccionados"
|
|
2199
|
-
] }),
|
|
2200
|
-
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex items-center gap-2", children })
|
|
2201
|
-
]
|
|
2202
|
-
}
|
|
2203
|
-
);
|
|
2204
|
-
}
|
|
2205
|
-
function DescriptionList({ className, ...props }) {
|
|
2206
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2207
|
-
"dl",
|
|
2208
|
-
{
|
|
2209
|
-
"data-slot": "description-list",
|
|
2210
|
-
className: cn("grid gap-x-6 gap-y-4 sm:grid-cols-2", className),
|
|
2211
|
-
...props
|
|
2212
|
-
}
|
|
2213
|
-
);
|
|
2214
|
-
}
|
|
2215
|
-
function DescriptionItem({ className, ...props }) {
|
|
2216
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { "data-slot": "description-item", className: cn("min-w-0", className), ...props });
|
|
2217
|
-
}
|
|
2218
|
-
function DescriptionTerm({ className, ...props }) {
|
|
2219
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2220
|
-
"dt",
|
|
2221
|
-
{
|
|
2222
|
-
"data-slot": "description-term",
|
|
2223
|
-
className: cn("text-xs font-medium text-muted-foreground", className),
|
|
2224
|
-
...props
|
|
2225
|
-
}
|
|
2226
|
-
);
|
|
2227
|
-
}
|
|
2228
|
-
function DescriptionDetails({ className, ...props }) {
|
|
2229
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2230
|
-
"dd",
|
|
2231
|
-
{
|
|
2232
|
-
"data-slot": "description-details",
|
|
2233
|
-
className: cn("mt-1 wrap-break-word text-sm", className),
|
|
2234
|
-
...props
|
|
2235
|
-
}
|
|
2236
|
-
);
|
|
2237
|
-
}
|
|
2238
|
-
function DataViewState({ className, ...props }) {
|
|
2239
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2240
|
-
"section",
|
|
2241
|
-
{
|
|
2242
|
-
"data-slot": "data-view-state",
|
|
2243
|
-
className: cn(
|
|
2244
|
-
"flex min-h-40 flex-col items-center justify-center gap-3 rounded-xl border p-6 text-center",
|
|
2245
|
-
className
|
|
2246
|
-
),
|
|
2247
|
-
...props
|
|
2248
|
-
}
|
|
2249
|
-
);
|
|
2250
|
-
}
|
|
2251
|
-
function DataViewStateTitle({ children, className, ...props }) {
|
|
2252
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("h2", { "data-slot": "data-view-state-title", className: cn("font-semibold", className), ...props, children });
|
|
2253
|
-
}
|
|
2254
|
-
function DataViewStateDescription({ className, ...props }) {
|
|
2255
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2256
|
-
"p",
|
|
2257
|
-
{
|
|
2258
|
-
"data-slot": "data-view-state-description",
|
|
2259
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
2260
|
-
...props
|
|
2261
|
-
}
|
|
2262
|
-
);
|
|
2263
|
-
}
|
|
2264
|
-
function DataViewStateActions({ className, ...props }) {
|
|
2265
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2266
|
-
"div",
|
|
2267
|
-
{
|
|
2268
|
-
"data-slot": "data-view-state-actions",
|
|
2269
|
-
className: cn("flex items-center gap-2", className),
|
|
2270
|
-
...props
|
|
2271
|
-
}
|
|
2272
|
-
);
|
|
2273
|
-
}
|
|
2274
|
-
function MetricGrid({ className, ...props }) {
|
|
2275
|
-
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2276
|
-
"div",
|
|
2277
|
-
{
|
|
2278
|
-
"data-slot": "metric-grid",
|
|
2279
|
-
className: cn("grid gap-4 sm:grid-cols-2 xl:grid-cols-4", className),
|
|
2280
|
-
...props
|
|
2281
|
-
}
|
|
2282
|
-
);
|
|
2283
|
-
}
|
|
2319
|
+
// src/ui/detail-drawer/detail-drawer.tsx
|
|
2320
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2284
2321
|
function DetailDrawer({ children, ...props }) {
|
|
2285
|
-
return /* @__PURE__ */ (0,
|
|
2322
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(DrawerContent, { ...props, children });
|
|
2286
2323
|
}
|
|
2287
2324
|
function DetailDrawerBody({ className, ...props }) {
|
|
2288
|
-
return /* @__PURE__ */ (0,
|
|
2325
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2289
2326
|
"div",
|
|
2290
2327
|
{
|
|
2291
2328
|
"data-slot": "detail-drawer-body",
|
|
2292
|
-
className: cn("min-h-0 flex-1 overflow-y-auto px-4", className),
|
|
2293
|
-
...props
|
|
2294
|
-
}
|
|
2295
|
-
);
|
|
2296
|
-
}
|
|
2297
|
-
|
|
2298
|
-
// src/ui/confirm-dialog/confirm-dialog.tsx
|
|
2299
|
-
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2300
|
-
function ConfirmDialog({
|
|
2301
|
-
open,
|
|
2302
|
-
onOpenChange,
|
|
2303
|
-
title,
|
|
2304
|
-
description,
|
|
2305
|
-
confirmLabel = "Confirmar",
|
|
2306
|
-
cancelLabel = "Cancelar",
|
|
2307
|
-
destructive = false,
|
|
2308
|
-
pending = false,
|
|
2309
|
-
onConfirm
|
|
2310
|
-
}) {
|
|
2311
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2312
|
-
AlertDialog,
|
|
2313
|
-
{
|
|
2314
|
-
open,
|
|
2315
|
-
onOpenChange: (nextOpen) => {
|
|
2316
|
-
if (!pending || nextOpen) onOpenChange(nextOpen);
|
|
2317
|
-
},
|
|
2318
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(AlertDialogContent, { children: [
|
|
2319
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(AlertDialogHeader, { children: [
|
|
2320
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AlertDialogTitle, { children: title }),
|
|
2321
|
-
description ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(AlertDialogDescription, { children: description }) : null
|
|
2322
|
-
] }),
|
|
2323
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(AlertDialogFooter, { children: [
|
|
2324
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Button, { variant: "outline", isDisabled: pending, onPress: () => onOpenChange(false), children: cancelLabel }),
|
|
2325
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2326
|
-
Button,
|
|
2327
|
-
{
|
|
2328
|
-
variant: destructive ? "destructive" : "default",
|
|
2329
|
-
isDisabled: pending,
|
|
2330
|
-
onPress: onConfirm,
|
|
2331
|
-
children: confirmLabel
|
|
2332
|
-
}
|
|
2333
|
-
)
|
|
2334
|
-
] })
|
|
2335
|
-
] })
|
|
2336
|
-
}
|
|
2337
|
-
);
|
|
2338
|
-
}
|
|
2339
|
-
|
|
2340
|
-
// src/ui/copy-button/copy-button.tsx
|
|
2341
|
-
var import_lucide_react5 = require("lucide-react");
|
|
2342
|
-
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2343
|
-
function CopyButton({
|
|
2344
|
-
value,
|
|
2345
|
-
children,
|
|
2346
|
-
copiedLabel = "Copiado",
|
|
2347
|
-
resetMs,
|
|
2348
|
-
onCopied,
|
|
2349
|
-
onCopyError,
|
|
2350
|
-
...props
|
|
2351
|
-
}) {
|
|
2352
|
-
const { copy, status } = useClipboard({ resetMs, onError: onCopyError });
|
|
2353
|
-
const copied = status === "copied";
|
|
2354
|
-
const label = copied ? copiedLabel : children ?? "Copiar";
|
|
2355
|
-
return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
|
|
2356
|
-
Button,
|
|
2357
|
-
{
|
|
2358
|
-
"aria-label": typeof label === "string" ? label : void 0,
|
|
2359
|
-
onPress: () => {
|
|
2360
|
-
void copy(value).then((wasCopied) => {
|
|
2361
|
-
if (wasCopied) onCopied?.(value);
|
|
2362
|
-
});
|
|
2363
|
-
},
|
|
2364
|
-
...props,
|
|
2365
|
-
children: [
|
|
2366
|
-
copied ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.Check, { "aria-hidden": "true", className: "size-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_lucide_react5.Copy, { "aria-hidden": "true", className: "size-3.5" }),
|
|
2367
|
-
label
|
|
2368
|
-
]
|
|
2329
|
+
className: cn("min-h-0 flex-1 overflow-y-auto px-4", className),
|
|
2330
|
+
...props
|
|
2369
2331
|
}
|
|
2370
2332
|
);
|
|
2371
2333
|
}
|
|
2372
2334
|
|
|
2373
|
-
// src/ui/danger-zone/danger-zone.tsx
|
|
2374
|
-
var import_lucide_react6 = require("lucide-react");
|
|
2375
|
-
var import_react_aria_components12 = require("react-aria-components");
|
|
2376
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2377
|
-
function DangerZone({
|
|
2378
|
-
title = "Zona de peligro",
|
|
2379
|
-
description = "Acciones irreversibles. \xC1brela solo si est\xE1s seguro.",
|
|
2380
|
-
defaultOpen = false,
|
|
2381
|
-
className,
|
|
2382
|
-
children
|
|
2383
|
-
}) {
|
|
2384
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_aria_components12.Disclosure, { defaultExpanded: defaultOpen, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Card, { className: cn("border-destructive/30", className), children: [
|
|
2385
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_aria_components12.Heading, { className: "flex", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
2386
|
-
import_react_aria_components12.Button,
|
|
2387
|
-
{
|
|
2388
|
-
slot: "trigger",
|
|
2389
|
-
"data-slot": "danger-zone-trigger",
|
|
2390
|
-
className: "group/danger focus-visible:ring-ring/50 flex w-full items-center gap-3 px-4 text-left outline-none focus-visible:ring-3",
|
|
2391
|
-
children: [
|
|
2392
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.ShieldAlert, { className: "text-destructive size-4 shrink-0" }),
|
|
2393
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("span", { className: "flex flex-1 flex-col gap-0.5", children: [
|
|
2394
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "font-heading text-destructive text-base leading-snug font-medium", children: title }),
|
|
2395
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { className: "text-muted-foreground text-xs", children: description })
|
|
2396
|
-
] }),
|
|
2397
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react6.ChevronDown, { className: "text-muted-foreground size-4 shrink-0 transition-transform group-aria-expanded/danger:rotate-180" })
|
|
2398
|
-
]
|
|
2399
|
-
}
|
|
2400
|
-
) }),
|
|
2401
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_aria_components12.DisclosurePanel, { "data-slot": "danger-zone-content", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(CardContent, { children }) })
|
|
2402
|
-
] }) });
|
|
2403
|
-
}
|
|
2404
|
-
|
|
2405
2335
|
// src/ui/doc-preview/doc-preview.tsx
|
|
2406
2336
|
var import_lucide_react7 = require("lucide-react");
|
|
2407
|
-
var
|
|
2337
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2408
2338
|
function DocPreview({ url, mimeType, name }) {
|
|
2409
|
-
if (!url) return /* @__PURE__ */ (0,
|
|
2339
|
+
if (!url) return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Fallback, { mimeType, reason: "no-url" });
|
|
2410
2340
|
if (mimeType === "application/pdf" || mimeType === "text/plain" || mimeType === "text/csv") {
|
|
2411
|
-
return /* @__PURE__ */ (0,
|
|
2341
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
2412
2342
|
"iframe",
|
|
2413
2343
|
{
|
|
2414
2344
|
src: url,
|
|
@@ -2419,9 +2349,9 @@ function DocPreview({ url, mimeType, name }) {
|
|
|
2419
2349
|
);
|
|
2420
2350
|
}
|
|
2421
2351
|
if (mimeType?.startsWith("image/")) {
|
|
2422
|
-
return /* @__PURE__ */ (0,
|
|
2352
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "bg-muted/30 flex justify-center rounded-sm p-6", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("img", { src: url, alt: name, className: "max-h-[75vh] max-w-full rounded object-contain" }) });
|
|
2423
2353
|
}
|
|
2424
|
-
return /* @__PURE__ */ (0,
|
|
2354
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Fallback, { mimeType, reason: "unsupported" });
|
|
2425
2355
|
}
|
|
2426
2356
|
function Fallback({
|
|
2427
2357
|
mimeType,
|
|
@@ -2429,11 +2359,11 @@ function Fallback({
|
|
|
2429
2359
|
}) {
|
|
2430
2360
|
const Icon = mimeType?.startsWith("image/") ? import_lucide_react7.Image : import_lucide_react7.FileText;
|
|
2431
2361
|
const message = reason === "no-url" ? "No se pudo generar la URL de preview." : "Preview no disponible para este tipo de archivo.";
|
|
2432
|
-
return /* @__PURE__ */ (0,
|
|
2433
|
-
/* @__PURE__ */ (0,
|
|
2434
|
-
/* @__PURE__ */ (0,
|
|
2435
|
-
mimeType ? /* @__PURE__ */ (0,
|
|
2436
|
-
/* @__PURE__ */ (0,
|
|
2362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "text-muted-foreground flex flex-col items-center justify-center gap-2 py-14", children: [
|
|
2363
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { className: "size-9 opacity-30" }),
|
|
2364
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-sm", children: message }),
|
|
2365
|
+
mimeType ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "font-mono text-xs opacity-50", children: mimeType }) : null,
|
|
2366
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "text-xs opacity-50", children: "Usa el bot\xF3n Descargar para abrir el archivo." })
|
|
2437
2367
|
] });
|
|
2438
2368
|
}
|
|
2439
2369
|
|
|
@@ -2442,9 +2372,9 @@ var import_class_variance_authority6 = require("class-variance-authority");
|
|
|
2442
2372
|
var import_lucide_react8 = require("lucide-react");
|
|
2443
2373
|
var React5 = require("react");
|
|
2444
2374
|
var import_react_aria_components13 = require("react-aria-components");
|
|
2445
|
-
var
|
|
2375
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2446
2376
|
function DropdownMenuTrigger({ ...props }) {
|
|
2447
|
-
return /* @__PURE__ */ (0,
|
|
2377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components13.MenuTrigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
2448
2378
|
}
|
|
2449
2379
|
function DropdownMenuContent({
|
|
2450
2380
|
"data-slot": dataSlot = "dropdown-menu-content",
|
|
@@ -2455,7 +2385,7 @@ function DropdownMenuContent({
|
|
|
2455
2385
|
children,
|
|
2456
2386
|
...props
|
|
2457
2387
|
}) {
|
|
2458
|
-
return /* @__PURE__ */ (0,
|
|
2388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2459
2389
|
import_react_aria_components13.Popover,
|
|
2460
2390
|
{
|
|
2461
2391
|
"data-slot": dataSlot,
|
|
@@ -2467,7 +2397,7 @@ function DropdownMenuContent({
|
|
|
2467
2397
|
"w-(--trigger-width) min-w-32 origin-(--trigger-anchor-point) overflow-x-hidden overflow-y-auto rounded-lg border border-border bg-popover p-1 text-popover-foreground",
|
|
2468
2398
|
className
|
|
2469
2399
|
),
|
|
2470
|
-
children: /* @__PURE__ */ (0,
|
|
2400
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2471
2401
|
import_react_aria_components13.Menu,
|
|
2472
2402
|
{
|
|
2473
2403
|
className: "max-h-[inherit] overflow-x-hidden overflow-y-auto outline-hidden",
|
|
@@ -2479,25 +2409,25 @@ function DropdownMenuContent({
|
|
|
2479
2409
|
);
|
|
2480
2410
|
}
|
|
2481
2411
|
function DropdownMenu(props) {
|
|
2482
|
-
if (!("trigger" in props)) return /* @__PURE__ */ (0,
|
|
2412
|
+
if (!("trigger" in props)) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropdownMenuContent, { ...props });
|
|
2483
2413
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
2484
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0,
|
|
2485
|
-
return /* @__PURE__ */ (0,
|
|
2414
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
2415
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(DropdownMenuTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
2486
2416
|
triggerElement,
|
|
2487
|
-
/* @__PURE__ */ (0,
|
|
2417
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(DropdownMenuContent, { ...contentProps, children })
|
|
2488
2418
|
] });
|
|
2489
2419
|
}
|
|
2490
2420
|
function DropdownMenuGroup({
|
|
2491
2421
|
...props
|
|
2492
2422
|
}) {
|
|
2493
|
-
return /* @__PURE__ */ (0,
|
|
2423
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components13.MenuSection, { "data-slot": "dropdown-menu-group", ...props });
|
|
2494
2424
|
}
|
|
2495
2425
|
function DropdownMenuLabel({
|
|
2496
2426
|
className,
|
|
2497
2427
|
inset,
|
|
2498
2428
|
...props
|
|
2499
2429
|
}) {
|
|
2500
|
-
return /* @__PURE__ */ (0,
|
|
2430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2501
2431
|
import_react_aria_components13.Header,
|
|
2502
2432
|
{
|
|
2503
2433
|
"data-slot": "dropdown-menu-label",
|
|
@@ -2529,7 +2459,7 @@ function DropdownMenuItem({
|
|
|
2529
2459
|
children,
|
|
2530
2460
|
...props
|
|
2531
2461
|
}) {
|
|
2532
|
-
return /* @__PURE__ */ (0,
|
|
2462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2533
2463
|
import_react_aria_components13.MenuItem,
|
|
2534
2464
|
{
|
|
2535
2465
|
"data-slot": "dropdown-menu-item",
|
|
@@ -2541,13 +2471,13 @@ function DropdownMenuItem({
|
|
|
2541
2471
|
(className2, { selectionMode }) => cn(dropdownMenuItemVariants({ selectionMode }), className2)
|
|
2542
2472
|
),
|
|
2543
2473
|
...props,
|
|
2544
|
-
children: (0, import_react_aria_components13.composeRenderProps)(children, (children2, { isSelected, selectionMode }) => /* @__PURE__ */ (0,
|
|
2545
|
-
selectionMode !== "none" ? /* @__PURE__ */ (0,
|
|
2474
|
+
children: (0, import_react_aria_components13.composeRenderProps)(children, (children2, { isSelected, selectionMode }) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
|
|
2475
|
+
selectionMode !== "none" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2546
2476
|
"span",
|
|
2547
2477
|
{
|
|
2548
2478
|
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
2549
2479
|
"data-slot": selectionMode === "single" ? "dropdown-menu-radio-item-indicator" : "dropdown-menu-checkbox-item-indicator",
|
|
2550
|
-
children: isSelected ? /* @__PURE__ */ (0,
|
|
2480
|
+
children: isSelected ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react8.CheckIcon, {}) : null
|
|
2551
2481
|
}
|
|
2552
2482
|
) : null,
|
|
2553
2483
|
children2
|
|
@@ -2556,7 +2486,7 @@ function DropdownMenuItem({
|
|
|
2556
2486
|
);
|
|
2557
2487
|
}
|
|
2558
2488
|
function DropdownMenuSub({ ...props }) {
|
|
2559
|
-
return /* @__PURE__ */ (0,
|
|
2489
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_aria_components13.SubmenuTrigger, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2560
2490
|
}
|
|
2561
2491
|
function DropdownMenuSubTrigger({
|
|
2562
2492
|
className,
|
|
@@ -2564,7 +2494,7 @@ function DropdownMenuSubTrigger({
|
|
|
2564
2494
|
children,
|
|
2565
2495
|
...props
|
|
2566
2496
|
}) {
|
|
2567
|
-
return /* @__PURE__ */ (0,
|
|
2497
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2568
2498
|
import_react_aria_components13.MenuItem,
|
|
2569
2499
|
{
|
|
2570
2500
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -2575,9 +2505,9 @@ function DropdownMenuSubTrigger({
|
|
|
2575
2505
|
className
|
|
2576
2506
|
),
|
|
2577
2507
|
...props,
|
|
2578
|
-
children: (0, import_react_aria_components13.composeRenderProps)(children, (children2) => /* @__PURE__ */ (0,
|
|
2508
|
+
children: (0, import_react_aria_components13.composeRenderProps)(children, (children2) => /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_jsx_runtime25.Fragment, { children: [
|
|
2579
2509
|
children2,
|
|
2580
|
-
/* @__PURE__ */ (0,
|
|
2510
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_lucide_react8.ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
|
|
2581
2511
|
] }))
|
|
2582
2512
|
}
|
|
2583
2513
|
);
|
|
@@ -2589,7 +2519,7 @@ function DropdownMenuSubContent({
|
|
|
2589
2519
|
className,
|
|
2590
2520
|
...props
|
|
2591
2521
|
}) {
|
|
2592
|
-
return /* @__PURE__ */ (0,
|
|
2522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2593
2523
|
DropdownMenuContent,
|
|
2594
2524
|
{
|
|
2595
2525
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -2608,7 +2538,7 @@ function DropdownMenuSeparator({
|
|
|
2608
2538
|
className,
|
|
2609
2539
|
...props
|
|
2610
2540
|
}) {
|
|
2611
|
-
return /* @__PURE__ */ (0,
|
|
2541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2612
2542
|
import_react_aria_components13.Separator,
|
|
2613
2543
|
{
|
|
2614
2544
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -2618,7 +2548,7 @@ function DropdownMenuSeparator({
|
|
|
2618
2548
|
);
|
|
2619
2549
|
}
|
|
2620
2550
|
function DropdownMenuShortcut({ className, ...props }) {
|
|
2621
|
-
return /* @__PURE__ */ (0,
|
|
2551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
2622
2552
|
"span",
|
|
2623
2553
|
{
|
|
2624
2554
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2647,9 +2577,9 @@ var emptyStateMediaVariants = (0, import_class_variance_authority7.cva)(
|
|
|
2647
2577
|
);
|
|
2648
2578
|
|
|
2649
2579
|
// src/ui/empty-state/empty-state.tsx
|
|
2650
|
-
var
|
|
2580
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
2651
2581
|
function EmptyState({ className, ...props }) {
|
|
2652
|
-
return /* @__PURE__ */ (0,
|
|
2582
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2653
2583
|
"div",
|
|
2654
2584
|
{
|
|
2655
2585
|
"data-slot": "empty-state",
|
|
@@ -2662,7 +2592,7 @@ function EmptyState({ className, ...props }) {
|
|
|
2662
2592
|
);
|
|
2663
2593
|
}
|
|
2664
2594
|
function EmptyStateHeader({ className, ...props }) {
|
|
2665
|
-
return /* @__PURE__ */ (0,
|
|
2595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2666
2596
|
"div",
|
|
2667
2597
|
{
|
|
2668
2598
|
"data-slot": "empty-state-header",
|
|
@@ -2676,7 +2606,7 @@ function EmptyStateMedia({
|
|
|
2676
2606
|
variant = "default",
|
|
2677
2607
|
...props
|
|
2678
2608
|
}) {
|
|
2679
|
-
return /* @__PURE__ */ (0,
|
|
2609
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2680
2610
|
"div",
|
|
2681
2611
|
{
|
|
2682
2612
|
"data-slot": "empty-state-media",
|
|
@@ -2687,7 +2617,7 @@ function EmptyStateMedia({
|
|
|
2687
2617
|
);
|
|
2688
2618
|
}
|
|
2689
2619
|
function EmptyStateTitle({ className, children, ...props }) {
|
|
2690
|
-
return /* @__PURE__ */ (0,
|
|
2620
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2691
2621
|
"h3",
|
|
2692
2622
|
{
|
|
2693
2623
|
"data-slot": "empty-state-title",
|
|
@@ -2698,7 +2628,7 @@ function EmptyStateTitle({ className, children, ...props }) {
|
|
|
2698
2628
|
);
|
|
2699
2629
|
}
|
|
2700
2630
|
function EmptyStateDescription({ className, ...props }) {
|
|
2701
|
-
return /* @__PURE__ */ (0,
|
|
2631
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2702
2632
|
"p",
|
|
2703
2633
|
{
|
|
2704
2634
|
"data-slot": "empty-state-description",
|
|
@@ -2711,7 +2641,7 @@ function EmptyStateDescription({ className, ...props }) {
|
|
|
2711
2641
|
);
|
|
2712
2642
|
}
|
|
2713
2643
|
function EmptyStateContent({ className, ...props }) {
|
|
2714
|
-
return /* @__PURE__ */ (0,
|
|
2644
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
2715
2645
|
"div",
|
|
2716
2646
|
{
|
|
2717
2647
|
"data-slot": "empty-state-content",
|
|
@@ -2729,9 +2659,9 @@ var import_react9 = require("react");
|
|
|
2729
2659
|
|
|
2730
2660
|
// src/ui/error-state/error-state.tsx
|
|
2731
2661
|
var import_lucide_react9 = require("lucide-react");
|
|
2732
|
-
var
|
|
2662
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
2733
2663
|
function ErrorState({ className, ...props }) {
|
|
2734
|
-
return /* @__PURE__ */ (0,
|
|
2664
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2735
2665
|
"section",
|
|
2736
2666
|
{
|
|
2737
2667
|
"data-slot": "error-state",
|
|
@@ -2748,7 +2678,7 @@ function ErrorStateIcon({
|
|
|
2748
2678
|
className,
|
|
2749
2679
|
...props
|
|
2750
2680
|
}) {
|
|
2751
|
-
return /* @__PURE__ */ (0,
|
|
2681
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2752
2682
|
import_lucide_react9.AlertCircle,
|
|
2753
2683
|
{
|
|
2754
2684
|
"data-slot": "error-state-icon",
|
|
@@ -2759,7 +2689,7 @@ function ErrorStateIcon({
|
|
|
2759
2689
|
);
|
|
2760
2690
|
}
|
|
2761
2691
|
function ErrorStateTitle({ className, ...props }) {
|
|
2762
|
-
return /* @__PURE__ */ (0,
|
|
2692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2763
2693
|
"h2",
|
|
2764
2694
|
{
|
|
2765
2695
|
"data-slot": "error-state-title",
|
|
@@ -2769,7 +2699,7 @@ function ErrorStateTitle({ className, ...props }) {
|
|
|
2769
2699
|
);
|
|
2770
2700
|
}
|
|
2771
2701
|
function ErrorStateDescription({ className, ...props }) {
|
|
2772
|
-
return /* @__PURE__ */ (0,
|
|
2702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2773
2703
|
"p",
|
|
2774
2704
|
{
|
|
2775
2705
|
"data-slot": "error-state-description",
|
|
@@ -2779,7 +2709,7 @@ function ErrorStateDescription({ className, ...props }) {
|
|
|
2779
2709
|
);
|
|
2780
2710
|
}
|
|
2781
2711
|
function ErrorStateActions({ className, ...props }) {
|
|
2782
|
-
return /* @__PURE__ */ (0,
|
|
2712
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
2783
2713
|
"div",
|
|
2784
2714
|
{
|
|
2785
2715
|
"data-slot": "error-state-actions",
|
|
@@ -2790,7 +2720,7 @@ function ErrorStateActions({ className, ...props }) {
|
|
|
2790
2720
|
}
|
|
2791
2721
|
|
|
2792
2722
|
// src/ui/error-boundary/error-boundary.tsx
|
|
2793
|
-
var
|
|
2723
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
2794
2724
|
function changedResetKeys(previous = [], next = []) {
|
|
2795
2725
|
return previous.length !== next.length || previous.some((value, index) => !Object.is(value, next[index]));
|
|
2796
2726
|
}
|
|
@@ -2813,31 +2743,31 @@ var Boundary = class extends import_react9.Component {
|
|
|
2813
2743
|
if (typeof fallback === "function")
|
|
2814
2744
|
return fallback({ error: this.state.error, reset: this.reset });
|
|
2815
2745
|
if (fallback) return fallback;
|
|
2816
|
-
return /* @__PURE__ */ (0,
|
|
2817
|
-
/* @__PURE__ */ (0,
|
|
2818
|
-
/* @__PURE__ */ (0,
|
|
2819
|
-
/* @__PURE__ */ (0,
|
|
2820
|
-
/* @__PURE__ */ (0,
|
|
2746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(ErrorState, { children: [
|
|
2747
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorStateIcon, {}),
|
|
2748
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorStateTitle, { children: "No se pudo cargar este contenido" }),
|
|
2749
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorStateDescription, { children: "Prueba a cargarlo de nuevo." }),
|
|
2750
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorStateActions, { children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Button, { onPress: this.reset, children: "Reintentar" }) })
|
|
2821
2751
|
] });
|
|
2822
2752
|
}
|
|
2823
2753
|
};
|
|
2824
2754
|
function ErrorBoundary(props) {
|
|
2825
|
-
return /* @__PURE__ */ (0,
|
|
2755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Boundary, { ...props });
|
|
2826
2756
|
}
|
|
2827
2757
|
function AsyncBoundary({
|
|
2828
2758
|
pending = null,
|
|
2829
2759
|
...props
|
|
2830
2760
|
}) {
|
|
2831
|
-
return /* @__PURE__ */ (0,
|
|
2761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ErrorBoundary, { ...props, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react9.Suspense, { fallback: pending, children: props.children }) });
|
|
2832
2762
|
}
|
|
2833
2763
|
|
|
2834
2764
|
// src/ui/label/label.tsx
|
|
2835
2765
|
var import_react10 = require("react");
|
|
2836
2766
|
var import_react_aria_components14 = require("react-aria-components");
|
|
2837
|
-
var
|
|
2767
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
2838
2768
|
var Label2 = (0, import_react10.forwardRef)(
|
|
2839
2769
|
function Label3({ className, ...props }, ref) {
|
|
2840
|
-
return /* @__PURE__ */ (0,
|
|
2770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
|
|
2841
2771
|
import_react_aria_components14.Label,
|
|
2842
2772
|
{
|
|
2843
2773
|
ref,
|
|
@@ -2869,16 +2799,16 @@ var fieldVariants = (0, import_class_variance_authority8.cva)(
|
|
|
2869
2799
|
);
|
|
2870
2800
|
|
|
2871
2801
|
// src/ui/field/field.tsx
|
|
2872
|
-
var
|
|
2802
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
2873
2803
|
function FieldSet({ className, ...props }) {
|
|
2874
|
-
return /* @__PURE__ */ (0,
|
|
2804
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("fieldset", { "data-slot": "field-set", className: cn("flex flex-col gap-4", className), ...props });
|
|
2875
2805
|
}
|
|
2876
2806
|
function FieldLegend({
|
|
2877
2807
|
className,
|
|
2878
2808
|
variant = "legend",
|
|
2879
2809
|
...props
|
|
2880
2810
|
}) {
|
|
2881
|
-
return /* @__PURE__ */ (0,
|
|
2811
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2882
2812
|
"legend",
|
|
2883
2813
|
{
|
|
2884
2814
|
"data-slot": "field-legend",
|
|
@@ -2892,7 +2822,7 @@ function FieldLegend({
|
|
|
2892
2822
|
);
|
|
2893
2823
|
}
|
|
2894
2824
|
function FieldGroup({ className, ...props }) {
|
|
2895
|
-
return /* @__PURE__ */ (0,
|
|
2825
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2896
2826
|
"div",
|
|
2897
2827
|
{
|
|
2898
2828
|
"data-slot": "field-group",
|
|
@@ -2907,7 +2837,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
2907
2837
|
function Field({ className, orientation = "vertical", ...props }) {
|
|
2908
2838
|
return (
|
|
2909
2839
|
// biome-ignore lint/a11y/useSemanticElements: FieldSet provides native fieldset semantics when they are appropriate.
|
|
2910
|
-
/* @__PURE__ */ (0,
|
|
2840
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2911
2841
|
"div",
|
|
2912
2842
|
{
|
|
2913
2843
|
role: "group",
|
|
@@ -2920,7 +2850,7 @@ function Field({ className, orientation = "vertical", ...props }) {
|
|
|
2920
2850
|
);
|
|
2921
2851
|
}
|
|
2922
2852
|
function FieldContent({ className, ...props }) {
|
|
2923
|
-
return /* @__PURE__ */ (0,
|
|
2853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2924
2854
|
"div",
|
|
2925
2855
|
{
|
|
2926
2856
|
"data-slot": "field-content",
|
|
@@ -2930,7 +2860,7 @@ function FieldContent({ className, ...props }) {
|
|
|
2930
2860
|
);
|
|
2931
2861
|
}
|
|
2932
2862
|
function FieldLabel({ className, ...props }) {
|
|
2933
|
-
return /* @__PURE__ */ (0,
|
|
2863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2934
2864
|
Label2,
|
|
2935
2865
|
{
|
|
2936
2866
|
"data-slot": "field-label",
|
|
@@ -2943,7 +2873,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
2943
2873
|
);
|
|
2944
2874
|
}
|
|
2945
2875
|
function FieldTitle({ className, ...props }) {
|
|
2946
|
-
return /* @__PURE__ */ (0,
|
|
2876
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2947
2877
|
"div",
|
|
2948
2878
|
{
|
|
2949
2879
|
"data-slot": "field-title",
|
|
@@ -2953,7 +2883,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
2953
2883
|
);
|
|
2954
2884
|
}
|
|
2955
2885
|
function FieldDescription({ className, ...props }) {
|
|
2956
|
-
return /* @__PURE__ */ (0,
|
|
2886
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2957
2887
|
"p",
|
|
2958
2888
|
{
|
|
2959
2889
|
"data-slot": "field-description",
|
|
@@ -2966,7 +2896,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
2966
2896
|
);
|
|
2967
2897
|
}
|
|
2968
2898
|
function FieldSeparator({ className, children, ...props }) {
|
|
2969
|
-
return /* @__PURE__ */ (0,
|
|
2899
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
2970
2900
|
"div",
|
|
2971
2901
|
{
|
|
2972
2902
|
"data-slot": "field-separator",
|
|
@@ -2974,8 +2904,8 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
2974
2904
|
className: cn("relative -my-2 h-5 text-sm", className),
|
|
2975
2905
|
...props,
|
|
2976
2906
|
children: [
|
|
2977
|
-
/* @__PURE__ */ (0,
|
|
2978
|
-
children ? /* @__PURE__ */ (0,
|
|
2907
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
2908
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2979
2909
|
"span",
|
|
2980
2910
|
{
|
|
2981
2911
|
"data-slot": "field-separator-content",
|
|
@@ -2989,9 +2919,9 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
2989
2919
|
}
|
|
2990
2920
|
function FieldError2({ className, children, errors, ...props }) {
|
|
2991
2921
|
const messages = [...new Set(errors?.flatMap((error) => error?.message ?? []) ?? [])];
|
|
2992
|
-
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ (0,
|
|
2922
|
+
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("ul", { className: "ml-4 list-disc", children: messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("li", { children: message }, message)) }) : null);
|
|
2993
2923
|
if (!content) return null;
|
|
2994
|
-
return /* @__PURE__ */ (0,
|
|
2924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
2995
2925
|
"div",
|
|
2996
2926
|
{
|
|
2997
2927
|
role: "alert",
|
|
@@ -3003,9 +2933,53 @@ function FieldError2({ className, children, errors, ...props }) {
|
|
|
3003
2933
|
);
|
|
3004
2934
|
}
|
|
3005
2935
|
|
|
2936
|
+
// src/ui/filter-bar/filter-bar.tsx
|
|
2937
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
2938
|
+
function FilterBar({ className, ...props }) {
|
|
2939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2940
|
+
"div",
|
|
2941
|
+
{
|
|
2942
|
+
"data-slot": "filter-bar",
|
|
2943
|
+
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2944
|
+
...props
|
|
2945
|
+
}
|
|
2946
|
+
);
|
|
2947
|
+
}
|
|
2948
|
+
function FilterGroup({ className, ...props }) {
|
|
2949
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2950
|
+
"div",
|
|
2951
|
+
{
|
|
2952
|
+
"data-slot": "filter-group",
|
|
2953
|
+
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2954
|
+
...props
|
|
2955
|
+
}
|
|
2956
|
+
);
|
|
2957
|
+
}
|
|
2958
|
+
function ActiveFilters({ className, ...props }) {
|
|
2959
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
2960
|
+
"div",
|
|
2961
|
+
{
|
|
2962
|
+
"data-slot": "active-filters",
|
|
2963
|
+
"aria-label": "Filtros activos",
|
|
2964
|
+
className: cn("flex flex-wrap items-center gap-1.5", className),
|
|
2965
|
+
...props
|
|
2966
|
+
}
|
|
2967
|
+
);
|
|
2968
|
+
}
|
|
2969
|
+
function FilterChip({
|
|
2970
|
+
children,
|
|
2971
|
+
onRemove,
|
|
2972
|
+
...props
|
|
2973
|
+
}) {
|
|
2974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(Button, { size: "sm", variant: "outline", onPress: onRemove, ...props, children: [
|
|
2975
|
+
children,
|
|
2976
|
+
" \xD7"
|
|
2977
|
+
] });
|
|
2978
|
+
}
|
|
2979
|
+
|
|
3006
2980
|
// src/ui/form-feedback/form-feedback.tsx
|
|
3007
2981
|
var import_lucide_react10 = require("lucide-react");
|
|
3008
|
-
var
|
|
2982
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3009
2983
|
function FormFeedback({
|
|
3010
2984
|
state,
|
|
3011
2985
|
className,
|
|
@@ -3013,10 +2987,10 @@ function FormFeedback({
|
|
|
3013
2987
|
successLabel = "Guardado"
|
|
3014
2988
|
}) {
|
|
3015
2989
|
if (state.status === "idle")
|
|
3016
|
-
return /* @__PURE__ */ (0,
|
|
2990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { "aria-hidden": "true", className: cn("inline-flex h-5 items-center", className) });
|
|
3017
2991
|
const error = state.status === "error";
|
|
3018
2992
|
const success = state.status === "success";
|
|
3019
|
-
return /* @__PURE__ */ (0,
|
|
2993
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
|
|
3020
2994
|
"span",
|
|
3021
2995
|
{
|
|
3022
2996
|
role: error ? "alert" : "status",
|
|
@@ -3029,10 +3003,10 @@ function FormFeedback({
|
|
|
3029
3003
|
className
|
|
3030
3004
|
),
|
|
3031
3005
|
children: [
|
|
3032
|
-
state.status === "pending" && /* @__PURE__ */ (0,
|
|
3033
|
-
success && /* @__PURE__ */ (0,
|
|
3034
|
-
error && /* @__PURE__ */ (0,
|
|
3035
|
-
/* @__PURE__ */ (0,
|
|
3006
|
+
state.status === "pending" && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react10.LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
3007
|
+
success && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react10.CheckCircle, { "aria-hidden": "true", className: "size-3.5" }),
|
|
3008
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_lucide_react10.CircleAlert, { "aria-hidden": "true", className: "size-3.5" }),
|
|
3009
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("span", { children: state.status === "pending" ? pendingLabel : success ? state.message ?? successLabel : state.message })
|
|
3036
3010
|
]
|
|
3037
3011
|
}
|
|
3038
3012
|
);
|
|
@@ -3076,7 +3050,7 @@ function useFormFeedback(options) {
|
|
|
3076
3050
|
}
|
|
3077
3051
|
|
|
3078
3052
|
// src/ui/form-row/form-row.tsx
|
|
3079
|
-
var
|
|
3053
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3080
3054
|
function FormRow({
|
|
3081
3055
|
label,
|
|
3082
3056
|
htmlFor,
|
|
@@ -3088,17 +3062,17 @@ function FormRow({
|
|
|
3088
3062
|
}) {
|
|
3089
3063
|
const hintId = hint ? `${htmlFor}-hint` : void 0;
|
|
3090
3064
|
const errorId = error ? `${htmlFor}-error` : void 0;
|
|
3091
|
-
return /* @__PURE__ */ (0,
|
|
3092
|
-
/* @__PURE__ */ (0,
|
|
3065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { "data-slot": "form-row", className: cn("flex flex-col gap-1.5", className), children: [
|
|
3066
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("label", { htmlFor, className: "text-foreground text-sm font-medium", children: [
|
|
3093
3067
|
label,
|
|
3094
|
-
required && /* @__PURE__ */ (0,
|
|
3095
|
-
/* @__PURE__ */ (0,
|
|
3096
|
-
/* @__PURE__ */ (0,
|
|
3068
|
+
required && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
|
|
3069
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { "aria-hidden": "true", className: "text-destructive ml-0.5", children: "*" }),
|
|
3070
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)("span", { className: "sr-only", children: " (obligatorio)" })
|
|
3097
3071
|
] })
|
|
3098
3072
|
] }),
|
|
3099
3073
|
children,
|
|
3100
|
-
hint && /* @__PURE__ */ (0,
|
|
3101
|
-
error && /* @__PURE__ */ (0,
|
|
3074
|
+
hint && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { id: hintId, className: "text-muted-foreground text-xs", children: hint }),
|
|
3075
|
+
error && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("p", { id: errorId, role: "alert", className: "text-destructive text-xs font-medium", children: error })
|
|
3102
3076
|
] });
|
|
3103
3077
|
}
|
|
3104
3078
|
|
|
@@ -3107,17 +3081,17 @@ var import_react_aria_components16 = require("react-aria-components");
|
|
|
3107
3081
|
|
|
3108
3082
|
// src/ui/tooltip/tooltip.tsx
|
|
3109
3083
|
var import_react_aria_components15 = require("react-aria-components");
|
|
3110
|
-
var
|
|
3084
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
3111
3085
|
function TooltipTrigger({
|
|
3112
3086
|
delay = 0,
|
|
3113
3087
|
...props
|
|
3114
3088
|
}) {
|
|
3115
|
-
return /* @__PURE__ */ (0,
|
|
3089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_aria_components15.TooltipTrigger, { "data-slot": "tooltip-trigger", delay, ...props });
|
|
3116
3090
|
}
|
|
3117
3091
|
function Tooltip({ label, children, delay, ...props }) {
|
|
3118
|
-
return /* @__PURE__ */ (0,
|
|
3092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(TooltipTrigger, { delay, children: [
|
|
3119
3093
|
children,
|
|
3120
|
-
/* @__PURE__ */ (0,
|
|
3094
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(TooltipContent, { ...props, children: label })
|
|
3121
3095
|
] });
|
|
3122
3096
|
}
|
|
3123
3097
|
function TooltipContent({
|
|
@@ -3128,7 +3102,7 @@ function TooltipContent({
|
|
|
3128
3102
|
children,
|
|
3129
3103
|
...props
|
|
3130
3104
|
}) {
|
|
3131
|
-
return /* @__PURE__ */ (0,
|
|
3105
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
3132
3106
|
import_react_aria_components15.Tooltip,
|
|
3133
3107
|
{
|
|
3134
3108
|
"data-slot": "tooltip-content",
|
|
@@ -3142,7 +3116,7 @@ function TooltipContent({
|
|
|
3142
3116
|
...props,
|
|
3143
3117
|
children: [
|
|
3144
3118
|
children,
|
|
3145
|
-
/* @__PURE__ */ (0,
|
|
3119
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
3146
3120
|
import_react_aria_components15.OverlayArrow,
|
|
3147
3121
|
{
|
|
3148
3122
|
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-xs",
|
|
@@ -3160,7 +3134,7 @@ function TooltipContent({
|
|
|
3160
3134
|
}
|
|
3161
3135
|
|
|
3162
3136
|
// src/ui/icon-button/icon-button.tsx
|
|
3163
|
-
var
|
|
3137
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3164
3138
|
function IconButton({
|
|
3165
3139
|
label,
|
|
3166
3140
|
children,
|
|
@@ -3170,7 +3144,7 @@ function IconButton({
|
|
|
3170
3144
|
...props
|
|
3171
3145
|
}) {
|
|
3172
3146
|
const linkClassName = cn(buttonVariants({ variant, size: "icon" }), className);
|
|
3173
|
-
return /* @__PURE__ */ (0,
|
|
3147
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Tooltip, { label, children: href ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_aria_components16.Link, { "data-slot": "icon-button", "aria-label": label, href, className: linkClassName, children }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
3174
3148
|
Button,
|
|
3175
3149
|
{
|
|
3176
3150
|
"data-slot": "icon-button",
|
|
@@ -3190,9 +3164,9 @@ var import_class_variance_authority10 = require("class-variance-authority");
|
|
|
3190
3164
|
// src/ui/input/input.tsx
|
|
3191
3165
|
var import_react12 = require("react");
|
|
3192
3166
|
var import_react_aria_components17 = require("react-aria-components");
|
|
3193
|
-
var
|
|
3167
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3194
3168
|
var InputImpl = (0, import_react12.forwardRef)(function Input2({ className, type, ...props }, ref) {
|
|
3195
|
-
return /* @__PURE__ */ (0,
|
|
3169
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
3196
3170
|
import_react_aria_components17.Input,
|
|
3197
3171
|
{
|
|
3198
3172
|
ref,
|
|
@@ -3211,9 +3185,9 @@ var Input3 = InputImpl;
|
|
|
3211
3185
|
// src/ui/textarea/textarea.tsx
|
|
3212
3186
|
var import_react13 = require("react");
|
|
3213
3187
|
var import_react_aria_components18 = require("react-aria-components");
|
|
3214
|
-
var
|
|
3188
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3215
3189
|
var TextareaImpl = (0, import_react13.forwardRef)(function Textarea({ className, ...props }, ref) {
|
|
3216
|
-
return /* @__PURE__ */ (0,
|
|
3190
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
3217
3191
|
import_react_aria_components18.TextArea,
|
|
3218
3192
|
{
|
|
3219
3193
|
ref,
|
|
@@ -3246,12 +3220,12 @@ var inputGroupAddonVariants = (0, import_class_variance_authority9.cva)(
|
|
|
3246
3220
|
);
|
|
3247
3221
|
|
|
3248
3222
|
// src/ui/input-group/input-group.tsx
|
|
3249
|
-
var
|
|
3223
|
+
var import_jsx_runtime38 = (
|
|
3250
3224
|
// biome-ignore lint/a11y/useSemanticElements: fieldset cannot preserve this inline control composition.
|
|
3251
3225
|
require("react/jsx-runtime")
|
|
3252
3226
|
);
|
|
3253
3227
|
function InputGroup({ className, ...props }) {
|
|
3254
|
-
return /* @__PURE__ */ (0,
|
|
3228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3255
3229
|
"div",
|
|
3256
3230
|
{
|
|
3257
3231
|
role: "group",
|
|
@@ -3272,7 +3246,7 @@ function InputGroupAddon({
|
|
|
3272
3246
|
}) {
|
|
3273
3247
|
return (
|
|
3274
3248
|
// biome-ignore lint/a11y/useSemanticElements: this addon delegates focus to its associated input.
|
|
3275
|
-
/* @__PURE__ */ (0,
|
|
3249
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3276
3250
|
"div",
|
|
3277
3251
|
{
|
|
3278
3252
|
role: "group",
|
|
@@ -3303,7 +3277,7 @@ function InputGroupButton({
|
|
|
3303
3277
|
...props
|
|
3304
3278
|
}) {
|
|
3305
3279
|
const buttonSize = size === "icon-xs" || size === "icon-sm" ? size : size;
|
|
3306
|
-
return /* @__PURE__ */ (0,
|
|
3280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3307
3281
|
Button,
|
|
3308
3282
|
{
|
|
3309
3283
|
"data-slot": "input-group-button",
|
|
@@ -3316,7 +3290,7 @@ function InputGroupButton({
|
|
|
3316
3290
|
);
|
|
3317
3291
|
}
|
|
3318
3292
|
function InputGroupText({ className, ...props }) {
|
|
3319
|
-
return /* @__PURE__ */ (0,
|
|
3293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3320
3294
|
"span",
|
|
3321
3295
|
{
|
|
3322
3296
|
"data-slot": "input-group-text",
|
|
@@ -3329,7 +3303,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
3329
3303
|
);
|
|
3330
3304
|
}
|
|
3331
3305
|
function InputGroupInput({ className, ...props }) {
|
|
3332
|
-
return /* @__PURE__ */ (0,
|
|
3306
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3333
3307
|
Input3,
|
|
3334
3308
|
{
|
|
3335
3309
|
"data-slot": "input-group-control",
|
|
@@ -3342,7 +3316,7 @@ function InputGroupInput({ className, ...props }) {
|
|
|
3342
3316
|
);
|
|
3343
3317
|
}
|
|
3344
3318
|
function InputGroupTextarea({ className, ...props }) {
|
|
3345
|
-
return /* @__PURE__ */ (0,
|
|
3319
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
3346
3320
|
Textarea2,
|
|
3347
3321
|
{
|
|
3348
3322
|
"data-slot": "input-group-control",
|
|
@@ -3356,7 +3330,7 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
3356
3330
|
}
|
|
3357
3331
|
|
|
3358
3332
|
// src/ui/kanban/kanban.tsx
|
|
3359
|
-
var
|
|
3333
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3360
3334
|
var columnSize = {
|
|
3361
3335
|
compact: "w-56",
|
|
3362
3336
|
default: "w-72",
|
|
@@ -3368,13 +3342,13 @@ function KanbanViewport({
|
|
|
3368
3342
|
contentClassName,
|
|
3369
3343
|
...props
|
|
3370
3344
|
}) {
|
|
3371
|
-
return /* @__PURE__ */ (0,
|
|
3345
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3372
3346
|
"div",
|
|
3373
3347
|
{
|
|
3374
3348
|
"data-slot": "kanban-viewport",
|
|
3375
3349
|
className: cn("-mx-1 overflow-x-auto pb-3", className),
|
|
3376
3350
|
...props,
|
|
3377
|
-
children: /* @__PURE__ */ (0,
|
|
3351
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3378
3352
|
"div",
|
|
3379
3353
|
{
|
|
3380
3354
|
"data-slot": "kanban-viewport-content",
|
|
@@ -3390,7 +3364,7 @@ function KanbanColumn({
|
|
|
3390
3364
|
size = "default",
|
|
3391
3365
|
...props
|
|
3392
3366
|
}) {
|
|
3393
|
-
return /* @__PURE__ */ (0,
|
|
3367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3394
3368
|
"section",
|
|
3395
3369
|
{
|
|
3396
3370
|
"data-slot": "kanban-column",
|
|
@@ -3401,7 +3375,7 @@ function KanbanColumn({
|
|
|
3401
3375
|
);
|
|
3402
3376
|
}
|
|
3403
3377
|
function KanbanColumnHeader({ className, ...props }) {
|
|
3404
|
-
return /* @__PURE__ */ (0,
|
|
3378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3405
3379
|
"header",
|
|
3406
3380
|
{
|
|
3407
3381
|
"data-slot": "kanban-column-header",
|
|
@@ -3411,7 +3385,7 @@ function KanbanColumnHeader({ className, ...props }) {
|
|
|
3411
3385
|
);
|
|
3412
3386
|
}
|
|
3413
3387
|
function KanbanColumnTitle({ className, ...props }) {
|
|
3414
|
-
return /* @__PURE__ */ (0,
|
|
3388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3415
3389
|
"span",
|
|
3416
3390
|
{
|
|
3417
3391
|
"data-slot": "kanban-column-title",
|
|
@@ -3424,14 +3398,14 @@ function KanbanColumnTitle({ className, ...props }) {
|
|
|
3424
3398
|
);
|
|
3425
3399
|
}
|
|
3426
3400
|
function KanbanColumnBody({ className, ...props }) {
|
|
3427
|
-
return /* @__PURE__ */ (0,
|
|
3401
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { "data-slot": "kanban-column-body", className: cn("space-y-2", className), ...props });
|
|
3428
3402
|
}
|
|
3429
3403
|
function KanbanEmpty({
|
|
3430
3404
|
className,
|
|
3431
3405
|
compact = false,
|
|
3432
3406
|
...props
|
|
3433
3407
|
}) {
|
|
3434
|
-
return /* @__PURE__ */ (0,
|
|
3408
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3435
3409
|
"p",
|
|
3436
3410
|
{
|
|
3437
3411
|
"data-slot": "kanban-empty",
|
|
@@ -3447,9 +3421,9 @@ function KanbanEmpty({
|
|
|
3447
3421
|
}
|
|
3448
3422
|
|
|
3449
3423
|
// src/ui/kbd/kbd.tsx
|
|
3450
|
-
var
|
|
3424
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3451
3425
|
function Kbd({ className, ...props }) {
|
|
3452
|
-
return /* @__PURE__ */ (0,
|
|
3426
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3453
3427
|
"kbd",
|
|
3454
3428
|
{
|
|
3455
3429
|
"data-slot": "kbd",
|
|
@@ -3462,7 +3436,7 @@ function Kbd({ className, ...props }) {
|
|
|
3462
3436
|
);
|
|
3463
3437
|
}
|
|
3464
3438
|
function KbdGroup({ className, ...props }) {
|
|
3465
|
-
return /* @__PURE__ */ (0,
|
|
3439
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
3466
3440
|
"span",
|
|
3467
3441
|
{
|
|
3468
3442
|
"data-slot": "kbd-group",
|
|
@@ -3474,13 +3448,13 @@ function KbdGroup({ className, ...props }) {
|
|
|
3474
3448
|
|
|
3475
3449
|
// src/ui/loading-overlay/loading-overlay.tsx
|
|
3476
3450
|
var import_lucide_react11 = require("lucide-react");
|
|
3477
|
-
var
|
|
3451
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3478
3452
|
function LoadingOverlay({
|
|
3479
3453
|
label = "Cargando",
|
|
3480
3454
|
className,
|
|
3481
3455
|
...props
|
|
3482
3456
|
}) {
|
|
3483
|
-
return /* @__PURE__ */ (0,
|
|
3457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
3484
3458
|
"output",
|
|
3485
3459
|
{
|
|
3486
3460
|
"aria-live": "polite",
|
|
@@ -3489,9 +3463,9 @@ function LoadingOverlay({
|
|
|
3489
3463
|
className
|
|
3490
3464
|
),
|
|
3491
3465
|
...props,
|
|
3492
|
-
children: /* @__PURE__ */ (0,
|
|
3493
|
-
/* @__PURE__ */ (0,
|
|
3494
|
-
/* @__PURE__ */ (0,
|
|
3466
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { className: "border-border bg-background flex items-center gap-2 rounded-lg border px-3 py-2 text-sm shadow-sm", children: [
|
|
3467
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_lucide_react11.LoaderCircle, { className: "motion-safe:animate-spin", "aria-hidden": "true" }),
|
|
3468
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)("span", { children: label })
|
|
3495
3469
|
] })
|
|
3496
3470
|
}
|
|
3497
3471
|
);
|
|
@@ -3499,10 +3473,10 @@ function LoadingOverlay({
|
|
|
3499
3473
|
|
|
3500
3474
|
// src/ui/menu/menu.tsx
|
|
3501
3475
|
var import_react_aria_components19 = require("react-aria-components");
|
|
3502
|
-
var
|
|
3476
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3503
3477
|
var MenuTrigger = import_react_aria_components19.MenuTrigger;
|
|
3504
3478
|
function MenuContent({ className, ...props }) {
|
|
3505
|
-
return /* @__PURE__ */ (0,
|
|
3479
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3506
3480
|
import_react_aria_components19.Popover,
|
|
3507
3481
|
{
|
|
3508
3482
|
"data-slot": "menu-content",
|
|
@@ -3516,10 +3490,10 @@ function MenuContent({ className, ...props }) {
|
|
|
3516
3490
|
);
|
|
3517
3491
|
}
|
|
3518
3492
|
function Menu({ className, ...props }) {
|
|
3519
|
-
return /* @__PURE__ */ (0,
|
|
3493
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_aria_components19.Menu, { "data-slot": "menu", className: cn("outline-none", className), ...props });
|
|
3520
3494
|
}
|
|
3521
3495
|
function MenuItem({ className, children, ...props }) {
|
|
3522
|
-
return /* @__PURE__ */ (0,
|
|
3496
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
3523
3497
|
import_react_aria_components19.MenuItem,
|
|
3524
3498
|
{
|
|
3525
3499
|
"data-slot": "menu-item",
|
|
@@ -3534,7 +3508,7 @@ function MenuItem({ className, children, ...props }) {
|
|
|
3534
3508
|
}
|
|
3535
3509
|
|
|
3536
3510
|
// src/ui/metric-card/metric-card.tsx
|
|
3537
|
-
var
|
|
3511
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3538
3512
|
function MetricCard({
|
|
3539
3513
|
className,
|
|
3540
3514
|
label,
|
|
@@ -3548,7 +3522,7 @@ function MetricCard({
|
|
|
3548
3522
|
loadingLabel = "Cargando m\xE9trica",
|
|
3549
3523
|
...props
|
|
3550
3524
|
}) {
|
|
3551
|
-
return /* @__PURE__ */ (0,
|
|
3525
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3552
3526
|
Card,
|
|
3553
3527
|
{
|
|
3554
3528
|
"data-slot": "metric-card",
|
|
@@ -3557,16 +3531,16 @@ function MetricCard({
|
|
|
3557
3531
|
"aria-busy": loading || void 0,
|
|
3558
3532
|
className: cn("min-w-0", className),
|
|
3559
3533
|
...props,
|
|
3560
|
-
children: /* @__PURE__ */ (0,
|
|
3561
|
-
icon ? /* @__PURE__ */ (0,
|
|
3562
|
-
/* @__PURE__ */ (0,
|
|
3563
|
-
/* @__PURE__ */ (0,
|
|
3564
|
-
/* @__PURE__ */ (0,
|
|
3534
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(CardContent, { className: "flex items-start gap-3", children: [
|
|
3535
|
+
icon ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { "data-slot": "metric-card-icon", className: "text-muted-foreground shrink-0", children: icon }) : null,
|
|
3536
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: "min-w-0", children: [
|
|
3537
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { "data-slot": "metric-card-label", className: "text-muted-foreground text-sm", children: label }),
|
|
3538
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3565
3539
|
"strong",
|
|
3566
3540
|
{
|
|
3567
3541
|
"data-slot": "metric-card-value",
|
|
3568
3542
|
className: "mt-1 block text-2xl font-semibold tracking-tight",
|
|
3569
|
-
children: loading ? /* @__PURE__ */ (0,
|
|
3543
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3570
3544
|
"span",
|
|
3571
3545
|
{
|
|
3572
3546
|
"data-slot": "metric-card-loading",
|
|
@@ -3576,7 +3550,7 @@ function MetricCard({
|
|
|
3576
3550
|
) : value
|
|
3577
3551
|
}
|
|
3578
3552
|
),
|
|
3579
|
-
delta ? /* @__PURE__ */ (0,
|
|
3553
|
+
delta ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
3580
3554
|
"span",
|
|
3581
3555
|
{
|
|
3582
3556
|
"data-slot": "metric-card-delta",
|
|
@@ -3589,17 +3563,30 @@ function MetricCard({
|
|
|
3589
3563
|
children: delta
|
|
3590
3564
|
}
|
|
3591
3565
|
) : null,
|
|
3592
|
-
description ? /* @__PURE__ */ (0,
|
|
3566
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { "data-slot": "metric-card-description", className: "text-muted-foreground mt-1 text-xs", children: description }) : null
|
|
3593
3567
|
] })
|
|
3594
3568
|
] })
|
|
3595
3569
|
}
|
|
3596
3570
|
);
|
|
3597
3571
|
}
|
|
3598
3572
|
|
|
3573
|
+
// src/ui/metric-grid/metric-grid.tsx
|
|
3574
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3575
|
+
function MetricGrid({ className, ...props }) {
|
|
3576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3577
|
+
"div",
|
|
3578
|
+
{
|
|
3579
|
+
"data-slot": "metric-grid",
|
|
3580
|
+
className: cn("grid gap-4 sm:grid-cols-2 xl:grid-cols-4", className),
|
|
3581
|
+
...props
|
|
3582
|
+
}
|
|
3583
|
+
);
|
|
3584
|
+
}
|
|
3585
|
+
|
|
3599
3586
|
// src/ui/otp-input/otp-input.tsx
|
|
3600
3587
|
var import_react14 = require("react");
|
|
3601
3588
|
var import_react_aria_components20 = require("react-aria-components");
|
|
3602
|
-
var
|
|
3589
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3603
3590
|
function normalizeOtp(value, length) {
|
|
3604
3591
|
return value.replace(/[^0-9]/g, "").slice(0, length);
|
|
3605
3592
|
}
|
|
@@ -3651,7 +3638,7 @@ var OtpInputImpl = (0, import_react14.forwardRef)(function OtpInput({
|
|
|
3651
3638
|
input.setSelectionRange(position, position);
|
|
3652
3639
|
setSelectionStart(position);
|
|
3653
3640
|
}
|
|
3654
|
-
return /* @__PURE__ */ (0,
|
|
3641
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
3655
3642
|
"div",
|
|
3656
3643
|
{
|
|
3657
3644
|
"data-slot": "otp-input",
|
|
@@ -3661,7 +3648,7 @@ var OtpInputImpl = (0, import_react14.forwardRef)(function OtpInput({
|
|
|
3661
3648
|
style: { gridTemplateColumns: `repeat(${slotCount}, minmax(0, 2.5rem))` },
|
|
3662
3649
|
onPointerDown: handlePointerDown,
|
|
3663
3650
|
children: [
|
|
3664
|
-
/* @__PURE__ */ (0,
|
|
3651
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3665
3652
|
import_react_aria_components20.Input,
|
|
3666
3653
|
{
|
|
3667
3654
|
...props,
|
|
@@ -3701,7 +3688,7 @@ var OtpInputImpl = (0, import_react14.forwardRef)(function OtpInput({
|
|
|
3701
3688
|
}
|
|
3702
3689
|
}
|
|
3703
3690
|
),
|
|
3704
|
-
slots.map((slot, index) => /* @__PURE__ */ (0,
|
|
3691
|
+
slots.map((slot, index) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
3705
3692
|
"span",
|
|
3706
3693
|
{
|
|
3707
3694
|
"aria-hidden": "true",
|
|
@@ -3724,9 +3711,9 @@ var OtpInputImpl = (0, import_react14.forwardRef)(function OtpInput({
|
|
|
3724
3711
|
var OtpInput2 = OtpInputImpl;
|
|
3725
3712
|
|
|
3726
3713
|
// src/ui/page-header/page-header.tsx
|
|
3727
|
-
var
|
|
3714
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3728
3715
|
function PageHeader({ className, ...props }) {
|
|
3729
|
-
return /* @__PURE__ */ (0,
|
|
3716
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3730
3717
|
"header",
|
|
3731
3718
|
{
|
|
3732
3719
|
"data-slot": "page-header",
|
|
@@ -3739,10 +3726,10 @@ function PageHeader({ className, ...props }) {
|
|
|
3739
3726
|
);
|
|
3740
3727
|
}
|
|
3741
3728
|
function PageHeaderHeading({ className, ...props }) {
|
|
3742
|
-
return /* @__PURE__ */ (0,
|
|
3729
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "page-header-heading", className: cn("min-w-0", className), ...props });
|
|
3743
3730
|
}
|
|
3744
3731
|
function PageHeaderTitle({ className, children, ...props }) {
|
|
3745
|
-
return /* @__PURE__ */ (0,
|
|
3732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3746
3733
|
"h1",
|
|
3747
3734
|
{
|
|
3748
3735
|
"data-slot": "page-header-title",
|
|
@@ -3753,7 +3740,7 @@ function PageHeaderTitle({ className, children, ...props }) {
|
|
|
3753
3740
|
);
|
|
3754
3741
|
}
|
|
3755
3742
|
function PageHeaderDescription({ className, ...props }) {
|
|
3756
|
-
return /* @__PURE__ */ (0,
|
|
3743
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3757
3744
|
"p",
|
|
3758
3745
|
{
|
|
3759
3746
|
"data-slot": "page-header-description",
|
|
@@ -3763,7 +3750,7 @@ function PageHeaderDescription({ className, ...props }) {
|
|
|
3763
3750
|
);
|
|
3764
3751
|
}
|
|
3765
3752
|
function PageHeaderActions({ className, ...props }) {
|
|
3766
|
-
return /* @__PURE__ */ (0,
|
|
3753
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3767
3754
|
"div",
|
|
3768
3755
|
{
|
|
3769
3756
|
"data-slot": "page-header-actions",
|
|
@@ -3773,7 +3760,7 @@ function PageHeaderActions({ className, ...props }) {
|
|
|
3773
3760
|
);
|
|
3774
3761
|
}
|
|
3775
3762
|
function SectionHeader({ className, ...props }) {
|
|
3776
|
-
return /* @__PURE__ */ (0,
|
|
3763
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3777
3764
|
"div",
|
|
3778
3765
|
{
|
|
3779
3766
|
"data-slot": "section-header",
|
|
@@ -3783,10 +3770,10 @@ function SectionHeader({ className, ...props }) {
|
|
|
3783
3770
|
);
|
|
3784
3771
|
}
|
|
3785
3772
|
function SectionHeaderHeading({ className, ...props }) {
|
|
3786
|
-
return /* @__PURE__ */ (0,
|
|
3773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { "data-slot": "section-header-heading", className: cn("min-w-0", className), ...props });
|
|
3787
3774
|
}
|
|
3788
3775
|
function SectionHeaderTitle({ className, ...props }) {
|
|
3789
|
-
return /* @__PURE__ */ (0,
|
|
3776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3790
3777
|
"h2",
|
|
3791
3778
|
{
|
|
3792
3779
|
"data-slot": "section-header-title",
|
|
@@ -3796,7 +3783,7 @@ function SectionHeaderTitle({ className, ...props }) {
|
|
|
3796
3783
|
);
|
|
3797
3784
|
}
|
|
3798
3785
|
function SectionHeaderDescription({ className, ...props }) {
|
|
3799
|
-
return /* @__PURE__ */ (0,
|
|
3786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3800
3787
|
"p",
|
|
3801
3788
|
{
|
|
3802
3789
|
"data-slot": "section-header-description",
|
|
@@ -3806,7 +3793,7 @@ function SectionHeaderDescription({ className, ...props }) {
|
|
|
3806
3793
|
);
|
|
3807
3794
|
}
|
|
3808
3795
|
function SectionHeaderActions({ className, ...props }) {
|
|
3809
|
-
return /* @__PURE__ */ (0,
|
|
3796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
3810
3797
|
"div",
|
|
3811
3798
|
{
|
|
3812
3799
|
"data-slot": "section-header-actions",
|
|
@@ -3819,7 +3806,7 @@ function SectionHeaderActions({ className, ...props }) {
|
|
|
3819
3806
|
// src/ui/pagination/pagination.tsx
|
|
3820
3807
|
var import_lucide_react12 = require("lucide-react");
|
|
3821
3808
|
var React6 = __toESM(require("react"), 1);
|
|
3822
|
-
var
|
|
3809
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
3823
3810
|
function visiblePages(page, pageCount, siblingCount) {
|
|
3824
3811
|
return [
|
|
3825
3812
|
.../* @__PURE__ */ new Set([
|
|
@@ -3849,15 +3836,15 @@ function Pagination({
|
|
|
3849
3836
|
if (totalPages <= 1) return null;
|
|
3850
3837
|
const currentPage = normalizedPage(page, totalPages);
|
|
3851
3838
|
const pages = visiblePages(currentPage, totalPages, siblingCount);
|
|
3852
|
-
return /* @__PURE__ */ (0,
|
|
3839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
3853
3840
|
"nav",
|
|
3854
3841
|
{
|
|
3855
3842
|
"aria-label": ariaLabel,
|
|
3856
3843
|
className: cn("flex flex-wrap items-center justify-between gap-4", className),
|
|
3857
3844
|
children: [
|
|
3858
|
-
/* @__PURE__ */ (0,
|
|
3859
|
-
/* @__PURE__ */ (0,
|
|
3860
|
-
/* @__PURE__ */ (0,
|
|
3845
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-muted-foreground text-sm", children: summary ?? `P\xE1gina ${currentPage} de ${totalPages}` }),
|
|
3846
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-1", children: [
|
|
3847
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3861
3848
|
Button,
|
|
3862
3849
|
{
|
|
3863
3850
|
"aria-label": "P\xE1gina anterior",
|
|
@@ -3865,14 +3852,14 @@ function Pagination({
|
|
|
3865
3852
|
onPress: () => onPageChange(currentPage - 1),
|
|
3866
3853
|
size: "icon",
|
|
3867
3854
|
variant: "ghost",
|
|
3868
|
-
children: /* @__PURE__ */ (0,
|
|
3855
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react12.ChevronLeft, {})
|
|
3869
3856
|
}
|
|
3870
3857
|
),
|
|
3871
3858
|
pages.map((item, index) => {
|
|
3872
3859
|
const previousPage = pages[index - 1];
|
|
3873
|
-
return /* @__PURE__ */ (0,
|
|
3874
|
-
previousPage !== void 0 && item > previousPage + 1 ? /* @__PURE__ */ (0,
|
|
3875
|
-
/* @__PURE__ */ (0,
|
|
3860
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(React6.Fragment, { children: [
|
|
3861
|
+
previousPage !== void 0 && item > previousPage + 1 ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("span", { "aria-hidden": "true", className: "text-muted-foreground px-1", children: "\u2026" }) : null,
|
|
3862
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3876
3863
|
Button,
|
|
3877
3864
|
{
|
|
3878
3865
|
"aria-current": item === currentPage ? "page" : void 0,
|
|
@@ -3885,7 +3872,7 @@ function Pagination({
|
|
|
3885
3872
|
)
|
|
3886
3873
|
] }, item);
|
|
3887
3874
|
}),
|
|
3888
|
-
/* @__PURE__ */ (0,
|
|
3875
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
3889
3876
|
Button,
|
|
3890
3877
|
{
|
|
3891
3878
|
"aria-label": "P\xE1gina siguiente",
|
|
@@ -3893,7 +3880,7 @@ function Pagination({
|
|
|
3893
3880
|
onPress: () => onPageChange(currentPage + 1),
|
|
3894
3881
|
size: "icon",
|
|
3895
3882
|
variant: "ghost",
|
|
3896
|
-
children: /* @__PURE__ */ (0,
|
|
3883
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react12.ChevronRight, {})
|
|
3897
3884
|
}
|
|
3898
3885
|
)
|
|
3899
3886
|
] })
|
|
@@ -3904,10 +3891,10 @@ function Pagination({
|
|
|
3904
3891
|
|
|
3905
3892
|
// src/ui/popover/popover.tsx
|
|
3906
3893
|
var import_react_aria_components21 = require("react-aria-components");
|
|
3907
|
-
var
|
|
3894
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3908
3895
|
var PopoverTrigger = import_react_aria_components21.DialogTrigger;
|
|
3909
3896
|
function PopoverContent({ className, ...props }) {
|
|
3910
|
-
return /* @__PURE__ */ (0,
|
|
3897
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3911
3898
|
import_react_aria_components21.Popover,
|
|
3912
3899
|
{
|
|
3913
3900
|
"data-slot": "popover",
|
|
@@ -3922,19 +3909,19 @@ function PopoverContent({ className, ...props }) {
|
|
|
3922
3909
|
);
|
|
3923
3910
|
}
|
|
3924
3911
|
function Popover4(props) {
|
|
3925
|
-
if (!("trigger" in props)) return /* @__PURE__ */ (0,
|
|
3912
|
+
if (!("trigger" in props)) return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { ...props });
|
|
3926
3913
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
3927
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0,
|
|
3928
|
-
return /* @__PURE__ */ (0,
|
|
3914
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
3915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(PopoverTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
3929
3916
|
triggerElement,
|
|
3930
|
-
/* @__PURE__ */ (0,
|
|
3917
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(PopoverContent, { ...contentProps, children })
|
|
3931
3918
|
] });
|
|
3932
3919
|
}
|
|
3933
3920
|
|
|
3934
3921
|
// src/ui/quantity-input/quantity-input.tsx
|
|
3935
3922
|
var import_lucide_react13 = require("lucide-react");
|
|
3936
3923
|
var import_react_aria_components22 = require("react-aria-components");
|
|
3937
|
-
var
|
|
3924
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3938
3925
|
function QuantityInput({
|
|
3939
3926
|
className,
|
|
3940
3927
|
inputClassName,
|
|
@@ -3944,7 +3931,7 @@ function QuantityInput({
|
|
|
3944
3931
|
step = 1,
|
|
3945
3932
|
...props
|
|
3946
3933
|
}) {
|
|
3947
|
-
return /* @__PURE__ */ (0,
|
|
3934
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3948
3935
|
import_react_aria_components22.NumberField,
|
|
3949
3936
|
{
|
|
3950
3937
|
...props,
|
|
@@ -3955,23 +3942,23 @@ function QuantityInput({
|
|
|
3955
3942
|
"group/quantity-input inline-flex min-w-0 data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
3956
3943
|
className
|
|
3957
3944
|
),
|
|
3958
|
-
children: /* @__PURE__ */ (0,
|
|
3945
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
3959
3946
|
import_react_aria_components22.Group,
|
|
3960
3947
|
{
|
|
3961
3948
|
"data-slot": "quantity-input-group",
|
|
3962
3949
|
className: "border-border bg-background text-foreground focus-within:border-ring focus-within:ring-ring/50 group-data-invalid/quantity-input:border-destructive flex h-8 min-w-0 items-stretch overflow-hidden rounded-lg border transition-[border-color,box-shadow] focus-within:ring-3",
|
|
3963
3950
|
children: [
|
|
3964
|
-
/* @__PURE__ */ (0,
|
|
3951
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3965
3952
|
import_react_aria_components22.Button,
|
|
3966
3953
|
{
|
|
3967
3954
|
slot: "decrement",
|
|
3968
3955
|
"aria-label": decrementAriaLabel,
|
|
3969
3956
|
"data-slot": "quantity-input-decrement",
|
|
3970
3957
|
className: "border-border text-muted-foreground hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted flex size-8 shrink-0 cursor-pointer items-center justify-center border-r transition-colors outline-none data-disabled:pointer-events-none",
|
|
3971
|
-
children: /* @__PURE__ */ (0,
|
|
3958
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react13.Minus, { "aria-hidden": "true", className: "size-4" })
|
|
3972
3959
|
}
|
|
3973
3960
|
),
|
|
3974
|
-
/* @__PURE__ */ (0,
|
|
3961
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3975
3962
|
import_react_aria_components22.Input,
|
|
3976
3963
|
{
|
|
3977
3964
|
"data-slot": "quantity-input-value",
|
|
@@ -3981,14 +3968,14 @@ function QuantityInput({
|
|
|
3981
3968
|
)
|
|
3982
3969
|
}
|
|
3983
3970
|
),
|
|
3984
|
-
/* @__PURE__ */ (0,
|
|
3971
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3985
3972
|
import_react_aria_components22.Button,
|
|
3986
3973
|
{
|
|
3987
3974
|
slot: "increment",
|
|
3988
3975
|
"aria-label": incrementAriaLabel,
|
|
3989
3976
|
"data-slot": "quantity-input-increment",
|
|
3990
3977
|
className: "border-border text-muted-foreground hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted flex size-8 shrink-0 cursor-pointer items-center justify-center border-l transition-colors outline-none data-disabled:pointer-events-none",
|
|
3991
|
-
children: /* @__PURE__ */ (0,
|
|
3978
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react13.Plus, { "aria-hidden": "true", className: "size-4" })
|
|
3992
3979
|
}
|
|
3993
3980
|
)
|
|
3994
3981
|
]
|
|
@@ -4001,10 +3988,10 @@ function QuantityInput({
|
|
|
4001
3988
|
// src/ui/select/select.tsx
|
|
4002
3989
|
var import_lucide_react14 = require("lucide-react");
|
|
4003
3990
|
var import_react_aria_components23 = require("react-aria-components");
|
|
4004
|
-
var
|
|
3991
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
4005
3992
|
var Select = import_react_aria_components23.Select;
|
|
4006
3993
|
function SelectTrigger({ className, children, ...props }) {
|
|
4007
|
-
return /* @__PURE__ */ (0,
|
|
3994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4008
3995
|
import_react_aria_components23.Button,
|
|
4009
3996
|
{
|
|
4010
3997
|
"data-slot": "select-trigger",
|
|
@@ -4013,9 +4000,9 @@ function SelectTrigger({ className, children, ...props }) {
|
|
|
4013
4000
|
className
|
|
4014
4001
|
),
|
|
4015
4002
|
...props,
|
|
4016
|
-
children: (state) => /* @__PURE__ */ (0,
|
|
4003
|
+
children: (state) => /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_jsx_runtime50.Fragment, { children: [
|
|
4017
4004
|
typeof children === "function" ? children(state) : children,
|
|
4018
|
-
/* @__PURE__ */ (0,
|
|
4005
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4019
4006
|
import_lucide_react14.ChevronDown,
|
|
4020
4007
|
{
|
|
4021
4008
|
"aria-hidden": "true",
|
|
@@ -4027,7 +4014,7 @@ function SelectTrigger({ className, children, ...props }) {
|
|
|
4027
4014
|
);
|
|
4028
4015
|
}
|
|
4029
4016
|
function SelectValue({ className, ...props }) {
|
|
4030
|
-
return /* @__PURE__ */ (0,
|
|
4017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4031
4018
|
import_react_aria_components23.SelectValue,
|
|
4032
4019
|
{
|
|
4033
4020
|
"data-slot": "select-value",
|
|
@@ -4037,7 +4024,7 @@ function SelectValue({ className, ...props }) {
|
|
|
4037
4024
|
);
|
|
4038
4025
|
}
|
|
4039
4026
|
function SelectContent({ className, ...props }) {
|
|
4040
|
-
return /* @__PURE__ */ (0,
|
|
4027
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4041
4028
|
import_react_aria_components23.Popover,
|
|
4042
4029
|
{
|
|
4043
4030
|
"data-slot": "select-content",
|
|
@@ -4051,7 +4038,7 @@ function SelectContent({ className, ...props }) {
|
|
|
4051
4038
|
);
|
|
4052
4039
|
}
|
|
4053
4040
|
function SelectList({ className, ...props }) {
|
|
4054
|
-
return /* @__PURE__ */ (0,
|
|
4041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4055
4042
|
import_react_aria_components23.ListBox,
|
|
4056
4043
|
{
|
|
4057
4044
|
"data-slot": "select-list",
|
|
@@ -4065,7 +4052,7 @@ function SelectItem({
|
|
|
4065
4052
|
children,
|
|
4066
4053
|
...props
|
|
4067
4054
|
}) {
|
|
4068
|
-
return /* @__PURE__ */ (0,
|
|
4055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
4069
4056
|
import_react_aria_components23.ListBoxItem,
|
|
4070
4057
|
{
|
|
4071
4058
|
"data-slot": "select-item",
|
|
@@ -4079,6 +4066,34 @@ function SelectItem({
|
|
|
4079
4066
|
);
|
|
4080
4067
|
}
|
|
4081
4068
|
|
|
4069
|
+
// src/ui/selection-toolbar/selection-toolbar.tsx
|
|
4070
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
4071
|
+
function SelectionToolbar({
|
|
4072
|
+
count,
|
|
4073
|
+
className,
|
|
4074
|
+
children,
|
|
4075
|
+
...props
|
|
4076
|
+
}) {
|
|
4077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
4078
|
+
"div",
|
|
4079
|
+
{
|
|
4080
|
+
"data-slot": "selection-toolbar",
|
|
4081
|
+
className: cn(
|
|
4082
|
+
"flex flex-wrap items-center justify-between gap-2 rounded-lg border bg-muted/40 p-2",
|
|
4083
|
+
className
|
|
4084
|
+
),
|
|
4085
|
+
...props,
|
|
4086
|
+
children: [
|
|
4087
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsxs)("output", { "aria-live": "polite", className: "text-sm font-medium", children: [
|
|
4088
|
+
count,
|
|
4089
|
+
" seleccionados"
|
|
4090
|
+
] }),
|
|
4091
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex items-center gap-2", children })
|
|
4092
|
+
]
|
|
4093
|
+
}
|
|
4094
|
+
);
|
|
4095
|
+
}
|
|
4096
|
+
|
|
4082
4097
|
// src/ui/sidebar/sidebar.tsx
|
|
4083
4098
|
var import_lucide_react15 = require("lucide-react");
|
|
4084
4099
|
var import_react16 = require("react");
|
|
@@ -4094,7 +4109,7 @@ function useSidebar() {
|
|
|
4094
4109
|
}
|
|
4095
4110
|
|
|
4096
4111
|
// src/ui/sidebar/sidebar.tsx
|
|
4097
|
-
var
|
|
4112
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
4098
4113
|
function SidebarProvider({
|
|
4099
4114
|
defaultCollapsed = false,
|
|
4100
4115
|
collapsed: controlledCollapsed,
|
|
@@ -4119,11 +4134,11 @@ function SidebarProvider({
|
|
|
4119
4134
|
}),
|
|
4120
4135
|
[collapsed, setCollapsed, toggle]
|
|
4121
4136
|
);
|
|
4122
|
-
return /* @__PURE__ */ (0,
|
|
4137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(SidebarContext.Provider, { value, children });
|
|
4123
4138
|
}
|
|
4124
4139
|
function Sidebar({ className, ...props }) {
|
|
4125
4140
|
const { collapsed } = useSidebar();
|
|
4126
|
-
return /* @__PURE__ */ (0,
|
|
4141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4127
4142
|
"aside",
|
|
4128
4143
|
{
|
|
4129
4144
|
"data-slot": "sidebar",
|
|
@@ -4137,7 +4152,7 @@ function Sidebar({ className, ...props }) {
|
|
|
4137
4152
|
);
|
|
4138
4153
|
}
|
|
4139
4154
|
function SidebarHeader({ className, ...props }) {
|
|
4140
|
-
return /* @__PURE__ */ (0,
|
|
4155
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4141
4156
|
"div",
|
|
4142
4157
|
{
|
|
4143
4158
|
"data-slot": "sidebar-header",
|
|
@@ -4152,7 +4167,7 @@ function SidebarSearch({
|
|
|
4152
4167
|
className,
|
|
4153
4168
|
...props
|
|
4154
4169
|
}) {
|
|
4155
|
-
return /* @__PURE__ */ (0,
|
|
4170
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(
|
|
4156
4171
|
"button",
|
|
4157
4172
|
{
|
|
4158
4173
|
type: "button",
|
|
@@ -4163,15 +4178,15 @@ function SidebarSearch({
|
|
|
4163
4178
|
),
|
|
4164
4179
|
...props,
|
|
4165
4180
|
children: [
|
|
4166
|
-
/* @__PURE__ */ (0,
|
|
4167
|
-
/* @__PURE__ */ (0,
|
|
4168
|
-
/* @__PURE__ */ (0,
|
|
4181
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.Search, { className: "size-4 shrink-0" }),
|
|
4182
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "flex-1 text-left", children: label }),
|
|
4183
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("kbd", { className: "bg-secondary text-muted-foreground rounded px-1.5 py-0.5 font-mono text-[10px]", children: shortcut })
|
|
4169
4184
|
]
|
|
4170
4185
|
}
|
|
4171
4186
|
);
|
|
4172
4187
|
}
|
|
4173
4188
|
function SidebarContent({ className, ...props }) {
|
|
4174
|
-
return /* @__PURE__ */ (0,
|
|
4189
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4175
4190
|
"nav",
|
|
4176
4191
|
{
|
|
4177
4192
|
"data-slot": "sidebar-content",
|
|
@@ -4182,7 +4197,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
4182
4197
|
);
|
|
4183
4198
|
}
|
|
4184
4199
|
function SidebarFooter({ className, ...props }) {
|
|
4185
|
-
return /* @__PURE__ */ (0,
|
|
4200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4186
4201
|
"div",
|
|
4187
4202
|
{
|
|
4188
4203
|
"data-slot": "sidebar-footer",
|
|
@@ -4198,8 +4213,8 @@ function SidebarGroup({
|
|
|
4198
4213
|
...props
|
|
4199
4214
|
}) {
|
|
4200
4215
|
const { collapsed } = useSidebar();
|
|
4201
|
-
return /* @__PURE__ */ (0,
|
|
4202
|
-
label && /* @__PURE__ */ (0,
|
|
4216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)("section", { "data-slot": "sidebar-group", className: cn("mb-4 last:mb-0", className), ...props, children: [
|
|
4217
|
+
label && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4203
4218
|
"h2",
|
|
4204
4219
|
{
|
|
4205
4220
|
className: cn(
|
|
@@ -4223,7 +4238,7 @@ function SidebarItem({
|
|
|
4223
4238
|
}) {
|
|
4224
4239
|
const { collapsed } = useSidebar();
|
|
4225
4240
|
const content = typeof children === "function" ? label : children ?? label;
|
|
4226
|
-
return /* @__PURE__ */ (0,
|
|
4241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4227
4242
|
import_react_aria_components24.Link,
|
|
4228
4243
|
{
|
|
4229
4244
|
"data-slot": "sidebar-item",
|
|
@@ -4235,16 +4250,16 @@ function SidebarItem({
|
|
|
4235
4250
|
typeof className === "function" ? className : className
|
|
4236
4251
|
),
|
|
4237
4252
|
...props,
|
|
4238
|
-
children: (values) => /* @__PURE__ */ (0,
|
|
4239
|
-
/* @__PURE__ */ (0,
|
|
4240
|
-
/* @__PURE__ */ (0,
|
|
4241
|
-
badge && !collapsed && /* @__PURE__ */ (0,
|
|
4253
|
+
children: (values) => /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, { children: [
|
|
4254
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "flex size-4 shrink-0 items-center justify-center", children: icon }),
|
|
4255
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: cn("min-w-0 flex-1 truncate", collapsed && "sr-only"), children: typeof children === "function" ? children(values) : content }),
|
|
4256
|
+
badge && !collapsed && /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("span", { className: "text-muted-foreground text-xs", children: badge })
|
|
4242
4257
|
] })
|
|
4243
4258
|
}
|
|
4244
4259
|
);
|
|
4245
4260
|
}
|
|
4246
4261
|
function SidebarSeparator({ className, ...props }) {
|
|
4247
|
-
return /* @__PURE__ */ (0,
|
|
4262
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4248
4263
|
"hr",
|
|
4249
4264
|
{
|
|
4250
4265
|
"data-slot": "sidebar-separator",
|
|
@@ -4256,7 +4271,7 @@ function SidebarSeparator({ className, ...props }) {
|
|
|
4256
4271
|
function SidebarTrigger({ className, ...props }) {
|
|
4257
4272
|
const { collapsed, toggle } = useSidebar();
|
|
4258
4273
|
const { onPress, ...buttonProps } = props;
|
|
4259
|
-
return /* @__PURE__ */ (0,
|
|
4274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4260
4275
|
Button,
|
|
4261
4276
|
{
|
|
4262
4277
|
"aria-label": collapsed ? "Expandir navegaci\xF3n" : "Colapsar navegaci\xF3n",
|
|
@@ -4268,14 +4283,14 @@ function SidebarTrigger({ className, ...props }) {
|
|
|
4268
4283
|
variant: "ghost",
|
|
4269
4284
|
className: cn("ml-auto", className),
|
|
4270
4285
|
...buttonProps,
|
|
4271
|
-
children: collapsed ? /* @__PURE__ */ (0,
|
|
4286
|
+
children: collapsed ? /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.ChevronRight, {}) : /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.ChevronLeft, {})
|
|
4272
4287
|
}
|
|
4273
4288
|
);
|
|
4274
4289
|
}
|
|
4275
4290
|
function SidebarRail({ className, ...props }) {
|
|
4276
4291
|
const { toggle } = useSidebar();
|
|
4277
4292
|
const { onClick, ...buttonProps } = props;
|
|
4278
|
-
return /* @__PURE__ */ (0,
|
|
4293
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4279
4294
|
"button",
|
|
4280
4295
|
{
|
|
4281
4296
|
type: "button",
|
|
@@ -4293,7 +4308,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
4293
4308
|
);
|
|
4294
4309
|
}
|
|
4295
4310
|
function SidebarMore({ className, ...props }) {
|
|
4296
|
-
return /* @__PURE__ */ (0,
|
|
4311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
4297
4312
|
Button,
|
|
4298
4313
|
{
|
|
4299
4314
|
"aria-label": "M\xE1s opciones",
|
|
@@ -4301,15 +4316,15 @@ function SidebarMore({ className, ...props }) {
|
|
|
4301
4316
|
variant: "ghost",
|
|
4302
4317
|
className: cn("size-7", className),
|
|
4303
4318
|
...props,
|
|
4304
|
-
children: /* @__PURE__ */ (0,
|
|
4319
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_lucide_react15.Ellipsis, {})
|
|
4305
4320
|
}
|
|
4306
4321
|
);
|
|
4307
4322
|
}
|
|
4308
4323
|
|
|
4309
4324
|
// src/ui/skeleton/skeleton.tsx
|
|
4310
|
-
var
|
|
4325
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
4311
4326
|
function Skeleton({ className, ...props }) {
|
|
4312
|
-
return /* @__PURE__ */ (0,
|
|
4327
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
4313
4328
|
"div",
|
|
4314
4329
|
{
|
|
4315
4330
|
"aria-hidden": "true",
|
|
@@ -4324,7 +4339,7 @@ function Skeleton({ className, ...props }) {
|
|
|
4324
4339
|
var import_lucide_react16 = require("lucide-react");
|
|
4325
4340
|
var import_react17 = require("react");
|
|
4326
4341
|
var import_react_dom = require("react-dom");
|
|
4327
|
-
var
|
|
4342
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
4328
4343
|
function assignRef(ref, node) {
|
|
4329
4344
|
if (typeof ref === "function") {
|
|
4330
4345
|
ref(node);
|
|
@@ -4359,7 +4374,7 @@ function SubmitButton({
|
|
|
4359
4374
|
if (busy) button.setAttribute("aria-busy", "true");
|
|
4360
4375
|
else button.removeAttribute("aria-busy");
|
|
4361
4376
|
}, [busy]);
|
|
4362
|
-
return /* @__PURE__ */ (0,
|
|
4377
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
4363
4378
|
Button,
|
|
4364
4379
|
{
|
|
4365
4380
|
ref: setButtonRef,
|
|
@@ -4368,8 +4383,8 @@ function SubmitButton({
|
|
|
4368
4383
|
isDisabled: busy || isDisabled,
|
|
4369
4384
|
"aria-busy": busy || void 0,
|
|
4370
4385
|
...props,
|
|
4371
|
-
children: busy ? /* @__PURE__ */ (0,
|
|
4372
|
-
/* @__PURE__ */ (0,
|
|
4386
|
+
children: busy ? /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
|
|
4387
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_lucide_react16.LoaderCircle, { "aria-hidden": "true", className: "size-3.5 motion-safe:animate-spin" }),
|
|
4373
4388
|
label
|
|
4374
4389
|
] }) : children
|
|
4375
4390
|
}
|
|
@@ -4379,7 +4394,7 @@ function SubmitButton({
|
|
|
4379
4394
|
// src/ui/switch/switch.tsx
|
|
4380
4395
|
var import_react18 = require("react");
|
|
4381
4396
|
var import_react_aria_components25 = require("react-aria-components");
|
|
4382
|
-
var
|
|
4397
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
4383
4398
|
var switchSizes = {
|
|
4384
4399
|
sm: {
|
|
4385
4400
|
control: "h-4 w-[1.875rem] p-0.5",
|
|
@@ -4436,7 +4451,7 @@ function Switch({
|
|
|
4436
4451
|
ownerDocument.addEventListener("keydown", handleDirectionalKey);
|
|
4437
4452
|
return () => ownerDocument.removeEventListener("keydown", handleDirectionalKey);
|
|
4438
4453
|
}, [isDisabled, isReadOnly, resolvedInputRef]);
|
|
4439
|
-
return /* @__PURE__ */ (0,
|
|
4454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4440
4455
|
import_react_aria_components25.Switch,
|
|
4441
4456
|
{
|
|
4442
4457
|
"data-slot": "switch",
|
|
@@ -4453,8 +4468,8 @@ function Switch({
|
|
|
4453
4468
|
children: (state) => {
|
|
4454
4469
|
const isThumbPressed = state.isPressed;
|
|
4455
4470
|
const thumbOffset = state.isSelected ? isThumbPressed ? styles.activeSelectedOffset : styles.selectedOffset : "0";
|
|
4456
|
-
return /* @__PURE__ */ (0,
|
|
4457
|
-
/* @__PURE__ */ (0,
|
|
4471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_jsx_runtime55.Fragment, { children: [
|
|
4472
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4458
4473
|
"span",
|
|
4459
4474
|
{
|
|
4460
4475
|
"aria-hidden": "true",
|
|
@@ -4468,7 +4483,7 @@ function Switch({
|
|
|
4468
4483
|
"group-data-focus-visible/switch:ring-3 group-data-focus-visible/switch:ring-ring/50",
|
|
4469
4484
|
styles.control
|
|
4470
4485
|
),
|
|
4471
|
-
children: /* @__PURE__ */ (0,
|
|
4486
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4472
4487
|
"span",
|
|
4473
4488
|
{
|
|
4474
4489
|
"data-slot": "switch-thumb",
|
|
@@ -4488,9 +4503,9 @@ function Switch({
|
|
|
4488
4503
|
)
|
|
4489
4504
|
}
|
|
4490
4505
|
),
|
|
4491
|
-
children || description ? /* @__PURE__ */ (0,
|
|
4492
|
-
children ? /* @__PURE__ */ (0,
|
|
4493
|
-
description ? /* @__PURE__ */ (0,
|
|
4506
|
+
children || description ? /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("span", { className: "grid gap-0.5 leading-tight", children: [
|
|
4507
|
+
children ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("span", { "data-slot": "switch-label", className: "font-medium", children: typeof children === "function" ? children(state) : children }) : null,
|
|
4508
|
+
description ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
4494
4509
|
"span",
|
|
4495
4510
|
{
|
|
4496
4511
|
"data-slot": "switch-description",
|
|
@@ -4506,9 +4521,9 @@ function Switch({
|
|
|
4506
4521
|
}
|
|
4507
4522
|
|
|
4508
4523
|
// src/ui/table/table.tsx
|
|
4509
|
-
var
|
|
4524
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
4510
4525
|
function Table({ className, ...props }) {
|
|
4511
|
-
return /* @__PURE__ */ (0,
|
|
4526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4512
4527
|
"table",
|
|
4513
4528
|
{
|
|
4514
4529
|
"data-slot": "table",
|
|
@@ -4518,10 +4533,10 @@ function Table({ className, ...props }) {
|
|
|
4518
4533
|
) });
|
|
4519
4534
|
}
|
|
4520
4535
|
function TableHeader({ className, ...props }) {
|
|
4521
|
-
return /* @__PURE__ */ (0,
|
|
4536
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("thead", { "data-slot": "table-header", className: cn("[&_tr]:border-b", className), ...props });
|
|
4522
4537
|
}
|
|
4523
4538
|
function TableBody({ className, ...props }) {
|
|
4524
|
-
return /* @__PURE__ */ (0,
|
|
4539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4525
4540
|
"tbody",
|
|
4526
4541
|
{
|
|
4527
4542
|
"data-slot": "table-body",
|
|
@@ -4531,7 +4546,7 @@ function TableBody({ className, ...props }) {
|
|
|
4531
4546
|
);
|
|
4532
4547
|
}
|
|
4533
4548
|
function TableRow({ className, ...props }) {
|
|
4534
|
-
return /* @__PURE__ */ (0,
|
|
4549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4535
4550
|
"tr",
|
|
4536
4551
|
{
|
|
4537
4552
|
"data-slot": "table-row",
|
|
@@ -4544,7 +4559,7 @@ function TableRow({ className, ...props }) {
|
|
|
4544
4559
|
);
|
|
4545
4560
|
}
|
|
4546
4561
|
function TableHead({ className, ...props }) {
|
|
4547
|
-
return /* @__PURE__ */ (0,
|
|
4562
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4548
4563
|
"th",
|
|
4549
4564
|
{
|
|
4550
4565
|
"data-slot": "table-head",
|
|
@@ -4557,7 +4572,7 @@ function TableHead({ className, ...props }) {
|
|
|
4557
4572
|
);
|
|
4558
4573
|
}
|
|
4559
4574
|
function TableCell({ className, ...props }) {
|
|
4560
|
-
return /* @__PURE__ */ (0,
|
|
4575
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4561
4576
|
"td",
|
|
4562
4577
|
{
|
|
4563
4578
|
"data-slot": "table-cell",
|
|
@@ -4567,7 +4582,7 @@ function TableCell({ className, ...props }) {
|
|
|
4567
4582
|
);
|
|
4568
4583
|
}
|
|
4569
4584
|
function TableCaption({ className, ...props }) {
|
|
4570
|
-
return /* @__PURE__ */ (0,
|
|
4585
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4571
4586
|
"caption",
|
|
4572
4587
|
{
|
|
4573
4588
|
"data-slot": "table-caption",
|
|
@@ -4577,7 +4592,7 @@ function TableCaption({ className, ...props }) {
|
|
|
4577
4592
|
);
|
|
4578
4593
|
}
|
|
4579
4594
|
function TableFooter({ className, ...props }) {
|
|
4580
|
-
return /* @__PURE__ */ (0,
|
|
4595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4581
4596
|
"tfoot",
|
|
4582
4597
|
{
|
|
4583
4598
|
"data-slot": "table-footer",
|
|
@@ -4590,7 +4605,7 @@ function TableFooter({ className, ...props }) {
|
|
|
4590
4605
|
);
|
|
4591
4606
|
}
|
|
4592
4607
|
function TableToolbar({ className, ...props }) {
|
|
4593
|
-
return /* @__PURE__ */ (0,
|
|
4608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4594
4609
|
"div",
|
|
4595
4610
|
{
|
|
4596
4611
|
"data-slot": "table-toolbar",
|
|
@@ -4604,7 +4619,7 @@ function TableEmpty({
|
|
|
4604
4619
|
className,
|
|
4605
4620
|
children = "No hay resultados."
|
|
4606
4621
|
}) {
|
|
4607
|
-
return /* @__PURE__ */ (0,
|
|
4622
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TableRow, { "data-slot": "table-empty", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4608
4623
|
TableCell,
|
|
4609
4624
|
{
|
|
4610
4625
|
colSpan,
|
|
@@ -4618,7 +4633,7 @@ function TableLoading({
|
|
|
4618
4633
|
className,
|
|
4619
4634
|
children = "Cargando\u2026"
|
|
4620
4635
|
}) {
|
|
4621
|
-
return /* @__PURE__ */ (0,
|
|
4636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(TableRow, { "data-slot": "table-loading", "aria-busy": "true", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
4622
4637
|
TableCell,
|
|
4623
4638
|
{
|
|
4624
4639
|
colSpan,
|
|
@@ -4630,9 +4645,9 @@ function TableLoading({
|
|
|
4630
4645
|
|
|
4631
4646
|
// src/ui/tabs/tabs.tsx
|
|
4632
4647
|
var import_react_aria_components26 = require("react-aria-components");
|
|
4633
|
-
var
|
|
4648
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
4634
4649
|
function Tabs({ className, ...props }) {
|
|
4635
|
-
return /* @__PURE__ */ (0,
|
|
4650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4636
4651
|
import_react_aria_components26.Tabs,
|
|
4637
4652
|
{
|
|
4638
4653
|
"data-slot": "tabs",
|
|
@@ -4642,7 +4657,7 @@ function Tabs({ className, ...props }) {
|
|
|
4642
4657
|
);
|
|
4643
4658
|
}
|
|
4644
4659
|
function TabsList({ className, ...props }) {
|
|
4645
|
-
return /* @__PURE__ */ (0,
|
|
4660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4646
4661
|
import_react_aria_components26.TabList,
|
|
4647
4662
|
{
|
|
4648
4663
|
"data-slot": "tabs-list",
|
|
@@ -4658,7 +4673,7 @@ function TabsList({ className, ...props }) {
|
|
|
4658
4673
|
);
|
|
4659
4674
|
}
|
|
4660
4675
|
function TabsTrigger({ className, ...props }) {
|
|
4661
|
-
return /* @__PURE__ */ (0,
|
|
4676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4662
4677
|
import_react_aria_components26.Tab,
|
|
4663
4678
|
{
|
|
4664
4679
|
"data-slot": "tabs-trigger",
|
|
@@ -4674,10 +4689,10 @@ function TabsTrigger({ className, ...props }) {
|
|
|
4674
4689
|
);
|
|
4675
4690
|
}
|
|
4676
4691
|
function TabsPanels({ className, ...props }) {
|
|
4677
|
-
return /* @__PURE__ */ (0,
|
|
4692
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_aria_components26.TabPanels, { "data-slot": "tabs-panels", className: cn("min-w-0", className), ...props });
|
|
4678
4693
|
}
|
|
4679
4694
|
function TabsContent({ className, ...props }) {
|
|
4680
|
-
return /* @__PURE__ */ (0,
|
|
4695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
4681
4696
|
import_react_aria_components26.TabPanel,
|
|
4682
4697
|
{
|
|
4683
4698
|
"data-slot": "tabs-content",
|
|
@@ -4741,15 +4756,15 @@ function useToast() {
|
|
|
4741
4756
|
}
|
|
4742
4757
|
|
|
4743
4758
|
// src/ui/toast/toast.tsx
|
|
4744
|
-
var
|
|
4759
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
4745
4760
|
function ToastProvider({ children }) {
|
|
4746
|
-
return /* @__PURE__ */ (0,
|
|
4761
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
|
|
4747
4762
|
children,
|
|
4748
|
-
/* @__PURE__ */ (0,
|
|
4763
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Toaster, {})
|
|
4749
4764
|
] });
|
|
4750
4765
|
}
|
|
4751
4766
|
function Toaster({ position }) {
|
|
4752
|
-
return /* @__PURE__ */ (0,
|
|
4767
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_sileo2.Toaster, { position, options: { fill: "var(--ui-secondary)" } });
|
|
4753
4768
|
}
|
|
4754
4769
|
function ToastViewport({
|
|
4755
4770
|
position,
|
|
@@ -4758,7 +4773,7 @@ function ToastViewport({
|
|
|
4758
4773
|
}) {
|
|
4759
4774
|
void className;
|
|
4760
4775
|
if (visiblePosition && visiblePosition !== position) return null;
|
|
4761
|
-
return /* @__PURE__ */ (0,
|
|
4776
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Toaster, { position });
|
|
4762
4777
|
}
|
|
4763
4778
|
function Toast({
|
|
4764
4779
|
id,
|
|
@@ -4783,9 +4798,9 @@ function Toast({
|
|
|
4783
4798
|
}
|
|
4784
4799
|
|
|
4785
4800
|
// src/ui/toolbar/toolbar.tsx
|
|
4786
|
-
var
|
|
4801
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
4787
4802
|
function Toolbar({ className, ...props }) {
|
|
4788
|
-
return /* @__PURE__ */ (0,
|
|
4803
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4789
4804
|
"div",
|
|
4790
4805
|
{
|
|
4791
4806
|
role: "toolbar",
|
|
@@ -4796,7 +4811,7 @@ function Toolbar({ className, ...props }) {
|
|
|
4796
4811
|
);
|
|
4797
4812
|
}
|
|
4798
4813
|
function ToolbarGroup({ className, ...props }) {
|
|
4799
|
-
return /* @__PURE__ */ (0,
|
|
4814
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
4800
4815
|
"div",
|
|
4801
4816
|
{
|
|
4802
4817
|
"data-slot": "toolbar-group",
|
|
@@ -4806,7 +4821,7 @@ function ToolbarGroup({ className, ...props }) {
|
|
|
4806
4821
|
);
|
|
4807
4822
|
}
|
|
4808
4823
|
function ToolbarSpacer({ className, ...props }) {
|
|
4809
|
-
return /* @__PURE__ */ (0,
|
|
4824
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { "aria-hidden": "true", className: cn("hidden flex-1 sm:block", className), ...props });
|
|
4810
4825
|
}
|
|
4811
4826
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4812
4827
|
0 && (module.exports = {
|