@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.js
CHANGED
|
@@ -1733,22 +1733,209 @@ function CommandItem({ className, ...props }) {
|
|
|
1733
1733
|
);
|
|
1734
1734
|
}
|
|
1735
1735
|
|
|
1736
|
-
// src/ui/
|
|
1736
|
+
// src/ui/confirm-dialog/confirm-dialog.tsx
|
|
1737
|
+
import { jsx as jsx17, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1738
|
+
function ConfirmDialog({
|
|
1739
|
+
open,
|
|
1740
|
+
onOpenChange,
|
|
1741
|
+
title,
|
|
1742
|
+
description,
|
|
1743
|
+
confirmLabel = "Confirmar",
|
|
1744
|
+
cancelLabel = "Cancelar",
|
|
1745
|
+
destructive = false,
|
|
1746
|
+
pending = false,
|
|
1747
|
+
onConfirm
|
|
1748
|
+
}) {
|
|
1749
|
+
return /* @__PURE__ */ jsx17(
|
|
1750
|
+
AlertDialog,
|
|
1751
|
+
{
|
|
1752
|
+
open,
|
|
1753
|
+
onOpenChange: (nextOpen) => {
|
|
1754
|
+
if (!pending || nextOpen) onOpenChange(nextOpen);
|
|
1755
|
+
},
|
|
1756
|
+
children: /* @__PURE__ */ jsxs6(AlertDialogContent, { children: [
|
|
1757
|
+
/* @__PURE__ */ jsxs6(AlertDialogHeader, { children: [
|
|
1758
|
+
/* @__PURE__ */ jsx17(AlertDialogTitle, { children: title }),
|
|
1759
|
+
description ? /* @__PURE__ */ jsx17(AlertDialogDescription, { children: description }) : null
|
|
1760
|
+
] }),
|
|
1761
|
+
/* @__PURE__ */ jsxs6(AlertDialogFooter, { children: [
|
|
1762
|
+
/* @__PURE__ */ jsx17(Button, { variant: "outline", isDisabled: pending, onPress: () => onOpenChange(false), children: cancelLabel }),
|
|
1763
|
+
/* @__PURE__ */ jsx17(
|
|
1764
|
+
Button,
|
|
1765
|
+
{
|
|
1766
|
+
variant: destructive ? "destructive" : "default",
|
|
1767
|
+
isDisabled: pending,
|
|
1768
|
+
onPress: onConfirm,
|
|
1769
|
+
children: confirmLabel
|
|
1770
|
+
}
|
|
1771
|
+
)
|
|
1772
|
+
] })
|
|
1773
|
+
] })
|
|
1774
|
+
}
|
|
1775
|
+
);
|
|
1776
|
+
}
|
|
1777
|
+
|
|
1778
|
+
// src/ui/copy-button/copy-button.tsx
|
|
1779
|
+
import { Check as Check2, Copy } from "lucide-react";
|
|
1780
|
+
import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1781
|
+
function CopyButton({
|
|
1782
|
+
value,
|
|
1783
|
+
children,
|
|
1784
|
+
copiedLabel = "Copiado",
|
|
1785
|
+
resetMs,
|
|
1786
|
+
onCopied,
|
|
1787
|
+
onCopyError,
|
|
1788
|
+
...props
|
|
1789
|
+
}) {
|
|
1790
|
+
const { copy, status } = useClipboard({ resetMs, onError: onCopyError });
|
|
1791
|
+
const copied = status === "copied";
|
|
1792
|
+
const label = copied ? copiedLabel : children ?? "Copiar";
|
|
1793
|
+
return /* @__PURE__ */ jsxs7(
|
|
1794
|
+
Button,
|
|
1795
|
+
{
|
|
1796
|
+
"aria-label": typeof label === "string" ? label : void 0,
|
|
1797
|
+
onPress: () => {
|
|
1798
|
+
void copy(value).then((wasCopied) => {
|
|
1799
|
+
if (wasCopied) onCopied?.(value);
|
|
1800
|
+
});
|
|
1801
|
+
},
|
|
1802
|
+
...props,
|
|
1803
|
+
children: [
|
|
1804
|
+
copied ? /* @__PURE__ */ jsx18(Check2, { "aria-hidden": "true", className: "size-3.5" }) : /* @__PURE__ */ jsx18(Copy, { "aria-hidden": "true", className: "size-3.5" }),
|
|
1805
|
+
label
|
|
1806
|
+
]
|
|
1807
|
+
}
|
|
1808
|
+
);
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
// src/ui/danger-zone/danger-zone.tsx
|
|
1812
|
+
import { ChevronDown, ShieldAlert } from "lucide-react";
|
|
1813
|
+
import {
|
|
1814
|
+
Button as DisclosureButton,
|
|
1815
|
+
Disclosure,
|
|
1816
|
+
DisclosurePanel,
|
|
1817
|
+
Heading as Heading2
|
|
1818
|
+
} from "react-aria-components";
|
|
1819
|
+
import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
1820
|
+
function DangerZone({
|
|
1821
|
+
title = "Zona de peligro",
|
|
1822
|
+
description = "Acciones irreversibles. \xC1brela solo si est\xE1s seguro.",
|
|
1823
|
+
defaultOpen = false,
|
|
1824
|
+
className,
|
|
1825
|
+
children
|
|
1826
|
+
}) {
|
|
1827
|
+
return /* @__PURE__ */ jsx19(Disclosure, { defaultExpanded: defaultOpen, children: /* @__PURE__ */ jsxs8(Card, { className: cn("border-destructive/30", className), children: [
|
|
1828
|
+
/* @__PURE__ */ jsx19(Heading2, { className: "flex", children: /* @__PURE__ */ jsxs8(
|
|
1829
|
+
DisclosureButton,
|
|
1830
|
+
{
|
|
1831
|
+
slot: "trigger",
|
|
1832
|
+
"data-slot": "danger-zone-trigger",
|
|
1833
|
+
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",
|
|
1834
|
+
children: [
|
|
1835
|
+
/* @__PURE__ */ jsx19(ShieldAlert, { className: "text-destructive size-4 shrink-0" }),
|
|
1836
|
+
/* @__PURE__ */ jsxs8("span", { className: "flex flex-1 flex-col gap-0.5", children: [
|
|
1837
|
+
/* @__PURE__ */ jsx19("span", { className: "font-heading text-destructive text-base leading-snug font-medium", children: title }),
|
|
1838
|
+
/* @__PURE__ */ jsx19("span", { className: "text-muted-foreground text-xs", children: description })
|
|
1839
|
+
] }),
|
|
1840
|
+
/* @__PURE__ */ jsx19(ChevronDown, { className: "text-muted-foreground size-4 shrink-0 transition-transform group-aria-expanded/danger:rotate-180" })
|
|
1841
|
+
]
|
|
1842
|
+
}
|
|
1843
|
+
) }),
|
|
1844
|
+
/* @__PURE__ */ jsx19(DisclosurePanel, { "data-slot": "danger-zone-content", children: /* @__PURE__ */ jsx19(CardContent, { children }) })
|
|
1845
|
+
] }) });
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
// src/ui/data-view-state/data-view-state.tsx
|
|
1849
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
1850
|
+
function DataViewState({ className, ...props }) {
|
|
1851
|
+
return /* @__PURE__ */ jsx20(
|
|
1852
|
+
"section",
|
|
1853
|
+
{
|
|
1854
|
+
"data-slot": "data-view-state",
|
|
1855
|
+
className: cn(
|
|
1856
|
+
"flex min-h-40 flex-col items-center justify-center gap-3 rounded-xl border p-6 text-center",
|
|
1857
|
+
className
|
|
1858
|
+
),
|
|
1859
|
+
...props
|
|
1860
|
+
}
|
|
1861
|
+
);
|
|
1862
|
+
}
|
|
1863
|
+
function DataViewStateTitle({ children, className, ...props }) {
|
|
1864
|
+
return /* @__PURE__ */ jsx20("h2", { "data-slot": "data-view-state-title", className: cn("font-semibold", className), ...props, children });
|
|
1865
|
+
}
|
|
1866
|
+
function DataViewStateDescription({ className, ...props }) {
|
|
1867
|
+
return /* @__PURE__ */ jsx20(
|
|
1868
|
+
"p",
|
|
1869
|
+
{
|
|
1870
|
+
"data-slot": "data-view-state-description",
|
|
1871
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
1872
|
+
...props
|
|
1873
|
+
}
|
|
1874
|
+
);
|
|
1875
|
+
}
|
|
1876
|
+
function DataViewStateActions({ className, ...props }) {
|
|
1877
|
+
return /* @__PURE__ */ jsx20(
|
|
1878
|
+
"div",
|
|
1879
|
+
{
|
|
1880
|
+
"data-slot": "data-view-state-actions",
|
|
1881
|
+
className: cn("flex items-center gap-2", className),
|
|
1882
|
+
...props
|
|
1883
|
+
}
|
|
1884
|
+
);
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
// src/ui/description-list/description-list.tsx
|
|
1888
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
1889
|
+
function DescriptionList({ className, ...props }) {
|
|
1890
|
+
return /* @__PURE__ */ jsx21(
|
|
1891
|
+
"dl",
|
|
1892
|
+
{
|
|
1893
|
+
"data-slot": "description-list",
|
|
1894
|
+
className: cn("grid gap-x-6 gap-y-4 sm:grid-cols-2", className),
|
|
1895
|
+
...props
|
|
1896
|
+
}
|
|
1897
|
+
);
|
|
1898
|
+
}
|
|
1899
|
+
function DescriptionItem({ className, ...props }) {
|
|
1900
|
+
return /* @__PURE__ */ jsx21("div", { "data-slot": "description-item", className: cn("min-w-0", className), ...props });
|
|
1901
|
+
}
|
|
1902
|
+
function DescriptionTerm({ className, ...props }) {
|
|
1903
|
+
return /* @__PURE__ */ jsx21(
|
|
1904
|
+
"dt",
|
|
1905
|
+
{
|
|
1906
|
+
"data-slot": "description-term",
|
|
1907
|
+
className: cn("text-xs font-medium text-muted-foreground", className),
|
|
1908
|
+
...props
|
|
1909
|
+
}
|
|
1910
|
+
);
|
|
1911
|
+
}
|
|
1912
|
+
function DescriptionDetails({ className, ...props }) {
|
|
1913
|
+
return /* @__PURE__ */ jsx21(
|
|
1914
|
+
"dd",
|
|
1915
|
+
{
|
|
1916
|
+
"data-slot": "description-details",
|
|
1917
|
+
className: cn("mt-1 wrap-break-word text-sm", className),
|
|
1918
|
+
...props
|
|
1919
|
+
}
|
|
1920
|
+
);
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
// src/ui/drawer/drawer.tsx
|
|
1737
1924
|
import { XIcon as XIcon2 } from "lucide-react";
|
|
1738
1925
|
import {
|
|
1739
1926
|
Dialog as DrawerPrimitive,
|
|
1740
1927
|
DialogTrigger as DrawerTriggerPrimitive,
|
|
1741
|
-
Heading as
|
|
1928
|
+
Heading as Heading3,
|
|
1742
1929
|
ModalOverlay as ModalOverlayPrimitive,
|
|
1743
1930
|
Modal as ModalPrimitive,
|
|
1744
1931
|
Text as Text3
|
|
1745
1932
|
} from "react-aria-components";
|
|
1746
|
-
import { jsx as
|
|
1933
|
+
import { jsx as jsx22, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
1747
1934
|
function DrawerTrigger({ ...props }) {
|
|
1748
|
-
return /* @__PURE__ */
|
|
1935
|
+
return /* @__PURE__ */ jsx22(DrawerTriggerPrimitive, { "data-slot": "drawer-trigger", ...props });
|
|
1749
1936
|
}
|
|
1750
1937
|
function DrawerClose({ className, variant = "outline", size = "default", ...props }) {
|
|
1751
|
-
return /* @__PURE__ */
|
|
1938
|
+
return /* @__PURE__ */ jsx22(
|
|
1752
1939
|
Button,
|
|
1753
1940
|
{
|
|
1754
1941
|
slot: "close",
|
|
@@ -1765,7 +1952,7 @@ function DrawerOverlay({
|
|
|
1765
1952
|
children,
|
|
1766
1953
|
...props
|
|
1767
1954
|
}) {
|
|
1768
|
-
return /* @__PURE__ */
|
|
1955
|
+
return /* @__PURE__ */ jsx22(
|
|
1769
1956
|
ModalOverlayPrimitive,
|
|
1770
1957
|
{
|
|
1771
1958
|
"data-slot": "drawer-overlay",
|
|
@@ -1787,7 +1974,7 @@ function DrawerContent({
|
|
|
1787
1974
|
showCloseButton = true,
|
|
1788
1975
|
...props
|
|
1789
1976
|
}) {
|
|
1790
|
-
return /* @__PURE__ */
|
|
1977
|
+
return /* @__PURE__ */ jsx22(DrawerOverlay, { ...props, children: /* @__PURE__ */ jsx22(
|
|
1791
1978
|
ModalPrimitive,
|
|
1792
1979
|
{
|
|
1793
1980
|
"data-slot": "drawer-content",
|
|
@@ -1796,7 +1983,7 @@ function DrawerContent({
|
|
|
1796
1983
|
"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",
|
|
1797
1984
|
className
|
|
1798
1985
|
),
|
|
1799
|
-
children: /* @__PURE__ */
|
|
1986
|
+
children: /* @__PURE__ */ jsxs9(
|
|
1800
1987
|
DrawerPrimitive,
|
|
1801
1988
|
{
|
|
1802
1989
|
"data-slot": "drawer",
|
|
@@ -1804,9 +1991,9 @@ function DrawerContent({
|
|
|
1804
1991
|
...dialogProps,
|
|
1805
1992
|
children: [
|
|
1806
1993
|
children,
|
|
1807
|
-
showCloseButton && /* @__PURE__ */
|
|
1808
|
-
/* @__PURE__ */
|
|
1809
|
-
/* @__PURE__ */
|
|
1994
|
+
showCloseButton && /* @__PURE__ */ jsxs9(DrawerClose, { variant: "ghost", className: "absolute top-3 right-3", size: "icon-sm", children: [
|
|
1995
|
+
/* @__PURE__ */ jsx22(XIcon2, {}),
|
|
1996
|
+
/* @__PURE__ */ jsx22("span", { className: "sr-only", children: "Cerrar" })
|
|
1810
1997
|
] })
|
|
1811
1998
|
]
|
|
1812
1999
|
}
|
|
@@ -1815,16 +2002,16 @@ function DrawerContent({
|
|
|
1815
2002
|
) });
|
|
1816
2003
|
}
|
|
1817
2004
|
function Drawer(props) {
|
|
1818
|
-
if (!("trigger" in props)) return /* @__PURE__ */
|
|
2005
|
+
if (!("trigger" in props)) return /* @__PURE__ */ jsx22(DrawerContent, { ...props });
|
|
1819
2006
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
1820
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */
|
|
1821
|
-
return /* @__PURE__ */
|
|
2007
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ jsx22(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
2008
|
+
return /* @__PURE__ */ jsxs9(DrawerTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
1822
2009
|
triggerElement,
|
|
1823
|
-
/* @__PURE__ */
|
|
2010
|
+
/* @__PURE__ */ jsx22(DrawerContent, { ...contentProps, children })
|
|
1824
2011
|
] });
|
|
1825
2012
|
}
|
|
1826
2013
|
function DrawerHeader({ className, ...props }) {
|
|
1827
|
-
return /* @__PURE__ */
|
|
2014
|
+
return /* @__PURE__ */ jsx22(
|
|
1828
2015
|
"div",
|
|
1829
2016
|
{
|
|
1830
2017
|
"data-slot": "drawer-header",
|
|
@@ -1834,7 +2021,7 @@ function DrawerHeader({ className, ...props }) {
|
|
|
1834
2021
|
);
|
|
1835
2022
|
}
|
|
1836
2023
|
function DrawerFooter({ className, ...props }) {
|
|
1837
|
-
return /* @__PURE__ */
|
|
2024
|
+
return /* @__PURE__ */ jsx22(
|
|
1838
2025
|
"div",
|
|
1839
2026
|
{
|
|
1840
2027
|
"data-slot": "drawer-footer",
|
|
@@ -1843,320 +2030,63 @@ function DrawerFooter({ className, ...props }) {
|
|
|
1843
2030
|
}
|
|
1844
2031
|
);
|
|
1845
2032
|
}
|
|
1846
|
-
function DrawerTitle({ className, ...props }) {
|
|
1847
|
-
return /* @__PURE__ */
|
|
1848
|
-
|
|
1849
|
-
{
|
|
1850
|
-
slot: "title",
|
|
1851
|
-
"data-slot": "drawer-title",
|
|
1852
|
-
className: cn("text-base font-medium text-foreground", className),
|
|
1853
|
-
...props
|
|
1854
|
-
}
|
|
1855
|
-
);
|
|
1856
|
-
}
|
|
1857
|
-
function DrawerDescription({
|
|
1858
|
-
className,
|
|
1859
|
-
...props
|
|
1860
|
-
}) {
|
|
1861
|
-
return /* @__PURE__ */ jsx17(
|
|
1862
|
-
Text3,
|
|
1863
|
-
{
|
|
1864
|
-
slot: "description",
|
|
1865
|
-
"data-slot": "drawer-description",
|
|
1866
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
1867
|
-
...props
|
|
1868
|
-
}
|
|
1869
|
-
);
|
|
1870
|
-
}
|
|
1871
|
-
var Sheet = DrawerContent;
|
|
1872
|
-
var SheetClose = DrawerClose;
|
|
1873
|
-
var SheetContent = DrawerContent;
|
|
1874
|
-
var SheetDescription = DrawerDescription;
|
|
1875
|
-
var SheetFooter = DrawerFooter;
|
|
1876
|
-
var SheetHeader = DrawerHeader;
|
|
1877
|
-
var SheetTitle = DrawerTitle;
|
|
1878
|
-
var SheetTrigger = DrawerTrigger;
|
|
1879
|
-
|
|
1880
|
-
// src/ui/composition/composition.tsx
|
|
1881
|
-
import { jsx as jsx18, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1882
|
-
function FilterBar({ className, ...props }) {
|
|
1883
|
-
return /* @__PURE__ */ jsx18(
|
|
1884
|
-
"div",
|
|
1885
|
-
{
|
|
1886
|
-
"data-slot": "filter-bar",
|
|
1887
|
-
className: cn("flex flex-wrap items-center gap-2", className),
|
|
1888
|
-
...props
|
|
1889
|
-
}
|
|
1890
|
-
);
|
|
1891
|
-
}
|
|
1892
|
-
function FilterGroup({ className, ...props }) {
|
|
1893
|
-
return /* @__PURE__ */ jsx18(
|
|
1894
|
-
"div",
|
|
1895
|
-
{
|
|
1896
|
-
"data-slot": "filter-group",
|
|
1897
|
-
className: cn("flex flex-wrap items-center gap-2", className),
|
|
1898
|
-
...props
|
|
1899
|
-
}
|
|
1900
|
-
);
|
|
1901
|
-
}
|
|
1902
|
-
function ActiveFilters({ className, ...props }) {
|
|
1903
|
-
return /* @__PURE__ */ jsx18(
|
|
1904
|
-
"div",
|
|
1905
|
-
{
|
|
1906
|
-
"data-slot": "active-filters",
|
|
1907
|
-
"aria-label": "Filtros activos",
|
|
1908
|
-
className: cn("flex flex-wrap items-center gap-1.5", className),
|
|
1909
|
-
...props
|
|
1910
|
-
}
|
|
1911
|
-
);
|
|
1912
|
-
}
|
|
1913
|
-
function FilterChip({
|
|
1914
|
-
children,
|
|
1915
|
-
onRemove,
|
|
1916
|
-
...props
|
|
1917
|
-
}) {
|
|
1918
|
-
return /* @__PURE__ */ jsxs7(Button, { size: "sm", variant: "outline", onPress: onRemove, ...props, children: [
|
|
1919
|
-
children,
|
|
1920
|
-
" \xD7"
|
|
1921
|
-
] });
|
|
1922
|
-
}
|
|
1923
|
-
function SelectionToolbar({
|
|
1924
|
-
count,
|
|
1925
|
-
className,
|
|
1926
|
-
children,
|
|
1927
|
-
...props
|
|
1928
|
-
}) {
|
|
1929
|
-
return /* @__PURE__ */ jsxs7(
|
|
1930
|
-
"div",
|
|
1931
|
-
{
|
|
1932
|
-
"data-slot": "selection-toolbar",
|
|
1933
|
-
className: cn(
|
|
1934
|
-
"flex flex-wrap items-center justify-between gap-2 rounded-lg border bg-muted/40 p-2",
|
|
1935
|
-
className
|
|
1936
|
-
),
|
|
1937
|
-
...props,
|
|
1938
|
-
children: [
|
|
1939
|
-
/* @__PURE__ */ jsxs7("output", { "aria-live": "polite", className: "text-sm font-medium", children: [
|
|
1940
|
-
count,
|
|
1941
|
-
" seleccionados"
|
|
1942
|
-
] }),
|
|
1943
|
-
/* @__PURE__ */ jsx18("div", { className: "flex items-center gap-2", children })
|
|
1944
|
-
]
|
|
1945
|
-
}
|
|
1946
|
-
);
|
|
1947
|
-
}
|
|
1948
|
-
function DescriptionList({ className, ...props }) {
|
|
1949
|
-
return /* @__PURE__ */ jsx18(
|
|
1950
|
-
"dl",
|
|
1951
|
-
{
|
|
1952
|
-
"data-slot": "description-list",
|
|
1953
|
-
className: cn("grid gap-x-6 gap-y-4 sm:grid-cols-2", className),
|
|
1954
|
-
...props
|
|
1955
|
-
}
|
|
1956
|
-
);
|
|
1957
|
-
}
|
|
1958
|
-
function DescriptionItem({ className, ...props }) {
|
|
1959
|
-
return /* @__PURE__ */ jsx18("div", { "data-slot": "description-item", className: cn("min-w-0", className), ...props });
|
|
1960
|
-
}
|
|
1961
|
-
function DescriptionTerm({ className, ...props }) {
|
|
1962
|
-
return /* @__PURE__ */ jsx18(
|
|
1963
|
-
"dt",
|
|
1964
|
-
{
|
|
1965
|
-
"data-slot": "description-term",
|
|
1966
|
-
className: cn("text-xs font-medium text-muted-foreground", className),
|
|
1967
|
-
...props
|
|
1968
|
-
}
|
|
1969
|
-
);
|
|
1970
|
-
}
|
|
1971
|
-
function DescriptionDetails({ className, ...props }) {
|
|
1972
|
-
return /* @__PURE__ */ jsx18(
|
|
1973
|
-
"dd",
|
|
1974
|
-
{
|
|
1975
|
-
"data-slot": "description-details",
|
|
1976
|
-
className: cn("mt-1 wrap-break-word text-sm", className),
|
|
1977
|
-
...props
|
|
1978
|
-
}
|
|
1979
|
-
);
|
|
1980
|
-
}
|
|
1981
|
-
function DataViewState({ className, ...props }) {
|
|
1982
|
-
return /* @__PURE__ */ jsx18(
|
|
1983
|
-
"section",
|
|
1984
|
-
{
|
|
1985
|
-
"data-slot": "data-view-state",
|
|
1986
|
-
className: cn(
|
|
1987
|
-
"flex min-h-40 flex-col items-center justify-center gap-3 rounded-xl border p-6 text-center",
|
|
1988
|
-
className
|
|
1989
|
-
),
|
|
1990
|
-
...props
|
|
1991
|
-
}
|
|
1992
|
-
);
|
|
1993
|
-
}
|
|
1994
|
-
function DataViewStateTitle({ children, className, ...props }) {
|
|
1995
|
-
return /* @__PURE__ */ jsx18("h2", { "data-slot": "data-view-state-title", className: cn("font-semibold", className), ...props, children });
|
|
1996
|
-
}
|
|
1997
|
-
function DataViewStateDescription({ className, ...props }) {
|
|
1998
|
-
return /* @__PURE__ */ jsx18(
|
|
1999
|
-
"p",
|
|
2000
|
-
{
|
|
2001
|
-
"data-slot": "data-view-state-description",
|
|
2002
|
-
className: cn("text-sm text-muted-foreground", className),
|
|
2003
|
-
...props
|
|
2004
|
-
}
|
|
2005
|
-
);
|
|
2006
|
-
}
|
|
2007
|
-
function DataViewStateActions({ className, ...props }) {
|
|
2008
|
-
return /* @__PURE__ */ jsx18(
|
|
2009
|
-
"div",
|
|
2010
|
-
{
|
|
2011
|
-
"data-slot": "data-view-state-actions",
|
|
2012
|
-
className: cn("flex items-center gap-2", className),
|
|
2013
|
-
...props
|
|
2014
|
-
}
|
|
2015
|
-
);
|
|
2016
|
-
}
|
|
2017
|
-
function MetricGrid({ className, ...props }) {
|
|
2018
|
-
return /* @__PURE__ */ jsx18(
|
|
2019
|
-
"div",
|
|
2020
|
-
{
|
|
2021
|
-
"data-slot": "metric-grid",
|
|
2022
|
-
className: cn("grid gap-4 sm:grid-cols-2 xl:grid-cols-4", className),
|
|
2023
|
-
...props
|
|
2024
|
-
}
|
|
2025
|
-
);
|
|
2026
|
-
}
|
|
2027
|
-
function DetailDrawer({ children, ...props }) {
|
|
2028
|
-
return /* @__PURE__ */ jsx18(DrawerContent, { ...props, children });
|
|
2029
|
-
}
|
|
2030
|
-
function DetailDrawerBody({ className, ...props }) {
|
|
2031
|
-
return /* @__PURE__ */ jsx18(
|
|
2032
|
-
"div",
|
|
2033
|
-
{
|
|
2034
|
-
"data-slot": "detail-drawer-body",
|
|
2035
|
-
className: cn("min-h-0 flex-1 overflow-y-auto px-4", className),
|
|
2036
|
-
...props
|
|
2037
|
-
}
|
|
2038
|
-
);
|
|
2039
|
-
}
|
|
2040
|
-
|
|
2041
|
-
// src/ui/confirm-dialog/confirm-dialog.tsx
|
|
2042
|
-
import { jsx as jsx19, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
2043
|
-
function ConfirmDialog({
|
|
2044
|
-
open,
|
|
2045
|
-
onOpenChange,
|
|
2046
|
-
title,
|
|
2047
|
-
description,
|
|
2048
|
-
confirmLabel = "Confirmar",
|
|
2049
|
-
cancelLabel = "Cancelar",
|
|
2050
|
-
destructive = false,
|
|
2051
|
-
pending = false,
|
|
2052
|
-
onConfirm
|
|
2053
|
-
}) {
|
|
2054
|
-
return /* @__PURE__ */ jsx19(
|
|
2055
|
-
AlertDialog,
|
|
2056
|
-
{
|
|
2057
|
-
open,
|
|
2058
|
-
onOpenChange: (nextOpen) => {
|
|
2059
|
-
if (!pending || nextOpen) onOpenChange(nextOpen);
|
|
2060
|
-
},
|
|
2061
|
-
children: /* @__PURE__ */ jsxs8(AlertDialogContent, { children: [
|
|
2062
|
-
/* @__PURE__ */ jsxs8(AlertDialogHeader, { children: [
|
|
2063
|
-
/* @__PURE__ */ jsx19(AlertDialogTitle, { children: title }),
|
|
2064
|
-
description ? /* @__PURE__ */ jsx19(AlertDialogDescription, { children: description }) : null
|
|
2065
|
-
] }),
|
|
2066
|
-
/* @__PURE__ */ jsxs8(AlertDialogFooter, { children: [
|
|
2067
|
-
/* @__PURE__ */ jsx19(Button, { variant: "outline", isDisabled: pending, onPress: () => onOpenChange(false), children: cancelLabel }),
|
|
2068
|
-
/* @__PURE__ */ jsx19(
|
|
2069
|
-
Button,
|
|
2070
|
-
{
|
|
2071
|
-
variant: destructive ? "destructive" : "default",
|
|
2072
|
-
isDisabled: pending,
|
|
2073
|
-
onPress: onConfirm,
|
|
2074
|
-
children: confirmLabel
|
|
2075
|
-
}
|
|
2076
|
-
)
|
|
2077
|
-
] })
|
|
2078
|
-
] })
|
|
2079
|
-
}
|
|
2080
|
-
);
|
|
2081
|
-
}
|
|
2082
|
-
|
|
2083
|
-
// src/ui/copy-button/copy-button.tsx
|
|
2084
|
-
import { Check as Check2, Copy } from "lucide-react";
|
|
2085
|
-
import { jsx as jsx20, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
2086
|
-
function CopyButton({
|
|
2087
|
-
value,
|
|
2088
|
-
children,
|
|
2089
|
-
copiedLabel = "Copiado",
|
|
2090
|
-
resetMs,
|
|
2091
|
-
onCopied,
|
|
2092
|
-
onCopyError,
|
|
2033
|
+
function DrawerTitle({ className, ...props }) {
|
|
2034
|
+
return /* @__PURE__ */ jsx22(
|
|
2035
|
+
Heading3,
|
|
2036
|
+
{
|
|
2037
|
+
slot: "title",
|
|
2038
|
+
"data-slot": "drawer-title",
|
|
2039
|
+
className: cn("text-base font-medium text-foreground", className),
|
|
2040
|
+
...props
|
|
2041
|
+
}
|
|
2042
|
+
);
|
|
2043
|
+
}
|
|
2044
|
+
function DrawerDescription({
|
|
2045
|
+
className,
|
|
2093
2046
|
...props
|
|
2094
2047
|
}) {
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
const label = copied ? copiedLabel : children ?? "Copiar";
|
|
2098
|
-
return /* @__PURE__ */ jsxs9(
|
|
2099
|
-
Button,
|
|
2048
|
+
return /* @__PURE__ */ jsx22(
|
|
2049
|
+
Text3,
|
|
2100
2050
|
{
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
});
|
|
2106
|
-
},
|
|
2107
|
-
...props,
|
|
2108
|
-
children: [
|
|
2109
|
-
copied ? /* @__PURE__ */ jsx20(Check2, { "aria-hidden": "true", className: "size-3.5" }) : /* @__PURE__ */ jsx20(Copy, { "aria-hidden": "true", className: "size-3.5" }),
|
|
2110
|
-
label
|
|
2111
|
-
]
|
|
2051
|
+
slot: "description",
|
|
2052
|
+
"data-slot": "drawer-description",
|
|
2053
|
+
className: cn("text-sm text-muted-foreground", className),
|
|
2054
|
+
...props
|
|
2112
2055
|
}
|
|
2113
2056
|
);
|
|
2114
2057
|
}
|
|
2058
|
+
var Sheet = DrawerContent;
|
|
2059
|
+
var SheetClose = DrawerClose;
|
|
2060
|
+
var SheetContent = DrawerContent;
|
|
2061
|
+
var SheetDescription = DrawerDescription;
|
|
2062
|
+
var SheetFooter = DrawerFooter;
|
|
2063
|
+
var SheetHeader = DrawerHeader;
|
|
2064
|
+
var SheetTitle = DrawerTitle;
|
|
2065
|
+
var SheetTrigger = DrawerTrigger;
|
|
2115
2066
|
|
|
2116
|
-
// src/ui/
|
|
2117
|
-
import {
|
|
2118
|
-
|
|
2119
|
-
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2130
|
-
children
|
|
2131
|
-
}) {
|
|
2132
|
-
return /* @__PURE__ */ jsx21(Disclosure, { defaultExpanded: defaultOpen, children: /* @__PURE__ */ jsxs10(Card, { className: cn("border-destructive/30", className), children: [
|
|
2133
|
-
/* @__PURE__ */ jsx21(Heading3, { className: "flex", children: /* @__PURE__ */ jsxs10(
|
|
2134
|
-
DisclosureButton,
|
|
2135
|
-
{
|
|
2136
|
-
slot: "trigger",
|
|
2137
|
-
"data-slot": "danger-zone-trigger",
|
|
2138
|
-
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",
|
|
2139
|
-
children: [
|
|
2140
|
-
/* @__PURE__ */ jsx21(ShieldAlert, { className: "text-destructive size-4 shrink-0" }),
|
|
2141
|
-
/* @__PURE__ */ jsxs10("span", { className: "flex flex-1 flex-col gap-0.5", children: [
|
|
2142
|
-
/* @__PURE__ */ jsx21("span", { className: "font-heading text-destructive text-base leading-snug font-medium", children: title }),
|
|
2143
|
-
/* @__PURE__ */ jsx21("span", { className: "text-muted-foreground text-xs", children: description })
|
|
2144
|
-
] }),
|
|
2145
|
-
/* @__PURE__ */ jsx21(ChevronDown, { className: "text-muted-foreground size-4 shrink-0 transition-transform group-aria-expanded/danger:rotate-180" })
|
|
2146
|
-
]
|
|
2147
|
-
}
|
|
2148
|
-
) }),
|
|
2149
|
-
/* @__PURE__ */ jsx21(DisclosurePanel, { "data-slot": "danger-zone-content", children: /* @__PURE__ */ jsx21(CardContent, { children }) })
|
|
2150
|
-
] }) });
|
|
2067
|
+
// src/ui/detail-drawer/detail-drawer.tsx
|
|
2068
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
2069
|
+
function DetailDrawer({ children, ...props }) {
|
|
2070
|
+
return /* @__PURE__ */ jsx23(DrawerContent, { ...props, children });
|
|
2071
|
+
}
|
|
2072
|
+
function DetailDrawerBody({ className, ...props }) {
|
|
2073
|
+
return /* @__PURE__ */ jsx23(
|
|
2074
|
+
"div",
|
|
2075
|
+
{
|
|
2076
|
+
"data-slot": "detail-drawer-body",
|
|
2077
|
+
className: cn("min-h-0 flex-1 overflow-y-auto px-4", className),
|
|
2078
|
+
...props
|
|
2079
|
+
}
|
|
2080
|
+
);
|
|
2151
2081
|
}
|
|
2152
2082
|
|
|
2153
2083
|
// src/ui/doc-preview/doc-preview.tsx
|
|
2154
2084
|
import { FileText, Image } from "lucide-react";
|
|
2155
|
-
import { jsx as
|
|
2085
|
+
import { jsx as jsx24, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
2156
2086
|
function DocPreview({ url, mimeType, name }) {
|
|
2157
|
-
if (!url) return /* @__PURE__ */
|
|
2087
|
+
if (!url) return /* @__PURE__ */ jsx24(Fallback, { mimeType, reason: "no-url" });
|
|
2158
2088
|
if (mimeType === "application/pdf" || mimeType === "text/plain" || mimeType === "text/csv") {
|
|
2159
|
-
return /* @__PURE__ */
|
|
2089
|
+
return /* @__PURE__ */ jsx24(
|
|
2160
2090
|
"iframe",
|
|
2161
2091
|
{
|
|
2162
2092
|
src: url,
|
|
@@ -2167,9 +2097,9 @@ function DocPreview({ url, mimeType, name }) {
|
|
|
2167
2097
|
);
|
|
2168
2098
|
}
|
|
2169
2099
|
if (mimeType?.startsWith("image/")) {
|
|
2170
|
-
return /* @__PURE__ */
|
|
2100
|
+
return /* @__PURE__ */ jsx24("div", { className: "bg-muted/30 flex justify-center rounded-sm p-6", children: /* @__PURE__ */ jsx24("img", { src: url, alt: name, className: "max-h-[75vh] max-w-full rounded object-contain" }) });
|
|
2171
2101
|
}
|
|
2172
|
-
return /* @__PURE__ */
|
|
2102
|
+
return /* @__PURE__ */ jsx24(Fallback, { mimeType, reason: "unsupported" });
|
|
2173
2103
|
}
|
|
2174
2104
|
function Fallback({
|
|
2175
2105
|
mimeType,
|
|
@@ -2177,11 +2107,11 @@ function Fallback({
|
|
|
2177
2107
|
}) {
|
|
2178
2108
|
const Icon = mimeType?.startsWith("image/") ? Image : FileText;
|
|
2179
2109
|
const message = reason === "no-url" ? "No se pudo generar la URL de preview." : "Preview no disponible para este tipo de archivo.";
|
|
2180
|
-
return /* @__PURE__ */
|
|
2181
|
-
/* @__PURE__ */
|
|
2182
|
-
/* @__PURE__ */
|
|
2183
|
-
mimeType ? /* @__PURE__ */
|
|
2184
|
-
/* @__PURE__ */
|
|
2110
|
+
return /* @__PURE__ */ jsxs10("div", { className: "text-muted-foreground flex flex-col items-center justify-center gap-2 py-14", children: [
|
|
2111
|
+
/* @__PURE__ */ jsx24(Icon, { className: "size-9 opacity-30" }),
|
|
2112
|
+
/* @__PURE__ */ jsx24("p", { className: "text-sm", children: message }),
|
|
2113
|
+
mimeType ? /* @__PURE__ */ jsx24("p", { className: "font-mono text-xs opacity-50", children: mimeType }) : null,
|
|
2114
|
+
/* @__PURE__ */ jsx24("p", { className: "text-xs opacity-50", children: "Usa el bot\xF3n Descargar para abrir el archivo." })
|
|
2185
2115
|
] });
|
|
2186
2116
|
}
|
|
2187
2117
|
|
|
@@ -2200,9 +2130,9 @@ import {
|
|
|
2200
2130
|
Separator as SeparatorPrimitive2,
|
|
2201
2131
|
SubmenuTrigger as SubmenuTriggerPrimitive
|
|
2202
2132
|
} from "react-aria-components";
|
|
2203
|
-
import { Fragment as Fragment5, jsx as
|
|
2133
|
+
import { Fragment as Fragment5, jsx as jsx25, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
2204
2134
|
function DropdownMenuTrigger({ ...props }) {
|
|
2205
|
-
return /* @__PURE__ */
|
|
2135
|
+
return /* @__PURE__ */ jsx25(MenuTriggerPrimitive, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
2206
2136
|
}
|
|
2207
2137
|
function DropdownMenuContent({
|
|
2208
2138
|
"data-slot": dataSlot = "dropdown-menu-content",
|
|
@@ -2213,7 +2143,7 @@ function DropdownMenuContent({
|
|
|
2213
2143
|
children,
|
|
2214
2144
|
...props
|
|
2215
2145
|
}) {
|
|
2216
|
-
return /* @__PURE__ */
|
|
2146
|
+
return /* @__PURE__ */ jsx25(
|
|
2217
2147
|
PopoverPrimitive,
|
|
2218
2148
|
{
|
|
2219
2149
|
"data-slot": dataSlot,
|
|
@@ -2225,7 +2155,7 @@ function DropdownMenuContent({
|
|
|
2225
2155
|
"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",
|
|
2226
2156
|
className
|
|
2227
2157
|
),
|
|
2228
|
-
children: /* @__PURE__ */
|
|
2158
|
+
children: /* @__PURE__ */ jsx25(
|
|
2229
2159
|
MenuPrimitive,
|
|
2230
2160
|
{
|
|
2231
2161
|
className: "max-h-[inherit] overflow-x-hidden overflow-y-auto outline-hidden",
|
|
@@ -2237,25 +2167,25 @@ function DropdownMenuContent({
|
|
|
2237
2167
|
);
|
|
2238
2168
|
}
|
|
2239
2169
|
function DropdownMenu(props) {
|
|
2240
|
-
if (!("trigger" in props)) return /* @__PURE__ */
|
|
2170
|
+
if (!("trigger" in props)) return /* @__PURE__ */ jsx25(DropdownMenuContent, { ...props });
|
|
2241
2171
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
2242
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */
|
|
2243
|
-
return /* @__PURE__ */
|
|
2172
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ jsx25(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
2173
|
+
return /* @__PURE__ */ jsxs11(DropdownMenuTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
2244
2174
|
triggerElement,
|
|
2245
|
-
/* @__PURE__ */
|
|
2175
|
+
/* @__PURE__ */ jsx25(DropdownMenuContent, { ...contentProps, children })
|
|
2246
2176
|
] });
|
|
2247
2177
|
}
|
|
2248
2178
|
function DropdownMenuGroup({
|
|
2249
2179
|
...props
|
|
2250
2180
|
}) {
|
|
2251
|
-
return /* @__PURE__ */
|
|
2181
|
+
return /* @__PURE__ */ jsx25(MenuSectionPrimitive, { "data-slot": "dropdown-menu-group", ...props });
|
|
2252
2182
|
}
|
|
2253
2183
|
function DropdownMenuLabel({
|
|
2254
2184
|
className,
|
|
2255
2185
|
inset,
|
|
2256
2186
|
...props
|
|
2257
2187
|
}) {
|
|
2258
|
-
return /* @__PURE__ */
|
|
2188
|
+
return /* @__PURE__ */ jsx25(
|
|
2259
2189
|
HeaderPrimitive,
|
|
2260
2190
|
{
|
|
2261
2191
|
"data-slot": "dropdown-menu-label",
|
|
@@ -2287,7 +2217,7 @@ function DropdownMenuItem({
|
|
|
2287
2217
|
children,
|
|
2288
2218
|
...props
|
|
2289
2219
|
}) {
|
|
2290
|
-
return /* @__PURE__ */
|
|
2220
|
+
return /* @__PURE__ */ jsx25(
|
|
2291
2221
|
MenuItemPrimitive,
|
|
2292
2222
|
{
|
|
2293
2223
|
"data-slot": "dropdown-menu-item",
|
|
@@ -2299,13 +2229,13 @@ function DropdownMenuItem({
|
|
|
2299
2229
|
(className2, { selectionMode }) => cn(dropdownMenuItemVariants({ selectionMode }), className2)
|
|
2300
2230
|
),
|
|
2301
2231
|
...props,
|
|
2302
|
-
children: composeRenderProps(children, (children2, { isSelected, selectionMode }) => /* @__PURE__ */
|
|
2303
|
-
selectionMode !== "none" ? /* @__PURE__ */
|
|
2232
|
+
children: composeRenderProps(children, (children2, { isSelected, selectionMode }) => /* @__PURE__ */ jsxs11(Fragment5, { children: [
|
|
2233
|
+
selectionMode !== "none" ? /* @__PURE__ */ jsx25(
|
|
2304
2234
|
"span",
|
|
2305
2235
|
{
|
|
2306
2236
|
className: "pointer-events-none absolute right-2 flex items-center justify-center",
|
|
2307
2237
|
"data-slot": selectionMode === "single" ? "dropdown-menu-radio-item-indicator" : "dropdown-menu-checkbox-item-indicator",
|
|
2308
|
-
children: isSelected ? /* @__PURE__ */
|
|
2238
|
+
children: isSelected ? /* @__PURE__ */ jsx25(CheckIcon, {}) : null
|
|
2309
2239
|
}
|
|
2310
2240
|
) : null,
|
|
2311
2241
|
children2
|
|
@@ -2314,7 +2244,7 @@ function DropdownMenuItem({
|
|
|
2314
2244
|
);
|
|
2315
2245
|
}
|
|
2316
2246
|
function DropdownMenuSub({ ...props }) {
|
|
2317
|
-
return /* @__PURE__ */
|
|
2247
|
+
return /* @__PURE__ */ jsx25(SubmenuTriggerPrimitive, { "data-slot": "dropdown-menu-sub", ...props });
|
|
2318
2248
|
}
|
|
2319
2249
|
function DropdownMenuSubTrigger({
|
|
2320
2250
|
className,
|
|
@@ -2322,7 +2252,7 @@ function DropdownMenuSubTrigger({
|
|
|
2322
2252
|
children,
|
|
2323
2253
|
...props
|
|
2324
2254
|
}) {
|
|
2325
|
-
return /* @__PURE__ */
|
|
2255
|
+
return /* @__PURE__ */ jsx25(
|
|
2326
2256
|
MenuItemPrimitive,
|
|
2327
2257
|
{
|
|
2328
2258
|
"data-slot": "dropdown-menu-sub-trigger",
|
|
@@ -2333,9 +2263,9 @@ function DropdownMenuSubTrigger({
|
|
|
2333
2263
|
className
|
|
2334
2264
|
),
|
|
2335
2265
|
...props,
|
|
2336
|
-
children: composeRenderProps(children, (children2) => /* @__PURE__ */
|
|
2266
|
+
children: composeRenderProps(children, (children2) => /* @__PURE__ */ jsxs11(Fragment5, { children: [
|
|
2337
2267
|
children2,
|
|
2338
|
-
/* @__PURE__ */
|
|
2268
|
+
/* @__PURE__ */ jsx25(ChevronRightIcon, { className: "cn-rtl-flip ml-auto" })
|
|
2339
2269
|
] }))
|
|
2340
2270
|
}
|
|
2341
2271
|
);
|
|
@@ -2347,7 +2277,7 @@ function DropdownMenuSubContent({
|
|
|
2347
2277
|
className,
|
|
2348
2278
|
...props
|
|
2349
2279
|
}) {
|
|
2350
|
-
return /* @__PURE__ */
|
|
2280
|
+
return /* @__PURE__ */ jsx25(
|
|
2351
2281
|
DropdownMenuContent,
|
|
2352
2282
|
{
|
|
2353
2283
|
"data-slot": "dropdown-menu-sub-content",
|
|
@@ -2366,7 +2296,7 @@ function DropdownMenuSeparator({
|
|
|
2366
2296
|
className,
|
|
2367
2297
|
...props
|
|
2368
2298
|
}) {
|
|
2369
|
-
return /* @__PURE__ */
|
|
2299
|
+
return /* @__PURE__ */ jsx25(
|
|
2370
2300
|
SeparatorPrimitive2,
|
|
2371
2301
|
{
|
|
2372
2302
|
"data-slot": "dropdown-menu-separator",
|
|
@@ -2376,7 +2306,7 @@ function DropdownMenuSeparator({
|
|
|
2376
2306
|
);
|
|
2377
2307
|
}
|
|
2378
2308
|
function DropdownMenuShortcut({ className, ...props }) {
|
|
2379
|
-
return /* @__PURE__ */
|
|
2309
|
+
return /* @__PURE__ */ jsx25(
|
|
2380
2310
|
"span",
|
|
2381
2311
|
{
|
|
2382
2312
|
"data-slot": "dropdown-menu-shortcut",
|
|
@@ -2405,9 +2335,9 @@ var emptyStateMediaVariants = cva7(
|
|
|
2405
2335
|
);
|
|
2406
2336
|
|
|
2407
2337
|
// src/ui/empty-state/empty-state.tsx
|
|
2408
|
-
import { jsx as
|
|
2338
|
+
import { jsx as jsx26 } from "react/jsx-runtime";
|
|
2409
2339
|
function EmptyState({ className, ...props }) {
|
|
2410
|
-
return /* @__PURE__ */
|
|
2340
|
+
return /* @__PURE__ */ jsx26(
|
|
2411
2341
|
"div",
|
|
2412
2342
|
{
|
|
2413
2343
|
"data-slot": "empty-state",
|
|
@@ -2420,7 +2350,7 @@ function EmptyState({ className, ...props }) {
|
|
|
2420
2350
|
);
|
|
2421
2351
|
}
|
|
2422
2352
|
function EmptyStateHeader({ className, ...props }) {
|
|
2423
|
-
return /* @__PURE__ */
|
|
2353
|
+
return /* @__PURE__ */ jsx26(
|
|
2424
2354
|
"div",
|
|
2425
2355
|
{
|
|
2426
2356
|
"data-slot": "empty-state-header",
|
|
@@ -2434,7 +2364,7 @@ function EmptyStateMedia({
|
|
|
2434
2364
|
variant = "default",
|
|
2435
2365
|
...props
|
|
2436
2366
|
}) {
|
|
2437
|
-
return /* @__PURE__ */
|
|
2367
|
+
return /* @__PURE__ */ jsx26(
|
|
2438
2368
|
"div",
|
|
2439
2369
|
{
|
|
2440
2370
|
"data-slot": "empty-state-media",
|
|
@@ -2445,7 +2375,7 @@ function EmptyStateMedia({
|
|
|
2445
2375
|
);
|
|
2446
2376
|
}
|
|
2447
2377
|
function EmptyStateTitle({ className, children, ...props }) {
|
|
2448
|
-
return /* @__PURE__ */
|
|
2378
|
+
return /* @__PURE__ */ jsx26(
|
|
2449
2379
|
"h3",
|
|
2450
2380
|
{
|
|
2451
2381
|
"data-slot": "empty-state-title",
|
|
@@ -2456,7 +2386,7 @@ function EmptyStateTitle({ className, children, ...props }) {
|
|
|
2456
2386
|
);
|
|
2457
2387
|
}
|
|
2458
2388
|
function EmptyStateDescription({ className, ...props }) {
|
|
2459
|
-
return /* @__PURE__ */
|
|
2389
|
+
return /* @__PURE__ */ jsx26(
|
|
2460
2390
|
"p",
|
|
2461
2391
|
{
|
|
2462
2392
|
"data-slot": "empty-state-description",
|
|
@@ -2469,7 +2399,7 @@ function EmptyStateDescription({ className, ...props }) {
|
|
|
2469
2399
|
);
|
|
2470
2400
|
}
|
|
2471
2401
|
function EmptyStateContent({ className, ...props }) {
|
|
2472
|
-
return /* @__PURE__ */
|
|
2402
|
+
return /* @__PURE__ */ jsx26(
|
|
2473
2403
|
"div",
|
|
2474
2404
|
{
|
|
2475
2405
|
"data-slot": "empty-state-content",
|
|
@@ -2487,9 +2417,9 @@ import { Component, Suspense } from "react";
|
|
|
2487
2417
|
|
|
2488
2418
|
// src/ui/error-state/error-state.tsx
|
|
2489
2419
|
import { AlertCircle } from "lucide-react";
|
|
2490
|
-
import { jsx as
|
|
2420
|
+
import { jsx as jsx27 } from "react/jsx-runtime";
|
|
2491
2421
|
function ErrorState({ className, ...props }) {
|
|
2492
|
-
return /* @__PURE__ */
|
|
2422
|
+
return /* @__PURE__ */ jsx27(
|
|
2493
2423
|
"section",
|
|
2494
2424
|
{
|
|
2495
2425
|
"data-slot": "error-state",
|
|
@@ -2506,7 +2436,7 @@ function ErrorStateIcon({
|
|
|
2506
2436
|
className,
|
|
2507
2437
|
...props
|
|
2508
2438
|
}) {
|
|
2509
|
-
return /* @__PURE__ */
|
|
2439
|
+
return /* @__PURE__ */ jsx27(
|
|
2510
2440
|
AlertCircle,
|
|
2511
2441
|
{
|
|
2512
2442
|
"data-slot": "error-state-icon",
|
|
@@ -2517,7 +2447,7 @@ function ErrorStateIcon({
|
|
|
2517
2447
|
);
|
|
2518
2448
|
}
|
|
2519
2449
|
function ErrorStateTitle({ className, ...props }) {
|
|
2520
|
-
return /* @__PURE__ */
|
|
2450
|
+
return /* @__PURE__ */ jsx27(
|
|
2521
2451
|
"h2",
|
|
2522
2452
|
{
|
|
2523
2453
|
"data-slot": "error-state-title",
|
|
@@ -2527,7 +2457,7 @@ function ErrorStateTitle({ className, ...props }) {
|
|
|
2527
2457
|
);
|
|
2528
2458
|
}
|
|
2529
2459
|
function ErrorStateDescription({ className, ...props }) {
|
|
2530
|
-
return /* @__PURE__ */
|
|
2460
|
+
return /* @__PURE__ */ jsx27(
|
|
2531
2461
|
"p",
|
|
2532
2462
|
{
|
|
2533
2463
|
"data-slot": "error-state-description",
|
|
@@ -2537,7 +2467,7 @@ function ErrorStateDescription({ className, ...props }) {
|
|
|
2537
2467
|
);
|
|
2538
2468
|
}
|
|
2539
2469
|
function ErrorStateActions({ className, ...props }) {
|
|
2540
|
-
return /* @__PURE__ */
|
|
2470
|
+
return /* @__PURE__ */ jsx27(
|
|
2541
2471
|
"div",
|
|
2542
2472
|
{
|
|
2543
2473
|
"data-slot": "error-state-actions",
|
|
@@ -2548,7 +2478,7 @@ function ErrorStateActions({ className, ...props }) {
|
|
|
2548
2478
|
}
|
|
2549
2479
|
|
|
2550
2480
|
// src/ui/error-boundary/error-boundary.tsx
|
|
2551
|
-
import { jsx as
|
|
2481
|
+
import { jsx as jsx28, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
2552
2482
|
function changedResetKeys(previous = [], next = []) {
|
|
2553
2483
|
return previous.length !== next.length || previous.some((value, index) => !Object.is(value, next[index]));
|
|
2554
2484
|
}
|
|
@@ -2571,31 +2501,31 @@ var Boundary = class extends Component {
|
|
|
2571
2501
|
if (typeof fallback === "function")
|
|
2572
2502
|
return fallback({ error: this.state.error, reset: this.reset });
|
|
2573
2503
|
if (fallback) return fallback;
|
|
2574
|
-
return /* @__PURE__ */
|
|
2575
|
-
/* @__PURE__ */
|
|
2576
|
-
/* @__PURE__ */
|
|
2577
|
-
/* @__PURE__ */
|
|
2578
|
-
/* @__PURE__ */
|
|
2504
|
+
return /* @__PURE__ */ jsxs12(ErrorState, { children: [
|
|
2505
|
+
/* @__PURE__ */ jsx28(ErrorStateIcon, {}),
|
|
2506
|
+
/* @__PURE__ */ jsx28(ErrorStateTitle, { children: "No se pudo cargar este contenido" }),
|
|
2507
|
+
/* @__PURE__ */ jsx28(ErrorStateDescription, { children: "Prueba a cargarlo de nuevo." }),
|
|
2508
|
+
/* @__PURE__ */ jsx28(ErrorStateActions, { children: /* @__PURE__ */ jsx28(Button, { onPress: this.reset, children: "Reintentar" }) })
|
|
2579
2509
|
] });
|
|
2580
2510
|
}
|
|
2581
2511
|
};
|
|
2582
2512
|
function ErrorBoundary(props) {
|
|
2583
|
-
return /* @__PURE__ */
|
|
2513
|
+
return /* @__PURE__ */ jsx28(Boundary, { ...props });
|
|
2584
2514
|
}
|
|
2585
2515
|
function AsyncBoundary({
|
|
2586
2516
|
pending = null,
|
|
2587
2517
|
...props
|
|
2588
2518
|
}) {
|
|
2589
|
-
return /* @__PURE__ */
|
|
2519
|
+
return /* @__PURE__ */ jsx28(ErrorBoundary, { ...props, children: /* @__PURE__ */ jsx28(Suspense, { fallback: pending, children: props.children }) });
|
|
2590
2520
|
}
|
|
2591
2521
|
|
|
2592
2522
|
// src/ui/label/label.tsx
|
|
2593
2523
|
import { forwardRef } from "react";
|
|
2594
2524
|
import { Label as LabelPrimitive } from "react-aria-components";
|
|
2595
|
-
import { jsx as
|
|
2525
|
+
import { jsx as jsx29 } from "react/jsx-runtime";
|
|
2596
2526
|
var Label2 = forwardRef(
|
|
2597
2527
|
function Label3({ className, ...props }, ref) {
|
|
2598
|
-
return /* @__PURE__ */
|
|
2528
|
+
return /* @__PURE__ */ jsx29(
|
|
2599
2529
|
LabelPrimitive,
|
|
2600
2530
|
{
|
|
2601
2531
|
ref,
|
|
@@ -2627,16 +2557,16 @@ var fieldVariants = cva8(
|
|
|
2627
2557
|
);
|
|
2628
2558
|
|
|
2629
2559
|
// src/ui/field/field.tsx
|
|
2630
|
-
import { jsx as
|
|
2560
|
+
import { jsx as jsx30, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
2631
2561
|
function FieldSet({ className, ...props }) {
|
|
2632
|
-
return /* @__PURE__ */
|
|
2562
|
+
return /* @__PURE__ */ jsx30("fieldset", { "data-slot": "field-set", className: cn("flex flex-col gap-4", className), ...props });
|
|
2633
2563
|
}
|
|
2634
2564
|
function FieldLegend({
|
|
2635
2565
|
className,
|
|
2636
2566
|
variant = "legend",
|
|
2637
2567
|
...props
|
|
2638
2568
|
}) {
|
|
2639
|
-
return /* @__PURE__ */
|
|
2569
|
+
return /* @__PURE__ */ jsx30(
|
|
2640
2570
|
"legend",
|
|
2641
2571
|
{
|
|
2642
2572
|
"data-slot": "field-legend",
|
|
@@ -2650,7 +2580,7 @@ function FieldLegend({
|
|
|
2650
2580
|
);
|
|
2651
2581
|
}
|
|
2652
2582
|
function FieldGroup({ className, ...props }) {
|
|
2653
|
-
return /* @__PURE__ */
|
|
2583
|
+
return /* @__PURE__ */ jsx30(
|
|
2654
2584
|
"div",
|
|
2655
2585
|
{
|
|
2656
2586
|
"data-slot": "field-group",
|
|
@@ -2665,7 +2595,7 @@ function FieldGroup({ className, ...props }) {
|
|
|
2665
2595
|
function Field({ className, orientation = "vertical", ...props }) {
|
|
2666
2596
|
return (
|
|
2667
2597
|
// biome-ignore lint/a11y/useSemanticElements: FieldSet provides native fieldset semantics when they are appropriate.
|
|
2668
|
-
/* @__PURE__ */
|
|
2598
|
+
/* @__PURE__ */ jsx30(
|
|
2669
2599
|
"div",
|
|
2670
2600
|
{
|
|
2671
2601
|
role: "group",
|
|
@@ -2678,7 +2608,7 @@ function Field({ className, orientation = "vertical", ...props }) {
|
|
|
2678
2608
|
);
|
|
2679
2609
|
}
|
|
2680
2610
|
function FieldContent({ className, ...props }) {
|
|
2681
|
-
return /* @__PURE__ */
|
|
2611
|
+
return /* @__PURE__ */ jsx30(
|
|
2682
2612
|
"div",
|
|
2683
2613
|
{
|
|
2684
2614
|
"data-slot": "field-content",
|
|
@@ -2688,7 +2618,7 @@ function FieldContent({ className, ...props }) {
|
|
|
2688
2618
|
);
|
|
2689
2619
|
}
|
|
2690
2620
|
function FieldLabel({ className, ...props }) {
|
|
2691
|
-
return /* @__PURE__ */
|
|
2621
|
+
return /* @__PURE__ */ jsx30(
|
|
2692
2622
|
Label2,
|
|
2693
2623
|
{
|
|
2694
2624
|
"data-slot": "field-label",
|
|
@@ -2701,7 +2631,7 @@ function FieldLabel({ className, ...props }) {
|
|
|
2701
2631
|
);
|
|
2702
2632
|
}
|
|
2703
2633
|
function FieldTitle({ className, ...props }) {
|
|
2704
|
-
return /* @__PURE__ */
|
|
2634
|
+
return /* @__PURE__ */ jsx30(
|
|
2705
2635
|
"div",
|
|
2706
2636
|
{
|
|
2707
2637
|
"data-slot": "field-title",
|
|
@@ -2711,7 +2641,7 @@ function FieldTitle({ className, ...props }) {
|
|
|
2711
2641
|
);
|
|
2712
2642
|
}
|
|
2713
2643
|
function FieldDescription({ className, ...props }) {
|
|
2714
|
-
return /* @__PURE__ */
|
|
2644
|
+
return /* @__PURE__ */ jsx30(
|
|
2715
2645
|
"p",
|
|
2716
2646
|
{
|
|
2717
2647
|
"data-slot": "field-description",
|
|
@@ -2724,7 +2654,7 @@ function FieldDescription({ className, ...props }) {
|
|
|
2724
2654
|
);
|
|
2725
2655
|
}
|
|
2726
2656
|
function FieldSeparator({ className, children, ...props }) {
|
|
2727
|
-
return /* @__PURE__ */
|
|
2657
|
+
return /* @__PURE__ */ jsxs13(
|
|
2728
2658
|
"div",
|
|
2729
2659
|
{
|
|
2730
2660
|
"data-slot": "field-separator",
|
|
@@ -2732,8 +2662,8 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
2732
2662
|
className: cn("relative -my-2 h-5 text-sm", className),
|
|
2733
2663
|
...props,
|
|
2734
2664
|
children: [
|
|
2735
|
-
/* @__PURE__ */
|
|
2736
|
-
children ? /* @__PURE__ */
|
|
2665
|
+
/* @__PURE__ */ jsx30(Separator, { className: "absolute inset-0 top-1/2" }),
|
|
2666
|
+
children ? /* @__PURE__ */ jsx30(
|
|
2737
2667
|
"span",
|
|
2738
2668
|
{
|
|
2739
2669
|
"data-slot": "field-separator-content",
|
|
@@ -2747,9 +2677,9 @@ function FieldSeparator({ className, children, ...props }) {
|
|
|
2747
2677
|
}
|
|
2748
2678
|
function FieldError2({ className, children, errors, ...props }) {
|
|
2749
2679
|
const messages = [...new Set(errors?.flatMap((error) => error?.message ?? []) ?? [])];
|
|
2750
|
-
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */
|
|
2680
|
+
const content = children ?? (messages.length === 1 ? messages[0] : messages.length > 1 ? /* @__PURE__ */ jsx30("ul", { className: "ml-4 list-disc", children: messages.map((message) => /* @__PURE__ */ jsx30("li", { children: message }, message)) }) : null);
|
|
2751
2681
|
if (!content) return null;
|
|
2752
|
-
return /* @__PURE__ */
|
|
2682
|
+
return /* @__PURE__ */ jsx30(
|
|
2753
2683
|
"div",
|
|
2754
2684
|
{
|
|
2755
2685
|
role: "alert",
|
|
@@ -2761,9 +2691,53 @@ function FieldError2({ className, children, errors, ...props }) {
|
|
|
2761
2691
|
);
|
|
2762
2692
|
}
|
|
2763
2693
|
|
|
2694
|
+
// src/ui/filter-bar/filter-bar.tsx
|
|
2695
|
+
import { jsx as jsx31, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
2696
|
+
function FilterBar({ className, ...props }) {
|
|
2697
|
+
return /* @__PURE__ */ jsx31(
|
|
2698
|
+
"div",
|
|
2699
|
+
{
|
|
2700
|
+
"data-slot": "filter-bar",
|
|
2701
|
+
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2702
|
+
...props
|
|
2703
|
+
}
|
|
2704
|
+
);
|
|
2705
|
+
}
|
|
2706
|
+
function FilterGroup({ className, ...props }) {
|
|
2707
|
+
return /* @__PURE__ */ jsx31(
|
|
2708
|
+
"div",
|
|
2709
|
+
{
|
|
2710
|
+
"data-slot": "filter-group",
|
|
2711
|
+
className: cn("flex flex-wrap items-center gap-2", className),
|
|
2712
|
+
...props
|
|
2713
|
+
}
|
|
2714
|
+
);
|
|
2715
|
+
}
|
|
2716
|
+
function ActiveFilters({ className, ...props }) {
|
|
2717
|
+
return /* @__PURE__ */ jsx31(
|
|
2718
|
+
"div",
|
|
2719
|
+
{
|
|
2720
|
+
"data-slot": "active-filters",
|
|
2721
|
+
"aria-label": "Filtros activos",
|
|
2722
|
+
className: cn("flex flex-wrap items-center gap-1.5", className),
|
|
2723
|
+
...props
|
|
2724
|
+
}
|
|
2725
|
+
);
|
|
2726
|
+
}
|
|
2727
|
+
function FilterChip({
|
|
2728
|
+
children,
|
|
2729
|
+
onRemove,
|
|
2730
|
+
...props
|
|
2731
|
+
}) {
|
|
2732
|
+
return /* @__PURE__ */ jsxs14(Button, { size: "sm", variant: "outline", onPress: onRemove, ...props, children: [
|
|
2733
|
+
children,
|
|
2734
|
+
" \xD7"
|
|
2735
|
+
] });
|
|
2736
|
+
}
|
|
2737
|
+
|
|
2764
2738
|
// src/ui/form-feedback/form-feedback.tsx
|
|
2765
2739
|
import { CheckCircle, CircleAlert, LoaderCircle } from "lucide-react";
|
|
2766
|
-
import { jsx as
|
|
2740
|
+
import { jsx as jsx32, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
2767
2741
|
function FormFeedback({
|
|
2768
2742
|
state,
|
|
2769
2743
|
className,
|
|
@@ -2771,7 +2745,7 @@ function FormFeedback({
|
|
|
2771
2745
|
successLabel = "Guardado"
|
|
2772
2746
|
}) {
|
|
2773
2747
|
if (state.status === "idle")
|
|
2774
|
-
return /* @__PURE__ */
|
|
2748
|
+
return /* @__PURE__ */ jsx32("span", { "aria-hidden": "true", className: cn("inline-flex h-5 items-center", className) });
|
|
2775
2749
|
const error = state.status === "error";
|
|
2776
2750
|
const success = state.status === "success";
|
|
2777
2751
|
return /* @__PURE__ */ jsxs15(
|
|
@@ -2787,10 +2761,10 @@ function FormFeedback({
|
|
|
2787
2761
|
className
|
|
2788
2762
|
),
|
|
2789
2763
|
children: [
|
|
2790
|
-
state.status === "pending" && /* @__PURE__ */
|
|
2791
|
-
success && /* @__PURE__ */
|
|
2792
|
-
error && /* @__PURE__ */
|
|
2793
|
-
/* @__PURE__ */
|
|
2764
|
+
state.status === "pending" && /* @__PURE__ */ jsx32(LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
2765
|
+
success && /* @__PURE__ */ jsx32(CheckCircle, { "aria-hidden": "true", className: "size-3.5" }),
|
|
2766
|
+
error && /* @__PURE__ */ jsx32(CircleAlert, { "aria-hidden": "true", className: "size-3.5" }),
|
|
2767
|
+
/* @__PURE__ */ jsx32("span", { children: state.status === "pending" ? pendingLabel : success ? state.message ?? successLabel : state.message })
|
|
2794
2768
|
]
|
|
2795
2769
|
}
|
|
2796
2770
|
);
|
|
@@ -2834,7 +2808,7 @@ function useFormFeedback(options) {
|
|
|
2834
2808
|
}
|
|
2835
2809
|
|
|
2836
2810
|
// src/ui/form-row/form-row.tsx
|
|
2837
|
-
import { Fragment as Fragment6, jsx as
|
|
2811
|
+
import { Fragment as Fragment6, jsx as jsx33, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
2838
2812
|
function FormRow({
|
|
2839
2813
|
label,
|
|
2840
2814
|
htmlFor,
|
|
@@ -2850,13 +2824,13 @@ function FormRow({
|
|
|
2850
2824
|
/* @__PURE__ */ jsxs16("label", { htmlFor, className: "text-foreground text-sm font-medium", children: [
|
|
2851
2825
|
label,
|
|
2852
2826
|
required && /* @__PURE__ */ jsxs16(Fragment6, { children: [
|
|
2853
|
-
/* @__PURE__ */
|
|
2854
|
-
/* @__PURE__ */
|
|
2827
|
+
/* @__PURE__ */ jsx33("span", { "aria-hidden": "true", className: "text-destructive ml-0.5", children: "*" }),
|
|
2828
|
+
/* @__PURE__ */ jsx33("span", { className: "sr-only", children: " (obligatorio)" })
|
|
2855
2829
|
] })
|
|
2856
2830
|
] }),
|
|
2857
2831
|
children,
|
|
2858
|
-
hint && /* @__PURE__ */
|
|
2859
|
-
error && /* @__PURE__ */
|
|
2832
|
+
hint && /* @__PURE__ */ jsx33("p", { id: hintId, className: "text-muted-foreground text-xs", children: hint }),
|
|
2833
|
+
error && /* @__PURE__ */ jsx33("p", { id: errorId, role: "alert", className: "text-destructive text-xs font-medium", children: error })
|
|
2860
2834
|
] });
|
|
2861
2835
|
}
|
|
2862
2836
|
|
|
@@ -2869,17 +2843,17 @@ import {
|
|
|
2869
2843
|
Tooltip as TooltipPrimitive,
|
|
2870
2844
|
TooltipTrigger as TooltipTriggerPrimitive
|
|
2871
2845
|
} from "react-aria-components";
|
|
2872
|
-
import { jsx as
|
|
2846
|
+
import { jsx as jsx34, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
2873
2847
|
function TooltipTrigger({
|
|
2874
2848
|
delay = 0,
|
|
2875
2849
|
...props
|
|
2876
2850
|
}) {
|
|
2877
|
-
return /* @__PURE__ */
|
|
2851
|
+
return /* @__PURE__ */ jsx34(TooltipTriggerPrimitive, { "data-slot": "tooltip-trigger", delay, ...props });
|
|
2878
2852
|
}
|
|
2879
2853
|
function Tooltip({ label, children, delay, ...props }) {
|
|
2880
2854
|
return /* @__PURE__ */ jsxs17(TooltipTrigger, { delay, children: [
|
|
2881
2855
|
children,
|
|
2882
|
-
/* @__PURE__ */
|
|
2856
|
+
/* @__PURE__ */ jsx34(TooltipContent, { ...props, children: label })
|
|
2883
2857
|
] });
|
|
2884
2858
|
}
|
|
2885
2859
|
function TooltipContent({
|
|
@@ -2904,7 +2878,7 @@ function TooltipContent({
|
|
|
2904
2878
|
...props,
|
|
2905
2879
|
children: [
|
|
2906
2880
|
children,
|
|
2907
|
-
/* @__PURE__ */
|
|
2881
|
+
/* @__PURE__ */ jsx34(
|
|
2908
2882
|
OverlayArrow,
|
|
2909
2883
|
{
|
|
2910
2884
|
className: "bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-xs",
|
|
@@ -2922,7 +2896,7 @@ function TooltipContent({
|
|
|
2922
2896
|
}
|
|
2923
2897
|
|
|
2924
2898
|
// src/ui/icon-button/icon-button.tsx
|
|
2925
|
-
import { jsx as
|
|
2899
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
2926
2900
|
function IconButton({
|
|
2927
2901
|
label,
|
|
2928
2902
|
children,
|
|
@@ -2932,7 +2906,7 @@ function IconButton({
|
|
|
2932
2906
|
...props
|
|
2933
2907
|
}) {
|
|
2934
2908
|
const linkClassName = cn(buttonVariants({ variant, size: "icon" }), className);
|
|
2935
|
-
return /* @__PURE__ */
|
|
2909
|
+
return /* @__PURE__ */ jsx35(Tooltip, { label, children: href ? /* @__PURE__ */ jsx35(Link2, { "data-slot": "icon-button", "aria-label": label, href, className: linkClassName, children }) : /* @__PURE__ */ jsx35(
|
|
2936
2910
|
Button,
|
|
2937
2911
|
{
|
|
2938
2912
|
"data-slot": "icon-button",
|
|
@@ -2952,9 +2926,9 @@ import { cva as cva10 } from "class-variance-authority";
|
|
|
2952
2926
|
// src/ui/input/input.tsx
|
|
2953
2927
|
import { forwardRef as forwardRef2 } from "react";
|
|
2954
2928
|
import { Input as AriaInput2 } from "react-aria-components";
|
|
2955
|
-
import { jsx as
|
|
2929
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
2956
2930
|
var InputImpl = forwardRef2(function Input2({ className, type, ...props }, ref) {
|
|
2957
|
-
return /* @__PURE__ */
|
|
2931
|
+
return /* @__PURE__ */ jsx36(
|
|
2958
2932
|
AriaInput2,
|
|
2959
2933
|
{
|
|
2960
2934
|
ref,
|
|
@@ -2975,9 +2949,9 @@ import { forwardRef as forwardRef3 } from "react";
|
|
|
2975
2949
|
import {
|
|
2976
2950
|
TextArea as AriaTextArea
|
|
2977
2951
|
} from "react-aria-components";
|
|
2978
|
-
import { jsx as
|
|
2952
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
2979
2953
|
var TextareaImpl = forwardRef3(function Textarea({ className, ...props }, ref) {
|
|
2980
|
-
return /* @__PURE__ */
|
|
2954
|
+
return /* @__PURE__ */ jsx37(
|
|
2981
2955
|
AriaTextArea,
|
|
2982
2956
|
{
|
|
2983
2957
|
ref,
|
|
@@ -3010,11 +2984,11 @@ var inputGroupAddonVariants = cva9(
|
|
|
3010
2984
|
);
|
|
3011
2985
|
|
|
3012
2986
|
// src/ui/input-group/input-group.tsx
|
|
3013
|
-
import { jsx as
|
|
2987
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
3014
2988
|
function InputGroup({ className, ...props }) {
|
|
3015
2989
|
return (
|
|
3016
2990
|
// biome-ignore lint/a11y/useSemanticElements: fieldset cannot preserve this inline control composition.
|
|
3017
|
-
/* @__PURE__ */
|
|
2991
|
+
/* @__PURE__ */ jsx38(
|
|
3018
2992
|
"div",
|
|
3019
2993
|
{
|
|
3020
2994
|
role: "group",
|
|
@@ -3036,7 +3010,7 @@ function InputGroupAddon({
|
|
|
3036
3010
|
}) {
|
|
3037
3011
|
return (
|
|
3038
3012
|
// biome-ignore lint/a11y/useSemanticElements: this addon delegates focus to its associated input.
|
|
3039
|
-
/* @__PURE__ */
|
|
3013
|
+
/* @__PURE__ */ jsx38(
|
|
3040
3014
|
"div",
|
|
3041
3015
|
{
|
|
3042
3016
|
role: "group",
|
|
@@ -3067,7 +3041,7 @@ function InputGroupButton({
|
|
|
3067
3041
|
...props
|
|
3068
3042
|
}) {
|
|
3069
3043
|
const buttonSize = size === "icon-xs" || size === "icon-sm" ? size : size;
|
|
3070
|
-
return /* @__PURE__ */
|
|
3044
|
+
return /* @__PURE__ */ jsx38(
|
|
3071
3045
|
Button,
|
|
3072
3046
|
{
|
|
3073
3047
|
"data-slot": "input-group-button",
|
|
@@ -3080,7 +3054,7 @@ function InputGroupButton({
|
|
|
3080
3054
|
);
|
|
3081
3055
|
}
|
|
3082
3056
|
function InputGroupText({ className, ...props }) {
|
|
3083
|
-
return /* @__PURE__ */
|
|
3057
|
+
return /* @__PURE__ */ jsx38(
|
|
3084
3058
|
"span",
|
|
3085
3059
|
{
|
|
3086
3060
|
"data-slot": "input-group-text",
|
|
@@ -3093,7 +3067,7 @@ function InputGroupText({ className, ...props }) {
|
|
|
3093
3067
|
);
|
|
3094
3068
|
}
|
|
3095
3069
|
function InputGroupInput({ className, ...props }) {
|
|
3096
|
-
return /* @__PURE__ */
|
|
3070
|
+
return /* @__PURE__ */ jsx38(
|
|
3097
3071
|
Input3,
|
|
3098
3072
|
{
|
|
3099
3073
|
"data-slot": "input-group-control",
|
|
@@ -3106,7 +3080,7 @@ function InputGroupInput({ className, ...props }) {
|
|
|
3106
3080
|
);
|
|
3107
3081
|
}
|
|
3108
3082
|
function InputGroupTextarea({ className, ...props }) {
|
|
3109
|
-
return /* @__PURE__ */
|
|
3083
|
+
return /* @__PURE__ */ jsx38(
|
|
3110
3084
|
Textarea2,
|
|
3111
3085
|
{
|
|
3112
3086
|
"data-slot": "input-group-control",
|
|
@@ -3120,7 +3094,7 @@ function InputGroupTextarea({ className, ...props }) {
|
|
|
3120
3094
|
}
|
|
3121
3095
|
|
|
3122
3096
|
// src/ui/kanban/kanban.tsx
|
|
3123
|
-
import { jsx as
|
|
3097
|
+
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3124
3098
|
var columnSize = {
|
|
3125
3099
|
compact: "w-56",
|
|
3126
3100
|
default: "w-72",
|
|
@@ -3132,13 +3106,13 @@ function KanbanViewport({
|
|
|
3132
3106
|
contentClassName,
|
|
3133
3107
|
...props
|
|
3134
3108
|
}) {
|
|
3135
|
-
return /* @__PURE__ */
|
|
3109
|
+
return /* @__PURE__ */ jsx39(
|
|
3136
3110
|
"div",
|
|
3137
3111
|
{
|
|
3138
3112
|
"data-slot": "kanban-viewport",
|
|
3139
3113
|
className: cn("-mx-1 overflow-x-auto pb-3", className),
|
|
3140
3114
|
...props,
|
|
3141
|
-
children: /* @__PURE__ */
|
|
3115
|
+
children: /* @__PURE__ */ jsx39(
|
|
3142
3116
|
"div",
|
|
3143
3117
|
{
|
|
3144
3118
|
"data-slot": "kanban-viewport-content",
|
|
@@ -3154,7 +3128,7 @@ function KanbanColumn({
|
|
|
3154
3128
|
size = "default",
|
|
3155
3129
|
...props
|
|
3156
3130
|
}) {
|
|
3157
|
-
return /* @__PURE__ */
|
|
3131
|
+
return /* @__PURE__ */ jsx39(
|
|
3158
3132
|
"section",
|
|
3159
3133
|
{
|
|
3160
3134
|
"data-slot": "kanban-column",
|
|
@@ -3165,7 +3139,7 @@ function KanbanColumn({
|
|
|
3165
3139
|
);
|
|
3166
3140
|
}
|
|
3167
3141
|
function KanbanColumnHeader({ className, ...props }) {
|
|
3168
|
-
return /* @__PURE__ */
|
|
3142
|
+
return /* @__PURE__ */ jsx39(
|
|
3169
3143
|
"header",
|
|
3170
3144
|
{
|
|
3171
3145
|
"data-slot": "kanban-column-header",
|
|
@@ -3175,7 +3149,7 @@ function KanbanColumnHeader({ className, ...props }) {
|
|
|
3175
3149
|
);
|
|
3176
3150
|
}
|
|
3177
3151
|
function KanbanColumnTitle({ className, ...props }) {
|
|
3178
|
-
return /* @__PURE__ */
|
|
3152
|
+
return /* @__PURE__ */ jsx39(
|
|
3179
3153
|
"span",
|
|
3180
3154
|
{
|
|
3181
3155
|
"data-slot": "kanban-column-title",
|
|
@@ -3188,14 +3162,14 @@ function KanbanColumnTitle({ className, ...props }) {
|
|
|
3188
3162
|
);
|
|
3189
3163
|
}
|
|
3190
3164
|
function KanbanColumnBody({ className, ...props }) {
|
|
3191
|
-
return /* @__PURE__ */
|
|
3165
|
+
return /* @__PURE__ */ jsx39("div", { "data-slot": "kanban-column-body", className: cn("space-y-2", className), ...props });
|
|
3192
3166
|
}
|
|
3193
3167
|
function KanbanEmpty({
|
|
3194
3168
|
className,
|
|
3195
3169
|
compact = false,
|
|
3196
3170
|
...props
|
|
3197
3171
|
}) {
|
|
3198
|
-
return /* @__PURE__ */
|
|
3172
|
+
return /* @__PURE__ */ jsx39(
|
|
3199
3173
|
"p",
|
|
3200
3174
|
{
|
|
3201
3175
|
"data-slot": "kanban-empty",
|
|
@@ -3211,9 +3185,9 @@ function KanbanEmpty({
|
|
|
3211
3185
|
}
|
|
3212
3186
|
|
|
3213
3187
|
// src/ui/kbd/kbd.tsx
|
|
3214
|
-
import { jsx as
|
|
3188
|
+
import { jsx as jsx40 } from "react/jsx-runtime";
|
|
3215
3189
|
function Kbd({ className, ...props }) {
|
|
3216
|
-
return /* @__PURE__ */
|
|
3190
|
+
return /* @__PURE__ */ jsx40(
|
|
3217
3191
|
"kbd",
|
|
3218
3192
|
{
|
|
3219
3193
|
"data-slot": "kbd",
|
|
@@ -3226,7 +3200,7 @@ function Kbd({ className, ...props }) {
|
|
|
3226
3200
|
);
|
|
3227
3201
|
}
|
|
3228
3202
|
function KbdGroup({ className, ...props }) {
|
|
3229
|
-
return /* @__PURE__ */
|
|
3203
|
+
return /* @__PURE__ */ jsx40(
|
|
3230
3204
|
"span",
|
|
3231
3205
|
{
|
|
3232
3206
|
"data-slot": "kbd-group",
|
|
@@ -3238,13 +3212,13 @@ function KbdGroup({ className, ...props }) {
|
|
|
3238
3212
|
|
|
3239
3213
|
// src/ui/loading-overlay/loading-overlay.tsx
|
|
3240
3214
|
import { LoaderCircle as LoaderCircle2 } from "lucide-react";
|
|
3241
|
-
import { jsx as
|
|
3215
|
+
import { jsx as jsx41, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
3242
3216
|
function LoadingOverlay({
|
|
3243
3217
|
label = "Cargando",
|
|
3244
3218
|
className,
|
|
3245
3219
|
...props
|
|
3246
3220
|
}) {
|
|
3247
|
-
return /* @__PURE__ */
|
|
3221
|
+
return /* @__PURE__ */ jsx41(
|
|
3248
3222
|
"output",
|
|
3249
3223
|
{
|
|
3250
3224
|
"aria-live": "polite",
|
|
@@ -3254,8 +3228,8 @@ function LoadingOverlay({
|
|
|
3254
3228
|
),
|
|
3255
3229
|
...props,
|
|
3256
3230
|
children: /* @__PURE__ */ jsxs18("div", { className: "border-border bg-background flex items-center gap-2 rounded-lg border px-3 py-2 text-sm shadow-sm", children: [
|
|
3257
|
-
/* @__PURE__ */
|
|
3258
|
-
/* @__PURE__ */
|
|
3231
|
+
/* @__PURE__ */ jsx41(LoaderCircle2, { className: "motion-safe:animate-spin", "aria-hidden": "true" }),
|
|
3232
|
+
/* @__PURE__ */ jsx41("span", { children: label })
|
|
3259
3233
|
] })
|
|
3260
3234
|
}
|
|
3261
3235
|
);
|
|
@@ -3268,10 +3242,10 @@ import {
|
|
|
3268
3242
|
MenuTrigger as AriaMenuTrigger,
|
|
3269
3243
|
Popover as Popover3
|
|
3270
3244
|
} from "react-aria-components";
|
|
3271
|
-
import { jsx as
|
|
3245
|
+
import { jsx as jsx42 } from "react/jsx-runtime";
|
|
3272
3246
|
var MenuTrigger = AriaMenuTrigger;
|
|
3273
3247
|
function MenuContent({ className, ...props }) {
|
|
3274
|
-
return /* @__PURE__ */
|
|
3248
|
+
return /* @__PURE__ */ jsx42(
|
|
3275
3249
|
Popover3,
|
|
3276
3250
|
{
|
|
3277
3251
|
"data-slot": "menu-content",
|
|
@@ -3285,10 +3259,10 @@ function MenuContent({ className, ...props }) {
|
|
|
3285
3259
|
);
|
|
3286
3260
|
}
|
|
3287
3261
|
function Menu({ className, ...props }) {
|
|
3288
|
-
return /* @__PURE__ */
|
|
3262
|
+
return /* @__PURE__ */ jsx42(AriaMenu, { "data-slot": "menu", className: cn("outline-none", className), ...props });
|
|
3289
3263
|
}
|
|
3290
3264
|
function MenuItem({ className, children, ...props }) {
|
|
3291
|
-
return /* @__PURE__ */
|
|
3265
|
+
return /* @__PURE__ */ jsx42(
|
|
3292
3266
|
AriaMenuItem,
|
|
3293
3267
|
{
|
|
3294
3268
|
"data-slot": "menu-item",
|
|
@@ -3303,7 +3277,7 @@ function MenuItem({ className, children, ...props }) {
|
|
|
3303
3277
|
}
|
|
3304
3278
|
|
|
3305
3279
|
// src/ui/metric-card/metric-card.tsx
|
|
3306
|
-
import { jsx as
|
|
3280
|
+
import { jsx as jsx43, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
3307
3281
|
function MetricCard({
|
|
3308
3282
|
className,
|
|
3309
3283
|
label,
|
|
@@ -3317,7 +3291,7 @@ function MetricCard({
|
|
|
3317
3291
|
loadingLabel = "Cargando m\xE9trica",
|
|
3318
3292
|
...props
|
|
3319
3293
|
}) {
|
|
3320
|
-
return /* @__PURE__ */
|
|
3294
|
+
return /* @__PURE__ */ jsx43(
|
|
3321
3295
|
Card,
|
|
3322
3296
|
{
|
|
3323
3297
|
"data-slot": "metric-card",
|
|
@@ -3327,15 +3301,15 @@ function MetricCard({
|
|
|
3327
3301
|
className: cn("min-w-0", className),
|
|
3328
3302
|
...props,
|
|
3329
3303
|
children: /* @__PURE__ */ jsxs19(CardContent, { className: "flex items-start gap-3", children: [
|
|
3330
|
-
icon ? /* @__PURE__ */
|
|
3304
|
+
icon ? /* @__PURE__ */ jsx43("div", { "data-slot": "metric-card-icon", className: "text-muted-foreground shrink-0", children: icon }) : null,
|
|
3331
3305
|
/* @__PURE__ */ jsxs19("div", { className: "min-w-0", children: [
|
|
3332
|
-
/* @__PURE__ */
|
|
3333
|
-
/* @__PURE__ */
|
|
3306
|
+
/* @__PURE__ */ jsx43("p", { "data-slot": "metric-card-label", className: "text-muted-foreground text-sm", children: label }),
|
|
3307
|
+
/* @__PURE__ */ jsx43(
|
|
3334
3308
|
"strong",
|
|
3335
3309
|
{
|
|
3336
3310
|
"data-slot": "metric-card-value",
|
|
3337
3311
|
className: "mt-1 block text-2xl font-semibold tracking-tight",
|
|
3338
|
-
children: loading ? /* @__PURE__ */
|
|
3312
|
+
children: loading ? /* @__PURE__ */ jsx43(
|
|
3339
3313
|
"span",
|
|
3340
3314
|
{
|
|
3341
3315
|
"data-slot": "metric-card-loading",
|
|
@@ -3345,7 +3319,7 @@ function MetricCard({
|
|
|
3345
3319
|
) : value
|
|
3346
3320
|
}
|
|
3347
3321
|
),
|
|
3348
|
-
delta ? /* @__PURE__ */
|
|
3322
|
+
delta ? /* @__PURE__ */ jsx43(
|
|
3349
3323
|
"span",
|
|
3350
3324
|
{
|
|
3351
3325
|
"data-slot": "metric-card-delta",
|
|
@@ -3358,13 +3332,26 @@ function MetricCard({
|
|
|
3358
3332
|
children: delta
|
|
3359
3333
|
}
|
|
3360
3334
|
) : null,
|
|
3361
|
-
description ? /* @__PURE__ */
|
|
3335
|
+
description ? /* @__PURE__ */ jsx43("p", { "data-slot": "metric-card-description", className: "text-muted-foreground mt-1 text-xs", children: description }) : null
|
|
3362
3336
|
] })
|
|
3363
3337
|
] })
|
|
3364
3338
|
}
|
|
3365
3339
|
);
|
|
3366
3340
|
}
|
|
3367
3341
|
|
|
3342
|
+
// src/ui/metric-grid/metric-grid.tsx
|
|
3343
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
3344
|
+
function MetricGrid({ className, ...props }) {
|
|
3345
|
+
return /* @__PURE__ */ jsx44(
|
|
3346
|
+
"div",
|
|
3347
|
+
{
|
|
3348
|
+
"data-slot": "metric-grid",
|
|
3349
|
+
className: cn("grid gap-4 sm:grid-cols-2 xl:grid-cols-4", className),
|
|
3350
|
+
...props
|
|
3351
|
+
}
|
|
3352
|
+
);
|
|
3353
|
+
}
|
|
3354
|
+
|
|
3368
3355
|
// src/ui/otp-input/otp-input.tsx
|
|
3369
3356
|
import {
|
|
3370
3357
|
forwardRef as forwardRef4,
|
|
@@ -3373,7 +3360,7 @@ import {
|
|
|
3373
3360
|
useState as useState12
|
|
3374
3361
|
} from "react";
|
|
3375
3362
|
import { Input as AriaInput3 } from "react-aria-components";
|
|
3376
|
-
import { jsx as
|
|
3363
|
+
import { jsx as jsx45, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
3377
3364
|
function normalizeOtp(value, length) {
|
|
3378
3365
|
return value.replace(/[^0-9]/g, "").slice(0, length);
|
|
3379
3366
|
}
|
|
@@ -3435,7 +3422,7 @@ var OtpInputImpl = forwardRef4(function OtpInput({
|
|
|
3435
3422
|
style: { gridTemplateColumns: `repeat(${slotCount}, minmax(0, 2.5rem))` },
|
|
3436
3423
|
onPointerDown: handlePointerDown,
|
|
3437
3424
|
children: [
|
|
3438
|
-
/* @__PURE__ */
|
|
3425
|
+
/* @__PURE__ */ jsx45(
|
|
3439
3426
|
AriaInput3,
|
|
3440
3427
|
{
|
|
3441
3428
|
...props,
|
|
@@ -3475,7 +3462,7 @@ var OtpInputImpl = forwardRef4(function OtpInput({
|
|
|
3475
3462
|
}
|
|
3476
3463
|
}
|
|
3477
3464
|
),
|
|
3478
|
-
slots.map((slot, index) => /* @__PURE__ */
|
|
3465
|
+
slots.map((slot, index) => /* @__PURE__ */ jsx45(
|
|
3479
3466
|
"span",
|
|
3480
3467
|
{
|
|
3481
3468
|
"aria-hidden": "true",
|
|
@@ -3498,9 +3485,9 @@ var OtpInputImpl = forwardRef4(function OtpInput({
|
|
|
3498
3485
|
var OtpInput2 = OtpInputImpl;
|
|
3499
3486
|
|
|
3500
3487
|
// src/ui/page-header/page-header.tsx
|
|
3501
|
-
import { jsx as
|
|
3488
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
3502
3489
|
function PageHeader({ className, ...props }) {
|
|
3503
|
-
return /* @__PURE__ */
|
|
3490
|
+
return /* @__PURE__ */ jsx46(
|
|
3504
3491
|
"header",
|
|
3505
3492
|
{
|
|
3506
3493
|
"data-slot": "page-header",
|
|
@@ -3513,10 +3500,10 @@ function PageHeader({ className, ...props }) {
|
|
|
3513
3500
|
);
|
|
3514
3501
|
}
|
|
3515
3502
|
function PageHeaderHeading({ className, ...props }) {
|
|
3516
|
-
return /* @__PURE__ */
|
|
3503
|
+
return /* @__PURE__ */ jsx46("div", { "data-slot": "page-header-heading", className: cn("min-w-0", className), ...props });
|
|
3517
3504
|
}
|
|
3518
3505
|
function PageHeaderTitle({ className, children, ...props }) {
|
|
3519
|
-
return /* @__PURE__ */
|
|
3506
|
+
return /* @__PURE__ */ jsx46(
|
|
3520
3507
|
"h1",
|
|
3521
3508
|
{
|
|
3522
3509
|
"data-slot": "page-header-title",
|
|
@@ -3527,7 +3514,7 @@ function PageHeaderTitle({ className, children, ...props }) {
|
|
|
3527
3514
|
);
|
|
3528
3515
|
}
|
|
3529
3516
|
function PageHeaderDescription({ className, ...props }) {
|
|
3530
|
-
return /* @__PURE__ */
|
|
3517
|
+
return /* @__PURE__ */ jsx46(
|
|
3531
3518
|
"p",
|
|
3532
3519
|
{
|
|
3533
3520
|
"data-slot": "page-header-description",
|
|
@@ -3537,7 +3524,7 @@ function PageHeaderDescription({ className, ...props }) {
|
|
|
3537
3524
|
);
|
|
3538
3525
|
}
|
|
3539
3526
|
function PageHeaderActions({ className, ...props }) {
|
|
3540
|
-
return /* @__PURE__ */
|
|
3527
|
+
return /* @__PURE__ */ jsx46(
|
|
3541
3528
|
"div",
|
|
3542
3529
|
{
|
|
3543
3530
|
"data-slot": "page-header-actions",
|
|
@@ -3547,7 +3534,7 @@ function PageHeaderActions({ className, ...props }) {
|
|
|
3547
3534
|
);
|
|
3548
3535
|
}
|
|
3549
3536
|
function SectionHeader({ className, ...props }) {
|
|
3550
|
-
return /* @__PURE__ */
|
|
3537
|
+
return /* @__PURE__ */ jsx46(
|
|
3551
3538
|
"div",
|
|
3552
3539
|
{
|
|
3553
3540
|
"data-slot": "section-header",
|
|
@@ -3557,10 +3544,10 @@ function SectionHeader({ className, ...props }) {
|
|
|
3557
3544
|
);
|
|
3558
3545
|
}
|
|
3559
3546
|
function SectionHeaderHeading({ className, ...props }) {
|
|
3560
|
-
return /* @__PURE__ */
|
|
3547
|
+
return /* @__PURE__ */ jsx46("div", { "data-slot": "section-header-heading", className: cn("min-w-0", className), ...props });
|
|
3561
3548
|
}
|
|
3562
3549
|
function SectionHeaderTitle({ className, ...props }) {
|
|
3563
|
-
return /* @__PURE__ */
|
|
3550
|
+
return /* @__PURE__ */ jsx46(
|
|
3564
3551
|
"h2",
|
|
3565
3552
|
{
|
|
3566
3553
|
"data-slot": "section-header-title",
|
|
@@ -3570,7 +3557,7 @@ function SectionHeaderTitle({ className, ...props }) {
|
|
|
3570
3557
|
);
|
|
3571
3558
|
}
|
|
3572
3559
|
function SectionHeaderDescription({ className, ...props }) {
|
|
3573
|
-
return /* @__PURE__ */
|
|
3560
|
+
return /* @__PURE__ */ jsx46(
|
|
3574
3561
|
"p",
|
|
3575
3562
|
{
|
|
3576
3563
|
"data-slot": "section-header-description",
|
|
@@ -3580,7 +3567,7 @@ function SectionHeaderDescription({ className, ...props }) {
|
|
|
3580
3567
|
);
|
|
3581
3568
|
}
|
|
3582
3569
|
function SectionHeaderActions({ className, ...props }) {
|
|
3583
|
-
return /* @__PURE__ */
|
|
3570
|
+
return /* @__PURE__ */ jsx46(
|
|
3584
3571
|
"div",
|
|
3585
3572
|
{
|
|
3586
3573
|
"data-slot": "section-header-actions",
|
|
@@ -3593,7 +3580,7 @@ function SectionHeaderActions({ className, ...props }) {
|
|
|
3593
3580
|
// src/ui/pagination/pagination.tsx
|
|
3594
3581
|
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
3595
3582
|
import * as React6 from "react";
|
|
3596
|
-
import { jsx as
|
|
3583
|
+
import { jsx as jsx47, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
3597
3584
|
function visiblePages(page, pageCount, siblingCount) {
|
|
3598
3585
|
return [
|
|
3599
3586
|
.../* @__PURE__ */ new Set([
|
|
@@ -3629,9 +3616,9 @@ function Pagination({
|
|
|
3629
3616
|
"aria-label": ariaLabel,
|
|
3630
3617
|
className: cn("flex flex-wrap items-center justify-between gap-4", className),
|
|
3631
3618
|
children: [
|
|
3632
|
-
/* @__PURE__ */
|
|
3619
|
+
/* @__PURE__ */ jsx47("p", { className: "text-muted-foreground text-sm", children: summary ?? `P\xE1gina ${currentPage} de ${totalPages}` }),
|
|
3633
3620
|
/* @__PURE__ */ jsxs21("div", { className: "flex items-center gap-1", children: [
|
|
3634
|
-
/* @__PURE__ */
|
|
3621
|
+
/* @__PURE__ */ jsx47(
|
|
3635
3622
|
Button,
|
|
3636
3623
|
{
|
|
3637
3624
|
"aria-label": "P\xE1gina anterior",
|
|
@@ -3639,14 +3626,14 @@ function Pagination({
|
|
|
3639
3626
|
onPress: () => onPageChange(currentPage - 1),
|
|
3640
3627
|
size: "icon",
|
|
3641
3628
|
variant: "ghost",
|
|
3642
|
-
children: /* @__PURE__ */
|
|
3629
|
+
children: /* @__PURE__ */ jsx47(ChevronLeft, {})
|
|
3643
3630
|
}
|
|
3644
3631
|
),
|
|
3645
3632
|
pages.map((item, index) => {
|
|
3646
3633
|
const previousPage = pages[index - 1];
|
|
3647
3634
|
return /* @__PURE__ */ jsxs21(React6.Fragment, { children: [
|
|
3648
|
-
previousPage !== void 0 && item > previousPage + 1 ? /* @__PURE__ */
|
|
3649
|
-
/* @__PURE__ */
|
|
3635
|
+
previousPage !== void 0 && item > previousPage + 1 ? /* @__PURE__ */ jsx47("span", { "aria-hidden": "true", className: "text-muted-foreground px-1", children: "\u2026" }) : null,
|
|
3636
|
+
/* @__PURE__ */ jsx47(
|
|
3650
3637
|
Button,
|
|
3651
3638
|
{
|
|
3652
3639
|
"aria-current": item === currentPage ? "page" : void 0,
|
|
@@ -3659,7 +3646,7 @@ function Pagination({
|
|
|
3659
3646
|
)
|
|
3660
3647
|
] }, item);
|
|
3661
3648
|
}),
|
|
3662
|
-
/* @__PURE__ */
|
|
3649
|
+
/* @__PURE__ */ jsx47(
|
|
3663
3650
|
Button,
|
|
3664
3651
|
{
|
|
3665
3652
|
"aria-label": "P\xE1gina siguiente",
|
|
@@ -3667,7 +3654,7 @@ function Pagination({
|
|
|
3667
3654
|
onPress: () => onPageChange(currentPage + 1),
|
|
3668
3655
|
size: "icon",
|
|
3669
3656
|
variant: "ghost",
|
|
3670
|
-
children: /* @__PURE__ */
|
|
3657
|
+
children: /* @__PURE__ */ jsx47(ChevronRight, {})
|
|
3671
3658
|
}
|
|
3672
3659
|
)
|
|
3673
3660
|
] })
|
|
@@ -3681,10 +3668,10 @@ import {
|
|
|
3681
3668
|
DialogTrigger as AriaDialogTrigger,
|
|
3682
3669
|
Popover as AriaPopover
|
|
3683
3670
|
} from "react-aria-components";
|
|
3684
|
-
import { jsx as
|
|
3671
|
+
import { jsx as jsx48, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
3685
3672
|
var PopoverTrigger = AriaDialogTrigger;
|
|
3686
3673
|
function PopoverContent({ className, ...props }) {
|
|
3687
|
-
return /* @__PURE__ */
|
|
3674
|
+
return /* @__PURE__ */ jsx48(
|
|
3688
3675
|
AriaPopover,
|
|
3689
3676
|
{
|
|
3690
3677
|
"data-slot": "popover",
|
|
@@ -3699,12 +3686,12 @@ function PopoverContent({ className, ...props }) {
|
|
|
3699
3686
|
);
|
|
3700
3687
|
}
|
|
3701
3688
|
function Popover4(props) {
|
|
3702
|
-
if (!("trigger" in props)) return /* @__PURE__ */
|
|
3689
|
+
if (!("trigger" in props)) return /* @__PURE__ */ jsx48(PopoverContent, { ...props });
|
|
3703
3690
|
const { children, trigger, triggerProps, defaultOpen, isOpen, onOpenChange, ...contentProps } = props;
|
|
3704
|
-
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */
|
|
3691
|
+
const triggerElement = typeof trigger === "string" ? /* @__PURE__ */ jsx48(Button, { ...triggerProps, children: trigger }) : trigger;
|
|
3705
3692
|
return /* @__PURE__ */ jsxs22(PopoverTrigger, { defaultOpen, isOpen, onOpenChange, children: [
|
|
3706
3693
|
triggerElement,
|
|
3707
|
-
/* @__PURE__ */
|
|
3694
|
+
/* @__PURE__ */ jsx48(PopoverContent, { ...contentProps, children })
|
|
3708
3695
|
] });
|
|
3709
3696
|
}
|
|
3710
3697
|
|
|
@@ -3716,7 +3703,7 @@ import {
|
|
|
3716
3703
|
Input as AriaInput4,
|
|
3717
3704
|
NumberField as AriaNumberField
|
|
3718
3705
|
} from "react-aria-components";
|
|
3719
|
-
import { jsx as
|
|
3706
|
+
import { jsx as jsx49, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
3720
3707
|
function QuantityInput({
|
|
3721
3708
|
className,
|
|
3722
3709
|
inputClassName,
|
|
@@ -3726,7 +3713,7 @@ function QuantityInput({
|
|
|
3726
3713
|
step = 1,
|
|
3727
3714
|
...props
|
|
3728
3715
|
}) {
|
|
3729
|
-
return /* @__PURE__ */
|
|
3716
|
+
return /* @__PURE__ */ jsx49(
|
|
3730
3717
|
AriaNumberField,
|
|
3731
3718
|
{
|
|
3732
3719
|
...props,
|
|
@@ -3743,17 +3730,17 @@ function QuantityInput({
|
|
|
3743
3730
|
"data-slot": "quantity-input-group",
|
|
3744
3731
|
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",
|
|
3745
3732
|
children: [
|
|
3746
|
-
/* @__PURE__ */
|
|
3733
|
+
/* @__PURE__ */ jsx49(
|
|
3747
3734
|
AriaButton,
|
|
3748
3735
|
{
|
|
3749
3736
|
slot: "decrement",
|
|
3750
3737
|
"aria-label": decrementAriaLabel,
|
|
3751
3738
|
"data-slot": "quantity-input-decrement",
|
|
3752
3739
|
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",
|
|
3753
|
-
children: /* @__PURE__ */
|
|
3740
|
+
children: /* @__PURE__ */ jsx49(Minus2, { "aria-hidden": "true", className: "size-4" })
|
|
3754
3741
|
}
|
|
3755
3742
|
),
|
|
3756
|
-
/* @__PURE__ */
|
|
3743
|
+
/* @__PURE__ */ jsx49(
|
|
3757
3744
|
AriaInput4,
|
|
3758
3745
|
{
|
|
3759
3746
|
"data-slot": "quantity-input-value",
|
|
@@ -3763,14 +3750,14 @@ function QuantityInput({
|
|
|
3763
3750
|
)
|
|
3764
3751
|
}
|
|
3765
3752
|
),
|
|
3766
|
-
/* @__PURE__ */
|
|
3753
|
+
/* @__PURE__ */ jsx49(
|
|
3767
3754
|
AriaButton,
|
|
3768
3755
|
{
|
|
3769
3756
|
slot: "increment",
|
|
3770
3757
|
"aria-label": incrementAriaLabel,
|
|
3771
3758
|
"data-slot": "quantity-input-increment",
|
|
3772
3759
|
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",
|
|
3773
|
-
children: /* @__PURE__ */
|
|
3760
|
+
children: /* @__PURE__ */ jsx49(Plus, { "aria-hidden": "true", className: "size-4" })
|
|
3774
3761
|
}
|
|
3775
3762
|
)
|
|
3776
3763
|
]
|
|
@@ -3790,10 +3777,10 @@ import {
|
|
|
3790
3777
|
ListBoxItem as ListBoxItem3,
|
|
3791
3778
|
Popover as Popover5
|
|
3792
3779
|
} from "react-aria-components";
|
|
3793
|
-
import { Fragment as Fragment8, jsx as
|
|
3780
|
+
import { Fragment as Fragment8, jsx as jsx50, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
3794
3781
|
var Select = AriaSelect;
|
|
3795
3782
|
function SelectTrigger({ className, children, ...props }) {
|
|
3796
|
-
return /* @__PURE__ */
|
|
3783
|
+
return /* @__PURE__ */ jsx50(
|
|
3797
3784
|
AriaButton2,
|
|
3798
3785
|
{
|
|
3799
3786
|
"data-slot": "select-trigger",
|
|
@@ -3804,7 +3791,7 @@ function SelectTrigger({ className, children, ...props }) {
|
|
|
3804
3791
|
...props,
|
|
3805
3792
|
children: (state) => /* @__PURE__ */ jsxs24(Fragment8, { children: [
|
|
3806
3793
|
typeof children === "function" ? children(state) : children,
|
|
3807
|
-
/* @__PURE__ */
|
|
3794
|
+
/* @__PURE__ */ jsx50(
|
|
3808
3795
|
ChevronDown2,
|
|
3809
3796
|
{
|
|
3810
3797
|
"aria-hidden": "true",
|
|
@@ -3816,7 +3803,7 @@ function SelectTrigger({ className, children, ...props }) {
|
|
|
3816
3803
|
);
|
|
3817
3804
|
}
|
|
3818
3805
|
function SelectValue({ className, ...props }) {
|
|
3819
|
-
return /* @__PURE__ */
|
|
3806
|
+
return /* @__PURE__ */ jsx50(
|
|
3820
3807
|
AriaSelectValue,
|
|
3821
3808
|
{
|
|
3822
3809
|
"data-slot": "select-value",
|
|
@@ -3826,7 +3813,7 @@ function SelectValue({ className, ...props }) {
|
|
|
3826
3813
|
);
|
|
3827
3814
|
}
|
|
3828
3815
|
function SelectContent({ className, ...props }) {
|
|
3829
|
-
return /* @__PURE__ */
|
|
3816
|
+
return /* @__PURE__ */ jsx50(
|
|
3830
3817
|
Popover5,
|
|
3831
3818
|
{
|
|
3832
3819
|
"data-slot": "select-content",
|
|
@@ -3840,7 +3827,7 @@ function SelectContent({ className, ...props }) {
|
|
|
3840
3827
|
);
|
|
3841
3828
|
}
|
|
3842
3829
|
function SelectList({ className, ...props }) {
|
|
3843
|
-
return /* @__PURE__ */
|
|
3830
|
+
return /* @__PURE__ */ jsx50(
|
|
3844
3831
|
ListBox3,
|
|
3845
3832
|
{
|
|
3846
3833
|
"data-slot": "select-list",
|
|
@@ -3854,7 +3841,7 @@ function SelectItem({
|
|
|
3854
3841
|
children,
|
|
3855
3842
|
...props
|
|
3856
3843
|
}) {
|
|
3857
|
-
return /* @__PURE__ */
|
|
3844
|
+
return /* @__PURE__ */ jsx50(
|
|
3858
3845
|
ListBoxItem3,
|
|
3859
3846
|
{
|
|
3860
3847
|
"data-slot": "select-item",
|
|
@@ -3868,6 +3855,34 @@ function SelectItem({
|
|
|
3868
3855
|
);
|
|
3869
3856
|
}
|
|
3870
3857
|
|
|
3858
|
+
// src/ui/selection-toolbar/selection-toolbar.tsx
|
|
3859
|
+
import { jsx as jsx51, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
3860
|
+
function SelectionToolbar({
|
|
3861
|
+
count,
|
|
3862
|
+
className,
|
|
3863
|
+
children,
|
|
3864
|
+
...props
|
|
3865
|
+
}) {
|
|
3866
|
+
return /* @__PURE__ */ jsxs25(
|
|
3867
|
+
"div",
|
|
3868
|
+
{
|
|
3869
|
+
"data-slot": "selection-toolbar",
|
|
3870
|
+
className: cn(
|
|
3871
|
+
"flex flex-wrap items-center justify-between gap-2 rounded-lg border bg-muted/40 p-2",
|
|
3872
|
+
className
|
|
3873
|
+
),
|
|
3874
|
+
...props,
|
|
3875
|
+
children: [
|
|
3876
|
+
/* @__PURE__ */ jsxs25("output", { "aria-live": "polite", className: "text-sm font-medium", children: [
|
|
3877
|
+
count,
|
|
3878
|
+
" seleccionados"
|
|
3879
|
+
] }),
|
|
3880
|
+
/* @__PURE__ */ jsx51("div", { className: "flex items-center gap-2", children })
|
|
3881
|
+
]
|
|
3882
|
+
}
|
|
3883
|
+
);
|
|
3884
|
+
}
|
|
3885
|
+
|
|
3871
3886
|
// src/ui/sidebar/sidebar.tsx
|
|
3872
3887
|
import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight2, Ellipsis, Search } from "lucide-react";
|
|
3873
3888
|
import { useCallback as useCallback8, useMemo as useMemo2, useState as useState13 } from "react";
|
|
@@ -3883,7 +3898,7 @@ function useSidebar() {
|
|
|
3883
3898
|
}
|
|
3884
3899
|
|
|
3885
3900
|
// src/ui/sidebar/sidebar.tsx
|
|
3886
|
-
import { Fragment as Fragment9, jsx as
|
|
3901
|
+
import { Fragment as Fragment9, jsx as jsx52, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
3887
3902
|
function SidebarProvider({
|
|
3888
3903
|
defaultCollapsed = false,
|
|
3889
3904
|
collapsed: controlledCollapsed,
|
|
@@ -3908,11 +3923,11 @@ function SidebarProvider({
|
|
|
3908
3923
|
}),
|
|
3909
3924
|
[collapsed, setCollapsed, toggle]
|
|
3910
3925
|
);
|
|
3911
|
-
return /* @__PURE__ */
|
|
3926
|
+
return /* @__PURE__ */ jsx52(SidebarContext.Provider, { value, children });
|
|
3912
3927
|
}
|
|
3913
3928
|
function Sidebar({ className, ...props }) {
|
|
3914
3929
|
const { collapsed } = useSidebar();
|
|
3915
|
-
return /* @__PURE__ */
|
|
3930
|
+
return /* @__PURE__ */ jsx52(
|
|
3916
3931
|
"aside",
|
|
3917
3932
|
{
|
|
3918
3933
|
"data-slot": "sidebar",
|
|
@@ -3926,7 +3941,7 @@ function Sidebar({ className, ...props }) {
|
|
|
3926
3941
|
);
|
|
3927
3942
|
}
|
|
3928
3943
|
function SidebarHeader({ className, ...props }) {
|
|
3929
|
-
return /* @__PURE__ */
|
|
3944
|
+
return /* @__PURE__ */ jsx52(
|
|
3930
3945
|
"div",
|
|
3931
3946
|
{
|
|
3932
3947
|
"data-slot": "sidebar-header",
|
|
@@ -3941,7 +3956,7 @@ function SidebarSearch({
|
|
|
3941
3956
|
className,
|
|
3942
3957
|
...props
|
|
3943
3958
|
}) {
|
|
3944
|
-
return /* @__PURE__ */
|
|
3959
|
+
return /* @__PURE__ */ jsxs26(
|
|
3945
3960
|
"button",
|
|
3946
3961
|
{
|
|
3947
3962
|
type: "button",
|
|
@@ -3952,15 +3967,15 @@ function SidebarSearch({
|
|
|
3952
3967
|
),
|
|
3953
3968
|
...props,
|
|
3954
3969
|
children: [
|
|
3955
|
-
/* @__PURE__ */
|
|
3956
|
-
/* @__PURE__ */
|
|
3957
|
-
/* @__PURE__ */
|
|
3970
|
+
/* @__PURE__ */ jsx52(Search, { className: "size-4 shrink-0" }),
|
|
3971
|
+
/* @__PURE__ */ jsx52("span", { className: "flex-1 text-left", children: label }),
|
|
3972
|
+
/* @__PURE__ */ jsx52("kbd", { className: "bg-secondary text-muted-foreground rounded px-1.5 py-0.5 font-mono text-[10px]", children: shortcut })
|
|
3958
3973
|
]
|
|
3959
3974
|
}
|
|
3960
3975
|
);
|
|
3961
3976
|
}
|
|
3962
3977
|
function SidebarContent({ className, ...props }) {
|
|
3963
|
-
return /* @__PURE__ */
|
|
3978
|
+
return /* @__PURE__ */ jsx52(
|
|
3964
3979
|
"nav",
|
|
3965
3980
|
{
|
|
3966
3981
|
"data-slot": "sidebar-content",
|
|
@@ -3971,7 +3986,7 @@ function SidebarContent({ className, ...props }) {
|
|
|
3971
3986
|
);
|
|
3972
3987
|
}
|
|
3973
3988
|
function SidebarFooter({ className, ...props }) {
|
|
3974
|
-
return /* @__PURE__ */
|
|
3989
|
+
return /* @__PURE__ */ jsx52(
|
|
3975
3990
|
"div",
|
|
3976
3991
|
{
|
|
3977
3992
|
"data-slot": "sidebar-footer",
|
|
@@ -3987,8 +4002,8 @@ function SidebarGroup({
|
|
|
3987
4002
|
...props
|
|
3988
4003
|
}) {
|
|
3989
4004
|
const { collapsed } = useSidebar();
|
|
3990
|
-
return /* @__PURE__ */
|
|
3991
|
-
label && /* @__PURE__ */
|
|
4005
|
+
return /* @__PURE__ */ jsxs26("section", { "data-slot": "sidebar-group", className: cn("mb-4 last:mb-0", className), ...props, children: [
|
|
4006
|
+
label && /* @__PURE__ */ jsx52(
|
|
3992
4007
|
"h2",
|
|
3993
4008
|
{
|
|
3994
4009
|
className: cn(
|
|
@@ -4012,7 +4027,7 @@ function SidebarItem({
|
|
|
4012
4027
|
}) {
|
|
4013
4028
|
const { collapsed } = useSidebar();
|
|
4014
4029
|
const content = typeof children === "function" ? label : children ?? label;
|
|
4015
|
-
return /* @__PURE__ */
|
|
4030
|
+
return /* @__PURE__ */ jsx52(
|
|
4016
4031
|
Link3,
|
|
4017
4032
|
{
|
|
4018
4033
|
"data-slot": "sidebar-item",
|
|
@@ -4024,16 +4039,16 @@ function SidebarItem({
|
|
|
4024
4039
|
typeof className === "function" ? className : className
|
|
4025
4040
|
),
|
|
4026
4041
|
...props,
|
|
4027
|
-
children: (values) => /* @__PURE__ */
|
|
4028
|
-
/* @__PURE__ */
|
|
4029
|
-
/* @__PURE__ */
|
|
4030
|
-
badge && !collapsed && /* @__PURE__ */
|
|
4042
|
+
children: (values) => /* @__PURE__ */ jsxs26(Fragment9, { children: [
|
|
4043
|
+
/* @__PURE__ */ jsx52("span", { className: "flex size-4 shrink-0 items-center justify-center", children: icon }),
|
|
4044
|
+
/* @__PURE__ */ jsx52("span", { className: cn("min-w-0 flex-1 truncate", collapsed && "sr-only"), children: typeof children === "function" ? children(values) : content }),
|
|
4045
|
+
badge && !collapsed && /* @__PURE__ */ jsx52("span", { className: "text-muted-foreground text-xs", children: badge })
|
|
4031
4046
|
] })
|
|
4032
4047
|
}
|
|
4033
4048
|
);
|
|
4034
4049
|
}
|
|
4035
4050
|
function SidebarSeparator({ className, ...props }) {
|
|
4036
|
-
return /* @__PURE__ */
|
|
4051
|
+
return /* @__PURE__ */ jsx52(
|
|
4037
4052
|
"hr",
|
|
4038
4053
|
{
|
|
4039
4054
|
"data-slot": "sidebar-separator",
|
|
@@ -4045,7 +4060,7 @@ function SidebarSeparator({ className, ...props }) {
|
|
|
4045
4060
|
function SidebarTrigger({ className, ...props }) {
|
|
4046
4061
|
const { collapsed, toggle } = useSidebar();
|
|
4047
4062
|
const { onPress, ...buttonProps } = props;
|
|
4048
|
-
return /* @__PURE__ */
|
|
4063
|
+
return /* @__PURE__ */ jsx52(
|
|
4049
4064
|
Button,
|
|
4050
4065
|
{
|
|
4051
4066
|
"aria-label": collapsed ? "Expandir navegaci\xF3n" : "Colapsar navegaci\xF3n",
|
|
@@ -4057,14 +4072,14 @@ function SidebarTrigger({ className, ...props }) {
|
|
|
4057
4072
|
variant: "ghost",
|
|
4058
4073
|
className: cn("ml-auto", className),
|
|
4059
4074
|
...buttonProps,
|
|
4060
|
-
children: collapsed ? /* @__PURE__ */
|
|
4075
|
+
children: collapsed ? /* @__PURE__ */ jsx52(ChevronRight2, {}) : /* @__PURE__ */ jsx52(ChevronLeft2, {})
|
|
4061
4076
|
}
|
|
4062
4077
|
);
|
|
4063
4078
|
}
|
|
4064
4079
|
function SidebarRail({ className, ...props }) {
|
|
4065
4080
|
const { toggle } = useSidebar();
|
|
4066
4081
|
const { onClick, ...buttonProps } = props;
|
|
4067
|
-
return /* @__PURE__ */
|
|
4082
|
+
return /* @__PURE__ */ jsx52(
|
|
4068
4083
|
"button",
|
|
4069
4084
|
{
|
|
4070
4085
|
type: "button",
|
|
@@ -4082,7 +4097,7 @@ function SidebarRail({ className, ...props }) {
|
|
|
4082
4097
|
);
|
|
4083
4098
|
}
|
|
4084
4099
|
function SidebarMore({ className, ...props }) {
|
|
4085
|
-
return /* @__PURE__ */
|
|
4100
|
+
return /* @__PURE__ */ jsx52(
|
|
4086
4101
|
Button,
|
|
4087
4102
|
{
|
|
4088
4103
|
"aria-label": "M\xE1s opciones",
|
|
@@ -4090,15 +4105,15 @@ function SidebarMore({ className, ...props }) {
|
|
|
4090
4105
|
variant: "ghost",
|
|
4091
4106
|
className: cn("size-7", className),
|
|
4092
4107
|
...props,
|
|
4093
|
-
children: /* @__PURE__ */
|
|
4108
|
+
children: /* @__PURE__ */ jsx52(Ellipsis, {})
|
|
4094
4109
|
}
|
|
4095
4110
|
);
|
|
4096
4111
|
}
|
|
4097
4112
|
|
|
4098
4113
|
// src/ui/skeleton/skeleton.tsx
|
|
4099
|
-
import { jsx as
|
|
4114
|
+
import { jsx as jsx53 } from "react/jsx-runtime";
|
|
4100
4115
|
function Skeleton({ className, ...props }) {
|
|
4101
|
-
return /* @__PURE__ */
|
|
4116
|
+
return /* @__PURE__ */ jsx53(
|
|
4102
4117
|
"div",
|
|
4103
4118
|
{
|
|
4104
4119
|
"aria-hidden": "true",
|
|
@@ -4113,7 +4128,7 @@ function Skeleton({ className, ...props }) {
|
|
|
4113
4128
|
import { LoaderCircle as LoaderCircle3 } from "lucide-react";
|
|
4114
4129
|
import { useCallback as useCallback9, useLayoutEffect, useRef as useRef7 } from "react";
|
|
4115
4130
|
import { useFormStatus } from "react-dom";
|
|
4116
|
-
import { Fragment as Fragment10, jsx as
|
|
4131
|
+
import { Fragment as Fragment10, jsx as jsx54, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
4117
4132
|
function assignRef(ref, node) {
|
|
4118
4133
|
if (typeof ref === "function") {
|
|
4119
4134
|
ref(node);
|
|
@@ -4148,7 +4163,7 @@ function SubmitButton({
|
|
|
4148
4163
|
if (busy) button.setAttribute("aria-busy", "true");
|
|
4149
4164
|
else button.removeAttribute("aria-busy");
|
|
4150
4165
|
}, [busy]);
|
|
4151
|
-
return /* @__PURE__ */
|
|
4166
|
+
return /* @__PURE__ */ jsx54(
|
|
4152
4167
|
Button,
|
|
4153
4168
|
{
|
|
4154
4169
|
ref: setButtonRef,
|
|
@@ -4157,8 +4172,8 @@ function SubmitButton({
|
|
|
4157
4172
|
isDisabled: busy || isDisabled,
|
|
4158
4173
|
"aria-busy": busy || void 0,
|
|
4159
4174
|
...props,
|
|
4160
|
-
children: busy ? /* @__PURE__ */
|
|
4161
|
-
/* @__PURE__ */
|
|
4175
|
+
children: busy ? /* @__PURE__ */ jsxs27(Fragment10, { children: [
|
|
4176
|
+
/* @__PURE__ */ jsx54(LoaderCircle3, { "aria-hidden": "true", className: "size-3.5 motion-safe:animate-spin" }),
|
|
4162
4177
|
label
|
|
4163
4178
|
] }) : children
|
|
4164
4179
|
}
|
|
@@ -4168,7 +4183,7 @@ function SubmitButton({
|
|
|
4168
4183
|
// src/ui/switch/switch.tsx
|
|
4169
4184
|
import { useEffect as useEffect6, useRef as useRef8 } from "react";
|
|
4170
4185
|
import { Switch as AriaSwitch } from "react-aria-components";
|
|
4171
|
-
import { Fragment as Fragment11, jsx as
|
|
4186
|
+
import { Fragment as Fragment11, jsx as jsx55, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
4172
4187
|
var switchSizes = {
|
|
4173
4188
|
sm: {
|
|
4174
4189
|
control: "h-4 w-[1.875rem] p-0.5",
|
|
@@ -4225,7 +4240,7 @@ function Switch({
|
|
|
4225
4240
|
ownerDocument.addEventListener("keydown", handleDirectionalKey);
|
|
4226
4241
|
return () => ownerDocument.removeEventListener("keydown", handleDirectionalKey);
|
|
4227
4242
|
}, [isDisabled, isReadOnly, resolvedInputRef]);
|
|
4228
|
-
return /* @__PURE__ */
|
|
4243
|
+
return /* @__PURE__ */ jsx55(
|
|
4229
4244
|
AriaSwitch,
|
|
4230
4245
|
{
|
|
4231
4246
|
"data-slot": "switch",
|
|
@@ -4242,8 +4257,8 @@ function Switch({
|
|
|
4242
4257
|
children: (state) => {
|
|
4243
4258
|
const isThumbPressed = state.isPressed;
|
|
4244
4259
|
const thumbOffset = state.isSelected ? isThumbPressed ? styles.activeSelectedOffset : styles.selectedOffset : "0";
|
|
4245
|
-
return /* @__PURE__ */
|
|
4246
|
-
/* @__PURE__ */
|
|
4260
|
+
return /* @__PURE__ */ jsxs28(Fragment11, { children: [
|
|
4261
|
+
/* @__PURE__ */ jsx55(
|
|
4247
4262
|
"span",
|
|
4248
4263
|
{
|
|
4249
4264
|
"aria-hidden": "true",
|
|
@@ -4257,7 +4272,7 @@ function Switch({
|
|
|
4257
4272
|
"group-data-focus-visible/switch:ring-3 group-data-focus-visible/switch:ring-ring/50",
|
|
4258
4273
|
styles.control
|
|
4259
4274
|
),
|
|
4260
|
-
children: /* @__PURE__ */
|
|
4275
|
+
children: /* @__PURE__ */ jsx55(
|
|
4261
4276
|
"span",
|
|
4262
4277
|
{
|
|
4263
4278
|
"data-slot": "switch-thumb",
|
|
@@ -4277,9 +4292,9 @@ function Switch({
|
|
|
4277
4292
|
)
|
|
4278
4293
|
}
|
|
4279
4294
|
),
|
|
4280
|
-
children || description ? /* @__PURE__ */
|
|
4281
|
-
children ? /* @__PURE__ */
|
|
4282
|
-
description ? /* @__PURE__ */
|
|
4295
|
+
children || description ? /* @__PURE__ */ jsxs28("span", { className: "grid gap-0.5 leading-tight", children: [
|
|
4296
|
+
children ? /* @__PURE__ */ jsx55("span", { "data-slot": "switch-label", className: "font-medium", children: typeof children === "function" ? children(state) : children }) : null,
|
|
4297
|
+
description ? /* @__PURE__ */ jsx55(
|
|
4283
4298
|
"span",
|
|
4284
4299
|
{
|
|
4285
4300
|
"data-slot": "switch-description",
|
|
@@ -4295,9 +4310,9 @@ function Switch({
|
|
|
4295
4310
|
}
|
|
4296
4311
|
|
|
4297
4312
|
// src/ui/table/table.tsx
|
|
4298
|
-
import { jsx as
|
|
4313
|
+
import { jsx as jsx56 } from "react/jsx-runtime";
|
|
4299
4314
|
function Table({ className, ...props }) {
|
|
4300
|
-
return /* @__PURE__ */
|
|
4315
|
+
return /* @__PURE__ */ jsx56("div", { "data-slot": "table-container", className: "relative w-full overflow-x-auto", children: /* @__PURE__ */ jsx56(
|
|
4301
4316
|
"table",
|
|
4302
4317
|
{
|
|
4303
4318
|
"data-slot": "table",
|
|
@@ -4307,10 +4322,10 @@ function Table({ className, ...props }) {
|
|
|
4307
4322
|
) });
|
|
4308
4323
|
}
|
|
4309
4324
|
function TableHeader({ className, ...props }) {
|
|
4310
|
-
return /* @__PURE__ */
|
|
4325
|
+
return /* @__PURE__ */ jsx56("thead", { "data-slot": "table-header", className: cn("[&_tr]:border-b", className), ...props });
|
|
4311
4326
|
}
|
|
4312
4327
|
function TableBody({ className, ...props }) {
|
|
4313
|
-
return /* @__PURE__ */
|
|
4328
|
+
return /* @__PURE__ */ jsx56(
|
|
4314
4329
|
"tbody",
|
|
4315
4330
|
{
|
|
4316
4331
|
"data-slot": "table-body",
|
|
@@ -4320,7 +4335,7 @@ function TableBody({ className, ...props }) {
|
|
|
4320
4335
|
);
|
|
4321
4336
|
}
|
|
4322
4337
|
function TableRow({ className, ...props }) {
|
|
4323
|
-
return /* @__PURE__ */
|
|
4338
|
+
return /* @__PURE__ */ jsx56(
|
|
4324
4339
|
"tr",
|
|
4325
4340
|
{
|
|
4326
4341
|
"data-slot": "table-row",
|
|
@@ -4333,7 +4348,7 @@ function TableRow({ className, ...props }) {
|
|
|
4333
4348
|
);
|
|
4334
4349
|
}
|
|
4335
4350
|
function TableHead({ className, ...props }) {
|
|
4336
|
-
return /* @__PURE__ */
|
|
4351
|
+
return /* @__PURE__ */ jsx56(
|
|
4337
4352
|
"th",
|
|
4338
4353
|
{
|
|
4339
4354
|
"data-slot": "table-head",
|
|
@@ -4346,7 +4361,7 @@ function TableHead({ className, ...props }) {
|
|
|
4346
4361
|
);
|
|
4347
4362
|
}
|
|
4348
4363
|
function TableCell({ className, ...props }) {
|
|
4349
|
-
return /* @__PURE__ */
|
|
4364
|
+
return /* @__PURE__ */ jsx56(
|
|
4350
4365
|
"td",
|
|
4351
4366
|
{
|
|
4352
4367
|
"data-slot": "table-cell",
|
|
@@ -4356,7 +4371,7 @@ function TableCell({ className, ...props }) {
|
|
|
4356
4371
|
);
|
|
4357
4372
|
}
|
|
4358
4373
|
function TableCaption({ className, ...props }) {
|
|
4359
|
-
return /* @__PURE__ */
|
|
4374
|
+
return /* @__PURE__ */ jsx56(
|
|
4360
4375
|
"caption",
|
|
4361
4376
|
{
|
|
4362
4377
|
"data-slot": "table-caption",
|
|
@@ -4366,7 +4381,7 @@ function TableCaption({ className, ...props }) {
|
|
|
4366
4381
|
);
|
|
4367
4382
|
}
|
|
4368
4383
|
function TableFooter({ className, ...props }) {
|
|
4369
|
-
return /* @__PURE__ */
|
|
4384
|
+
return /* @__PURE__ */ jsx56(
|
|
4370
4385
|
"tfoot",
|
|
4371
4386
|
{
|
|
4372
4387
|
"data-slot": "table-footer",
|
|
@@ -4379,7 +4394,7 @@ function TableFooter({ className, ...props }) {
|
|
|
4379
4394
|
);
|
|
4380
4395
|
}
|
|
4381
4396
|
function TableToolbar({ className, ...props }) {
|
|
4382
|
-
return /* @__PURE__ */
|
|
4397
|
+
return /* @__PURE__ */ jsx56(
|
|
4383
4398
|
"div",
|
|
4384
4399
|
{
|
|
4385
4400
|
"data-slot": "table-toolbar",
|
|
@@ -4393,7 +4408,7 @@ function TableEmpty({
|
|
|
4393
4408
|
className,
|
|
4394
4409
|
children = "No hay resultados."
|
|
4395
4410
|
}) {
|
|
4396
|
-
return /* @__PURE__ */
|
|
4411
|
+
return /* @__PURE__ */ jsx56(TableRow, { "data-slot": "table-empty", children: /* @__PURE__ */ jsx56(
|
|
4397
4412
|
TableCell,
|
|
4398
4413
|
{
|
|
4399
4414
|
colSpan,
|
|
@@ -4407,7 +4422,7 @@ function TableLoading({
|
|
|
4407
4422
|
className,
|
|
4408
4423
|
children = "Cargando\u2026"
|
|
4409
4424
|
}) {
|
|
4410
|
-
return /* @__PURE__ */
|
|
4425
|
+
return /* @__PURE__ */ jsx56(TableRow, { "data-slot": "table-loading", "aria-busy": "true", children: /* @__PURE__ */ jsx56(
|
|
4411
4426
|
TableCell,
|
|
4412
4427
|
{
|
|
4413
4428
|
colSpan,
|
|
@@ -4426,9 +4441,9 @@ import {
|
|
|
4426
4441
|
Tabs as AriaTabs,
|
|
4427
4442
|
composeRenderProps as composeRenderProps2
|
|
4428
4443
|
} from "react-aria-components";
|
|
4429
|
-
import { jsx as
|
|
4444
|
+
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
4430
4445
|
function Tabs({ className, ...props }) {
|
|
4431
|
-
return /* @__PURE__ */
|
|
4446
|
+
return /* @__PURE__ */ jsx57(
|
|
4432
4447
|
AriaTabs,
|
|
4433
4448
|
{
|
|
4434
4449
|
"data-slot": "tabs",
|
|
@@ -4438,7 +4453,7 @@ function Tabs({ className, ...props }) {
|
|
|
4438
4453
|
);
|
|
4439
4454
|
}
|
|
4440
4455
|
function TabsList({ className, ...props }) {
|
|
4441
|
-
return /* @__PURE__ */
|
|
4456
|
+
return /* @__PURE__ */ jsx57(
|
|
4442
4457
|
AriaTabList,
|
|
4443
4458
|
{
|
|
4444
4459
|
"data-slot": "tabs-list",
|
|
@@ -4454,7 +4469,7 @@ function TabsList({ className, ...props }) {
|
|
|
4454
4469
|
);
|
|
4455
4470
|
}
|
|
4456
4471
|
function TabsTrigger({ className, ...props }) {
|
|
4457
|
-
return /* @__PURE__ */
|
|
4472
|
+
return /* @__PURE__ */ jsx57(
|
|
4458
4473
|
AriaTab,
|
|
4459
4474
|
{
|
|
4460
4475
|
"data-slot": "tabs-trigger",
|
|
@@ -4470,10 +4485,10 @@ function TabsTrigger({ className, ...props }) {
|
|
|
4470
4485
|
);
|
|
4471
4486
|
}
|
|
4472
4487
|
function TabsPanels({ className, ...props }) {
|
|
4473
|
-
return /* @__PURE__ */
|
|
4488
|
+
return /* @__PURE__ */ jsx57(AriaTabPanels, { "data-slot": "tabs-panels", className: cn("min-w-0", className), ...props });
|
|
4474
4489
|
}
|
|
4475
4490
|
function TabsContent({ className, ...props }) {
|
|
4476
|
-
return /* @__PURE__ */
|
|
4491
|
+
return /* @__PURE__ */ jsx57(
|
|
4477
4492
|
AriaTabPanel,
|
|
4478
4493
|
{
|
|
4479
4494
|
"data-slot": "tabs-content",
|
|
@@ -4537,15 +4552,15 @@ function useToast() {
|
|
|
4537
4552
|
}
|
|
4538
4553
|
|
|
4539
4554
|
// src/ui/toast/toast.tsx
|
|
4540
|
-
import { Fragment as Fragment12, jsx as
|
|
4555
|
+
import { Fragment as Fragment12, jsx as jsx58, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
4541
4556
|
function ToastProvider({ children }) {
|
|
4542
|
-
return /* @__PURE__ */
|
|
4557
|
+
return /* @__PURE__ */ jsxs29(Fragment12, { children: [
|
|
4543
4558
|
children,
|
|
4544
|
-
/* @__PURE__ */
|
|
4559
|
+
/* @__PURE__ */ jsx58(Toaster, {})
|
|
4545
4560
|
] });
|
|
4546
4561
|
}
|
|
4547
4562
|
function Toaster({ position }) {
|
|
4548
|
-
return /* @__PURE__ */
|
|
4563
|
+
return /* @__PURE__ */ jsx58(SileoToaster, { position, options: { fill: "var(--ui-secondary)" } });
|
|
4549
4564
|
}
|
|
4550
4565
|
function ToastViewport({
|
|
4551
4566
|
position,
|
|
@@ -4554,7 +4569,7 @@ function ToastViewport({
|
|
|
4554
4569
|
}) {
|
|
4555
4570
|
void className;
|
|
4556
4571
|
if (visiblePosition && visiblePosition !== position) return null;
|
|
4557
|
-
return /* @__PURE__ */
|
|
4572
|
+
return /* @__PURE__ */ jsx58(Toaster, { position });
|
|
4558
4573
|
}
|
|
4559
4574
|
function Toast({
|
|
4560
4575
|
id,
|
|
@@ -4579,9 +4594,9 @@ function Toast({
|
|
|
4579
4594
|
}
|
|
4580
4595
|
|
|
4581
4596
|
// src/ui/toolbar/toolbar.tsx
|
|
4582
|
-
import { jsx as
|
|
4597
|
+
import { jsx as jsx59 } from "react/jsx-runtime";
|
|
4583
4598
|
function Toolbar({ className, ...props }) {
|
|
4584
|
-
return /* @__PURE__ */
|
|
4599
|
+
return /* @__PURE__ */ jsx59(
|
|
4585
4600
|
"div",
|
|
4586
4601
|
{
|
|
4587
4602
|
role: "toolbar",
|
|
@@ -4592,7 +4607,7 @@ function Toolbar({ className, ...props }) {
|
|
|
4592
4607
|
);
|
|
4593
4608
|
}
|
|
4594
4609
|
function ToolbarGroup({ className, ...props }) {
|
|
4595
|
-
return /* @__PURE__ */
|
|
4610
|
+
return /* @__PURE__ */ jsx59(
|
|
4596
4611
|
"div",
|
|
4597
4612
|
{
|
|
4598
4613
|
"data-slot": "toolbar-group",
|
|
@@ -4602,7 +4617,7 @@ function ToolbarGroup({ className, ...props }) {
|
|
|
4602
4617
|
);
|
|
4603
4618
|
}
|
|
4604
4619
|
function ToolbarSpacer({ className, ...props }) {
|
|
4605
|
-
return /* @__PURE__ */
|
|
4620
|
+
return /* @__PURE__ */ jsx59("div", { "aria-hidden": "true", className: cn("hidden flex-1 sm:block", className), ...props });
|
|
4606
4621
|
}
|
|
4607
4622
|
export {
|
|
4608
4623
|
Accordion,
|