@doscientos/ui 0.1.7 → 0.1.8
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 +65 -65
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +36 -36
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -143,7 +143,7 @@ function getTextMatchParts(text, query) {
|
|
|
143
143
|
|
|
144
144
|
// src/ui/accordion/accordion.tsx
|
|
145
145
|
import { Disclosure as AriaDisclosure, DisclosureGroup as AriaDisclosureGroup, DisclosurePanel as AriaDisclosurePanel, Button } from "react-aria-components";
|
|
146
|
-
import {
|
|
146
|
+
import { ChevronDown } from "lucide-react";
|
|
147
147
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
148
148
|
function Accordion({ className, ...props }) {
|
|
149
149
|
return /* @__PURE__ */ jsx(AriaDisclosureGroup, { "data-slot": "accordion", className: cn("flex w-full flex-col", className), ...props });
|
|
@@ -154,7 +154,7 @@ function AccordionItem({ className, ...props }) {
|
|
|
154
154
|
function AccordionTrigger({ className, children, ...props }) {
|
|
155
155
|
return /* @__PURE__ */ jsx(Button, { "data-slot": "accordion-trigger", className: cn("group/accordion-trigger flex w-full items-center justify-between py-3 text-left text-sm font-medium outline-none transition-colors hover:text-primary focus-visible:ring-3 focus-visible:ring-ring/50", className), ...props, children: (values) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
156
156
|
/* @__PURE__ */ jsx("span", { children: typeof children === "function" ? children(values) : children }),
|
|
157
|
-
/* @__PURE__ */ jsx(
|
|
157
|
+
/* @__PURE__ */ jsx(ChevronDown, { "aria-hidden": "true", className: "size-4 transition-transform group-data-expanded/accordion-trigger:rotate-180 motion-reduce:transition-none" })
|
|
158
158
|
] }) });
|
|
159
159
|
}
|
|
160
160
|
function AccordionContent({ className, ...props }) {
|
|
@@ -327,11 +327,11 @@ function CardFooter({ className, ...props }) {
|
|
|
327
327
|
import {
|
|
328
328
|
Checkbox as AriaCheckbox
|
|
329
329
|
} from "react-aria-components";
|
|
330
|
-
import {
|
|
330
|
+
import { Check } from "lucide-react";
|
|
331
331
|
import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
332
332
|
function Checkbox({ className, children, ...props }) {
|
|
333
333
|
return /* @__PURE__ */ jsx10(AriaCheckbox, { "data-slot": "checkbox", className: cn("group inline-flex items-center gap-2 text-sm text-foreground data-disabled:cursor-not-allowed data-disabled:opacity-50", className), ...props, children: (state) => /* @__PURE__ */ jsxs2(Fragment2, { children: [
|
|
334
|
-
/* @__PURE__ */ jsx10("span", { "aria-hidden": "true", className: "grid size-4 place-items-center rounded border border-border bg-background text-primary-foreground transition-colors group-data-selected:border-primary group-data-selected:bg-primary group-data-focus-visible:ring-3 group-data-focus-visible:ring-ring/50", children: /* @__PURE__ */ jsx10(
|
|
334
|
+
/* @__PURE__ */ jsx10("span", { "aria-hidden": "true", className: "grid size-4 place-items-center rounded border border-border bg-background text-primary-foreground transition-colors group-data-selected:border-primary group-data-selected:bg-primary group-data-focus-visible:ring-3 group-data-focus-visible:ring-ring/50", children: /* @__PURE__ */ jsx10(Check, { className: "size-3 opacity-0 transition-opacity group-data-selected:opacity-100 motion-reduce:transition-none" }) }),
|
|
335
335
|
typeof children === "function" ? children(state) : children
|
|
336
336
|
] }) });
|
|
337
337
|
}
|
|
@@ -416,7 +416,7 @@ function CommandItem({ className, ...props }) {
|
|
|
416
416
|
|
|
417
417
|
// src/ui/dialog/dialog.tsx
|
|
418
418
|
import { createContext, useContext } from "react";
|
|
419
|
-
import {
|
|
419
|
+
import { X } from "lucide-react";
|
|
420
420
|
import {
|
|
421
421
|
Dialog as AriaDialog,
|
|
422
422
|
Heading,
|
|
@@ -439,7 +439,7 @@ function DialogClose({ onPress, ...props }) {
|
|
|
439
439
|
function DialogContent({ className, children, showCloseButton = true, ...props }) {
|
|
440
440
|
return /* @__PURE__ */ jsx13(Modal, { className: "w-full max-w-md outline-none motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out", children: /* @__PURE__ */ jsx13(AriaDialog, { "data-slot": "dialog-content", className: cn("relative grid max-h-[calc(100dvh-2rem)] gap-4 overflow-y-auto rounded-xl bg-background p-5 text-foreground shadow-xl outline-none", className), ...props, children: ({ close }) => /* @__PURE__ */ jsxs4(DialogCloseContext.Provider, { value: close, children: [
|
|
441
441
|
typeof children === "function" ? children({ close }) : children,
|
|
442
|
-
showCloseButton && /* @__PURE__ */ jsx13(DialogClose, { "aria-label": "Cerrar di\xE1logo", variant: "ghost", size: "icon", className: "absolute top-2 right-2", children: /* @__PURE__ */ jsx13(
|
|
442
|
+
showCloseButton && /* @__PURE__ */ jsx13(DialogClose, { "aria-label": "Cerrar di\xE1logo", variant: "ghost", size: "icon", className: "absolute top-2 right-2", children: /* @__PURE__ */ jsx13(X, { "aria-hidden": "true", className: "size-4" }) })
|
|
443
443
|
] }) }) });
|
|
444
444
|
}
|
|
445
445
|
function DialogHeader({ className, ...props }) {
|
|
@@ -543,7 +543,7 @@ function FieldError2({ className, children, ...props }) {
|
|
|
543
543
|
|
|
544
544
|
// src/ui/form-feedback/form-feedback.tsx
|
|
545
545
|
import { useCallback as useCallback3, useEffect as useEffect3, useRef as useRef3, useState as useState6 } from "react";
|
|
546
|
-
import {
|
|
546
|
+
import { CheckCircle, LoaderCircle, CircleAlert } from "lucide-react";
|
|
547
547
|
import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
548
548
|
function useFormFeedback(options) {
|
|
549
549
|
const resetMs = options?.successResetMs ?? 2500;
|
|
@@ -578,9 +578,9 @@ function FormFeedback({ state, className, pendingLabel = "Guardando\u2026", succ
|
|
|
578
578
|
const error = state.status === "error";
|
|
579
579
|
const success = state.status === "success";
|
|
580
580
|
return /* @__PURE__ */ jsxs6("span", { role: error ? "alert" : "status", "aria-live": "polite", className: cn("inline-flex h-5 items-center gap-1.5 text-xs", error && "text-destructive", success && "text-success", state.status === "pending" && "text-muted-foreground", className), children: [
|
|
581
|
-
state.status === "pending" && /* @__PURE__ */ jsx20(
|
|
582
|
-
success && /* @__PURE__ */ jsx20(
|
|
583
|
-
error && /* @__PURE__ */ jsx20(
|
|
581
|
+
state.status === "pending" && /* @__PURE__ */ jsx20(LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
582
|
+
success && /* @__PURE__ */ jsx20(CheckCircle, { "aria-hidden": "true", className: "size-3.5" }),
|
|
583
|
+
error && /* @__PURE__ */ jsx20(CircleAlert, { "aria-hidden": "true", className: "size-3.5" }),
|
|
584
584
|
/* @__PURE__ */ jsx20("span", { children: state.status === "pending" ? pendingLabel : success ? state.message ?? successLabel : state.message })
|
|
585
585
|
] });
|
|
586
586
|
}
|
|
@@ -712,11 +712,11 @@ function KbdGroup({ className, ...props }) {
|
|
|
712
712
|
}
|
|
713
713
|
|
|
714
714
|
// src/ui/loading-overlay/loading-overlay.tsx
|
|
715
|
-
import {
|
|
715
|
+
import { LoaderCircle as LoaderCircle2 } from "lucide-react";
|
|
716
716
|
import { jsx as jsx28, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
717
717
|
function LoadingOverlay({ label = "Cargando", className, ...props }) {
|
|
718
718
|
return /* @__PURE__ */ jsx28("div", { role: "status", "aria-live": "polite", className: cn("absolute inset-0 z-10 flex items-center justify-center bg-background/70 backdrop-blur-[2px]", className), ...props, children: /* @__PURE__ */ jsxs9("div", { className: "flex items-center gap-2 rounded-lg border border-border bg-background px-3 py-2 text-sm shadow-sm", children: [
|
|
719
|
-
/* @__PURE__ */ jsx28(
|
|
719
|
+
/* @__PURE__ */ jsx28(LoaderCircle2, { className: "animate-spin", "aria-hidden": "true" }),
|
|
720
720
|
/* @__PURE__ */ jsx28("span", { children: label })
|
|
721
721
|
] }) });
|
|
722
722
|
}
|
|
@@ -759,7 +759,7 @@ function PageHeaderActions({ className, ...props }) {
|
|
|
759
759
|
}
|
|
760
760
|
|
|
761
761
|
// src/ui/pagination/pagination.tsx
|
|
762
|
-
import {
|
|
762
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
763
763
|
import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
764
764
|
function Pagination({ page, pageCount, onPageChange, className }) {
|
|
765
765
|
const pages = Array.from({ length: pageCount }, (_, index) => index + 1);
|
|
@@ -771,9 +771,9 @@ function Pagination({ page, pageCount, onPageChange, className }) {
|
|
|
771
771
|
pageCount
|
|
772
772
|
] }),
|
|
773
773
|
/* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-1", children: [
|
|
774
|
-
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina anterior", isDisabled: page <= 1, onPress: () => onPageChange(page - 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(
|
|
774
|
+
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina anterior", isDisabled: page <= 1, onPress: () => onPageChange(page - 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(ChevronLeft, {}) }),
|
|
775
775
|
pages.map((item) => /* @__PURE__ */ jsx31(Button2, { "aria-current": item === page ? "page" : void 0, "aria-label": `P\xE1gina ${item}`, onPress: () => onPageChange(item), size: "icon", variant: item === page ? "secondary" : "ghost", children: item }, item)),
|
|
776
|
-
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina siguiente", isDisabled: page >= pageCount, onPress: () => onPageChange(page + 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(
|
|
776
|
+
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina siguiente", isDisabled: page >= pageCount, onPress: () => onPageChange(page + 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(ChevronRight, {}) })
|
|
777
777
|
] })
|
|
778
778
|
] });
|
|
779
779
|
}
|
|
@@ -791,7 +791,7 @@ function Popover4({ className, ...props }) {
|
|
|
791
791
|
var PopoverContent = Popover4;
|
|
792
792
|
|
|
793
793
|
// src/ui/quantity-input/quantity-input.tsx
|
|
794
|
-
import {
|
|
794
|
+
import { Minus, Plus } from "lucide-react";
|
|
795
795
|
import {
|
|
796
796
|
Button as AriaButton2,
|
|
797
797
|
Group as AriaGroup,
|
|
@@ -822,9 +822,9 @@ function QuantityInput({
|
|
|
822
822
|
"data-slot": "quantity-input-group",
|
|
823
823
|
className: "flex h-8 min-w-0 items-stretch overflow-hidden rounded-lg border border-border bg-background text-foreground transition-[border-color,box-shadow] focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 group-data-invalid/quantity-input:border-destructive",
|
|
824
824
|
children: [
|
|
825
|
-
/* @__PURE__ */ jsx33(AriaButton2, { slot: "decrement", "aria-label": decrementAriaLabel, "data-slot": "quantity-input-decrement", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-r border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ jsx33(
|
|
825
|
+
/* @__PURE__ */ jsx33(AriaButton2, { slot: "decrement", "aria-label": decrementAriaLabel, "data-slot": "quantity-input-decrement", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-r border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ jsx33(Minus, { "aria-hidden": "true", className: "size-4" }) }),
|
|
826
826
|
/* @__PURE__ */ jsx33(AriaInput3, { "data-slot": "quantity-input-value", className: cn("w-14 min-w-0 bg-transparent px-1 text-center text-sm tabular-nums outline-none", inputClassName) }),
|
|
827
|
-
/* @__PURE__ */ jsx33(AriaButton2, { slot: "increment", "aria-label": incrementAriaLabel, "data-slot": "quantity-input-increment", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-l border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ jsx33(
|
|
827
|
+
/* @__PURE__ */ jsx33(AriaButton2, { slot: "increment", "aria-label": incrementAriaLabel, "data-slot": "quantity-input-increment", className: "flex size-8 shrink-0 cursor-pointer items-center justify-center border-l border-border text-muted-foreground outline-none transition-colors hover:bg-muted hover:text-foreground data-focus-visible:bg-muted data-pressed:bg-muted data-disabled:pointer-events-none", children: /* @__PURE__ */ jsx33(Plus, { "aria-hidden": "true", className: "size-4" }) })
|
|
828
828
|
]
|
|
829
829
|
}
|
|
830
830
|
)
|
|
@@ -838,13 +838,13 @@ import {
|
|
|
838
838
|
Button as Button3,
|
|
839
839
|
Input as Input4
|
|
840
840
|
} from "react-aria-components";
|
|
841
|
-
import {
|
|
841
|
+
import { X as X2 } from "lucide-react";
|
|
842
842
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
843
843
|
var SearchField = AriaSearchField;
|
|
844
844
|
function SearchInput({ className, ...props }) {
|
|
845
845
|
return /* @__PURE__ */ jsx34(Input4, { "data-slot": "search-input", className: cn("h-8 w-full min-w-0 rounded-lg border border-border bg-background px-2.5 py-1 text-sm text-foreground outline-none placeholder:text-muted-foreground focus-visible:ring-3 focus-visible:ring-ring/50", className), ...props });
|
|
846
846
|
}
|
|
847
|
-
function SearchClearButton({ className, children = /* @__PURE__ */ jsx34(
|
|
847
|
+
function SearchClearButton({ className, children = /* @__PURE__ */ jsx34(X2, { "aria-hidden": "true", className: "size-4" }), ...props }) {
|
|
848
848
|
return /* @__PURE__ */ jsx34(Button3, { slot: "clear", "data-slot": "search-clear", className: cn("absolute top-1/2 right-1 rounded p-1 text-muted-foreground outline-none hover:bg-muted data-focus-visible:ring-2 data-focus-visible:ring-ring", className), ...props, children });
|
|
849
849
|
}
|
|
850
850
|
|
|
@@ -857,13 +857,13 @@ import {
|
|
|
857
857
|
ListBoxItem as ListBoxItem3,
|
|
858
858
|
Popover as Popover5
|
|
859
859
|
} from "react-aria-components";
|
|
860
|
-
import {
|
|
860
|
+
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
861
861
|
import { Fragment as Fragment5, jsx as jsx35, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
862
862
|
var Select = AriaSelect;
|
|
863
863
|
function SelectTrigger({ className, children, ...props }) {
|
|
864
864
|
return /* @__PURE__ */ jsx35(AriaButton3, { "data-slot": "select-trigger", className: cn("group/select-trigger flex h-8 w-full min-w-36 items-center gap-2 rounded-lg border border-border bg-background px-2.5 text-left text-sm text-foreground outline-none data-focus-visible:ring-3 data-focus-visible:ring-ring/50 data-disabled:cursor-not-allowed data-disabled:opacity-50", className), ...props, children: (state) => /* @__PURE__ */ jsxs12(Fragment5, { children: [
|
|
865
865
|
typeof children === "function" ? children(state) : children,
|
|
866
|
-
/* @__PURE__ */ jsx35(
|
|
866
|
+
/* @__PURE__ */ jsx35(ChevronDown2, { "aria-hidden": "true", className: "ml-auto size-4 text-muted-foreground transition-transform group-data-pressed/select-trigger:rotate-180 motion-reduce:transition-none" })
|
|
867
867
|
] }) });
|
|
868
868
|
}
|
|
869
869
|
function SelectValue({ className, ...props }) {
|
|
@@ -888,11 +888,11 @@ function Separator({ className, orientation = "horizontal", ...props }) {
|
|
|
888
888
|
|
|
889
889
|
// src/ui/sidebar/sidebar.tsx
|
|
890
890
|
import {
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
} from "
|
|
891
|
+
ChevronLeft as ChevronLeft2,
|
|
892
|
+
ChevronRight as ChevronRight2,
|
|
893
|
+
Ellipsis,
|
|
894
|
+
Search
|
|
895
|
+
} from "lucide-react";
|
|
896
896
|
import {
|
|
897
897
|
createContext as createContext2,
|
|
898
898
|
useContext as useContext2,
|
|
@@ -971,7 +971,7 @@ function SidebarSearch({
|
|
|
971
971
|
),
|
|
972
972
|
...props,
|
|
973
973
|
children: [
|
|
974
|
-
/* @__PURE__ */ jsx37(
|
|
974
|
+
/* @__PURE__ */ jsx37(Search, { className: "size-4 shrink-0" }),
|
|
975
975
|
/* @__PURE__ */ jsx37("span", { className: "flex-1 text-left", children: label }),
|
|
976
976
|
/* @__PURE__ */ jsx37("kbd", { className: "rounded bg-secondary px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground", children: shortcut })
|
|
977
977
|
]
|
|
@@ -1098,7 +1098,7 @@ function SidebarTrigger({ className, ...props }) {
|
|
|
1098
1098
|
variant: "ghost",
|
|
1099
1099
|
className: cn("ml-auto", className),
|
|
1100
1100
|
...props,
|
|
1101
|
-
children: collapsed ? /* @__PURE__ */ jsx37(
|
|
1101
|
+
children: collapsed ? /* @__PURE__ */ jsx37(ChevronRight2, {}) : /* @__PURE__ */ jsx37(ChevronLeft2, {})
|
|
1102
1102
|
}
|
|
1103
1103
|
);
|
|
1104
1104
|
}
|
|
@@ -1130,7 +1130,7 @@ function SidebarMore({ className, ...props }) {
|
|
|
1130
1130
|
variant: "ghost",
|
|
1131
1131
|
className: cn("size-7", className),
|
|
1132
1132
|
...props,
|
|
1133
|
-
children: /* @__PURE__ */ jsx37(
|
|
1133
|
+
children: /* @__PURE__ */ jsx37(Ellipsis, {})
|
|
1134
1134
|
}
|
|
1135
1135
|
);
|
|
1136
1136
|
}
|
|
@@ -1143,13 +1143,13 @@ function Skeleton({ className, ...props }) {
|
|
|
1143
1143
|
|
|
1144
1144
|
// src/ui/submit-button/submit-button.tsx
|
|
1145
1145
|
import { useFormStatus } from "react-dom";
|
|
1146
|
-
import {
|
|
1146
|
+
import { LoaderCircle as LoaderCircle3 } from "lucide-react";
|
|
1147
1147
|
import { Fragment as Fragment7, jsx as jsx39, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1148
1148
|
function SubmitButton({ pendingLabel = "Guardando\u2026", loading = false, children, isDisabled, size = "sm", ...props }) {
|
|
1149
1149
|
const { pending } = useFormStatus();
|
|
1150
1150
|
const busy = pending || loading;
|
|
1151
1151
|
return /* @__PURE__ */ jsx39(Button2, { type: "submit", size, isDisabled: busy || isDisabled, "aria-busy": busy || void 0, ...props, children: busy ? /* @__PURE__ */ jsxs14(Fragment7, { children: [
|
|
1152
|
-
/* @__PURE__ */ jsx39(
|
|
1152
|
+
/* @__PURE__ */ jsx39(LoaderCircle3, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
1153
1153
|
pendingLabel
|
|
1154
1154
|
] }) : children });
|
|
1155
1155
|
}
|
|
@@ -1265,7 +1265,7 @@ function TabsContent({ className, ...props }) {
|
|
|
1265
1265
|
|
|
1266
1266
|
// src/ui/toast/toast.tsx
|
|
1267
1267
|
import { useEffect as useEffect4, useSyncExternalStore } from "react";
|
|
1268
|
-
import {
|
|
1268
|
+
import { CheckCircle as CheckCircle2, Info, CircleAlert as CircleAlert2, XCircle, X as X3 } from "lucide-react";
|
|
1269
1269
|
import { Fragment as Fragment9, jsx as jsx43, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1270
1270
|
var records = [];
|
|
1271
1271
|
var listeners = /* @__PURE__ */ new Set();
|
|
@@ -1338,15 +1338,15 @@ function Toast({ id, title, description, variant = "default", action, state = "o
|
|
|
1338
1338
|
const timeout = window.setTimeout(() => dismiss(id), duration);
|
|
1339
1339
|
return () => window.clearTimeout(timeout);
|
|
1340
1340
|
}, [duration, id, state]);
|
|
1341
|
-
const Icon = variant === "success" ?
|
|
1341
|
+
const Icon = variant === "success" ? CheckCircle2 : variant === "error" ? XCircle : variant === "warning" ? CircleAlert2 : variant === "info" ? Info : Info;
|
|
1342
1342
|
return /* @__PURE__ */ jsx43("div", { role: variant === "error" ? "alert" : "status", "data-state": state, className: cn("pointer-events-auto w-full overflow-hidden rounded-xl border border-border/80 bg-background/95 p-3.5 text-foreground shadow-xl shadow-black/10 backdrop-blur-md animate-ui-toast-in", "data-[state=closing]:animate-ui-toast-out motion-reduce:animate-none", variant === "success" && "border-success/30", variant === "error" && "border-destructive/30", variant === "warning" && "border-warning/40"), children: /* @__PURE__ */ jsxs16("div", { className: "flex items-start gap-3", children: [
|
|
1343
|
-
/* @__PURE__ */ jsx43(Icon, { "aria-hidden": "true",
|
|
1343
|
+
/* @__PURE__ */ jsx43(Icon, { "aria-hidden": "true", className: cn("mt-0.5 size-5 shrink-0", variant === "success" && "text-success", variant === "error" && "text-destructive", variant === "warning" && "text-warning", variant === "info" && "text-primary") }),
|
|
1344
1344
|
/* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
|
|
1345
1345
|
/* @__PURE__ */ jsx43("p", { className: "animate-ui-toast-title text-sm font-semibold", children: title }),
|
|
1346
1346
|
description && /* @__PURE__ */ jsx43("p", { className: "mt-1 max-h-20 animate-ui-toast-description overflow-hidden text-sm leading-5 text-muted-foreground data-[state=closing]:max-h-0", "data-state": state, children: description }),
|
|
1347
1347
|
action && /* @__PURE__ */ jsx43(Button2, { size: "sm", variant: "link", onPress: action.onPress, className: "mt-1 h-auto px-0", children: action.label })
|
|
1348
1348
|
] }),
|
|
1349
|
-
/* @__PURE__ */ jsx43(Button2, { "aria-label": "Cerrar notificaci\xF3n", onPress: onDismiss, size: "icon", variant: "ghost", className: "-mr-2 -mt-2 size-7", children: /* @__PURE__ */ jsx43(
|
|
1349
|
+
/* @__PURE__ */ jsx43(Button2, { "aria-label": "Cerrar notificaci\xF3n", onPress: onDismiss, size: "icon", variant: "ghost", className: "-mr-2 -mt-2 size-7", children: /* @__PURE__ */ jsx43(X3, {}) })
|
|
1350
1350
|
] }) });
|
|
1351
1351
|
}
|
|
1352
1352
|
|