@hoddy-ui/core 2.5.29 → 2.5.31

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.
@@ -61,7 +61,8 @@ __export(next_exports, {
61
61
  showFlashMessage: () => showFlashMessage,
62
62
  useColors: () => useColors,
63
63
  useNavScreenOptions: () => useNavScreenOptions,
64
- useTheme: () => useTheme
64
+ useTheme: () => useTheme,
65
+ useThemeContext: () => useThemeContext
65
66
  });
66
67
  module.exports = __toCommonJS(next_exports);
67
68
 
@@ -246,7 +247,6 @@ var import_react_native5 = require("react-native");
246
247
  // ../src/hooks.ts
247
248
  var import_react4 = require("react");
248
249
  var import_react_native4 = require("react-native");
249
- var import_react_native_size_matters3 = require("react-native-size-matters");
250
250
 
251
251
  // ../src/theme/index.tsx
252
252
  var import_async_storage = __toESM(require("@react-native-async-storage/async-storage"));
@@ -292,19 +292,21 @@ var Typography = (0, import_react.forwardRef)(
292
292
  }, ref) => {
293
293
  const colors2 = useColors();
294
294
  const _fontSize = {
295
- h1: (0, import_react_native_size_matters.moderateScale)(42),
296
- h2: (0, import_react_native_size_matters.moderateScale)(37),
297
- h3: (0, import_react_native_size_matters.moderateScale)(32),
298
- h4: (0, import_react_native_size_matters.moderateScale)(27),
299
- h5: (0, import_react_native_size_matters.moderateScale)(22),
300
- h6: (0, import_react_native_size_matters.moderateScale)(17),
301
- body1: (0, import_react_native_size_matters.moderateScale)(15),
302
- body2: (0, import_react_native_size_matters.moderateScale)(12),
303
- caption: (0, import_react_native_size_matters.moderateScale)(10)
295
+ h1: (0, import_react_native_size_matters.ms)(42),
296
+ h2: (0, import_react_native_size_matters.ms)(37),
297
+ h3: (0, import_react_native_size_matters.ms)(32),
298
+ h4: (0, import_react_native_size_matters.ms)(27),
299
+ h5: (0, import_react_native_size_matters.ms)(22),
300
+ h6: (0, import_react_native_size_matters.ms)(17),
301
+ body1: (0, import_react_native_size_matters.ms)(15),
302
+ body2: (0, import_react_native_size_matters.ms)(12),
303
+ caption: (0, import_react_native_size_matters.ms)(10)
304
304
  };
305
- const styles2 = import_react_native.StyleSheet.create({
305
+ const f = fontSize || _fontSize[variant];
306
+ const styles = import_react_native.StyleSheet.create({
306
307
  text: {
307
- fontSize: fontSize || _fontSize[variant],
308
+ lineHeight: f * 1.2,
309
+ fontSize: f,
308
310
  marginBottom: (0, import_react_native_size_matters.ms)(gutterBottom) || 0,
309
311
  color: colors2[color]?.main || color,
310
312
  textTransform: textCase,
@@ -319,7 +321,7 @@ var Typography = (0, import_react.forwardRef)(
319
321
  {
320
322
  ref,
321
323
  adjustsFontSizeToFit,
322
- style: [styles2.text, style],
324
+ style: [styles.text, style],
323
325
  ...props
324
326
  },
325
327
  children
@@ -329,7 +331,15 @@ var Typography = (0, import_react.forwardRef)(
329
331
  var Typography_default = Typography;
330
332
 
331
333
  // ../src/Components/FlashMessage.tsx
332
- var showFlashMessage = () => {
334
+ var flashListeners = /* @__PURE__ */ new Set();
335
+ var showFlashMessage = (msg) => {
336
+ flashListeners.forEach((listener) => listener(msg));
337
+ };
338
+ var subscribeToFlashMessages = (listener) => {
339
+ flashListeners.add(listener);
340
+ return () => {
341
+ flashListeners.delete(listener);
342
+ };
333
343
  };
334
344
  var FlashMessage = () => {
335
345
  const { top } = (0, import_react_native_safe_area_context.useSafeAreaInsets)();
@@ -352,32 +362,42 @@ var FlashMessage = () => {
352
362
  (0, import_react_native_reanimated.runOnJS)(hideMessage)();
353
363
  });
354
364
  };
355
- showFlashMessage = (msg) => {
356
- if (timeoutRef.current) {
357
- clearTimeout(timeoutRef.current);
358
- timeoutRef.current = null;
359
- }
360
- translateY.value = -200;
361
- opacity.value = 0;
362
- setMessage(msg);
363
- translateY.value = (0, import_react_native_reanimated.withTiming)(0, { duration: 300 });
364
- opacity.value = (0, import_react_native_reanimated.withTiming)(1, { duration: 300 });
365
- const duration = msg.duration || 3e3;
366
- timeoutRef.current = setTimeout(() => {
367
- translateY.value = (0, import_react_native_reanimated.withTiming)(-200, { duration: 300 });
368
- opacity.value = (0, import_react_native_reanimated.withTiming)(0, { duration: 300 }, () => {
369
- (0, import_react_native_reanimated.runOnJS)(hideMessage)();
370
- });
371
- timeoutRef.current = null;
372
- }, duration);
373
- };
365
+ (0, import_react2.useEffect)(() => {
366
+ const listener = (msg) => {
367
+ if (timeoutRef.current) {
368
+ clearTimeout(timeoutRef.current);
369
+ timeoutRef.current = null;
370
+ }
371
+ translateY.value = -200;
372
+ opacity.value = 0;
373
+ setMessage(msg);
374
+ translateY.value = (0, import_react_native_reanimated.withTiming)(0, { duration: 300 });
375
+ opacity.value = (0, import_react_native_reanimated.withTiming)(1, { duration: 300 });
376
+ const duration = msg.duration || 3e3;
377
+ timeoutRef.current = setTimeout(() => {
378
+ translateY.value = (0, import_react_native_reanimated.withTiming)(-200, { duration: 300 });
379
+ opacity.value = (0, import_react_native_reanimated.withTiming)(0, { duration: 300 }, () => {
380
+ (0, import_react_native_reanimated.runOnJS)(hideMessage)();
381
+ });
382
+ timeoutRef.current = null;
383
+ }, duration);
384
+ };
385
+ const unsubscribe = subscribeToFlashMessages(listener);
386
+ return () => {
387
+ if (timeoutRef.current) {
388
+ clearTimeout(timeoutRef.current);
389
+ timeoutRef.current = null;
390
+ }
391
+ unsubscribe();
392
+ };
393
+ }, []);
374
394
  const animatedStyle = (0, import_react_native_reanimated.useAnimatedStyle)(() => {
375
395
  return {
376
396
  transform: [{ translateY: translateY.value }],
377
397
  opacity: opacity.value
378
398
  };
379
399
  });
380
- const styles2 = import_react_native_size_matters2.ScaledSheet.create({
400
+ const styles = import_react_native_size_matters2.ScaledSheet.create({
381
401
  root: {
382
402
  position: "absolute",
383
403
  top: 0,
@@ -403,7 +423,7 @@ var FlashMessage = () => {
403
423
  });
404
424
  if (!message)
405
425
  return null;
406
- return /* @__PURE__ */ import_react2.default.createElement(import_react_native_reanimated.default.View, { style: [styles2.root, animatedStyle] }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.TouchableOpacity, { onPress: closeMessage, activeOpacity: 0.9 }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.View, { style: { flexDirection: "row" } }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.View, { style: { flex: 1, marginRight: 10 } }, message?.title && /* @__PURE__ */ import_react2.default.createElement(
426
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_native_reanimated.default.View, { style: [styles.root, animatedStyle] }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.TouchableOpacity, { onPress: closeMessage, activeOpacity: 0.9 }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.View, { style: { flexDirection: "row" } }, /* @__PURE__ */ import_react2.default.createElement(import_react_native2.View, { style: { flex: 1, marginRight: 10 } }, message?.title && /* @__PURE__ */ import_react2.default.createElement(
407
427
  Typography_default,
408
428
  {
409
429
  variant: "h6",
@@ -416,7 +436,7 @@ var FlashMessage = () => {
416
436
  import_react_native2.TouchableOpacity,
417
437
  {
418
438
  key: i,
419
- style: styles2.action,
439
+ style: styles.action,
420
440
  onPress: () => {
421
441
  cur.onPress?.();
422
442
  closeMessage();
@@ -503,6 +523,7 @@ var UIThemeProvider = ({ children }) => {
503
523
  };
504
524
 
505
525
  // ../src/hooks.ts
526
+ var import_async_storage2 = __toESM(require("@react-native-async-storage/async-storage"));
506
527
  var useColors = () => {
507
528
  const { themeState } = (0, import_react4.useContext)(UIThemeContext);
508
529
  return colors(themeState.value);
@@ -511,9 +532,22 @@ var useTheme = () => {
511
532
  const { themeState } = (0, import_react4.useContext)(UIThemeContext);
512
533
  return themeState.value;
513
534
  };
535
+ var useThemeContext = () => {
536
+ const { themeState: theme, themeDispatch } = (0, import_react4.useContext)(UIThemeContext);
537
+ const colorScheme = (0, import_react_native4.useColorScheme)();
538
+ const setTheme = (theme2) => {
539
+ if (theme2 === "default") {
540
+ themeDispatch?.({ type: "default", payload: colorScheme });
541
+ import_async_storage2.default.setItem("theme", "default");
542
+ } else {
543
+ themeDispatch?.({ type: theme2 });
544
+ import_async_storage2.default.setItem("theme", theme2);
545
+ }
546
+ };
547
+ return { theme, setTheme };
548
+ };
514
549
  var useNavScreenOptions = (type) => {
515
550
  const colors2 = useColors();
516
- const theme = useTheme();
517
551
  const options = {
518
552
  stack: {
519
553
  headerShown: false,
@@ -533,15 +567,12 @@ var useNavScreenOptions = (type) => {
533
567
  headerShown: false,
534
568
  headerTintColor: colors2.dark.main,
535
569
  tabBarStyle: {
536
- borderTopColor: theme === "dark" ? colors2.light.main : colors2.white[2],
570
+ borderTopColor: colors2.white[2],
571
+ borderColor: colors2.white[2],
537
572
  borderTopWidth: 1,
538
- // shadowColor: "#000",
539
- // shadowOffset: { height: -3, width: 0 },
540
- // shadowRadius: 7,
541
- // shadowOpacity: 0.1,
542
573
  backgroundColor: colors2.white[1]
543
574
  },
544
- tabBarActiveTintColor: colors2.blue.main,
575
+ tabBarActiveTintColor: colors2.primary.main,
545
576
  tabBarInactiveTintColor: colors2.textSecondary.main,
546
577
  tabBarLabelStyle: {
547
578
  // fontSize: ms(12),
@@ -565,10 +596,6 @@ var useNavScreenOptions = (type) => {
565
596
  }
566
597
  }
567
598
  };
568
- if (import_react_native4.Platform.OS === "android") {
569
- options.tab.tabBarStyle.height = import_react_native4.Dimensions.get("screen").height * 0.08;
570
- options.tab.tabBarStyle.paddingBottom = (0, import_react_native_size_matters3.vs)(15);
571
- }
572
599
  return options[type];
573
600
  };
574
601
 
@@ -602,7 +629,7 @@ var AdaptiveStatusBarNext_default = AdaptiveStatusBar;
602
629
  var import_vector_icons = require("@expo/vector-icons");
603
630
  var import_react6 = __toESM(require("react"));
604
631
  var import_react_native6 = require("react-native");
605
- var import_react_native_size_matters4 = require("react-native-size-matters");
632
+ var import_react_native_size_matters3 = require("react-native-size-matters");
606
633
  var AlertX = ({
607
634
  type = "info",
608
635
  variant = "contained",
@@ -612,7 +639,7 @@ var AlertX = ({
612
639
  style = {}
613
640
  }) => {
614
641
  const colors2 = useColors();
615
- const styles2 = import_react_native_size_matters4.ScaledSheet.create({
642
+ const styles = import_react_native_size_matters3.ScaledSheet.create({
616
643
  container: {
617
644
  padding: 20,
618
645
  paddingTop: 10,
@@ -620,7 +647,7 @@ var AlertX = ({
620
647
  borderRadius: 8,
621
648
  alignItems: "center",
622
649
  flexDirection: "row",
623
- marginBottom: (0, import_react_native_size_matters4.ms)(gutterBottom),
650
+ marginBottom: (0, import_react_native_size_matters3.ms)(gutterBottom),
624
651
  backgroundColor: colors2[type].main + (variant === "contained" ? "" : "3")
625
652
  },
626
653
  title: {
@@ -630,7 +657,7 @@ var AlertX = ({
630
657
  color: variant === "contained" ? "#fff" : colors2[type].main
631
658
  }
632
659
  });
633
- return /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [styles2.container, style] }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: { width: "80%" } }, /* @__PURE__ */ import_react6.default.createElement(Typography_default, { style: styles2.title, gutterBottom: 3, fontWeight: 700 }, title), body && /* @__PURE__ */ import_react6.default.createElement(Typography_default, { fontWeight: 700, variant: "body2", style: styles2.body }, body)), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: { marginLeft: "auto" } }, /* @__PURE__ */ import_react6.default.createElement(
660
+ return /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: [styles.container, style] }, /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: { width: "80%" } }, /* @__PURE__ */ import_react6.default.createElement(Typography_default, { style: styles.title, gutterBottom: 3, fontWeight: 700 }, title), body && /* @__PURE__ */ import_react6.default.createElement(Typography_default, { fontWeight: 700, variant: "body2", style: styles.body }, body)), /* @__PURE__ */ import_react6.default.createElement(import_react_native6.View, { style: { marginLeft: "auto" } }, /* @__PURE__ */ import_react6.default.createElement(
634
661
  import_vector_icons.MaterialIcons,
635
662
  {
636
663
  color: variant === "contained" ? "#fff" : colors2[type].main,
@@ -645,7 +672,7 @@ var AlertX_default = AlertX;
645
672
  var import_vector_icons2 = require("@expo/vector-icons");
646
673
  var import_react7 = __toESM(require("react"));
647
674
  var import_react_native7 = require("react-native");
648
- var import_react_native_size_matters5 = require("react-native-size-matters");
675
+ var import_react_native_size_matters4 = require("react-native-size-matters");
649
676
  var Avatar = ({
650
677
  color = "dark",
651
678
  label,
@@ -655,11 +682,11 @@ var Avatar = ({
655
682
  style = {}
656
683
  }) => {
657
684
  const colors2 = useColors();
658
- const styles2 = import_react_native_size_matters5.ScaledSheet.create({
685
+ const styles = import_react_native_size_matters4.ScaledSheet.create({
659
686
  root: {
660
687
  borderRadius: 150,
661
- height: (0, import_react_native_size_matters5.ms)(size),
662
- width: (0, import_react_native_size_matters5.ms)(size),
688
+ height: (0, import_react_native_size_matters4.ms)(size),
689
+ width: (0, import_react_native_size_matters4.ms)(size),
663
690
  alignItems: "center",
664
691
  justifyContent: "center",
665
692
  overflow: "hidden",
@@ -673,7 +700,7 @@ var Avatar = ({
673
700
  width: "110%"
674
701
  }
675
702
  });
676
- return /* @__PURE__ */ import_react7.default.createElement(import_react_native7.View, { style: styles2.root }, source ? /* @__PURE__ */ import_react7.default.createElement(import_react_native7.Image, { resizeMode: "cover", style: styles2.image, source }) : label ? /* @__PURE__ */ import_react7.default.createElement(Typography_default, { style: { color: colors2[color].text } }, label[0]) : /* @__PURE__ */ import_react7.default.createElement(import_vector_icons2.AntDesign, { name: "user", color: "#fff", size: Math.round(size / 1.5) }));
703
+ return /* @__PURE__ */ import_react7.default.createElement(import_react_native7.View, { style: styles.root }, source ? /* @__PURE__ */ import_react7.default.createElement(import_react_native7.Image, { resizeMode: "cover", style: styles.image, source }) : label ? /* @__PURE__ */ import_react7.default.createElement(Typography_default, { style: { color: colors2[color].text } }, label[0]) : /* @__PURE__ */ import_react7.default.createElement(import_vector_icons2.AntDesign, { name: "user", color: "#fff", size: Math.round(size / 1.5) }));
677
704
  };
678
705
  var Avatar_default = Avatar;
679
706
 
@@ -681,7 +708,7 @@ var Avatar_default = Avatar;
681
708
  var import_vector_icons3 = require("@expo/vector-icons");
682
709
  var import_react8 = __toESM(require("react"));
683
710
  var import_react_native8 = require("react-native");
684
- var import_react_native_size_matters6 = require("react-native-size-matters");
711
+ var import_react_native_size_matters5 = require("react-native-size-matters");
685
712
  var LinkButton = ({
686
713
  title,
687
714
  style = {},
@@ -693,15 +720,15 @@ var LinkButton = ({
693
720
  }
694
721
  }) => {
695
722
  const colors2 = useColors();
696
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
723
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
697
724
  text: {
698
- fontSize: (0, import_react_native_size_matters6.moderateScale)(fontSize),
725
+ fontSize: (0, import_react_native_size_matters5.moderateScale)(fontSize),
699
726
  fontWeight: fontWeight.toString(),
700
727
  fontFamily: getFontFamily(fontWeight),
701
728
  color: disabled ? "#777" : colors2[color].main
702
729
  }
703
730
  });
704
- return /* @__PURE__ */ import_react8.default.createElement(import_react_native8.TouchableOpacity, { onPress, disabled }, /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: { ...styles2.text, ...style } }, title));
731
+ return /* @__PURE__ */ import_react8.default.createElement(import_react_native8.TouchableOpacity, { onPress, disabled }, /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: { ...styles.text, ...style } }, title));
705
732
  };
706
733
  var IconButton = ({
707
734
  style = {},
@@ -719,7 +746,7 @@ var IconButton = ({
719
746
  const colors2 = useColors();
720
747
  const theme = useTheme();
721
748
  const bgColor = theme === "light" ? "#fff" : "#222";
722
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
749
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
723
750
  container: {
724
751
  alignSelf: "flex-start",
725
752
  flexGrow: 0,
@@ -731,8 +758,8 @@ var IconButton = ({
731
758
  height: 1,
732
759
  width: 0
733
760
  },
734
- height: bg ? (0, import_react_native_size_matters6.ms)(size + 20) : void 0,
735
- width: bg ? (0, import_react_native_size_matters6.ms)(size + 20) : void 0,
761
+ height: bg ? (0, import_react_native_size_matters5.ms)(size + 20) : void 0,
762
+ width: bg ? (0, import_react_native_size_matters5.ms)(size + 20) : void 0,
736
763
  alignItems: "center",
737
764
  justifyContent: "center",
738
765
  shadowRadius: elevation,
@@ -752,9 +779,9 @@ var IconButton = ({
752
779
  {
753
780
  onPress,
754
781
  activeOpacity: 0.3,
755
- style: { ...styles2.container, ...containerStyles }
782
+ style: { ...styles.container, ...containerStyles }
756
783
  },
757
- /* @__PURE__ */ import_react8.default.createElement(IconComp, { style: { ...styles2.text, ...style }, name: icon, size })
784
+ /* @__PURE__ */ import_react8.default.createElement(IconComp, { style: { ...styles.text, ...style }, name: icon, size })
758
785
  );
759
786
  };
760
787
  var Button = (0, import_react8.forwardRef)(
@@ -777,7 +804,7 @@ var Button = (0, import_react8.forwardRef)(
777
804
  end
778
805
  }, ref) => {
779
806
  const colors2 = useColors();
780
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
807
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
781
808
  con: {
782
809
  flexDirection: "row",
783
810
  alignItems: "center",
@@ -814,7 +841,7 @@ var Button = (0, import_react8.forwardRef)(
814
841
  ref,
815
842
  onPress,
816
843
  disabled,
817
- style: styles2.con
844
+ style: styles.con
818
845
  },
819
846
  start,
820
847
  loading && /* @__PURE__ */ import_react8.default.createElement(
@@ -825,7 +852,7 @@ var Button = (0, import_react8.forwardRef)(
825
852
  style: { marginRight: 10 }
826
853
  }
827
854
  ),
828
- /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: styles2.text }, title),
855
+ /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: styles.text }, title),
829
856
  end
830
857
  );
831
858
  }
@@ -836,7 +863,7 @@ var Button_default = Button;
836
863
  var import_vector_icons4 = require("@expo/vector-icons");
837
864
  var import_react9 = __toESM(require("react"));
838
865
  var import_react_native9 = require("react-native");
839
- var import_react_native_size_matters7 = require("react-native-size-matters");
866
+ var import_react_native_size_matters6 = require("react-native-size-matters");
840
867
  var CheckBox = ({
841
868
  color = "primary",
842
869
  checked,
@@ -847,14 +874,14 @@ var CheckBox = ({
847
874
  }) => {
848
875
  const iconName = checked ? "checkbox-marked" : "checkbox-blank-outline";
849
876
  const colors2 = useColors();
850
- const styles2 = import_react_native_size_matters7.ScaledSheet.create({
877
+ const styles = import_react_native_size_matters6.ScaledSheet.create({
851
878
  container: {
852
879
  alignItems: "center",
853
880
  flexDirection: "row",
854
881
  ...style
855
882
  }
856
883
  });
857
- return /* @__PURE__ */ import_react9.default.createElement(import_react_native9.View, { style: styles2.container }, /* @__PURE__ */ import_react9.default.createElement(import_react_native9.TouchableOpacity, { onPress: onChange }, /* @__PURE__ */ import_react9.default.createElement(
884
+ return /* @__PURE__ */ import_react9.default.createElement(import_react_native9.View, { style: styles.container }, /* @__PURE__ */ import_react9.default.createElement(import_react_native9.TouchableOpacity, { onPress: onChange }, /* @__PURE__ */ import_react9.default.createElement(
858
885
  import_vector_icons4.MaterialCommunityIcons,
859
886
  {
860
887
  name: iconName,
@@ -867,7 +894,8 @@ var CheckBox = ({
867
894
  // ../src/Components/FormWrapper.tsx
868
895
  var import_react10 = __toESM(require("react"));
869
896
  var import_react_native10 = require("react-native");
870
- var import_react_native_size_matters8 = require("react-native-size-matters");
897
+ var import_react_native_size_matters7 = require("react-native-size-matters");
898
+ var import_react_native_safe_area_context3 = require("react-native-safe-area-context");
871
899
  var FormWrapper = ({
872
900
  children,
873
901
  behavior = import_react_native10.Platform.OS === "ios" ? "padding" : "height",
@@ -877,7 +905,9 @@ var FormWrapper = ({
877
905
  style = {},
878
906
  onScroll
879
907
  }) => {
880
- const styles2 = import_react_native_size_matters8.ScaledSheet.create({
908
+ const { bottom } = (0, import_react_native_safe_area_context3.useSafeAreaInsets)();
909
+ const defaultOffset = import_react_native10.Platform.OS === "ios" ? -bottom : -bottom * 2;
910
+ const styles = import_react_native_size_matters7.ScaledSheet.create({
881
911
  root: {
882
912
  width: "100%",
883
913
  flex: 1,
@@ -887,18 +917,18 @@ var FormWrapper = ({
887
917
  return mode === "static" ? /* @__PURE__ */ import_react10.default.createElement(import_react_native10.TouchableWithoutFeedback, { onPress: import_react_native10.Keyboard.dismiss, accessible: false }, /* @__PURE__ */ import_react10.default.createElement(
888
918
  import_react_native10.KeyboardAvoidingView,
889
919
  {
890
- style: styles2.root,
920
+ style: styles.root,
891
921
  behavior,
892
- contentContainerStyle: styles2.root,
893
- keyboardVerticalOffset
922
+ contentContainerStyle: styles.root,
923
+ keyboardVerticalOffset: keyboardVerticalOffset || defaultOffset
894
924
  },
895
925
  children
896
926
  )) : /* @__PURE__ */ import_react10.default.createElement(
897
927
  import_react_native10.KeyboardAvoidingView,
898
928
  {
899
929
  behavior,
900
- style: styles2.root,
901
- keyboardVerticalOffset
930
+ style: styles.root,
931
+ keyboardVerticalOffset: keyboardVerticalOffset || defaultOffset
902
932
  },
903
933
  /* @__PURE__ */ import_react10.default.createElement(
904
934
  import_react_native10.ScrollView,
@@ -920,17 +950,17 @@ var import_vector_icons5 = require("@expo/vector-icons");
920
950
  var Haptics = __toESM(require("expo-haptics"));
921
951
  var import_react12 = require("react");
922
952
  var import_react_native12 = require("react-native");
923
- var import_react_native_size_matters10 = require("react-native-size-matters");
953
+ var import_react_native_size_matters9 = require("react-native-size-matters");
924
954
 
925
955
  // ../src/Components/Popup.tsx
926
956
  var import_react_native11 = require("react-native");
927
957
  var import_react11 = __toESM(require("react"));
928
958
  var import_react_native_reanimated2 = __toESM(require("react-native-reanimated"));
929
- var import_react_native_safe_area_context3 = require("react-native-safe-area-context");
930
- var import_react_native_size_matters9 = require("react-native-size-matters");
959
+ var import_react_native_safe_area_context4 = require("react-native-safe-area-context");
960
+ var import_react_native_size_matters8 = require("react-native-size-matters");
931
961
  var Popup = ({
932
962
  title,
933
- sheet,
963
+ sheet = true,
934
964
  bare = false,
935
965
  keyboardVerticalOffset,
936
966
  children,
@@ -944,8 +974,9 @@ var Popup = ({
944
974
  const theme = useTheme();
945
975
  const colors2 = useColors();
946
976
  const [modalVisible, setModalVisible] = (0, import_react11.useState)(false);
977
+ const [modalOpen, setModalOpen] = (0, import_react11.useState)(false);
947
978
  const [keyboardVisible, setKeyboardVisible] = (0, import_react11.useState)(false);
948
- const { bottom } = (0, import_react_native_safe_area_context3.useSafeAreaInsets)();
979
+ const { bottom } = (0, import_react_native_safe_area_context4.useSafeAreaInsets)();
949
980
  const backdropOpacity = (0, import_react_native_reanimated2.useSharedValue)(0);
950
981
  const contentTranslateY = (0, import_react_native_reanimated2.useSharedValue)(1e3);
951
982
  const keyboardVerticalOffsetValue = import_react_native11.Platform.OS === "ios" ? -bottom : -bottom * 2;
@@ -967,22 +998,26 @@ var Popup = ({
967
998
  keyboardDidShowListener?.remove();
968
999
  };
969
1000
  }, []);
1001
+ const _onModalShow = () => {
1002
+ setModalVisible(true);
1003
+ onModalShow?.();
1004
+ };
1005
+ const _onModalHide = () => {
1006
+ onModalHide?.();
1007
+ setModalOpen(false);
1008
+ };
970
1009
  (0, import_react11.useEffect)(() => {
971
1010
  if (open) {
972
- setModalVisible(true);
1011
+ setModalOpen(true);
973
1012
  backdropOpacity.value = (0, import_react_native_reanimated2.withTiming)(1, { duration: 300 });
974
1013
  contentTranslateY.value = (0, import_react_native_reanimated2.withTiming)(0, { duration: 300 }, () => {
975
- if (onModalShow) {
976
- (0, import_react_native_reanimated2.runOnJS)(onModalShow)();
977
- }
1014
+ (0, import_react_native_reanimated2.runOnJS)(_onModalShow)();
978
1015
  });
979
1016
  } else {
1017
+ setModalVisible(false);
980
1018
  backdropOpacity.value = (0, import_react_native_reanimated2.withTiming)(0, { duration: 200 });
981
1019
  contentTranslateY.value = (0, import_react_native_reanimated2.withTiming)(1e3, { duration: 200 }, () => {
982
- (0, import_react_native_reanimated2.runOnJS)(setModalVisible)(false);
983
- if (onModalHide) {
984
- (0, import_react_native_reanimated2.runOnJS)(onModalHide)();
985
- }
1020
+ (0, import_react_native_reanimated2.runOnJS)(_onModalHide)();
986
1021
  });
987
1022
  }
988
1023
  }, [open]);
@@ -992,7 +1027,7 @@ var Popup = ({
992
1027
  const contentAnimatedStyle = (0, import_react_native_reanimated2.useAnimatedStyle)(() => ({
993
1028
  transform: [{ translateY: contentTranslateY.value }]
994
1029
  }));
995
- const styles2 = import_react_native_size_matters9.ScaledSheet.create({
1030
+ const styles = import_react_native_size_matters8.ScaledSheet.create({
996
1031
  root: {
997
1032
  height: "100%",
998
1033
  width: "100%",
@@ -1012,7 +1047,7 @@ var Popup = ({
1012
1047
  marginBottom: import_react_native11.Platform.OS === "android" && keyboardVisible ? bottom : 0
1013
1048
  },
1014
1049
  container: {
1015
- paddingBottom: sheet && !bare ? bottom + (0, import_react_native_size_matters9.ms)(10) : void 0,
1050
+ paddingBottom: sheet && !bare ? bottom + (0, import_react_native_size_matters8.ms)(10) : void 0,
1016
1051
  backgroundColor: theme === "dark" ? "#111" : colors2.white[1],
1017
1052
  borderTopLeftRadius: 20,
1018
1053
  borderTopRightRadius: 20,
@@ -1052,17 +1087,17 @@ var Popup = ({
1052
1087
  transparent: true,
1053
1088
  animationType: "none",
1054
1089
  statusBarTranslucent: true,
1055
- visible: modalVisible,
1090
+ visible: modalOpen,
1056
1091
  onRequestClose: closeAction
1057
1092
  },
1058
- /* @__PURE__ */ import_react11.default.createElement(UIThemeProvider, null, /* @__PURE__ */ import_react11.default.createElement(import_react_native_reanimated2.default.View, { style: [styles2.backdrop, backdropAnimatedStyle] }), /* @__PURE__ */ import_react11.default.createElement(
1093
+ /* @__PURE__ */ import_react11.default.createElement(UIThemeProvider, null, /* @__PURE__ */ import_react11.default.createElement(import_react_native_reanimated2.default.View, { style: [styles.backdrop, backdropAnimatedStyle] }), /* @__PURE__ */ import_react11.default.createElement(
1059
1094
  import_react_native11.KeyboardAvoidingView,
1060
1095
  {
1061
- style: styles2.keyboardView,
1096
+ style: styles.keyboardView,
1062
1097
  behavior: import_react_native11.Platform.OS === "ios" ? "padding" : "height",
1063
1098
  keyboardVerticalOffset: keyboardVerticalOffset || keyboardVerticalOffsetValue
1064
1099
  },
1065
- /* @__PURE__ */ import_react11.default.createElement(import_react_native11.TouchableWithoutFeedback, { onPress: import_react_native11.Keyboard.dismiss }, /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles2.root }, open && /* @__PURE__ */ import_react11.default.createElement(
1100
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native11.TouchableWithoutFeedback, { onPress: import_react_native11.Keyboard.dismiss }, /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.root }, modalOpen && /* @__PURE__ */ import_react11.default.createElement(
1066
1101
  import_react_native11.Pressable,
1067
1102
  {
1068
1103
  style: [import_react_native11.StyleSheet.absoluteFill, { zIndex: 1 }],
@@ -1071,17 +1106,17 @@ var Popup = ({
1071
1106
  ), /* @__PURE__ */ import_react11.default.createElement(
1072
1107
  import_react_native_reanimated2.default.View,
1073
1108
  {
1074
- style: [styles2.avoidingView, contentAnimatedStyle],
1075
- layout: import_react_native_reanimated2.LinearTransition.springify().stiffness(200).mass(0.5).damping(100)
1109
+ style: [styles.avoidingView, contentAnimatedStyle],
1110
+ layout: modalVisible ? import_react_native_reanimated2.LinearTransition.springify().stiffness(200).mass(0.5).damping(100) : void 0
1076
1111
  },
1077
- /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles2.container }, !bare && /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles2.title }, /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles2.titleIcon }, /* @__PURE__ */ import_react11.default.createElement(
1112
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.container }, !bare && /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.title }, /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.titleIcon }, /* @__PURE__ */ import_react11.default.createElement(
1078
1113
  IconButton,
1079
1114
  {
1080
1115
  size: 20,
1081
1116
  icon: "close",
1082
1117
  onPress: closeAction
1083
1118
  }
1084
- )), /* @__PURE__ */ import_react11.default.createElement(Typography_default, { align: "center", fontWeight: 500 }, title)), /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles2.content }, children))
1119
+ )), /* @__PURE__ */ import_react11.default.createElement(Typography_default, { align: "center", fontWeight: 500 }, title)), /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.content }, children))
1085
1120
  )))
1086
1121
  ))
1087
1122
  );
@@ -1093,13 +1128,13 @@ var RatingStars = ({
1093
1128
  size = 16
1094
1129
  }) => {
1095
1130
  const colors2 = useColors();
1096
- const styles2 = import_react_native_size_matters10.ScaledSheet.create({
1131
+ const styles = import_react_native_size_matters9.ScaledSheet.create({
1097
1132
  root: {
1098
1133
  flexDirection: "row",
1099
1134
  alignItems: "center"
1100
1135
  }
1101
1136
  });
1102
- return /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles2.root }, [...Array(Math.floor(rating))].map((_, index) => /* @__PURE__ */ React.createElement(import_vector_icons5.Ionicons, { key: index, name: "star", size, color: "#FFD700" })), [...Array(5 - Math.floor(rating))].map((_, index) => /* @__PURE__ */ React.createElement(
1137
+ return /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles.root }, [...Array(Math.floor(rating))].map((_, index) => /* @__PURE__ */ React.createElement(import_vector_icons5.Ionicons, { key: index, name: "star", size, color: "#FFD700" })), [...Array(5 - Math.floor(rating))].map((_, index) => /* @__PURE__ */ React.createElement(
1103
1138
  import_vector_icons5.Ionicons,
1104
1139
  {
1105
1140
  key: index,
@@ -1119,7 +1154,7 @@ var RatingInput = ({
1119
1154
  const colors2 = useColors();
1120
1155
  const [loading, setLoading] = (0, import_react12.useState)(false);
1121
1156
  const [review, setReview] = (0, import_react12.useState)("");
1122
- const styles2 = import_react_native_size_matters10.ScaledSheet.create({
1157
+ const styles = import_react_native_size_matters9.ScaledSheet.create({
1123
1158
  root: {
1124
1159
  flexDirection: "row",
1125
1160
  alignItems: "center"
@@ -1152,7 +1187,7 @@ var RatingInput = ({
1152
1187
  _onSubmit && await _onSubmit({ rating: rate, review });
1153
1188
  setLoading(false);
1154
1189
  };
1155
- return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles2.root }, loading ? /* @__PURE__ */ React.createElement(import_react_native12.ActivityIndicator, null) : [...Array(5)].map((_, index) => /* @__PURE__ */ React.createElement(
1190
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles.root }, loading ? /* @__PURE__ */ React.createElement(import_react_native12.ActivityIndicator, null) : [...Array(5)].map((_, index) => /* @__PURE__ */ React.createElement(
1156
1191
  import_react_native12.TouchableOpacity,
1157
1192
  {
1158
1193
  key: index,
@@ -1199,10 +1234,10 @@ var RatingInput = ({
1199
1234
  },
1200
1235
  "Add to your review"
1201
1236
  ),
1202
- /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles2.inputCon }, /* @__PURE__ */ React.createElement(
1237
+ /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles.inputCon }, /* @__PURE__ */ React.createElement(
1203
1238
  import_react_native12.TextInput,
1204
1239
  {
1205
- style: styles2.input,
1240
+ style: styles.input,
1206
1241
  multiline: true,
1207
1242
  value: review,
1208
1243
  onChangeText: (text) => setReview(text),
@@ -1227,7 +1262,7 @@ var RatingInput = ({
1227
1262
  // ../src/Components/Grid.tsx
1228
1263
  var import_react13 = __toESM(require("react"));
1229
1264
  var import_react_native13 = require("react-native");
1230
- var import_react_native_size_matters11 = require("react-native-size-matters");
1265
+ var import_react_native_size_matters10 = require("react-native-size-matters");
1231
1266
  var GridItem = ({
1232
1267
  children,
1233
1268
  col = 2,
@@ -1235,28 +1270,28 @@ var GridItem = ({
1235
1270
  spacing = 1,
1236
1271
  style = {}
1237
1272
  }) => {
1238
- const styles2 = import_react_native_size_matters11.ScaledSheet.create({
1273
+ const styles = import_react_native_size_matters10.ScaledSheet.create({
1239
1274
  gridItem: {
1240
1275
  width: `${100 / col}%`,
1241
- padding: (0, import_react_native_size_matters11.ms)(spacing * 10),
1276
+ padding: (0, import_react_native_size_matters10.ms)(spacing * 10),
1242
1277
  alignItems
1243
1278
  }
1244
1279
  });
1245
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles2.gridItem, style] });
1280
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles.gridItem, style] });
1246
1281
  };
1247
1282
  var Grid = ({
1248
1283
  children,
1249
1284
  spacing = 1,
1250
1285
  style = {}
1251
1286
  }) => {
1252
- const styles2 = import_react_native_size_matters11.ScaledSheet.create({
1287
+ const styles = import_react_native_size_matters10.ScaledSheet.create({
1253
1288
  grid: {
1254
1289
  flexWrap: "wrap",
1255
1290
  margin: `${-spacing * 10}@ms`,
1256
1291
  flexDirection: "row"
1257
1292
  }
1258
1293
  });
1259
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles2.grid, style] });
1294
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles.grid, style] });
1260
1295
  };
1261
1296
 
1262
1297
  // ../src/Components/Locator.tsx
@@ -1268,7 +1303,7 @@ var import_react_native17 = require("react-native");
1268
1303
  var import_vector_icons6 = require("@expo/vector-icons");
1269
1304
  var import_react14 = __toESM(require("react"));
1270
1305
  var import_react_native14 = require("react-native");
1271
- var import_react_native_size_matters12 = require("react-native-size-matters");
1306
+ var import_react_native_size_matters11 = require("react-native-size-matters");
1272
1307
  var ListItem = ({
1273
1308
  link = false,
1274
1309
  divider = false,
@@ -1278,7 +1313,7 @@ var ListItem = ({
1278
1313
  children
1279
1314
  }) => {
1280
1315
  const colors2 = useColors();
1281
- const styles2 = import_react_native_size_matters12.ScaledSheet.create({
1316
+ const styles = import_react_native_size_matters11.ScaledSheet.create({
1282
1317
  root: {
1283
1318
  flexDirection: "row",
1284
1319
  alignItems: "center",
@@ -1291,7 +1326,7 @@ var ListItem = ({
1291
1326
  return /* @__PURE__ */ import_react14.default.createElement(
1292
1327
  import_react_native14.View,
1293
1328
  null,
1294
- /* @__PURE__ */ import_react14.default.createElement(import_react_native14.TouchableOpacity, { disabled: Boolean(!onPress), onPress }, /* @__PURE__ */ import_react14.default.createElement(import_react_native14.View, { style: { ...styles2.root, ...style } }, children, link && /* @__PURE__ */ import_react14.default.createElement(
1329
+ /* @__PURE__ */ import_react14.default.createElement(import_react_native14.TouchableOpacity, { disabled: Boolean(!onPress), onPress }, /* @__PURE__ */ import_react14.default.createElement(import_react_native14.View, { style: { ...styles.root, ...style } }, children, link && /* @__PURE__ */ import_react14.default.createElement(
1295
1330
  import_vector_icons6.MaterialIcons,
1296
1331
  {
1297
1332
  color: colors2.white[5],
@@ -1307,14 +1342,14 @@ var ListItem = ({
1307
1342
  var import_vector_icons8 = require("@expo/vector-icons");
1308
1343
  var import_react16 = __toESM(require("react"));
1309
1344
  var import_react_native16 = require("react-native");
1310
- var import_react_native_size_matters14 = require("react-native-size-matters");
1345
+ var import_react_native_size_matters13 = require("react-native-size-matters");
1311
1346
 
1312
1347
  // ../src/Components/SelectMenu.tsx
1313
1348
  var import_vector_icons7 = require("@expo/vector-icons");
1314
1349
  var import_react15 = __toESM(require("react"));
1315
1350
  var import_react_native15 = require("react-native");
1316
- var import_react_native_safe_area_context4 = require("react-native-safe-area-context");
1317
- var import_react_native_size_matters13 = require("react-native-size-matters");
1351
+ var import_react_native_safe_area_context5 = require("react-native-safe-area-context");
1352
+ var import_react_native_size_matters12 = require("react-native-size-matters");
1318
1353
  var SelectMenu = ({
1319
1354
  open = false,
1320
1355
  onClose,
@@ -1324,22 +1359,15 @@ var SelectMenu = ({
1324
1359
  disableAutoClose = false,
1325
1360
  label,
1326
1361
  secondary,
1327
- helperText
1362
+ helperText,
1363
+ searchEnabled = false,
1364
+ searchPlaceholder = "Search"
1328
1365
  }) => {
1329
1366
  const colors2 = useColors();
1330
- const { bottom } = (0, import_react_native_safe_area_context4.useSafeAreaInsets)();
1367
+ const { bottom } = (0, import_react_native_safe_area_context5.useSafeAreaInsets)();
1331
1368
  const [search, setSearch] = (0, import_react15.useState)("");
1332
- const styles2 = import_react_native_size_matters13.ScaledSheet.create({
1333
- root: {
1334
- backgroundColor: colors2.white[1],
1335
- flex: 1
1336
- },
1337
- content: {
1338
- flex: 1,
1339
- paddingHorizontal: "10@ms"
1340
- },
1369
+ const styles = import_react_native_size_matters12.ScaledSheet.create({
1341
1370
  header: {
1342
- paddingTop: "80@ms",
1343
1371
  marginBottom: "20@vs"
1344
1372
  },
1345
1373
  option: {
@@ -1349,11 +1377,6 @@ var SelectMenu = ({
1349
1377
  flexDirection: "row",
1350
1378
  alignItems: "center",
1351
1379
  marginBottom: "10@vs"
1352
- },
1353
- footer: {
1354
- paddingBottom: bottom,
1355
- paddingHorizontal: "15@ms",
1356
- paddingTop: "15@ms"
1357
1380
  }
1358
1381
  });
1359
1382
  const renderItem = (0, import_react15.useCallback)(
@@ -1361,7 +1384,7 @@ var SelectMenu = ({
1361
1384
  import_react_native15.TouchableOpacity,
1362
1385
  {
1363
1386
  style: {
1364
- ...styles2.option,
1387
+ ...styles.option,
1365
1388
  backgroundColor: item.value === value ? colors2.blue.light + "22" : colors2.white[2]
1366
1389
  },
1367
1390
  onPress: () => {
@@ -1375,6 +1398,7 @@ var SelectMenu = ({
1375
1398
  /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: { flex: 1 } }, /* @__PURE__ */ import_react15.default.createElement(
1376
1399
  Typography_default,
1377
1400
  {
1401
+ variant: "body2",
1378
1402
  style: {
1379
1403
  color: item.value === value ? colors2.blue.light : colors2.black[2]
1380
1404
  }
@@ -1403,10 +1427,10 @@ var SelectMenu = ({
1403
1427
  ),
1404
1428
  [value, colors2]
1405
1429
  );
1406
- return /* @__PURE__ */ import_react15.default.createElement(import_react_native15.Modal, { visible: open, animationType: "slide", onRequestClose: onClose }, /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles2.root }, /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles2.content }, /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles2.header }, /* @__PURE__ */ import_react15.default.createElement(Typography_default, { variant: "h5", gutterBottom: 5, fontWeight: 700 }, label), helperText ? /* @__PURE__ */ import_react15.default.createElement(Typography_default, { variant: "body2", color: "textSecondary" }, helperText) : null, /* @__PURE__ */ import_react15.default.createElement(
1430
+ return /* @__PURE__ */ import_react15.default.createElement(Popup, { open, onClose, title: label }, /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles.content }, /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles.header }, helperText && /* @__PURE__ */ import_react15.default.createElement(Typography_default, { variant: "body2", color: "textSecondary", gutterBottom: 5 }, helperText), searchEnabled && /* @__PURE__ */ import_react15.default.createElement(
1407
1431
  TextField_default,
1408
1432
  {
1409
- label: "Search",
1433
+ label: searchPlaceholder,
1410
1434
  value: search,
1411
1435
  type: "search",
1412
1436
  onChangeText: setSearch,
@@ -1417,21 +1441,13 @@ var SelectMenu = ({
1417
1441
  {
1418
1442
  removeClippedSubviews: true,
1419
1443
  keyExtractor: (item) => item.value,
1444
+ bounces: false,
1420
1445
  renderItem,
1421
1446
  data: options.filter(
1422
1447
  (item) => search.length > 1 ? item.label.toLowerCase().indexOf(search.toLowerCase()) > -1 : item
1423
1448
  ).sort((a, b) => a.label.localeCompare(b.label))
1424
1449
  }
1425
- )), /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles2.footer }, /* @__PURE__ */ import_react15.default.createElement(
1426
- Button_default,
1427
- {
1428
- color: "error",
1429
- variant: "outlined",
1430
- fullWidth: true,
1431
- title: "Close",
1432
- onPress: onClose
1433
- }
1434
- ))));
1450
+ )));
1435
1451
  };
1436
1452
  var SelectMenu_default = SelectMenu;
1437
1453
 
@@ -1461,32 +1477,33 @@ var TextField = ({
1461
1477
  gutterBottom = 0,
1462
1478
  end,
1463
1479
  options,
1480
+ selectMenuProps,
1464
1481
  ...props
1465
1482
  }) => {
1466
1483
  const colors2 = useColors();
1467
1484
  const [focused, setFocused] = (0, import_react16.useState)(false);
1468
- const height = (0, import_react_native_size_matters14.moderateScale)(variant === "text" ? 50 : 45) * (size === "large" ? 1.2 : size === "small" ? 0.8 : 1);
1485
+ const height = (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 50 : 45) * (size === "large" ? 1.2 : size === "small" ? 0.8 : 1);
1469
1486
  const labelAnim = (0, import_react16.useRef)(
1470
- new import_react_native16.Animated.Value(height / (0, import_react_native_size_matters14.moderateScale)(variant === "text" ? 2.5 : 3.2))
1487
+ new import_react_native16.Animated.Value(height / (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 2.5 : 3.2))
1471
1488
  ).current;
1472
1489
  import_react16.default.useEffect(() => {
1473
1490
  if (focused || value) {
1474
1491
  import_react_native16.Animated.timing(labelAnim, {
1475
- toValue: (0, import_react_native_size_matters14.verticalScale)(variant === "text" ? 2 : 4),
1492
+ toValue: (0, import_react_native_size_matters13.verticalScale)(variant === "text" ? 2 : 4),
1476
1493
  duration: 300,
1477
1494
  useNativeDriver: false
1478
1495
  }).start();
1479
1496
  } else {
1480
1497
  import_react_native16.Animated.timing(labelAnim, {
1481
- toValue: height / (0, import_react_native_size_matters14.moderateScale)(variant === "text" ? 2.5 : 3.2),
1498
+ toValue: height / (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 2.5 : 3.2),
1482
1499
  duration: 300,
1483
1500
  useNativeDriver: false
1484
1501
  }).start();
1485
1502
  }
1486
1503
  }, [focused, value]);
1487
- const styles2 = import_react_native_size_matters14.ScaledSheet.create({
1504
+ const styles = import_react_native_size_matters13.ScaledSheet.create({
1488
1505
  root: {
1489
- marginBottom: (0, import_react_native_size_matters14.ms)(gutterBottom),
1506
+ marginBottom: (0, import_react_native_size_matters13.ms)(gutterBottom),
1490
1507
  width: "100%",
1491
1508
  ...style
1492
1509
  },
@@ -1507,8 +1524,8 @@ var TextField = ({
1507
1524
  fontSize: "14@s",
1508
1525
  flex: 1,
1509
1526
  alignSelf: "stretch",
1510
- paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters14.moderateScale)(15),
1511
- paddingRight: (0, import_react_native_size_matters14.moderateScale)(10),
1527
+ paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1528
+ paddingRight: (0, import_react_native_size_matters13.moderateScale)(10),
1512
1529
  paddingTop: "11@vs",
1513
1530
  fontFamily: getFontFamily(400),
1514
1531
  color: colors2.black[1],
@@ -1518,13 +1535,13 @@ var TextField = ({
1518
1535
  inputText: {
1519
1536
  fontSize: "14@ms",
1520
1537
  flex: 1,
1521
- paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters14.moderateScale)(15),
1538
+ paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1522
1539
  paddingTop: "13@ms"
1523
1540
  },
1524
1541
  label: {
1525
1542
  fontFamily: getFontFamily(400),
1526
1543
  position: "absolute",
1527
- left: variant === "text" ? 0 : (0, import_react_native_size_matters14.moderateScale)(15),
1544
+ left: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1528
1545
  fontSize: focused || value ? "10@s" : "13@s",
1529
1546
  color: focused ? colors2[color].main : colors2.textSecondary.main
1530
1547
  },
@@ -1566,13 +1583,13 @@ var TextField = ({
1566
1583
  autoCapitalize: "none",
1567
1584
  textContentType: "password"
1568
1585
  } : {};
1569
- return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles2.root }, /* @__PURE__ */ import_react16.default.createElement(
1586
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.root }, /* @__PURE__ */ import_react16.default.createElement(
1570
1587
  import_react_native16.TouchableOpacity,
1571
1588
  {
1572
1589
  onPress: () => setFocused(true),
1573
- style: styles2.container
1590
+ style: styles.container
1574
1591
  },
1575
- /* @__PURE__ */ import_react16.default.createElement(import_react_native16.Animated.Text, { style: { ...styles2.label, top: labelAnim } }, label),
1592
+ /* @__PURE__ */ import_react16.default.createElement(import_react_native16.Animated.Text, { style: { ...styles.label, top: labelAnim } }, label),
1576
1593
  start,
1577
1594
  options ? /* @__PURE__ */ import_react16.default.createElement(
1578
1595
  import_react_native16.View,
@@ -1583,13 +1600,13 @@ var TextField = ({
1583
1600
  import_react_native16.View,
1584
1601
  {
1585
1602
  style: {
1586
- paddingTop: variant !== "outlined" ? (0, import_react_native_size_matters14.ms)(13) : 0,
1603
+ paddingTop: variant !== "outlined" ? (0, import_react_native_size_matters13.ms)(13) : 0,
1587
1604
  paddingRight: 10
1588
1605
  }
1589
1606
  },
1590
1607
  options.find((cur) => cur.value === value)?.start
1591
1608
  ),
1592
- /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.inputText }, options.find((cur) => cur.value === value)?.label)
1609
+ /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.inputText }, options.find((cur) => cur.value === value)?.label)
1593
1610
  ) : /* @__PURE__ */ import_react16.default.createElement(
1594
1611
  import_react_native16.TextInput,
1595
1612
  {
@@ -1610,7 +1627,7 @@ var TextField = ({
1610
1627
  placeholderTextColor: colors2.textSecondary.main,
1611
1628
  ...formProps,
1612
1629
  ...props,
1613
- style: styles2.input
1630
+ style: styles.input
1614
1631
  }
1615
1632
  ),
1616
1633
  end && /* @__PURE__ */ import_react16.default.createElement(
@@ -1618,7 +1635,7 @@ var TextField = ({
1618
1635
  {
1619
1636
  style: {
1620
1637
  marginRight: 20,
1621
- paddingTop: variant === "text" ? (0, import_react_native_size_matters14.ms)(13) : 0
1638
+ paddingTop: variant === "text" ? (0, import_react_native_size_matters13.ms)(13) : 0
1622
1639
  }
1623
1640
  },
1624
1641
  end
@@ -1628,7 +1645,7 @@ var TextField = ({
1628
1645
  {
1629
1646
  style: {
1630
1647
  marginRight: variant === "text" ? 0 : 20,
1631
- paddingTop: variant === "text" ? (0, import_react_native_size_matters14.ms)(13) : 0
1648
+ paddingTop: variant === "text" ? (0, import_react_native_size_matters13.ms)(13) : 0
1632
1649
  }
1633
1650
  },
1634
1651
  /* @__PURE__ */ import_react16.default.createElement(
@@ -1644,11 +1661,11 @@ var TextField = ({
1644
1661
  Typography_default,
1645
1662
  {
1646
1663
  color: "textSecondary",
1647
- style: styles2.helperText,
1664
+ style: styles.helperText,
1648
1665
  variant: "caption"
1649
1666
  },
1650
1667
  helperText
1651
- ), error && /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles2.error }, /* @__PURE__ */ import_react16.default.createElement(import_vector_icons8.MaterialIcons, { name: "error", color: colors2.error.main, size: 16 }), /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.errorText, color: "error" }, error))), options && /* @__PURE__ */ import_react16.default.createElement(
1668
+ ), error && /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.error }, /* @__PURE__ */ import_react16.default.createElement(import_vector_icons8.MaterialIcons, { name: "error", color: colors2.error.main, size: 16 }), /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.errorText, color: "error" }, error))), options && /* @__PURE__ */ import_react16.default.createElement(
1652
1669
  SelectMenu_default,
1653
1670
  {
1654
1671
  options,
@@ -1657,7 +1674,8 @@ var TextField = ({
1657
1674
  onClose: () => setFocused(false),
1658
1675
  label,
1659
1676
  helperText,
1660
- onChange: onChangeText
1677
+ onChange: onChangeText,
1678
+ ...selectMenuProps
1661
1679
  }
1662
1680
  ));
1663
1681
  };
@@ -1688,20 +1706,21 @@ var TextField2 = import_react16.default.forwardRef(
1688
1706
  end,
1689
1707
  options,
1690
1708
  multiline,
1709
+ selectMenuProps,
1691
1710
  ...props
1692
1711
  }, ref) => {
1693
1712
  const colors2 = useColors();
1694
1713
  const [focused, _setFocused] = (0, import_react16.useState)(false);
1695
1714
  const [showPassword, setShowPassword] = (0, import_react16.useState)(false);
1696
- const height = (0, import_react_native_size_matters14.moderateScale)(
1715
+ const height = (0, import_react_native_size_matters13.moderateScale)(
1697
1716
  multiline ? 50 + (props.numberOfLines || 1) * 18 : 50
1698
1717
  );
1699
1718
  const setFocused = (value2) => {
1700
1719
  _setFocused(value2);
1701
1720
  };
1702
- const styles2 = import_react_native_size_matters14.ScaledSheet.create({
1721
+ const styles = import_react_native_size_matters13.ScaledSheet.create({
1703
1722
  root: {
1704
- marginBottom: (0, import_react_native_size_matters14.ms)(gutterBottom),
1723
+ marginBottom: (0, import_react_native_size_matters13.ms)(gutterBottom),
1705
1724
  ...style
1706
1725
  },
1707
1726
  container: {
@@ -1720,8 +1739,8 @@ var TextField2 = import_react16.default.forwardRef(
1720
1739
  fontSize: "14@s",
1721
1740
  flex: 1,
1722
1741
  alignSelf: "stretch",
1723
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10),
1724
- paddingRight: (0, import_react_native_size_matters14.moderateScale)(10),
1742
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10),
1743
+ paddingRight: (0, import_react_native_size_matters13.moderateScale)(10),
1725
1744
  color: colors2.dark.main,
1726
1745
  zIndex: 10
1727
1746
  // backgroundColor: "#284",
@@ -1729,12 +1748,12 @@ var TextField2 = import_react16.default.forwardRef(
1729
1748
  inputText: {
1730
1749
  fontSize: "14@ms",
1731
1750
  color: colors2.dark.main,
1732
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10)
1751
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10)
1733
1752
  },
1734
1753
  placeholder: {
1735
1754
  fontSize: "14@ms",
1736
1755
  color: colors2.textSecondary.light,
1737
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10)
1756
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10)
1738
1757
  },
1739
1758
  label: {},
1740
1759
  helperText: {
@@ -1774,7 +1793,7 @@ var TextField2 = import_react16.default.forwardRef(
1774
1793
  autoCapitalize: "none",
1775
1794
  textContentType: "password"
1776
1795
  } : {};
1777
- return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles2.root }, label && /* @__PURE__ */ import_react16.default.createElement(
1796
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.root }, label && /* @__PURE__ */ import_react16.default.createElement(
1778
1797
  Typography_default,
1779
1798
  {
1780
1799
  variant: "body2",
@@ -1787,10 +1806,10 @@ var TextField2 = import_react16.default.forwardRef(
1787
1806
  import_react_native16.TouchableOpacity,
1788
1807
  {
1789
1808
  onPress: () => setFocused(true),
1790
- style: styles2.container
1809
+ style: styles.container
1791
1810
  },
1792
1811
  /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginTop: multiline ? 5 : 0 } }, start),
1793
- options ? /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, value ? /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.inputText }, options.find((cur) => cur.value === value)?.label) : /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.placeholder }, placeholder), /* @__PURE__ */ import_react16.default.createElement(
1812
+ options ? /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, value ? /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.inputText }, options.find((cur) => cur.value === value)?.label) : /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.placeholder }, placeholder), /* @__PURE__ */ import_react16.default.createElement(
1794
1813
  import_vector_icons8.Ionicons,
1795
1814
  {
1796
1815
  name: "chevron-down",
@@ -1823,7 +1842,7 @@ var TextField2 = import_react16.default.forwardRef(
1823
1842
  extAlignVertical: multiline ? "top" : "center",
1824
1843
  ...formProps,
1825
1844
  ...props,
1826
- style: styles2.input
1845
+ style: styles.input
1827
1846
  }
1828
1847
  ),
1829
1848
  end ? /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginRight: 20 } }, end) : type === "password" && /* @__PURE__ */ import_react16.default.createElement(
@@ -1845,11 +1864,11 @@ var TextField2 = import_react16.default.forwardRef(
1845
1864
  Typography_default,
1846
1865
  {
1847
1866
  color: "textSecondary",
1848
- style: styles2.helperText,
1867
+ style: styles.helperText,
1849
1868
  variant: "caption"
1850
1869
  },
1851
1870
  helperText
1852
- ), error && /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles2.error }, /* @__PURE__ */ import_react16.default.createElement(import_vector_icons8.MaterialIcons, { name: "error", color: colors2.error.main, size: 16 }), /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.errorText, color: "error" }, error))), options && /* @__PURE__ */ import_react16.default.createElement(
1871
+ ), error && /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: styles.error }, /* @__PURE__ */ import_react16.default.createElement(import_vector_icons8.MaterialIcons, { name: "error", color: colors2.error.main, size: 16 }), /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.errorText, color: "error" }, error))), options && /* @__PURE__ */ import_react16.default.createElement(
1853
1872
  SelectMenu_default,
1854
1873
  {
1855
1874
  options,
@@ -1858,7 +1877,8 @@ var TextField2 = import_react16.default.forwardRef(
1858
1877
  onClose: () => setFocused(false),
1859
1878
  label,
1860
1879
  helperText,
1861
- onChange: onChangeText
1880
+ onChange: onChangeText,
1881
+ ...selectMenuProps
1862
1882
  }
1863
1883
  ));
1864
1884
  }
@@ -1867,7 +1887,7 @@ var TextField_default = TextField;
1867
1887
 
1868
1888
  // ../src/Components/Locator.tsx
1869
1889
  var Location = __toESM(require("expo-location"));
1870
- var import_react_native_size_matters15 = require("react-native-size-matters");
1890
+ var import_react_native_size_matters14 = require("react-native-size-matters");
1871
1891
  var getPredictionsFromCoords = async (coords) => {
1872
1892
  const { GOOGLE_MAP_API_KEY } = getConfig();
1873
1893
  if (!GOOGLE_MAP_API_KEY)
@@ -1930,7 +1950,7 @@ var Locator = ({
1930
1950
  const [value, setValue] = (0, import_react17.useState)("");
1931
1951
  const [prediction, setPrediction] = (0, import_react17.useState)([]);
1932
1952
  const colors2 = useColors();
1933
- const styles2 = import_react_native_size_matters15.ScaledSheet.create({
1953
+ const styles = import_react_native_size_matters14.ScaledSheet.create({
1934
1954
  list: {
1935
1955
  backgroundColor: colors2.white[2],
1936
1956
  elevation: 10,
@@ -2044,7 +2064,7 @@ var Locator = ({
2044
2064
  }
2045
2065
  )), /* @__PURE__ */ import_react17.default.createElement(import_react_native17.TouchableOpacity, { onPress: clear }, /* @__PURE__ */ import_react17.default.createElement(import_vector_icons9.Ionicons, { color: colors2.dark.main, size: 18, name: "close" })))
2046
2066
  }
2047
- ), prediction.length > 0 && /* @__PURE__ */ import_react17.default.createElement(import_react_native17.View, { style: styles2.list }, prediction.map(
2067
+ ), prediction.length > 0 && /* @__PURE__ */ import_react17.default.createElement(import_react_native17.View, { style: styles.list }, prediction.map(
2048
2068
  (cur, i) => i < 5 && /* @__PURE__ */ import_react17.default.createElement(
2049
2069
  ListItem,
2050
2070
  {
@@ -2068,26 +2088,27 @@ var Locator = ({
2068
2088
  };
2069
2089
 
2070
2090
  // ../src/Components/SafeAreaView.tsx
2071
- var import_react_native18 = require("react-native");
2072
2091
  var import_react18 = __toESM(require("react"));
2073
- var import_react_native19 = require("react-native");
2074
- var import_react_native_size_matters16 = require("react-native-size-matters");
2075
- var styles = import_react_native19.StyleSheet.create({
2076
- droidSafeArea: {
2077
- flex: 1,
2078
- paddingTop: import_react_native19.Platform.OS === "android" ? (0, import_react_native_size_matters16.moderateScale)(35) : 0
2079
- }
2080
- });
2092
+ var import_react_native_safe_area_context6 = require("react-native-safe-area-context");
2093
+ var import_react_native18 = require("react-native");
2081
2094
  var SafeAreaView = ({
2082
2095
  children,
2083
2096
  style
2084
2097
  }) => {
2085
- return /* @__PURE__ */ import_react18.default.createElement(import_react_native18.SafeAreaView, { style: { ...styles.droidSafeArea, ...style } }, children);
2098
+ const { top, bottom } = (0, import_react_native_safe_area_context6.useSafeAreaInsets)();
2099
+ const styles = import_react_native18.StyleSheet.create({
2100
+ root: {
2101
+ paddingTop: top,
2102
+ paddingBottom: bottom,
2103
+ flex: 1
2104
+ }
2105
+ });
2106
+ return /* @__PURE__ */ import_react18.default.createElement(import_react_native18.View, { style: [styles.root, style] }, children);
2086
2107
  };
2087
2108
 
2088
2109
  // ../src/Components/Divider.tsx
2089
- var import_react_native20 = require("react-native");
2090
- var import_react_native_size_matters17 = require("react-native-size-matters");
2110
+ var import_react_native19 = require("react-native");
2111
+ var import_react_native_size_matters15 = require("react-native-size-matters");
2091
2112
  var Divider = ({
2092
2113
  height = 1,
2093
2114
  color = "textSecondary",
@@ -2095,21 +2116,21 @@ var Divider = ({
2095
2116
  style
2096
2117
  }) => {
2097
2118
  const colors2 = useColors();
2098
- const styles2 = import_react_native_size_matters17.ScaledSheet.create({
2119
+ const styles = import_react_native_size_matters15.ScaledSheet.create({
2099
2120
  root: {
2100
2121
  height,
2101
2122
  backgroundColor: colors2[color].main,
2102
- marginBottom: (0, import_react_native_size_matters17.ms)(gutterBottom),
2123
+ marginBottom: (0, import_react_native_size_matters15.ms)(gutterBottom),
2103
2124
  ...style
2104
2125
  }
2105
2126
  });
2106
- return /* @__PURE__ */ React.createElement(import_react_native20.View, { style: styles2.root });
2127
+ return /* @__PURE__ */ React.createElement(import_react_native19.View, { style: styles.root });
2107
2128
  };
2108
2129
 
2109
2130
  // ../src/Components/Spinner.tsx
2110
2131
  var import_react19 = __toESM(require("react"));
2111
- var import_react_native21 = require("react-native");
2112
- var import_react_native_size_matters18 = require("react-native-size-matters");
2132
+ var import_react_native20 = require("react-native");
2133
+ var import_react_native_size_matters16 = require("react-native-size-matters");
2113
2134
  var Spinner = ({
2114
2135
  label,
2115
2136
  size = "large",
@@ -2118,10 +2139,10 @@ var Spinner = ({
2118
2139
  style = {}
2119
2140
  }) => {
2120
2141
  const colors2 = useColors();
2121
- const styles2 = import_react_native_size_matters18.ScaledSheet.create({
2142
+ const styles = import_react_native_size_matters16.ScaledSheet.create({
2122
2143
  root: {
2123
- width: fullscreen ? import_react_native21.Dimensions.get("screen").width : "100%",
2124
- height: fullscreen ? import_react_native21.Dimensions.get("screen").height : "100%",
2144
+ width: fullscreen ? import_react_native20.Dimensions.get("screen").width : "100%",
2145
+ height: fullscreen ? import_react_native20.Dimensions.get("screen").height : "100%",
2125
2146
  left: 0,
2126
2147
  bottom: 0,
2127
2148
  zIndex: 100,
@@ -2144,14 +2165,14 @@ var Spinner = ({
2144
2165
  color: color === "light" ? colors2.white[2] : colors2.black[4]
2145
2166
  }
2146
2167
  });
2147
- return /* @__PURE__ */ import_react19.default.createElement(import_react_native21.View, { style: styles2.root }, /* @__PURE__ */ import_react19.default.createElement(import_react_native21.View, { style: styles2.content }, /* @__PURE__ */ import_react19.default.createElement(import_react_native21.ActivityIndicator, { color: colors2[color].dark, size }), label && /* @__PURE__ */ import_react19.default.createElement(Typography_default, { style: styles2.label }, label)));
2168
+ return /* @__PURE__ */ import_react19.default.createElement(import_react_native20.View, { style: styles.root }, /* @__PURE__ */ import_react19.default.createElement(import_react_native20.View, { style: styles.content }, /* @__PURE__ */ import_react19.default.createElement(import_react_native20.ActivityIndicator, { color: colors2[color].dark, size }), label && /* @__PURE__ */ import_react19.default.createElement(Typography_default, { style: styles.label }, label)));
2148
2169
  };
2149
2170
  var Spinner_default = Spinner;
2150
2171
 
2151
2172
  // ../src/Components/OTPInput.tsx
2152
2173
  var import_react20 = __toESM(require("react"));
2153
- var import_react_native22 = require("react-native");
2154
- var import_react_native_size_matters19 = require("react-native-size-matters");
2174
+ var import_react_native21 = require("react-native");
2175
+ var import_react_native_size_matters17 = require("react-native-size-matters");
2155
2176
  var OTPInput = ({
2156
2177
  length = 6,
2157
2178
  onChange = () => {
@@ -2194,25 +2215,25 @@ var OTPInput = ({
2194
2215
  }
2195
2216
  };
2196
2217
  const colors2 = useColors();
2197
- const styles2 = import_react_native_size_matters19.ScaledSheet.create({
2218
+ const styles = import_react_native_size_matters17.ScaledSheet.create({
2198
2219
  root: {},
2199
2220
  container: { flexDirection: "row" },
2200
2221
  input: {
2201
- height: (0, import_react_native_size_matters19.ms)(size),
2202
- width: (0, import_react_native_size_matters19.ms)(size),
2222
+ height: (0, import_react_native_size_matters17.ms)(size),
2223
+ width: (0, import_react_native_size_matters17.ms)(size),
2203
2224
  borderColor: colors2.white[5],
2204
2225
  backgroundColor: variant === "contained" ? colors2.white[3] : void 0,
2205
2226
  borderWidth: variant === "outlined" ? 1 : 0,
2206
2227
  borderBottomWidth: variant === "contained" ? 0 : 1,
2207
- marginHorizontal: (0, import_react_native_size_matters19.ms)(spacing * 5),
2228
+ marginHorizontal: (0, import_react_native_size_matters17.ms)(spacing * 5),
2208
2229
  textAlign: "center",
2209
2230
  borderRadius: variant === "text" ? 0 : 10,
2210
2231
  color: colors2.dark.main,
2211
- fontSize: (0, import_react_native_size_matters19.ms)(size * 0.5)
2232
+ fontSize: (0, import_react_native_size_matters17.ms)(size * 0.5)
2212
2233
  }
2213
2234
  });
2214
- return /* @__PURE__ */ import_react20.default.createElement(import_react_native22.View, { style: styles2.root }, /* @__PURE__ */ import_react20.default.createElement(import_react_native22.View, { style: styles2.container }, [...Array(length)].map((_, index) => /* @__PURE__ */ import_react20.default.createElement(
2215
- import_react_native22.TextInput,
2235
+ return /* @__PURE__ */ import_react20.default.createElement(import_react_native21.View, { style: styles.root }, /* @__PURE__ */ import_react20.default.createElement(import_react_native21.View, { style: styles.container }, [...Array(length)].map((_, index) => /* @__PURE__ */ import_react20.default.createElement(
2236
+ import_react_native21.TextInput,
2216
2237
  {
2217
2238
  ref: inputRefs[index],
2218
2239
  onChangeText: (val) => onChangeHandler(val, index),
@@ -2220,7 +2241,7 @@ var OTPInput = ({
2220
2241
  blurOnSubmit: false,
2221
2242
  keyboardType: "number-pad",
2222
2243
  key: index,
2223
- style: [styles2.input]
2244
+ style: [styles.input]
2224
2245
  }
2225
2246
  ))));
2226
2247
  };
@@ -2262,6 +2283,7 @@ var next_default = HoddyUI;
2262
2283
  showFlashMessage,
2263
2284
  useColors,
2264
2285
  useNavScreenOptions,
2265
- useTheme
2286
+ useTheme,
2287
+ useThemeContext
2266
2288
  });
2267
2289
  //# sourceMappingURL=index.js.map