@doscientos/ui 0.1.7 → 0.1.9
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 +249 -136
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +47 -24
- package/dist/index.d.ts +47 -24
- package/dist/index.js +239 -122
- package/dist/index.js.map +1 -1
- package/dist/styles.css +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 }) {
|
|
@@ -184,17 +184,75 @@ function AlertAction({ className, children, ...props }) {
|
|
|
184
184
|
|
|
185
185
|
// src/ui/app-shell/app-shell.tsx
|
|
186
186
|
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
187
|
-
function AppShell({
|
|
188
|
-
|
|
187
|
+
function AppShell({
|
|
188
|
+
className,
|
|
189
|
+
sidebarBreakpoint = "md",
|
|
190
|
+
...props
|
|
191
|
+
}) {
|
|
192
|
+
return /* @__PURE__ */ jsx3(
|
|
193
|
+
"div",
|
|
194
|
+
{
|
|
195
|
+
"data-slot": "app-shell",
|
|
196
|
+
"data-sidebar-breakpoint": sidebarBreakpoint,
|
|
197
|
+
className: cn("bg-background text-foreground", className),
|
|
198
|
+
...props
|
|
199
|
+
}
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
function AppShellSidebar({ className, ...props }) {
|
|
203
|
+
return /* @__PURE__ */ jsx3(
|
|
204
|
+
"aside",
|
|
205
|
+
{
|
|
206
|
+
"data-slot": "app-shell-sidebar",
|
|
207
|
+
className: cn("w-56 shrink-0 border-r border-border bg-card text-foreground", className),
|
|
208
|
+
...props
|
|
209
|
+
}
|
|
210
|
+
);
|
|
189
211
|
}
|
|
190
212
|
function AppShellMain({ className, ...props }) {
|
|
191
|
-
return /* @__PURE__ */ jsx3("main", { "data-slot": "app-shell-main", className: cn("
|
|
213
|
+
return /* @__PURE__ */ jsx3("main", { "data-slot": "app-shell-main", className: cn("bg-background", className), ...props });
|
|
192
214
|
}
|
|
193
215
|
function AppShellHeader({ className, ...props }) {
|
|
194
|
-
return /* @__PURE__ */ jsx3(
|
|
216
|
+
return /* @__PURE__ */ jsx3(
|
|
217
|
+
"header",
|
|
218
|
+
{
|
|
219
|
+
"data-slot": "app-shell-header",
|
|
220
|
+
className: cn("border-b border-border bg-background px-4", className),
|
|
221
|
+
...props
|
|
222
|
+
}
|
|
223
|
+
);
|
|
224
|
+
}
|
|
225
|
+
function AppShellMobileHeader({
|
|
226
|
+
className,
|
|
227
|
+
...props
|
|
228
|
+
}) {
|
|
229
|
+
return /* @__PURE__ */ jsx3(
|
|
230
|
+
"header",
|
|
231
|
+
{
|
|
232
|
+
"data-slot": "app-shell-mobile-header",
|
|
233
|
+
className: cn("h-14 shrink-0 items-center gap-2 border-b border-border bg-background px-3", className),
|
|
234
|
+
...props
|
|
235
|
+
}
|
|
236
|
+
);
|
|
195
237
|
}
|
|
196
|
-
function AppShellContent({
|
|
197
|
-
|
|
238
|
+
function AppShellContent({
|
|
239
|
+
className,
|
|
240
|
+
size = "wide",
|
|
241
|
+
padded = true,
|
|
242
|
+
scrollable = true,
|
|
243
|
+
...props
|
|
244
|
+
}) {
|
|
245
|
+
return /* @__PURE__ */ jsx3(
|
|
246
|
+
"div",
|
|
247
|
+
{
|
|
248
|
+
"data-slot": "app-shell-content",
|
|
249
|
+
"data-size": size,
|
|
250
|
+
"data-padded": padded || void 0,
|
|
251
|
+
"data-scrollable": scrollable || void 0,
|
|
252
|
+
className,
|
|
253
|
+
...props
|
|
254
|
+
}
|
|
255
|
+
);
|
|
198
256
|
}
|
|
199
257
|
|
|
200
258
|
// src/ui/avatar/avatar.tsx
|
|
@@ -262,10 +320,19 @@ function BreadcrumbSeparator({ children = "/", className, ...props }) {
|
|
|
262
320
|
return /* @__PURE__ */ jsx6("span", { "data-slot": "breadcrumb-separator", "aria-hidden": "true", className: cn("text-muted-foreground/60", className), ...props, children });
|
|
263
321
|
}
|
|
264
322
|
|
|
323
|
+
// src/ui/button-group/button-group.tsx
|
|
324
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
325
|
+
function ButtonGroup({ className, ...props }) {
|
|
326
|
+
return /* @__PURE__ */ jsx7("div", { role: "group", "data-slot": "button-group", className: cn("inline-flex items-center gap-2", className), ...props });
|
|
327
|
+
}
|
|
328
|
+
function ButtonGroupText({ className, ...props }) {
|
|
329
|
+
return /* @__PURE__ */ jsx7("span", { "data-slot": "button-group-text", className: cn("text-sm text-muted-foreground", className), ...props });
|
|
330
|
+
}
|
|
331
|
+
|
|
265
332
|
// src/ui/button/button.tsx
|
|
266
333
|
import { cva as cva2 } from "class-variance-authority";
|
|
267
334
|
import { Button as AriaButton } from "react-aria-components";
|
|
268
|
-
import { jsx as
|
|
335
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
269
336
|
var buttonVariants = cva2(
|
|
270
337
|
"inline-flex shrink-0 cursor-pointer items-center justify-center gap-1.5 rounded-lg border border-transparent text-sm font-medium whitespace-nowrap transition-[background-color,border-color,color,box-shadow,transform] duration-150 outline-none focus-visible:ring-3 focus-visible:ring-ring/50 data-pressed:scale-[0.98] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 motion-reduce:transition-none motion-reduce:data-pressed:transform-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
271
338
|
{
|
|
@@ -290,16 +357,7 @@ var buttonVariants = cva2(
|
|
|
290
357
|
}
|
|
291
358
|
);
|
|
292
359
|
function Button2({ className, variant, size, ...props }) {
|
|
293
|
-
return /* @__PURE__ */
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
// src/ui/button-group/button-group.tsx
|
|
297
|
-
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
298
|
-
function ButtonGroup({ className, ...props }) {
|
|
299
|
-
return /* @__PURE__ */ jsx8("div", { role: "group", "data-slot": "button-group", className: cn("inline-flex items-center gap-2", className), ...props });
|
|
300
|
-
}
|
|
301
|
-
function ButtonGroupText({ className, ...props }) {
|
|
302
|
-
return /* @__PURE__ */ jsx8("span", { "data-slot": "button-group-text", className: cn("text-sm text-muted-foreground", className), ...props });
|
|
360
|
+
return /* @__PURE__ */ jsx8(AriaButton, { "data-slot": "button", className: cn(buttonVariants({ variant, size }), className), ...props });
|
|
303
361
|
}
|
|
304
362
|
|
|
305
363
|
// src/ui/card/card.tsx
|
|
@@ -327,11 +385,11 @@ function CardFooter({ className, ...props }) {
|
|
|
327
385
|
import {
|
|
328
386
|
Checkbox as AriaCheckbox
|
|
329
387
|
} from "react-aria-components";
|
|
330
|
-
import {
|
|
388
|
+
import { Check } from "lucide-react";
|
|
331
389
|
import { Fragment as Fragment2, jsx as jsx10, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
332
390
|
function Checkbox({ className, children, ...props }) {
|
|
333
391
|
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(
|
|
392
|
+
/* @__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
393
|
typeof children === "function" ? children(state) : children
|
|
336
394
|
] }) });
|
|
337
395
|
}
|
|
@@ -414,9 +472,8 @@ function CommandItem({ className, ...props }) {
|
|
|
414
472
|
return /* @__PURE__ */ jsx12(ListBoxItem2, { "data-slot": "command-item", className: cn("flex cursor-default items-center rounded-md px-2 py-1.5 text-sm outline-none data-focused:bg-muted data-disabled:pointer-events-none data-disabled:opacity-50", className), ...props });
|
|
415
473
|
}
|
|
416
474
|
|
|
417
|
-
// src/ui/dialog/dialog.tsx
|
|
418
|
-
import {
|
|
419
|
-
import { XIcon } from "@phosphor-icons/react";
|
|
475
|
+
// src/ui/modal-dialog/modal-dialog.tsx
|
|
476
|
+
import { X } from "lucide-react";
|
|
420
477
|
import {
|
|
421
478
|
Dialog as AriaDialog,
|
|
422
479
|
Heading,
|
|
@@ -424,50 +481,114 @@ import {
|
|
|
424
481
|
ModalOverlay,
|
|
425
482
|
Text as Text2
|
|
426
483
|
} from "react-aria-components";
|
|
427
|
-
import { jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
428
|
-
var
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
484
|
+
import { Fragment as Fragment4, jsx as jsx13, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
485
|
+
var sizeClasses = {
|
|
486
|
+
sm: "w-[min(calc(100dvw-2rem),24rem)]",
|
|
487
|
+
md: "w-[min(calc(100dvw-2rem),28rem)]",
|
|
488
|
+
lg: "w-[min(calc(100dvw-2rem),36rem)]"
|
|
489
|
+
};
|
|
490
|
+
function ModalDialog({
|
|
491
|
+
open,
|
|
492
|
+
onOpenChange,
|
|
493
|
+
title,
|
|
494
|
+
description,
|
|
495
|
+
children,
|
|
496
|
+
footer,
|
|
497
|
+
size = "sm",
|
|
498
|
+
showCloseButton = true,
|
|
499
|
+
className,
|
|
500
|
+
footerClassName,
|
|
501
|
+
...props
|
|
502
|
+
}) {
|
|
503
|
+
const layoutClass = children ? footer ? "grid-rows-[auto_minmax(0,1fr)_auto]" : "grid-rows-[auto_minmax(0,1fr)]" : "grid-rows-[auto_auto]";
|
|
504
|
+
return /* @__PURE__ */ jsx13(
|
|
505
|
+
ModalOverlay,
|
|
506
|
+
{
|
|
507
|
+
isOpen: open,
|
|
508
|
+
onOpenChange,
|
|
509
|
+
className: "fixed inset-0 z-50 grid place-items-center bg-black/20 p-4 backdrop-blur-[1px] motion-safe:data-entering:animate-ui-overlay-in motion-safe:data-exiting:animate-ui-overlay-out",
|
|
510
|
+
...props,
|
|
511
|
+
children: /* @__PURE__ */ jsx13(
|
|
512
|
+
Modal,
|
|
513
|
+
{
|
|
514
|
+
className: cn(
|
|
515
|
+
"max-h-[calc(100dvh-2rem)] outline-none motion-safe:data-entering:animate-ui-surface-in motion-safe:data-exiting:animate-ui-surface-out",
|
|
516
|
+
sizeClasses[size],
|
|
517
|
+
className
|
|
518
|
+
),
|
|
519
|
+
children: /* @__PURE__ */ jsx13(
|
|
520
|
+
AriaDialog,
|
|
521
|
+
{
|
|
522
|
+
className: cn(
|
|
523
|
+
"grid max-h-[calc(100dvh-2rem)] overflow-hidden rounded-xl bg-background text-foreground shadow-xl outline-none",
|
|
524
|
+
layoutClass
|
|
525
|
+
),
|
|
526
|
+
children: ({ close }) => /* @__PURE__ */ jsxs4(Fragment4, { children: [
|
|
527
|
+
/* @__PURE__ */ jsxs4("header", { "data-slot": "modal-dialog-header", className: "flex items-start gap-3 border-b border-border px-5 py-4", children: [
|
|
528
|
+
/* @__PURE__ */ jsxs4("div", { className: "min-w-0 flex-1", children: [
|
|
529
|
+
/* @__PURE__ */ jsx13(Heading, { slot: "title", className: "font-heading text-base leading-none font-medium", children: title }),
|
|
530
|
+
description ? /* @__PURE__ */ jsx13(Text2, { slot: "description", className: "mt-2 text-sm text-muted-foreground", children: description }) : null
|
|
531
|
+
] }),
|
|
532
|
+
showCloseButton ? /* @__PURE__ */ jsx13(
|
|
533
|
+
Button2,
|
|
534
|
+
{
|
|
535
|
+
"aria-label": "Cerrar di\xE1logo",
|
|
536
|
+
variant: "ghost",
|
|
537
|
+
size: "icon",
|
|
538
|
+
className: "-mr-2 -mt-1",
|
|
539
|
+
onPress: close,
|
|
540
|
+
children: /* @__PURE__ */ jsx13(X, { "aria-hidden": "true", className: "size-4" })
|
|
541
|
+
}
|
|
542
|
+
) : null
|
|
543
|
+
] }),
|
|
544
|
+
children ? /* @__PURE__ */ jsx13("div", { "data-slot": "modal-dialog-body", className: "min-h-0 overflow-y-auto px-5 py-4", children }) : null,
|
|
545
|
+
footer ? /* @__PURE__ */ jsx13(
|
|
546
|
+
"footer",
|
|
547
|
+
{
|
|
548
|
+
"data-slot": "modal-dialog-footer",
|
|
549
|
+
className: cn(
|
|
550
|
+
"flex flex-col-reverse gap-2 border-t border-border bg-muted/50 px-5 py-4 sm:flex-row sm:flex-wrap sm:justify-end",
|
|
551
|
+
footerClassName
|
|
552
|
+
),
|
|
553
|
+
children: footer
|
|
554
|
+
}
|
|
555
|
+
) : null
|
|
556
|
+
] })
|
|
557
|
+
}
|
|
558
|
+
)
|
|
559
|
+
}
|
|
560
|
+
)
|
|
561
|
+
}
|
|
562
|
+
);
|
|
456
563
|
}
|
|
457
564
|
|
|
458
565
|
// src/ui/confirm-dialog/confirm-dialog.tsx
|
|
459
|
-
import { jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
460
|
-
function ConfirmDialog({
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
566
|
+
import { Fragment as Fragment5, jsx as jsx14, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
567
|
+
function ConfirmDialog({
|
|
568
|
+
open,
|
|
569
|
+
onOpenChange,
|
|
570
|
+
title,
|
|
571
|
+
description,
|
|
572
|
+
confirmLabel = "Confirmar",
|
|
573
|
+
cancelLabel = "Cancelar",
|
|
574
|
+
destructive = false,
|
|
575
|
+
pending = false,
|
|
576
|
+
onConfirm
|
|
577
|
+
}) {
|
|
578
|
+
return /* @__PURE__ */ jsx14(
|
|
579
|
+
ModalDialog,
|
|
580
|
+
{
|
|
581
|
+
open,
|
|
582
|
+
onOpenChange,
|
|
583
|
+
title,
|
|
584
|
+
description,
|
|
585
|
+
showCloseButton: false,
|
|
586
|
+
footer: /* @__PURE__ */ jsxs5(Fragment5, { children: [
|
|
587
|
+
/* @__PURE__ */ jsx14(Button2, { variant: "outline", isDisabled: pending, onPress: () => onOpenChange(false), children: cancelLabel }),
|
|
588
|
+
/* @__PURE__ */ jsx14(Button2, { variant: destructive ? "destructive" : "default", isDisabled: pending, onPress: onConfirm, children: confirmLabel })
|
|
589
|
+
] })
|
|
590
|
+
}
|
|
591
|
+
);
|
|
471
592
|
}
|
|
472
593
|
|
|
473
594
|
// src/ui/drawer/drawer.tsx
|
|
@@ -543,7 +664,7 @@ function FieldError2({ className, children, ...props }) {
|
|
|
543
664
|
|
|
544
665
|
// src/ui/form-feedback/form-feedback.tsx
|
|
545
666
|
import { useCallback as useCallback3, useEffect as useEffect3, useRef as useRef3, useState as useState6 } from "react";
|
|
546
|
-
import {
|
|
667
|
+
import { CheckCircle, LoaderCircle, CircleAlert } from "lucide-react";
|
|
547
668
|
import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
548
669
|
function useFormFeedback(options) {
|
|
549
670
|
const resetMs = options?.successResetMs ?? 2500;
|
|
@@ -578,22 +699,22 @@ function FormFeedback({ state, className, pendingLabel = "Guardando\u2026", succ
|
|
|
578
699
|
const error = state.status === "error";
|
|
579
700
|
const success = state.status === "success";
|
|
580
701
|
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(
|
|
702
|
+
state.status === "pending" && /* @__PURE__ */ jsx20(LoaderCircle, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
703
|
+
success && /* @__PURE__ */ jsx20(CheckCircle, { "aria-hidden": "true", className: "size-3.5" }),
|
|
704
|
+
error && /* @__PURE__ */ jsx20(CircleAlert, { "aria-hidden": "true", className: "size-3.5" }),
|
|
584
705
|
/* @__PURE__ */ jsx20("span", { children: state.status === "pending" ? pendingLabel : success ? state.message ?? successLabel : state.message })
|
|
585
706
|
] });
|
|
586
707
|
}
|
|
587
708
|
|
|
588
709
|
// src/ui/form-row/form-row.tsx
|
|
589
|
-
import { Fragment as
|
|
710
|
+
import { Fragment as Fragment6, jsx as jsx21, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
590
711
|
function FormRow({ label, htmlFor, required, hint, error, className, children }) {
|
|
591
712
|
const hintId = hint ? `${htmlFor}-hint` : void 0;
|
|
592
713
|
const errorId = error ? `${htmlFor}-error` : void 0;
|
|
593
714
|
return /* @__PURE__ */ jsxs7("div", { "data-slot": "form-row", className: cn("flex flex-col gap-1.5", className), children: [
|
|
594
715
|
/* @__PURE__ */ jsxs7("label", { htmlFor, className: "text-sm font-medium text-foreground", children: [
|
|
595
716
|
label,
|
|
596
|
-
required && /* @__PURE__ */ jsxs7(
|
|
717
|
+
required && /* @__PURE__ */ jsxs7(Fragment6, { children: [
|
|
597
718
|
/* @__PURE__ */ jsx21("span", { "aria-hidden": "true", className: "ml-0.5 text-destructive", children: "*" }),
|
|
598
719
|
/* @__PURE__ */ jsx21("span", { className: "sr-only", children: " (obligatorio)" })
|
|
599
720
|
] })
|
|
@@ -659,6 +780,9 @@ function IconButton({
|
|
|
659
780
|
] });
|
|
660
781
|
}
|
|
661
782
|
|
|
783
|
+
// src/ui/input-group/input-group.tsx
|
|
784
|
+
import { cva as cva3 } from "class-variance-authority";
|
|
785
|
+
|
|
662
786
|
// src/ui/input/input.tsx
|
|
663
787
|
import { forwardRef as forwardRef2 } from "react";
|
|
664
788
|
import { Input as AriaInput2 } from "react-aria-components";
|
|
@@ -668,9 +792,6 @@ var InputImpl = forwardRef2(function Input2({ className, type, ...props }, ref)
|
|
|
668
792
|
});
|
|
669
793
|
var Input3 = InputImpl;
|
|
670
794
|
|
|
671
|
-
// src/ui/input-group/input-group.tsx
|
|
672
|
-
import { cva as cva3 } from "class-variance-authority";
|
|
673
|
-
|
|
674
795
|
// src/ui/textarea/textarea.tsx
|
|
675
796
|
import { forwardRef as forwardRef3 } from "react";
|
|
676
797
|
import { TextArea as AriaTextArea } from "react-aria-components";
|
|
@@ -712,11 +833,11 @@ function KbdGroup({ className, ...props }) {
|
|
|
712
833
|
}
|
|
713
834
|
|
|
714
835
|
// src/ui/loading-overlay/loading-overlay.tsx
|
|
715
|
-
import {
|
|
836
|
+
import { LoaderCircle as LoaderCircle2 } from "lucide-react";
|
|
716
837
|
import { jsx as jsx28, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
717
838
|
function LoadingOverlay({ label = "Cargando", className, ...props }) {
|
|
718
839
|
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(
|
|
840
|
+
/* @__PURE__ */ jsx28(LoaderCircle2, { className: "animate-spin", "aria-hidden": "true" }),
|
|
720
841
|
/* @__PURE__ */ jsx28("span", { children: label })
|
|
721
842
|
] }) });
|
|
722
843
|
}
|
|
@@ -759,7 +880,7 @@ function PageHeaderActions({ className, ...props }) {
|
|
|
759
880
|
}
|
|
760
881
|
|
|
761
882
|
// src/ui/pagination/pagination.tsx
|
|
762
|
-
import {
|
|
883
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
763
884
|
import { jsx as jsx31, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
764
885
|
function Pagination({ page, pageCount, onPageChange, className }) {
|
|
765
886
|
const pages = Array.from({ length: pageCount }, (_, index) => index + 1);
|
|
@@ -771,9 +892,9 @@ function Pagination({ page, pageCount, onPageChange, className }) {
|
|
|
771
892
|
pageCount
|
|
772
893
|
] }),
|
|
773
894
|
/* @__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(
|
|
895
|
+
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina anterior", isDisabled: page <= 1, onPress: () => onPageChange(page - 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(ChevronLeft, {}) }),
|
|
775
896
|
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(
|
|
897
|
+
/* @__PURE__ */ jsx31(Button2, { "aria-label": "P\xE1gina siguiente", isDisabled: page >= pageCount, onPress: () => onPageChange(page + 1), size: "icon", variant: "ghost", children: /* @__PURE__ */ jsx31(ChevronRight, {}) })
|
|
777
898
|
] })
|
|
778
899
|
] });
|
|
779
900
|
}
|
|
@@ -791,7 +912,7 @@ function Popover4({ className, ...props }) {
|
|
|
791
912
|
var PopoverContent = Popover4;
|
|
792
913
|
|
|
793
914
|
// src/ui/quantity-input/quantity-input.tsx
|
|
794
|
-
import {
|
|
915
|
+
import { Minus, Plus } from "lucide-react";
|
|
795
916
|
import {
|
|
796
917
|
Button as AriaButton2,
|
|
797
918
|
Group as AriaGroup,
|
|
@@ -822,9 +943,9 @@ function QuantityInput({
|
|
|
822
943
|
"data-slot": "quantity-input-group",
|
|
823
944
|
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
945
|
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(
|
|
946
|
+
/* @__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
947
|
/* @__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(
|
|
948
|
+
/* @__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
949
|
]
|
|
829
950
|
}
|
|
830
951
|
)
|
|
@@ -838,13 +959,13 @@ import {
|
|
|
838
959
|
Button as Button3,
|
|
839
960
|
Input as Input4
|
|
840
961
|
} from "react-aria-components";
|
|
841
|
-
import {
|
|
962
|
+
import { X as X2 } from "lucide-react";
|
|
842
963
|
import { jsx as jsx34 } from "react/jsx-runtime";
|
|
843
964
|
var SearchField = AriaSearchField;
|
|
844
965
|
function SearchInput({ className, ...props }) {
|
|
845
966
|
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
967
|
}
|
|
847
|
-
function SearchClearButton({ className, children = /* @__PURE__ */ jsx34(
|
|
968
|
+
function SearchClearButton({ className, children = /* @__PURE__ */ jsx34(X2, { "aria-hidden": "true", className: "size-4" }), ...props }) {
|
|
848
969
|
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
970
|
}
|
|
850
971
|
|
|
@@ -857,13 +978,13 @@ import {
|
|
|
857
978
|
ListBoxItem as ListBoxItem3,
|
|
858
979
|
Popover as Popover5
|
|
859
980
|
} from "react-aria-components";
|
|
860
|
-
import {
|
|
861
|
-
import { Fragment as
|
|
981
|
+
import { ChevronDown as ChevronDown2 } from "lucide-react";
|
|
982
|
+
import { Fragment as Fragment7, jsx as jsx35, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
862
983
|
var Select = AriaSelect;
|
|
863
984
|
function SelectTrigger({ className, children, ...props }) {
|
|
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(
|
|
985
|
+
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(Fragment7, { children: [
|
|
865
986
|
typeof children === "function" ? children(state) : children,
|
|
866
|
-
/* @__PURE__ */ jsx35(
|
|
987
|
+
/* @__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
988
|
] }) });
|
|
868
989
|
}
|
|
869
990
|
function SelectValue({ className, ...props }) {
|
|
@@ -888,22 +1009,22 @@ function Separator({ className, orientation = "horizontal", ...props }) {
|
|
|
888
1009
|
|
|
889
1010
|
// src/ui/sidebar/sidebar.tsx
|
|
890
1011
|
import {
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
} from "
|
|
1012
|
+
ChevronLeft as ChevronLeft2,
|
|
1013
|
+
ChevronRight as ChevronRight2,
|
|
1014
|
+
Ellipsis,
|
|
1015
|
+
Search
|
|
1016
|
+
} from "lucide-react";
|
|
896
1017
|
import {
|
|
897
|
-
createContext
|
|
898
|
-
useContext
|
|
1018
|
+
createContext,
|
|
1019
|
+
useContext,
|
|
899
1020
|
useMemo as useMemo2,
|
|
900
1021
|
useState as useState7
|
|
901
1022
|
} from "react";
|
|
902
1023
|
import { Link as Link2 } from "react-aria-components";
|
|
903
|
-
import { Fragment as
|
|
904
|
-
var SidebarContext =
|
|
1024
|
+
import { Fragment as Fragment8, jsx as jsx37, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1025
|
+
var SidebarContext = createContext(null);
|
|
905
1026
|
function useSidebar() {
|
|
906
|
-
const context =
|
|
1027
|
+
const context = useContext(SidebarContext);
|
|
907
1028
|
if (!context)
|
|
908
1029
|
throw new Error("useSidebar must be used inside SidebarProvider");
|
|
909
1030
|
return context;
|
|
@@ -971,7 +1092,7 @@ function SidebarSearch({
|
|
|
971
1092
|
),
|
|
972
1093
|
...props,
|
|
973
1094
|
children: [
|
|
974
|
-
/* @__PURE__ */ jsx37(
|
|
1095
|
+
/* @__PURE__ */ jsx37(Search, { className: "size-4 shrink-0" }),
|
|
975
1096
|
/* @__PURE__ */ jsx37("span", { className: "flex-1 text-left", children: label }),
|
|
976
1097
|
/* @__PURE__ */ jsx37("kbd", { className: "rounded bg-secondary px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground", children: shortcut })
|
|
977
1098
|
]
|
|
@@ -1060,7 +1181,7 @@ function SidebarItem({
|
|
|
1060
1181
|
typeof className === "function" ? className : className
|
|
1061
1182
|
),
|
|
1062
1183
|
...props,
|
|
1063
|
-
children: (values) => /* @__PURE__ */ jsxs13(
|
|
1184
|
+
children: (values) => /* @__PURE__ */ jsxs13(Fragment8, { children: [
|
|
1064
1185
|
/* @__PURE__ */ jsx37("span", { className: "flex size-4 shrink-0 items-center justify-center", children: icon }),
|
|
1065
1186
|
/* @__PURE__ */ jsx37(
|
|
1066
1187
|
"span",
|
|
@@ -1098,7 +1219,7 @@ function SidebarTrigger({ className, ...props }) {
|
|
|
1098
1219
|
variant: "ghost",
|
|
1099
1220
|
className: cn("ml-auto", className),
|
|
1100
1221
|
...props,
|
|
1101
|
-
children: collapsed ? /* @__PURE__ */ jsx37(
|
|
1222
|
+
children: collapsed ? /* @__PURE__ */ jsx37(ChevronRight2, {}) : /* @__PURE__ */ jsx37(ChevronLeft2, {})
|
|
1102
1223
|
}
|
|
1103
1224
|
);
|
|
1104
1225
|
}
|
|
@@ -1130,7 +1251,7 @@ function SidebarMore({ className, ...props }) {
|
|
|
1130
1251
|
variant: "ghost",
|
|
1131
1252
|
className: cn("size-7", className),
|
|
1132
1253
|
...props,
|
|
1133
|
-
children: /* @__PURE__ */ jsx37(
|
|
1254
|
+
children: /* @__PURE__ */ jsx37(Ellipsis, {})
|
|
1134
1255
|
}
|
|
1135
1256
|
);
|
|
1136
1257
|
}
|
|
@@ -1143,13 +1264,13 @@ function Skeleton({ className, ...props }) {
|
|
|
1143
1264
|
|
|
1144
1265
|
// src/ui/submit-button/submit-button.tsx
|
|
1145
1266
|
import { useFormStatus } from "react-dom";
|
|
1146
|
-
import {
|
|
1147
|
-
import { Fragment as
|
|
1267
|
+
import { LoaderCircle as LoaderCircle3 } from "lucide-react";
|
|
1268
|
+
import { Fragment as Fragment9, jsx as jsx39, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
1148
1269
|
function SubmitButton({ pendingLabel = "Guardando\u2026", loading = false, children, isDisabled, size = "sm", ...props }) {
|
|
1149
1270
|
const { pending } = useFormStatus();
|
|
1150
1271
|
const busy = pending || loading;
|
|
1151
|
-
return /* @__PURE__ */ jsx39(Button2, { type: "submit", size, isDisabled: busy || isDisabled, "aria-busy": busy || void 0, ...props, children: busy ? /* @__PURE__ */ jsxs14(
|
|
1152
|
-
/* @__PURE__ */ jsx39(
|
|
1272
|
+
return /* @__PURE__ */ jsx39(Button2, { type: "submit", size, isDisabled: busy || isDisabled, "aria-busy": busy || void 0, ...props, children: busy ? /* @__PURE__ */ jsxs14(Fragment9, { children: [
|
|
1273
|
+
/* @__PURE__ */ jsx39(LoaderCircle3, { "aria-hidden": "true", className: "size-3.5 animate-spin" }),
|
|
1153
1274
|
pendingLabel
|
|
1154
1275
|
] }) : children });
|
|
1155
1276
|
}
|
|
@@ -1159,7 +1280,7 @@ import {
|
|
|
1159
1280
|
SwitchButton as AriaSwitchButton,
|
|
1160
1281
|
SwitchField as AriaSwitchField
|
|
1161
1282
|
} from "react-aria-components";
|
|
1162
|
-
import { Fragment as
|
|
1283
|
+
import { Fragment as Fragment10, jsx as jsx40, jsxs as jsxs15 } from "react/jsx-runtime";
|
|
1163
1284
|
var sizeStyles = {
|
|
1164
1285
|
sm: { track: "h-5 w-9 p-0.5", thumb: "size-4", travel: "group-data-selected/switch:translate-x-4" },
|
|
1165
1286
|
md: { track: "h-6 w-11 p-0.5", thumb: "size-5", travel: "group-data-selected/switch:translate-x-5" }
|
|
@@ -1176,7 +1297,7 @@ function Switch({ className, children, size = "sm", ...props }) {
|
|
|
1176
1297
|
"data-disabled:cursor-not-allowed data-disabled:opacity-50",
|
|
1177
1298
|
typeof className === "function" ? className(state) : className
|
|
1178
1299
|
),
|
|
1179
|
-
children: (state) => /* @__PURE__ */ jsxs15(
|
|
1300
|
+
children: (state) => /* @__PURE__ */ jsxs15(Fragment10, { children: [
|
|
1180
1301
|
/* @__PURE__ */ jsx40(
|
|
1181
1302
|
"span",
|
|
1182
1303
|
{
|
|
@@ -1265,8 +1386,8 @@ function TabsContent({ className, ...props }) {
|
|
|
1265
1386
|
|
|
1266
1387
|
// src/ui/toast/toast.tsx
|
|
1267
1388
|
import { useEffect as useEffect4, useSyncExternalStore } from "react";
|
|
1268
|
-
import {
|
|
1269
|
-
import { Fragment as
|
|
1389
|
+
import { CheckCircle as CheckCircle2, Info, CircleAlert as CircleAlert2, XCircle, X as X3 } from "lucide-react";
|
|
1390
|
+
import { Fragment as Fragment11, jsx as jsx43, jsxs as jsxs16 } from "react/jsx-runtime";
|
|
1270
1391
|
var records = [];
|
|
1271
1392
|
var listeners = /* @__PURE__ */ new Set();
|
|
1272
1393
|
var snapshot = () => records;
|
|
@@ -1311,7 +1432,7 @@ function useToast() {
|
|
|
1311
1432
|
return toast;
|
|
1312
1433
|
}
|
|
1313
1434
|
function ToastProvider({ children }) {
|
|
1314
|
-
return /* @__PURE__ */ jsxs16(
|
|
1435
|
+
return /* @__PURE__ */ jsxs16(Fragment11, { children: [
|
|
1315
1436
|
children,
|
|
1316
1437
|
/* @__PURE__ */ jsx43(Toaster, {})
|
|
1317
1438
|
] });
|
|
@@ -1325,7 +1446,7 @@ var positionClasses = {
|
|
|
1325
1446
|
"bottom-right": "bottom-4 right-4 items-end"
|
|
1326
1447
|
};
|
|
1327
1448
|
function Toaster({ position = "bottom-right" }) {
|
|
1328
|
-
return /* @__PURE__ */ jsx43(
|
|
1449
|
+
return /* @__PURE__ */ jsx43(Fragment11, { children: Object.keys(positionClasses).map((item) => /* @__PURE__ */ jsx43(ToastViewport, { position: item, visiblePosition: position }, item)) });
|
|
1329
1450
|
}
|
|
1330
1451
|
function ToastViewport({ position, visiblePosition, className }) {
|
|
1331
1452
|
const toasts = useSyncExternalStore(subscribe, snapshot, snapshot).filter((item) => item.position === position);
|
|
@@ -1338,15 +1459,15 @@ function Toast({ id, title, description, variant = "default", action, state = "o
|
|
|
1338
1459
|
const timeout = window.setTimeout(() => dismiss(id), duration);
|
|
1339
1460
|
return () => window.clearTimeout(timeout);
|
|
1340
1461
|
}, [duration, id, state]);
|
|
1341
|
-
const Icon = variant === "success" ?
|
|
1462
|
+
const Icon = variant === "success" ? CheckCircle2 : variant === "error" ? XCircle : variant === "warning" ? CircleAlert2 : variant === "info" ? Info : Info;
|
|
1342
1463
|
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",
|
|
1464
|
+
/* @__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
1465
|
/* @__PURE__ */ jsxs16("div", { className: "min-w-0 flex-1", children: [
|
|
1345
1466
|
/* @__PURE__ */ jsx43("p", { className: "animate-ui-toast-title text-sm font-semibold", children: title }),
|
|
1346
1467
|
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
1468
|
action && /* @__PURE__ */ jsx43(Button2, { size: "sm", variant: "link", onPress: action.onPress, className: "mt-1 h-auto px-0", children: action.label })
|
|
1348
1469
|
] }),
|
|
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(
|
|
1470
|
+
/* @__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
1471
|
] }) });
|
|
1351
1472
|
}
|
|
1352
1473
|
|
|
@@ -1374,6 +1495,8 @@ export {
|
|
|
1374
1495
|
AppShellContent,
|
|
1375
1496
|
AppShellHeader,
|
|
1376
1497
|
AppShellMain,
|
|
1498
|
+
AppShellMobileHeader,
|
|
1499
|
+
AppShellSidebar,
|
|
1377
1500
|
AutocompleteCombobox,
|
|
1378
1501
|
Avatar,
|
|
1379
1502
|
AvatarBadge,
|
|
@@ -1409,13 +1532,6 @@ export {
|
|
|
1409
1532
|
CommandItem,
|
|
1410
1533
|
CommandList,
|
|
1411
1534
|
ConfirmDialog,
|
|
1412
|
-
Dialog,
|
|
1413
|
-
DialogClose,
|
|
1414
|
-
DialogContent,
|
|
1415
|
-
DialogDescription,
|
|
1416
|
-
DialogFooter,
|
|
1417
|
-
DialogHeader,
|
|
1418
|
-
DialogTitle,
|
|
1419
1535
|
Drawer,
|
|
1420
1536
|
DrawerDescription,
|
|
1421
1537
|
DrawerFooter,
|
|
@@ -1452,6 +1568,7 @@ export {
|
|
|
1452
1568
|
MenuContent,
|
|
1453
1569
|
MenuItem,
|
|
1454
1570
|
MenuTrigger,
|
|
1571
|
+
ModalDialog,
|
|
1455
1572
|
PageHeader,
|
|
1456
1573
|
PageHeaderActions,
|
|
1457
1574
|
PageHeaderDescription,
|