@gaozh1024/rn-kit 0.3.0 → 0.3.1

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
@@ -1723,7 +1723,8 @@ function Card({
1723
1723
  }
1724
1724
 
1725
1725
  // src/ui/display/Icon.tsx
1726
- var import_MaterialIcons = __toESM(require("react-native-vector-icons/MaterialIcons"));
1726
+ var import_react_native10 = require("react-native");
1727
+ var import_vector_icons = require("@expo/vector-icons");
1727
1728
  var import_jsx_runtime16 = require("nativewind/jsx-runtime");
1728
1729
  var sizeMap2 = {
1729
1730
  xs: 16,
@@ -1732,6 +1733,12 @@ var sizeMap2 = {
1732
1733
  lg: 32,
1733
1734
  xl: 48
1734
1735
  };
1736
+ function isComponentLike(value) {
1737
+ if (typeof value === "function") return true;
1738
+ if (typeof value !== "object" || value === null) return false;
1739
+ return "$$typeof" in value;
1740
+ }
1741
+ var MaterialIconComponent = isComponentLike(import_vector_icons.MaterialIcons) ? import_vector_icons.MaterialIcons : void 0;
1735
1742
  function resolveSize(size = "md") {
1736
1743
  if (typeof size === "number") return size;
1737
1744
  return sizeMap2[size] || 24;
@@ -1740,11 +1747,29 @@ function Icon({ name, size = "md", color = "gray-600", style, onPress, testID })
1740
1747
  const { theme, isDark } = useOptionalTheme();
1741
1748
  const resolvedSize = resolveSize(size);
1742
1749
  const resolvedColor = resolveNamedColor(color, theme, isDark) ?? color;
1750
+ const fallback = /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1751
+ import_react_native10.Text,
1752
+ {
1753
+ style: [
1754
+ {
1755
+ color: resolvedColor,
1756
+ fontSize: resolvedSize,
1757
+ lineHeight: resolvedSize
1758
+ },
1759
+ style
1760
+ ],
1761
+ testID,
1762
+ children: "\u25A1"
1763
+ }
1764
+ );
1765
+ if (!MaterialIconComponent) {
1766
+ return onPress ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AppPressable, { onPress, children: fallback }) : fallback;
1767
+ }
1743
1768
  if (onPress) {
1744
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AppPressable, { onPress, testID, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_MaterialIcons.default, { name, size: resolvedSize, color: resolvedColor, style }) });
1769
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(AppPressable, { onPress, testID, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(MaterialIconComponent, { name, size: resolvedSize, color: resolvedColor, style }) });
1745
1770
  }
