@chekinapp/ui 0.0.32 → 0.0.34

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
@@ -1316,20 +1316,19 @@ function ChannelSelector({
1316
1316
  const newValues = selectedValues.includes(value) ? selectedValues.filter((selectedValue) => selectedValue !== value) : [...selectedValues, value];
1317
1317
  onChange(newValues);
1318
1318
  };
1319
- return /* @__PURE__ */ jsx16("div", { className: "flex gap-chekin-2", children: /* @__PURE__ */ jsx16(TooltipProvider, { children: options.map((option) => {
1319
+ return /* @__PURE__ */ jsx16("div", { className: "flex gap-3", children: /* @__PURE__ */ jsx16(TooltipProvider, { children: options.map((option) => {
1320
1320
  const isSelected = selectedValues.includes(option.value);
1321
1321
  const isReadOnly = readOnlyValues.includes(option.value);
1322
1322
  return /* @__PURE__ */ jsxs12(Tooltip, { children: [
1323
1323
  /* @__PURE__ */ jsx16(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs12(
1324
1324
  Button,
1325
1325
  {
1326
- variant: "secondary",
1327
- size: "icon",
1326
+ variant: "outline",
1328
1327
  type: "button",
1329
1328
  onClick: () => handleToggle(option.value),
1330
1329
  disabled: isReadOnly,
1331
1330
  className: cn(
1332
- "relative h-10 w-10 rounded-lg border-2 bg-white p-0 transition-all",
1331
+ "relative flex h-10 w-10 items-center justify-center rounded-lg border-2 bg-white p-0 transition-all",
1333
1332
  isSelected ? "border-chekin-blue bg-chekin-blue/10" : "border-chekin-gray-3 hover:border-chekin-blue/30",
1334
1333
  isReadOnly ? "cursor-default opacity-100" : "cursor-pointer"
1335
1334
  ),
@@ -1354,11 +1353,11 @@ var BaseCheckbox = React6.forwardRef(({ className, loading, onCheckedChange, dis
1354
1353
  {
1355
1354
  ref,
1356
1355
  className: cn(
1357
- "peer h-5 w-5 shrink-0 rounded-sm border border-solid border-chekin-blue",
1356
+ "checkbox__control peer h-5 w-5 shrink-0 rounded-sm border border-solid border-[var(--checkbox-border)] bg-[var(--checkbox-bg)]",
1358
1357
  "focus-visible:outline-none focus-visible:shadow-chekin-focus",
1359
1358
  "disabled:cursor-not-allowed disabled:opacity-50",
1360
1359
  "aria-busy:cursor-wait aria-busy:opacity-50 aria-readonly:cursor-default aria-readonly:opacity-100",
1361
- "data-[state=checked]:bg-chekin-blue data-[state=checked]:text-white",
1360
+ "data-[state=checked]:border-[var(--checkbox-checked-border)] data-[state=checked]:bg-[var(--checkbox-checked-bg)] data-[state=checked]:text-[var(--checkbox-check-color)]",
1362
1361
  className
1363
1362
  ),
1364
1363
  ...props,
@@ -1370,7 +1369,7 @@ var BaseCheckbox = React6.forwardRef(({ className, loading, onCheckedChange, dis
1370
1369
  CheckboxPrimitive.Indicator,
1371
1370
  {
1372
1371
  className: cn("flex items-center justify-center text-current"),
1373
- children: /* @__PURE__ */ jsx17(Check3, { className: "h-5 w-5" })
1372
+ children: /* @__PURE__ */ jsx17(Check3, { className: "checkbox__icon h-5 w-5" })
1374
1373
  }
1375
1374
  )
1376
1375
  }
@@ -1430,7 +1429,7 @@ var Checkbox = React8.forwardRef(
1430
1429
  {
1431
1430
  htmlFor: checkboxId,
1432
1431
  className: cn(
1433
- "cursor-pointer text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1432
+ "cursor-pointer text-sm font-medium leading-none text-chekin-navy peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1434
1433
  labelClassName
1435
1434
  ),
1436
1435
  children: label
@@ -1589,7 +1588,7 @@ var CheckboxGroup = React9.forwardRef(
1589
1588
  Label,
1590
1589
  {
1591
1590
  htmlFor: selectAllId,
1592
- className: "cursor-pointer text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1591
+ className: "cursor-pointer text-sm font-medium leading-none text-chekin-navy peer-disabled:cursor-not-allowed peer-disabled:opacity-70",
1593
1592
  children: selectAllLabel
1594
1593
  }
1595
1594
  )
@@ -2028,7 +2027,7 @@ function DataTable({ columns, data }) {
2028
2027
  }
2029
2028
 
2030
2029
  // src/dialog/Dialog.tsx
2031
- import * as React11 from "react";
2030
+ import * as React12 from "react";
2032
2031
  import * as DialogPrimitive from "@radix-ui/react-dialog";
2033
2032
  import { VisuallyHidden } from "@radix-ui/react-visually-hidden";
2034
2033
  import { XIcon } from "lucide-react";
@@ -2237,18 +2236,28 @@ function useOutsideClick({
2237
2236
  }
2238
2237
 
2239
2238
  // src/hooks/use-screen-resize.ts
2240
- import { useCallback as useCallback6, useLayoutEffect as useLayoutEffect2, useState as useState7 } from "react";
2239
+ import React11 from "react";
2241
2240
  var eventName = "resize";
2242
- function useScreenResize(maxWidth) {
2243
- const [isInitialized, setIsInitialized] = useState7(false);
2244
- const [isMatch, setIsMatch] = useState7(false);
2245
- const handleResizeEvent = useCallback6(() => {
2246
- const adjustedMaxWidth = `${parseInt(maxWidth, 10) - 1}px`;
2247
- const media = getWindow().matchMedia(`(max-width: ${adjustedMaxWidth})`);
2241
+ function getMediaQuery(maxWidth, matchString) {
2242
+ if (matchString) {
2243
+ return matchString;
2244
+ }
2245
+ return maxWidth ? `(max-width: ${maxWidth})` : null;
2246
+ }
2247
+ function useScreenResize(maxWidth, matchString) {
2248
+ const [isInitialized, setIsInitialized] = React11.useState(false);
2249
+ const [isMatch, setIsMatch] = React11.useState(false);
2250
+ const handleResizeEvent = React11.useCallback(() => {
2251
+ const mediaQuery = getMediaQuery(maxWidth, matchString);
2248
2252
  setIsInitialized(true);
2249
- setIsMatch(media?.matches);
2250
- }, [maxWidth]);
2251
- useLayoutEffect2(() => {
2253
+ if (!mediaQuery) {
2254
+ setIsMatch(false);
2255
+ return;
2256
+ }
2257
+ const media = getWindow().matchMedia(mediaQuery);
2258
+ setIsMatch(media.matches);
2259
+ }, [maxWidth, matchString]);
2260
+ React11.useEffect(() => {
2252
2261
  handleResizeEvent();
2253
2262
  getWindow().addEventListener(eventName, handleResizeEvent);
2254
2263
  return () => {
@@ -2305,10 +2314,10 @@ function useScrollFrameIntoView(active, options = {}) {
2305
2314
  }
2306
2315
 
2307
2316
  // src/hooks/use-debounce.ts
2308
- import { useEffect as useEffect10, useState as useState8 } from "react";
2317
+ import { useEffect as useEffect10, useState as useState7 } from "react";
2309
2318
  function useDebounce(value, delayMs = 1e3, handleChange) {
2310
2319
  const onChange = useEvent(handleChange);
2311
- const [debouncedValue, setDebouncedValue] = useState8(value);
2320
+ const [debouncedValue, setDebouncedValue] = useState7(value);
2312
2321
  useEffect10(() => {
2313
2322
  const handler = setTimeout(() => {
2314
2323
  setDebouncedValue(value);
@@ -2324,12 +2333,12 @@ function useDebounce(value, delayMs = 1e3, handleChange) {
2324
2333
  }
2325
2334
 
2326
2335
  // src/hooks/use-debounced-function.ts
2327
- import { useCallback as useCallback7, useRef as useRef6 } from "react";
2336
+ import { useCallback as useCallback6, useRef as useRef6 } from "react";
2328
2337
  function useDebouncedFunction(callback, delay) {
2329
2338
  const timerRef = useRef6();
2330
2339
  const immediateCalling = useRef6(false);
2331
2340
  const callbackFn = useEvent(callback);
2332
- const throttled = useCallback7(
2341
+ const throttled = useCallback6(
2333
2342
  (...args) => {
2334
2343
  clearTimeout(timerRef.current);
2335
2344
  if (immediateCalling.current) {
@@ -2344,7 +2353,7 @@ function useDebouncedFunction(callback, delay) {
2344
2353
  },
2345
2354
  [callbackFn, delay]
2346
2355
  );
2347
- const immediate = useCallback7(() => {
2356
+ const immediate = useCallback6(() => {
2348
2357
  immediateCalling.current = true;
2349
2358
  }, []);
2350
2359
  return { throttled, immediate };
@@ -2361,7 +2370,7 @@ function usePrevious(value, defaultValue) {
2361
2370
  }
2362
2371
 
2363
2372
  // src/hooks/use-pagination.ts
2364
- import { useCallback as useCallback8, useEffect as useEffect12, useMemo, useState as useState9 } from "react";
2373
+ import { useCallback as useCallback7, useEffect as useEffect12, useMemo, useState as useState8 } from "react";
2365
2374
 
2366
2375
  // src/storage/AbstractStorage.ts
2367
2376
  var AbstractStorage = class {
@@ -2434,7 +2443,7 @@ var DEFAULT_PAGE_SIZE = 20;
2434
2443
  var DEFAULT_PAGE = 1;
2435
2444
  function usePagination(config) {
2436
2445
  const { key, defaultPageSize = DEFAULT_PAGE_SIZE, defaultPage = DEFAULT_PAGE } = config;
2437
- const [state, setState] = useState9(() => {
2446
+ const [state, setState] = useState8(() => {
2438
2447
  const stored = SessionStorage.get(`pagination-${key}`);
2439
2448
  if (stored) {
2440
2449
  return {
@@ -2464,14 +2473,14 @@ function usePagination(config) {
2464
2473
  return Math.min(state.page * state.pageSize, state.totalItems);
2465
2474
  }, [state.page, state.pageSize, state.totalItems]);
2466
2475
  const isEmpty = useMemo(() => state.totalItems === 0, [state.totalItems]);
2467
- const setPage = useCallback8(
2476
+ const setPage = useCallback7(
2468
2477
  (page) => {
2469
2478
  const clampedPage = Math.max(1, Math.min(page, pages || 1));
2470
2479
  setState((prev) => ({ ...prev, page: clampedPage }));
2471
2480
  },
2472
2481
  [pages]
2473
2482
  );
2474
- const setPageSize = useCallback8((pageSize) => {
2483
+ const setPageSize = useCallback7((pageSize) => {
2475
2484
  const validPageSize = Math.max(1, pageSize);
2476
2485
  setState((prev) => {
2477
2486
  const currentFirstItem = (prev.page - 1) * prev.pageSize + 1;
@@ -2483,7 +2492,7 @@ function usePagination(config) {
2483
2492
  };
2484
2493
  });
2485
2494
  }, []);
2486
- const setTotalItems = useCallback8((totalItems) => {
2495
+ const setTotalItems = useCallback7((totalItems) => {
2487
2496
  const validTotalItems = Math.max(0, totalItems);
2488
2497
  setState((prev) => {
2489
2498
  const newPages = validTotalItems > 0 ? Math.ceil(validTotalItems / prev.pageSize) : 0;
@@ -2495,19 +2504,19 @@ function usePagination(config) {
2495
2504
  };
2496
2505
  });
2497
2506
  }, []);
2498
- const nextPage = useCallback8(() => {
2507
+ const nextPage = useCallback7(() => {
2499
2508
  setPage(state.page + 1);
2500
2509
  }, [setPage, state.page]);
2501
- const previousPage = useCallback8(() => {
2510
+ const previousPage = useCallback7(() => {
2502
2511
  setPage(state.page - 1);
2503
2512
  }, [setPage, state.page]);
2504
- const goToFirstPage = useCallback8(() => {
2513
+ const goToFirstPage = useCallback7(() => {
2505
2514
  setPage(1);
2506
2515
  }, [setPage]);
2507
- const goToLastPage = useCallback8(() => {
2516
+ const goToLastPage = useCallback7(() => {
2508
2517
  setPage(pages);
2509
2518
  }, [setPage, pages]);
2510
- const reset = useCallback8(() => {
2519
+ const reset = useCallback7(() => {
2511
2520
  setState({
2512
2521
  page: defaultPage,
2513
2522
  pageSize: defaultPageSize,
@@ -2536,7 +2545,7 @@ function usePagination(config) {
2536
2545
  }
2537
2546
 
2538
2547
  // src/hooks/use-copy-to-clipboard.ts
2539
- import { useEffect as useEffect13, useRef as useRef8, useState as useState10 } from "react";
2548
+ import { useEffect as useEffect13, useRef as useRef8, useState as useState9 } from "react";
2540
2549
 
2541
2550
  // src/lib/copy-to-clipboard.ts
2542
2551
  function copyToClipboardFallback(value) {
@@ -2574,7 +2583,7 @@ function copyToClipboard2(value) {
2574
2583
  // src/hooks/use-copy-to-clipboard.ts
2575
2584
  var COPIED_TIMEOUT_S = 1.5;
2576
2585
  function useCopyToClipboard({ value, onCopiedLink, onReset }) {
2577
- const [isCopied, setIsLinkCopied] = useState10(false);
2586
+ const [isCopied, setIsLinkCopied] = useState9(false);
2578
2587
  const timeoutRef = useRef8();
2579
2588
  useEffect13(() => {
2580
2589
  return () => {
@@ -2600,10 +2609,10 @@ function useCopyToClipboard({ value, onCopiedLink, onReset }) {
2600
2609
  }
2601
2610
 
2602
2611
  // src/hooks/use-timer.ts
2603
- import { useEffect as useEffect14, useState as useState11 } from "react";
2612
+ import { useEffect as useEffect14, useState as useState10 } from "react";
2604
2613
  var useTimer = ({ seconds }) => {
2605
- const [timeLeft, setTimeLeft] = useState11(seconds);
2606
- const [isTimerRunning, setIsTimerRunning] = useState11(true);
2614
+ const [timeLeft, setTimeLeft] = useState10(seconds);
2615
+ const [isTimerRunning, setIsTimerRunning] = useState10(true);
2607
2616
  useEffect14(() => {
2608
2617
  if (!isTimerRunning) return;
2609
2618
  const timer = setInterval(() => {
@@ -2663,13 +2672,13 @@ function useTimeout(callback, ms = 0) {
2663
2672
  }
2664
2673
 
2665
2674
  // src/hooks/use-hover.ts
2666
- import { useCallback as useCallback9, useState as useState12 } from "react";
2675
+ import { useCallback as useCallback8, useState as useState11 } from "react";
2667
2676
  function useHover() {
2668
- const [isHovering, setIsHovering] = useState12(false);
2669
- const handleMouseEnter = useCallback9(() => {
2677
+ const [isHovering, setIsHovering] = useState11(false);
2678
+ const handleMouseEnter = useCallback8(() => {
2670
2679
  setIsHovering(true);
2671
2680
  }, []);
2672
- const handleMouseLeave = useCallback9(() => {
2681
+ const handleMouseLeave = useCallback8(() => {
2673
2682
  setIsHovering(false);
2674
2683
  }, []);
2675
2684
  return {
@@ -2680,7 +2689,7 @@ function useHover() {
2680
2689
  }
2681
2690
 
2682
2691
  // src/hooks/use-key-down.ts
2683
- import { useCallback as useCallback10, useEffect as useEffect16 } from "react";
2692
+ import { useCallback as useCallback9, useEffect as useEffect16 } from "react";
2684
2693
  function useKeyDown(key, cb, options) {
2685
2694
  const {
2686
2695
  enabled = true,
@@ -2690,7 +2699,7 @@ function useKeyDown(key, cb, options) {
2690
2699
  altKey = false
2691
2700
  } = options ?? {};
2692
2701
  const handleCallback = useEvent(cb);
2693
- const handleKeyDown = useCallback10(
2702
+ const handleKeyDown = useCallback9(
2694
2703
  (event) => {
2695
2704
  const keys = Array.isArray(key) ? key : [key];
2696
2705
  const isKeyMatch = keys.includes(event.key);
@@ -2748,14 +2757,14 @@ var usePromisedModalControls = () => {
2748
2757
  };
2749
2758
 
2750
2759
  // src/hooks/use-is-form-touched.ts
2751
- import { useState as useState13 } from "react";
2760
+ import { useState as useState12 } from "react";
2752
2761
  function useIsFormTouched({
2753
2762
  watch,
2754
2763
  displayFields,
2755
2764
  debug,
2756
2765
  defaultValues
2757
2766
  }) {
2758
- const [untouchedValues, setUntouchedValues] = useState13(defaultValues || {});
2767
+ const [untouchedValues, setUntouchedValues] = useState12(defaultValues || {});
2759
2768
  const getIsFormTouched = () => {
2760
2769
  if (!Object.keys(untouchedValues)) {
2761
2770
  return false;
@@ -2800,7 +2809,7 @@ function useIsFormTouched({
2800
2809
  // src/dialog/Dialog.tsx
2801
2810
  import { jsx as jsx29, jsxs as jsxs22 } from "react/jsx-runtime";
2802
2811
  function useIframeTitleFix(titleRef) {
2803
- React11.useEffect(() => {
2812
+ React12.useEffect(() => {
2804
2813
  if (!window.chekinCustomDocument) {
2805
2814
  return;
2806
2815
  }
@@ -2829,7 +2838,7 @@ function DialogClose({ ...props }) {
2829
2838
  }
2830
2839
  var dialogOverlayClasses = "fixed inset-0 z-50 bg-[var(--dialog-overlay-bg)] data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0";
2831
2840
  var scrollableOverlayClasses = "fixed inset-0 z-50 flex flex-col items-center overflow-y-auto overscroll-none pb-[19px] pt-[20px]";
2832
- var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2841
+ var DialogOverlay = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2833
2842
  DialogPrimitive.Overlay,
2834
2843
  {
2835
2844
  ref,
@@ -2841,7 +2850,7 @@ var DialogOverlay = React11.forwardRef(({ className, ...props }, ref) => /* @__P
2841
2850
  DialogOverlay.displayName = DialogPrimitive.Overlay.displayName;
2842
2851
  var dialogContentClasses = "relative z-50 my-auto w-full max-w-[calc(100%-2rem)] rounded-[var(--dialog-content-radius)] border border-[var(--dialog-content-border)] bg-[var(--dialog-content-bg)] p-6 text-[var(--dialog-content-text)] shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:max-w-2xl";
2843
2852
  var dialogCloseButtonClasses = "absolute right-4 top-4 rounded-[var(--dialog-close-radius)] opacity-70 transition-opacity hover:opacity-100 focus:outline-none focus:shadow-chekin-focus disabled:pointer-events-none [&_svg:not([class*=size-])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0";
2844
- var DialogContent = React11.forwardRef(
2853
+ var DialogContent = React12.forwardRef(
2845
2854
  ({ className, showCloseButton = true, children, container, lockScroll = true, ...props }, ref) => {
2846
2855
  const contentElement = /* @__PURE__ */ jsxs22(
2847
2856
  DialogPrimitive.Content,
@@ -2889,8 +2898,8 @@ var DialogFooter = ({ className, ...props }) => /* @__PURE__ */ jsx29(
2889
2898
  }
2890
2899
  );
2891
2900
  DialogFooter.displayName = "DialogFooter";
2892
- var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => {
2893
- const titleRef = React11.useRef(null);
2901
+ var DialogTitle = React12.forwardRef(({ className, ...props }, ref) => {
2902
+ const titleRef = React12.useRef(null);
2894
2903
  const combinedRef = useCombinedRef(titleRef, ref);
2895
2904
  useIframeTitleFix(titleRef);
2896
2905
  return /* @__PURE__ */ jsx29(
@@ -2904,7 +2913,7 @@ var DialogTitle = React11.forwardRef(({ className, ...props }, ref) => {
2904
2913
  );
2905
2914
  });
2906
2915
  DialogTitle.displayName = DialogPrimitive.Title.displayName;
2907
- var DialogDescription = React11.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2916
+ var DialogDescription = React12.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx29(
2908
2917
  DialogPrimitive.Description,
2909
2918
  {
2910
2919
  ref,
@@ -2966,9 +2975,9 @@ function ConfirmationDialog({
2966
2975
  }
2967
2976
 
2968
2977
  // src/default-select-trigger/DefaultSelectTrigger.tsx
2969
- import * as React12 from "react";
2978
+ import * as React13 from "react";
2970
2979
  import { jsx as jsx31 } from "react/jsx-runtime";
2971
- var DefaultSelectTrigger = React12.forwardRef(
2980
+ var DefaultSelectTrigger = React13.forwardRef(
2972
2981
  ({
2973
2982
  className,
2974
2983
  disabled,
@@ -3032,17 +3041,17 @@ function DownloadEntryFormsButton({
3032
3041
  }
3033
3042
 
3034
3043
  // src/dropdown-button/DropdownButton.tsx
3035
- import { useState as useState14 } from "react";
3044
+ import { useState as useState13 } from "react";
3036
3045
 
3037
3046
  // src/dropdown-menu/DropdownMenu.tsx
3038
- import * as React13 from "react";
3047
+ import * as React14 from "react";
3039
3048
  import * as RadixMenu from "@radix-ui/react-dropdown-menu";
3040
3049
  import { jsx as jsx33 } from "react/jsx-runtime";
3041
3050
  var DropdownMenu = RadixMenu.Root;
3042
3051
  var DropdownMenuTrigger = RadixMenu.Trigger;
3043
3052
  var DropdownMenuPortal = RadixMenu.Portal;
3044
3053
  var DropdownMenuGroup = RadixMenu.Group;
3045
- var DropdownMenuContent = React13.forwardRef(({ className, sideOffset = 6, container, ...props }, ref) => /* @__PURE__ */ jsx33(RadixMenu.Portal, { container: container || getCustomContainer(), children: /* @__PURE__ */ jsx33(
3054
+ var DropdownMenuContent = React14.forwardRef(({ className, sideOffset = 6, container, ...props }, ref) => /* @__PURE__ */ jsx33(RadixMenu.Portal, { container: container || getCustomContainer(), children: /* @__PURE__ */ jsx33(
3046
3055
  RadixMenu.Content,
3047
3056
  {
3048
3057
  ref,
@@ -3063,9 +3072,9 @@ var itemClasses = [
3063
3072
  "data-[highlighted]:bg-chekin-surface-pressed data-[highlighted]:text-chekin-blue",
3064
3073
  "data-[disabled]:pointer-events-none data-[disabled]:opacity-30"
3065
3074
  ];
3066
- var DropdownMenuItem = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(RadixMenu.Item, { ref, className: cn(itemClasses, className), ...props }));
3075
+ var DropdownMenuItem = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(RadixMenu.Item, { ref, className: cn(itemClasses, className), ...props }));
3067
3076
  DropdownMenuItem.displayName = "DropdownMenuItem";
3068
- var DropdownMenuLabel = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3077
+ var DropdownMenuLabel = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3069
3078
  RadixMenu.Label,
3070
3079
  {
3071
3080
  ref,
@@ -3077,7 +3086,7 @@ var DropdownMenuLabel = React13.forwardRef(({ className, ...props }, ref) => /*
3077
3086
  }
3078
3087
  ));
3079
3088
  DropdownMenuLabel.displayName = "DropdownMenuLabel";
3080
- var DropdownMenuSeparator = React13.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3089
+ var DropdownMenuSeparator = React14.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx33(
3081
3090
  RadixMenu.Separator,
3082
3091
  {
3083
3092
  ref,
@@ -3096,7 +3105,7 @@ function DropdownButton({
3096
3105
  modal,
3097
3106
  className
3098
3107
  }) {
3099
- const [isOpen, setIsOpen] = useState14(false);
3108
+ const [isOpen, setIsOpen] = useState13(false);
3100
3109
  return /* @__PURE__ */ jsxs25(DropdownMenu, { onOpenChange: setIsOpen, modal, children: [
3101
3110
  /* @__PURE__ */ jsx34(DropdownMenuTrigger, { asChild: true, children: typeof trigger === "function" ? trigger(isOpen) : trigger }),
3102
3111
  /* @__PURE__ */ jsx34(
@@ -3309,9 +3318,9 @@ function EmptySectionPlaceholder({
3309
3318
  }
3310
3319
 
3311
3320
  // src/external-link/ExternalLink.tsx
3312
- import * as React14 from "react";
3321
+ import * as React15 from "react";
3313
3322
  import { jsx as jsx43, jsxs as jsxs27 } from "react/jsx-runtime";
3314
- var ExternalLink = React14.forwardRef(
3323
+ var ExternalLink = React15.forwardRef(
3315
3324
  ({ className, children, showIcon = true, target = "_blank", rel, ...props }, ref) => /* @__PURE__ */ jsxs27(
3316
3325
  "a",
3317
3326
  {
@@ -3357,7 +3366,7 @@ import { useTranslation as useTranslation9 } from "react-i18next";
3357
3366
  import { Play as Play3 } from "lucide-react";
3358
3367
 
3359
3368
  // src/switch/Switch.tsx
3360
- import * as React15 from "react";
3369
+ import * as React16 from "react";
3361
3370
  import * as SwitchPrimitives from "@radix-ui/react-switch";
3362
3371
  import { cva as cva7 } from "class-variance-authority";
3363
3372
  import { jsx as jsx44, jsxs as jsxs28 } from "react/jsx-runtime";
@@ -3399,9 +3408,9 @@ var switchThumbVariants = cva7(
3399
3408
  }
3400
3409
  }
3401
3410
  );
3402
- var Switch = React15.forwardRef(
3411
+ var Switch = React16.forwardRef(
3403
3412
  ({ className, size, readOnly, loading, onChange, value, id, label, error, ...props }, ref) => {
3404
- const generatedId = React15.useId();
3413
+ const generatedId = React16.useId();
3405
3414
  const fieldId = id || generatedId;
3406
3415
  const switchElement = /* @__PURE__ */ jsx44(
3407
3416
  SwitchPrimitives.Root,
@@ -3434,7 +3443,7 @@ var Switch = React15.forwardRef(
3434
3443
  Switch.displayName = SwitchPrimitives.Root.displayName;
3435
3444
 
3436
3445
  // src/video-player/VideoPlayer.tsx
3437
- import { useEffect as useEffect19, useRef as useRef13, useState as useState15 } from "react";
3446
+ import { useEffect as useEffect19, useRef as useRef13, useState as useState14 } from "react";
3438
3447
  import { useTranslation as useTranslation8 } from "react-i18next";
3439
3448
  import {
3440
3449
  Loader2,
@@ -3461,15 +3470,15 @@ function VideoPlayer({
3461
3470
  const videoRef = useRef13(null);
3462
3471
  const iframeRef = useRef13(null);
3463
3472
  const containerRef = useRef13(null);
3464
- const [isPlaying, setIsPlaying] = useState15(false);
3465
- const [isMuted, setIsMuted] = useState15(false);
3466
- const [currentTime, setCurrentTime] = useState15(0);
3467
- const [duration, setDuration] = useState15(0);
3468
- const [isFullScreenMode, setIsFullScreenMode] = useState15(isFullScreen);
3469
- const [isLoading, setIsLoading] = useState15(true);
3470
- const [videoSource, setVideoSource] = useState15("file");
3471
- const [youtubeEmbedUrl, setYoutubeEmbedUrl] = useState15("");
3472
- const [vimeoEmbedUrl, setVimeoEmbedUrl] = useState15("");
3473
+ const [isPlaying, setIsPlaying] = useState14(false);
3474
+ const [isMuted, setIsMuted] = useState14(false);
3475
+ const [currentTime, setCurrentTime] = useState14(0);
3476
+ const [duration, setDuration] = useState14(0);
3477
+ const [isFullScreenMode, setIsFullScreenMode] = useState14(isFullScreen);
3478
+ const [isLoading, setIsLoading] = useState14(true);
3479
+ const [videoSource, setVideoSource] = useState14("file");
3480
+ const [youtubeEmbedUrl, setYoutubeEmbedUrl] = useState14("");
3481
+ const [vimeoEmbedUrl, setVimeoEmbedUrl] = useState14("");
3473
3482
  useClickEscape({ enabled: isFullScreenMode, onClick: onClose });
3474
3483
  useEffect19(() => {
3475
3484
  const youtubeRegex = /(?:youtube\.com\/watch\?v=|youtu\.be\/|youtube\.com\/embed\/)([a-zA-Z0-9_-]{11})/;
@@ -3807,7 +3816,7 @@ function FeatureCard({
3807
3816
  // src/file-input-button/FileInputButton.tsx
3808
3817
  import {
3809
3818
  forwardRef as forwardRef19,
3810
- useCallback as useCallback11
3819
+ useCallback as useCallback10
3811
3820
  } from "react";
3812
3821
  import { Upload } from "lucide-react";
3813
3822
  import { jsx as jsx47, jsxs as jsxs31 } from "react/jsx-runtime";
@@ -3823,7 +3832,7 @@ var FileInputButton = forwardRef19(
3823
3832
  size = "default",
3824
3833
  ...props
3825
3834
  }, ref) => {
3826
- const handleChange = useCallback11(
3835
+ const handleChange = useCallback10(
3827
3836
  (event) => {
3828
3837
  onChange?.(event);
3829
3838
  event.target.value = "";
@@ -3906,7 +3915,7 @@ var FormBox = {
3906
3915
  import {
3907
3916
  forwardRef as forwardRef20,
3908
3917
  useId as useId4,
3909
- useState as useState16
3918
+ useState as useState15
3910
3919
  } from "react";
3911
3920
  import { useTranslation as useTranslation10 } from "react-i18next";
3912
3921
 
@@ -3938,8 +3947,8 @@ var FreeTextField = forwardRef20(
3938
3947
  }, ref) => {
3939
3948
  const { t } = useTranslation10();
3940
3949
  const inputId = useId4();
3941
- const [internalValue, setInternalValue] = useState16(defaultValue ?? "");
3942
- const [isFocused, setIsFocused] = useState16(false);
3950
+ const [internalValue, setInternalValue] = useState15(defaultValue ?? "");
3951
+ const [isFocused, setIsFocused] = useState15(false);
3943
3952
  const currentValue = value !== void 0 ? value : internalValue;
3944
3953
  const isEmpty = !currentValue || String(currentValue).length === 0;
3945
3954
  const hasError = Boolean(error);
@@ -4023,7 +4032,7 @@ var FreeTextField = forwardRef20(
4023
4032
  FreeTextField.displayName = "FreeTextField";
4024
4033
 
4025
4034
  // src/framed-icon/FramedIcon.tsx
4026
- import * as React16 from "react";
4035
+ import * as React17 from "react";
4027
4036
  import { cva as cva8 } from "class-variance-authority";
4028
4037
  import { jsx as jsx53 } from "react/jsx-runtime";
4029
4038
  var framedIconVariants = cva8("inline-flex items-center justify-center shrink-0", {
@@ -4047,7 +4056,7 @@ var framedIconVariants = cva8("inline-flex items-center justify-center shrink-0"
4047
4056
  },
4048
4057
  defaultVariants: { size: "m", shape: "rounded", tone: "info" }
4049
4058
  });
4050
- var FramedIcon = React16.forwardRef(
4059
+ var FramedIcon = React17.forwardRef(
4051
4060
  ({ className, size, shape, tone, children, ...props }, ref) => /* @__PURE__ */ jsx53(
4052
4061
  "span",
4053
4062
  {
@@ -4209,7 +4218,7 @@ var IconRegistry = class {
4209
4218
  var RegistryIcon = Icon;
4210
4219
 
4211
4220
  // src/icon-button/IconButton.tsx
4212
- import * as React17 from "react";
4221
+ import * as React18 from "react";
4213
4222
  import { cva as cva9 } from "class-variance-authority";
4214
4223
  import { jsx as jsx57 } from "react/jsx-runtime";
4215
4224
  var iconButtonVariants = cva9(
@@ -4240,7 +4249,7 @@ var iconButtonVariants = cva9(
4240
4249
  defaultVariants: { size: "m", shape: "rounded", variant: "secondary" }
4241
4250
  }
4242
4251
  );
4243
- var IconButton = React17.forwardRef(
4252
+ var IconButton = React18.forwardRef(
4244
4253
  ({ className, size, shape, variant, label, children, type = "button", ...props }, ref) => /* @__PURE__ */ jsx57(
4245
4254
  "button",
4246
4255
  {
@@ -4271,7 +4280,7 @@ function InfoBox({ className, children }) {
4271
4280
  }
4272
4281
 
4273
4282
  // src/image/Image.tsx
4274
- import { useState as useState17 } from "react";
4283
+ import { useState as useState16 } from "react";
4275
4284
  import { jsx as jsx59 } from "react/jsx-runtime";
4276
4285
  function Image2({
4277
4286
  src,
@@ -4280,7 +4289,7 @@ function Image2({
4280
4289
  fallbackSrc = "https://placehold.co/600x400?text=Image",
4281
4290
  ...props
4282
4291
  }) {
4283
- const [error, setError] = useState17(false);
4292
+ const [error, setError] = useState16(false);
4284
4293
  return /* @__PURE__ */ jsx59(
4285
4294
  "img",
4286
4295
  {
@@ -4295,9 +4304,9 @@ function Image2({
4295
4304
  }
4296
4305
 
4297
4306
  // src/input/Input.tsx
4298
- import * as React18 from "react";
4307
+ import * as React19 from "react";
4299
4308
  import { jsx as jsx60 } from "react/jsx-runtime";
4300
- var Input = React18.forwardRef(
4309
+ var Input = React19.forwardRef(
4301
4310
  ({ className, type, readOnly, ...props }, ref) => /* @__PURE__ */ jsx60(
4302
4311
  "input",
4303
4312
  {
@@ -4321,7 +4330,7 @@ var Input = React18.forwardRef(
4321
4330
  Input.displayName = "Input";
4322
4331
 
4323
4332
  // src/input-otp/InputOTP.tsx
4324
- import * as React19 from "react";
4333
+ import * as React20 from "react";
4325
4334
 
4326
4335
  // src/input-otp/InputOTPContext.ts
4327
4336
  import { createContext, useContext } from "react";
@@ -4339,7 +4348,7 @@ function extractDigits(str) {
4339
4348
  }
4340
4349
 
4341
4350
  // src/input-otp/useInputOTP.ts
4342
- import { useCallback as useCallback12, useEffect as useEffect20, useMemo as useMemo3, useRef as useRef14, useState as useState18 } from "react";
4351
+ import { useCallback as useCallback11, useEffect as useEffect20, useMemo as useMemo3, useRef as useRef14, useState as useState17 } from "react";
4343
4352
  function useInputOTP({
4344
4353
  maxLength,
4345
4354
  value,
@@ -4348,7 +4357,7 @@ function useInputOTP({
4348
4357
  autoFocus,
4349
4358
  error
4350
4359
  }) {
4351
- const [activeIndex, setActiveIndex] = useState18(-1);
4360
+ const [activeIndex, setActiveIndex] = useState17(-1);
4352
4361
  const inputRefs = useRef14([]);
4353
4362
  const containerRef = useRef14(null);
4354
4363
  const blurTimeoutRef = useRef14();
@@ -4364,7 +4373,7 @@ function useInputOTP({
4364
4373
  return nextSlots;
4365
4374
  }, [value, maxLength]);
4366
4375
  slotsRef.current = slots;
4367
- const emitValue = useCallback12(
4376
+ const emitValue = useCallback11(
4368
4377
  (newSlots) => {
4369
4378
  let lastFilledIndex = -1;
4370
4379
  for (let index = newSlots.length - 1; index >= 0; index -= 1) {
@@ -4390,7 +4399,7 @@ function useInputOTP({
4390
4399
  inputRefs.current[0].focus();
4391
4400
  }
4392
4401
  }, [autoFocus]);
4393
- const handleContainerFocusIn = useCallback12((event) => {
4402
+ const handleContainerFocusIn = useCallback11((event) => {
4394
4403
  clearTimeout(blurTimeoutRef.current);
4395
4404
  const target = event.target;
4396
4405
  const slotIndex = inputRefs.current.indexOf(target);
@@ -4398,7 +4407,7 @@ function useInputOTP({
4398
4407
  setActiveIndex(slotIndex);
4399
4408
  }
4400
4409
  }, []);
4401
- const handleContainerFocusOut = useCallback12(() => {
4410
+ const handleContainerFocusOut = useCallback11(() => {
4402
4411
  clearTimeout(blurTimeoutRef.current);
4403
4412
  blurTimeoutRef.current = setTimeout(() => {
4404
4413
  if (!containerRef.current?.contains(document.activeElement)) {
@@ -4407,7 +4416,7 @@ function useInputOTP({
4407
4416
  }, 0);
4408
4417
  }, []);
4409
4418
  useEffect20(() => () => clearTimeout(blurTimeoutRef.current), []);
4410
- const handleDigitInput = useCallback12(
4419
+ const handleDigitInput = useCallback11(
4411
4420
  (index, digit) => {
4412
4421
  if (!DIGIT_REGEX.test(digit)) return;
4413
4422
  const newSlots = [...slotsRef.current];
@@ -4421,7 +4430,7 @@ function useInputOTP({
4421
4430
  },
4422
4431
  [maxLength, emitValue]
4423
4432
  );
4424
- const handleDelete = useCallback12(
4433
+ const handleDelete = useCallback11(
4425
4434
  (index) => {
4426
4435
  const newSlots = [...slotsRef.current];
4427
4436
  if (newSlots[index]) {
@@ -4436,7 +4445,7 @@ function useInputOTP({
4436
4445
  },
4437
4446
  [emitValue]
4438
4447
  );
4439
- const handlePaste = useCallback12(
4448
+ const handlePaste = useCallback11(
4440
4449
  (text) => {
4441
4450
  const digits = extractDigits(text).slice(0, maxLength);
4442
4451
  if (digits.length > 0) {
@@ -4486,7 +4495,7 @@ function useInputOTP({
4486
4495
 
4487
4496
  // src/input-otp/useInputOTPSlot.ts
4488
4497
  import {
4489
- useCallback as useCallback13
4498
+ useCallback as useCallback12
4490
4499
  } from "react";
4491
4500
  function useInputOTPSlot(index) {
4492
4501
  const {
@@ -4557,13 +4566,13 @@ function useInputOTPSlot(index) {
4557
4566
  event.preventDefault();
4558
4567
  handlePaste(event.clipboardData.getData("text/plain"));
4559
4568
  };
4560
- const setInputRef = useCallback13(
4569
+ const setInputRef = useCallback12(
4561
4570
  (element) => {
4562
4571
  inputRefs.current[index] = element;
4563
4572
  },
4564
4573
  [index, inputRefs]
4565
4574
  );
4566
- const focusSlot = useCallback13(() => {
4575
+ const focusSlot = useCallback12(() => {
4567
4576
  inputRefs.current[index]?.focus();
4568
4577
  }, [index, inputRefs]);
4569
4578
  return {
@@ -4606,11 +4615,11 @@ function InputOTP({
4606
4615
  }
4607
4616
  ) });
4608
4617
  }
4609
- var InputOTPGroup = React19.forwardRef(
4618
+ var InputOTPGroup = React20.forwardRef(
4610
4619
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx61("div", { ref, className: cn("flex items-center", className), ...props })
4611
4620
  );
4612
4621
  InputOTPGroup.displayName = "InputOTPGroup";
4613
- var InputOTPSlot = React19.forwardRef(
4622
+ var InputOTPSlot = React20.forwardRef(
4614
4623
  ({ index, className, ...props }, ref) => {
4615
4624
  const {
4616
4625
  char,
@@ -4659,13 +4668,13 @@ var InputOTPSlot = React19.forwardRef(
4659
4668
  }
4660
4669
  );
4661
4670
  InputOTPSlot.displayName = "InputOTPSlot";
4662
- var InputOTPSeparator = React19.forwardRef(
4671
+ var InputOTPSeparator = React20.forwardRef(
4663
4672
  (props, ref) => /* @__PURE__ */ jsx61("div", { ref, role: "separator", ...props })
4664
4673
  );
4665
4674
  InputOTPSeparator.displayName = "InputOTPSeparator";
4666
4675
 
4667
4676
  // src/icons-dropdown/IconsDropdown.tsx
4668
- import { useState as useState19 } from "react";
4677
+ import { useState as useState18 } from "react";
4669
4678
  import { jsx as jsx62, jsxs as jsxs36 } from "react/jsx-runtime";
4670
4679
  function IconsDropdown({
4671
4680
  icons,
@@ -4677,7 +4686,7 @@ function IconsDropdown({
4677
4686
  defaultOpen,
4678
4687
  onOpenChange: onOpenChangeProp
4679
4688
  }) {
4680
- const [open, setOpen] = useState19(defaultOpen ?? false);
4689
+ const [open, setOpen] = useState18(defaultOpen ?? false);
4681
4690
  function handleOpenChange(value) {
4682
4691
  setOpen(value);
4683
4692
  onOpenChangeProp?.(value);
@@ -5284,14 +5293,14 @@ LinkInternal.displayName = "Link";
5284
5293
  var Link = memo3(LinkInternal);
5285
5294
 
5286
5295
  // src/image-full-screen-view/ImageFullScreenView.tsx
5287
- import { useState as useState20 } from "react";
5296
+ import { useState as useState19 } from "react";
5288
5297
  import { RotateCw, X as X4, ZoomIn, ZoomOut } from "lucide-react";
5289
5298
  import { useTranslation as useTranslation13 } from "react-i18next";
5290
5299
  import { jsx as jsx67, jsxs as jsxs40 } from "react/jsx-runtime";
5291
5300
  function ImageFullScreenView({ src, alt, onClose }) {
5292
5301
  const { t } = useTranslation13();
5293
- const [scale, setScale] = useState20(1);
5294
- const [rotation, setRotation] = useState20(0);
5302
+ const [scale, setScale] = useState19(1);
5303
+ const [rotation, setRotation] = useState19(0);
5295
5304
  useClickEscape({ onClick: onClose });
5296
5305
  const zoomIn = () => setScale((value) => Math.min(value + 0.25, 3));
5297
5306
  const zoomOut = () => setScale((value) => Math.max(value - 0.25, 0.5));
@@ -5650,14 +5659,14 @@ import { useTranslation as useTranslation16 } from "react-i18next";
5650
5659
  import { ChevronLeft as ChevronLeft2, ChevronRight as ChevronRight3, ChevronsLeft, ChevronsRight } from "lucide-react";
5651
5660
 
5652
5661
  // src/select/Select.tsx
5653
- import * as React20 from "react";
5662
+ import * as React21 from "react";
5654
5663
  import * as RadixSelect from "@radix-ui/react-select";
5655
5664
  import { jsx as jsx74, jsxs as jsxs46 } from "react/jsx-runtime";
5656
5665
  var SelectRoot = RadixSelect.Root;
5657
5666
  var SelectValue = RadixSelect.Value;
5658
5667
  var SelectGroup = RadixSelect.Group;
5659
5668
  var SelectPortal = RadixSelect.Portal;
5660
- var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
5669
+ var SelectTrigger = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
5661
5670
  RadixSelect.Trigger,
5662
5671
  {
5663
5672
  ref,
@@ -5698,7 +5707,7 @@ var SelectTrigger = React20.forwardRef(({ className, children, ...props }, ref)
5698
5707
  }
5699
5708
  ));
5700
5709
  SelectTrigger.displayName = "SelectTrigger";
5701
- var SelectContent = React20.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx74(RadixSelect.Portal, { children: /* @__PURE__ */ jsx74(
5710
+ var SelectContent = React21.forwardRef(({ className, children, position = "popper", ...props }, ref) => /* @__PURE__ */ jsx74(RadixSelect.Portal, { children: /* @__PURE__ */ jsx74(
5702
5711
  RadixSelect.Content,
5703
5712
  {
5704
5713
  ref,
@@ -5717,7 +5726,7 @@ var SelectContent = React20.forwardRef(({ className, children, position = "poppe
5717
5726
  }
5718
5727
  ) }));
5719
5728
  SelectContent.displayName = "SelectContent";
5720
- var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
5729
+ var SelectItem = React21.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs46(
5721
5730
  RadixSelect.Item,
5722
5731
  {
5723
5732
  ref,
@@ -5752,7 +5761,7 @@ var SelectItem = React20.forwardRef(({ className, children, ...props }, ref) =>
5752
5761
  }
5753
5762
  ));
5754
5763
  SelectItem.displayName = "SelectItem";
5755
- var SelectSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
5764
+ var SelectSeparator = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
5756
5765
  RadixSelect.Separator,
5757
5766
  {
5758
5767
  ref,
@@ -5761,7 +5770,7 @@ var SelectSeparator = React20.forwardRef(({ className, ...props }, ref) => /* @_
5761
5770
  }
5762
5771
  ));
5763
5772
  SelectSeparator.displayName = "SelectSeparator";
5764
- var SelectLabel = React20.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
5773
+ var SelectLabel = React21.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx74(
5765
5774
  RadixSelect.Label,
5766
5775
  {
5767
5776
  ref,
@@ -5773,7 +5782,7 @@ var SelectLabel = React20.forwardRef(({ className, ...props }, ref) => /* @__PUR
5773
5782
  }
5774
5783
  ));
5775
5784
  SelectLabel.displayName = "SelectLabel";
5776
- var Select = React20.forwardRef(
5785
+ var Select = React21.forwardRef(
5777
5786
  ({
5778
5787
  placeholder,
5779
5788
  label,
@@ -5784,9 +5793,9 @@ var Select = React20.forwardRef(
5784
5793
  children,
5785
5794
  ...props
5786
5795
  }, ref) => {
5787
- const reactId = React20.useId();
5796
+ const reactId = React21.useId();
5788
5797
  const triggerId = props.name ?? reactId;
5789
- const internalRef = React20.useRef(null);
5798
+ const internalRef = React21.useRef(null);
5790
5799
  const combinedRef = useCombinedRef(ref, internalRef);
5791
5800
  return /* @__PURE__ */ jsxs46("div", { className: cn("flex flex-col gap-chekin-1 w-[300px]", containerClassName), children: [
5792
5801
  label && /* @__PURE__ */ jsx74(
@@ -5943,7 +5952,7 @@ function Pagination({
5943
5952
  }
5944
5953
 
5945
5954
  // src/popover/Popover.tsx
5946
- import * as React21 from "react";
5955
+ import * as React22 from "react";
5947
5956
  import * as RadixPopover from "@radix-ui/react-popover";
5948
5957
  import { jsx as jsx76 } from "react/jsx-runtime";
5949
5958
  var Popover = RadixPopover.Root;
@@ -5951,7 +5960,7 @@ var PopoverTrigger = RadixPopover.Trigger;
5951
5960
  var PopoverAnchor = RadixPopover.Anchor;
5952
5961
  var PopoverPortal = RadixPopover.Portal;
5953
5962
  var PopoverClose = RadixPopover.Close;
5954
- var PopoverContent = React21.forwardRef(({ className, sideOffset = 8, align = "start", ...props }, ref) => /* @__PURE__ */ jsx76(RadixPopover.Portal, { children: /* @__PURE__ */ jsx76(
5963
+ var PopoverContent = React22.forwardRef(({ className, sideOffset = 8, align = "start", ...props }, ref) => /* @__PURE__ */ jsx76(RadixPopover.Portal, { children: /* @__PURE__ */ jsx76(
5955
5964
  RadixPopover.Content,
5956
5965
  {
5957
5966
  ref,
@@ -5971,11 +5980,11 @@ PopoverContent.displayName = "PopoverContent";
5971
5980
  import { forwardRef as forwardRef32 } from "react";
5972
5981
 
5973
5982
  // src/radio-group/RadioGroup.tsx
5974
- import * as React22 from "react";
5983
+ import * as React23 from "react";
5975
5984
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
5976
5985
  import { Circle } from "lucide-react";
5977
5986
  import { jsx as jsx77 } from "react/jsx-runtime";
5978
- var RadioGroup = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
5987
+ var RadioGroup = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
5979
5988
  RadioGroupPrimitive.Root,
5980
5989
  {
5981
5990
  ref,
@@ -5984,7 +5993,7 @@ var RadioGroup = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE
5984
5993
  }
5985
5994
  ));
5986
5995
  RadioGroup.displayName = RadioGroupPrimitive.Root.displayName;
5987
- var RadioGroupItem = React22.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
5996
+ var RadioGroupItem = React23.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx77(
5988
5997
  RadioGroupPrimitive.Item,
5989
5998
  {
5990
5999
  ref,
@@ -6001,11 +6010,11 @@ var RadioGroupItem = React22.forwardRef(({ className, ...props }, ref) => /* @__
6001
6010
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
6002
6011
 
6003
6012
  // src/radio/useRadioOptions.ts
6004
- import { useCallback as useCallback14, useState as useState21 } from "react";
6013
+ import { useCallback as useCallback13, useState as useState20 } from "react";
6005
6014
  function useRadioOptions({ options, defaultValue, onChange }) {
6006
6015
  const initialValue = (typeof defaultValue === "string" ? options.find((option) => option.value === defaultValue) : defaultValue) || "";
6007
- const [selectedValue, setSelectedValue] = useState21(initialValue);
6008
- const handleValueChange = useCallback14(
6016
+ const [selectedValue, setSelectedValue] = useState20(initialValue);
6017
+ const handleValueChange = useCallback13(
6009
6018
  (value) => {
6010
6019
  setSelectedValue(value);
6011
6020
  const selectedOption = options.find((option) => option.value === value) || "";
@@ -6213,7 +6222,7 @@ function RatingRadioGroup({
6213
6222
  }
6214
6223
 
6215
6224
  // src/rating-stars/RatingStars.tsx
6216
- import * as React23 from "react";
6225
+ import * as React24 from "react";
6217
6226
  import { Star as Star2 } from "lucide-react";
6218
6227
  import { useTranslation as useTranslation17 } from "react-i18next";
6219
6228
  import { jsx as jsx82, jsxs as jsxs52 } from "react/jsx-runtime";
@@ -6233,7 +6242,7 @@ function RatingStars({
6233
6242
  const { t } = useTranslation17();
6234
6243
  const normalizedRating = Math.max(0, Math.min(maxRating, rating));
6235
6244
  const stars = Array.from({ length: maxRating }, (_, index) => index + 1);
6236
- const componentId = React23.useId();
6245
+ const componentId = React24.useId();
6237
6246
  const decimal = normalizedRating - Math.floor(normalizedRating);
6238
6247
  const partialStarIndex = decimal > 0 ? Math.ceil(normalizedRating) : -1;
6239
6248
  const gradientId = `star-gradient-${componentId.replace(/:/g, "")}`;
@@ -6809,7 +6818,7 @@ function SheetDescription({
6809
6818
  }
6810
6819
 
6811
6820
  // src/sidebar/Sidebar.tsx
6812
- import * as React24 from "react";
6821
+ import * as React25 from "react";
6813
6822
  import { Slot as Slot4 } from "@radix-ui/react-slot";
6814
6823
  import { cva as cva11 } from "class-variance-authority";
6815
6824
  import { ArrowLeftFromLineIcon, ArrowRightFromLineIcon } from "lucide-react";
@@ -6902,7 +6911,7 @@ var SIDEBAR_COOKIE_NAME_DEFAULT = "sidebar_state";
6902
6911
  var SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
6903
6912
  var SIDEBAR_WIDTH_MOBILE = "18rem";
6904
6913
  var SIDEBAR_KEYBOARD_SHORTCUT = "b";
6905
- var SidebarProvider = React24.forwardRef(
6914
+ var SidebarProvider = React25.forwardRef(
6906
6915
  ({
6907
6916
  defaultOpen = true,
6908
6917
  open: openProp,
@@ -6914,10 +6923,10 @@ var SidebarProvider = React24.forwardRef(
6914
6923
  ...props
6915
6924
  }, ref) => {
6916
6925
  const isMobile = useIsMobile({ breakpoint: 641 });
6917
- const [openMobile, setOpenMobile] = React24.useState(false);
6918
- const [_open, _setOpen] = React24.useState(defaultOpen);
6926
+ const [openMobile, setOpenMobile] = React25.useState(false);
6927
+ const [_open, _setOpen] = React25.useState(defaultOpen);
6919
6928
  const open = openProp ?? _open;
6920
- const setOpen = React24.useCallback(
6929
+ const setOpen = React25.useCallback(
6921
6930
  (value) => {
6922
6931
  const openState = typeof value === "function" ? value(open) : value;
6923
6932
  if (setOpenProp) {
@@ -6929,10 +6938,10 @@ var SidebarProvider = React24.forwardRef(
6929
6938
  },
6930
6939
  [setOpenProp, open, stateName]
6931
6940
  );
6932
- const toggleSidebar = React24.useCallback(() => {
6941
+ const toggleSidebar = React25.useCallback(() => {
6933
6942
  return isMobile ? setOpenMobile((value) => !value) : setOpen((value) => !value);
6934
6943
  }, [isMobile, setOpen]);
6935
- React24.useEffect(() => {
6944
+ React25.useEffect(() => {
6936
6945
  const handleKeyDown = (event) => {
6937
6946
  if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
6938
6947
  event.preventDefault();
@@ -6943,7 +6952,7 @@ var SidebarProvider = React24.forwardRef(
6943
6952
  return () => window.removeEventListener("keydown", handleKeyDown);
6944
6953
  }, [toggleSidebar]);
6945
6954
  const state = open ? "expanded" : "collapsed";
6946
- const contextValue = React24.useMemo(
6955
+ const contextValue = React25.useMemo(
6947
6956
  () => ({
6948
6957
  state,
6949
6958
  open,
@@ -6968,7 +6977,7 @@ var SidebarProvider = React24.forwardRef(
6968
6977
  }
6969
6978
  );
6970
6979
  SidebarProvider.displayName = "SidebarProvider";
6971
- var Sidebar = React24.forwardRef(
6980
+ var Sidebar = React25.forwardRef(
6972
6981
  ({
6973
6982
  side = "left",
6974
6983
  variant = "sidebar",
@@ -7062,7 +7071,7 @@ var Sidebar = React24.forwardRef(
7062
7071
  }
7063
7072
  );
7064
7073
  Sidebar.displayName = "Sidebar";
7065
- var SidebarTrigger = React24.forwardRef(({ className, onClick, icon, ...props }, ref) => {
7074
+ var SidebarTrigger = React25.forwardRef(({ className, onClick, icon, ...props }, ref) => {
7066
7075
  const { toggleSidebar, open, isMobile, openMobile } = useSidebar();
7067
7076
  return /* @__PURE__ */ jsxs58(
7068
7077
  Button,
@@ -7089,7 +7098,7 @@ var SidebarTrigger = React24.forwardRef(({ className, onClick, icon, ...props },
7089
7098
  );
7090
7099
  });
7091
7100
  SidebarTrigger.displayName = "SidebarTrigger";
7092
- var SidebarRail = React24.forwardRef(
7101
+ var SidebarRail = React25.forwardRef(
7093
7102
  ({ className, ...props }, ref) => {
7094
7103
  const { toggleSidebar } = useSidebar();
7095
7104
  return /* @__PURE__ */ jsx94(
@@ -7115,7 +7124,7 @@ var SidebarRail = React24.forwardRef(
7115
7124
  }
7116
7125
  );
7117
7126
  SidebarRail.displayName = "SidebarRail";
7118
- var SidebarInset = React24.forwardRef(
7127
+ var SidebarInset = React25.forwardRef(
7119
7128
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7120
7129
  "main",
7121
7130
  {
@@ -7130,7 +7139,7 @@ var SidebarInset = React24.forwardRef(
7130
7139
  )
7131
7140
  );
7132
7141
  SidebarInset.displayName = "SidebarInset";
7133
- var SidebarInput = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7142
+ var SidebarInput = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7134
7143
  Input,
7135
7144
  {
7136
7145
  ref,
@@ -7140,7 +7149,7 @@ var SidebarInput = React24.forwardRef(({ className, ...props }, ref) => /* @__PU
7140
7149
  }
7141
7150
  ));
7142
7151
  SidebarInput.displayName = "SidebarInput";
7143
- var SidebarHeader = React24.forwardRef(
7152
+ var SidebarHeader = React25.forwardRef(
7144
7153
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7145
7154
  "div",
7146
7155
  {
@@ -7152,7 +7161,7 @@ var SidebarHeader = React24.forwardRef(
7152
7161
  )
7153
7162
  );
7154
7163
  SidebarHeader.displayName = "SidebarHeader";
7155
- var SidebarFooter = React24.forwardRef(
7164
+ var SidebarFooter = React25.forwardRef(
7156
7165
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7157
7166
  "div",
7158
7167
  {
@@ -7164,7 +7173,7 @@ var SidebarFooter = React24.forwardRef(
7164
7173
  )
7165
7174
  );
7166
7175
  SidebarFooter.displayName = "SidebarFooter";
7167
- var SidebarSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7176
+ var SidebarSeparator = React25.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7168
7177
  Separator3,
7169
7178
  {
7170
7179
  ref,
@@ -7174,7 +7183,7 @@ var SidebarSeparator = React24.forwardRef(({ className, ...props }, ref) => /* @
7174
7183
  }
7175
7184
  ));
7176
7185
  SidebarSeparator.displayName = "SidebarSeparator";
7177
- var SidebarContent = React24.forwardRef(
7186
+ var SidebarContent = React25.forwardRef(
7178
7187
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7179
7188
  "div",
7180
7189
  {
@@ -7189,7 +7198,7 @@ var SidebarContent = React24.forwardRef(
7189
7198
  )
7190
7199
  );
7191
7200
  SidebarContent.displayName = "SidebarContent";
7192
- var SidebarGroup = React24.forwardRef(
7201
+ var SidebarGroup = React25.forwardRef(
7193
7202
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7194
7203
  "div",
7195
7204
  {
@@ -7201,7 +7210,7 @@ var SidebarGroup = React24.forwardRef(
7201
7210
  )
7202
7211
  );
7203
7212
  SidebarGroup.displayName = "SidebarGroup";
7204
- var SidebarGroupLabel = React24.forwardRef(({ className, asChild = false, ...props }, ref) => {
7213
+ var SidebarGroupLabel = React25.forwardRef(({ className, asChild = false, ...props }, ref) => {
7205
7214
  const Comp = asChild ? Slot4 : "div";
7206
7215
  return /* @__PURE__ */ jsx94(
7207
7216
  Comp,
@@ -7218,7 +7227,7 @@ var SidebarGroupLabel = React24.forwardRef(({ className, asChild = false, ...pro
7218
7227
  );
7219
7228
  });
7220
7229
  SidebarGroupLabel.displayName = "SidebarGroupLabel";
7221
- var SidebarGroupAction = React24.forwardRef(({ className, asChild = false, ...props }, ref) => {
7230
+ var SidebarGroupAction = React25.forwardRef(({ className, asChild = false, ...props }, ref) => {
7222
7231
  const Comp = asChild ? Slot4 : "button";
7223
7232
  return /* @__PURE__ */ jsx94(
7224
7233
  Comp,
@@ -7234,7 +7243,7 @@ var SidebarGroupAction = React24.forwardRef(({ className, asChild = false, ...pr
7234
7243
  );
7235
7244
  });
7236
7245
  SidebarGroupAction.displayName = "SidebarGroupAction";
7237
- var SidebarGroupContent = React24.forwardRef(
7246
+ var SidebarGroupContent = React25.forwardRef(
7238
7247
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7239
7248
  "div",
7240
7249
  {
@@ -7246,7 +7255,7 @@ var SidebarGroupContent = React24.forwardRef(
7246
7255
  )
7247
7256
  );
7248
7257
  SidebarGroupContent.displayName = "SidebarGroupContent";
7249
- var SidebarMenu = React24.forwardRef(
7258
+ var SidebarMenu = React25.forwardRef(
7250
7259
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7251
7260
  "ul",
7252
7261
  {
@@ -7258,7 +7267,7 @@ var SidebarMenu = React24.forwardRef(
7258
7267
  )
7259
7268
  );
7260
7269
  SidebarMenu.displayName = "SidebarMenu";
7261
- var SidebarMenuItem = React24.forwardRef(
7270
+ var SidebarMenuItem = React25.forwardRef(
7262
7271
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7263
7272
  "li",
7264
7273
  {
@@ -7290,7 +7299,7 @@ var sidebarMenuButtonVariants = cva11(
7290
7299
  }
7291
7300
  }
7292
7301
  );
7293
- var SidebarMenuButton = React24.forwardRef(
7302
+ var SidebarMenuButton = React25.forwardRef(
7294
7303
  ({
7295
7304
  asChild = false,
7296
7305
  isActive = false,
@@ -7336,7 +7345,7 @@ var SidebarMenuButton = React24.forwardRef(
7336
7345
  }
7337
7346
  );
7338
7347
  SidebarMenuButton.displayName = "SidebarMenuButton";
7339
- var SidebarMenuAction = React24.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
7348
+ var SidebarMenuAction = React25.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref) => {
7340
7349
  const Comp = asChild ? Slot4 : "button";
7341
7350
  return /* @__PURE__ */ jsx94(
7342
7351
  Comp,
@@ -7353,7 +7362,7 @@ var SidebarMenuAction = React24.forwardRef(({ className, asChild = false, showOn
7353
7362
  );
7354
7363
  });
7355
7364
  SidebarMenuAction.displayName = "SidebarMenuAction";
7356
- var SidebarMenuBadge = React24.forwardRef(
7365
+ var SidebarMenuBadge = React25.forwardRef(
7357
7366
  ({ className, ...props }, ref) => {
7358
7367
  const { open, isMobile, openMobile } = useSidebar();
7359
7368
  const isOpen = isMobile ? openMobile : open;
@@ -7373,8 +7382,8 @@ var SidebarMenuBadge = React24.forwardRef(
7373
7382
  }
7374
7383
  );
7375
7384
  SidebarMenuBadge.displayName = "SidebarMenuBadge";
7376
- var SidebarMenuSkeleton = React24.forwardRef(({ className, showIcon = false, ...props }, ref) => {
7377
- const width = React24.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
7385
+ var SidebarMenuSkeleton = React25.forwardRef(({ className, showIcon = false, ...props }, ref) => {
7386
+ const width = React25.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
7378
7387
  return /* @__PURE__ */ jsxs58(
7379
7388
  "div",
7380
7389
  {
@@ -7397,7 +7406,7 @@ var SidebarMenuSkeleton = React24.forwardRef(({ className, showIcon = false, ...
7397
7406
  );
7398
7407
  });
7399
7408
  SidebarMenuSkeleton.displayName = "SidebarMenuSkeleton";
7400
- var SidebarMenuSub = React24.forwardRef(
7409
+ var SidebarMenuSub = React25.forwardRef(
7401
7410
  ({ className, ...props }, ref) => /* @__PURE__ */ jsx94(
7402
7411
  "ul",
7403
7412
  {
@@ -7412,7 +7421,7 @@ var SidebarMenuSub = React24.forwardRef(
7412
7421
  )
7413
7422
  );
7414
7423
  SidebarMenuSub.displayName = "SidebarMenuSub";
7415
- var SidebarMenuSubItem = React24.forwardRef(
7424
+ var SidebarMenuSubItem = React25.forwardRef(
7416
7425
  ({ ...props }, ref) => /* @__PURE__ */ jsx94("li", { ref, ...props })
7417
7426
  );
7418
7427
  SidebarMenuSubItem.displayName = "SidebarMenuSubItem";
@@ -7436,7 +7445,7 @@ var sidebarMenuSubButtonVariants = cva11(
7436
7445
  }
7437
7446
  }
7438
7447
  );
7439
- var SidebarMenuSubButton = React24.forwardRef(
7448
+ var SidebarMenuSubButton = React25.forwardRef(
7440
7449
  ({
7441
7450
  asChild = false,
7442
7451
  isActive,
@@ -7466,9 +7475,9 @@ var VALUE_PART = 1;
7466
7475
  var getSidebarState = (stateName) => document.cookie.split("; ").find((row) => row.startsWith(`${stateName}=`))?.split("=")[VALUE_PART] === "true";
7467
7476
 
7468
7477
  // src/circular-loader/CircularLoader.tsx
7469
- import React25 from "react";
7478
+ import React26 from "react";
7470
7479
  import { jsx as jsx95, jsxs as jsxs59 } from "react/jsx-runtime";
7471
- var CircularLoader = React25.memo(
7480
+ var CircularLoader = React26.memo(
7472
7481
  ({ visible = true, height, width, position, label, className }) => {
7473
7482
  if (!visible) return null;
7474
7483
  return /* @__PURE__ */ jsxs59(
@@ -7858,9 +7867,9 @@ SwitchBlocksInternal.displayName = "SwitchBlocks";
7858
7867
  var SwitchBlocks = memo6(SwitchBlocksInternal);
7859
7868
 
7860
7869
  // src/switch-group/SwitchGroup.tsx
7861
- import * as React26 from "react";
7870
+ import * as React27 from "react";
7862
7871
  import { jsx as jsx102, jsxs as jsxs64 } from "react/jsx-runtime";
7863
- var SwitchGroup = React26.forwardRef(
7872
+ var SwitchGroup = React27.forwardRef(
7864
7873
  ({ options, value = [], onChange, disabled = false, className, error, ...props }, ref) => {
7865
7874
  const handleOptionChange = (optionValue, checked) => {
7866
7875
  if (!onChange) return;
@@ -8106,11 +8115,11 @@ var TASK_VARIANTS = {
8106
8115
  import { Toaster, toast as toast2 } from "sonner";
8107
8116
 
8108
8117
  // src/toaster/useUpdateToast.ts
8109
- import { useCallback as useCallback16, useRef as useRef17 } from "react";
8118
+ import { useCallback as useCallback15, useRef as useRef17 } from "react";
8110
8119
  import { toast } from "sonner";
8111
8120
  function useUpdateToast({ id }) {
8112
8121
  const toastIdRef = useRef17("");
8113
- const getToastOptions = useCallback16(
8122
+ const getToastOptions = useCallback15(
8114
8123
  (options) => ({
8115
8124
  id: toastIdRef.current,
8116
8125
  dismissible: false,
@@ -8142,7 +8151,7 @@ function useUpdateToast({ id }) {
8142
8151
  }
8143
8152
 
8144
8153
  // src/toggle-group/ToggleGroup.tsx
8145
- import * as React27 from "react";
8154
+ import * as React28 from "react";
8146
8155
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
8147
8156
 
8148
8157
  // src/toggle-group/style.ts
@@ -8176,12 +8185,12 @@ var toggleVariants = cva13(
8176
8185
 
8177
8186
  // src/toggle-group/ToggleGroup.tsx
8178
8187
  import { jsx as jsx107, jsxs as jsxs68 } from "react/jsx-runtime";
8179
- var ToggleGroupContext = React27.createContext({
8188
+ var ToggleGroupContext = React28.createContext({
8180
8189
  size: "default",
8181
8190
  variant: "default",
8182
8191
  theme: "default"
8183
8192
  });
8184
- var ToggleGroup = React27.forwardRef(({ className, variant, size, theme, children, ...props }, ref) => {
8193
+ var ToggleGroup = React28.forwardRef(({ className, variant, size, theme, children, ...props }, ref) => {
8185
8194
  const isTabVariant = variant === "tab";
8186
8195
  return /* @__PURE__ */ jsx107(
8187
8196
  ToggleGroupPrimitive.Root,
@@ -8198,8 +8207,8 @@ var ToggleGroup = React27.forwardRef(({ className, variant, size, theme, childre
8198
8207
  );
8199
8208
  });
8200
8209
  ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;
8201
- var ToggleGroupItem = React27.forwardRef(({ className, children, variant, size, theme, ...props }, ref) => {
8202
- const context = React27.useContext(ToggleGroupContext);
8210
+ var ToggleGroupItem = React28.forwardRef(({ className, children, variant, size, theme, ...props }, ref) => {
8211
+ const context = React28.useContext(ToggleGroupContext);
8203
8212
  const resolvedVariant = context.variant || variant;
8204
8213
  const isTabVariant = resolvedVariant === "tab";
8205
8214
  return /* @__PURE__ */ jsx107(
@@ -8334,7 +8343,7 @@ function TogglesInternal({
8334
8343
  var Toggles = forwardRef40(TogglesInternal);
8335
8344
 
8336
8345
  // src/text-field/TextField.tsx
8337
- import * as React28 from "react";
8346
+ import * as React29 from "react";
8338
8347
  import * as LabelPrimitive2 from "@radix-ui/react-label";
8339
8348
  import { cva as cva14 } from "class-variance-authority";
8340
8349
  import { useTranslation as useTranslation21 } from "react-i18next";
@@ -8428,7 +8437,7 @@ var floatingLabelClasses = [
8428
8437
  "peer-focus:to-[var(--text-field-bg-filled)]",
8429
8438
  "peer-focus:to-50%"
8430
8439
  ];
8431
- var TextField = React28.forwardRef(
8440
+ var TextField = React29.forwardRef(
8432
8441
  ({
8433
8442
  className,
8434
8443
  wrapperClassName,
@@ -8447,7 +8456,7 @@ var TextField = React28.forwardRef(
8447
8456
  }, ref) => {
8448
8457
  const { t } = useTranslation21();
8449
8458
  const hasError = Boolean(error);
8450
- const autoId = React28.useId();
8459
+ const autoId = React29.useId();
8451
8460
  const inputId = props.id || autoId;
8452
8461
  const inputClasses = cn(
8453
8462
  inputVariants({ variant, error: hasError, readOnly: Boolean(readOnly) }),
@@ -8680,11 +8689,11 @@ function WideButton({ className, disabled, ...props }) {
8680
8689
  }
8681
8690
 
8682
8691
  // src/datepicker/DatePicker.tsx
8683
- import * as React32 from "react";
8692
+ import * as React33 from "react";
8684
8693
  import { Calendar as Calendar2 } from "lucide-react";
8685
8694
 
8686
8695
  // src/drawer/Drawer.tsx
8687
- import * as React29 from "react";
8696
+ import * as React30 from "react";
8688
8697
  import * as DialogPrimitive2 from "@radix-ui/react-dialog";
8689
8698
  import Draggable from "react-draggable";
8690
8699
  import { jsx as jsx117, jsxs as jsxs74 } from "react/jsx-runtime";
@@ -8702,7 +8711,7 @@ function DrawerPortal({ ...props }) {
8702
8711
  function DrawerClose({ ...props }) {
8703
8712
  return /* @__PURE__ */ jsx117(DialogPrimitive2.Close, { "data-slot": "drawer-close", ...props });
8704
8713
  }
8705
- var DrawerOverlay = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8714
+ var DrawerOverlay = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8706
8715
  DialogPrimitive2.Overlay,
8707
8716
  {
8708
8717
  ref,
@@ -8716,7 +8725,7 @@ var DrawerOverlay = React29.forwardRef(({ className, ...props }, ref) => /* @__P
8716
8725
  ));
8717
8726
  DrawerOverlay.displayName = DialogPrimitive2.Overlay.displayName;
8718
8727
  var DrawerOverlayClasses = "fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=closed]:animate-out data-[state=closed]:fade-out-0";
8719
- var DrawerContent = React29.forwardRef(
8728
+ var DrawerContent = React30.forwardRef(
8720
8729
  ({
8721
8730
  className,
8722
8731
  children,
@@ -8728,19 +8737,19 @@ var DrawerContent = React29.forwardRef(
8728
8737
  ...props
8729
8738
  }, ref) => {
8730
8739
  const finalContainer = container || getCustomContainer() || void 0;
8731
- const nodeRef = React29.useRef(null);
8732
- const [dragOffsetY, setDragOffsetY] = React29.useState(0);
8740
+ const nodeRef = React30.useRef(null);
8741
+ const [dragOffsetY, setDragOffsetY] = React30.useState(0);
8733
8742
  const overlayOpacity = Math.max(
8734
8743
  DRAWER_MIN_OVERLAY_OPACITY,
8735
8744
  1 - dragOffsetY / (DRAWER_CLOSE_THRESHOLD * 2)
8736
8745
  );
8737
- const handleDrag = React29.useCallback(
8746
+ const handleDrag = React30.useCallback(
8738
8747
  (_event, data) => {
8739
8748
  setDragOffsetY(Math.max(0, data.y));
8740
8749
  },
8741
8750
  []
8742
8751
  );
8743
- const handleStop = React29.useCallback(
8752
+ const handleStop = React30.useCallback(
8744
8753
  (_event, data) => {
8745
8754
  if (data.y > DRAWER_CLOSE_THRESHOLD) {
8746
8755
  setDragOffsetY(0);
@@ -8831,7 +8840,7 @@ var DrawerHeader = ({ className, ...props }) => /* @__PURE__ */ jsx117(
8831
8840
  DrawerHeader.displayName = "DrawerHeader";
8832
8841
  var DrawerFooter = ({ className, ...props }) => /* @__PURE__ */ jsx117("div", { className: cn("flex flex-col gap-2 p-5", className), ...props });
8833
8842
  DrawerFooter.displayName = "DrawerFooter";
8834
- var DrawerTitle = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8843
+ var DrawerTitle = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8835
8844
  DialogPrimitive2.Title,
8836
8845
  {
8837
8846
  ref,
@@ -8841,7 +8850,7 @@ var DrawerTitle = React29.forwardRef(({ className, ...props }, ref) => /* @__PUR
8841
8850
  }
8842
8851
  ));
8843
8852
  DrawerTitle.displayName = DialogPrimitive2.Title.displayName;
8844
- var DrawerDescription = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8853
+ var DrawerDescription = React30.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx117(
8845
8854
  DialogPrimitive2.Description,
8846
8855
  {
8847
8856
  ref,
@@ -8853,7 +8862,7 @@ var DrawerDescription = React29.forwardRef(({ className, ...props }, ref) => /*
8853
8862
  DrawerDescription.displayName = DialogPrimitive2.Description.displayName;
8854
8863
 
8855
8864
  // src/datepicker/useDatePickerWheel.ts
8856
- import * as React30 from "react";
8865
+ import * as React31 from "react";
8857
8866
 
8858
8867
  // src/datepicker/datePicker.utils.ts
8859
8868
  var DISPLAY_PAD_LENGTH = 2;
@@ -9004,21 +9013,21 @@ function useDatePickerWheel({
9004
9013
  minDate,
9005
9014
  maxDate
9006
9015
  }) {
9007
- const years = React30.useMemo(() => getYearRange(minDate, maxDate), [maxDate, minDate]);
9008
- const [draftDate, setDraftDate] = React30.useState(
9016
+ const years = React31.useMemo(() => getYearRange(minDate, maxDate), [maxDate, minDate]);
9017
+ const [draftDate, setDraftDate] = React31.useState(
9009
9018
  () => resolveInitialDate({ value, defaultValue, minDate, maxDate })
9010
9019
  );
9011
9020
  const draftYear = draftDate.getFullYear();
9012
9021
  const draftMonth = draftDate.getMonth();
9013
- const [monthScrollTop, setMonthScrollTop] = React30.useState(0);
9014
- const [dayScrollTop, setDayScrollTop] = React30.useState(0);
9015
- const [yearScrollTop, setYearScrollTop] = React30.useState(0);
9016
- const monthListRef = React30.useRef(null);
9017
- const dayListRef = React30.useRef(null);
9018
- const yearListRef = React30.useRef(null);
9019
- const settleTimeoutsRef = React30.useRef({});
9020
- const animationFramesRef = React30.useRef({});
9021
- const columnRefs = React30.useMemo(
9022
+ const [monthScrollTop, setMonthScrollTop] = React31.useState(0);
9023
+ const [dayScrollTop, setDayScrollTop] = React31.useState(0);
9024
+ const [yearScrollTop, setYearScrollTop] = React31.useState(0);
9025
+ const monthListRef = React31.useRef(null);
9026
+ const dayListRef = React31.useRef(null);
9027
+ const yearListRef = React31.useRef(null);
9028
+ const settleTimeoutsRef = React31.useRef({});
9029
+ const animationFramesRef = React31.useRef({});
9030
+ const columnRefs = React31.useMemo(
9022
9031
  () => ({
9023
9032
  month: monthListRef,
9024
9033
  day: dayListRef,
@@ -9026,7 +9035,7 @@ function useDatePickerWheel({
9026
9035
  }),
9027
9036
  []
9028
9037
  );
9029
- const setColumnScrollTop = React30.useCallback(
9038
+ const setColumnScrollTop = React31.useCallback(
9030
9039
  (column, nextScrollTop) => {
9031
9040
  if (column === "month") {
9032
9041
  setMonthScrollTop(nextScrollTop);
@@ -9040,19 +9049,19 @@ function useDatePickerWheel({
9040
9049
  },
9041
9050
  []
9042
9051
  );
9043
- const clearSettleTimeout = React30.useCallback((column) => {
9052
+ const clearSettleTimeout = React31.useCallback((column) => {
9044
9053
  const timeoutId = settleTimeoutsRef.current[column];
9045
9054
  if (timeoutId === void 0) return;
9046
9055
  window.clearTimeout(timeoutId);
9047
9056
  delete settleTimeoutsRef.current[column];
9048
9057
  }, []);
9049
- const clearAnimationFrame = React30.useCallback((column) => {
9058
+ const clearAnimationFrame = React31.useCallback((column) => {
9050
9059
  const frameId = animationFramesRef.current[column];
9051
9060
  if (frameId === void 0) return;
9052
9061
  window.cancelAnimationFrame(frameId);
9053
9062
  delete animationFramesRef.current[column];
9054
9063
  }, []);
9055
- React30.useEffect(
9064
+ React31.useEffect(
9056
9065
  () => () => {
9057
9066
  ["month", "day", "year"].forEach((column) => {
9058
9067
  clearSettleTimeout(column);
@@ -9061,22 +9070,22 @@ function useDatePickerWheel({
9061
9070
  },
9062
9071
  [clearAnimationFrame, clearSettleTimeout]
9063
9072
  );
9064
- React30.useEffect(() => {
9073
+ React31.useEffect(() => {
9065
9074
  if (isOpen) return;
9066
9075
  setDraftDate(resolveInitialDate({ value, defaultValue, minDate, maxDate }));
9067
9076
  }, [defaultValue, isOpen, maxDate, minDate, value]);
9068
- const months = React30.useMemo(
9077
+ const months = React31.useMemo(
9069
9078
  () => getAllowedMonths(draftYear, minDate, maxDate),
9070
9079
  [draftYear, maxDate, minDate]
9071
9080
  );
9072
- const days = React30.useMemo(
9081
+ const days = React31.useMemo(
9073
9082
  () => getAllowedDays(draftYear, draftMonth, minDate, maxDate),
9074
9083
  [draftMonth, draftYear, maxDate, minDate]
9075
9084
  );
9076
9085
  const monthIndex = months.findIndex((month) => month === draftMonth);
9077
9086
  const dayIndex = days.findIndex((day) => day === draftDate.getDate());
9078
9087
  const yearIndex = years.findIndex((year) => year === draftYear);
9079
- const syncScrollPositions = React30.useCallback(
9088
+ const syncScrollPositions = React31.useCallback(
9080
9089
  (nextDate, behavior = "auto") => {
9081
9090
  const nextMonths = getAllowedMonths(nextDate.getFullYear(), minDate, maxDate);
9082
9091
  const nextMonthIndex = nextMonths.findIndex((month) => month === nextDate.getMonth());
@@ -9100,7 +9109,7 @@ function useDatePickerWheel({
9100
9109
  },
9101
9110
  [maxDate, minDate, years]
9102
9111
  );
9103
- React30.useLayoutEffect(() => {
9112
+ React31.useLayoutEffect(() => {
9104
9113
  if (!isOpen) return;
9105
9114
  const nextDate = resolveInitialDate({ value, defaultValue, minDate, maxDate });
9106
9115
  setDraftDate(nextDate);
@@ -9111,7 +9120,7 @@ function useDatePickerWheel({
9111
9120
  window.cancelAnimationFrame(frameId);
9112
9121
  };
9113
9122
  }, [defaultValue, isOpen, maxDate, minDate, syncScrollPositions, value]);
9114
- const updateDraftDate = React30.useCallback(
9123
+ const updateDraftDate = React31.useCallback(
9115
9124
  (column, targetIndex, behavior = "smooth") => {
9116
9125
  const currentDate = stripTime(draftDate);
9117
9126
  const currentYear = currentDate.getFullYear();
@@ -9156,7 +9165,7 @@ function useDatePickerWheel({
9156
9165
  },
9157
9166
  [days, draftDate, maxDate, minDate, months, syncScrollPositions, years]
9158
9167
  );
9159
- const settleColumnScroll = React30.useCallback(
9168
+ const settleColumnScroll = React31.useCallback(
9160
9169
  (column) => {
9161
9170
  const list = columnRefs[column].current;
9162
9171
  if (!list) return;
@@ -9169,7 +9178,7 @@ function useDatePickerWheel({
9169
9178
  },
9170
9179
  [columnRefs, days.length, months.length, updateDraftDate, years.length]
9171
9180
  );
9172
- const scheduleScrollSettle = React30.useCallback(
9181
+ const scheduleScrollSettle = React31.useCallback(
9173
9182
  (column) => {
9174
9183
  clearSettleTimeout(column);
9175
9184
  settleTimeoutsRef.current[column] = window.setTimeout(() => {
@@ -9178,7 +9187,7 @@ function useDatePickerWheel({
9178
9187
  },
9179
9188
  [clearSettleTimeout, settleColumnScroll]
9180
9189
  );
9181
- const handleColumnScroll = React30.useCallback(
9190
+ const handleColumnScroll = React31.useCallback(
9182
9191
  (column) => {
9183
9192
  const list = columnRefs[column].current;
9184
9193
  if (!list) return;
@@ -9192,13 +9201,13 @@ function useDatePickerWheel({
9192
9201
  },
9193
9202
  [clearAnimationFrame, columnRefs, scheduleScrollSettle, setColumnScrollTop]
9194
9203
  );
9195
- const handleOptionSelect = React30.useCallback(
9204
+ const handleOptionSelect = React31.useCallback(
9196
9205
  (column, targetIndex) => {
9197
9206
  updateDraftDate(column, targetIndex, "smooth");
9198
9207
  },
9199
9208
  [updateDraftDate]
9200
9209
  );
9201
- const focusAdjacentColumn = React30.useCallback(
9210
+ const focusAdjacentColumn = React31.useCallback(
9202
9211
  (column, direction) => {
9203
9212
  const order = ["month", "day", "year"];
9204
9213
  const currentIndex = order.indexOf(column);
@@ -9208,7 +9217,7 @@ function useDatePickerWheel({
9208
9217
  },
9209
9218
  [columnRefs]
9210
9219
  );
9211
- const handleColumnKeyDown = React30.useCallback(
9220
+ const handleColumnKeyDown = React31.useCallback(
9212
9221
  (column, event) => {
9213
9222
  const currentIndex = column === "month" ? monthIndex : column === "day" ? dayIndex : yearIndex;
9214
9223
  const maxIndex = column === "month" ? months.length - 1 : column === "day" ? days.length - 1 : years.length - 1;
@@ -9512,7 +9521,7 @@ var DEVICE = {
9512
9521
  };
9513
9522
 
9514
9523
  // src/field-trigger/FieldTrigger.tsx
9515
- import * as React31 from "react";
9524
+ import * as React32 from "react";
9516
9525
  import { Loader2 as Loader25 } from "lucide-react";
9517
9526
  import { useTranslation as useTranslation22 } from "react-i18next";
9518
9527
 
@@ -9556,7 +9565,7 @@ function FieldErrorMessage({
9556
9565
 
9557
9566
  // src/field-trigger/FieldTrigger.tsx
9558
9567
  import { Fragment as Fragment10, jsx as jsx121, jsxs as jsxs78 } from "react/jsx-runtime";
9559
- var FieldTrigger = React31.forwardRef(
9568
+ var FieldTrigger = React32.forwardRef(
9560
9569
  ({
9561
9570
  as = "button",
9562
9571
  variant = "airbnb",
@@ -9723,7 +9732,7 @@ FieldTrigger.displayName = "FieldTrigger";
9723
9732
  // src/datepicker/DatePicker.tsx
9724
9733
  import { jsx as jsx122, jsxs as jsxs79 } from "react/jsx-runtime";
9725
9734
  var DEFAULT_MIN_DATE = new Date(1920, 0, 1);
9726
- var DatePicker = React32.forwardRef(
9735
+ var DatePicker = React33.forwardRef(
9727
9736
  ({
9728
9737
  variant = "default",
9729
9738
  label,
@@ -9749,24 +9758,24 @@ var DatePicker = React32.forwardRef(
9749
9758
  formatValue = formatDateValue
9750
9759
  }, ref) => {
9751
9760
  const { isMatch: isMobile } = useScreenResize(DEVICE.mobileXL);
9752
- const [isOpen, setIsOpen] = React32.useState(false);
9753
- const triggerId = React32.useId();
9754
- const pickerId = React32.useId();
9755
- const labelId = React32.useId();
9756
- const valueId = React32.useId();
9757
- const helperTextId = React32.useId();
9758
- const errorId = React32.useId();
9759
- const internalRef = React32.useRef(null);
9761
+ const [isOpen, setIsOpen] = React33.useState(false);
9762
+ const triggerId = React33.useId();
9763
+ const pickerId = React33.useId();
9764
+ const labelId = React33.useId();
9765
+ const valueId = React33.useId();
9766
+ const helperTextId = React33.useId();
9767
+ const errorId = React33.useId();
9768
+ const internalRef = React33.useRef(null);
9760
9769
  const combinedRef = useCombinedRef(ref, internalRef);
9761
- const monthLabels = React32.useMemo(() => getMonthLabels(locale), [locale]);
9762
- const resolvedMinDate = React32.useMemo(() => minDate ?? DEFAULT_MIN_DATE, [minDate]);
9763
- const resolvedMaxDate = React32.useMemo(() => maxDate ?? /* @__PURE__ */ new Date(), [maxDate]);
9764
- const normalizedValue = React32.useMemo(() => normalizeDateValue(value), [value]);
9765
- const normalizedDefaultValue = React32.useMemo(
9770
+ const monthLabels = React33.useMemo(() => getMonthLabels(locale), [locale]);
9771
+ const resolvedMinDate = React33.useMemo(() => minDate ?? DEFAULT_MIN_DATE, [minDate]);
9772
+ const resolvedMaxDate = React33.useMemo(() => maxDate ?? /* @__PURE__ */ new Date(), [maxDate]);
9773
+ const normalizedValue = React33.useMemo(() => normalizeDateValue(value), [value]);
9774
+ const normalizedDefaultValue = React33.useMemo(
9766
9775
  () => normalizeDateValue(defaultValue),
9767
9776
  [defaultValue]
9768
9777
  );
9769
- const resolvedValue = React32.useMemo(
9778
+ const resolvedValue = React33.useMemo(
9770
9779
  () => normalizedValue ? clampDate(normalizedValue, resolvedMinDate, resolvedMaxDate) : null,
9771
9780
  [normalizedValue, resolvedMaxDate, resolvedMinDate]
9772
9781
  );
@@ -9797,7 +9806,7 @@ var DatePicker = React32.forwardRef(
9797
9806
  minDate: resolvedMinDate,
9798
9807
  maxDate: resolvedMaxDate
9799
9808
  });
9800
- const handleOpenChange = React32.useCallback(
9809
+ const handleOpenChange = React33.useCallback(
9801
9810
  (nextOpen) => {
9802
9811
  if (isBlocked && nextOpen) return;
9803
9812
  setIsOpen(nextOpen);
@@ -9807,7 +9816,7 @@ var DatePicker = React32.forwardRef(
9807
9816
  },
9808
9817
  [isBlocked]
9809
9818
  );
9810
- const handleDone = React32.useCallback(() => {
9819
+ const handleDone = React33.useCallback(() => {
9811
9820
  if (isBlocked) return;
9812
9821
  onChange(clampDate(draftDate, resolvedMinDate, resolvedMaxDate));
9813
9822
  handleOpenChange(false);
@@ -9819,11 +9828,11 @@ var DatePicker = React32.forwardRef(
9819
9828
  resolvedMaxDate,
9820
9829
  resolvedMinDate
9821
9830
  ]);
9822
- const handleTriggerClick = React32.useCallback(() => {
9831
+ const handleTriggerClick = React33.useCallback(() => {
9823
9832
  if (isBlocked) return;
9824
9833
  setIsOpen(true);
9825
9834
  }, [isBlocked]);
9826
- const handleTriggerKeyDown = React32.useCallback(
9835
+ const handleTriggerKeyDown = React33.useCallback(
9827
9836
  (event) => {
9828
9837
  if (isBlocked) return;
9829
9838
  if (event.key === "ArrowDown" || event.key === "ArrowUp" || event.key === "Enter" || event.key === " ") {
@@ -9833,7 +9842,7 @@ var DatePicker = React32.forwardRef(
9833
9842
  },
9834
9843
  [isBlocked]
9835
9844
  );
9836
- React32.useEffect(() => {
9845
+ React33.useEffect(() => {
9837
9846
  if (isBlocked) {
9838
9847
  setIsOpen(false);
9839
9848
  }
@@ -10015,10 +10024,10 @@ function ResponsiveSheet({
10015
10024
  }
10016
10025
 
10017
10026
  // src/airbnb/input/Input.tsx
10018
- import * as React33 from "react";
10027
+ import * as React34 from "react";
10019
10028
  import { jsx as jsx124 } from "react/jsx-runtime";
10020
10029
  var getInputValue = (value) => value != null ? String(value) : "";
10021
- var AirbnbInput = React33.forwardRef(
10030
+ var AirbnbInput = React34.forwardRef(
10022
10031
  ({
10023
10032
  variant = "default",
10024
10033
  label,
@@ -10047,15 +10056,15 @@ var AirbnbInput = React33.forwardRef(
10047
10056
  placeholder,
10048
10057
  ...props
10049
10058
  }, ref) => {
10050
- const generatedId = React33.useId();
10051
- const inputRef = React33.useRef(null);
10059
+ const generatedId = React34.useId();
10060
+ const inputRef = React34.useRef(null);
10052
10061
  const inputId = id ?? generatedId;
10053
10062
  const fieldId = `${inputId}-field`;
10054
10063
  const labelId = `${inputId}-label`;
10055
10064
  const errorId = `${inputId}-error`;
10056
10065
  const accessibleLabel = placeholder ?? label;
10057
- const [isFocused, setIsFocused] = React33.useState(false);
10058
- const [currentValue, setCurrentValue] = React33.useState(
10066
+ const [isFocused, setIsFocused] = React34.useState(false);
10067
+ const [currentValue, setCurrentValue] = React34.useState(
10059
10068
  () => value != null ? getInputValue(value) : getInputValue(defaultValue)
10060
10069
  );
10061
10070
  const resolvedValue = value != null ? getInputValue(value) : currentValue;
@@ -10065,11 +10074,11 @@ var AirbnbInput = React33.forwardRef(
10065
10074
  const triggerError = error ?? invalid;
10066
10075
  const hasLabelMeta = Boolean(optional) || Boolean(tooltip);
10067
10076
  const isBlocked = Boolean(disabled) || Boolean(loading);
10068
- React33.useLayoutEffect(() => {
10077
+ React34.useLayoutEffect(() => {
10069
10078
  const nextValue = value != null ? getInputValue(value) : getInputValue(inputRef.current?.value);
10070
10079
  setCurrentValue((prevValue) => prevValue === nextValue ? prevValue : nextValue);
10071
10080
  }, [value]);
10072
- const setRefs = React33.useCallback(
10081
+ const setRefs = React34.useCallback(
10073
10082
  (node) => {
10074
10083
  inputRef.current = node;
10075
10084
  if (node && value == null) {
@@ -10167,11 +10176,11 @@ var AirbnbInput = React33.forwardRef(
10167
10176
  AirbnbInput.displayName = "Input";
10168
10177
 
10169
10178
  // src/airbnb/phone-field/PhoneField.tsx
10170
- import * as React39 from "react";
10179
+ import * as React40 from "react";
10171
10180
  import { ChevronDown as ChevronDown2 } from "lucide-react";
10172
10181
 
10173
10182
  // src/airbnb/select/Select.tsx
10174
- import * as React38 from "react";
10183
+ import * as React39 from "react";
10175
10184
 
10176
10185
  // src/airbnb/select/SelectDesktopMenu.tsx
10177
10186
  import { jsx as jsx125, jsxs as jsxs81 } from "react/jsx-runtime";
@@ -10516,10 +10525,10 @@ function SelectMobileContent({
10516
10525
  }
10517
10526
 
10518
10527
  // src/airbnb/select/SelectTrigger.tsx
10519
- import * as React34 from "react";
10528
+ import * as React35 from "react";
10520
10529
  import { ChevronDown } from "lucide-react";
10521
10530
  import { jsx as jsx129 } from "react/jsx-runtime";
10522
- var SelectTrigger2 = React34.forwardRef(
10531
+ var SelectTrigger2 = React35.forwardRef(
10523
10532
  ({
10524
10533
  id,
10525
10534
  open,
@@ -10586,7 +10595,7 @@ var SelectTrigger2 = React34.forwardRef(
10586
10595
  SelectTrigger2.displayName = "SelectTrigger";
10587
10596
 
10588
10597
  // src/airbnb/select/useDesktopSelect.ts
10589
- import * as React35 from "react";
10598
+ import * as React36 from "react";
10590
10599
  function useDesktopSelect({
10591
10600
  isMobile,
10592
10601
  isOpen,
@@ -10595,12 +10604,12 @@ function useDesktopSelect({
10595
10604
  disabled,
10596
10605
  onChange
10597
10606
  }) {
10598
- const [highlightedIndex, setHighlightedIndex] = React35.useState(-1);
10599
- const triggerRef = React35.useRef(null);
10600
- const listRef = React35.useRef(null);
10601
- const optionRefs = React35.useRef([]);
10607
+ const [highlightedIndex, setHighlightedIndex] = React36.useState(-1);
10608
+ const triggerRef = React36.useRef(null);
10609
+ const listRef = React36.useRef(null);
10610
+ const optionRefs = React36.useRef([]);
10602
10611
  const selectedIndex = getOptionIndex(options, value);
10603
- React35.useEffect(() => {
10612
+ React36.useEffect(() => {
10604
10613
  if (!isOpen || isMobile) return;
10605
10614
  setHighlightedIndex((currentIndex) => {
10606
10615
  if (currentIndex >= 0) {
@@ -10615,34 +10624,34 @@ function useDesktopSelect({
10615
10624
  window.cancelAnimationFrame(frameId);
10616
10625
  };
10617
10626
  }, [isMobile, isOpen, options, selectedIndex]);
10618
- React35.useEffect(() => {
10627
+ React36.useEffect(() => {
10619
10628
  if (!isOpen || isMobile || highlightedIndex < 0) return;
10620
10629
  optionRefs.current[highlightedIndex]?.scrollIntoView({
10621
10630
  block: "nearest"
10622
10631
  });
10623
10632
  }, [highlightedIndex, isMobile, isOpen]);
10624
- React35.useEffect(() => {
10633
+ React36.useEffect(() => {
10625
10634
  if (isOpen) return;
10626
10635
  setHighlightedIndex(-1);
10627
10636
  }, [isOpen]);
10628
- const focusTrigger = React35.useCallback(() => {
10637
+ const focusTrigger = React36.useCallback(() => {
10629
10638
  triggerRef.current?.focus();
10630
10639
  }, []);
10631
- const handleSelect = React35.useCallback(
10640
+ const handleSelect = React36.useCallback(
10632
10641
  (option) => {
10633
10642
  if (option.isDisabled || disabled) return;
10634
10643
  onChange(option);
10635
10644
  },
10636
10645
  [disabled, onChange]
10637
10646
  );
10638
- const openMenu = React35.useCallback(
10647
+ const openMenu = React36.useCallback(
10639
10648
  (targetIndex) => {
10640
10649
  const fallbackIndex = selectedIndex >= 0 ? selectedIndex : getFirstEnabledOptionIndex(options);
10641
10650
  setHighlightedIndex(targetIndex ?? fallbackIndex);
10642
10651
  },
10643
10652
  [options, selectedIndex]
10644
10653
  );
10645
- const handleTriggerKeyDown = React35.useCallback(
10654
+ const handleTriggerKeyDown = React36.useCallback(
10646
10655
  (event, onOpen) => {
10647
10656
  if (disabled) return;
10648
10657
  if (event.key === "ArrowDown") {
@@ -10667,7 +10676,7 @@ function useDesktopSelect({
10667
10676
  },
10668
10677
  [disabled, openMenu, options, selectedIndex]
10669
10678
  );
10670
- const handleMenuKeyDown = React35.useCallback(
10679
+ const handleMenuKeyDown = React36.useCallback(
10671
10680
  (event, onClose) => {
10672
10681
  if (event.key === "Escape") {
10673
10682
  event.preventDefault();
@@ -10717,7 +10726,7 @@ function useDesktopSelect({
10717
10726
  },
10718
10727
  [focusTrigger, highlightedIndex, onChange, options]
10719
10728
  );
10720
- const setOptionRef = React35.useCallback(
10729
+ const setOptionRef = React36.useCallback(
10721
10730
  (index, node) => {
10722
10731
  optionRefs.current[index] = node;
10723
10732
  },
@@ -10737,23 +10746,23 @@ function useDesktopSelect({
10737
10746
  }
10738
10747
 
10739
10748
  // src/airbnb/select/useMobileSelectWheel.ts
10740
- import * as React36 from "react";
10749
+ import * as React37 from "react";
10741
10750
  function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10742
- const [pendingValue, setPendingValue] = React36.useState(
10751
+ const [pendingValue, setPendingValue] = React37.useState(
10743
10752
  value ?? null
10744
10753
  );
10745
- const [mobileScrollTop, setMobileScrollTop] = React36.useState(0);
10746
- const mobileListRef = React36.useRef(null);
10747
- const scrollSettleTimeoutRef = React36.useRef(null);
10748
- const scrollAnimationFrameRef = React36.useRef(null);
10749
- const getTargetIndex = React36.useCallback(
10754
+ const [mobileScrollTop, setMobileScrollTop] = React37.useState(0);
10755
+ const mobileListRef = React37.useRef(null);
10756
+ const scrollSettleTimeoutRef = React37.useRef(null);
10757
+ const scrollAnimationFrameRef = React37.useRef(null);
10758
+ const getTargetIndex = React37.useCallback(
10750
10759
  (targetValue) => {
10751
10760
  const selectedIndex = getOptionIndex(options, targetValue);
10752
10761
  return selectedIndex >= 0 ? selectedIndex : getFirstEnabledOptionIndex(options);
10753
10762
  },
10754
10763
  [options]
10755
10764
  );
10756
- const syncScrollPosition = React36.useCallback(
10765
+ const syncScrollPosition = React37.useCallback(
10757
10766
  (targetValue, behavior = "instant") => {
10758
10767
  const targetIndex = getTargetIndex(targetValue);
10759
10768
  if (targetIndex < 0) return;
@@ -10772,27 +10781,27 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10772
10781
  },
10773
10782
  [getTargetIndex, options]
10774
10783
  );
10775
- const clearScrollSettleTimeout = React36.useCallback(() => {
10784
+ const clearScrollSettleTimeout = React37.useCallback(() => {
10776
10785
  if (scrollSettleTimeoutRef.current === null) return;
10777
10786
  window.clearTimeout(scrollSettleTimeoutRef.current);
10778
10787
  scrollSettleTimeoutRef.current = null;
10779
10788
  }, []);
10780
- const clearScrollAnimationFrame = React36.useCallback(() => {
10789
+ const clearScrollAnimationFrame = React37.useCallback(() => {
10781
10790
  if (scrollAnimationFrameRef.current === null) return;
10782
10791
  window.cancelAnimationFrame(scrollAnimationFrameRef.current);
10783
10792
  scrollAnimationFrameRef.current = null;
10784
10793
  }, []);
10785
- React36.useEffect(
10794
+ React37.useEffect(
10786
10795
  () => () => {
10787
10796
  clearScrollSettleTimeout();
10788
10797
  clearScrollAnimationFrame();
10789
10798
  },
10790
10799
  [clearScrollAnimationFrame, clearScrollSettleTimeout]
10791
10800
  );
10792
- React36.useEffect(() => {
10801
+ React37.useEffect(() => {
10793
10802
  setPendingValue(value ?? null);
10794
10803
  }, [value]);
10795
- React36.useLayoutEffect(() => {
10804
+ React37.useLayoutEffect(() => {
10796
10805
  if (!isMobile || !isOpen) return;
10797
10806
  const frameId = window.requestAnimationFrame(() => {
10798
10807
  syncScrollPosition(value ?? null, "instant");
@@ -10801,7 +10810,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10801
10810
  window.cancelAnimationFrame(frameId);
10802
10811
  };
10803
10812
  }, [isMobile, isOpen, syncScrollPosition, value]);
10804
- const settleScroll = React36.useCallback(() => {
10813
+ const settleScroll = React37.useCallback(() => {
10805
10814
  if (!mobileListRef.current) return;
10806
10815
  const nextIndex = Math.round(mobileListRef.current.scrollTop / MOBILE_OPTION_HEIGHT);
10807
10816
  const nextOption = options[nextIndex];
@@ -10813,13 +10822,13 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10813
10822
  }
10814
10823
  setPendingValue(nextOption);
10815
10824
  }, [options, pendingValue]);
10816
- const scheduleScrollSettle = React36.useCallback(() => {
10825
+ const scheduleScrollSettle = React37.useCallback(() => {
10817
10826
  clearScrollSettleTimeout();
10818
10827
  scrollSettleTimeoutRef.current = window.setTimeout(() => {
10819
10828
  settleScroll();
10820
10829
  }, MOBILE_SCROLL_SETTLE_DELAY);
10821
10830
  }, [clearScrollSettleTimeout, settleScroll]);
10822
- const handleScroll = React36.useCallback(() => {
10831
+ const handleScroll = React37.useCallback(() => {
10823
10832
  if (!mobileListRef.current) return;
10824
10833
  const nextScrollTop = mobileListRef.current.scrollTop;
10825
10834
  clearScrollAnimationFrame();
@@ -10829,7 +10838,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10829
10838
  });
10830
10839
  scheduleScrollSettle();
10831
10840
  }, [clearScrollAnimationFrame, scheduleScrollSettle]);
10832
- const focusOptionByIndex = React36.useCallback(
10841
+ const focusOptionByIndex = React37.useCallback(
10833
10842
  (index, behavior = "instant", updatePendingImmediately = behavior === "instant") => {
10834
10843
  if (!mobileListRef.current || index < 0 || index >= options.length) return;
10835
10844
  const option = options[index];
@@ -10847,7 +10856,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10847
10856
  },
10848
10857
  [options, scheduleScrollSettle]
10849
10858
  );
10850
- const handleOptionClick = React36.useCallback(
10859
+ const handleOptionClick = React37.useCallback(
10851
10860
  (option) => {
10852
10861
  if (!mobileListRef.current || disabled || option.isDisabled) return;
10853
10862
  const optionIndex = getOptionIndex(options, option);
@@ -10856,7 +10865,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10856
10865
  },
10857
10866
  [disabled, focusOptionByIndex, options]
10858
10867
  );
10859
- const moveByStep = React36.useCallback(
10868
+ const moveByStep = React37.useCallback(
10860
10869
  (step) => {
10861
10870
  const currentIndex = getOptionIndex(options, pendingValue);
10862
10871
  const fallbackIndex = step === 1 ? getFirstEnabledOptionIndex(options) : getLastEnabledOptionIndex(options);
@@ -10868,7 +10877,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10868
10877
  },
10869
10878
  [focusOptionByIndex, options, pendingValue]
10870
10879
  );
10871
- const moveToBoundary = React36.useCallback(
10880
+ const moveToBoundary = React37.useCallback(
10872
10881
  (boundary) => {
10873
10882
  const targetIndex = boundary === "start" ? getFirstEnabledOptionIndex(options) : getLastEnabledOptionIndex(options);
10874
10883
  if (targetIndex >= 0) {
@@ -10877,7 +10886,7 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10877
10886
  },
10878
10887
  [focusOptionByIndex, options]
10879
10888
  );
10880
- const syncPendingValue = React36.useCallback(
10889
+ const syncPendingValue = React37.useCallback(
10881
10890
  (nextValue) => {
10882
10891
  const normalizedValue = nextValue ?? null;
10883
10892
  const matchedIndex = getOptionIndex(options, normalizedValue);
@@ -10905,9 +10914,9 @@ function useMobileSelectWheel({ isMobile, isOpen, options, value, disabled }) {
10905
10914
  }
10906
10915
 
10907
10916
  // src/airbnb/select/useSelectIds.ts
10908
- import * as React37 from "react";
10917
+ import * as React38 from "react";
10909
10918
  function useSelectIds({ name, hasValue, error, hideErrorMessage }) {
10910
- const reactId = React37.useId().replace(/:/g, "");
10919
+ const reactId = React38.useId().replace(/:/g, "");
10911
10920
  const baseId = name ? `select-${name}` : `select-${reactId}`;
10912
10921
  const triggerId = `${baseId}-trigger`;
10913
10922
  const labelId = `${baseId}-label`;
@@ -10917,7 +10926,7 @@ function useSelectIds({ name, hasValue, error, hideErrorMessage }) {
10917
10926
  const listboxId = `${baseId}-listbox`;
10918
10927
  const describedErrorId = error && !hideErrorMessage ? errorId : void 0;
10919
10928
  const describedBy = [!hasValue ? helperTextId : null, describedErrorId].filter(Boolean).join(" ") || void 0;
10920
- const getOptionId2 = React37.useCallback(
10929
+ const getOptionId2 = React38.useCallback(
10921
10930
  (index) => `${baseId}-option-${index}`,
10922
10931
  [baseId]
10923
10932
  );
@@ -10936,7 +10945,7 @@ function useSelectIds({ name, hasValue, error, hideErrorMessage }) {
10936
10945
 
10937
10946
  // src/airbnb/select/Select.tsx
10938
10947
  import { jsx as jsx130, jsxs as jsxs84 } from "react/jsx-runtime";
10939
- var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
10948
+ var AirbnbSelect = React39.forwardRef(function AirbnbSelect2({
10940
10949
  options = [],
10941
10950
  value,
10942
10951
  onChange,
@@ -10963,8 +10972,8 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
10963
10972
  noOptionsMessage
10964
10973
  }, ref) {
10965
10974
  const { isMatch: isMobile } = useScreenResize(DEVICE.mobileXL);
10966
- const [isOpen, setIsOpen] = React38.useState(false);
10967
- const containerRef = React38.useRef(null);
10975
+ const [isOpen, setIsOpen] = React39.useState(false);
10976
+ const containerRef = React39.useRef(null);
10968
10977
  const hasValue = Boolean(value);
10969
10978
  const helperText = placeholder ?? label;
10970
10979
  const isBlocked = Boolean(disabled) || Boolean(loading);
@@ -11022,12 +11031,12 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
11022
11031
  onOutsideClick: () => setIsOpen(false),
11023
11032
  isDisabled: !isOpen || isMobile
11024
11033
  });
11025
- React38.useEffect(() => {
11034
+ React39.useEffect(() => {
11026
11035
  if (isBlocked) {
11027
11036
  setIsOpen(false);
11028
11037
  }
11029
11038
  }, [isBlocked]);
11030
- React38.useEffect(
11039
+ React39.useEffect(
11031
11040
  function setCorrectOptionIfThereIsOnlyValue() {
11032
11041
  if (value?.value === void 0 || value.value === null || value.label !== "") {
11033
11042
  return;
@@ -11039,7 +11048,7 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
11039
11048
  },
11040
11049
  [onChange, options, value]
11041
11050
  );
11042
- const handleMobileOpenChange = React38.useCallback(
11051
+ const handleMobileOpenChange = React39.useCallback(
11043
11052
  (nextOpen) => {
11044
11053
  if (isBlocked && nextOpen) return;
11045
11054
  setIsOpen(nextOpen);
@@ -11050,7 +11059,7 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
11050
11059
  },
11051
11060
  [focusTrigger, isBlocked, syncPendingValue, value]
11052
11061
  );
11053
- const handleMobileDone = React38.useCallback(() => {
11062
+ const handleMobileDone = React39.useCallback(() => {
11054
11063
  if (isBlocked) return;
11055
11064
  const finalOption = pendingValue;
11056
11065
  if (finalOption && finalOption.value !== value?.value) {
@@ -11059,7 +11068,7 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
11059
11068
  setIsOpen(false);
11060
11069
  focusTrigger();
11061
11070
  }, [focusTrigger, isBlocked, onChange, pendingValue, value]);
11062
- const handleTriggerClick = React38.useCallback(() => {
11071
+ const handleTriggerClick = React39.useCallback(() => {
11063
11072
  if (isBlocked) return;
11064
11073
  setIsOpen((prev) => {
11065
11074
  const nextOpen = !prev;
@@ -11228,7 +11237,7 @@ var AirbnbSelect = React38.forwardRef(function AirbnbSelect2({
11228
11237
 
11229
11238
  // src/airbnb/phone-field/PhoneField.tsx
11230
11239
  import { jsx as jsx131, jsxs as jsxs85 } from "react/jsx-runtime";
11231
- var PhoneField = React39.forwardRef(
11240
+ var PhoneField = React40.forwardRef(
11232
11241
  ({
11233
11242
  variant = "default",
11234
11243
  label,
@@ -11252,8 +11261,8 @@ var PhoneField = React39.forwardRef(
11252
11261
  mobileTitle,
11253
11262
  codePlaceholder = "+00"
11254
11263
  }, ref) => {
11255
- const inputId = React39.useId();
11256
- const codeOptions = React39.useMemo(
11264
+ const inputId = React40.useId();
11265
+ const codeOptions = React40.useMemo(
11257
11266
  () => options.map((option) => ({
11258
11267
  value: option.value,
11259
11268
  label: `${option.label} (${option.value})`,
@@ -11261,7 +11270,7 @@ var PhoneField = React39.forwardRef(
11261
11270
  })),
11262
11271
  [options]
11263
11272
  );
11264
- const selectedCodeOption = React39.useMemo(
11273
+ const selectedCodeOption = React40.useMemo(
11265
11274
  () => codeOptions.find((option) => option.value === value?.code) ?? null,
11266
11275
  [codeOptions, value?.code]
11267
11276
  );
@@ -11403,11 +11412,11 @@ var PhoneField = React39.forwardRef(
11403
11412
  PhoneField.displayName = "PhoneField";
11404
11413
 
11405
11414
  // src/airbnb/search-input/SearchInput.tsx
11406
- import * as React40 from "react";
11415
+ import * as React41 from "react";
11407
11416
  import { useTranslation as useTranslation23 } from "react-i18next";
11408
11417
  import { Search as Search3, X as X8 } from "lucide-react";
11409
11418
  import { jsx as jsx132, jsxs as jsxs86 } from "react/jsx-runtime";
11410
- var AirbnbSearchInput = React40.forwardRef(({ onReset, placeholder, wrapperClassName, ...props }, ref) => {
11419
+ var AirbnbSearchInput = React41.forwardRef(({ onReset, placeholder, wrapperClassName, ...props }, ref) => {
11411
11420
  const { t } = useTranslation23();
11412
11421
  const placeholderText = placeholder || t("search_property") + "...";
11413
11422
  return /* @__PURE__ */ jsxs86("div", { className: cn("input-wrapper relative", wrapperClassName), children: [
@@ -11445,10 +11454,10 @@ var AirbnbSearchInput = React40.forwardRef(({ onReset, placeholder, wrapperClass
11445
11454
  AirbnbSearchInput.displayName = "SearchInput";
11446
11455
 
11447
11456
  // src/searchable-select/SearchableSelect.tsx
11448
- import * as React41 from "react";
11457
+ import * as React42 from "react";
11449
11458
  import { ChevronDown as ChevronDown3, Search as Search4 } from "lucide-react";
11450
11459
  import { useVirtualizer } from "@tanstack/react-virtual";
11451
- import { useCallback as useCallback25 } from "react";
11460
+ import { useCallback as useCallback24 } from "react";
11452
11461
  import { jsx as jsx133, jsxs as jsxs87 } from "react/jsx-runtime";
11453
11462
  var ROW_HEIGHT = 48;
11454
11463
  var DESKTOP_LIST_HEIGHT = 280;
@@ -11490,13 +11499,13 @@ var SearchableSelectInternal = ({
11490
11499
  loadingMessage
11491
11500
  }, ref) => {
11492
11501
  const { isMatch: isMobile } = useScreenResize(DEVICE.mobileXL);
11493
- const reactId = React41.useId();
11494
- const [open, setOpen] = React41.useState(false);
11495
- const [internalSearchValue, setInternalSearchValue] = React41.useState("");
11496
- const [highlightedIndex, setHighlightedIndex] = React41.useState(-1);
11497
- const containerRef = React41.useRef(null);
11498
- const triggerRef = React41.useRef(null);
11499
- const inputRef = React41.useRef(null);
11502
+ const reactId = React42.useId();
11503
+ const [open, setOpen] = React42.useState(false);
11504
+ const [internalSearchValue, setInternalSearchValue] = React42.useState("");
11505
+ const [highlightedIndex, setHighlightedIndex] = React42.useState(-1);
11506
+ const containerRef = React42.useRef(null);
11507
+ const triggerRef = React42.useRef(null);
11508
+ const inputRef = React42.useRef(null);
11500
11509
  const listboxId = `${reactId}-listbox`;
11501
11510
  const labelId = `${reactId}-label`;
11502
11511
  const valueId = `${reactId}-value`;
@@ -11505,13 +11514,13 @@ var SearchableSelectInternal = ({
11505
11514
  const searchInputId = `${reactId}-search`;
11506
11515
  const effectiveSearchValue = searchValue ?? internalSearchValue;
11507
11516
  const shouldFilterLocally = !onSearchChange && filterOption !== null;
11508
- const visibleOptions = React41.useMemo(() => {
11517
+ const visibleOptions = React42.useMemo(() => {
11509
11518
  if (!shouldFilterLocally || !effectiveSearchValue) {
11510
11519
  return options;
11511
11520
  }
11512
11521
  return options.filter((option) => filterOption(option, effectiveSearchValue));
11513
11522
  }, [effectiveSearchValue, filterOption, options, shouldFilterLocally]);
11514
- const selectedIndex = React41.useMemo(
11523
+ const selectedIndex = React42.useMemo(
11515
11524
  () => visibleOptions.findIndex((option) => option.value === value?.value),
11516
11525
  [value?.value, visibleOptions]
11517
11526
  );
@@ -11527,7 +11536,7 @@ var SearchableSelectInternal = ({
11527
11536
  isDisabled: !open || isMobile
11528
11537
  });
11529
11538
  const handleOnOpenChange = useEvent(onOpenChange);
11530
- const setSelectOpen = useCallback25(
11539
+ const setSelectOpen = useCallback24(
11531
11540
  (nextOpen, options2) => {
11532
11541
  setOpen(nextOpen);
11533
11542
  handleOnOpenChange?.(nextOpen);
@@ -11537,7 +11546,7 @@ var SearchableSelectInternal = ({
11537
11546
  },
11538
11547
  [handleOnOpenChange]
11539
11548
  );
11540
- React41.useEffect(() => {
11549
+ React42.useEffect(() => {
11541
11550
  if (isBlocked) {
11542
11551
  setSelectOpen(false);
11543
11552
  return;
@@ -11550,7 +11559,7 @@ var SearchableSelectInternal = ({
11550
11559
  window.cancelAnimationFrame(frameId);
11551
11560
  };
11552
11561
  }, [isBlocked, open, setSelectOpen]);
11553
- React41.useEffect(() => {
11562
+ React42.useEffect(() => {
11554
11563
  if (!open) {
11555
11564
  setHighlightedIndex(-1);
11556
11565
  return;
@@ -11645,7 +11654,7 @@ var SearchableSelectInternal = ({
11645
11654
  onOptionHover: setHighlightedIndex
11646
11655
  }
11647
11656
  );
11648
- React41.useImperativeHandle(ref, () => triggerRef.current, []);
11657
+ React42.useImperativeHandle(ref, () => triggerRef.current, []);
11649
11658
  return /* @__PURE__ */ jsxs87(
11650
11659
  "div",
11651
11660
  {
@@ -11731,7 +11740,7 @@ var SearchableSelectInternal = ({
11731
11740
  }
11732
11741
  );
11733
11742
  };
11734
- var SearchableSelect = React41.forwardRef(
11743
+ var SearchableSelect = React42.forwardRef(
11735
11744
  SearchableSelectInternal
11736
11745
  );
11737
11746
  function SearchableSelectContent({
@@ -11758,9 +11767,9 @@ function SearchableSelectContent({
11758
11767
  onOptionClick,
11759
11768
  onOptionHover
11760
11769
  }) {
11761
- const listRef = React41.useRef(null);
11762
- const lastLoadMoreOptionsLengthRef = React41.useRef(null);
11763
- const previousHighlightedIndexRef = React41.useRef(highlightedIndex);
11770
+ const listRef = React42.useRef(null);
11771
+ const lastLoadMoreOptionsLengthRef = React42.useRef(null);
11772
+ const previousHighlightedIndexRef = React42.useRef(highlightedIndex);
11764
11773
  const rowCount = options.length + (loading && options.length > 0 ? 1 : 0);
11765
11774
  const virtualizer = useVirtualizer({
11766
11775
  count: rowCount,
@@ -11771,7 +11780,7 @@ function SearchableSelectContent({
11771
11780
  const virtualItems = virtualizer.getVirtualItems();
11772
11781
  const emptyMessage = noOptionsMessage?.() ?? "No matches found";
11773
11782
  const loadingText = loadingMessage?.() ?? "Loading...";
11774
- React41.useEffect(() => {
11783
+ React42.useEffect(() => {
11775
11784
  const lastItem = virtualItems[virtualItems.length - 1];
11776
11785
  const shouldLoadMore = !!lastItem && hasNextPage && !loading && lastItem.index >= options.length - LOAD_MORE_THRESHOLD;
11777
11786
  if (shouldLoadMore && lastLoadMoreOptionsLengthRef.current !== options.length) {
@@ -11779,7 +11788,7 @@ function SearchableSelectContent({
11779
11788
  onLoadMore?.();
11780
11789
  }
11781
11790
  }, [hasNextPage, loading, onLoadMore, options.length, virtualItems]);
11782
- React41.useEffect(() => {
11791
+ React42.useEffect(() => {
11783
11792
  const hasHighlightedIndexChanged = previousHighlightedIndexRef.current !== highlightedIndex;
11784
11793
  previousHighlightedIndexRef.current = highlightedIndex;
11785
11794
  if (highlightedIndex >= 0 && hasHighlightedIndexChanged) {
@@ -12152,6 +12161,7 @@ export {
12152
12161
  inputVariants,
12153
12162
  isNumeric,
12154
12163
  labelVariants,
12164
+ scrollToTop,
12155
12165
  sectionTagVariants,
12156
12166
  switchThumbVariants,
12157
12167
  switchVariants,