@xaui/native 0.0.11 → 0.0.12

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.
@@ -36,8 +36,8 @@ __export(autocomplete_exports, {
36
36
  module.exports = __toCommonJS(autocomplete_exports);
37
37
 
38
38
  // src/components/autocomplete/autocomplete.tsx
39
- var import_react18 = __toESM(require("react"), 1);
40
- var import_react_native14 = require("react-native");
39
+ var import_react21 = __toESM(require("react"), 1);
40
+ var import_react_native17 = require("react-native");
41
41
 
42
42
  // src/components/autocomplete/autocomplete-context.ts
43
43
  var import_react = require("react");
@@ -404,8 +404,8 @@ var defaultFilterFunction = (textValue, inputValue) => {
404
404
  };
405
405
 
406
406
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.tsx
407
- var import_react16 = __toESM(require("react"), 1);
408
- var import_react_native12 = require("react-native");
407
+ var import_react19 = __toESM(require("react"), 1);
408
+ var import_react_native15 = require("react-native");
409
409
 
410
410
  // src/components/select/checkmark-icon.tsx
411
411
  var import_react9 = __toESM(require("react"), 1);
@@ -424,8 +424,8 @@ function CheckmarkIcon({ color, size }) {
424
424
  }
425
425
 
426
426
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog-header.tsx
427
- var import_react14 = __toESM(require("react"), 1);
428
- var import_react_native10 = require("react-native");
427
+ var import_react17 = __toESM(require("react"), 1);
428
+ var import_react_native13 = require("react-native");
429
429
 
430
430
  // src/components/icon/icons/arrow-back.tsx
431
431
  var import_react10 = __toESM(require("react"), 1);
@@ -547,23 +547,41 @@ var ArrowBackIcon = ({
547
547
  return /* @__PURE__ */ import_react10.default.createElement(import_react_native_svg2.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
548
548
  };
549
549
 
550
- // src/components/icon/icons/checkmark.tsx
550
+ // src/components/icon/icons/calendar.tsx
551
551
  var import_react11 = __toESM(require("react"), 1);
552
552
  var import_react_native6 = require("react-native");
553
553
  var import_react_native_svg3 = __toESM(require("react-native-svg"), 1);
554
554
  var AnimatedPath2 = import_react_native6.Animated.createAnimatedComponent(import_react_native_svg3.Path);
555
555
 
556
- // src/components/icon/icons/chevron-down.tsx
556
+ // src/components/icon/icons/checkmark.tsx
557
557
  var import_react12 = __toESM(require("react"), 1);
558
558
  var import_react_native7 = require("react-native");
559
559
  var import_react_native_svg4 = __toESM(require("react-native-svg"), 1);
560
560
  var AnimatedPath3 = import_react_native7.Animated.createAnimatedComponent(import_react_native_svg4.Path);
561
561
 
562
- // src/components/icon/icons/close.tsx
562
+ // src/components/icon/icons/chevron-down.tsx
563
563
  var import_react13 = __toESM(require("react"), 1);
564
564
  var import_react_native8 = require("react-native");
565
565
  var import_react_native_svg5 = __toESM(require("react-native-svg"), 1);
566
566
  var AnimatedPath4 = import_react_native8.Animated.createAnimatedComponent(import_react_native_svg5.Path);
567
+
568
+ // src/components/icon/icons/chevron-left.tsx
569
+ var import_react14 = __toESM(require("react"), 1);
570
+ var import_react_native9 = require("react-native");
571
+ var import_react_native_svg6 = __toESM(require("react-native-svg"), 1);
572
+ var AnimatedPath5 = import_react_native9.Animated.createAnimatedComponent(import_react_native_svg6.Path);
573
+
574
+ // src/components/icon/icons/chevron-right.tsx
575
+ var import_react15 = __toESM(require("react"), 1);
576
+ var import_react_native10 = require("react-native");
577
+ var import_react_native_svg7 = __toESM(require("react-native-svg"), 1);
578
+ var AnimatedPath6 = import_react_native10.Animated.createAnimatedComponent(import_react_native_svg7.Path);
579
+
580
+ // src/components/icon/icons/close.tsx
581
+ var import_react16 = __toESM(require("react"), 1);
582
+ var import_react_native11 = require("react-native");
583
+ var import_react_native_svg8 = __toESM(require("react-native-svg"), 1);
584
+ var AnimatedPath7 = import_react_native11.Animated.createAnimatedComponent(import_react_native_svg8.Path);
567
585
  var CloseIcon = ({
568
586
  variant = "baseline",
569
587
  size = 24,
@@ -571,24 +589,24 @@ var CloseIcon = ({
571
589
  isAnimated = false
572
590
  }) => {
573
591
  const theme = useXUITheme();
574
- const scaleAnim = (0, import_react13.useRef)(new import_react_native8.Animated.Value(isAnimated ? 0 : 1)).current;
575
- const opacityAnim = (0, import_react13.useRef)(new import_react_native8.Animated.Value(isAnimated ? 0 : 1)).current;
576
- const resolvedColor = (0, import_react13.useMemo)(() => {
592
+ const scaleAnim = (0, import_react16.useRef)(new import_react_native11.Animated.Value(isAnimated ? 0 : 1)).current;
593
+ const opacityAnim = (0, import_react16.useRef)(new import_react_native11.Animated.Value(isAnimated ? 0 : 1)).current;
594
+ const resolvedColor = (0, import_react16.useMemo)(() => {
577
595
  if (typeof color === "string" && isThemeColor(color)) {
578
596
  return theme.colors[color].main;
579
597
  }
580
598
  return color;
581
599
  }, [color, theme]);
582
- (0, import_react13.useEffect)(() => {
600
+ (0, import_react16.useEffect)(() => {
583
601
  if (isAnimated) {
584
- import_react_native8.Animated.parallel([
585
- import_react_native8.Animated.spring(scaleAnim, {
602
+ import_react_native11.Animated.parallel([
603
+ import_react_native11.Animated.spring(scaleAnim, {
586
604
  toValue: 1,
587
605
  useNativeDriver: true,
588
606
  tension: 50,
589
607
  friction: 7
590
608
  }),
591
- import_react_native8.Animated.timing(opacityAnim, {
609
+ import_react_native11.Animated.timing(opacityAnim, {
592
610
  toValue: 1,
593
611
  duration: 200,
594
612
  useNativeDriver: true
@@ -600,39 +618,39 @@ var CloseIcon = ({
600
618
  transform: [{ scale: scaleAnim }],
601
619
  opacity: opacityAnim
602
620
  } : void 0;
603
- const renderBaseline = () => /* @__PURE__ */ import_react13.default.createElement(
604
- AnimatedPath4,
621
+ const renderBaseline = () => /* @__PURE__ */ import_react16.default.createElement(
622
+ AnimatedPath7,
605
623
  {
606
624
  fill: resolvedColor,
607
625
  d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
608
626
  ...animatedProps
609
627
  }
610
628
  );
611
- const renderFilled = () => /* @__PURE__ */ import_react13.default.createElement(
612
- AnimatedPath4,
629
+ const renderFilled = () => /* @__PURE__ */ import_react16.default.createElement(
630
+ AnimatedPath7,
613
631
  {
614
632
  fill: resolvedColor,
615
633
  d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256z",
616
634
  ...animatedProps
617
635
  }
618
636
  );
619
- const renderDuotone = () => /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
620
- import_react_native_svg5.Path,
637
+ const renderDuotone = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
638
+ import_react_native_svg8.Path,
621
639
  {
622
640
  fill: resolvedColor,
623
641
  opacity: 0.3,
624
642
  d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48z"
625
643
  }
626
- ), /* @__PURE__ */ import_react13.default.createElement(
627
- AnimatedPath4,
644
+ ), /* @__PURE__ */ import_react16.default.createElement(
645
+ AnimatedPath7,
628
646
  {
629
647
  fill: resolvedColor,
630
648
  d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
631
649
  ...animatedProps
632
650
  }
633
651
  ));
634
- const renderRoundOutlined = () => /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
635
- import_react_native_svg5.Circle,
652
+ const renderRoundOutlined = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
653
+ import_react_native_svg8.Circle,
636
654
  {
637
655
  cx: "256",
638
656
  cy: "256",
@@ -641,16 +659,16 @@ var CloseIcon = ({
641
659
  stroke: resolvedColor,
642
660
  strokeWidth: 32
643
661
  }
644
- ), /* @__PURE__ */ import_react13.default.createElement(
645
- AnimatedPath4,
662
+ ), /* @__PURE__ */ import_react16.default.createElement(
663
+ AnimatedPath7,
646
664
  {
647
665
  fill: resolvedColor,
648
666
  d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
649
667
  ...animatedProps
650
668
  }
651
669
  ));
652
- const renderSquareOutlined = () => /* @__PURE__ */ import_react13.default.createElement(import_react13.default.Fragment, null, /* @__PURE__ */ import_react13.default.createElement(
653
- import_react_native_svg5.Rect,
670
+ const renderSquareOutlined = () => /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
671
+ import_react_native_svg8.Rect,
654
672
  {
655
673
  x: "64",
656
674
  y: "64",
@@ -661,24 +679,24 @@ var CloseIcon = ({
661
679
  stroke: resolvedColor,
662
680
  strokeWidth: 32
663
681
  }
664
- ), /* @__PURE__ */ import_react13.default.createElement(
665
- AnimatedPath4,
682
+ ), /* @__PURE__ */ import_react16.default.createElement(
683
+ AnimatedPath7,
666
684
  {
667
685
  fill: resolvedColor,
668
686
  d: "m289.94 256l95-95A24 24 0 0 0 351 127l-95 95l-95-95a24 24 0 0 0-34 34l95 95l-95 95a24 24 0 1 0 34 34l95-95l95 95a24 24 0 0 0 34-34Z",
669
687
  ...animatedProps
670
688
  }
671
689
  ));
672
- const renderRoundFilled = () => /* @__PURE__ */ import_react13.default.createElement(
673
- AnimatedPath4,
690
+ const renderRoundFilled = () => /* @__PURE__ */ import_react16.default.createElement(
691
+ AnimatedPath7,
674
692
  {
675
693
  fill: resolvedColor,
676
694
  d: "M256 48C141.31 48 48 141.31 48 256s93.31 208 208 208 208-93.31 208-208S370.69 48 256 48zm75.31 260.69a16 16 0 1 1-22.62 22.62L256 278.63l-52.69 52.68a16 16 0 0 1-22.62-22.62L233.37 256l-52.68-52.69a16 16 0 0 1 22.62-22.62L256 233.37l52.69-52.68a16 16 0 0 1 22.62 22.62L278.63 256z",
677
695
  ...animatedProps
678
696
  }
679
697
  );
680
- const renderSquareFilled = () => /* @__PURE__ */ import_react13.default.createElement(
681
- AnimatedPath4,
698
+ const renderSquareFilled = () => /* @__PURE__ */ import_react16.default.createElement(
699
+ AnimatedPath7,
682
700
  {
683
701
  fill: resolvedColor,
684
702
  d: "M400 64H112a48 48 0 0 0-48 48v288a48 48 0 0 0 48 48h288a48 48 0 0 0 48-48V112a48 48 0 0 0-48-48zm-59.31 244.69a16 16 0 1 1-22.62 22.62L256 278.63l-62.07 52.68a16 16 0 0 1-22.62-22.62L223.37 256l-52.06-52.69a16 16 0 0 1 22.62-22.62L256 233.37l62.07-52.68a16 16 0 0 1 22.62 22.62L288.63 256z",
@@ -704,14 +722,14 @@ var CloseIcon = ({
704
722
  return renderBaseline();
705
723
  }
706
724
  };
707
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native_svg5.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
725
+ return /* @__PURE__ */ import_react16.default.createElement(import_react_native_svg8.default, { width: size, height: size, viewBox: "0 0 512 512" }, renderVariant());
708
726
  };
709
727
 
710
728
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.style.ts
711
- var import_react_native9 = require("react-native");
712
- var styles2 = import_react_native9.StyleSheet.create({
729
+ var import_react_native12 = require("react-native");
730
+ var styles2 = import_react_native12.StyleSheet.create({
713
731
  backdrop: {
714
- ...import_react_native9.StyleSheet.absoluteFillObject,
732
+ ...import_react_native12.StyleSheet.absoluteFillObject,
715
733
  backgroundColor: "rgba(0, 0, 0, 0.5)"
716
734
  },
717
735
  dialogContainer: {
@@ -806,17 +824,17 @@ var AutocompleteDialogHeader = ({
806
824
  onBlur
807
825
  }) => {
808
826
  const theme = useXUITheme();
809
- return /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, { style: styles2.header }, title ? /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, { style: styles2.titleRow }, /* @__PURE__ */ import_react14.default.createElement(
810
- import_react_native10.Pressable,
827
+ return /* @__PURE__ */ import_react17.default.createElement(import_react_native13.View, { style: styles2.header }, title ? /* @__PURE__ */ import_react17.default.createElement(import_react_native13.View, { style: styles2.titleRow }, /* @__PURE__ */ import_react17.default.createElement(
828
+ import_react_native13.Pressable,
811
829
  {
812
830
  style: styles2.backButton,
813
831
  onPress: onClose,
814
832
  accessibilityLabel: "Back",
815
833
  accessibilityRole: "button"
816
834
  },
817
- /* @__PURE__ */ import_react14.default.createElement(ArrowBackIcon, { size: 20, color: theme.colors.foreground })
818
- ), /* @__PURE__ */ import_react14.default.createElement(import_react_native10.Text, { style: [styles2.title, { color: theme.colors.foreground }] }, title)) : null, /* @__PURE__ */ import_react14.default.createElement(import_react_native10.View, { style: styles2.inputContainer }, /* @__PURE__ */ import_react14.default.createElement(import_react_native10.Animated.View, { style: [styles2.inputWrapper, inputAnimatedStyle] }, /* @__PURE__ */ import_react14.default.createElement(
819
- import_react_native10.TextInput,
835
+ /* @__PURE__ */ import_react17.default.createElement(ArrowBackIcon, { size: 20, color: theme.colors.foreground })
836
+ ), /* @__PURE__ */ import_react17.default.createElement(import_react_native13.Text, { style: [styles2.title, { color: theme.colors.foreground }] }, title)) : null, /* @__PURE__ */ import_react17.default.createElement(import_react_native13.View, { style: styles2.inputContainer }, /* @__PURE__ */ import_react17.default.createElement(import_react_native13.Animated.View, { style: [styles2.inputWrapper, inputAnimatedStyle] }, /* @__PURE__ */ import_react17.default.createElement(
837
+ import_react_native13.TextInput,
820
838
  {
821
839
  ref: inputRef,
822
840
  value: inputValue,
@@ -840,42 +858,42 @@ var AutocompleteDialogHeader = ({
840
858
  onFocus,
841
859
  onBlur
842
860
  }
843
- ), inputValue ? /* @__PURE__ */ import_react14.default.createElement(
844
- import_react_native10.Pressable,
861
+ ), inputValue ? /* @__PURE__ */ import_react17.default.createElement(
862
+ import_react_native13.Pressable,
845
863
  {
846
864
  style: styles2.clearInputButton,
847
865
  onPress: () => onInputChange?.(""),
848
866
  accessibilityLabel: "Clear input",
849
867
  accessibilityRole: "button"
850
868
  },
851
- /* @__PURE__ */ import_react14.default.createElement(CloseIcon, { color: theme.colors.foreground })
869
+ /* @__PURE__ */ import_react17.default.createElement(CloseIcon, { color: theme.colors.foreground })
852
870
  ) : null)));
853
871
  };
854
872
 
855
873
  // src/components/dialogs/autocomplete-dialog/autocomplete-dialog.animation.ts
856
- var import_react15 = require("react");
857
- var import_react_native11 = require("react-native");
874
+ var import_react18 = require("react");
875
+ var import_react_native14 = require("react-native");
858
876
  var useAutocompleteDialogAnimation = ({
859
877
  visible,
860
878
  fadeAnim,
861
879
  slideAnim,
862
880
  scaleAnim
863
881
  }) => {
864
- (0, import_react15.useEffect)(() => {
882
+ (0, import_react18.useEffect)(() => {
865
883
  if (visible) {
866
- import_react_native11.Animated.parallel([
867
- import_react_native11.Animated.timing(fadeAnim, {
884
+ import_react_native14.Animated.parallel([
885
+ import_react_native14.Animated.timing(fadeAnim, {
868
886
  toValue: 1,
869
887
  duration: 250,
870
888
  useNativeDriver: true
871
889
  }),
872
- import_react_native11.Animated.spring(slideAnim, {
890
+ import_react_native14.Animated.spring(slideAnim, {
873
891
  toValue: 1,
874
892
  useNativeDriver: true,
875
893
  tension: 65,
876
894
  friction: 10
877
895
  }),
878
- import_react_native11.Animated.spring(scaleAnim, {
896
+ import_react_native14.Animated.spring(scaleAnim, {
879
897
  toValue: 1,
880
898
  useNativeDriver: true,
881
899
  tension: 50,
@@ -909,19 +927,19 @@ var AutocompleteDialog = ({
909
927
  onBlur
910
928
  }) => {
911
929
  const theme = useXUITheme();
912
- const { width: screenWidth, height: screenHeight } = (0, import_react_native12.useWindowDimensions)();
913
- const fadeAnim = (0, import_react16.useRef)(new import_react_native12.Animated.Value(0)).current;
914
- const slideAnim = (0, import_react16.useRef)(new import_react_native12.Animated.Value(0)).current;
915
- const scaleAnim = (0, import_react16.useRef)(new import_react_native12.Animated.Value(0)).current;
916
- const inputRef = (0, import_react16.useRef)(null);
917
- const [keyboardHeight, setKeyboardHeight] = (0, import_react16.useState)(0);
918
- (0, import_react16.useEffect)(() => {
919
- const showEvent = import_react_native12.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow";
920
- const hideEvent = import_react_native12.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
921
- const showSub = import_react_native12.Keyboard.addListener(showEvent, (e) => {
930
+ const { width: screenWidth, height: screenHeight } = (0, import_react_native15.useWindowDimensions)();
931
+ const fadeAnim = (0, import_react19.useRef)(new import_react_native15.Animated.Value(0)).current;
932
+ const slideAnim = (0, import_react19.useRef)(new import_react_native15.Animated.Value(0)).current;
933
+ const scaleAnim = (0, import_react19.useRef)(new import_react_native15.Animated.Value(0)).current;
934
+ const inputRef = (0, import_react19.useRef)(null);
935
+ const [keyboardHeight, setKeyboardHeight] = (0, import_react19.useState)(0);
936
+ (0, import_react19.useEffect)(() => {
937
+ const showEvent = import_react_native15.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow";
938
+ const hideEvent = import_react_native15.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
939
+ const showSub = import_react_native15.Keyboard.addListener(showEvent, (e) => {
922
940
  setKeyboardHeight(e.endCoordinates.height);
923
941
  });
924
- const hideSub = import_react_native12.Keyboard.addListener(hideEvent, () => {
942
+ const hideSub = import_react_native15.Keyboard.addListener(hideEvent, () => {
925
943
  setKeyboardHeight(0);
926
944
  });
927
945
  return () => {
@@ -929,26 +947,26 @@ var AutocompleteDialog = ({
929
947
  hideSub.remove();
930
948
  };
931
949
  }, []);
932
- const items = (0, import_react16.useMemo)(
933
- () => import_react16.default.Children.toArray(children).filter(
934
- import_react16.default.isValidElement
950
+ const items = (0, import_react19.useMemo)(
951
+ () => import_react19.default.Children.toArray(children).filter(
952
+ import_react19.default.isValidElement
935
953
  ),
936
954
  [children]
937
955
  );
938
956
  const checkmarkColor = theme.colors[themeColor].main;
939
957
  const checkmarkBackgroundColor = theme.colors[themeColor].background;
940
958
  useAutocompleteDialogAnimation({ visible, fadeAnim, slideAnim, scaleAnim });
941
- (0, import_react16.useEffect)(() => {
959
+ (0, import_react19.useEffect)(() => {
942
960
  if (!visible) return;
943
- const sub = import_react_native12.BackHandler.addEventListener("hardwareBackPress", () => {
961
+ const sub = import_react_native15.BackHandler.addEventListener("hardwareBackPress", () => {
944
962
  onClose?.();
945
963
  return true;
946
964
  });
947
965
  return () => sub.remove();
948
966
  }, [visible, onClose]);
949
- const focusInput = (0, import_react16.useCallback)(() => {
950
- const delay = import_react_native12.Platform.OS === "android" ? 300 : 100;
951
- import_react_native12.InteractionManager.runAfterInteractions(() => {
967
+ const focusInput = (0, import_react19.useCallback)(() => {
968
+ const delay = import_react_native15.Platform.OS === "android" ? 300 : 100;
969
+ import_react_native15.InteractionManager.runAfterInteractions(() => {
952
970
  setTimeout(() => {
953
971
  inputRef.current?.focus();
954
972
  }, delay);
@@ -956,16 +974,16 @@ var AutocompleteDialog = ({
956
974
  }, []);
957
975
  const handleCheckmarkPress = () => {
958
976
  onCheckmark?.();
959
- import_react_native12.Keyboard.dismiss();
977
+ import_react_native15.Keyboard.dismiss();
960
978
  };
961
- (0, import_react16.useEffect)(() => {
979
+ (0, import_react19.useEffect)(() => {
962
980
  if (!visible) {
963
- import_react_native12.Keyboard.dismiss();
981
+ import_react_native15.Keyboard.dismiss();
964
982
  return;
965
983
  }
966
984
  focusInput();
967
985
  }, [focusInput, visible]);
968
- const listBottomPadding = (0, import_react16.useMemo)(() => {
986
+ const listBottomPadding = (0, import_react19.useMemo)(() => {
969
987
  const basePadding = showCheckmark ? 96 : 64;
970
988
  return (keyboardHeight > 0 ? keyboardHeight : 0) + basePadding;
971
989
  }, [keyboardHeight, showCheckmark]);
@@ -990,7 +1008,7 @@ var AutocompleteDialog = ({
990
1008
  const inputAnimatedStyle = {
991
1009
  transform: [{ scaleX: scaleAnim }]
992
1010
  };
993
- const listHeader = /* @__PURE__ */ import_react16.default.createElement(
1011
+ const listHeader = /* @__PURE__ */ import_react19.default.createElement(
994
1012
  AutocompleteDialogHeader,
995
1013
  {
996
1014
  title,
@@ -1006,14 +1024,14 @@ var AutocompleteDialog = ({
1006
1024
  onBlur
1007
1025
  }
1008
1026
  );
1009
- return /* @__PURE__ */ import_react16.default.createElement(Portal, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native12.View, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react16.default.createElement(import_react_native12.Animated.View, { style: [styles2.backdrop, { opacity: fadeAnim }] }), /* @__PURE__ */ import_react16.default.createElement(import_react_native12.Animated.View, { style: [styles2.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react16.default.createElement(
1010
- import_react_native12.View,
1027
+ return /* @__PURE__ */ import_react19.default.createElement(Portal, null, /* @__PURE__ */ import_react19.default.createElement(import_react_native15.View, { style: [overlayStyle, style] }, /* @__PURE__ */ import_react19.default.createElement(import_react_native15.Animated.View, { style: [styles2.backdrop, { opacity: fadeAnim }] }), /* @__PURE__ */ import_react19.default.createElement(import_react_native15.Animated.View, { style: [styles2.dialogContainer, containerAnimatedStyle] }, /* @__PURE__ */ import_react19.default.createElement(
1028
+ import_react_native15.View,
1011
1029
  {
1012
1030
  style: [styles2.container, { backgroundColor: theme.colors.background }]
1013
1031
  },
1014
1032
  listHeader,
1015
- /* @__PURE__ */ import_react16.default.createElement(
1016
- import_react_native12.FlatList,
1033
+ /* @__PURE__ */ import_react19.default.createElement(
1034
+ import_react_native15.FlatList,
1017
1035
  {
1018
1036
  data: items,
1019
1037
  renderItem: ({ item }) => item,
@@ -1027,8 +1045,8 @@ var AutocompleteDialog = ({
1027
1045
  showsVerticalScrollIndicator: false
1028
1046
  }
1029
1047
  ),
1030
- showCheckmark ? /* @__PURE__ */ import_react16.default.createElement(import_react_native12.View, { style: styles2.checkmarkButtonContainer }, /* @__PURE__ */ import_react16.default.createElement(
1031
- import_react_native12.Pressable,
1048
+ showCheckmark ? /* @__PURE__ */ import_react19.default.createElement(import_react_native15.View, { style: styles2.checkmarkButtonContainer }, /* @__PURE__ */ import_react19.default.createElement(
1049
+ import_react_native15.Pressable,
1032
1050
  {
1033
1051
  style: [
1034
1052
  styles2.checkmarkButton,
@@ -1038,14 +1056,14 @@ var AutocompleteDialog = ({
1038
1056
  accessibilityLabel: "Confirm",
1039
1057
  accessibilityRole: "button"
1040
1058
  },
1041
- checkmarkIcon ?? /* @__PURE__ */ import_react16.default.createElement(CheckmarkIcon, { color: checkmarkColor, size: 20 })
1059
+ checkmarkIcon ?? /* @__PURE__ */ import_react19.default.createElement(CheckmarkIcon, { color: checkmarkColor, size: 20 })
1042
1060
  )) : null
1043
1061
  ))));
1044
1062
  };
1045
1063
 
1046
1064
  // src/components/autocomplete/autocomplete-trigger.tsx
1047
- var import_react17 = __toESM(require("react"), 1);
1048
- var import_react_native13 = require("react-native");
1065
+ var import_react20 = __toESM(require("react"), 1);
1066
+ var import_react_native16 = require("react-native");
1049
1067
  var AutocompleteTrigger = ({
1050
1068
  triggerRef,
1051
1069
  isDisabled,
@@ -1068,8 +1086,8 @@ var AutocompleteTrigger = ({
1068
1086
  onLayout: handleTriggerLayout
1069
1087
  }) => {
1070
1088
  const renderLabel = isLabelInside && label;
1071
- return /* @__PURE__ */ import_react17.default.createElement(
1072
- import_react_native13.Pressable,
1089
+ return /* @__PURE__ */ import_react20.default.createElement(
1090
+ import_react_native16.Pressable,
1073
1091
  {
1074
1092
  ref: triggerRef,
1075
1093
  onPress: handleTriggerPress,
@@ -1091,8 +1109,8 @@ var AutocompleteTrigger = ({
1091
1109
  accessibilityRole: "button",
1092
1110
  accessibilityState: { disabled: isDisabled }
1093
1111
  },
1094
- /* @__PURE__ */ import_react17.default.createElement(import_react_native13.View, { style: styles.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react17.default.createElement(
1095
- import_react_native13.Text,
1112
+ /* @__PURE__ */ import_react20.default.createElement(import_react_native16.View, { style: styles.triggerContent }, isLabelInside && renderLabel, /* @__PURE__ */ import_react20.default.createElement(
1113
+ import_react_native16.Text,
1096
1114
  {
1097
1115
  style: [
1098
1116
  styles.triggerText,
@@ -1105,14 +1123,14 @@ var AutocompleteTrigger = ({
1105
1123
  },
1106
1124
  displayValue
1107
1125
  )),
1108
- isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */ import_react17.default.createElement(
1109
- import_react_native13.TouchableOpacity,
1126
+ isClearable && (currentSelectedKey || currentInputValue) ? /* @__PURE__ */ import_react20.default.createElement(
1127
+ import_react_native16.TouchableOpacity,
1110
1128
  {
1111
1129
  onPress: handleClear,
1112
1130
  style: styles.clearButton,
1113
1131
  hitSlop: { top: 8, right: 8, bottom: 8, left: 8 }
1114
1132
  },
1115
- clearIcon ?? /* @__PURE__ */ import_react17.default.createElement(CloseIcon, { color: theme.colors.foreground, size: 20 })
1133
+ clearIcon ?? /* @__PURE__ */ import_react20.default.createElement(CloseIcon, { color: theme.colors.foreground, size: 20 })
1116
1134
  ) : null
1117
1135
  );
1118
1136
  };
@@ -1163,17 +1181,17 @@ var Autocomplete = ({
1163
1181
  onOpenChange,
1164
1182
  onClose
1165
1183
  });
1166
- const triggerRef = (0, import_react18.useRef)(null);
1167
- const [triggerLayout, setTriggerLayout] = (0, import_react18.useState)();
1168
- const handleTriggerLayout = (0, import_react18.useCallback)(() => {
1184
+ const triggerRef = (0, import_react21.useRef)(null);
1185
+ const [triggerLayout, setTriggerLayout] = (0, import_react21.useState)();
1186
+ const handleTriggerLayout = (0, import_react21.useCallback)(() => {
1169
1187
  triggerRef.current?.measureInWindow((x, y, width, height) => {
1170
1188
  setTriggerLayout({ x, y, width, height });
1171
1189
  });
1172
1190
  }, []);
1173
- const items = (0, import_react18.useMemo)(() => {
1174
- const elements = import_react18.default.Children.toArray(children).filter(Boolean);
1191
+ const items = (0, import_react21.useMemo)(() => {
1192
+ const elements = import_react21.default.Children.toArray(children).filter(Boolean);
1175
1193
  return elements.map((child, index) => {
1176
- if (!import_react18.default.isValidElement(child)) {
1194
+ if (!import_react21.default.isValidElement(child)) {
1177
1195
  return null;
1178
1196
  }
1179
1197
  const key = child.props.value ?? String(index);
@@ -1185,7 +1203,7 @@ var Autocomplete = ({
1185
1203
  };
1186
1204
  }).filter((item) => item !== null);
1187
1205
  }, [children]);
1188
- const filteredItems = (0, import_react18.useMemo)(() => {
1206
+ const filteredItems = (0, import_react21.useMemo)(() => {
1189
1207
  if (disableLocalFilter || !currentInputValue.trim()) {
1190
1208
  return items;
1191
1209
  }
@@ -1205,7 +1223,7 @@ var Autocomplete = ({
1205
1223
  const helperColor = useAutocompleteHelperColor(isInvalid);
1206
1224
  const selectedItem = items.find((item) => item.key === currentSelectedKey);
1207
1225
  const displayValue = forceSelection ? selectedItem?.labelText || placeholder : currentInputValue || placeholder;
1208
- const handleInputChange = (0, import_react18.useCallback)(
1226
+ const handleInputChange = (0, import_react21.useCallback)(
1209
1227
  (text) => {
1210
1228
  updateInputValue(text);
1211
1229
  const selectedLabel = selectedItem?.labelText ?? "";
@@ -1222,7 +1240,7 @@ var Autocomplete = ({
1222
1240
  currentSelectedKey
1223
1241
  ]
1224
1242
  );
1225
- const handleItemSelection = (0, import_react18.useCallback)(
1243
+ const handleItemSelection = (0, import_react21.useCallback)(
1226
1244
  (key, itemLabel) => {
1227
1245
  if (isDisabled) {
1228
1246
  return;
@@ -1230,16 +1248,16 @@ var Autocomplete = ({
1230
1248
  updateSelection(key);
1231
1249
  updateInputValue(itemLabel);
1232
1250
  setTimeout(() => {
1233
- import_react_native14.Keyboard.dismiss();
1251
+ import_react_native17.Keyboard.dismiss();
1234
1252
  setOpen(false);
1235
1253
  }, 50);
1236
1254
  },
1237
1255
  [isDisabled, updateSelection, updateInputValue, setOpen]
1238
1256
  );
1239
- const handleCheckmark = (0, import_react18.useCallback)(() => {
1257
+ const handleCheckmark = (0, import_react21.useCallback)(() => {
1240
1258
  setOpen(false);
1241
1259
  }, [setOpen]);
1242
- const handleClear = (0, import_react18.useCallback)(() => {
1260
+ const handleClear = (0, import_react21.useCallback)(() => {
1243
1261
  if (isDisabled) {
1244
1262
  return;
1245
1263
  }
@@ -1247,7 +1265,7 @@ var Autocomplete = ({
1247
1265
  updateInputValue("");
1248
1266
  onClear?.();
1249
1267
  }, [isDisabled, updateSelection, updateInputValue, onClear]);
1250
- const handleTriggerPress = (0, import_react18.useCallback)(() => {
1268
+ const handleTriggerPress = (0, import_react21.useCallback)(() => {
1251
1269
  if (!isDisabled) {
1252
1270
  if (selectedItem && !currentInputValue) {
1253
1271
  updateInputValue(selectedItem.labelText);
@@ -1266,7 +1284,7 @@ var Autocomplete = ({
1266
1284
  handleItemSelection(item.key, item.labelText);
1267
1285
  itemProps.onSelected?.();
1268
1286
  };
1269
- return import_react18.default.cloneElement(item.element, {
1287
+ return import_react21.default.cloneElement(item.element, {
1270
1288
  key: item.key,
1271
1289
  isDisabled: itemDisabled,
1272
1290
  isSelected: itemSelected,
@@ -1277,10 +1295,10 @@ var Autocomplete = ({
1277
1295
  const isLabelInside = labelPlacement === "inside";
1278
1296
  const isLabelOutsideLeft = labelPlacement === "outside-left";
1279
1297
  const isLabelOutside = labelPlacement === "outside" || labelPlacement === "outside-top";
1280
- const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react18.default.createElement(import_react_native14.Text, { style: [styles.label, labelStyle] }, label) : /* @__PURE__ */ import_react18.default.createElement(import_react_native14.View, null, label) : null;
1298
+ const renderLabel = label ? typeof label === "string" || typeof label === "number" ? /* @__PURE__ */ import_react21.default.createElement(import_react_native17.Text, { style: [styles.label, labelStyle] }, label) : /* @__PURE__ */ import_react21.default.createElement(import_react_native17.View, null, label) : null;
1281
1299
  const shouldShowHelper = Boolean(description || errorMessage);
1282
1300
  const helperContent = isInvalid && errorMessage ? errorMessage : description;
1283
- const triggerContent = /* @__PURE__ */ import_react18.default.createElement(
1301
+ const triggerContent = /* @__PURE__ */ import_react21.default.createElement(
1284
1302
  AutocompleteTrigger,
1285
1303
  {
1286
1304
  triggerRef,
@@ -1305,7 +1323,7 @@ var Autocomplete = ({
1305
1323
  }
1306
1324
  );
1307
1325
  const labelBlock = isLabelOutside || isLabelInside ? renderLabel : null;
1308
- return /* @__PURE__ */ import_react18.default.createElement(import_react_native14.View, { style: [styles.container, fullWidth ? styles.fullWidth : styles.minWidth] }, isLabelOutside && labelBlock, isLabelOutsideLeft ? /* @__PURE__ */ import_react18.default.createElement(import_react_native14.View, { style: styles.outsideLeftRow }, renderLabel, triggerContent) : triggerContent, shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react18.default.createElement(import_react_native14.Text, { style: [styles.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react18.default.createElement(import_react_native14.View, null, helperContent) : null, /* @__PURE__ */ import_react18.default.createElement(
1326
+ return /* @__PURE__ */ import_react21.default.createElement(import_react_native17.View, { style: [styles.container, fullWidth ? styles.fullWidth : styles.minWidth] }, isLabelOutside && labelBlock, isLabelOutsideLeft ? /* @__PURE__ */ import_react21.default.createElement(import_react_native17.View, { style: styles.outsideLeftRow }, renderLabel, triggerContent) : triggerContent, shouldShowHelper && helperContent ? typeof helperContent === "string" || typeof helperContent === "number" ? /* @__PURE__ */ import_react21.default.createElement(import_react_native17.Text, { style: [styles.helperText, { color: helperColor }] }, helperContent) : /* @__PURE__ */ import_react21.default.createElement(import_react_native17.View, null, helperContent) : null, /* @__PURE__ */ import_react21.default.createElement(
1309
1327
  AutocompleteDialog,
1310
1328
  {
1311
1329
  visible: isOpen,
@@ -1319,17 +1337,17 @@ var Autocomplete = ({
1319
1337
  onClose: () => setOpen(false),
1320
1338
  onCheckmark: handleCheckmark
1321
1339
  },
1322
- /* @__PURE__ */ import_react18.default.createElement(AutocompleteContext.Provider, { value: { size, themeColor, isDisabled } }, showEmptyMessage ? /* @__PURE__ */ import_react18.default.createElement(import_react_native14.Text, { style: [styles.emptyMessage, { color: theme.colors.foreground }] }, "No results found") : listItems)
1340
+ /* @__PURE__ */ import_react21.default.createElement(AutocompleteContext.Provider, { value: { size, themeColor, isDisabled } }, showEmptyMessage ? /* @__PURE__ */ import_react21.default.createElement(import_react_native17.Text, { style: [styles.emptyMessage, { color: theme.colors.foreground }] }, "No results found") : listItems)
1323
1341
  ));
1324
1342
  };
1325
1343
 
1326
1344
  // src/components/autocomplete/autocomplete-item.tsx
1327
- var import_react20 = __toESM(require("react"), 1);
1328
- var import_react_native16 = require("react-native");
1345
+ var import_react23 = __toESM(require("react"), 1);
1346
+ var import_react_native19 = require("react-native");
1329
1347
 
1330
1348
  // src/components/autocomplete/autocomplete-item.style.ts
1331
- var import_react_native15 = require("react-native");
1332
- var styles3 = import_react_native15.StyleSheet.create({
1349
+ var import_react_native18 = require("react-native");
1350
+ var styles3 = import_react_native18.StyleSheet.create({
1333
1351
  item: {
1334
1352
  flexDirection: "row",
1335
1353
  alignItems: "center",
@@ -1351,11 +1369,11 @@ var styles3 = import_react_native15.StyleSheet.create({
1351
1369
  });
1352
1370
 
1353
1371
  // src/components/autocomplete/autocomplete-item.hook.ts
1354
- var import_react19 = require("react");
1355
- var import_core10 = require("@xaui/core");
1372
+ var import_react22 = require("react");
1373
+ var import_core13 = require("@xaui/core");
1356
1374
  var useAutocompleteItemSizeStyles = (size) => {
1357
1375
  const theme = useXUITheme();
1358
- return (0, import_react19.useMemo)(() => {
1376
+ return (0, import_react22.useMemo)(() => {
1359
1377
  const sizes = {
1360
1378
  xs: {
1361
1379
  paddingVertical: theme.spacing.sm,
@@ -1387,15 +1405,15 @@ var useAutocompleteItemSizeStyles = (size) => {
1387
1405
  };
1388
1406
  var useAutocompleteItemBackgroundColor = (themeColor, isSelected) => {
1389
1407
  const theme = useXUITheme();
1390
- const safeThemeColor = (0, import_core10.getSafeThemeColor)(themeColor);
1408
+ const safeThemeColor = (0, import_core13.getSafeThemeColor)(themeColor);
1391
1409
  const colorScheme = theme.colors[safeThemeColor];
1392
- return (0, import_react19.useMemo)(() => {
1410
+ return (0, import_react22.useMemo)(() => {
1393
1411
  return "transparent";
1394
1412
  }, [isSelected, colorScheme]);
1395
1413
  };
1396
1414
  var useAutocompleteItemTextColors = () => {
1397
1415
  const theme = useXUITheme();
1398
- return (0, import_react19.useMemo)(() => {
1416
+ return (0, import_react22.useMemo)(() => {
1399
1417
  return {
1400
1418
  textColor: theme.colors.foreground,
1401
1419
  descriptionColor: theme.colors.foreground
@@ -1404,9 +1422,9 @@ var useAutocompleteItemTextColors = () => {
1404
1422
  };
1405
1423
  var useAutocompleteItemCheckmarkColor = (themeColor) => {
1406
1424
  const theme = useXUITheme();
1407
- const safeThemeColor = (0, import_core10.getSafeThemeColor)(themeColor);
1425
+ const safeThemeColor = (0, import_core13.getSafeThemeColor)(themeColor);
1408
1426
  const colorScheme = theme.colors[safeThemeColor];
1409
- return (0, import_react19.useMemo)(() => {
1427
+ return (0, import_react22.useMemo)(() => {
1410
1428
  if (themeColor === "default") {
1411
1429
  return theme.colors.primary.main;
1412
1430
  }
@@ -1414,7 +1432,7 @@ var useAutocompleteItemCheckmarkColor = (themeColor) => {
1414
1432
  }, [themeColor, colorScheme, theme]);
1415
1433
  };
1416
1434
  var useAutocompleteItemStyles = (isSelected, _isDisabled) => {
1417
- const context = (0, import_react19.useContext)(AutocompleteContext);
1435
+ const context = (0, import_react22.useContext)(AutocompleteContext);
1418
1436
  const backgroundColor = useAutocompleteItemBackgroundColor(
1419
1437
  context.themeColor,
1420
1438
  isSelected
@@ -1443,7 +1461,7 @@ var AutocompleteItem = ({
1443
1461
  customAppearance,
1444
1462
  onSelected
1445
1463
  }) => {
1446
- const context = (0, import_react20.useContext)(AutocompleteContext);
1464
+ const context = (0, import_react23.useContext)(AutocompleteContext);
1447
1465
  const size = context?.size ?? defaultSize;
1448
1466
  const isItemDisabled = context?.isDisabled ? true : isDisabled;
1449
1467
  const sizeStyles = useAutocompleteItemSizeStyles(size);
@@ -1454,8 +1472,8 @@ var AutocompleteItem = ({
1454
1472
  }
1455
1473
  onSelected?.();
1456
1474
  };
1457
- return /* @__PURE__ */ import_react20.default.createElement(
1458
- import_react_native16.Pressable,
1475
+ return /* @__PURE__ */ import_react23.default.createElement(
1476
+ import_react_native19.Pressable,
1459
1477
  {
1460
1478
  onPress: handlePress,
1461
1479
  disabled: isItemDisabled,
@@ -1471,8 +1489,8 @@ var AutocompleteItem = ({
1471
1489
  ]
1472
1490
  },
1473
1491
  startContent,
1474
- /* @__PURE__ */ import_react20.default.createElement(import_react_native16.View, { style: styles3.content }, /* @__PURE__ */ import_react20.default.createElement(
1475
- import_react_native16.Text,
1492
+ /* @__PURE__ */ import_react23.default.createElement(import_react_native19.View, { style: styles3.content }, /* @__PURE__ */ import_react23.default.createElement(
1493
+ import_react_native19.Text,
1476
1494
  {
1477
1495
  style: [
1478
1496
  styles3.title,
@@ -1481,8 +1499,8 @@ var AutocompleteItem = ({
1481
1499
  ]
1482
1500
  },
1483
1501
  label
1484
- ), description && /* @__PURE__ */ import_react20.default.createElement(
1485
- import_react_native16.Text,
1502
+ ), description && /* @__PURE__ */ import_react23.default.createElement(
1503
+ import_react_native19.Text,
1486
1504
  {
1487
1505
  style: [
1488
1506
  styles3.description,