@hoddy-ui/next 2.0.58 → 2.0.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -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();
@@ -432,6 +452,7 @@ var UIThemeContext = (0, import_react3.createContext)({
432
452
  themeState: { mode: "default", value: "light" }
433
453
  });
434
454
  function themeReducer(state, { type, payload }) {
455
+ import_async_storage.default.setItem("theme", type);
435
456
  switch (type) {
436
457
  case "dark":
437
458
  return { mode: "dark", value: "dark" };
@@ -450,12 +471,20 @@ var ConfigureSystemUI = () => {
450
471
  const config2 = getConfig();
451
472
  if (colors2) {
452
473
  SystemUI.setBackgroundColorAsync(colors2.white[1]);
453
- if (import_react_native3.Platform.OS === "android" && !config2.EDGE_TO_EDGE) {
454
- NavigationBar.setBackgroundColorAsync(colors2.white[1]);
455
- if (theme === "dark") {
456
- NavigationBar.setButtonStyleAsync("light");
474
+ if (import_react_native3.Platform.OS === "android") {
475
+ if (config2.EDGE_TO_EDGE) {
476
+ if (theme === "dark") {
477
+ NavigationBar.setStyle("light");
478
+ } else {
479
+ NavigationBar.setStyle("dark");
480
+ }
457
481
  } else {
458
- NavigationBar.setButtonStyleAsync("dark");
482
+ NavigationBar.setBackgroundColorAsync(colors2.white[1]);
483
+ if (theme === "dark") {
484
+ NavigationBar.setButtonStyleAsync("light");
485
+ } else {
486
+ NavigationBar.setButtonStyleAsync("dark");
487
+ }
459
488
  }
460
489
  }
461
490
  }
@@ -511,9 +540,20 @@ var useTheme = () => {
511
540
  const { themeState } = (0, import_react4.useContext)(UIThemeContext);
512
541
  return themeState.value;
513
542
  };
543
+ var useThemeContext = () => {
544
+ const { themeState: theme, themeDispatch } = (0, import_react4.useContext)(UIThemeContext);
545
+ const colorScheme = (0, import_react_native4.useColorScheme)();
546
+ const setTheme = (theme2) => {
547
+ if (theme2 === "default") {
548
+ themeDispatch?.({ type: "default", payload: colorScheme });
549
+ } else {
550
+ themeDispatch?.({ type: theme2 });
551
+ }
552
+ };
553
+ return { theme, setTheme };
554
+ };
514
555
  var useNavScreenOptions = (type) => {
515
556
  const colors2 = useColors();
516
- const theme = useTheme();
517
557
  const options = {
518
558
  stack: {
519
559
  headerShown: false,
@@ -533,15 +573,12 @@ var useNavScreenOptions = (type) => {
533
573
  headerShown: false,
534
574
  headerTintColor: colors2.dark.main,
535
575
  tabBarStyle: {
536
- borderTopColor: theme === "dark" ? colors2.light.main : colors2.white[2],
576
+ borderTopColor: colors2.white[2],
577
+ borderColor: colors2.white[2],
537
578
  borderTopWidth: 1,
538
- // shadowColor: "#000",
539
- // shadowOffset: { height: -3, width: 0 },
540
- // shadowRadius: 7,
541
- // shadowOpacity: 0.1,
542
579
  backgroundColor: colors2.white[1]
543
580
  },
544
- tabBarActiveTintColor: colors2.blue.main,
581
+ tabBarActiveTintColor: colors2.primary.main,
545
582
  tabBarInactiveTintColor: colors2.textSecondary.main,
546
583
  tabBarLabelStyle: {
547
584
  // fontSize: ms(12),
@@ -565,10 +602,6 @@ var useNavScreenOptions = (type) => {
565
602
  }
566
603
  }
567
604
  };
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
605
  return options[type];
573
606
  };
574
607
 
@@ -602,7 +635,7 @@ var AdaptiveStatusBarNext_default = AdaptiveStatusBar;
602
635
  var import_vector_icons = require("@expo/vector-icons");
603
636
  var import_react6 = __toESM(require("react"));
604
637
  var import_react_native6 = require("react-native");
605
- var import_react_native_size_matters4 = require("react-native-size-matters");
638
+ var import_react_native_size_matters3 = require("react-native-size-matters");
606
639
  var AlertX = ({
607
640
  type = "info",
608
641
  variant = "contained",
@@ -612,7 +645,7 @@ var AlertX = ({
612
645
  style = {}
613
646
  }) => {
614
647
  const colors2 = useColors();
615
- const styles2 = import_react_native_size_matters4.ScaledSheet.create({
648
+ const styles = import_react_native_size_matters3.ScaledSheet.create({
616
649
  container: {
617
650
  padding: 20,
618
651
  paddingTop: 10,
@@ -620,7 +653,7 @@ var AlertX = ({
620
653
  borderRadius: 8,
621
654
  alignItems: "center",
622
655
  flexDirection: "row",
623
- marginBottom: (0, import_react_native_size_matters4.ms)(gutterBottom),
656
+ marginBottom: (0, import_react_native_size_matters3.ms)(gutterBottom),
624
657
  backgroundColor: colors2[type].main + (variant === "contained" ? "" : "3")
625
658
  },
626
659
  title: {
@@ -630,7 +663,7 @@ var AlertX = ({
630
663
  color: variant === "contained" ? "#fff" : colors2[type].main
631
664
  }
632
665
  });
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(
666
+ 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
667
  import_vector_icons.MaterialIcons,
635
668
  {
636
669
  color: variant === "contained" ? "#fff" : colors2[type].main,
@@ -645,7 +678,7 @@ var AlertX_default = AlertX;
645
678
  var import_vector_icons2 = require("@expo/vector-icons");
646
679
  var import_react7 = __toESM(require("react"));
647
680
  var import_react_native7 = require("react-native");
648
- var import_react_native_size_matters5 = require("react-native-size-matters");
681
+ var import_react_native_size_matters4 = require("react-native-size-matters");
649
682
  var Avatar = ({
650
683
  color = "dark",
651
684
  label,
@@ -655,11 +688,11 @@ var Avatar = ({
655
688
  style = {}
656
689
  }) => {
657
690
  const colors2 = useColors();
658
- const styles2 = import_react_native_size_matters5.ScaledSheet.create({
691
+ const styles = import_react_native_size_matters4.ScaledSheet.create({
659
692
  root: {
660
693
  borderRadius: 150,
661
- height: (0, import_react_native_size_matters5.ms)(size),
662
- width: (0, import_react_native_size_matters5.ms)(size),
694
+ height: (0, import_react_native_size_matters4.ms)(size),
695
+ width: (0, import_react_native_size_matters4.ms)(size),
663
696
  alignItems: "center",
664
697
  justifyContent: "center",
665
698
  overflow: "hidden",
@@ -673,7 +706,7 @@ var Avatar = ({
673
706
  width: "110%"
674
707
  }
675
708
  });
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) }));
709
+ 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
710
  };
678
711
  var Avatar_default = Avatar;
679
712
 
@@ -681,7 +714,7 @@ var Avatar_default = Avatar;
681
714
  var import_vector_icons3 = require("@expo/vector-icons");
682
715
  var import_react8 = __toESM(require("react"));
683
716
  var import_react_native8 = require("react-native");
684
- var import_react_native_size_matters6 = require("react-native-size-matters");
717
+ var import_react_native_size_matters5 = require("react-native-size-matters");
685
718
  var LinkButton = ({
686
719
  title,
687
720
  style = {},
@@ -693,15 +726,15 @@ var LinkButton = ({
693
726
  }
694
727
  }) => {
695
728
  const colors2 = useColors();
696
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
729
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
697
730
  text: {
698
- fontSize: (0, import_react_native_size_matters6.moderateScale)(fontSize),
731
+ fontSize: (0, import_react_native_size_matters5.moderateScale)(fontSize),
699
732
  fontWeight: fontWeight.toString(),
700
733
  fontFamily: getFontFamily(fontWeight),
701
734
  color: disabled ? "#777" : colors2[color].main
702
735
  }
703
736
  });
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));
737
+ 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
738
  };
706
739
  var IconButton = ({
707
740
  style = {},
@@ -719,7 +752,7 @@ var IconButton = ({
719
752
  const colors2 = useColors();
720
753
  const theme = useTheme();
721
754
  const bgColor = theme === "light" ? "#fff" : "#222";
722
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
755
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
723
756
  container: {
724
757
  alignSelf: "flex-start",
725
758
  flexGrow: 0,
@@ -731,8 +764,8 @@ var IconButton = ({
731
764
  height: 1,
732
765
  width: 0
733
766
  },
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,
767
+ height: bg ? (0, import_react_native_size_matters5.ms)(size + 20) : void 0,
768
+ width: bg ? (0, import_react_native_size_matters5.ms)(size + 20) : void 0,
736
769
  alignItems: "center",
737
770
  justifyContent: "center",
738
771
  shadowRadius: elevation,
@@ -752,9 +785,9 @@ var IconButton = ({
752
785
  {
753
786
  onPress,
754
787
  activeOpacity: 0.3,
755
- style: { ...styles2.container, ...containerStyles }
788
+ style: { ...styles.container, ...containerStyles }
756
789
  },
757
- /* @__PURE__ */ import_react8.default.createElement(IconComp, { style: { ...styles2.text, ...style }, name: icon, size })
790
+ /* @__PURE__ */ import_react8.default.createElement(IconComp, { style: { ...styles.text, ...style }, name: icon, size })
758
791
  );
759
792
  };
760
793
  var Button = (0, import_react8.forwardRef)(
@@ -777,7 +810,7 @@ var Button = (0, import_react8.forwardRef)(
777
810
  end
778
811
  }, ref) => {
779
812
  const colors2 = useColors();
780
- const styles2 = import_react_native_size_matters6.ScaledSheet.create({
813
+ const styles = import_react_native_size_matters5.ScaledSheet.create({
781
814
  con: {
782
815
  flexDirection: "row",
783
816
  alignItems: "center",
@@ -814,7 +847,7 @@ var Button = (0, import_react8.forwardRef)(
814
847
  ref,
815
848
  onPress,
816
849
  disabled,
817
- style: styles2.con
850
+ style: styles.con
818
851
  },
819
852
  start,
820
853
  loading && /* @__PURE__ */ import_react8.default.createElement(
@@ -825,7 +858,7 @@ var Button = (0, import_react8.forwardRef)(
825
858
  style: { marginRight: 10 }
826
859
  }
827
860
  ),
828
- /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: styles2.text }, title),
861
+ /* @__PURE__ */ import_react8.default.createElement(import_react_native8.Text, { style: styles.text }, title),
829
862
  end
830
863
  );
831
864
  }
@@ -836,7 +869,7 @@ var Button_default = Button;
836
869
  var import_vector_icons4 = require("@expo/vector-icons");
837
870
  var import_react9 = __toESM(require("react"));
838
871
  var import_react_native9 = require("react-native");
839
- var import_react_native_size_matters7 = require("react-native-size-matters");
872
+ var import_react_native_size_matters6 = require("react-native-size-matters");
840
873
  var CheckBox = ({
841
874
  color = "primary",
842
875
  checked,
@@ -847,14 +880,14 @@ var CheckBox = ({
847
880
  }) => {
848
881
  const iconName = checked ? "checkbox-marked" : "checkbox-blank-outline";
849
882
  const colors2 = useColors();
850
- const styles2 = import_react_native_size_matters7.ScaledSheet.create({
883
+ const styles = import_react_native_size_matters6.ScaledSheet.create({
851
884
  container: {
852
885
  alignItems: "center",
853
886
  flexDirection: "row",
854
887
  ...style
855
888
  }
856
889
  });
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(
890
+ 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
891
  import_vector_icons4.MaterialCommunityIcons,
859
892
  {
860
893
  name: iconName,
@@ -867,7 +900,8 @@ var CheckBox = ({
867
900
  // ../src/Components/FormWrapper.tsx
868
901
  var import_react10 = __toESM(require("react"));
869
902
  var import_react_native10 = require("react-native");
870
- var import_react_native_size_matters8 = require("react-native-size-matters");
903
+ var import_react_native_size_matters7 = require("react-native-size-matters");
904
+ var import_react_native_safe_area_context3 = require("react-native-safe-area-context");
871
905
  var FormWrapper = ({
872
906
  children,
873
907
  behavior = import_react_native10.Platform.OS === "ios" ? "padding" : "height",
@@ -877,7 +911,9 @@ var FormWrapper = ({
877
911
  style = {},
878
912
  onScroll
879
913
  }) => {
880
- const styles2 = import_react_native_size_matters8.ScaledSheet.create({
914
+ const { bottom } = (0, import_react_native_safe_area_context3.useSafeAreaInsets)();
915
+ const defaultOffset = import_react_native10.Platform.OS === "ios" ? -bottom : -bottom * 2;
916
+ const styles = import_react_native_size_matters7.ScaledSheet.create({
881
917
  root: {
882
918
  width: "100%",
883
919
  flex: 1,
@@ -887,18 +923,18 @@ var FormWrapper = ({
887
923
  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
924
  import_react_native10.KeyboardAvoidingView,
889
925
  {
890
- style: styles2.root,
926
+ style: styles.root,
891
927
  behavior,
892
- contentContainerStyle: styles2.root,
893
- keyboardVerticalOffset
928
+ contentContainerStyle: styles.root,
929
+ keyboardVerticalOffset: keyboardVerticalOffset || defaultOffset
894
930
  },
895
931
  children
896
932
  )) : /* @__PURE__ */ import_react10.default.createElement(
897
933
  import_react_native10.KeyboardAvoidingView,
898
934
  {
899
935
  behavior,
900
- style: styles2.root,
901
- keyboardVerticalOffset
936
+ style: styles.root,
937
+ keyboardVerticalOffset: keyboardVerticalOffset || defaultOffset
902
938
  },
903
939
  /* @__PURE__ */ import_react10.default.createElement(
904
940
  import_react_native10.ScrollView,
@@ -920,17 +956,17 @@ var import_vector_icons5 = require("@expo/vector-icons");
920
956
  var Haptics = __toESM(require("expo-haptics"));
921
957
  var import_react12 = require("react");
922
958
  var import_react_native12 = require("react-native");
923
- var import_react_native_size_matters10 = require("react-native-size-matters");
959
+ var import_react_native_size_matters9 = require("react-native-size-matters");
924
960
 
925
961
  // ../src/Components/Popup.tsx
926
962
  var import_react_native11 = require("react-native");
927
963
  var import_react11 = __toESM(require("react"));
928
964
  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");
965
+ var import_react_native_safe_area_context4 = require("react-native-safe-area-context");
966
+ var import_react_native_size_matters8 = require("react-native-size-matters");
931
967
  var Popup = ({
932
968
  title,
933
- sheet,
969
+ sheet = true,
934
970
  bare = false,
935
971
  keyboardVerticalOffset,
936
972
  children,
@@ -939,13 +975,15 @@ var Popup = ({
939
975
  },
940
976
  style,
941
977
  onModalShow,
942
- onModalHide
978
+ onModalHide,
979
+ disableAutoKeyboardManagement = false
943
980
  }) => {
944
981
  const theme = useTheme();
945
982
  const colors2 = useColors();
946
983
  const [modalVisible, setModalVisible] = (0, import_react11.useState)(false);
984
+ const [modalOpen, setModalOpen] = (0, import_react11.useState)(false);
947
985
  const [keyboardVisible, setKeyboardVisible] = (0, import_react11.useState)(false);
948
- const { bottom } = (0, import_react_native_safe_area_context3.useSafeAreaInsets)();
986
+ const { bottom } = (0, import_react_native_safe_area_context4.useSafeAreaInsets)();
949
987
  const backdropOpacity = (0, import_react_native_reanimated2.useSharedValue)(0);
950
988
  const contentTranslateY = (0, import_react_native_reanimated2.useSharedValue)(1e3);
951
989
  const keyboardVerticalOffsetValue = import_react_native11.Platform.OS === "ios" ? -bottom : -bottom * 2;
@@ -967,22 +1005,26 @@ var Popup = ({
967
1005
  keyboardDidShowListener?.remove();
968
1006
  };
969
1007
  }, []);
1008
+ const _onModalShow = () => {
1009
+ setModalVisible(true);
1010
+ onModalShow?.();
1011
+ };
1012
+ const _onModalHide = () => {
1013
+ onModalHide?.();
1014
+ setModalOpen(false);
1015
+ };
970
1016
  (0, import_react11.useEffect)(() => {
971
1017
  if (open) {
972
- setModalVisible(true);
1018
+ setModalOpen(true);
973
1019
  backdropOpacity.value = (0, import_react_native_reanimated2.withTiming)(1, { duration: 300 });
974
1020
  contentTranslateY.value = (0, import_react_native_reanimated2.withTiming)(0, { duration: 300 }, () => {
975
- if (onModalShow) {
976
- (0, import_react_native_reanimated2.runOnJS)(onModalShow)();
977
- }
1021
+ (0, import_react_native_reanimated2.runOnJS)(_onModalShow)();
978
1022
  });
979
1023
  } else {
1024
+ setModalVisible(false);
980
1025
  backdropOpacity.value = (0, import_react_native_reanimated2.withTiming)(0, { duration: 200 });
981
1026
  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
- }
1027
+ (0, import_react_native_reanimated2.runOnJS)(_onModalHide)();
986
1028
  });
987
1029
  }
988
1030
  }, [open]);
@@ -992,7 +1034,7 @@ var Popup = ({
992
1034
  const contentAnimatedStyle = (0, import_react_native_reanimated2.useAnimatedStyle)(() => ({
993
1035
  transform: [{ translateY: contentTranslateY.value }]
994
1036
  }));
995
- const styles2 = import_react_native_size_matters9.ScaledSheet.create({
1037
+ const styles = import_react_native_size_matters8.ScaledSheet.create({
996
1038
  root: {
997
1039
  height: "100%",
998
1040
  width: "100%",
@@ -1012,7 +1054,7 @@ var Popup = ({
1012
1054
  marginBottom: import_react_native11.Platform.OS === "android" && keyboardVisible ? bottom : 0
1013
1055
  },
1014
1056
  container: {
1015
- paddingBottom: sheet && !bare ? bottom + (0, import_react_native_size_matters9.ms)(10) : void 0,
1057
+ paddingBottom: sheet && !bare ? bottom + (0, import_react_native_size_matters8.ms)(10) : void 0,
1016
1058
  backgroundColor: theme === "dark" ? "#111" : colors2.white[1],
1017
1059
  borderTopLeftRadius: 20,
1018
1060
  borderTopRightRadius: 20,
@@ -1052,37 +1094,44 @@ var Popup = ({
1052
1094
  transparent: true,
1053
1095
  animationType: "none",
1054
1096
  statusBarTranslucent: true,
1055
- visible: modalVisible,
1097
+ visible: modalOpen,
1056
1098
  onRequestClose: closeAction
1057
1099
  },
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(
1100
+ /* @__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
1101
  import_react_native11.KeyboardAvoidingView,
1060
1102
  {
1061
- style: styles2.keyboardView,
1103
+ style: styles.keyboardView,
1062
1104
  behavior: import_react_native11.Platform.OS === "ios" ? "padding" : "height",
1063
1105
  keyboardVerticalOffset: keyboardVerticalOffset || keyboardVerticalOffsetValue
1064
1106
  },
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(
1066
- import_react_native11.Pressable,
1107
+ /* @__PURE__ */ import_react11.default.createElement(
1108
+ import_react_native11.TouchableWithoutFeedback,
1067
1109
  {
1068
- style: [import_react_native11.StyleSheet.absoluteFill, { zIndex: 1 }],
1069
- onPress: closeAction
1070
- }
1071
- ), /* @__PURE__ */ import_react11.default.createElement(
1072
- import_react_native_reanimated2.default.View,
1073
- {
1074
- style: [styles2.avoidingView, contentAnimatedStyle],
1075
- layout: import_react_native_reanimated2.LinearTransition.springify().stiffness(200).mass(0.5).damping(100)
1110
+ onPress: import_react_native11.Keyboard.dismiss,
1111
+ disabled: disableAutoKeyboardManagement
1076
1112
  },
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(
1078
- IconButton,
1113
+ /* @__PURE__ */ import_react11.default.createElement(import_react_native11.View, { style: styles.root }, modalOpen && /* @__PURE__ */ import_react11.default.createElement(
1114
+ import_react_native11.Pressable,
1079
1115
  {
1080
- size: 20,
1081
- icon: "close",
1116
+ style: [import_react_native11.StyleSheet.absoluteFill, { zIndex: 1 }],
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))
1085
- )))
1119
+ ), /* @__PURE__ */ import_react11.default.createElement(
1120
+ import_react_native_reanimated2.default.View,
1121
+ {
1122
+ style: [styles.avoidingView, contentAnimatedStyle],
1123
+ layout: modalVisible ? import_react_native_reanimated2.LinearTransition.springify().stiffness(200).mass(0.5).damping(100) : void 0
1124
+ },
1125
+ /* @__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(
1126
+ IconButton,
1127
+ {
1128
+ size: 20,
1129
+ icon: "close",
1130
+ onPress: closeAction
1131
+ }
1132
+ )), /* @__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))
1133
+ ))
1134
+ )
1086
1135
  ))
1087
1136
  );
1088
1137
  };
@@ -1093,13 +1142,13 @@ var RatingStars = ({
1093
1142
  size = 16
1094
1143
  }) => {
1095
1144
  const colors2 = useColors();
1096
- const styles2 = import_react_native_size_matters10.ScaledSheet.create({
1145
+ const styles = import_react_native_size_matters9.ScaledSheet.create({
1097
1146
  root: {
1098
1147
  flexDirection: "row",
1099
1148
  alignItems: "center"
1100
1149
  }
1101
1150
  });
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(
1151
+ 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
1152
  import_vector_icons5.Ionicons,
1104
1153
  {
1105
1154
  key: index,
@@ -1119,7 +1168,7 @@ var RatingInput = ({
1119
1168
  const colors2 = useColors();
1120
1169
  const [loading, setLoading] = (0, import_react12.useState)(false);
1121
1170
  const [review, setReview] = (0, import_react12.useState)("");
1122
- const styles2 = import_react_native_size_matters10.ScaledSheet.create({
1171
+ const styles = import_react_native_size_matters9.ScaledSheet.create({
1123
1172
  root: {
1124
1173
  flexDirection: "row",
1125
1174
  alignItems: "center"
@@ -1152,7 +1201,7 @@ var RatingInput = ({
1152
1201
  _onSubmit && await _onSubmit({ rating: rate, review });
1153
1202
  setLoading(false);
1154
1203
  };
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(
1204
+ 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
1205
  import_react_native12.TouchableOpacity,
1157
1206
  {
1158
1207
  key: index,
@@ -1199,10 +1248,10 @@ var RatingInput = ({
1199
1248
  },
1200
1249
  "Add to your review"
1201
1250
  ),
1202
- /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles2.inputCon }, /* @__PURE__ */ React.createElement(
1251
+ /* @__PURE__ */ React.createElement(import_react_native12.View, { style: styles.inputCon }, /* @__PURE__ */ React.createElement(
1203
1252
  import_react_native12.TextInput,
1204
1253
  {
1205
- style: styles2.input,
1254
+ style: styles.input,
1206
1255
  multiline: true,
1207
1256
  value: review,
1208
1257
  onChangeText: (text) => setReview(text),
@@ -1227,7 +1276,7 @@ var RatingInput = ({
1227
1276
  // ../src/Components/Grid.tsx
1228
1277
  var import_react13 = __toESM(require("react"));
1229
1278
  var import_react_native13 = require("react-native");
1230
- var import_react_native_size_matters11 = require("react-native-size-matters");
1279
+ var import_react_native_size_matters10 = require("react-native-size-matters");
1231
1280
  var GridItem = ({
1232
1281
  children,
1233
1282
  col = 2,
@@ -1235,28 +1284,28 @@ var GridItem = ({
1235
1284
  spacing = 1,
1236
1285
  style = {}
1237
1286
  }) => {
1238
- const styles2 = import_react_native_size_matters11.ScaledSheet.create({
1287
+ const styles = import_react_native_size_matters10.ScaledSheet.create({
1239
1288
  gridItem: {
1240
1289
  width: `${100 / col}%`,
1241
- padding: (0, import_react_native_size_matters11.ms)(spacing * 10),
1290
+ padding: (0, import_react_native_size_matters10.ms)(spacing * 10),
1242
1291
  alignItems
1243
1292
  }
1244
1293
  });
1245
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles2.gridItem, style] });
1294
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles.gridItem, style] });
1246
1295
  };
1247
1296
  var Grid = ({
1248
1297
  children,
1249
1298
  spacing = 1,
1250
1299
  style = {}
1251
1300
  }) => {
1252
- const styles2 = import_react_native_size_matters11.ScaledSheet.create({
1301
+ const styles = import_react_native_size_matters10.ScaledSheet.create({
1253
1302
  grid: {
1254
1303
  flexWrap: "wrap",
1255
1304
  margin: `${-spacing * 10}@ms`,
1256
1305
  flexDirection: "row"
1257
1306
  }
1258
1307
  });
1259
- return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles2.grid, style] });
1308
+ return /* @__PURE__ */ import_react13.default.createElement(import_react_native13.View, { children, style: [styles.grid, style] });
1260
1309
  };
1261
1310
 
1262
1311
  // ../src/Components/Locator.tsx
@@ -1268,7 +1317,7 @@ var import_react_native17 = require("react-native");
1268
1317
  var import_vector_icons6 = require("@expo/vector-icons");
1269
1318
  var import_react14 = __toESM(require("react"));
1270
1319
  var import_react_native14 = require("react-native");
1271
- var import_react_native_size_matters12 = require("react-native-size-matters");
1320
+ var import_react_native_size_matters11 = require("react-native-size-matters");
1272
1321
  var ListItem = ({
1273
1322
  link = false,
1274
1323
  divider = false,
@@ -1278,7 +1327,7 @@ var ListItem = ({
1278
1327
  children
1279
1328
  }) => {
1280
1329
  const colors2 = useColors();
1281
- const styles2 = import_react_native_size_matters12.ScaledSheet.create({
1330
+ const styles = import_react_native_size_matters11.ScaledSheet.create({
1282
1331
  root: {
1283
1332
  flexDirection: "row",
1284
1333
  alignItems: "center",
@@ -1291,7 +1340,7 @@ var ListItem = ({
1291
1340
  return /* @__PURE__ */ import_react14.default.createElement(
1292
1341
  import_react_native14.View,
1293
1342
  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(
1343
+ /* @__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
1344
  import_vector_icons6.MaterialIcons,
1296
1345
  {
1297
1346
  color: colors2.white[5],
@@ -1307,14 +1356,14 @@ var ListItem = ({
1307
1356
  var import_vector_icons8 = require("@expo/vector-icons");
1308
1357
  var import_react16 = __toESM(require("react"));
1309
1358
  var import_react_native16 = require("react-native");
1310
- var import_react_native_size_matters14 = require("react-native-size-matters");
1359
+ var import_react_native_size_matters13 = require("react-native-size-matters");
1311
1360
 
1312
1361
  // ../src/Components/SelectMenu.tsx
1313
1362
  var import_vector_icons7 = require("@expo/vector-icons");
1314
1363
  var import_react15 = __toESM(require("react"));
1315
1364
  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");
1365
+ var import_react_native_safe_area_context5 = require("react-native-safe-area-context");
1366
+ var import_react_native_size_matters12 = require("react-native-size-matters");
1318
1367
  var SelectMenu = ({
1319
1368
  open = false,
1320
1369
  onClose,
@@ -1324,22 +1373,15 @@ var SelectMenu = ({
1324
1373
  disableAutoClose = false,
1325
1374
  label,
1326
1375
  secondary,
1327
- helperText
1376
+ helperText,
1377
+ searchEnabled = false,
1378
+ searchPlaceholder = "Search"
1328
1379
  }) => {
1329
1380
  const colors2 = useColors();
1330
- const { bottom } = (0, import_react_native_safe_area_context4.useSafeAreaInsets)();
1381
+ const { bottom } = (0, import_react_native_safe_area_context5.useSafeAreaInsets)();
1331
1382
  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
- },
1383
+ const styles = import_react_native_size_matters12.ScaledSheet.create({
1341
1384
  header: {
1342
- paddingTop: "80@ms",
1343
1385
  marginBottom: "20@vs"
1344
1386
  },
1345
1387
  option: {
@@ -1349,11 +1391,6 @@ var SelectMenu = ({
1349
1391
  flexDirection: "row",
1350
1392
  alignItems: "center",
1351
1393
  marginBottom: "10@vs"
1352
- },
1353
- footer: {
1354
- paddingBottom: bottom,
1355
- paddingHorizontal: "15@ms",
1356
- paddingTop: "15@ms"
1357
1394
  }
1358
1395
  });
1359
1396
  const renderItem = (0, import_react15.useCallback)(
@@ -1361,7 +1398,7 @@ var SelectMenu = ({
1361
1398
  import_react_native15.TouchableOpacity,
1362
1399
  {
1363
1400
  style: {
1364
- ...styles2.option,
1401
+ ...styles.option,
1365
1402
  backgroundColor: item.value === value ? colors2.blue.light + "22" : colors2.white[2]
1366
1403
  },
1367
1404
  onPress: () => {
@@ -1375,6 +1412,7 @@ var SelectMenu = ({
1375
1412
  /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: { flex: 1 } }, /* @__PURE__ */ import_react15.default.createElement(
1376
1413
  Typography_default,
1377
1414
  {
1415
+ variant: "body2",
1378
1416
  style: {
1379
1417
  color: item.value === value ? colors2.blue.light : colors2.black[2]
1380
1418
  }
@@ -1403,35 +1441,36 @@ var SelectMenu = ({
1403
1441
  ),
1404
1442
  [value, colors2]
1405
1443
  );
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(
1407
- TextField_default,
1408
- {
1409
- label: "Search",
1410
- value: search,
1411
- type: "search",
1412
- onChangeText: setSearch,
1413
- variant: "outlined"
1414
- }
1415
- )), /* @__PURE__ */ import_react15.default.createElement(
1416
- import_react_native15.FlatList,
1417
- {
1418
- removeClippedSubviews: true,
1419
- keyExtractor: (item) => item.value,
1420
- renderItem,
1421
- data: options.filter(
1422
- (item) => search.length > 1 ? item.label.toLowerCase().indexOf(search.toLowerCase()) > -1 : item
1423
- ).sort((a, b) => a.label.localeCompare(b.label))
1424
- }
1425
- )), /* @__PURE__ */ import_react15.default.createElement(import_react_native15.View, { style: styles2.footer }, /* @__PURE__ */ import_react15.default.createElement(
1426
- Button_default,
1444
+ return /* @__PURE__ */ import_react15.default.createElement(
1445
+ Popup,
1427
1446
  {
1428
- color: "error",
1429
- variant: "outlined",
1430
- fullWidth: true,
1431
- title: "Close",
1432
- onPress: onClose
1433
- }
1434
- ))));
1447
+ open,
1448
+ onClose,
1449
+ title: label,
1450
+ disableAutoKeyboardManagement: true
1451
+ },
1452
+ /* @__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(
1453
+ TextField_default,
1454
+ {
1455
+ label: searchPlaceholder,
1456
+ value: search,
1457
+ type: "search",
1458
+ onChangeText: setSearch,
1459
+ variant: "outlined"
1460
+ }
1461
+ )), /* @__PURE__ */ import_react15.default.createElement(
1462
+ import_react_native15.FlatList,
1463
+ {
1464
+ removeClippedSubviews: true,
1465
+ keyExtractor: (item) => item.value,
1466
+ bounces: false,
1467
+ renderItem,
1468
+ data: options.filter(
1469
+ (item) => search.length > 1 ? item.label.toLowerCase().indexOf(search.toLowerCase()) > -1 : item
1470
+ ).sort((a, b) => a.label.localeCompare(b.label))
1471
+ }
1472
+ ))
1473
+ );
1435
1474
  };
1436
1475
  var SelectMenu_default = SelectMenu;
1437
1476
 
@@ -1461,32 +1500,33 @@ var TextField = ({
1461
1500
  gutterBottom = 0,
1462
1501
  end,
1463
1502
  options,
1503
+ selectMenuProps,
1464
1504
  ...props
1465
1505
  }) => {
1466
1506
  const colors2 = useColors();
1467
1507
  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);
1508
+ const height = (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 50 : 45) * (size === "large" ? 1.2 : size === "small" ? 0.8 : 1);
1469
1509
  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))
1510
+ new import_react_native16.Animated.Value(height / (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 2.5 : 3.2))
1471
1511
  ).current;
1472
1512
  import_react16.default.useEffect(() => {
1473
1513
  if (focused || value) {
1474
1514
  import_react_native16.Animated.timing(labelAnim, {
1475
- toValue: (0, import_react_native_size_matters14.verticalScale)(variant === "text" ? 2 : 4),
1515
+ toValue: (0, import_react_native_size_matters13.verticalScale)(variant === "text" ? 2 : 4),
1476
1516
  duration: 300,
1477
1517
  useNativeDriver: false
1478
1518
  }).start();
1479
1519
  } else {
1480
1520
  import_react_native16.Animated.timing(labelAnim, {
1481
- toValue: height / (0, import_react_native_size_matters14.moderateScale)(variant === "text" ? 2.5 : 3.2),
1521
+ toValue: height / (0, import_react_native_size_matters13.moderateScale)(variant === "text" ? 2.5 : 3.2),
1482
1522
  duration: 300,
1483
1523
  useNativeDriver: false
1484
1524
  }).start();
1485
1525
  }
1486
1526
  }, [focused, value]);
1487
- const styles2 = import_react_native_size_matters14.ScaledSheet.create({
1527
+ const styles = import_react_native_size_matters13.ScaledSheet.create({
1488
1528
  root: {
1489
- marginBottom: (0, import_react_native_size_matters14.ms)(gutterBottom),
1529
+ marginBottom: (0, import_react_native_size_matters13.ms)(gutterBottom),
1490
1530
  width: "100%",
1491
1531
  ...style
1492
1532
  },
@@ -1507,8 +1547,8 @@ var TextField = ({
1507
1547
  fontSize: "14@s",
1508
1548
  flex: 1,
1509
1549
  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),
1550
+ paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1551
+ paddingRight: (0, import_react_native_size_matters13.moderateScale)(10),
1512
1552
  paddingTop: "11@vs",
1513
1553
  fontFamily: getFontFamily(400),
1514
1554
  color: colors2.black[1],
@@ -1518,13 +1558,13 @@ var TextField = ({
1518
1558
  inputText: {
1519
1559
  fontSize: "14@ms",
1520
1560
  flex: 1,
1521
- paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters14.moderateScale)(15),
1561
+ paddingLeft: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1522
1562
  paddingTop: "13@ms"
1523
1563
  },
1524
1564
  label: {
1525
1565
  fontFamily: getFontFamily(400),
1526
1566
  position: "absolute",
1527
- left: variant === "text" ? 0 : (0, import_react_native_size_matters14.moderateScale)(15),
1567
+ left: variant === "text" ? 0 : (0, import_react_native_size_matters13.moderateScale)(15),
1528
1568
  fontSize: focused || value ? "10@s" : "13@s",
1529
1569
  color: focused ? colors2[color].main : colors2.textSecondary.main
1530
1570
  },
@@ -1566,13 +1606,13 @@ var TextField = ({
1566
1606
  autoCapitalize: "none",
1567
1607
  textContentType: "password"
1568
1608
  } : {};
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(
1609
+ 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
1610
  import_react_native16.TouchableOpacity,
1571
1611
  {
1572
1612
  onPress: () => setFocused(true),
1573
- style: styles2.container
1613
+ style: styles.container
1574
1614
  },
1575
- /* @__PURE__ */ import_react16.default.createElement(import_react_native16.Animated.Text, { style: { ...styles2.label, top: labelAnim } }, label),
1615
+ /* @__PURE__ */ import_react16.default.createElement(import_react_native16.Animated.Text, { style: { ...styles.label, top: labelAnim } }, label),
1576
1616
  start,
1577
1617
  options ? /* @__PURE__ */ import_react16.default.createElement(
1578
1618
  import_react_native16.View,
@@ -1583,13 +1623,13 @@ var TextField = ({
1583
1623
  import_react_native16.View,
1584
1624
  {
1585
1625
  style: {
1586
- paddingTop: variant !== "outlined" ? (0, import_react_native_size_matters14.ms)(13) : 0,
1626
+ paddingTop: variant !== "outlined" ? (0, import_react_native_size_matters13.ms)(13) : 0,
1587
1627
  paddingRight: 10
1588
1628
  }
1589
1629
  },
1590
1630
  options.find((cur) => cur.value === value)?.start
1591
1631
  ),
1592
- /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles2.inputText }, options.find((cur) => cur.value === value)?.label)
1632
+ /* @__PURE__ */ import_react16.default.createElement(Typography_default, { style: styles.inputText }, options.find((cur) => cur.value === value)?.label)
1593
1633
  ) : /* @__PURE__ */ import_react16.default.createElement(
1594
1634
  import_react_native16.TextInput,
1595
1635
  {
@@ -1610,7 +1650,7 @@ var TextField = ({
1610
1650
  placeholderTextColor: colors2.textSecondary.main,
1611
1651
  ...formProps,
1612
1652
  ...props,
1613
- style: styles2.input
1653
+ style: styles.input
1614
1654
  }
1615
1655
  ),
1616
1656
  end && /* @__PURE__ */ import_react16.default.createElement(
@@ -1618,7 +1658,7 @@ var TextField = ({
1618
1658
  {
1619
1659
  style: {
1620
1660
  marginRight: 20,
1621
- paddingTop: variant === "text" ? (0, import_react_native_size_matters14.ms)(13) : 0
1661
+ paddingTop: variant === "text" ? (0, import_react_native_size_matters13.ms)(13) : 0
1622
1662
  }
1623
1663
  },
1624
1664
  end
@@ -1628,7 +1668,7 @@ var TextField = ({
1628
1668
  {
1629
1669
  style: {
1630
1670
  marginRight: variant === "text" ? 0 : 20,
1631
- paddingTop: variant === "text" ? (0, import_react_native_size_matters14.ms)(13) : 0
1671
+ paddingTop: variant === "text" ? (0, import_react_native_size_matters13.ms)(13) : 0
1632
1672
  }
1633
1673
  },
1634
1674
  /* @__PURE__ */ import_react16.default.createElement(
@@ -1644,11 +1684,11 @@ var TextField = ({
1644
1684
  Typography_default,
1645
1685
  {
1646
1686
  color: "textSecondary",
1647
- style: styles2.helperText,
1687
+ style: styles.helperText,
1648
1688
  variant: "caption"
1649
1689
  },
1650
1690
  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(
1691
+ ), 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
1692
  SelectMenu_default,
1653
1693
  {
1654
1694
  options,
@@ -1657,7 +1697,8 @@ var TextField = ({
1657
1697
  onClose: () => setFocused(false),
1658
1698
  label,
1659
1699
  helperText,
1660
- onChange: onChangeText
1700
+ onChange: onChangeText,
1701
+ ...selectMenuProps
1661
1702
  }
1662
1703
  ));
1663
1704
  };
@@ -1688,20 +1729,21 @@ var TextField2 = import_react16.default.forwardRef(
1688
1729
  end,
1689
1730
  options,
1690
1731
  multiline,
1732
+ selectMenuProps,
1691
1733
  ...props
1692
1734
  }, ref) => {
1693
1735
  const colors2 = useColors();
1694
1736
  const [focused, _setFocused] = (0, import_react16.useState)(false);
1695
1737
  const [showPassword, setShowPassword] = (0, import_react16.useState)(false);
1696
- const height = (0, import_react_native_size_matters14.moderateScale)(
1738
+ const height = (0, import_react_native_size_matters13.moderateScale)(
1697
1739
  multiline ? 50 + (props.numberOfLines || 1) * 18 : 50
1698
1740
  );
1699
1741
  const setFocused = (value2) => {
1700
1742
  _setFocused(value2);
1701
1743
  };
1702
- const styles2 = import_react_native_size_matters14.ScaledSheet.create({
1744
+ const styles = import_react_native_size_matters13.ScaledSheet.create({
1703
1745
  root: {
1704
- marginBottom: (0, import_react_native_size_matters14.ms)(gutterBottom),
1746
+ marginBottom: (0, import_react_native_size_matters13.ms)(gutterBottom),
1705
1747
  ...style
1706
1748
  },
1707
1749
  container: {
@@ -1720,8 +1762,8 @@ var TextField2 = import_react16.default.forwardRef(
1720
1762
  fontSize: "14@s",
1721
1763
  flex: 1,
1722
1764
  alignSelf: "stretch",
1723
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10),
1724
- paddingRight: (0, import_react_native_size_matters14.moderateScale)(10),
1765
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10),
1766
+ paddingRight: (0, import_react_native_size_matters13.moderateScale)(10),
1725
1767
  color: colors2.dark.main,
1726
1768
  zIndex: 10
1727
1769
  // backgroundColor: "#284",
@@ -1729,12 +1771,12 @@ var TextField2 = import_react16.default.forwardRef(
1729
1771
  inputText: {
1730
1772
  fontSize: "14@ms",
1731
1773
  color: colors2.dark.main,
1732
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10)
1774
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10)
1733
1775
  },
1734
1776
  placeholder: {
1735
1777
  fontSize: "14@ms",
1736
1778
  color: colors2.textSecondary.light,
1737
- paddingLeft: (0, import_react_native_size_matters14.moderateScale)(10)
1779
+ paddingLeft: (0, import_react_native_size_matters13.moderateScale)(10)
1738
1780
  },
1739
1781
  label: {},
1740
1782
  helperText: {
@@ -1774,7 +1816,7 @@ var TextField2 = import_react16.default.forwardRef(
1774
1816
  autoCapitalize: "none",
1775
1817
  textContentType: "password"
1776
1818
  } : {};
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(
1819
+ 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
1820
  Typography_default,
1779
1821
  {
1780
1822
  variant: "body2",
@@ -1787,10 +1829,10 @@ var TextField2 = import_react16.default.forwardRef(
1787
1829
  import_react_native16.TouchableOpacity,
1788
1830
  {
1789
1831
  onPress: () => setFocused(true),
1790
- style: styles2.container
1832
+ style: styles.container
1791
1833
  },
1792
1834
  /* @__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(
1835
+ 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
1836
  import_vector_icons8.Ionicons,
1795
1837
  {
1796
1838
  name: "chevron-down",
@@ -1823,7 +1865,7 @@ var TextField2 = import_react16.default.forwardRef(
1823
1865
  extAlignVertical: multiline ? "top" : "center",
1824
1866
  ...formProps,
1825
1867
  ...props,
1826
- style: styles2.input
1868
+ style: styles.input
1827
1869
  }
1828
1870
  ),
1829
1871
  end ? /* @__PURE__ */ import_react16.default.createElement(import_react_native16.View, { style: { marginRight: 20 } }, end) : type === "password" && /* @__PURE__ */ import_react16.default.createElement(
@@ -1845,11 +1887,11 @@ var TextField2 = import_react16.default.forwardRef(
1845
1887
  Typography_default,
1846
1888
  {
1847
1889
  color: "textSecondary",
1848
- style: styles2.helperText,
1890
+ style: styles.helperText,
1849
1891
  variant: "caption"
1850
1892
  },
1851
1893
  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(
1894
+ ), 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
1895
  SelectMenu_default,
1854
1896
  {
1855
1897
  options,
@@ -1858,7 +1900,8 @@ var TextField2 = import_react16.default.forwardRef(
1858
1900
  onClose: () => setFocused(false),
1859
1901
  label,
1860
1902
  helperText,
1861
- onChange: onChangeText
1903
+ onChange: onChangeText,
1904
+ ...selectMenuProps
1862
1905
  }
1863
1906
  ));
1864
1907
  }
@@ -1867,7 +1910,7 @@ var TextField_default = TextField;
1867
1910
 
1868
1911
  // ../src/Components/Locator.tsx
1869
1912
  var Location = __toESM(require("expo-location"));
1870
- var import_react_native_size_matters15 = require("react-native-size-matters");
1913
+ var import_react_native_size_matters14 = require("react-native-size-matters");
1871
1914
  var getPredictionsFromCoords = async (coords) => {
1872
1915
  const { GOOGLE_MAP_API_KEY } = getConfig();
1873
1916
  if (!GOOGLE_MAP_API_KEY)
@@ -1930,7 +1973,7 @@ var Locator = ({
1930
1973
  const [value, setValue] = (0, import_react17.useState)("");
1931
1974
  const [prediction, setPrediction] = (0, import_react17.useState)([]);
1932
1975
  const colors2 = useColors();
1933
- const styles2 = import_react_native_size_matters15.ScaledSheet.create({
1976
+ const styles = import_react_native_size_matters14.ScaledSheet.create({
1934
1977
  list: {
1935
1978
  backgroundColor: colors2.white[2],
1936
1979
  elevation: 10,
@@ -2044,7 +2087,7 @@ var Locator = ({
2044
2087
  }
2045
2088
  )), /* @__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
2089
  }
2047
- ), prediction.length > 0 && /* @__PURE__ */ import_react17.default.createElement(import_react_native17.View, { style: styles2.list }, prediction.map(
2090
+ ), prediction.length > 0 && /* @__PURE__ */ import_react17.default.createElement(import_react_native17.View, { style: styles.list }, prediction.map(
2048
2091
  (cur, i) => i < 5 && /* @__PURE__ */ import_react17.default.createElement(
2049
2092
  ListItem,
2050
2093
  {
@@ -2068,26 +2111,27 @@ var Locator = ({
2068
2111
  };
2069
2112
 
2070
2113
  // ../src/Components/SafeAreaView.tsx
2071
- var import_react_native18 = require("react-native");
2072
2114
  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
- });
2115
+ var import_react_native_safe_area_context6 = require("react-native-safe-area-context");
2116
+ var import_react_native18 = require("react-native");
2081
2117
  var SafeAreaView = ({
2082
2118
  children,
2083
2119
  style
2084
2120
  }) => {
2085
- return /* @__PURE__ */ import_react18.default.createElement(import_react_native18.SafeAreaView, { style: { ...styles.droidSafeArea, ...style } }, children);
2121
+ const { top, bottom } = (0, import_react_native_safe_area_context6.useSafeAreaInsets)();
2122
+ const styles = import_react_native18.StyleSheet.create({
2123
+ root: {
2124
+ paddingTop: top,
2125
+ paddingBottom: bottom,
2126
+ flex: 1
2127
+ }
2128
+ });
2129
+ return /* @__PURE__ */ import_react18.default.createElement(import_react_native18.View, { style: [styles.root, style] }, children);
2086
2130
  };
2087
2131
 
2088
2132
  // ../src/Components/Divider.tsx
2089
- var import_react_native20 = require("react-native");
2090
- var import_react_native_size_matters17 = require("react-native-size-matters");
2133
+ var import_react_native19 = require("react-native");
2134
+ var import_react_native_size_matters15 = require("react-native-size-matters");
2091
2135
  var Divider = ({
2092
2136
  height = 1,
2093
2137
  color = "textSecondary",
@@ -2095,21 +2139,21 @@ var Divider = ({
2095
2139
  style
2096
2140
  }) => {
2097
2141
  const colors2 = useColors();
2098
- const styles2 = import_react_native_size_matters17.ScaledSheet.create({
2142
+ const styles = import_react_native_size_matters15.ScaledSheet.create({
2099
2143
  root: {
2100
2144
  height,
2101
2145
  backgroundColor: colors2[color].main,
2102
- marginBottom: (0, import_react_native_size_matters17.ms)(gutterBottom),
2146
+ marginBottom: (0, import_react_native_size_matters15.ms)(gutterBottom),
2103
2147
  ...style
2104
2148
  }
2105
2149
  });
2106
- return /* @__PURE__ */ React.createElement(import_react_native20.View, { style: styles2.root });
2150
+ return /* @__PURE__ */ React.createElement(import_react_native19.View, { style: styles.root });
2107
2151
  };
2108
2152
 
2109
2153
  // ../src/Components/Spinner.tsx
2110
2154
  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");
2155
+ var import_react_native20 = require("react-native");
2156
+ var import_react_native_size_matters16 = require("react-native-size-matters");
2113
2157
  var Spinner = ({
2114
2158
  label,
2115
2159
  size = "large",
@@ -2118,10 +2162,10 @@ var Spinner = ({
2118
2162
  style = {}
2119
2163
  }) => {
2120
2164
  const colors2 = useColors();
2121
- const styles2 = import_react_native_size_matters18.ScaledSheet.create({
2165
+ const styles = import_react_native_size_matters16.ScaledSheet.create({
2122
2166
  root: {
2123
- width: fullscreen ? import_react_native21.Dimensions.get("screen").width : "100%",
2124
- height: fullscreen ? import_react_native21.Dimensions.get("screen").height : "100%",
2167
+ width: fullscreen ? import_react_native20.Dimensions.get("screen").width : "100%",
2168
+ height: fullscreen ? import_react_native20.Dimensions.get("screen").height : "100%",
2125
2169
  left: 0,
2126
2170
  bottom: 0,
2127
2171
  zIndex: 100,
@@ -2144,14 +2188,14 @@ var Spinner = ({
2144
2188
  color: color === "light" ? colors2.white[2] : colors2.black[4]
2145
2189
  }
2146
2190
  });
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)));
2191
+ 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
2192
  };
2149
2193
  var Spinner_default = Spinner;
2150
2194
 
2151
2195
  // ../src/Components/OTPInput.tsx
2152
2196
  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");
2197
+ var import_react_native21 = require("react-native");
2198
+ var import_react_native_size_matters17 = require("react-native-size-matters");
2155
2199
  var OTPInput = ({
2156
2200
  length = 6,
2157
2201
  onChange = () => {
@@ -2194,25 +2238,25 @@ var OTPInput = ({
2194
2238
  }
2195
2239
  };
2196
2240
  const colors2 = useColors();
2197
- const styles2 = import_react_native_size_matters19.ScaledSheet.create({
2241
+ const styles = import_react_native_size_matters17.ScaledSheet.create({
2198
2242
  root: {},
2199
2243
  container: { flexDirection: "row" },
2200
2244
  input: {
2201
- height: (0, import_react_native_size_matters19.ms)(size),
2202
- width: (0, import_react_native_size_matters19.ms)(size),
2245
+ height: (0, import_react_native_size_matters17.ms)(size),
2246
+ width: (0, import_react_native_size_matters17.ms)(size),
2203
2247
  borderColor: colors2.white[5],
2204
2248
  backgroundColor: variant === "contained" ? colors2.white[3] : void 0,
2205
2249
  borderWidth: variant === "outlined" ? 1 : 0,
2206
2250
  borderBottomWidth: variant === "contained" ? 0 : 1,
2207
- marginHorizontal: (0, import_react_native_size_matters19.ms)(spacing * 5),
2251
+ marginHorizontal: (0, import_react_native_size_matters17.ms)(spacing * 5),
2208
2252
  textAlign: "center",
2209
2253
  borderRadius: variant === "text" ? 0 : 10,
2210
2254
  color: colors2.dark.main,
2211
- fontSize: (0, import_react_native_size_matters19.ms)(size * 0.5)
2255
+ fontSize: (0, import_react_native_size_matters17.ms)(size * 0.5)
2212
2256
  }
2213
2257
  });
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,
2258
+ 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(
2259
+ import_react_native21.TextInput,
2216
2260
  {
2217
2261
  ref: inputRefs[index],
2218
2262
  onChangeText: (val) => onChangeHandler(val, index),
@@ -2220,7 +2264,7 @@ var OTPInput = ({
2220
2264
  blurOnSubmit: false,
2221
2265
  keyboardType: "number-pad",
2222
2266
  key: index,
2223
- style: [styles2.input]
2267
+ style: [styles.input]
2224
2268
  }
2225
2269
  ))));
2226
2270
  };
@@ -2262,6 +2306,7 @@ var next_default = HoddyUI;
2262
2306
  showFlashMessage,
2263
2307
  useColors,
2264
2308
  useNavScreenOptions,
2265
- useTheme
2309
+ useTheme,
2310
+ useThemeContext
2266
2311
  });
2267
2312
  //# sourceMappingURL=index.js.map