@moeve-ui/ui 0.1.0 → 0.2.0

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.mjs CHANGED
@@ -101,6 +101,21 @@ function CheckCircleIcon(props) {
101
101
  /* @__PURE__ */ jsx("path", { d: "m8.5 12.5 2.5 2.5 5-5" })
102
102
  ] });
103
103
  }
104
+ function CalendarIcon(props) {
105
+ return /* @__PURE__ */ jsxs("svg", { ...base, stroke: "currentColor", ...props, children: [
106
+ /* @__PURE__ */ jsx("rect", { x: "3", y: "5", width: "18", height: "16", rx: "2" }),
107
+ /* @__PURE__ */ jsx("line", { x1: "3", y1: "10", x2: "21", y2: "10" }),
108
+ /* @__PURE__ */ jsx("line", { x1: "8", y1: "3", x2: "8", y2: "7" }),
109
+ /* @__PURE__ */ jsx("line", { x1: "16", y1: "3", x2: "16", y2: "7" })
110
+ ] });
111
+ }
112
+ function UploadIcon(props) {
113
+ return /* @__PURE__ */ jsxs("svg", { ...base, stroke: "currentColor", ...props, children: [
114
+ /* @__PURE__ */ jsx("path", { d: "M12 16V4" }),
115
+ /* @__PURE__ */ jsx("path", { d: "m7 9 5-5 5 5" }),
116
+ /* @__PURE__ */ jsx("path", { d: "M4 16v3a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-3" })
117
+ ] });
118
+ }
104
119
  function XIcon(props) {
105
120
  return /* @__PURE__ */ jsxs("svg", { ...base, stroke: "currentColor", ...props, children: [
106
121
  /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
@@ -485,8 +500,116 @@ function MiniMapCard({ overlayTitle, overlayLinkLabel, competitorCount }) {
485
500
  ] });
486
501
  }
487
502
 
503
+ // src/molecules/WeekdayPicker/WeekdayPicker.tsx
504
+ import { jsx as jsx13 } from "react/jsx-runtime";
505
+ function WeekdayPicker({ labels, selected, onToggle, className = "" }) {
506
+ return /* @__PURE__ */ jsx13("div", { role: "group", className: `flex flex-wrap gap-2 ${className}`.trim(), children: labels.map((label, day) => {
507
+ const active = selected.includes(day);
508
+ return /* @__PURE__ */ jsx13(
509
+ "button",
510
+ {
511
+ type: "button",
512
+ "aria-pressed": active,
513
+ onClick: () => onToggle(day),
514
+ className: `flex h-10 w-10 items-center justify-center rounded-full border text-xs font-semibold transition-colors ${active ? "border-brand-primary bg-brand-primary text-white" : "border-border text-text-secondary hover:bg-surface-subtle"}`,
515
+ children: label
516
+ },
517
+ day
518
+ );
519
+ }) });
520
+ }
521
+
522
+ // src/molecules/SelectableCard/SelectableCard.tsx
523
+ import { jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
524
+ function SelectableCard({ icon, title, subtitle, selected = false, onClick, className = "" }) {
525
+ return /* @__PURE__ */ jsxs10(
526
+ "button",
527
+ {
528
+ type: "button",
529
+ "aria-pressed": selected,
530
+ onClick,
531
+ className: `flex w-full items-center gap-3 rounded-xl border p-4 text-left transition-colors ${selected ? "border-brand-primary bg-brand-primary/5" : "border-border hover:bg-surface-subtle"} ${className}`.trim(),
532
+ children: [
533
+ icon && /* @__PURE__ */ jsx14(
534
+ "span",
535
+ {
536
+ className: `flex h-10 w-10 shrink-0 items-center justify-center rounded-full ${selected ? "bg-brand-primary text-white" : "bg-surface-muted text-text-secondary"}`,
537
+ children: icon
538
+ }
539
+ ),
540
+ /* @__PURE__ */ jsxs10("span", { className: "flex flex-col", children: [
541
+ /* @__PURE__ */ jsx14("span", { className: "font-medium text-text-primary", children: title }),
542
+ subtitle && /* @__PURE__ */ jsx14("span", { className: "text-sm text-text-tertiary", children: subtitle })
543
+ ] })
544
+ ]
545
+ }
546
+ );
547
+ }
548
+
549
+ // src/molecules/FileDropzone/FileDropzone.tsx
550
+ import { useRef, useState } from "react";
551
+ import { Fragment, jsx as jsx15, jsxs as jsxs11 } from "react/jsx-runtime";
552
+ function FileDropzone({
553
+ accept,
554
+ onFileSelected,
555
+ selectedFileName,
556
+ label = "Arrastra tu archivo aqu\xED, o haz clic para elegirlo",
557
+ hint,
558
+ className = ""
559
+ }) {
560
+ const inputRef = useRef(null);
561
+ const [dragActive, setDragActive] = useState(false);
562
+ function openPicker() {
563
+ inputRef.current?.click();
564
+ }
565
+ function handleKeyDown(e) {
566
+ if (e.key === "Enter" || e.key === " ") {
567
+ e.preventDefault();
568
+ openPicker();
569
+ }
570
+ }
571
+ function handleDrop(e) {
572
+ e.preventDefault();
573
+ setDragActive(false);
574
+ onFileSelected(e.dataTransfer.files?.[0] ?? null);
575
+ }
576
+ return /* @__PURE__ */ jsxs11(
577
+ "div",
578
+ {
579
+ role: "button",
580
+ tabIndex: 0,
581
+ onClick: openPicker,
582
+ onKeyDown: handleKeyDown,
583
+ onDragOver: (e) => {
584
+ e.preventDefault();
585
+ setDragActive(true);
586
+ },
587
+ onDragLeave: () => setDragActive(false),
588
+ onDrop: handleDrop,
589
+ className: `flex cursor-pointer flex-col items-center justify-center gap-2 rounded-xl border-2 border-dashed px-6 py-8 text-center transition-colors ${dragActive ? "border-brand-primary bg-brand-primary/5" : "border-border hover:border-brand-primary/60"} ${className}`.trim(),
590
+ children: [
591
+ /* @__PURE__ */ jsx15(
592
+ "input",
593
+ {
594
+ ref: inputRef,
595
+ type: "file",
596
+ accept,
597
+ className: "hidden",
598
+ onChange: (e) => onFileSelected(e.target.files?.[0] ?? null)
599
+ }
600
+ ),
601
+ /* @__PURE__ */ jsx15(UploadIcon, { className: `size-6 ${dragActive ? "text-brand-primary" : "text-text-tertiary"}` }),
602
+ selectedFileName ? /* @__PURE__ */ jsx15("p", { className: "text-sm font-medium text-text-primary", children: selectedFileName }) : /* @__PURE__ */ jsxs11(Fragment, { children: [
603
+ /* @__PURE__ */ jsx15("p", { className: "text-sm font-medium text-text-primary", children: label }),
604
+ hint && /* @__PURE__ */ jsx15("p", { className: "text-xs text-text-tertiary", children: hint })
605
+ ] })
606
+ ]
607
+ }
608
+ );
609
+ }
610
+
488
611
  // src/organisms/Sidebar/Sidebar.tsx
489
- import { jsx as jsx13, jsxs as jsxs10 } from "react/jsx-runtime";
612
+ import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
490
613
  function Sidebar({
491
614
  brandName = "Redinamic",
492
615
  stations,
@@ -496,43 +619,43 @@ function Sidebar({
496
619
  user,
497
620
  onLogout
498
621
  }) {
499
- return /* @__PURE__ */ jsxs10("aside", { className: "fixed left-0 top-0 flex h-screen w-[260px] flex-col justify-between bg-brand-sidebar pb-2 pt-8", children: [
500
- /* @__PURE__ */ jsxs10("div", { className: "flex flex-col gap-6 px-4 pb-6", children: [
501
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-3 px-2", children: [
502
- /* @__PURE__ */ jsx13("div", { className: "flex size-8 items-center justify-center rounded bg-brand-logo", children: /* @__PURE__ */ jsx13(BoltIcon, { className: "size-4 text-brand-sidebar" }) }),
503
- /* @__PURE__ */ jsx13("span", { className: "text-2xl font-semibold tracking-tight text-white", children: brandName })
622
+ return /* @__PURE__ */ jsxs12("aside", { className: "fixed left-0 top-0 flex h-screen w-[260px] flex-col justify-between bg-brand-sidebar pb-2 pt-8", children: [
623
+ /* @__PURE__ */ jsxs12("div", { className: "flex flex-col gap-6 px-4 pb-6", children: [
624
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3 px-2", children: [
625
+ /* @__PURE__ */ jsx16("div", { className: "flex size-8 items-center justify-center rounded bg-brand-logo", children: /* @__PURE__ */ jsx16(BoltIcon, { className: "size-4 text-brand-sidebar" }) }),
626
+ /* @__PURE__ */ jsx16("span", { className: "text-2xl font-semibold tracking-tight text-white", children: brandName })
504
627
  ] }),
505
- /* @__PURE__ */ jsxs10("div", { className: "relative", children: [
506
- /* @__PURE__ */ jsx13(MapPinIcon, { className: "pointer-events-none absolute left-4 top-1/2 size-4 -translate-y-1/2 text-white" }),
507
- /* @__PURE__ */ jsx13(
628
+ /* @__PURE__ */ jsxs12("div", { className: "relative", children: [
629
+ /* @__PURE__ */ jsx16(MapPinIcon, { className: "pointer-events-none absolute left-4 top-1/2 size-4 -translate-y-1/2 text-white" }),
630
+ /* @__PURE__ */ jsx16(
508
631
  "select",
509
632
  {
510
633
  value: selectedStationId,
511
634
  onChange: (event) => onSelectStation(event.target.value),
512
635
  className: "w-full appearance-none rounded-xl border border-white/10 bg-white/10 py-2.5 pl-10 pr-9 text-sm font-semibold text-white outline-none",
513
- children: stations.map((station) => /* @__PURE__ */ jsx13("option", { value: station.id, className: "text-text-primary", children: station.label }, station.id))
636
+ children: stations.map((station) => /* @__PURE__ */ jsx16("option", { value: station.id, className: "text-text-primary", children: station.label }, station.id))
514
637
  }
515
638
  ),
516
- /* @__PURE__ */ jsx13(ChevronDownIcon, { className: "pointer-events-none absolute right-3 top-1/2 size-3 -translate-y-1/2 text-white" })
639
+ /* @__PURE__ */ jsx16(ChevronDownIcon, { className: "pointer-events-none absolute right-3 top-1/2 size-3 -translate-y-1/2 text-white" })
517
640
  ] })
518
641
  ] }),
519
- /* @__PURE__ */ jsx13("nav", { className: "flex flex-1 flex-col gap-1 px-4", children: navItems.map((item) => /* @__PURE__ */ jsx13(NavItem, { icon: item.icon, label: item.label, active: item.active, href: item.href }, item.key)) }),
520
- /* @__PURE__ */ jsxs10("div", { className: "border-t border-white/10 px-4 pt-4", children: [
521
- /* @__PURE__ */ jsxs10("div", { className: "flex items-center gap-3 px-4 py-3", children: [
522
- /* @__PURE__ */ jsx13(Avatar, { className: "bg-brand-primary text-white", children: /* @__PURE__ */ jsx13(UserCircleIcon, { className: "size-4" }) }),
523
- /* @__PURE__ */ jsxs10("div", { children: [
524
- /* @__PURE__ */ jsx13("p", { className: "text-sm font-semibold text-white", children: user.name }),
525
- /* @__PURE__ */ jsx13("p", { className: "text-xs text-white/60", children: user.role })
642
+ /* @__PURE__ */ jsx16("nav", { className: "flex flex-1 flex-col gap-1 px-4", children: navItems.map((item) => /* @__PURE__ */ jsx16(NavItem, { icon: item.icon, label: item.label, active: item.active, href: item.href }, item.key)) }),
643
+ /* @__PURE__ */ jsxs12("div", { className: "border-t border-white/10 px-4 pt-4", children: [
644
+ /* @__PURE__ */ jsxs12("div", { className: "flex items-center gap-3 px-4 py-3", children: [
645
+ /* @__PURE__ */ jsx16(Avatar, { className: "bg-brand-primary text-white", children: /* @__PURE__ */ jsx16(UserCircleIcon, { className: "size-4" }) }),
646
+ /* @__PURE__ */ jsxs12("div", { children: [
647
+ /* @__PURE__ */ jsx16("p", { className: "text-sm font-semibold text-white", children: user.name }),
648
+ /* @__PURE__ */ jsx16("p", { className: "text-xs text-white/60", children: user.role })
526
649
  ] })
527
650
  ] }),
528
- /* @__PURE__ */ jsxs10(
651
+ /* @__PURE__ */ jsxs12(
529
652
  "button",
530
653
  {
531
654
  type: "button",
532
655
  onClick: onLogout,
533
656
  className: "flex w-full items-center gap-3 rounded-lg px-4 py-2 text-sm font-semibold text-white/50 transition-colors hover:text-white/80",
534
657
  children: [
535
- /* @__PURE__ */ jsx13(LogOutIcon, { className: "size-4" }),
658
+ /* @__PURE__ */ jsx16(LogOutIcon, { className: "size-4" }),
536
659
  "Cerrar Sesi\xF3n"
537
660
  ]
538
661
  }
@@ -542,7 +665,7 @@ function Sidebar({
542
665
  }
543
666
 
544
667
  // src/organisms/TopBar/TopBar.tsx
545
- import { jsx as jsx14, jsxs as jsxs11 } from "react/jsx-runtime";
668
+ import { jsx as jsx17, jsxs as jsxs13 } from "react/jsx-runtime";
546
669
  function TopBar({
547
670
  stationName,
548
671
  lastUpdatedLabel,
@@ -550,36 +673,36 @@ function TopBar({
550
673
  refreshing = false,
551
674
  middleContent
552
675
  }) {
553
- return /* @__PURE__ */ jsxs11("header", { className: "fixed left-[260px] right-0 top-0 z-10 flex h-20 items-center justify-between gap-4 bg-surface-page/80 px-6 shadow-header backdrop-blur-md", children: [
554
- /* @__PURE__ */ jsxs11("div", { className: "shrink-0", children: [
555
- /* @__PURE__ */ jsxs11("div", { className: "flex items-center gap-2", children: [
556
- /* @__PURE__ */ jsx14(MapPinIcon, { className: "size-4 text-text-primary" }),
557
- /* @__PURE__ */ jsx14("span", { className: "text-sm font-semibold text-text-primary", children: stationName })
676
+ return /* @__PURE__ */ jsxs13("header", { className: "fixed left-[260px] right-0 top-0 z-10 flex h-20 items-center justify-between gap-4 bg-surface-page/80 px-6 shadow-header backdrop-blur-md", children: [
677
+ /* @__PURE__ */ jsxs13("div", { className: "shrink-0", children: [
678
+ /* @__PURE__ */ jsxs13("div", { className: "flex items-center gap-2", children: [
679
+ /* @__PURE__ */ jsx17(MapPinIcon, { className: "size-4 text-text-primary" }),
680
+ /* @__PURE__ */ jsx17("span", { className: "text-sm font-semibold text-text-primary", children: stationName })
558
681
  ] }),
559
- /* @__PURE__ */ jsxs11("div", { className: "mt-1 flex items-center gap-2", children: [
560
- /* @__PURE__ */ jsx14("span", { className: "size-2 rounded-full bg-success-dark" }),
561
- /* @__PURE__ */ jsx14("span", { className: "text-xs font-medium text-text-secondary", children: lastUpdatedLabel })
682
+ /* @__PURE__ */ jsxs13("div", { className: "mt-1 flex items-center gap-2", children: [
683
+ /* @__PURE__ */ jsx17("span", { className: "size-2 rounded-full bg-success-dark" }),
684
+ /* @__PURE__ */ jsx17("span", { className: "text-xs font-medium text-text-secondary", children: lastUpdatedLabel })
562
685
  ] })
563
686
  ] }),
564
687
  middleContent,
565
- /* @__PURE__ */ jsxs11("div", { className: "flex shrink-0 items-center gap-4", children: [
566
- /* @__PURE__ */ jsx14(
688
+ /* @__PURE__ */ jsxs13("div", { className: "flex shrink-0 items-center gap-4", children: [
689
+ /* @__PURE__ */ jsx17(
567
690
  Button,
568
691
  {
569
692
  variant: "primary",
570
- icon: /* @__PURE__ */ jsx14(RefreshIcon, { className: `size-4 ${refreshing ? "animate-spin" : ""}` }),
693
+ icon: /* @__PURE__ */ jsx17(RefreshIcon, { className: `size-4 ${refreshing ? "animate-spin" : ""}` }),
571
694
  onClick: onRefresh,
572
695
  disabled: refreshing,
573
696
  children: "Actualizar datos"
574
697
  }
575
698
  ),
576
- /* @__PURE__ */ jsx14(Avatar, { className: "bg-brand-primary text-white", size: "sm", children: /* @__PURE__ */ jsx14(UserCircleIcon, { className: "size-4" }) })
699
+ /* @__PURE__ */ jsx17(Avatar, { className: "bg-brand-primary text-white", size: "sm", children: /* @__PURE__ */ jsx17(UserCircleIcon, { className: "size-4" }) })
577
700
  ] })
578
701
  ] });
579
702
  }
580
703
 
581
704
  // src/organisms/ConfirmDialog/ConfirmDialog.tsx
582
- import { jsx as jsx15, jsxs as jsxs12 } from "react/jsx-runtime";
705
+ import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
583
706
  function ConfirmDialog({
584
707
  open,
585
708
  onClose,
@@ -594,49 +717,49 @@ function ConfirmDialog({
594
717
  confirming = false
595
718
  }) {
596
719
  if (!open) return null;
597
- return /* @__PURE__ */ jsx15("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4", children: /* @__PURE__ */ jsxs12("div", { className: "w-full max-w-md overflow-hidden rounded-2xl bg-white shadow-modal", children: [
598
- /* @__PURE__ */ jsxs12("div", { className: "relative flex items-center justify-center bg-gradient-to-r from-brand-primary to-info-dark py-8", children: [
599
- /* @__PURE__ */ jsx15(
720
+ return /* @__PURE__ */ jsx18("div", { className: "fixed inset-0 z-50 flex items-center justify-center bg-black/40 p-4", children: /* @__PURE__ */ jsxs14("div", { className: "w-full max-w-md overflow-hidden rounded-2xl bg-white shadow-modal", children: [
721
+ /* @__PURE__ */ jsxs14("div", { className: "relative flex items-center justify-center bg-gradient-to-r from-brand-primary to-info-dark py-8", children: [
722
+ /* @__PURE__ */ jsx18(
600
723
  "button",
601
724
  {
602
725
  type: "button",
603
726
  onClick: onClose,
604
727
  "aria-label": "Cerrar",
605
728
  className: "absolute right-4 top-4 text-white/80 hover:text-white",
606
- children: /* @__PURE__ */ jsx15(XIcon, { className: "size-5" })
729
+ children: /* @__PURE__ */ jsx18(XIcon, { className: "size-5" })
607
730
  }
608
731
  ),
609
- /* @__PURE__ */ jsx15("div", { className: "flex size-14 items-center justify-center rounded-full bg-white text-brand-primary", children: /* @__PURE__ */ jsx15(WalletIcon, { className: "size-6" }) })
732
+ /* @__PURE__ */ jsx18("div", { className: "flex size-14 items-center justify-center rounded-full bg-white text-brand-primary", children: /* @__PURE__ */ jsx18(WalletIcon, { className: "size-6" }) })
610
733
  ] }),
611
- /* @__PURE__ */ jsxs12("div", { className: "flex flex-col items-center gap-3 px-8 py-6 text-center", children: [
612
- /* @__PURE__ */ jsx15("h2", { className: "text-xl font-bold text-text-primary", children: title }),
613
- /* @__PURE__ */ jsx15("span", { className: "rounded-full bg-surface-muted px-3 py-1 text-xs font-semibold text-text-secondary", children: productLabel }),
614
- /* @__PURE__ */ jsx15("p", { className: "text-sm text-text-secondary", children: description }),
615
- /* @__PURE__ */ jsxs12("div", { className: "mt-2 flex w-full items-center justify-between rounded-xl bg-surface-subtle p-4", children: [
616
- /* @__PURE__ */ jsxs12("div", { className: "text-left", children: [
617
- /* @__PURE__ */ jsx15("p", { className: "text-xs uppercase text-text-secondary", children: "Actual" }),
618
- /* @__PURE__ */ jsx15("p", { className: "text-lg font-semibold text-text-tertiary line-through", children: currentPrice })
734
+ /* @__PURE__ */ jsxs14("div", { className: "flex flex-col items-center gap-3 px-8 py-6 text-center", children: [
735
+ /* @__PURE__ */ jsx18("h2", { className: "text-xl font-bold text-text-primary", children: title }),
736
+ /* @__PURE__ */ jsx18("span", { className: "rounded-full bg-surface-muted px-3 py-1 text-xs font-semibold text-text-secondary", children: productLabel }),
737
+ /* @__PURE__ */ jsx18("p", { className: "text-sm text-text-secondary", children: description }),
738
+ /* @__PURE__ */ jsxs14("div", { className: "mt-2 flex w-full items-center justify-between rounded-xl bg-surface-subtle p-4", children: [
739
+ /* @__PURE__ */ jsxs14("div", { className: "text-left", children: [
740
+ /* @__PURE__ */ jsx18("p", { className: "text-xs uppercase text-text-secondary", children: "Actual" }),
741
+ /* @__PURE__ */ jsx18("p", { className: "text-lg font-semibold text-text-tertiary line-through", children: currentPrice })
619
742
  ] }),
620
- /* @__PURE__ */ jsx15("span", { className: "text-text-secondary", children: "\u2192" }),
621
- /* @__PURE__ */ jsxs12("div", { className: "text-right", children: [
622
- /* @__PURE__ */ jsx15("p", { className: "text-xs uppercase text-success-dark", children: "Recomendado" }),
623
- /* @__PURE__ */ jsx15("p", { className: "text-lg font-semibold text-brand-primary", children: newPrice })
743
+ /* @__PURE__ */ jsx18("span", { className: "text-text-secondary", children: "\u2192" }),
744
+ /* @__PURE__ */ jsxs14("div", { className: "text-right", children: [
745
+ /* @__PURE__ */ jsx18("p", { className: "text-xs uppercase text-success-dark", children: "Recomendado" }),
746
+ /* @__PURE__ */ jsx18("p", { className: "text-lg font-semibold text-brand-primary", children: newPrice })
624
747
  ] })
625
748
  ] }),
626
- /* @__PURE__ */ jsxs12("div", { className: "flex w-full items-center justify-between text-sm", children: [
627
- /* @__PURE__ */ jsxs12("div", { className: "text-left", children: [
628
- /* @__PURE__ */ jsx15("p", { className: "text-xs text-text-secondary", children: "Impacto en Margen" }),
629
- /* @__PURE__ */ jsx15("p", { className: "font-semibold text-success-dark", children: marginImpactLabel })
749
+ /* @__PURE__ */ jsxs14("div", { className: "flex w-full items-center justify-between text-sm", children: [
750
+ /* @__PURE__ */ jsxs14("div", { className: "text-left", children: [
751
+ /* @__PURE__ */ jsx18("p", { className: "text-xs text-text-secondary", children: "Impacto en Margen" }),
752
+ /* @__PURE__ */ jsx18("p", { className: "font-semibold text-success-dark", children: marginImpactLabel })
630
753
  ] }),
631
- /* @__PURE__ */ jsxs12("div", { className: "text-right", children: [
632
- /* @__PURE__ */ jsx15("p", { className: "text-xs text-text-secondary", children: "Volumen Estimado" }),
633
- /* @__PURE__ */ jsx15("p", { className: "font-semibold text-success-dark", children: volumeImpactLabel })
754
+ /* @__PURE__ */ jsxs14("div", { className: "text-right", children: [
755
+ /* @__PURE__ */ jsx18("p", { className: "text-xs text-text-secondary", children: "Volumen Estimado" }),
756
+ /* @__PURE__ */ jsx18("p", { className: "font-semibold text-success-dark", children: volumeImpactLabel })
634
757
  ] })
635
758
  ] })
636
759
  ] }),
637
- /* @__PURE__ */ jsxs12("div", { className: "flex items-center justify-end gap-4 border-t border-border px-8 py-4", children: [
638
- /* @__PURE__ */ jsx15(Button, { variant: "text", onClick: onClose, children: "Cancelar" }),
639
- /* @__PURE__ */ jsx15(Button, { variant: "primary", onClick: onConfirm, disabled: confirming, children: confirming ? "Aplicando..." : "Confirmar y aplicar" })
760
+ /* @__PURE__ */ jsxs14("div", { className: "flex items-center justify-end gap-4 border-t border-border px-8 py-4", children: [
761
+ /* @__PURE__ */ jsx18(Button, { variant: "text", onClick: onClose, children: "Cancelar" }),
762
+ /* @__PURE__ */ jsx18(Button, { variant: "primary", onClick: onConfirm, disabled: confirming, children: confirming ? "Aplicando..." : "Confirmar y aplicar" })
640
763
  ] })
641
764
  ] }) });
642
765
  }
@@ -647,12 +770,14 @@ export {
647
770
  Badge,
648
771
  BoltIcon,
649
772
  Button,
773
+ CalendarIcon,
650
774
  Card,
651
775
  CheckCircleIcon,
652
776
  ChevronDownIcon,
653
777
  CompetitorRow,
654
778
  ConfirmDialog,
655
779
  DecisionFactorRow,
780
+ FileDropzone,
656
781
  FuelIcon,
657
782
  FuelPumpSolidIcon,
658
783
  LogOutIcon,
@@ -663,6 +788,7 @@ export {
663
788
  ProgressBar,
664
789
  RefreshIcon,
665
790
  SegmentedTabs,
791
+ SelectableCard,
666
792
  Sidebar,
667
793
  Snackbar,
668
794
  StatTile,
@@ -672,9 +798,11 @@ export {
672
798
  TrendDownIcon,
673
799
  TrendUpIcon,
674
800
  TrendUpSolidIcon,
801
+ UploadIcon,
675
802
  UserCircleIcon,
676
803
  WalletIcon,
677
804
  WalletSolidIcon,
805
+ WeekdayPicker,
678
806
  XIcon,
679
807
  colors
680
808
  };