@hoddy-ui/next 2.0.59 → 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.d.mts CHANGED
@@ -188,6 +188,7 @@ interface PopupProps {
188
188
  open: boolean;
189
189
  onClose?: () => void;
190
190
  style?: ViewStyle;
191
+ disableAutoKeyboardManagement?: boolean;
191
192
  onModalShow?: () => void;
192
193
  onModalHide?: () => void;
193
194
  }
package/dist/index.d.ts CHANGED
@@ -188,6 +188,7 @@ interface PopupProps {
188
188
  open: boolean;
189
189
  onClose?: () => void;
190
190
  style?: ViewStyle;
191
+ disableAutoKeyboardManagement?: boolean;
191
192
  onModalShow?: () => void;
192
193
  onModalHide?: () => void;
193
194
  }
package/dist/index.js CHANGED
@@ -452,6 +452,7 @@ var UIThemeContext = (0, import_react3.createContext)({
452
452
  themeState: { mode: "default", value: "light" }
453
453
  });
454
454
  function themeReducer(state, { type, payload }) {
455
+ import_async_storage.default.setItem("theme", type);
455
456
  switch (type) {
456
457
  case "dark":
457
458
  return { mode: "dark", value: "dark" };
@@ -470,12 +471,20 @@ var ConfigureSystemUI = () => {
470
471
  const config2 = getConfig();
471
472
  if (colors2) {
472
473
  SystemUI.setBackgroundColorAsync(colors2.white[1]);
473
- if (import_react_native3.Platform.OS === "android" && !config2.EDGE_TO_EDGE) {
474
- NavigationBar.setBackgroundColorAsync(colors2.white[1]);
475
- if (theme === "dark") {
476
- 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
+ }
477
481
  } else {
478
- NavigationBar.setButtonStyleAsync("dark");
482
+ NavigationBar.setBackgroundColorAsync(colors2.white[1]);
483
+ if (theme === "dark") {
484
+ NavigationBar.setButtonStyleAsync("light");
485
+ } else {
486
+ NavigationBar.setButtonStyleAsync("dark");
487
+ }
479
488
  }
480
489
  }
481
490
  }
@@ -523,7 +532,6 @@ var UIThemeProvider = ({ children }) => {
523
532
  };
524
533
 
525
534
  // ../src/hooks.ts
526
- var import_async_storage2 = __toESM(require("@react-native-async-storage/async-storage"));
527
535
  var useColors = () => {
528
536
  const { themeState } = (0, import_react4.useContext)(UIThemeContext);
529
537
  return colors(themeState.value);
@@ -538,10 +546,8 @@ var useThemeContext = () => {
538
546
  const setTheme = (theme2) => {
539
547
  if (theme2 === "default") {
540
548
  themeDispatch?.({ type: "default", payload: colorScheme });
541
- import_async_storage2.default.setItem("theme", "default");
542
549
  } else {
543
550
  themeDispatch?.({ type: theme2 });
544
- import_async_storage2.default.setItem("theme", theme2);
545
551
  }
546
552
  };
547
553
  return { theme, setTheme };
@@ -969,7 +975,8 @@ var Popup = ({
969
975
  },
970
976
  style,
971
977
  onModalShow,
972
- onModalHide
978
+ onModalHide,
979
+ disableAutoKeyboardManagement = false
973
980
  }) => {
974
981
  const theme = useTheme();
975
982
  const colors2 = useColors();
@@ -1097,27 +1104,34 @@ var Popup = ({
1097
1104
  behavior: import_react_native11.Platform.OS === "ios" ? "padding" : "height",
1098
1105
  keyboardVerticalOffset: keyboardVerticalOffset || keyboardVerticalOffsetValue
1099
1106
  },
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(
1101
- import_react_native11.Pressable,
1107
+ /* @__PURE__ */ import_react11.default.createElement(
1108
+ import_react_native11.TouchableWithoutFeedback,
1102
1109
  {
1103
- style: [import_react_native11.StyleSheet.absoluteFill, { zIndex: 1 }],
1104
- onPress: closeAction
1105
- }
1106
- ), /* @__PURE__ */ import_react11.default.createElement(
1107
- import_react_native_reanimated2.default.View,
1108
- {
1109
- style: [styles.avoidingView, contentAnimatedStyle],
1110
- layout: modalVisible ? import_react_native_reanimated2.LinearTransition.springify().stiffness(200).mass(0.5).damping(100) : void 0
1110
+ onPress: import_react_native11.Keyboard.dismiss,
1111
+ disabled: disableAutoKeyboardManagement
1111
1112
  },
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(
1113
- 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,
1114
1115
  {
1115
- size: 20,
1116
- icon: "close",
1116
+ style: [import_react_native11.StyleSheet.absoluteFill, { zIndex: 1 }],
1117
1117
  onPress: closeAction
1118
1118
  }
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))
1120
- )))
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
+ )
1121
1135
  ))
1122
1136
  );
1123
1137
  };
@@ -1427,27 +1441,36 @@ var SelectMenu = ({
1427
1441
  ),
1428
1442
  [value, colors2]
1429
1443
  );
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(
1431
- TextField_default,
1432
- {
1433
- label: searchPlaceholder,
1434
- value: search,
1435
- type: "search",
1436
- onChangeText: setSearch,
1437
- variant: "outlined"
1438
- }
1439
- )), /* @__PURE__ */ import_react15.default.createElement(
1440
- import_react_native15.FlatList,
1444
+ return /* @__PURE__ */ import_react15.default.createElement(
1445
+ Popup,
1441
1446
  {
1442
- removeClippedSubviews: true,
1443
- keyExtractor: (item) => item.value,
1444
- bounces: false,
1445
- renderItem,
1446
- data: options.filter(
1447
- (item) => search.length > 1 ? item.label.toLowerCase().indexOf(search.toLowerCase()) > -1 : item
1448
- ).sort((a, b) => a.label.localeCompare(b.label))
1449
- }
1450
- )));
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
+ );
1451
1474
  };
1452
1475
  var SelectMenu_default = SelectMenu;
1453
1476