1746
1771
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1747
- import_MaterialIcons.default,
1772
+ MaterialIconComponent,
1748
1773
  {
1749
1774
  name,
1750
1775
  size: resolvedSize,
@@ -1800,7 +1825,7 @@ var FileIcons = {
1800
1825
 
1801
1826
  // src/ui/display/AppImage.tsx
1802
1827
  var import_react14 = require("react");
1803
- var import_react_native10 = require("react-native");
1828
+ var import_react_native11 = require("react-native");
1804
1829
  var import_jsx_runtime17 = require("nativewind/jsx-runtime");
1805
1830
  var radiusMap = {
1806
1831
  none: 0,
@@ -1863,7 +1888,7 @@ function AppImage({
1863
1888
  if (!isLoading) return null;
1864
1889
  if (placeholder) {
1865
1890
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1866
- import_react_native10.Image,
1891
+ import_react_native11.Image,
1867
1892
  {
1868
1893
  source: placeholder,
1869
1894
  style: {
@@ -1884,7 +1909,7 @@ function AppImage({
1884
1909
  center: true,
1885
1910
  className: "absolute inset-0 bg-gray-100",
1886
1911
  style: { borderRadius: resolvedRadius },
1887
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native10.ActivityIndicator, { color: theme.colors.primary?.[500] })
1912
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_native11.ActivityIndicator, { color: theme.colors.primary?.[500] })
1888
1913
  }
1889
1914
  );
1890
1915
  }
@@ -1896,7 +1921,7 @@ function AppImage({
1896
1921
  if (!hasError) return null;
1897
1922
  if (errorPlaceholder) {
1898
1923
  return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1899
- import_react_native10.Image,
1924
+ import_react_native11.Image,
1900
1925
  {
1901
1926
  source: errorPlaceholder,
1902
1927
  style: {
@@ -1925,7 +1950,7 @@ function AppImage({
1925
1950
  const isNumberWidth = typeof width === "number";
1926
1951
  const isNumberHeight = typeof height === "number";
1927
1952
  const content = /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1928
- import_react_native10.View,
1953
+ import_react_native11.View,
1929
1954
  {
1930
1955
  className: cn("overflow-hidden", className),
1931
1956
  style: {
@@ -1937,7 +1962,7 @@ function AppImage({
1937
1962
  children: [
1938
1963
  renderLoading(),
1939
1964
  /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1940
- import_react_native10.Image,
1965
+ import_react_native11.Image,
1941
1966
  {
1942
1967
  source,
1943
1968
  style: imageStyle,
@@ -1958,7 +1983,7 @@ function AppImage({
1958
1983
 
1959
1984
  // src/ui/display/AppList.tsx
1960
1985
  var import_react15 = require("react");
1961
- var import_react_native11 = require("react-native");
1986
+ var import_react_native12 = require("react-native");
1962
1987
  var import_jsx_runtime18 = require("nativewind/jsx-runtime");
1963
1988
  function SkeletonItem2({ render }) {
1964
1989
  const colors = useThemeColors();
@@ -2007,7 +2032,7 @@ function ErrorState({ error, onRetry }) {
2007
2032
  }
2008
2033
  function LoadMoreFooter({ loading }) {
2009
2034
  if (!loading) return null;
2010
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Center, { py: 4, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native11.ActivityIndicator, { size: "small" }) });
2035
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Center, { py: 4, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_native12.ActivityIndicator, { size: "small" }) });
2011
2036
  }
2012
2037
  function Divider({ style }) {
2013
2038
  const colors = useThemeColors();
@@ -2086,7 +2111,7 @@ function AppList({
2086
2111
  );
2087
2112
  if (loading && data.length === 0) {
2088
2113
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2089
- import_react_native11.FlatList,
2114
+ import_react_native12.FlatList,
2090
2115
  {
2091
2116
  data: skeletonData,
2092
2117
  renderItem: skeletonRenderItem,
@@ -2112,13 +2137,13 @@ function AppList({
2112
2137
  ] });
2113
2138
  }, [isLoadingMore, ListFooterComponent]);
2114
2139
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2115
- import_react_native11.FlatList,
2140
+ import_react_native12.FlatList,
2116
2141
  {
2117
2142
  data,
2118
2143
  renderItem: wrappedRenderItem,
2119
2144
  keyExtractor: defaultKeyExtractor,
2120
2145
  refreshControl: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2121
- import_react_native11.RefreshControl,
2146
+ import_react_native12.RefreshControl,
2122
2147
  {
2123
2148
  refreshing,
2124
2149
  onRefresh,
@@ -2145,7 +2170,7 @@ function AppList({
2145
2170
  }
2146
2171
  );
2147
2172
  }
2148
- var styles3 = import_react_native11.StyleSheet.create({
2173
+ var styles3 = import_react_native12.StyleSheet.create({
2149
2174
  retryButton: {
2150
2175
  borderWidth: 0.5
2151
2176
  }
@@ -2153,7 +2178,7 @@ var styles3 = import_react_native11.StyleSheet.create({
2153
2178
 
2154
2179
  // src/ui/display/PageDrawer.tsx
2155
2180
  var import_react16 = __toESM(require("react"));
2156
- var import_react_native12 = require("react-native");
2181
+ var import_react_native13 = require("react-native");
2157
2182
  var import_jsx_runtime19 = require("nativewind/jsx-runtime");
2158
2183
  function PageDrawer({
2159
2184
  visible,
@@ -2181,14 +2206,14 @@ function PageDrawer({
2181
2206
  }, [onClose]);
2182
2207
  import_react16.default.useEffect(() => {
2183
2208
  if (!visible) return;
2184
- const subscription = import_react_native12.BackHandler.addEventListener("hardwareBackPress", () => {
2209
+ const subscription = import_react_native13.BackHandler.addEventListener("hardwareBackPress", () => {
2185
2210
  handleClose();
2186
2211
  return true;
2187
2212
  });
2188
2213
  return () => subscription.remove();
2189
2214
  }, [handleClose, visible]);
2190
2215
  const panResponder = import_react16.default.useMemo(
2191
- () => import_react_native12.PanResponder.create({
2216
+ () => import_react_native13.PanResponder.create({
2192
2217
  onMoveShouldSetPanResponder: (_event, gestureState) => {
2193
2218
  if (!swipeEnabled) return false;
2194
2219
  const isHorizontal = Math.abs(gestureState.dx) > Math.abs(gestureState.dy);
@@ -2272,7 +2297,7 @@ function PageDrawer({
2272
2297
  ]
2273
2298
  }
2274
2299
  );
2275
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_native12.Modal, { visible: true, transparent: true, animationType: "fade", onRequestClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2300
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_native13.Modal, { visible: true, transparent: true, animationType: "fade", onRequestClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
2276
2301
  AppView,
2277
2302
  {
2278
2303
  testID,
@@ -2295,7 +2320,7 @@ function PageDrawer({
2295
2320
  }
2296
2321
  ) });
2297
2322
  }
2298
- var styles4 = import_react_native12.StyleSheet.create({
2323
+ var styles4 = import_react_native13.StyleSheet.create({
2299
2324
  drawer: {
2300
2325
  height: "100%"
2301
2326
  },
@@ -2323,7 +2348,7 @@ function GradientView({
2323
2348
 
2324
2349
  // src/ui/form/AppInput.tsx
2325
2350
  var import_react17 = require("react");
2326
- var import_react_native13 = require("react-native");
2351
+ var import_react_native14 = require("react-native");
2327
2352
  var import_jsx_runtime21 = require("nativewind/jsx-runtime");
2328
2353
  var AppInput = (0, import_react17.forwardRef)(
2329
2354
  ({ label, error, disabled = false, leftIcon, rightIcon, className, style, ...props }, ref) => {
@@ -2352,9 +2377,9 @@ var AppInput = (0, import_react17.forwardRef)(
2352
2377
  }
2353
2378
  ],
2354
2379
  children: [
2355
- leftIcon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native13.View, { style: styles5.icon, children: leftIcon }),
2380
+ leftIcon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native14.View, { style: styles5.icon, children: leftIcon }),
2356
2381
  /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
2357
- import_react_native13.TextInput,
2382
+ import_react_native14.TextInput,
2358
2383
  {
2359
2384
  ref,
2360
2385
  className: "flex-1 py-3 text-base",
@@ -2372,7 +2397,7 @@ var AppInput = (0, import_react17.forwardRef)(
2372
2397
  ...props
2373
2398
  }
2374
2399
  ),
2375
- rightIcon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native13.View, { style: styles5.icon, children: rightIcon })
2400
+ rightIcon && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_native14.View, { style: styles5.icon, children: rightIcon })
2376
2401
  ]
2377
2402
  }
2378
2403
  ),
@@ -2381,7 +2406,7 @@ var AppInput = (0, import_react17.forwardRef)(
2381
2406
  }
2382
2407
  );
2383
2408
  AppInput.displayName = "AppInput";
2384
- var styles5 = import_react_native13.StyleSheet.create({
2409
+ var styles5 = import_react_native14.StyleSheet.create({
2385
2410
  inputContainer: {
2386
2411
  borderWidth: 0.5,
2387
2412
  minHeight: 48
@@ -2397,7 +2422,7 @@ var styles5 = import_react_native13.StyleSheet.create({
2397
2422
 
2398
2423
  // src/ui/form/Checkbox.tsx
2399
2424
  var import_react18 = require("react");
2400
- var import_react_native14 = require("react-native");
2425
+ var import_react_native15 = require("react-native");
2401
2426
  var import_jsx_runtime22 = require("nativewind/jsx-runtime");
2402
2427
  function Checkbox({
2403
2428
  checked,
@@ -2421,7 +2446,7 @@ function Checkbox({
2421
2446
  };
2422
2447
  const disabledOpacity = 0.4;
2423
2448
  return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
2424
- import_react_native14.TouchableOpacity,
2449
+ import_react_native15.TouchableOpacity,
2425
2450
  {
2426
2451
  onPress: toggle,
2427
2452
  disabled,
@@ -2452,7 +2477,7 @@ function Checkbox({
2452
2477
  }
2453
2478
  );
2454
2479
  }
2455
- var styles6 = import_react_native14.StyleSheet.create({
2480
+ var styles6 = import_react_native15.StyleSheet.create({
2456
2481
  checkbox: {
2457
2482
  borderWidth: 0.5
2458
2483
  }
@@ -2497,7 +2522,7 @@ function CheckboxGroup({
2497
2522
 
2498
2523
  // src/ui/form/Radio.tsx
2499
2524
  var import_react19 = require("react");
2500
- var import_react_native15 = require("react-native");
2525
+ var import_react_native16 = require("react-native");
2501
2526
  var import_jsx_runtime24 = require("nativewind/jsx-runtime");
2502
2527
  function Radio({
2503
2528
  checked,
@@ -2521,7 +2546,7 @@ function Radio({
2521
2546
  };
2522
2547
  const disabledOpacity = 0.4;
2523
2548
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2524
- import_react_native15.TouchableOpacity,
2549
+ import_react_native16.TouchableOpacity,
2525
2550
  {
2526
2551
  onPress: toggle,
2527
2552
  disabled,
@@ -2556,7 +2581,7 @@ function Radio({
2556
2581
  }
2557
2582
  );
2558
2583
  }
2559
- var styles7 = import_react_native15.StyleSheet.create({
2584
+ var styles7 = import_react_native16.StyleSheet.create({
2560
2585
  radio: {
2561
2586
  borderWidth: 0.5
2562
2587
  },
@@ -2590,7 +2615,7 @@ function RadioGroup({
2590
2615
 
2591
2616
  // src/ui/form/Switch.tsx
2592
2617
  var import_react20 = require("react");
2593
- var import_react_native16 = require("react-native");
2618
+ var import_react_native17 = require("react-native");
2594
2619
  var import_jsx_runtime26 = require("nativewind/jsx-runtime");
2595
2620
  function Switch({
2596
2621
  checked,
@@ -2624,7 +2649,7 @@ function Switch({
2624
2649
  const config = sizes[size];
2625
2650
  const thumbPosition = isChecked ? config.width - config.thumb - config.padding : config.padding;
2626
2651
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
2627
- import_react_native16.TouchableOpacity,
2652
+ import_react_native17.TouchableOpacity,
2628
2653
  {
2629
2654
  onPress: toggle,
2630
2655
  disabled,
@@ -2669,7 +2694,7 @@ function Switch({
2669
2694
  }
2670
2695
  );
2671
2696
  }
2672
- var styles8 = import_react_native16.StyleSheet.create({
2697
+ var styles8 = import_react_native17.StyleSheet.create({
2673
2698
  track: {
2674
2699
  justifyContent: "center",
2675
2700
  padding: 2
@@ -2685,7 +2710,7 @@ var styles8 = import_react_native16.StyleSheet.create({
2685
2710
 
2686
2711
  // src/ui/form/Slider.tsx
2687
2712
  var import_react22 = require("react");
2688
- var import_react_native17 = require("react-native");
2713
+ var import_react_native18 = require("react-native");
2689
2714
 
2690
2715
  // src/ui/form/useFormTheme.ts
2691
2716
  var import_react21 = require("react");
@@ -2753,7 +2778,7 @@ function Slider({
2753
2778
  [value, min, max, onChange]
2754
2779
  );
2755
2780
  const panResponder = (0, import_react22.useRef)(
2756
- import_react_native17.PanResponder.create({
2781
+ import_react_native18.PanResponder.create({
2757
2782
  onStartShouldSetPanResponder: () => !disabled,
2758
2783
  onMoveShouldSetPanResponder: () => !disabled,
2759
2784
  onPanResponderGrant: () => {
@@ -2816,7 +2841,7 @@ function Slider({
2816
2841
  }
2817
2842
  ),
2818
2843
  /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
2819
- import_react_native17.View,
2844
+ import_react_native18.View,
2820
2845
  {
2821
2846
  onLayout,
2822
2847
  className: "rounded-full",
@@ -2875,7 +2900,7 @@ function Slider({
2875
2900
  )
2876
2901
  ] });
2877
2902
  }
2878
- var styles9 = import_react_native17.StyleSheet.create({
2903
+ var styles9 = import_react_native18.StyleSheet.create({
2879
2904
  track: {
2880
2905
  height: 6,
2881
2906
  width: "100%"
@@ -2917,7 +2942,7 @@ var styles9 = import_react_native17.StyleSheet.create({
2917
2942
 
2918
2943
  // src/ui/form/Select.tsx
2919
2944
  var import_react23 = require("react");
2920
- var import_react_native18 = require("react-native");
2945
+ var import_react_native19 = require("react-native");
2921
2946
  var import_jsx_runtime28 = require("nativewind/jsx-runtime");
2922
2947
  function Select({
2923
2948
  value,
@@ -3023,15 +3048,15 @@ function Select({
3023
3048
  children: displayText
3024
3049
  }
3025
3050
  ),
3026
- /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native18.View, { className: "flex-row items-center", children: [
3027
- clearable && selectedValues.length > 0 && !disabled && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native18.TouchableOpacity, { onPress: handleClear, className: "mr-2 p-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "sm", color: colors.icon }) }),
3051
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_react_native19.View, { className: "flex-row items-center", children: [
3052
+ clearable && selectedValues.length > 0 && !disabled && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native19.TouchableOpacity, { onPress: handleClear, className: "mr-2 p-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "sm", color: colors.icon }) }),
3028
3053
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "keyboard-arrow-down", size: "md", color: colors.icon })
3029
3054
  ] })
3030
3055
  ]
3031
3056
  }
3032
3057
  ),
3033
3058
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3034
- import_react_native18.Modal,
3059
+ import_react_native19.Modal,
3035
3060
  {
3036
3061
  visible,
3037
3062
  transparent: true,
@@ -3053,7 +3078,7 @@ function Select({
3053
3078
  style: [styles10.header, { borderBottomColor: colors.divider }],
3054
3079
  children: [
3055
3080
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(AppText, { className: "text-lg font-semibold", style: { color: colors.text }, children: multiple ? "\u9009\u62E9\u9009\u9879" : "\u8BF7\u9009\u62E9" }),
3056
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native18.TouchableOpacity, { onPress: () => setVisible(false), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "md", color: colors.icon }) })
3081
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native19.TouchableOpacity, { onPress: () => setVisible(false), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "md", color: colors.icon }) })
3057
3082
  ]
3058
3083
  }
3059
3084
  ),
@@ -3070,9 +3095,9 @@ function Select({
3070
3095
  className: "px-3 py-2 rounded-lg",
3071
3096
  style: { backgroundColor: colors.surfaceMuted },
3072
3097
  children: [
3073
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native18.View, { style: { marginRight: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "search", size: "sm", color: colors.icon }) }),
3098
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native19.View, { style: { marginRight: 8 }, children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "search", size: "sm", color: colors.icon }) }),
3074
3099
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3075
- import_react_native18.TextInput,
3100
+ import_react_native19.TextInput,
3076
3101
  {
3077
3102
  className: "flex-1 text-base",
3078
3103
  style: { color: colors.text },
@@ -3083,14 +3108,14 @@ function Select({
3083
3108
  autoFocus: true
3084
3109
  }
3085
3110
  ),
3086
- searchKeyword.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native18.TouchableOpacity, { onPress: () => setSearchKeyword(""), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "sm", color: colors.icon }) })
3111
+ searchKeyword.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_react_native19.TouchableOpacity, { onPress: () => setSearchKeyword(""), children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Icon, { name: "close", size: "sm", color: colors.icon }) })
3087
3112
  ]
3088
3113
  }
3089
3114
  )
3090
3115
  }
3091
3116
  ),
3092
3117
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3093
- import_react_native18.FlatList,
3118
+ import_react_native19.FlatList,
3094
3119
  {
3095
3120
  data: filteredOptions,
3096
3121
  keyExtractor: (item) => item.value,
@@ -3113,7 +3138,7 @@ function Select({
3113
3138
  " \u9879"
3114
3139
  ] }),
3115
3140
  /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
3116
- import_react_native18.TouchableOpacity,
3141
+ import_react_native19.TouchableOpacity,
3117
3142
  {
3118
3143
  className: "px-4 py-2 rounded-lg",
3119
3144
  style: { backgroundColor: colors.primary },
@@ -3131,7 +3156,7 @@ function Select({
3131
3156
  )
3132
3157
  ] });
3133
3158
  }
3134
- var styles10 = import_react_native18.StyleSheet.create({
3159
+ var styles10 = import_react_native19.StyleSheet.create({
3135
3160
  trigger: {
3136
3161
  borderWidth: 0.5
3137
3162
  },
@@ -3151,7 +3176,7 @@ var styles10 = import_react_native18.StyleSheet.create({
3151
3176
 
3152
3177
  // src/ui/form/DatePicker.tsx
3153
3178
  var import_react24 = require("react");
3154
- var import_react_native19 = require("react-native");
3179
+ var import_react_native20 = require("react-native");
3155
3180
  var import_jsx_runtime29 = require("nativewind/jsx-runtime");
3156
3181
  function PickerColumn({
3157
3182
  title,
@@ -3177,7 +3202,7 @@ function PickerColumn({
3177
3202
  const selected = selectedValue === value;
3178
3203
  const disabled = isDisabled(value);
3179
3204
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3180
- import_react_native19.TouchableOpacity,
3205
+ import_react_native20.TouchableOpacity,
3181
3206
  {
3182
3207
  className: cn("py-2 items-center", selected && "bg-primary-50"),
3183
3208
  style: selected ? { backgroundColor: colors.primarySurface } : void 0,
@@ -3287,7 +3312,7 @@ function DatePicker({
3287
3312
  }
3288
3313
  ),
3289
3314
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3290
- import_react_native19.Modal,
3315
+ import_react_native20.Modal,
3291
3316
  {
3292
3317
  visible,
3293
3318
  transparent: true,
@@ -3303,9 +3328,9 @@ function DatePicker({
3303
3328
  className: "px-4 py-3",
3304
3329
  style: [styles11.header, { borderBottomColor: colors.divider }],
3305
3330
  children: [
3306
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native19.TouchableOpacity, { onPress: () => setVisible(false), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AppText, { style: { color: colors.textMuted }, children: "\u53D6\u6D88" }) }),
3331
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native20.TouchableOpacity, { onPress: () => setVisible(false), children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AppText, { style: { color: colors.textMuted }, children: "\u53D6\u6D88" }) }),
3307
3332
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AppText, { className: "text-lg font-semibold", style: { color: colors.text }, children: "\u9009\u62E9\u65E5\u671F" }),
3308
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native19.TouchableOpacity, { onPress: handleConfirm, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AppText, { style: { color: colors.primary }, className: "font-medium", children: "\u786E\u5B9A" }) })
3333
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_native20.TouchableOpacity, { onPress: handleConfirm, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AppText, { style: { color: colors.primary }, className: "font-medium", children: "\u786E\u5B9A" }) })
3309
3334
  ]
3310
3335
  }
3311
3336
  ),
@@ -3356,7 +3381,7 @@ function DatePicker({
3356
3381
  style: [styles11.footer, { borderTopColor: colors.divider }],
3357
3382
  children: [
3358
3383
  /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3359
- import_react_native19.TouchableOpacity,
3384
+ import_react_native20.TouchableOpacity,
3360
3385
  {
3361
3386
  className: "flex-1 py-2 items-center rounded-lg",
3362
3387
  style: { backgroundColor: colors.surfaceMuted },
@@ -3365,7 +3390,7 @@ function DatePicker({
3365
3390
  }
3366
3391
  ),
3367
3392
  minDate && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3368
- import_react_native19.TouchableOpacity,
3393
+ import_react_native20.TouchableOpacity,
3369
3394
  {
3370
3395
  className: "flex-1 py-2 items-center rounded-lg",
3371
3396
  style: { backgroundColor: colors.surfaceMuted },
@@ -3374,7 +3399,7 @@ function DatePicker({
3374
3399
  }
3375
3400
  ),
3376
3401
  maxDate && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
3377
- import_react_native19.TouchableOpacity,
3402
+ import_react_native20.TouchableOpacity,
3378
3403
  {
3379
3404
  className: "flex-1 py-2 items-center rounded-lg",
3380
3405
  style: { backgroundColor: colors.surfaceMuted },
@@ -3390,7 +3415,7 @@ function DatePicker({
3390
3415
  )
3391
3416
  ] });
3392
3417
  }
3393
- var styles11 = import_react_native19.StyleSheet.create({
3418
+ var styles11 = import_react_native20.StyleSheet.create({
3394
3419
  trigger: {
3395
3420
  borderWidth: 0.5
3396
3421
  },
@@ -3625,7 +3650,7 @@ function useThrottle(value, delay = 200) {
3625
3650
 
3626
3651
  // src/ui/hooks/useKeyboard.ts
3627
3652
  var import_react30 = require("react");
3628
- var import_react_native20 = require("react-native");
3653
+ var import_react_native21 = require("react-native");
3629
3654
  function useKeyboard() {
3630
3655
  const [visible, setVisible] = (0, import_react30.useState)(false);
3631
3656
  const [height, setHeight] = (0, import_react30.useState)(0);
@@ -3646,13 +3671,13 @@ function useKeyboard() {
3646
3671
  setVisible(false);
3647
3672
  setHeight(0);
3648
3673
  };
3649
- const willShowSub = import_react_native20.Keyboard.addListener(
3650
- import_react_native20.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow",
3651
- import_react_native20.Platform.OS === "ios" ? handleKeyboardWillShow : handleKeyboardDidShow
3674
+ const willShowSub = import_react_native21.Keyboard.addListener(
3675
+ import_react_native21.Platform.OS === "ios" ? "keyboardWillShow" : "keyboardDidShow",
3676
+ import_react_native21.Platform.OS === "ios" ? handleKeyboardWillShow : handleKeyboardDidShow
3652
3677
  );
3653
- const willHideSub = import_react_native20.Keyboard.addListener(
3654
- import_react_native20.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide",
3655
- import_react_native20.Platform.OS === "ios" ? handleKeyboardWillHide : handleKeyboardDidHide
3678
+ const willHideSub = import_react_native21.Keyboard.addListener(
3679
+ import_react_native21.Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide",
3680
+ import_react_native21.Platform.OS === "ios" ? handleKeyboardWillHide : handleKeyboardDidHide
3656
3681
  );
3657
3682
  return () => {
3658
3683
  willShowSub.remove();
@@ -3660,17 +3685,17 @@ function useKeyboard() {
3660
3685
  };
3661
3686
  }, []);
3662
3687
  const dismiss = (0, import_react30.useCallback)(() => {
3663
- import_react_native20.Keyboard.dismiss();
3688
+ import_react_native21.Keyboard.dismiss();
3664
3689
  }, []);
3665
3690
  return { visible, height, dismiss };
3666
3691
  }
3667
3692
 
3668
3693
  // src/ui/hooks/useDimensions.ts
3669
3694
  var import_react31 = require("react");
3670
- var import_react_native21 = require("react-native");
3695
+ var import_react_native22 = require("react-native");
3671
3696
  function useDimensions() {
3672
3697
  const [dimensions, setDimensions] = (0, import_react31.useState)(() => {
3673
- const window = import_react_native21.Dimensions.get("window");
3698
+ const window = import_react_native22.Dimensions.get("window");
3674
3699
  return {
3675
3700
  width: window.width,
3676
3701
  height: window.height,
@@ -3687,7 +3712,7 @@ function useDimensions() {
3687
3712
  fontScale: window.fontScale
3688
3713
  });
3689
3714
  };
3690
- const subscription = import_react_native21.Dimensions.addEventListener("change", handleChange);
3715
+ const subscription = import_react_native22.Dimensions.addEventListener("change", handleChange);
3691
3716
  return () => {
3692
3717
  subscription.remove();
3693
3718
  };
@@ -3697,10 +3722,10 @@ function useDimensions() {
3697
3722
 
3698
3723
  // src/ui/hooks/useOrientation.ts
3699
3724
  var import_react32 = require("react");
3700
- var import_react_native22 = require("react-native");
3725
+ var import_react_native23 = require("react-native");
3701
3726
  function useOrientation() {
3702
3727
  const getOrientation = () => {
3703
- const { width, height } = import_react_native22.Dimensions.get("window");
3728
+ const { width, height } = import_react_native23.Dimensions.get("window");
3704
3729
  return width > height ? "landscape" : "portrait";
3705
3730
  };
3706
3731
  const [orientation, setOrientation] = (0, import_react32.useState)(getOrientation);
@@ -3709,7 +3734,7 @@ function useOrientation() {
3709
3734
  const newOrientation = window.width > window.height ? "landscape" : "portrait";
3710
3735
  setOrientation(newOrientation);
3711
3736
  };
3712
- const subscription = import_react_native22.Dimensions.addEventListener("change", handleChange);
3737
+ const subscription = import_react_native23.Dimensions.addEventListener("change", handleChange);
3713
3738
  return () => {
3714
3739
  subscription.remove();
3715
3740
  };
@@ -3817,7 +3842,7 @@ var import_react34 = __toESM(require("react"));
3817
3842
  var import_bottom_tabs = require("@react-navigation/bottom-tabs");
3818
3843
 
3819
3844
  // src/navigation/components/BottomTabBar.tsx
3820
- var import_react_native23 = require("react-native");
3845
+ var import_react_native24 = require("react-native");
3821
3846
  var import_react_native_safe_area_context2 = require("react-native-safe-area-context");
3822
3847
  var import_jsx_runtime33 = require("nativewind/jsx-runtime");
3823
3848
  var DEFAULT_TAB_BAR_HEIGHT = 65;
@@ -3842,7 +3867,7 @@ function BottomTabBar({
3842
3867
  const backgroundColor = style?.backgroundColor || colors.card;
3843
3868
  const borderTopColor = colors.divider;
3844
3869
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3845
- import_react_native23.View,
3870
+ import_react_native24.View,
3846
3871
  {
3847
3872
  style: [
3848
3873
  styles12.container,
@@ -3877,7 +3902,7 @@ function BottomTabBar({
3877
3902
  }) : null;
3878
3903
  const badge = options.tabBarBadge;
3879
3904
  return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
3880
- import_react_native23.TouchableOpacity,
3905
+ import_react_native24.TouchableOpacity,
3881
3906
  {
3882
3907
  accessibilityRole: "button",
3883
3908
  accessibilityState: isFocused ? { selected: true } : {},
@@ -3892,9 +3917,9 @@ function BottomTabBar({
3892
3917
  }
3893
3918
  ],
3894
3919
  children: [
3895
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native23.View, { style: [styles12.iconContainer, iconStyle], children: [
3920
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_react_native24.View, { style: [styles12.iconContainer, iconStyle], children: [
3896
3921
  iconName,
3897
- badge != null && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native23.View, { style: [styles12.badge, { backgroundColor: activeColor }], children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AppText, { style: styles12.badgeText, children: typeof badge === "number" && badge > 99 ? "99+" : badge }) })
3922
+ badge != null && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_native24.View, { style: [styles12.badge, { backgroundColor: activeColor }], children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AppText, { style: styles12.badgeText, children: typeof badge === "number" && badge > 99 ? "99+" : badge }) })
3898
3923
  ] }),
3899
3924
  showLabel && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
3900
3925
  AppText,
@@ -3916,7 +3941,7 @@ function BottomTabBar({
3916
3941
  }
3917
3942
  );
3918
3943
  }
3919
- var styles12 = import_react_native23.StyleSheet.create({
3944
+ var styles12 = import_react_native24.StyleSheet.create({
3920
3945
  container: {
3921
3946
  flexDirection: "row",
3922
3947
  borderTopWidth: 0.5,
@@ -4116,7 +4141,7 @@ function createDrawerScreens(routes) {
4116
4141
  }
4117
4142
 
4118
4143
  // src/navigation/components/AppHeader.tsx
4119
- var import_react_native24 = require("react-native");
4144
+ var import_react_native25 = require("react-native");
4120
4145
  var import_react_native_safe_area_context3 = require("react-native-safe-area-context");
4121
4146
  var import_jsx_runtime36 = require("nativewind/jsx-runtime");
4122
4147
  function AppHeader({
@@ -4173,7 +4198,7 @@ function AppHeader({
4173
4198
  }
4174
4199
  );
4175
4200
  }
4176
- var styles13 = import_react_native24.StyleSheet.create({
4201
+ var styles13 = import_react_native25.StyleSheet.create({
4177
4202
  container: {
4178
4203
  height: 44
4179
4204
  // iOS 标准导航栏高度
@@ -4224,7 +4249,7 @@ var styles13 = import_react_native24.StyleSheet.create({
4224
4249
  });
4225
4250
 
4226
4251
  // src/navigation/components/DrawerContent.tsx
4227
- var import_react_native25 = require("react-native");
4252
+ var import_react_native26 = require("react-native");
4228
4253
  var import_drawer2 = require("@react-navigation/drawer");
4229
4254
  var import_jsx_runtime37 = require("nativewind/jsx-runtime");
4230
4255
  function DrawerContent({
@@ -4256,19 +4281,19 @@ function DrawerContent({
4256
4281
  };
4257
4282
  });
4258
4283
  return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_drawer2.DrawerContentScrollView, { style: [styles14.container, { backgroundColor }], children: [
4259
- header && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native25.View, { style: [styles14.header, { borderBottomColor: dividerColor }], children: header }),
4284
+ header && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native26.View, { style: [styles14.header, { borderBottomColor: dividerColor }], children: header }),
4260
4285
  /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AppView, { className: "py-2", children: drawerItems.map((item) => {
4261
4286
  const isFocused = state.routes[state.index].name === item.name;
4262
4287
  const onPress = () => {
4263
4288
  navigation.navigate(item.name);
4264
4289
  };
4265
4290
  return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
4266
- import_react_native25.TouchableOpacity,
4291
+ import_react_native26.TouchableOpacity,
4267
4292
  {
4268
4293
  onPress,
4269
4294
  style: [styles14.item, isFocused && { backgroundColor: activeBgColor }],
4270
4295
  children: [
4271
- item.icon && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native25.View, { style: styles14.iconContainer, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4296
+ item.icon && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native26.View, { style: styles14.iconContainer, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
4272
4297
  Icon,
4273
4298
  {
4274
4299
  name: item.icon,
@@ -4288,16 +4313,16 @@ function DrawerContent({
4288
4313
  children: item.label
4289
4314
  }
4290
4315
  ),
4291
- item.badge != null && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native25.View, { style: [styles14.badge, { backgroundColor: activeColor }], children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AppText, { style: styles14.badgeText, children: typeof item.badge === "number" && item.badge > 99 ? "99+" : item.badge }) })
4316
+ item.badge != null && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native26.View, { style: [styles14.badge, { backgroundColor: activeColor }], children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AppText, { style: styles14.badgeText, children: typeof item.badge === "number" && item.badge > 99 ? "99+" : item.badge }) })
4292
4317
  ]
4293
4318
  },
4294
4319
  item.name
4295
4320
  );
4296
4321
  }) }),
4297
- footer && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native25.View, { style: [styles14.footer, { borderTopColor: dividerColor }], children: footer })
4322
+ footer && /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_native26.View, { style: [styles14.footer, { borderTopColor: dividerColor }], children: footer })
4298
4323
  ] });
4299
4324
  }
4300
- var styles14 = import_react_native25.StyleSheet.create({
4325
+ var styles14 = import_react_native26.StyleSheet.create({
4301
4326
  container: {
4302
4327
  flex: 1
4303
4328
  },
@@ -4392,7 +4417,7 @@ var import_native5 = require("@react-navigation/native");
4392
4417
  var import_react_native_safe_area_context4 = require("react-native-safe-area-context");
4393
4418
 
4394
4419
  // src/overlay/AppStatusBar.tsx
4395
- var import_react_native26 = require("react-native");
4420
+ var import_react_native27 = require("react-native");
4396
4421
  var import_jsx_runtime38 = require("nativewind/jsx-runtime");
4397
4422
  function AppStatusBar({
4398
4423
  barStyle = "auto",
@@ -4404,7 +4429,7 @@ function AppStatusBar({
4404
4429
  const resolvedBarStyle = barStyle === "auto" ? isDark ? "light-content" : "dark-content" : barStyle;
4405
4430
  const resolvedBackgroundColor = backgroundColor ?? (translucent ? "transparent" : theme.colors.background?.[500] || "#ffffff");
4406
4431
  return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
4407
- import_react_native26.StatusBar,
4432
+ import_react_native27.StatusBar,
4408
4433
  {
4409
4434
  barStyle: resolvedBarStyle,
4410
4435
  backgroundColor: resolvedBackgroundColor,
@@ -4427,15 +4452,15 @@ function useLoadingContext() {
4427
4452
  }
4428
4453
 
4429
4454
  // src/overlay/loading/component.tsx
4430
- var import_react_native27 = require("react-native");
4455
+ var import_react_native28 = require("react-native");
4431
4456
  var import_jsx_runtime39 = require("nativewind/jsx-runtime");
4432
4457
  function LoadingModal({ visible, text }) {
4433
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native27.Modal, { transparent: true, visible, animationType: "fade", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native27.View, { style: styles15.overlay, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native27.View, { style: [styles15.loadingBox, { backgroundColor: "rgba(0,0,0,0.8)" }], children: [
4434
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native27.ActivityIndicator, { size: "large", color: "#fff" }),
4458
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native28.Modal, { transparent: true, visible, animationType: "fade", children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native28.View, { style: styles15.overlay, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react_native28.View, { style: [styles15.loadingBox, { backgroundColor: "rgba(0,0,0,0.8)" }], children: [
4459
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_native28.ActivityIndicator, { size: "large", color: "#fff" }),
4435
4460
  text && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(AppText, { className: "text-white mt-3 text-sm", children: text })
4436
4461
  ] }) }) });
4437
4462
  }
4438
- var styles15 = import_react_native27.StyleSheet.create({
4463
+ var styles15 = import_react_native28.StyleSheet.create({
4439
4464
  overlay: {
4440
4465
  flex: 1,
4441
4466
  backgroundColor: "rgba(0,0,0,0.5)",
@@ -4468,7 +4493,7 @@ function LoadingProvider({ children }) {
4468
4493
 
4469
4494
  // src/overlay/toast/provider.tsx
4470
4495
  var import_react41 = require("react");
4471
- var import_react_native29 = require("react-native");
4496
+ var import_react_native30 = require("react-native");
4472
4497
 
4473
4498
  // src/overlay/toast/context.ts
4474
4499
  var import_react39 = require("react");
@@ -4481,15 +4506,15 @@ function useToastContext() {
4481
4506
 
4482
4507
  // src/overlay/toast/component.tsx
4483
4508
  var import_react40 = require("react");
4484
- var import_react_native28 = require("react-native");
4509
+ var import_react_native29 = require("react-native");
4485
4510
  var import_jsx_runtime41 = require("nativewind/jsx-runtime");
4486
4511
  function ToastItemView({ message, type, onHide }) {
4487
- const fadeAnim = (0, import_react40.useRef)(new import_react_native28.Animated.Value(0)).current;
4512
+ const fadeAnim = (0, import_react40.useRef)(new import_react_native29.Animated.Value(0)).current;
4488
4513
  (0, import_react40.useEffect)(() => {
4489
- import_react_native28.Animated.sequence([
4490
- import_react_native28.Animated.timing(fadeAnim, { toValue: 1, duration: 200, useNativeDriver: true }),
4491
- import_react_native28.Animated.delay(2500),
4492
- import_react_native28.Animated.timing(fadeAnim, { toValue: 0, duration: 200, useNativeDriver: true })
4514
+ import_react_native29.Animated.sequence([
4515
+ import_react_native29.Animated.timing(fadeAnim, { toValue: 1, duration: 200, useNativeDriver: true }),
4516
+ import_react_native29.Animated.delay(2500),
4517
+ import_react_native29.Animated.timing(fadeAnim, { toValue: 0, duration: 200, useNativeDriver: true })
4493
4518
  ]).start(onHide);
4494
4519
  }, []);
4495
4520
  const bgColors = {
@@ -4499,7 +4524,7 @@ function ToastItemView({ message, type, onHide }) {
4499
4524
  info: "bg-primary-500"
4500
4525
  };
4501
4526
  return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
4502
- import_react_native28.Animated.View,
4527
+ import_react_native29.Animated.View,
4503
4528
  {
4504
4529
  style: {
4505
4530
  opacity: fadeAnim,
@@ -4558,10 +4583,10 @@ function ToastProvider({ children }) {
4558
4583
  );
4559
4584
  return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(ToastContext.Provider, { value: { show, success, error, info, warning }, children: [
4560
4585
  children,
4561
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_native29.View, { style: styles16.toastContainer, pointerEvents: "none", children: toasts.map((toast) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ToastItemView, { ...toast, onHide: () => remove(toast.id) }, toast.id)) })
4586
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_native30.View, { style: styles16.toastContainer, pointerEvents: "none", children: toasts.map((toast) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ToastItemView, { ...toast, onHide: () => remove(toast.id) }, toast.id)) })
4562
4587
  ] });
4563
4588
  }
4564
- var styles16 = import_react_native29.StyleSheet.create({
4589
+ var styles16 = import_react_native30.StyleSheet.create({
4565
4590
  toastContainer: {
4566
4591
  position: "absolute",
4567
4592
  top: 60,
@@ -4584,7 +4609,7 @@ function useAlertContext() {
4584
4609
  }
4585
4610
 
4586
4611
  // src/overlay/alert/component.tsx
4587
- var import_react_native30 = require("react-native");
4612
+ var import_react_native31 = require("react-native");
4588
4613
  var import_jsx_runtime43 = require("nativewind/jsx-runtime");
4589
4614
  function AlertModal({
4590
4615
  visible,
@@ -4597,7 +4622,7 @@ function AlertModal({
4597
4622
  onCancel
4598
4623
  }) {
4599
4624
  if (!visible) return null;
4600
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_native30.Modal, { transparent: true, visible: true, animationType: "fade", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_native30.View, { style: styles17.overlay, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_react_native30.View, { style: styles17.alertBox, children: [
4625
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_native31.Modal, { transparent: true, visible: true, animationType: "fade", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_native31.View, { style: styles17.overlay, children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_react_native31.View, { style: styles17.alertBox, children: [
4601
4626
  title && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(AppText, { className: "text-lg font-semibold text-center mb-2", children: title }),
4602
4627
  message && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(AppText, { className: "text-gray-600 text-center mb-4", children: message }),
4603
4628
  /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(AppView, { row: true, gap: 3, className: "mt-2", children: [
@@ -4606,7 +4631,7 @@ function AlertModal({
4606
4631
  ] })
4607
4632
  ] }) }) });
4608
4633
  }
4609
- var styles17 = import_react_native30.StyleSheet.create({
4634
+ var styles17 = import_react_native31.StyleSheet.create({
4610
4635
  overlay: {
4611
4636
  flex: 1,
4612
4637
  backgroundColor: "rgba(0,0,0,0.5)",