@klu_dev/ui-klu-green 1.2.17 → 1.2.19

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.js CHANGED
@@ -82,6 +82,24 @@ var ChevronRightIcon = ({ className }) => /* @__PURE__ */ jsx(
82
82
  )
83
83
  }
84
84
  );
85
+ var ChevronDownIcon = ({ className }) => /* @__PURE__ */ jsx(
86
+ "svg",
87
+ {
88
+ xmlns: "http://www.w3.org/2000/svg",
89
+ width: "20",
90
+ height: "20",
91
+ viewBox: "0 0 20 20",
92
+ fill: "none",
93
+ className,
94
+ children: /* @__PURE__ */ jsx(
95
+ "path",
96
+ {
97
+ d: "M16.6923 7.94217L10.4423 14.1922C10.3842 14.2503 10.3153 14.2964 10.2394 14.3278C10.1636 14.3593 10.0822 14.3755 10.0001 14.3755C9.91797 14.3755 9.83664 14.3593 9.76077 14.3278C9.68489 14.2964 9.61596 14.2503 9.55792 14.1922L3.30792 7.94217C3.19064 7.82489 3.12476 7.66583 3.12476 7.49998C3.12476 7.33413 3.19064 7.17507 3.30792 7.05779C3.42519 6.94052 3.58425 6.87463 3.7501 6.87463C3.91596 6.87463 4.07502 6.94052 4.19229 7.05779L10.0001 12.8664L15.8079 7.05779C15.866 6.99972 15.9349 6.95366 16.0108 6.92224C16.0867 6.89081 16.168 6.87463 16.2501 6.87463C16.3322 6.87463 16.4135 6.89081 16.4894 6.92224C16.5653 6.95366 16.6342 6.99972 16.6923 7.05779C16.7504 7.11586 16.7964 7.1848 16.8278 7.26067C16.8593 7.33654 16.8755 7.41786 16.8755 7.49998C16.8755 7.5821 16.8593 7.66342 16.8278 7.73929C16.7964 7.81516 16.7504 7.8841 16.6923 7.94217Z",
98
+ fill: "currentColor"
99
+ }
100
+ )
101
+ }
102
+ );
85
103
  var ShieldCheckIcon = ({ className }) => /* @__PURE__ */ jsx("div", { className: "uiklu-bg-primary300 uiklu-w-8 uiklu-h-8 uiklu-rounded-full uiklu-flex uiklu-items-center uiklu-justify-center uiklu-shrink-0", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", className, children: /* @__PURE__ */ jsx(
86
104
  "path",
87
105
  {
@@ -943,6 +961,7 @@ var Icons = {
943
961
  TICKET: /* @__PURE__ */ jsx(TicketIcon, {}),
944
962
  CASH: /* @__PURE__ */ jsx(CashIcon, {}),
945
963
  CHEVRON_RIGHT: /* @__PURE__ */ jsx(ChevronRightIcon, {}),
964
+ CHEVRON_DOWN: /* @__PURE__ */ jsx(ChevronDownIcon, {}),
946
965
  SHIELD_CHECK: /* @__PURE__ */ jsx(ShieldCheckIcon, {}),
947
966
  CLOSE: /* @__PURE__ */ jsx(CloseIcon, {}),
948
967
  MONEY: /* @__PURE__ */ jsx(MoneyIcon, {}),
@@ -1325,7 +1344,10 @@ var SelectContent = React4.forwardRef(({ className, children, position = "popper
1325
1344
  {
1326
1345
  ref,
1327
1346
  className: cn(
1328
- "uiklu-relative uiklu-z-50 uiklu-max-h-96 uiklu-w-[var(--radix-select-trigger-width)] uiklu-min-w-[var(--radix-select-trigger-width)] uiklu-overflow-hidden uiklu-rounded-[20px] uiklu-border-[1px] uiklu-border-border uiklu-bg-background uiklu-text-inputtext uiklu-font-sans uiklu-shadow-md",
1347
+ "uiklu-relative uiklu-z-50 uiklu-max-h-96 uiklu-w-[var(--radix-select-trigger-width)]",
1348
+ "uiklu-min-w-[var(--radix-select-trigger-width)] uiklu-overflow-hidden uiklu-rounded-[20px]",
1349
+ "uiklu-border-[1px] uiklu-border-border uiklu-bg-background uiklu-text-inputtext",
1350
+ "uiklu-font-sans uiklu-shadow-md",
1329
1351
  position === "popper" && "uiklu-translate-y-1",
1330
1352
  className
1331
1353
  ),
@@ -2077,8 +2099,8 @@ function SidebarNav({
2077
2099
  };
2078
2100
  return /* @__PURE__ */ jsx16("nav", { className: "uiklu-flex uiklu-flex-col uiklu-gap-1 uiklu-w-full", children: items.map((item) => {
2079
2101
  const isActive = activeTab === item.id;
2080
- const Icon2 = item.icon;
2081
- const isReactElement = React9.isValidElement(Icon2);
2102
+ const Icon3 = item.icon;
2103
+ const isReactElement = React9.isValidElement(Icon3);
2082
2104
  return /* @__PURE__ */ jsxs13(React9.Fragment, { children: [
2083
2105
  /* @__PURE__ */ jsxs13(
2084
2106
  "button",
@@ -2097,7 +2119,7 @@ function SidebarNav({
2097
2119
  "uiklu-items-center uiklu-justify-center",
2098
2120
  "uiklu-transition-colors uiklu-duration-200",
2099
2121
  isActive ? "uiklu-text-primary600" : "uiklu-text-primary300"
2100
- ), children: isReactElement ? React9.cloneElement(Icon2, { className: "uiklu-h-full uiklu-w-full" }) : /* @__PURE__ */ jsx16(Icon2, { className: "uiklu-h-full uiklu-w-full" }) }),
2122
+ ), children: isReactElement ? React9.cloneElement(Icon3, { className: "uiklu-h-full uiklu-w-full" }) : /* @__PURE__ */ jsx16(Icon3, { className: "uiklu-h-full uiklu-w-full" }) }),
2101
2123
  /* @__PURE__ */ jsx16(
2102
2124
  "span",
2103
2125
  {
@@ -2566,197 +2588,9 @@ var Checkbox = ({
2566
2588
  ] });
2567
2589
  };
2568
2590
 
2569
- // src/components/ui/inputPhone/inputPhone.tsx
2570
- import * as React13 from "react";
2571
- import * as Popover from "@radix-ui/react-popover";
2572
- import { Check as Check3 } from "lucide-react";
2573
- import { jsx as jsx23, jsxs as jsxs20 } from "react/jsx-runtime";
2574
- var DEFAULT_LADAS = [
2575
- { label: "MX", code: "+52" },
2576
- { label: "US", code: "+1" },
2577
- { label: "CA", code: "+1" }
2578
- ];
2579
- var containerSizes = {
2580
- sm: "uiklu-h-[34px] uiklu-w-[150px]",
2581
- md: "uiklu-h-[34px] uiklu-w-[250px]",
2582
- lg: "uiklu-h-[44px] uiklu-w-[350px]",
2583
- full: "uiklu-h-[44px] uiklu-w-full"
2584
- };
2585
- var fontSizes = {
2586
- sm: "uiklu-text-sm",
2587
- md: "uiklu-text-md",
2588
- lg: "uiklu-text-lg",
2589
- full: "uiklu-text-lg"
2590
- };
2591
- var errorSizes2 = {
2592
- sm: "uiklu-text-sm",
2593
- md: "uiklu-text-md",
2594
- lg: "uiklu-text-lg",
2595
- full: "uiklu-text-lg"
2596
- };
2597
- var InputPhone = React13.forwardRef(
2598
- ({
2599
- className,
2600
- size = "lg",
2601
- error,
2602
- value = "",
2603
- onChange,
2604
- ladas,
2605
- defaultLadaIndex = 0,
2606
- ...props
2607
- }, ref) => {
2608
- const listaLadas = ladas && ladas.length > 0 ? ladas : DEFAULT_LADAS;
2609
- const [selectedIndex, setSelectedIndex] = React13.useState(defaultLadaIndex);
2610
- const [open, setOpen] = React13.useState(false);
2611
- const [searchQuery, setSearchQuery] = React13.useState("");
2612
- const containerRef = React13.useRef(null);
2613
- const currentLada = listaLadas[selectedIndex]?.code || "+52";
2614
- const ladasWithIndex = React13.useMemo(() => {
2615
- return listaLadas.map((lada, index) => ({ ...lada, originalIndex: index }));
2616
- }, [listaLadas]);
2617
- const filteredLadas = React13.useMemo(() => {
2618
- const query = searchQuery.toLowerCase().trim();
2619
- if (!query) return ladasWithIndex;
2620
- return ladasWithIndex.filter(
2621
- (lada) => lada.code.toLowerCase().includes(query) || lada.label.toLowerCase().includes(query)
2622
- );
2623
- }, [searchQuery, ladasWithIndex]);
2624
- const displayInputValue = React13.useMemo(() => {
2625
- if (value.startsWith(currentLada)) {
2626
- return value.slice(currentLada.length);
2627
- }
2628
- return value;
2629
- }, [value, currentLada]);
2630
- const handleInputChange = (digits, ladaCode) => {
2631
- const limitedDigits = digits.slice(0, 10);
2632
- if (onChange) {
2633
- onChange(limitedDigits ? `${ladaCode}${limitedDigits}` : "");
2634
- }
2635
- };
2636
- React13.useEffect(() => {
2637
- if (!open) {
2638
- setSearchQuery("");
2639
- }
2640
- }, [open]);
2641
- return /* @__PURE__ */ jsxs20("div", { className: cn(
2642
- "uiklu-flex uiklu-flex-col",
2643
- size === "full" ? "uiklu-w-full" : "uiklu-w-fit"
2644
- ), children: [
2645
- /* @__PURE__ */ jsxs20(
2646
- "div",
2647
- {
2648
- ref: containerRef,
2649
- className: cn(
2650
- "uiklu-relative uiklu-flex uiklu-items-center uiklu-box-border",
2651
- "uiklu-bg-background uiklu-rounded-[50px] uiklu-border-[1px] uiklu-border-solid uiklu-transition-all",
2652
- !error ? [
2653
- "uiklu-border-inputlight",
2654
- "focus-within:uiklu-border-primary900",
2655
- "focus-within:uiklu-shadow-[0_0_0_3px_#AFD8D8]"
2656
- ] : [
2657
- "uiklu-border-destructive",
2658
- "focus-within:uiklu-border-destructive",
2659
- "focus-within:uiklu-shadow-[0_0_0_3px_rgba(220,38,38,0.20)]"
2660
- ],
2661
- containerSizes[size]
2662
- ),
2663
- children: [
2664
- /* @__PURE__ */ jsxs20(Popover.Root, { open, onOpenChange: setOpen, children: [
2665
- /* @__PURE__ */ jsx23(Popover.Trigger, { className: "uiklu-flex uiklu-items-center uiklu-pl-6 \n uiklu-pr-3 uiklu-h-full uiklu-bg-transparent uiklu-border-none uiklu-outline-none uiklu-cursor-pointer", children: /* @__PURE__ */ jsx23("span", { className: cn(
2666
- "uiklu-font-sans uiklu-font-medium uiklu-text-gray800 uiklu-select-none",
2667
- fontSizes[size],
2668
- error && "uiklu-text-destructive"
2669
- ), children: currentLada }) }),
2670
- /* @__PURE__ */ jsx23(Popover.Portal, { children: /* @__PURE__ */ jsxs20(
2671
- Popover.Content,
2672
- {
2673
- sideOffset: 4,
2674
- align: "start",
2675
- style: {
2676
- width: containerRef.current ? containerRef.current.offsetWidth : "var(--radix-popover-trigger-width)"
2677
- },
2678
- className: "uiklu-z-[100] uiklu-overflow-hidden uiklu-rounded-[20px] \n uiklu-border-[1px] uiklu-border-solid uiklu-border-border uiklu-bg-background \n uiklu-text-inputtext uiklu-font-sans uiklu-shadow-md uiklu-pt-[10px] uiklu-box-border",
2679
- children: [
2680
- /* @__PURE__ */ jsx23("div", { className: "uiklu-mx-2", children: /* @__PURE__ */ jsx23(
2681
- "input",
2682
- {
2683
- type: "text",
2684
- placeholder: "Buscar...",
2685
- value: searchQuery,
2686
- onChange: (e) => setSearchQuery(e.target.value),
2687
- className: "uiklu-w-full uiklu-box-border uiklu-py-2 uiklu-px-4 \n uiklu-mb-2 uiklu-text-sm uiklu-border uiklu-border-solid uiklu-border-gray-200 \n uiklu-rounded-[50px] uiklu-outline-none focus:uiklu-border-primary900 \n focus:uiklu-shadow-[0_0_0_3px_#AFD8D8] uiklu-font-sans"
2688
- }
2689
- ) }),
2690
- /* @__PURE__ */ jsx23("div", { className: "uiklu-max-h-[150px] uiklu-overflow-y-auto uiklu-overflow-x-hidden \n uiklu-w-full uiklu-box-border uiklu-flex uiklu-flex-col uiklu-gap-[2px]", children: filteredLadas.length > 0 ? filteredLadas.map((lada) => {
2691
- const isSelected = lada.originalIndex === selectedIndex;
2692
- return /* @__PURE__ */ jsxs20(
2693
- "button",
2694
- {
2695
- type: "button",
2696
- onClick: () => {
2697
- setSelectedIndex(lada.originalIndex);
2698
- handleInputChange(displayInputValue, lada.code);
2699
- setOpen(false);
2700
- },
2701
- className: cn(
2702
- "uiklu-relative uiklu-flex uiklu-w-full uiklu-box-border uiklu-cursor-pointer",
2703
- "uiklu-select-none uiklu-items-center uiklu-py-2.5 uiklu-pl-10 uiklu-pr-4",
2704
- "uiklu-text-md uiklu-font-sans uiklu-outline-none uiklu-transition-colors",
2705
- "uiklu-border-none",
2706
- isSelected ? "uiklu-bg-primary/5 uiklu-text-primary uiklu-font-medium" : "uiklu-bg-transparent uiklu-text-gray800 hover:uiklu-bg-primary/10",
2707
- "hover:uiklu-text-primary"
2708
- ),
2709
- children: [
2710
- /* @__PURE__ */ jsx23("span", { className: "uiklu-absolute uiklu-left-3 uiklu-flex uiklu-h-3.5 uiklu-w-3.5 \n uiklu-items-center uiklu-justify-center", children: isSelected && /* @__PURE__ */ jsx23(Check3, { className: "uiklu-h-4 uiklu-w-4 uiklu-text-primary" }) }),
2711
- /* @__PURE__ */ jsxs20("span", { className: "uiklu-flex-1 uiklu-truncate uiklu-text-left", children: [
2712
- lada.label,
2713
- " (",
2714
- lada.code,
2715
- ")"
2716
- ] })
2717
- ]
2718
- },
2719
- `${lada.label}-${lada.code}`
2720
- );
2721
- }) : /* @__PURE__ */ jsx23("div", { className: "uiklu-text-sm uiklu-text-center uiklu-py-3 uiklu-opacity-50 uiklu-font-sans", children: "Sin coincidencias" }) })
2722
- ]
2723
- }
2724
- ) })
2725
- ] }),
2726
- /* @__PURE__ */ jsx23(
2727
- "input",
2728
- {
2729
- ...props,
2730
- ref,
2731
- type: "tel",
2732
- value: displayInputValue,
2733
- onChange: (e) => {
2734
- const cleanValue = e.target.value.replace(/[^\d]/g, "");
2735
- handleInputChange(cleanValue, currentLada);
2736
- },
2737
- className: cn(
2738
- "uiklu-flex-1 uiklu-h-full uiklu-bg-transparent uiklu-border-none uiklu-outline-none uiklu-font-sans",
2739
- "uiklu-overflow-hidden uiklu-text-ellipsis uiklu-pl-1 uiklu-pr-6",
2740
- "uiklu-text-gray800 placeholder:uiklu-text-gray500 placeholder:uiklu-opacity-100",
2741
- "disabled:uiklu-cursor-not-allowed disabled:uiklu-text-gray200 disabled:placeholder:uiklu-text-gray200",
2742
- fontSizes[size],
2743
- error && "!uiklu-text-destructive placeholder:!uiklu-text-destructive",
2744
- className
2745
- )
2746
- }
2747
- )
2748
- ]
2749
- }
2750
- ),
2751
- /* @__PURE__ */ jsx23("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-ml-5 uiklu-flex uiklu-items-center", errorSizes2[size]), children: error && /* @__PURE__ */ jsx23("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
2752
- ] });
2753
- }
2754
- );
2755
- InputPhone.displayName = "InputPhone";
2756
-
2757
2591
  // src/components/ui/iconBadge/iconBadge.tsx
2758
- import * as React14 from "react";
2759
- import { jsx as jsx24 } from "react/jsx-runtime";
2592
+ import * as React13 from "react";
2593
+ import { jsx as jsx23 } from "react/jsx-runtime";
2760
2594
  var sizeMap = {
2761
2595
  sm: {
2762
2596
  container: "uiklu-w-[24px] uiklu-h-[24px]",
@@ -2776,15 +2610,15 @@ var IconBadge = ({
2776
2610
  size = "sm"
2777
2611
  }) => {
2778
2612
  const currentSize = sizeMap[size];
2779
- return /* @__PURE__ */ jsx24("div", { className: `uiklu-flex uiklu-items-center uiklu-justify-center uiklu-rounded-full
2780
- uiklu-bg-primary300 uiklu-text-basewhite uiklu-leading-none ${currentSize.container}`, children: React14.cloneElement(icon, {
2613
+ return /* @__PURE__ */ jsx23("div", { className: `uiklu-flex uiklu-items-center uiklu-justify-center uiklu-rounded-full
2614
+ uiklu-bg-primary300 uiklu-text-basewhite uiklu-leading-none ${currentSize.container}`, children: React13.cloneElement(icon, {
2781
2615
  className: `uiklu-block ${icon.props.className || ""} ${currentSize.icon}`.trim()
2782
2616
  }) });
2783
2617
  };
2784
2618
 
2785
2619
  // src/components/ui/detailCard/detailCard.tsx
2786
- import { useState as useState9 } from "react";
2787
- import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
2620
+ import { useState as useState8 } from "react";
2621
+ import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
2788
2622
  var DetailCard = ({
2789
2623
  type,
2790
2624
  title,
@@ -2799,7 +2633,7 @@ var DetailCard = ({
2799
2633
  onSecondaryAction
2800
2634
  }) => {
2801
2635
  const isSuccess = type === "success";
2802
- const [copied, setCopied] = useState9(false);
2636
+ const [copied, setCopied] = useState8(false);
2803
2637
  const handleCopyLink = () => {
2804
2638
  if (trackingUrl) {
2805
2639
  navigator.clipboard.writeText(trackingUrl);
@@ -2807,26 +2641,26 @@ var DetailCard = ({
2807
2641
  setTimeout(() => setCopied(false), 2e3);
2808
2642
  }
2809
2643
  };
2810
- return /* @__PURE__ */ jsxs21("div", { className: "uiklu-w-[516px] uiklu-max-w-full uiklu-mx-auto uiklu-bg-basewhite \n uiklu-border uiklu-border-gray300 uiklu-rounded-[24px] uiklu-p-[16px] uiklu-font-sans uiklu-shadow-sm", children: [
2811
- /* @__PURE__ */ jsx25("div", { className: "uiklu-flex uiklu-justify-center uiklu-mb-[20px]", children: isSuccess ? /* @__PURE__ */ jsx25("div", { className: "uiklu-w-[80px] uiklu-h-[80px] uiklu-rounded-full uiklu-bg-primary300 \n uiklu-text-basewhite uiklu-flex uiklu-items-center uiklu-justify-center", children: /* @__PURE__ */ jsx25("div", { className: "uiklu-brightness-0 uiklu-invert", children: Icons.CHECK }) }) : /* @__PURE__ */ jsx25("div", { className: "uiklu-w-[80px] uiklu-h-[80px] uiklu-rounded-full uiklu-bg-errorbg \n uiklu-text-basewhite uiklu-flex uiklu-items-center uiklu-justify-center uiklu-overflow-hidden", children: /* @__PURE__ */ jsx25("div", { className: "uiklu-brightness-0 uiklu-invert uiklu-w-[45.5px] uiklu-h-[45.5px] \n uiklu-flex uiklu-items-center uiklu-justify-center uiklu-relative", children: /* @__PURE__ */ jsx25("div", { className: "uiklu-absolute uiklu-top-0 uiklu-left-0 uiklu-w-[56px] uiklu-h-[56px]", children: Icons.WARNING }) }) }) }),
2812
- /* @__PURE__ */ jsxs21("div", { className: "uiklu-text-center uiklu-mb-[20px]", children: [
2813
- /* @__PURE__ */ jsx25("h2", { className: "uiklu-text-[18px] uiklu-font-bold uiklu-text-primary900 uiklu-mb-[10px]", children: title }),
2814
- /* @__PURE__ */ jsx25("span", { className: "uiklu-text-[40px] uiklu-font-bold uiklu-text-gray900", children: amount })
2644
+ return /* @__PURE__ */ jsxs20("div", { className: "uiklu-w-[516px] uiklu-max-w-full uiklu-mx-auto uiklu-bg-basewhite \n uiklu-border uiklu-border-gray300 uiklu-rounded-[24px] uiklu-p-[16px] uiklu-font-sans uiklu-shadow-sm", children: [
2645
+ /* @__PURE__ */ jsx24("div", { className: "uiklu-flex uiklu-justify-center uiklu-mb-[20px]", children: isSuccess ? /* @__PURE__ */ jsx24("div", { className: "uiklu-w-[80px] uiklu-h-[80px] uiklu-rounded-full uiklu-bg-primary300 \n uiklu-text-basewhite uiklu-flex uiklu-items-center uiklu-justify-center", children: /* @__PURE__ */ jsx24("div", { className: "uiklu-brightness-0 uiklu-invert", children: Icons.CHECK }) }) : /* @__PURE__ */ jsx24("div", { className: "uiklu-w-[80px] uiklu-h-[80px] uiklu-rounded-full uiklu-bg-errorbg \n uiklu-text-basewhite uiklu-flex uiklu-items-center uiklu-justify-center uiklu-overflow-hidden", children: /* @__PURE__ */ jsx24("div", { className: "uiklu-brightness-0 uiklu-invert uiklu-w-[45.5px] uiklu-h-[45.5px] \n uiklu-flex uiklu-items-center uiklu-justify-center uiklu-relative", children: /* @__PURE__ */ jsx24("div", { className: "uiklu-absolute uiklu-top-0 uiklu-left-0 uiklu-w-[56px] uiklu-h-[56px]", children: Icons.WARNING }) }) }) }),
2646
+ /* @__PURE__ */ jsxs20("div", { className: "uiklu-text-center uiklu-mb-[20px]", children: [
2647
+ /* @__PURE__ */ jsx24("h2", { className: "uiklu-text-[18px] uiklu-font-bold uiklu-text-primary900 uiklu-mb-[10px]", children: title }),
2648
+ /* @__PURE__ */ jsx24("span", { className: "uiklu-text-[40px] uiklu-font-bold uiklu-text-gray900", children: amount })
2815
2649
  ] }),
2816
- !isSuccess && message && /* @__PURE__ */ jsx25("p", { className: "uiklu-self-stretch uiklu-text-[14px] uiklu-font-medium \n uiklu-text-gray700 uiklu-text-center uiklu-mb-[20px] uiklu-leading-normal", children: message }),
2817
- /* @__PURE__ */ jsx25("hr", { className: "uiklu-border-t uiklu-border-gray300 uiklu-w-full uiklu-my-[20px]" }),
2818
- /* @__PURE__ */ jsxs21("div", { className: "uiklu-mb-[20px]", children: [
2819
- /* @__PURE__ */ jsx25("h3", { className: "uiklu-text-[14px] uiklu-font-semibold uiklu-text-primary800 uiklu-mb-[10px]", children: summaryTitle }),
2820
- /* @__PURE__ */ jsx25("div", { className: "uiklu-bg-primarylight uiklu-border uiklu-border-primary50 \n uiklu-rounded-xl uiklu-p-[10px] uiklu-space-y-3", children: summaryItems.map((item, index) => /* @__PURE__ */ jsxs21("div", { className: "uiklu-flex uiklu-justify-between", children: [
2821
- /* @__PURE__ */ jsx25("span", { className: "uiklu-text-gray600 uiklu-text-[14px] uiklu-font-regular", children: item.label }),
2822
- /* @__PURE__ */ jsx25("span", { className: "uiklu-text-gray800 uiklu-text-[14px] uiklu-font-semibold", children: item.value })
2650
+ !isSuccess && message && /* @__PURE__ */ jsx24("p", { className: "uiklu-self-stretch uiklu-text-[14px] uiklu-font-medium \n uiklu-text-gray700 uiklu-text-center uiklu-mb-[20px] uiklu-leading-normal", children: message }),
2651
+ /* @__PURE__ */ jsx24("hr", { className: "uiklu-border-t uiklu-border-gray300 uiklu-w-full uiklu-my-[20px]" }),
2652
+ /* @__PURE__ */ jsxs20("div", { className: "uiklu-mb-[20px]", children: [
2653
+ /* @__PURE__ */ jsx24("h3", { className: "uiklu-text-[14px] uiklu-font-semibold uiklu-text-primary800 uiklu-mb-[10px]", children: summaryTitle }),
2654
+ /* @__PURE__ */ jsx24("div", { className: "uiklu-bg-primarylight uiklu-border uiklu-border-primary50 \n uiklu-rounded-xl uiklu-p-[10px] uiklu-space-y-3", children: summaryItems.map((item, index) => /* @__PURE__ */ jsxs20("div", { className: "uiklu-flex uiklu-justify-between", children: [
2655
+ /* @__PURE__ */ jsx24("span", { className: "uiklu-text-gray600 uiklu-text-[14px] uiklu-font-regular", children: item.label }),
2656
+ /* @__PURE__ */ jsx24("span", { className: "uiklu-text-gray800 uiklu-text-[14px] uiklu-font-semibold", children: item.value })
2823
2657
  ] }, index)) })
2824
2658
  ] }),
2825
- isSuccess && trackingUrl && /* @__PURE__ */ jsxs21("div", { className: "uiklu-mb-[20px]", children: [
2826
- /* @__PURE__ */ jsx25("h4", { className: "uiklu-text-[14px] uiklu-font-semibold uiklu-text-primary800 \n uiklu-mb-[10px] uiklu-mb-1", children: "Comprobante de la transacci\xF3n" }),
2827
- /* @__PURE__ */ jsx25("span", { className: "uiklu-text-[14px] uiklu-text-gray600 uiklu-block uiklu-mb-[10px]", children: "Liga de seguimiento" }),
2828
- /* @__PURE__ */ jsxs21("div", { className: "uiklu-flex uiklu-w-full uiklu-items-center uiklu-gap-[10px]", children: [
2829
- /* @__PURE__ */ jsx25("div", { className: "uiklu-flex uiklu-h-[28px] uiklu-flex-1 uiklu-items-center \n uiklu-gap-[8px] uiklu-rounded-lg uiklu-border uiklu-border-inputlight uiklu-bg-basewhite \n uiklu-px-[10px] uiklu-py-[4px]", children: /* @__PURE__ */ jsx25(
2659
+ isSuccess && trackingUrl && /* @__PURE__ */ jsxs20("div", { className: "uiklu-mb-[20px]", children: [
2660
+ /* @__PURE__ */ jsx24("h4", { className: "uiklu-text-[14px] uiklu-font-semibold uiklu-text-primary800 \n uiklu-mb-[10px] uiklu-mb-1", children: "Comprobante de la transacci\xF3n" }),
2661
+ /* @__PURE__ */ jsx24("span", { className: "uiklu-text-[14px] uiklu-text-gray600 uiklu-block uiklu-mb-[10px]", children: "Liga de seguimiento" }),
2662
+ /* @__PURE__ */ jsxs20("div", { className: "uiklu-flex uiklu-w-full uiklu-items-center uiklu-gap-[10px]", children: [
2663
+ /* @__PURE__ */ jsx24("div", { className: "uiklu-flex uiklu-h-[28px] uiklu-flex-1 uiklu-items-center \n uiklu-gap-[8px] uiklu-rounded-lg uiklu-border uiklu-border-inputlight uiklu-bg-basewhite \n uiklu-px-[10px] uiklu-py-[4px]", children: /* @__PURE__ */ jsx24(
2830
2664
  "input",
2831
2665
  {
2832
2666
  type: "text",
@@ -2835,22 +2669,22 @@ var DetailCard = ({
2835
2669
  className: "uiklu-w-full uiklu-bg-transparent uiklu-text-[14px] uiklu-text-primary800 \n uiklu-truncate focus:uiklu-outline-none"
2836
2670
  }
2837
2671
  ) }),
2838
- /* @__PURE__ */ jsxs21(
2672
+ /* @__PURE__ */ jsxs20(
2839
2673
  "button",
2840
2674
  {
2841
2675
  type: "button",
2842
2676
  onClick: handleCopyLink,
2843
2677
  className: "uiklu-flex uiklu-w-[140px] uiklu-items-center uiklu-gap-[10px] uiklu-px-4 uiklu-py-2.5\n uiklu-border uiklu-border-primary500 uiklu-text-primary500 uiklu-bg-basewhite\n uiklu-rounded-full uiklu-text-[14px] uiklu-font-medium hover:uiklu-bg-basewhite\n uiklu-transition-colors",
2844
2678
  children: [
2845
- /* @__PURE__ */ jsx25("span", { children: copied ? "Copiado" : "Copiar liga" }),
2679
+ /* @__PURE__ */ jsx24("span", { children: copied ? "Copiado" : "Copiar liga" }),
2846
2680
  Icons.COPY
2847
2681
  ]
2848
2682
  }
2849
2683
  )
2850
2684
  ] })
2851
2685
  ] }),
2852
- /* @__PURE__ */ jsxs21("div", { className: "uiklu-flex uiklu-w-full uiklu-gap-[20px] contenedor-botones-flow", children: [
2853
- /* @__PURE__ */ jsx25("style", { children: `
2686
+ /* @__PURE__ */ jsxs20("div", { className: "uiklu-flex uiklu-w-full uiklu-gap-[20px] contenedor-botones-flow", children: [
2687
+ /* @__PURE__ */ jsx24("style", { children: `
2854
2688
  @media (max-width: 550px) {
2855
2689
  .contenedor-botones-flow {
2856
2690
  flex-direction: column-reverse !important;
@@ -2863,7 +2697,7 @@ var DetailCard = ({
2863
2697
  }
2864
2698
  }
2865
2699
  ` }),
2866
- /* @__PURE__ */ jsx25(
2700
+ /* @__PURE__ */ jsx24(
2867
2701
  Button,
2868
2702
  {
2869
2703
  variant: "outlinePrimary",
@@ -2873,7 +2707,7 @@ var DetailCard = ({
2873
2707
  children: secondaryButtonText
2874
2708
  }
2875
2709
  ),
2876
- /* @__PURE__ */ jsx25(
2710
+ /* @__PURE__ */ jsx24(
2877
2711
  Button,
2878
2712
  {
2879
2713
  variant: "primary",
@@ -2890,15 +2724,15 @@ var DetailCard = ({
2890
2724
  };
2891
2725
 
2892
2726
  // src/components/ui/textField/textField.tsx
2893
- import * as React16 from "react";
2894
- import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
2727
+ import * as React15 from "react";
2728
+ import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
2895
2729
  var inputSizes2 = {
2896
2730
  sm: "uiklu-w-[150px] uiklu-text-[10px]",
2897
2731
  md: "uiklu-w-[250px] uiklu-text-[12px]",
2898
2732
  lg: "uiklu-w-[350px] uiklu-text-[14px]",
2899
2733
  full: "uiklu-w-full uiklu-text-[14px]"
2900
2734
  };
2901
- var containerSizes2 = {
2735
+ var containerSizes = {
2902
2736
  sm: "uiklu-w-[150px]",
2903
2737
  md: "uiklu-w-[250px]",
2904
2738
  lg: "uiklu-w-[350px]",
@@ -2910,7 +2744,7 @@ var labelStyles = {
2910
2744
  lg: "uiklu-text-[14px] uiklu-mb-[10px]",
2911
2745
  full: "uiklu-text-[14px] uiklu-mb-[10px]"
2912
2746
  };
2913
- var errorSizes3 = {
2747
+ var errorSizes2 = {
2914
2748
  sm: "uiklu-text-sm",
2915
2749
  md: "uiklu-text-md",
2916
2750
  lg: "uiklu-text-lg",
@@ -2922,17 +2756,17 @@ var iconSizes2 = {
2922
2756
  lg: { w: "24", h: "24" },
2923
2757
  full: { w: "24", h: "24" }
2924
2758
  };
2925
- var TextField = React16.forwardRef(
2759
+ var TextField = React15.forwardRef(
2926
2760
  ({ className, type = "text", size = "full", label, error, isSearchable, onSearchClick, required, labelClassName, ...props }, ref) => {
2927
- const [showPassword, setShowPassword] = React16.useState(false);
2761
+ const [showPassword, setShowPassword] = React15.useState(false);
2928
2762
  const isMaskable = type === "password" || props.autoComplete === "email" || props.autoComplete === "username";
2929
2763
  const showSearchIcon = isSearchable && !isMaskable;
2930
2764
  const inputType = type === "password" ? showPassword ? "text" : "password" : type;
2931
- return /* @__PURE__ */ jsxs22("div", { className: cn(
2765
+ return /* @__PURE__ */ jsxs21("div", { className: cn(
2932
2766
  "uiklu-flex uiklu-flex-col uiklu-font-sans",
2933
- containerSizes2[size]
2767
+ containerSizes[size]
2934
2768
  ), children: [
2935
- /* @__PURE__ */ jsxs22(
2769
+ /* @__PURE__ */ jsxs21(
2936
2770
  "label",
2937
2771
  {
2938
2772
  className: cn(
@@ -2944,13 +2778,13 @@ var TextField = React16.forwardRef(
2944
2778
  ),
2945
2779
  children: [
2946
2780
  label,
2947
- required && /* @__PURE__ */ jsx26("span", { className: "uiklu-ml-0.5", children: "*" })
2781
+ required && /* @__PURE__ */ jsx25("span", { className: "uiklu-ml-0.5", children: "*" })
2948
2782
  ]
2949
2783
  }
2950
2784
  ),
2951
- /* @__PURE__ */ jsxs22("div", { className: cn("uiklu-relative", containerSizes2[size]), children: [
2785
+ /* @__PURE__ */ jsxs21("div", { className: cn("uiklu-relative", containerSizes[size]), children: [
2952
2786
  " ",
2953
- /* @__PURE__ */ jsx26(
2787
+ /* @__PURE__ */ jsx25(
2954
2788
  "input",
2955
2789
  {
2956
2790
  ...props,
@@ -2961,7 +2795,8 @@ var TextField = React16.forwardRef(
2961
2795
  "uiklu-px-[10px] uiklu-py-[4px] uiklu-appearance-none uiklu-outline-none uiklu-transition-all",
2962
2796
  "uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-solid",
2963
2797
  "uiklu-overflow-hidden uiklu-text-ellipsis",
2964
- "uiklu-bg-gray50 uiklu-text-gray800 placeholder:uiklu-text-gray500 placeholder:uiklu-font-semibold",
2798
+ "uiklu-bg-gray50 uiklu-text-gray800 placeholder:uiklu-text-gray500 uiklu-font-semibold",
2799
+ "placeholder:uiklu-font-semibold",
2965
2800
  "disabled:uiklu-cursor-not-allowed disabled:uiklu-opacity-50",
2966
2801
  !error ? [
2967
2802
  "uiklu-border-gray100",
@@ -2980,14 +2815,14 @@ var TextField = React16.forwardRef(
2980
2815
  )
2981
2816
  }
2982
2817
  ),
2983
- isMaskable && /* @__PURE__ */ jsx26(
2818
+ isMaskable && /* @__PURE__ */ jsx25(
2984
2819
  "button",
2985
2820
  {
2986
2821
  type: "button",
2987
2822
  disabled: props.disabled,
2988
2823
  onClick: () => setShowPassword(!showPassword),
2989
2824
  className: "uiklu-absolute uiklu-right-3 uiklu-top-0 uiklu-h-full uiklu-flex\n uiklu-items-center uiklu-justify-center uiklu-bg-transparent uiklu-border-none \n uiklu-p-0 uiklu-cursor-pointer uiklu-z-10",
2990
- children: /* @__PURE__ */ jsx26(
2825
+ children: /* @__PURE__ */ jsx25(
2991
2826
  "div",
2992
2827
  {
2993
2828
  style: {
@@ -3000,13 +2835,13 @@ var TextField = React16.forwardRef(
3000
2835
  )
3001
2836
  }
3002
2837
  ),
3003
- showSearchIcon && /* @__PURE__ */ jsx26(
2838
+ showSearchIcon && /* @__PURE__ */ jsx25(
3004
2839
  "button",
3005
2840
  {
3006
2841
  type: "button",
3007
2842
  onClick: onSearchClick,
3008
2843
  className: "uiklu-absolute uiklu-right-3 uiklu-top-0 uiklu-h-full \n uiklu-flex uiklu-items-center uiklu-justify-center uiklu-bg-transparent \n uiklu-border-none uiklu-p-0 uiklu-cursor-pointer uiklu-z-10",
3009
- children: /* @__PURE__ */ jsx26(
2844
+ children: /* @__PURE__ */ jsx25(
3010
2845
  "div",
3011
2846
  {
3012
2847
  style: {
@@ -3020,11 +2855,584 @@ var TextField = React16.forwardRef(
3020
2855
  }
3021
2856
  )
3022
2857
  ] }),
3023
- /* @__PURE__ */ jsx26("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-flex uiklu-items-center", errorSizes3[size]), children: error && /* @__PURE__ */ jsx26("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
2858
+ /* @__PURE__ */ jsx25("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-flex uiklu-items-center", errorSizes2[size]), children: error && /* @__PURE__ */ jsx25("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
3024
2859
  ] });
3025
2860
  }
3026
2861
  );
3027
2862
  TextField.displayName = "TextField";
2863
+
2864
+ // src/components/ui/selectField/selectField.tsx
2865
+ import * as React16 from "react";
2866
+ import * as SelectPrimitive2 from "@radix-ui/react-select";
2867
+ import { Check as Check3 } from "lucide-react";
2868
+ import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
2869
+ var inputSizes3 = {
2870
+ sm: "uiklu-w-[150px] uiklu-text-[10px]",
2871
+ md: "uiklu-w-[250px] uiklu-text-[12px]",
2872
+ lg: "uiklu-w-[350px] uiklu-text-[14px]",
2873
+ full: "uiklu-w-full uiklu-text-[14px]"
2874
+ };
2875
+ var containerSizes2 = {
2876
+ sm: "uiklu-w-[150px]",
2877
+ md: "uiklu-w-[250px]",
2878
+ lg: "uiklu-w-[350px]",
2879
+ full: "uiklu-w-full"
2880
+ };
2881
+ var labelStyles2 = {
2882
+ sm: "uiklu-text-[12px] uiklu-mb-[5px]",
2883
+ md: "uiklu-text-[13px] uiklu-mb-[7px]",
2884
+ lg: "uiklu-text-[14px] uiklu-mb-[10px]",
2885
+ full: "uiklu-text-[14px] uiklu-mb-[10px]"
2886
+ };
2887
+ var errorSizes3 = {
2888
+ sm: "uiklu-text-sm",
2889
+ md: "uiklu-text-md",
2890
+ lg: "uiklu-text-lg",
2891
+ full: "uiklu-text-lg"
2892
+ };
2893
+ var Select2 = SelectPrimitive2.Root;
2894
+ var SelectValue = SelectPrimitive2.Value;
2895
+ var SelectGroup = SelectPrimitive2.Group;
2896
+ var SelectField = React16.forwardRef(({ className, size = "full", label, error, required, disabled, placeholder, children, labelClassName, ...props }, ref) => {
2897
+ return /* @__PURE__ */ jsxs22("div", { className: cn(
2898
+ "uiklu-flex uiklu-flex-col uiklu-font-sans",
2899
+ containerSizes2[size]
2900
+ ), children: [
2901
+ /* @__PURE__ */ jsxs22(
2902
+ "label",
2903
+ {
2904
+ className: cn(
2905
+ "uiklu-label uiklu-font-sans uiklu-transition-colors uiklu-text-left",
2906
+ "uiklu-font-normal",
2907
+ labelStyles2[size],
2908
+ !error ? "uiklu-text-gray600" : "uiklu-text-destructive",
2909
+ labelClassName
2910
+ ),
2911
+ children: [
2912
+ label,
2913
+ required && /* @__PURE__ */ jsx26("span", { className: "uiklu-ml-0.5", children: "*" })
2914
+ ]
2915
+ }
2916
+ ),
2917
+ /* @__PURE__ */ jsx26("div", { className: cn("uiklu-relative", containerSizes2[size]), children: /* @__PURE__ */ jsxs22(Select2, { disabled, ...props, children: [
2918
+ /* @__PURE__ */ jsxs22(
2919
+ SelectPrimitive2.Trigger,
2920
+ {
2921
+ ref,
2922
+ className: cn(
2923
+ "uiklu-font-sans uiklu-flex uiklu-box-border uiklu-h-[36px] uiklu-w-full",
2924
+ "uiklu-items-center uiklu-justify-between uiklu-gap-2",
2925
+ "uiklu-px-[10px] uiklu-py-[4px] uiklu-appearance-none uiklu-outline-none uiklu-transition-all",
2926
+ "uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-solid uiklu-leading-normal",
2927
+ "uiklu-bg-basewhite uiklu-text-gray800 data-[placeholder]:uiklu-text-gray800",
2928
+ "uiklu-font-semibold",
2929
+ "disabled:uiklu-cursor-not-allowed disabled:uiklu-opacity-50",
2930
+ !error ? [
2931
+ "uiklu-border-gray100",
2932
+ "focus:uiklu-border-primary900 focus:uiklu-bg-white",
2933
+ "focus:uiklu-shadow-[0_0_0_3px_#AFD8D8]"
2934
+ ] : [
2935
+ "uiklu-border-destructive uiklu-bg-white !uiklu-text-destructive",
2936
+ "focus:uiklu-border-destructive",
2937
+ "focus:uiklu-shadow-[0_0_0_3px_rgba(220,38,38,0.20)]"
2938
+ ],
2939
+ inputSizes3[size],
2940
+ className
2941
+ ),
2942
+ children: [
2943
+ /* @__PURE__ */ jsx26("span", { className: "uiklu-truncate", children: /* @__PURE__ */ jsx26(SelectValue, { placeholder }) }),
2944
+ /* @__PURE__ */ jsx26(SelectPrimitive2.Icon, { asChild: true, children: /* @__PURE__ */ jsx26("div", { className: cn(
2945
+ "uiklu-flex uiklu-items-center uiklu-justify-center uiklu-h-4",
2946
+ "uiklu-w-4 uiklu-shrink-0 ",
2947
+ error ? "uiklu-text-destructive" : "uiklu-text-primary500"
2948
+ ), children: Icons.CHEVRON_DOWN }) })
2949
+ ]
2950
+ }
2951
+ ),
2952
+ children
2953
+ ] }) }),
2954
+ /* @__PURE__ */ jsx26("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-flex uiklu-items-center", errorSizes3[size]), children: error && /* @__PURE__ */ jsx26("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
2955
+ ] });
2956
+ });
2957
+ SelectField.displayName = "SelectField";
2958
+ var SelectContent2 = React16.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx26(SelectPrimitive2.Portal, { children: /* @__PURE__ */ jsx26(
2959
+ SelectPrimitive2.Content,
2960
+ {
2961
+ ref,
2962
+ className: cn(
2963
+ "uiklu-relative uiklu-z-50 uiklu-max-h-96 uiklu-w-[var(--radix-select-trigger-width)] uiklu-min-w-[var(--radix-select-trigger-width)] uiklu-overflow-hidden uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-gray100 uiklu-bg-white uiklu-text-gray800 uiklu-font-sans uiklu-shadow-md",
2964
+ position === "popper" && "uiklu-translate-y-1",
2965
+ className
2966
+ ),
2967
+ position,
2968
+ ...props,
2969
+ children: /* @__PURE__ */ jsx26(SelectPrimitive2.Viewport, { className: "uiklu-p-1", children })
2970
+ }
2971
+ ) }));
2972
+ SelectContent2.displayName = SelectPrimitive2.Content.displayName;
2973
+ var SelectItem2 = React16.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs22(
2974
+ SelectPrimitive2.Item,
2975
+ {
2976
+ ref,
2977
+ className: cn(
2978
+ "uiklu-relative uiklu-flex uiklu-w-full uiklu-cursor-pointer uiklu-select-none uiklu-items-center uiklu-py-2.5 uiklu-pl-10 uiklu-pr-4 uiklu-text-md uiklu-font-sans uiklu-outline-none focus:uiklu-bg-primary/10 focus:uiklu-text-primary",
2979
+ "uiklu-rounded-none",
2980
+ className
2981
+ ),
2982
+ ...props,
2983
+ children: [
2984
+ /* @__PURE__ */ jsx26("span", { className: "uiklu-absolute uiklu-left-2 uiklu-flex uiklu-h-3.5 uiklu-w-3.5 uiklu-items-center uiklu-justify-center", children: /* @__PURE__ */ jsx26(SelectPrimitive2.ItemIndicator, { children: /* @__PURE__ */ jsx26(Check3, { className: "uiklu-h-4 uiklu-w-4 uiklu-text-primary900" }) }) }),
2985
+ /* @__PURE__ */ jsx26(SelectPrimitive2.ItemText, { children })
2986
+ ]
2987
+ }
2988
+ ));
2989
+ SelectItem2.displayName = SelectPrimitive2.Item.displayName;
2990
+
2991
+ // src/components/ui/searchSelectField/searchSelectField.tsx
2992
+ import * as React17 from "react";
2993
+ import * as PopoverPrimitive2 from "@radix-ui/react-popover";
2994
+ import { Check as Check4, X as X3 } from "lucide-react";
2995
+ import { jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
2996
+ var inputSizes4 = {
2997
+ sm: "uiklu-w-[150px] uiklu-text-[10px]",
2998
+ md: "uiklu-w-[250px] uiklu-text-[12px]",
2999
+ lg: "uiklu-w-[350px] uiklu-text-[14px]",
3000
+ full: "uiklu-w-full uiklu-text-[14px]"
3001
+ };
3002
+ var containerSizes3 = {
3003
+ sm: "uiklu-w-[150px]",
3004
+ md: "uiklu-w-[250px]",
3005
+ lg: "uiklu-w-[350px]",
3006
+ full: "uiklu-w-full"
3007
+ };
3008
+ var labelStyles3 = {
3009
+ sm: "uiklu-text-[12px] uiklu-mb-[5px]",
3010
+ md: "uiklu-text-[13px] uiklu-mb-[7px]",
3011
+ lg: "uiklu-text-[14px] uiklu-mb-[10px]",
3012
+ full: "uiklu-text-[14px] uiklu-mb-[10px]"
3013
+ };
3014
+ var errorSizes4 = {
3015
+ sm: "uiklu-text-sm",
3016
+ md: "uiklu-text-md",
3017
+ lg: "uiklu-text-lg",
3018
+ full: "uiklu-text-lg"
3019
+ };
3020
+ var SearchSelectField = ({
3021
+ options,
3022
+ value,
3023
+ onChange,
3024
+ label,
3025
+ placeholder = "Buscar...",
3026
+ size = "full",
3027
+ error,
3028
+ required = false,
3029
+ disabled = false,
3030
+ className,
3031
+ labelClassName
3032
+ }) => {
3033
+ const [open, setOpen] = React17.useState(false);
3034
+ const [search, setSearch] = React17.useState("");
3035
+ const containerRef = React17.useRef(null);
3036
+ const inputRef = React17.useRef(null);
3037
+ const selectedOption = options.find((opt) => opt.value === value);
3038
+ React17.useEffect(() => {
3039
+ if (selectedOption) {
3040
+ setSearch(selectedOption.label);
3041
+ } else {
3042
+ setSearch("");
3043
+ }
3044
+ }, [selectedOption]);
3045
+ const filteredOptions = options.filter(
3046
+ (option) => option.label.toLowerCase().includes(search.toLowerCase())
3047
+ );
3048
+ const handleClear = (e) => {
3049
+ e.stopPropagation();
3050
+ onChange("");
3051
+ setSearch("");
3052
+ setOpen(true);
3053
+ inputRef.current?.focus();
3054
+ };
3055
+ return /* @__PURE__ */ jsxs23("div", { className: cn(
3056
+ "uiklu-flex uiklu-flex-col uiklu-font-sans",
3057
+ containerSizes3[size]
3058
+ ), children: [
3059
+ /* @__PURE__ */ jsxs23(
3060
+ "label",
3061
+ {
3062
+ className: cn(
3063
+ "uiklu-label uiklu-font-sans uiklu-transition-colors uiklu-text-left",
3064
+ "uiklu-font-normal",
3065
+ labelStyles3[size],
3066
+ !error ? "uiklu-text-gray600" : "uiklu-text-destructive",
3067
+ labelClassName
3068
+ ),
3069
+ children: [
3070
+ label,
3071
+ required && /* @__PURE__ */ jsx27("span", { className: "uiklu-ml-0.5", children: "*" })
3072
+ ]
3073
+ }
3074
+ ),
3075
+ /* @__PURE__ */ jsxs23(PopoverPrimitive2.Root, { open, onOpenChange: setOpen, children: [
3076
+ /* @__PURE__ */ jsx27(PopoverPrimitive2.Anchor, { asChild: true, children: /* @__PURE__ */ jsxs23(
3077
+ "div",
3078
+ {
3079
+ ref: containerRef,
3080
+ className: cn(
3081
+ "uiklu-font-sans uiklu-flex uiklu-box-border uiklu-h-[36px] uiklu-w-full",
3082
+ "uiklu-items-center uiklu-justify-between uiklu-gap-2",
3083
+ "uiklu-px-[10px] uiklu-py-[4px] uiklu-transition-all",
3084
+ "uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-solid uiklu-cursor-text uiklu-relative",
3085
+ "uiklu-bg-basewhite uiklu-text-gray800",
3086
+ disabled && "uiklu-opacity-50 uiklu-pointer-events-none",
3087
+ !error ? [
3088
+ "uiklu-border-gray100",
3089
+ "focus-within:uiklu-border-primary900 focus-within:uiklu-bg-white",
3090
+ "focus-within:uiklu-shadow-[0_0_0_3px_#AFD8D8]"
3091
+ ] : [
3092
+ "uiklu-border-destructive focus-within:uiklu-border-destructive uiklu-bg-white",
3093
+ "focus-within:uiklu-shadow-[0_0_0_3px_rgba(220,38,38,0.20)]"
3094
+ ],
3095
+ inputSizes4[size],
3096
+ className
3097
+ ),
3098
+ onClick: () => {
3099
+ inputRef.current?.focus();
3100
+ setOpen(true);
3101
+ },
3102
+ children: [
3103
+ /* @__PURE__ */ jsx27(
3104
+ "input",
3105
+ {
3106
+ ref: inputRef,
3107
+ type: "text",
3108
+ className: cn(
3109
+ "uiklu-w-full uiklu-bg-transparent uiklu-outline-none uiklu-border-none uiklu-p-0",
3110
+ "uiklu-font-sans uiklu-text-gray800 uiklu-leading-normal uiklu-font-semibold",
3111
+ disabled && "uiklu-cursor-not-allowed",
3112
+ !error ? "placeholder:uiklu-text-gray800" : "uiklu-text-destructive placeholder:!uiklu-text-destructive"
3113
+ ),
3114
+ placeholder,
3115
+ value: search,
3116
+ disabled,
3117
+ onFocus: () => setOpen(true),
3118
+ onClick: (e) => {
3119
+ e.stopPropagation();
3120
+ setOpen(true);
3121
+ },
3122
+ onChange: (e) => {
3123
+ setSearch(e.target.value);
3124
+ if (!open) setOpen(true);
3125
+ }
3126
+ }
3127
+ ),
3128
+ /* @__PURE__ */ jsxs23("div", { className: "uiklu-flex uiklu-items-center uiklu-ml-2 uiklu-shrink-0", children: [
3129
+ search && /* @__PURE__ */ jsx27(
3130
+ "button",
3131
+ {
3132
+ type: "button",
3133
+ onClick: handleClear,
3134
+ className: "uiklu-mr-1 uiklu-opacity-50 hover:uiklu-opacity-100 uiklu-transition-opacity\n uiklu-bg-transparent uiklu-border-none uiklu-outline-none uiklu-p-0 \n uiklu-cursor-pointer uiklu-flex uiklu-items-center uiklu-justify-center",
3135
+ children: /* @__PURE__ */ jsx27(X3, { className: "uiklu-h-4 uiklu-w-4" })
3136
+ }
3137
+ ),
3138
+ /* @__PURE__ */ jsx27(
3139
+ "div",
3140
+ {
3141
+ className: cn(
3142
+ "uiklu-flex uiklu-items-center uiklu-justify-center uiklu-h-4 uiklu-w-4 uiklu-shrink-0 uiklu-cursor-pointer",
3143
+ error ? "uiklu-text-destructive" : "uiklu-text-primary500"
3144
+ ),
3145
+ onClick: (e) => {
3146
+ e.stopPropagation();
3147
+ setOpen((prev) => !prev);
3148
+ },
3149
+ children: Icons.CHEVRON_DOWN
3150
+ }
3151
+ )
3152
+ ] })
3153
+ ]
3154
+ }
3155
+ ) }),
3156
+ /* @__PURE__ */ jsx27(PopoverPrimitive2.Portal, { children: /* @__PURE__ */ jsx27(
3157
+ PopoverPrimitive2.Content,
3158
+ {
3159
+ className: cn(
3160
+ "uiklu-relative uiklu-z-50 uiklu-overflow-hidden uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-gray100 uiklu-bg-white uiklu-text-gray800 uiklu-font-sans uiklu-shadow-md uiklu-translate-y-1"
3161
+ ),
3162
+ style: {
3163
+ width: containerRef.current ? containerRef.current.offsetWidth : "var(--radix-popover-trigger-width)"
3164
+ },
3165
+ align: "start",
3166
+ sideOffset: 4,
3167
+ onOpenAutoFocus: (e) => e.preventDefault(),
3168
+ children: /* @__PURE__ */ jsx27("div", { className: "uiklu-py-1 uiklu-px-0 uiklu-max-h-96 uiklu-overflow-y-auto uiklu-overflow-x-hidden uiklu-w-full uiklu-box-border", children: filteredOptions.length === 0 ? /* @__PURE__ */ jsx27("div", { className: "uiklu-py-3 uiklu-px-4 uiklu-text-sm uiklu-text-center uiklu-opacity-50 uiklu-font-sans", children: "No se encontraron resultados" }) : filteredOptions.map((option) => {
3169
+ const isSelected = value === option.value;
3170
+ return /* @__PURE__ */ jsxs23(
3171
+ "div",
3172
+ {
3173
+ onClick: () => {
3174
+ onChange(option.value);
3175
+ setSearch(option.label);
3176
+ setOpen(false);
3177
+ },
3178
+ className: cn(
3179
+ "uiklu-relative uiklu-flex uiklu-w-full uiklu-box-border uiklu-cursor-pointer uiklu-select-none uiklu-items-center uiklu-py-2.5 uiklu-pl-10 uiklu-pr-4 uiklu-text-md uiklu-font-sans uiklu-outline-none uiklu-rounded-none focus:uiklu-bg-primary/10 focus:uiklu-text-primary hover:uiklu-bg-primary/10 hover:uiklu-text-primary uiklu-transition-colors",
3180
+ isSelected && "uiklu-bg-primary/5 uiklu-text-primary900 uiklu-font-medium"
3181
+ ),
3182
+ children: [
3183
+ /* @__PURE__ */ jsx27("span", { className: "uiklu-absolute uiklu-left-2 uiklu-flex uiklu-h-3.5 uiklu-w-3.5 uiklu-items-center uiklu-justify-center", children: /* @__PURE__ */ jsx27(Check4, { className: cn(
3184
+ "uiklu-h-4 uiklu-w-4 uiklu-transition-opacity",
3185
+ isSelected ? "uiklu-opacity-100 uiklu-text-primary900" : "uiklu-opacity-0"
3186
+ ) }) }),
3187
+ /* @__PURE__ */ jsx27("span", { className: "uiklu-flex-1 uiklu-truncate uiklu-min-w-0 uiklu-inline-flex uiklu-items-center uiklu-h-full uiklu-leading-normal", children: option.label }),
3188
+ option.extra && /* @__PURE__ */ jsx27("span", { className: "uiklu-ml-2 uiklu-shrink-0 uiklu-flex uiklu-items-center", children: option.extra })
3189
+ ]
3190
+ },
3191
+ option.value
3192
+ );
3193
+ }) })
3194
+ }
3195
+ ) })
3196
+ ] }),
3197
+ /* @__PURE__ */ jsx27("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-flex uiklu-items-center", errorSizes4[size]), children: error && /* @__PURE__ */ jsx27("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
3198
+ ] });
3199
+ };
3200
+
3201
+ // src/components/ui/inputPhoneField/inputPhoneField.tsx
3202
+ import * as React18 from "react";
3203
+ import * as Popover from "@radix-ui/react-popover";
3204
+ import { Check as Check5 } from "lucide-react";
3205
+ import { jsx as jsx28, jsxs as jsxs24 } from "react/jsx-runtime";
3206
+ var DEFAULT_LADAS = [
3207
+ { label: "MX", code: "+52" },
3208
+ { label: "US", code: "+1" },
3209
+ { label: "CA", code: "+1" }
3210
+ ];
3211
+ var fontSizes = {
3212
+ sm: "uiklu-text-[10px]",
3213
+ md: "uiklu-text-[12px]",
3214
+ lg: "uiklu-text-[14px]",
3215
+ full: "uiklu-text-[14px]"
3216
+ };
3217
+ var containerSizes4 = {
3218
+ sm: "uiklu-w-[150px]",
3219
+ md: "uiklu-w-[250px]",
3220
+ lg: "uiklu-w-[350px]",
3221
+ full: "uiklu-w-full"
3222
+ };
3223
+ var labelStyles4 = {
3224
+ sm: "uiklu-text-[12px] uiklu-mb-[5px]",
3225
+ md: "uiklu-text-[13px] uiklu-mb-[7px]",
3226
+ lg: "uiklu-text-[14px] uiklu-mb-[10px]",
3227
+ full: "uiklu-text-[14px] uiklu-mb-[10px]"
3228
+ };
3229
+ var errorSizes5 = {
3230
+ sm: "uiklu-text-sm",
3231
+ md: "uiklu-text-md",
3232
+ lg: "uiklu-text-lg",
3233
+ full: "uiklu-text-lg"
3234
+ };
3235
+ var PhoneField = React18.forwardRef(
3236
+ ({
3237
+ className,
3238
+ size = "full",
3239
+ label,
3240
+ error,
3241
+ value = "",
3242
+ onChange,
3243
+ ladas,
3244
+ defaultLadaIndex = 0,
3245
+ required,
3246
+ labelClassName,
3247
+ placeholder,
3248
+ ...props
3249
+ }, ref) => {
3250
+ const listaLadas = ladas && ladas.length > 0 ? ladas : DEFAULT_LADAS;
3251
+ const [selectedIndex, setSelectedIndex] = React18.useState(defaultLadaIndex);
3252
+ const [open, setOpen] = React18.useState(false);
3253
+ const [searchQuery, setSearchQuery] = React18.useState("");
3254
+ const containerRef = React18.useRef(null);
3255
+ const currentLada = listaLadas[selectedIndex]?.code || "+52";
3256
+ const ladasWithIndex = React18.useMemo(() => {
3257
+ return listaLadas.map((lada, index) => ({ ...lada, originalIndex: index }));
3258
+ }, [listaLadas]);
3259
+ const filteredLadas = React18.useMemo(() => {
3260
+ const query = searchQuery.toLowerCase().trim();
3261
+ if (!query) return ladasWithIndex;
3262
+ return ladasWithIndex.filter(
3263
+ (lada) => lada.code.toLowerCase().includes(query) || lada.label.toLowerCase().includes(query)
3264
+ );
3265
+ }, [searchQuery, ladasWithIndex]);
3266
+ const displayInputValue = React18.useMemo(() => {
3267
+ if (value.startsWith(currentLada)) {
3268
+ return value.slice(currentLada.length);
3269
+ }
3270
+ return value;
3271
+ }, [value, currentLada]);
3272
+ const handleInputChange = (digits, ladaCode) => {
3273
+ const limitedDigits = digits.slice(0, 10);
3274
+ if (onChange) {
3275
+ onChange(limitedDigits ? `${ladaCode}${limitedDigits}` : "");
3276
+ }
3277
+ };
3278
+ React18.useEffect(() => {
3279
+ if (!open) {
3280
+ setSearchQuery("");
3281
+ }
3282
+ }, [open]);
3283
+ return /* @__PURE__ */ jsxs24("div", { className: cn(
3284
+ "uiklu-flex uiklu-flex-col uiklu-font-sans",
3285
+ containerSizes4[size]
3286
+ ), children: [
3287
+ /* @__PURE__ */ jsxs24(
3288
+ "label",
3289
+ {
3290
+ className: cn(
3291
+ "uiklu-label uiklu-font-sans uiklu-transition-colors uiklu-text-left",
3292
+ "uiklu-font-normal",
3293
+ labelStyles4[size],
3294
+ !error ? "uiklu-text-gray600" : "uiklu-text-destructive",
3295
+ labelClassName
3296
+ ),
3297
+ children: [
3298
+ label,
3299
+ required && /* @__PURE__ */ jsx28("span", { className: "uiklu-ml-0.5", children: "*" })
3300
+ ]
3301
+ }
3302
+ ),
3303
+ /* @__PURE__ */ jsxs24(
3304
+ "div",
3305
+ {
3306
+ ref: containerRef,
3307
+ className: cn(
3308
+ "uiklu-font-sans uiklu-flex uiklu-box-border uiklu-h-[36px] uiklu-w-full uiklu-items-center uiklu-relative",
3309
+ "uiklu-bg-basewhite uiklu-rounded-[8px] uiklu-border-[1px] uiklu-border-solid uiklu-transition-all",
3310
+ props.disabled && "uiklu-opacity-50 uiklu-pointer-events-none",
3311
+ !error ? [
3312
+ "uiklu-border-gray100",
3313
+ "focus-within:uiklu-border-primary900 focus-within:uiklu-bg-white",
3314
+ "focus-within:uiklu-shadow-[0_0_0_3px_#AFD8D8]"
3315
+ ] : [
3316
+ "uiklu-border-destructive uiklu-bg-white",
3317
+ "focus-within:uiklu-border-destructive",
3318
+ "focus-within:uiklu-shadow-[0_0_0_3px_rgba(220,38,38,0.20)]"
3319
+ ],
3320
+ containerSizes4[size],
3321
+ className
3322
+ ),
3323
+ children: [
3324
+ /* @__PURE__ */ jsxs24(Popover.Root, { open, onOpenChange: setOpen, children: [
3325
+ /* @__PURE__ */ jsxs24(
3326
+ Popover.Trigger,
3327
+ {
3328
+ disabled: props.disabled,
3329
+ className: "uiklu-flex uiklu-items-center uiklu-gap-1.5 uiklu-px-[8px] uiklu-h-full \n uiklu-bg-transparent uiklu-border-none uiklu-outline-none uiklu-cursor-pointer uiklu-shrink-0",
3330
+ children: [
3331
+ /* @__PURE__ */ jsx28("span", { className: cn(
3332
+ "uiklu-font-sans uiklu-font-semibold uiklu-text-gray800 uiklu-select-none uiklu-inline-flex",
3333
+ "uiklu-items-center uiklu-h-full uiklu-leading-normal",
3334
+ fontSizes[size],
3335
+ error && "!uiklu-text-destructive"
3336
+ ), children: currentLada }),
3337
+ /* @__PURE__ */ jsx28("div", { className: cn(
3338
+ "uiklu-flex uiklu-items-center uiklu-justify-center uiklu-h-4 uiklu-w-4",
3339
+ "uiklu-shrink-0",
3340
+ error ? "uiklu-text-destructive" : "uiklu-text-primary500"
3341
+ ), children: Icons.CHEVRON_DOWN })
3342
+ ]
3343
+ }
3344
+ ),
3345
+ /* @__PURE__ */ jsx28(Popover.Portal, { children: /* @__PURE__ */ jsxs24(
3346
+ Popover.Content,
3347
+ {
3348
+ sideOffset: 4,
3349
+ align: "start",
3350
+ style: {
3351
+ width: containerRef.current ? containerRef.current.offsetWidth : "var(--radix-popover-trigger-width)"
3352
+ },
3353
+ className: "uiklu-z-[100] uiklu-overflow-hidden uiklu-rounded-[8px] \n uiklu-border-[1px] uiklu-border-solid uiklu-border-gray100 uiklu-bg-white \n uiklu-text-gray800 uiklu-font-sans uiklu-shadow-md uiklu-pt-[10px] uiklu-box-border",
3354
+ children: [
3355
+ /* @__PURE__ */ jsx28("div", { className: "uiklu-mx-2", children: /* @__PURE__ */ jsx28(
3356
+ "input",
3357
+ {
3358
+ type: "text",
3359
+ placeholder: "Buscar...",
3360
+ value: searchQuery,
3361
+ onChange: (e) => setSearchQuery(e.target.value),
3362
+ className: "uiklu-w-full uiklu-box-border uiklu-py-1.5 uiklu-px-3 \n uiklu-mb-2 uiklu-text-sm uiklu-border uiklu-border-solid uiklu-border-gray100 \n uiklu-rounded-[4px] uiklu-outline-none focus:uiklu-border-primary900 \n uiklu-font-sans uiklu-bg-gray50 placeholder:uiklu-text-gray500"
3363
+ }
3364
+ ) }),
3365
+ /* @__PURE__ */ jsx28("div", { className: "uiklu-max-h-[150px] uiklu-overflow-y-auto uiklu-overflow-x-hidden \n uiklu-w-full uiklu-box-border uiklu-flex uiklu-flex-col uiklu-p-1", children: filteredLadas.length > 0 ? filteredLadas.map((lada) => {
3366
+ const isSelected = lada.originalIndex === selectedIndex;
3367
+ return /* @__PURE__ */ jsxs24(
3368
+ "button",
3369
+ {
3370
+ type: "button",
3371
+ onClick: () => {
3372
+ setSelectedIndex(lada.originalIndex);
3373
+ handleInputChange(displayInputValue, lada.code);
3374
+ setOpen(false);
3375
+ },
3376
+ className: cn(
3377
+ "uiklu-relative uiklu-flex uiklu-w-full uiklu-box-border uiklu-cursor-pointer",
3378
+ "uiklu-select-none uiklu-items-center uiklu-py-2 uiklu-pl-8 uiklu-pr-4",
3379
+ "uiklu-text-sm uiklu-font-sans uiklu-outline-none uiklu-transition-colors",
3380
+ "uiklu-border-none uiklu-rounded-[4px]",
3381
+ isSelected ? "uiklu-bg-primary/5 uiklu-text-primary uiklu-font-medium" : "uiklu-bg-transparent uiklu-text-gray800 hover:uiklu-bg-primary/10",
3382
+ "hover:uiklu-text-primary focus:uiklu-bg-primary/10 focus:uiklu-text-primary"
3383
+ ),
3384
+ children: [
3385
+ /* @__PURE__ */ jsx28("span", { className: "uiklu-absolute uiklu-left-2 uiklu-flex uiklu-h-3.5 uiklu-w-3.5 \n uiklu-items-center uiklu-justify-center uiklu-font-sans ", children: isSelected && /* @__PURE__ */ jsx28(Check5, { className: "uiklu-h-4 uiklu-w-4 uiklu-text-primary800" }) }),
3386
+ /* @__PURE__ */ jsxs24("span", { className: "uiklu-flex-1 uiklu-truncate uiklu-text-left\n uiklu-inline-flex uiklu-items-center uiklu-h-full uiklu-leading-normal", children: [
3387
+ lada.label,
3388
+ " (",
3389
+ lada.code,
3390
+ ")"
3391
+ ] })
3392
+ ]
3393
+ },
3394
+ `${lada.label}-${lada.code}`
3395
+ );
3396
+ }) : /* @__PURE__ */ jsx28("div", { className: "uiklu-text-sm uiklu-text-center uiklu-py-3 uiklu-opacity-50 uiklu-font-sans", children: "Sin coincidencias" }) })
3397
+ ]
3398
+ }
3399
+ ) })
3400
+ ] }),
3401
+ /* @__PURE__ */ jsx28("div", { className: cn(
3402
+ "uiklu-h-[20px] uiklu-w-px uiklu-border-r uiklu-border-solid",
3403
+ !error ? "uiklu-border-gray100" : "uiklu-border-destructive/40"
3404
+ ) }),
3405
+ /* @__PURE__ */ jsx28(
3406
+ "input",
3407
+ {
3408
+ ...props,
3409
+ ref,
3410
+ type: "tel",
3411
+ value: displayInputValue,
3412
+ placeholder,
3413
+ onChange: (e) => {
3414
+ const cleanValue = e.target.value.replace(/[^\d]/g, "");
3415
+ handleInputChange(cleanValue, currentLada);
3416
+ },
3417
+ className: cn(
3418
+ "uiklu-flex-1 uiklu-h-full uiklu-bg-transparent uiklu-border-none",
3419
+ "uiklu-outline-none uiklu-font-sans uiklu-font-semibold",
3420
+ "uiklu-overflow-hidden uiklu-text-ellipsis uiklu-pl-[6px] uiklu-pr-[10px] uiklu-leading-normal",
3421
+ "uiklu-text-gray800 placeholder:uiklu-text-gray800",
3422
+ "disabled:uiklu-cursor-not-allowed",
3423
+ fontSizes[size],
3424
+ error && "!uiklu-text-destructive placeholder:!uiklu-text-destructive/60"
3425
+ )
3426
+ }
3427
+ )
3428
+ ]
3429
+ }
3430
+ ),
3431
+ /* @__PURE__ */ jsx28("div", { className: cn("uiklu-min-h-[20px] uiklu-mb-[10px] uiklu-flex uiklu-items-center", errorSizes5[size]), children: error && /* @__PURE__ */ jsx28("p", { className: "uiklu-error-message uiklu-leading-tight uiklu-text-destructive uiklu-font-sans uiklu-m-0", children: error }) })
3432
+ ] });
3433
+ }
3434
+ );
3435
+ PhoneField.displayName = "PhoneField";
3028
3436
  export {
3029
3437
  BackButton,
3030
3438
  BalanceInfo,
@@ -3036,13 +3444,19 @@ export {
3036
3444
  Icons,
3037
3445
  Input,
3038
3446
  InputCode,
3039
- InputPhone,
3040
3447
  LoadingScreen,
3041
3448
  MobileMenuDrawer,
3042
3449
  Modal,
3450
+ PhoneField,
3043
3451
  PromoBanner,
3044
3452
  SearchSelect,
3453
+ SearchSelectField,
3045
3454
  Select,
3455
+ SelectContent2 as SelectContent,
3456
+ SelectField,
3457
+ SelectGroup,
3458
+ SelectItem2 as SelectItem,
3459
+ SelectValue,
3046
3460
  SidebarTabs,
3047
3461
  TextField,
3048
3462
  ToastAction,