react-native-system-ui 0.0.1 → 0.0.3

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.
Files changed (679) hide show
  1. package/README.md +55 -46
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +55 -33
  3. package/dist/cjs/components/area/Area.js +42 -7
  4. package/dist/cjs/components/area/utils.js +37 -33
  5. package/dist/cjs/components/avatar/Avatar.js +4 -4
  6. package/dist/cjs/components/badge/Badge.js +31 -38
  7. package/dist/cjs/components/badge/tokens.js +1 -1
  8. package/dist/cjs/components/button/Button.js +13 -21
  9. package/dist/cjs/components/button/ButtonGroup.js +5 -5
  10. package/dist/cjs/components/button/tokens.js +2 -2
  11. package/dist/cjs/components/calendar/Calendar.js +39 -31
  12. package/dist/cjs/components/cascader/Cascader.js +135 -58
  13. package/dist/cjs/components/cascader/useCascaderExtend.js +19 -19
  14. package/dist/cjs/components/cell/Cell.js +13 -14
  15. package/dist/cjs/components/cell/CellGroup.js +5 -4
  16. package/dist/cjs/components/checkbox/Checkbox.js +24 -27
  17. package/dist/cjs/components/checkbox/CheckboxGroup.js +10 -9
  18. package/dist/cjs/components/circle/Circle.js +56 -78
  19. package/dist/cjs/components/collapse/Collapse.js +66 -60
  20. package/dist/cjs/components/collapse/tokens.js +1 -1
  21. package/dist/cjs/components/config-provider/ConfigProvider.js +7 -6
  22. package/dist/cjs/components/config-provider/useLocale.js +2 -3
  23. package/dist/cjs/components/count-down/CountDown.js +7 -8
  24. package/dist/cjs/components/datetime-picker/DatetimePicker.js +80 -73
  25. package/dist/cjs/components/dialog/Dialog.js +95 -78
  26. package/dist/cjs/components/dialog/imperative.js +20 -21
  27. package/dist/cjs/components/dialog/index.js +5 -1
  28. package/dist/cjs/components/divider/Divider.js +6 -7
  29. package/dist/cjs/components/dropdown-menu/DropdownItem.js +17 -17
  30. package/dist/cjs/components/dropdown-menu/DropdownMenu.js +79 -57
  31. package/dist/cjs/components/dropdown-menu/DropdownMenuContext.js +3 -3
  32. package/dist/cjs/components/empty/Empty.js +6 -6
  33. package/dist/cjs/components/field/Field.js +57 -148
  34. package/dist/cjs/components/field/tokens.js +87 -12
  35. package/dist/cjs/components/field/utils.js +24 -0
  36. package/dist/cjs/components/flex/FlexItem.js +10 -10
  37. package/dist/cjs/components/form/Form.js +78 -36
  38. package/dist/cjs/components/form/FormItem.js +19 -15
  39. package/dist/cjs/components/form/FormList.js +6 -6
  40. package/dist/cjs/components/form/index.js +2 -3
  41. package/dist/cjs/components/form/utils.js +36 -13
  42. package/dist/cjs/components/grid/Grid.js +7 -7
  43. package/dist/cjs/components/grid/GridItem.js +11 -11
  44. package/dist/cjs/components/grid/tokens.js +1 -1
  45. package/dist/cjs/components/image/Image.js +93 -60
  46. package/dist/cjs/components/image-preview/ImagePreview.js +95 -71
  47. package/dist/cjs/components/image-preview/imperative.js +7 -6
  48. package/dist/cjs/components/index-bar/IndexBar.js +213 -105
  49. package/dist/cjs/components/index.js +498 -0
  50. package/dist/cjs/components/input/Input.js +25 -25
  51. package/dist/cjs/components/list/List.js +29 -22
  52. package/dist/cjs/components/loading/Loading.js +6 -6
  53. package/dist/cjs/components/nav-bar/NavBar.js +7 -6
  54. package/dist/cjs/components/nav-bar/tokens.js +71 -68
  55. package/dist/cjs/components/notice-bar/NoticeBar.js +46 -50
  56. package/dist/cjs/components/notify/Notify.js +19 -15
  57. package/dist/cjs/components/notify/defaults.js +15 -0
  58. package/dist/cjs/components/notify/imperative.js +9 -8
  59. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +191 -138
  60. package/dist/cjs/components/number-keyboard/tokens.js +7 -7
  61. package/dist/cjs/components/overlay/Overlay.js +19 -20
  62. package/dist/cjs/components/overlay/OverlayStackStore.js +4 -4
  63. package/dist/cjs/components/overlay/tokens.js +25 -2
  64. package/dist/cjs/components/overlay/useOverlayStack.js +9 -9
  65. package/dist/cjs/components/pagination/Pagination.js +10 -10
  66. package/dist/cjs/components/password-input/PasswordInput.js +57 -52
  67. package/dist/cjs/components/picker/Picker.js +219 -89
  68. package/dist/cjs/components/picker/WheelPicker.js +313 -135
  69. package/dist/cjs/components/picker/utils.js +14 -10
  70. package/dist/cjs/components/popup/Popup.js +184 -213
  71. package/dist/cjs/components/portal/Portal.js +6 -16
  72. package/dist/cjs/components/portal/PortalHost.js +103 -73
  73. package/dist/cjs/components/progress/Progress.js +114 -115
  74. package/dist/cjs/components/pull-refresh/PullRefresh.js +87 -52
  75. package/dist/cjs/components/radio/Radio.js +49 -53
  76. package/dist/cjs/components/radio/RadioGroup.js +9 -10
  77. package/dist/cjs/components/radio/tokens.js +1 -1
  78. package/dist/cjs/components/rate/Rate.js +77 -68
  79. package/dist/cjs/components/rate/tokens.js +1 -3
  80. package/dist/cjs/components/safe-area-view/SafeAreaView.js +63 -0
  81. package/dist/cjs/components/safe-area-view/index.js +12 -0
  82. package/dist/cjs/components/search/Search.js +23 -25
  83. package/dist/cjs/components/selector/Selector.js +128 -88
  84. package/dist/cjs/components/selector/tokens.js +1 -1
  85. package/dist/cjs/components/share-sheet/ShareSheet.js +73 -65
  86. package/dist/cjs/components/sidebar/Sidebar.js +36 -24
  87. package/dist/cjs/components/sidebar/SidebarContext.js +4 -3
  88. package/dist/cjs/components/sidebar/SidebarItem.js +9 -9
  89. package/dist/cjs/components/sidebar/tokens.js +3 -2
  90. package/dist/cjs/components/skeleton/Skeleton.js +72 -53
  91. package/dist/cjs/components/slider/Slider.js +200 -165
  92. package/dist/cjs/components/slider/utils.js +60 -0
  93. package/dist/cjs/components/space/Space.js +25 -26
  94. package/dist/cjs/components/stepper/Stepper.js +127 -103
  95. package/dist/cjs/components/swiper/Swiper.js +238 -341
  96. package/dist/cjs/components/swiper/SwiperItem.js +3 -3
  97. package/dist/cjs/components/swiper/SwiperPagIndicator.js +10 -8
  98. package/dist/cjs/components/swiper/useSwiperWeb.js +212 -0
  99. package/dist/cjs/components/swiper/utils.js +49 -0
  100. package/dist/cjs/components/switch/Switch.js +43 -39
  101. package/dist/cjs/components/switch/tokens.js +7 -5
  102. package/dist/cjs/components/tabbar/Tabbar.js +25 -30
  103. package/dist/cjs/components/tabbar/TabbarContext.js +4 -3
  104. package/dist/cjs/components/tabbar/TabbarItem.js +11 -10
  105. package/dist/cjs/components/tabs/Tabs.js +171 -228
  106. package/dist/cjs/components/tabs/tokens.js +4 -3
  107. package/dist/cjs/components/tabs/useTabsAnimation.js +74 -0
  108. package/dist/cjs/components/tabs/useTabsScroll.js +129 -0
  109. package/dist/cjs/components/tabs/utils.js +34 -0
  110. package/dist/cjs/components/tag/Tag.js +5 -5
  111. package/dist/cjs/components/tag/tokens.js +2 -2
  112. package/dist/cjs/components/toast/Toast.js +23 -11
  113. package/dist/cjs/components/toast/imperative.js +10 -9
  114. package/dist/cjs/components/types.js +1 -0
  115. package/dist/cjs/components/typography/Typography.js +57 -38
  116. package/dist/cjs/components/typography/tokens.js +3 -3
  117. package/dist/cjs/components/uploader/Uploader.js +42 -93
  118. package/dist/cjs/components/uploader/utils.js +72 -0
  119. package/dist/cjs/components/water-mark/WaterMark.js +18 -18
  120. package/dist/cjs/design-system/ThemeProvider.js +3 -3
  121. package/dist/cjs/design-system/createComponentTokensHook.js +4 -5
  122. package/dist/cjs/design-system/tokens.js +1 -0
  123. package/dist/cjs/design-system/useTheme.js +2 -3
  124. package/dist/cjs/hooks/aria/useAriaListBox.js +24 -9
  125. package/dist/cjs/hooks/aria/useAriaOverlay.js +13 -9
  126. package/dist/cjs/hooks/aria/useAriaPress.js +47 -21
  127. package/dist/cjs/hooks/aria/useAriaToggle.js +6 -6
  128. package/dist/cjs/hooks/gesture/useGestureScroll.js +22 -23
  129. package/dist/cjs/hooks/index.js +12 -0
  130. package/dist/cjs/hooks/useControllableValue.js +10 -9
  131. package/dist/cjs/hooks/useCountDown.js +17 -18
  132. package/dist/cjs/hooks/useHairline.js +3 -3
  133. package/dist/cjs/hooks/usePresenceAnimation.js +5 -6
  134. package/dist/cjs/hooks/useSafeAreaPadding.js +41 -0
  135. package/dist/cjs/index.js +22 -0
  136. package/dist/cjs/platform/index.js +11 -0
  137. package/dist/cjs/platform/measure.js +10 -8
  138. package/dist/cjs/platform/runtime.js +19 -0
  139. package/dist/cjs/utils/deepMerge.js +5 -2
  140. package/dist/cjs/utils/hairline.js +6 -3
  141. package/dist/cjs/utils/index.js +115 -0
  142. package/dist/es/components/action-sheet/ActionSheet.js +43 -22
  143. package/dist/es/components/area/Area.js +41 -7
  144. package/dist/es/components/area/utils.js +37 -33
  145. package/dist/es/components/avatar/Avatar.js +3 -3
  146. package/dist/es/components/badge/Badge.js +27 -34
  147. package/dist/es/components/badge/tokens.js +1 -1
  148. package/dist/es/components/button/Button.js +12 -21
  149. package/dist/es/components/button/ButtonGroup.js +4 -4
  150. package/dist/es/components/button/tokens.js +1 -1
  151. package/dist/es/components/calendar/Calendar.js +38 -31
  152. package/dist/es/components/cascader/Cascader.js +136 -60
  153. package/dist/es/components/cascader/useCascaderExtend.js +17 -16
  154. package/dist/es/components/cell/Cell.js +4 -5
  155. package/dist/es/components/cell/CellGroup.js +3 -2
  156. package/dist/es/components/checkbox/Checkbox.js +22 -25
  157. package/dist/es/components/checkbox/CheckboxGroup.js +9 -8
  158. package/dist/es/components/circle/Circle.js +53 -74
  159. package/dist/es/components/collapse/Collapse.js +61 -55
  160. package/dist/es/components/collapse/tokens.js +1 -1
  161. package/dist/es/components/config-provider/ConfigProvider.js +7 -5
  162. package/dist/es/components/config-provider/useLocale.js +2 -2
  163. package/dist/es/components/count-down/CountDown.js +4 -5
  164. package/dist/es/components/datetime-picker/DatetimePicker.js +61 -55
  165. package/dist/es/components/dialog/Dialog.js +94 -78
  166. package/dist/es/components/dialog/imperative.js +14 -16
  167. package/dist/es/components/dialog/index.js +5 -1
  168. package/dist/es/components/divider/Divider.js +3 -4
  169. package/dist/es/components/dropdown-menu/DropdownItem.js +11 -11
  170. package/dist/es/components/dropdown-menu/DropdownMenu.js +78 -57
  171. package/dist/es/components/dropdown-menu/DropdownMenuContext.js +2 -2
  172. package/dist/es/components/empty/Empty.js +3 -3
  173. package/dist/es/components/field/Field.js +54 -146
  174. package/dist/es/components/field/tokens.js +81 -12
  175. package/dist/es/components/field/utils.js +17 -0
  176. package/dist/es/components/flex/FlexItem.js +3 -3
  177. package/dist/es/components/form/Form.js +77 -35
  178. package/dist/es/components/form/FormItem.js +14 -10
  179. package/dist/es/components/form/FormList.js +5 -5
  180. package/dist/es/components/form/index.js +2 -2
  181. package/dist/es/components/form/utils.js +34 -11
  182. package/dist/es/components/grid/Grid.js +4 -4
  183. package/dist/es/components/grid/GridItem.js +5 -6
  184. package/dist/es/components/grid/tokens.js +1 -1
  185. package/dist/es/components/image/Image.js +88 -55
  186. package/dist/es/components/image-preview/ImagePreview.js +94 -71
  187. package/dist/es/components/image-preview/imperative.js +6 -6
  188. package/dist/es/components/index-bar/IndexBar.js +212 -104
  189. package/dist/es/components/index.js +74 -2
  190. package/dist/es/components/input/Input.js +24 -25
  191. package/dist/es/components/list/List.js +28 -22
  192. package/dist/es/components/loading/Loading.js +5 -5
  193. package/dist/es/components/nav-bar/NavBar.js +6 -5
  194. package/dist/es/components/nav-bar/tokens.js +71 -68
  195. package/dist/es/components/notice-bar/NoticeBar.js +45 -49
  196. package/dist/es/components/notify/Notify.js +19 -15
  197. package/dist/es/components/notify/defaults.js +9 -0
  198. package/dist/es/components/notify/imperative.js +5 -5
  199. package/dist/es/components/number-keyboard/NumberKeyboard.js +191 -139
  200. package/dist/es/components/number-keyboard/tokens.js +7 -7
  201. package/dist/es/components/overlay/Overlay.js +18 -20
  202. package/dist/es/components/overlay/OverlayStackStore.js +2 -2
  203. package/dist/es/components/overlay/tokens.js +25 -2
  204. package/dist/es/components/overlay/useOverlayStack.js +9 -8
  205. package/dist/es/components/pagination/Pagination.js +9 -9
  206. package/dist/es/components/password-input/PasswordInput.js +56 -51
  207. package/dist/es/components/picker/Picker.js +209 -81
  208. package/dist/es/components/picker/WheelPicker.js +304 -126
  209. package/dist/es/components/picker/utils.js +13 -9
  210. package/dist/es/components/popup/Popup.js +184 -214
  211. package/dist/es/components/portal/Portal.js +6 -15
  212. package/dist/es/components/portal/PortalHost.js +103 -73
  213. package/dist/es/components/progress/Progress.js +112 -112
  214. package/dist/es/components/pull-refresh/PullRefresh.js +86 -51
  215. package/dist/es/components/radio/Radio.js +46 -49
  216. package/dist/es/components/radio/RadioGroup.js +8 -9
  217. package/dist/es/components/radio/tokens.js +1 -1
  218. package/dist/es/components/rate/Rate.js +67 -57
  219. package/dist/es/components/rate/tokens.js +1 -3
  220. package/dist/es/components/safe-area-view/SafeAreaView.js +43 -0
  221. package/dist/es/components/safe-area-view/index.js +1 -0
  222. package/dist/es/components/search/Search.js +22 -25
  223. package/dist/es/components/selector/Selector.js +128 -87
  224. package/dist/es/components/selector/tokens.js +1 -1
  225. package/dist/es/components/share-sheet/ShareSheet.js +72 -65
  226. package/dist/es/components/sidebar/Sidebar.js +34 -22
  227. package/dist/es/components/sidebar/SidebarContext.js +2 -1
  228. package/dist/es/components/sidebar/SidebarItem.js +7 -7
  229. package/dist/es/components/sidebar/tokens.js +3 -2
  230. package/dist/es/components/skeleton/Skeleton.js +70 -51
  231. package/dist/es/components/slider/Slider.js +197 -162
  232. package/dist/es/components/slider/utils.js +49 -0
  233. package/dist/es/components/space/Space.js +21 -21
  234. package/dist/es/components/stepper/Stepper.js +105 -81
  235. package/dist/es/components/swiper/Swiper.js +229 -332
  236. package/dist/es/components/swiper/SwiperItem.js +2 -2
  237. package/dist/es/components/swiper/SwiperPagIndicator.js +9 -7
  238. package/dist/es/components/swiper/useSwiperWeb.js +193 -0
  239. package/dist/es/components/swiper/utils.js +37 -0
  240. package/dist/es/components/switch/Switch.js +42 -37
  241. package/dist/es/components/switch/tokens.js +7 -5
  242. package/dist/es/components/tabbar/Tabbar.js +25 -30
  243. package/dist/es/components/tabbar/TabbarContext.js +2 -1
  244. package/dist/es/components/tabbar/TabbarItem.js +11 -10
  245. package/dist/es/components/tabs/Tabs.js +170 -227
  246. package/dist/es/components/tabs/tokens.js +4 -3
  247. package/dist/es/components/tabs/useTabsAnimation.js +55 -0
  248. package/dist/es/components/tabs/useTabsScroll.js +110 -0
  249. package/dist/es/components/tabs/utils.js +19 -0
  250. package/dist/es/components/tag/Tag.js +3 -3
  251. package/dist/es/components/tag/tokens.js +1 -1
  252. package/dist/es/components/toast/Toast.js +22 -11
  253. package/dist/es/components/toast/imperative.js +6 -6
  254. package/dist/es/components/types.js +1 -0
  255. package/dist/es/components/typography/Typography.js +54 -35
  256. package/dist/es/components/typography/tokens.js +3 -3
  257. package/dist/es/components/uploader/Uploader.js +35 -87
  258. package/dist/es/components/uploader/utils.js +60 -0
  259. package/dist/es/components/water-mark/WaterMark.js +13 -13
  260. package/dist/es/design-system/ThemeProvider.js +2 -2
  261. package/dist/es/design-system/createComponentTokensHook.js +2 -2
  262. package/dist/es/design-system/tokens.js +1 -0
  263. package/dist/es/design-system/useTheme.js +2 -2
  264. package/dist/es/hooks/aria/useAriaListBox.js +22 -6
  265. package/dist/es/hooks/aria/useAriaOverlay.js +5 -6
  266. package/dist/es/hooks/aria/useAriaPress.js +35 -21
  267. package/dist/es/hooks/aria/useAriaToggle.js +4 -3
  268. package/dist/es/hooks/gesture/useGestureScroll.js +20 -20
  269. package/dist/es/hooks/index.js +1 -0
  270. package/dist/es/hooks/useControllableValue.js +10 -8
  271. package/dist/es/hooks/useCountDown.js +17 -17
  272. package/dist/es/hooks/useHairline.js +2 -2
  273. package/dist/es/hooks/usePresenceAnimation.js +5 -5
  274. package/dist/es/hooks/useSafeAreaPadding.js +23 -0
  275. package/dist/es/index.js +2 -4
  276. package/dist/es/platform/index.js +1 -0
  277. package/dist/es/platform/measure.js +10 -8
  278. package/dist/es/platform/runtime.js +4 -0
  279. package/dist/es/utils/deepMerge.js +5 -2
  280. package/dist/es/utils/hairline.js +6 -3
  281. package/dist/es/utils/index.js +12 -0
  282. package/dist/types/components/action-sheet/ActionSheet.d.ts +4 -0
  283. package/dist/types/components/action-sheet/index.d.ts +4 -0
  284. package/dist/types/components/action-sheet/tokens.d.ts +4 -0
  285. package/dist/types/components/area/Area.d.ts +4 -0
  286. package/dist/types/components/area/index.d.ts +3 -0
  287. package/dist/types/components/area/utils.d.ts +2 -0
  288. package/dist/types/components/avatar/Avatar.d.ts +5 -0
  289. package/dist/types/components/avatar/index.d.ts +3 -0
  290. package/dist/types/components/avatar/tokens.d.ts +4 -0
  291. package/dist/types/components/badge/Badge.d.ts +4 -0
  292. package/dist/types/components/badge/index.d.ts +3 -0
  293. package/dist/types/components/badge/tokens.d.ts +2 -0
  294. package/dist/types/components/button/Button.d.ts +5 -0
  295. package/dist/types/components/button/ButtonContext.d.ts +16 -0
  296. package/dist/types/components/button/ButtonGroup.d.ts +10 -0
  297. package/dist/types/components/button/index.d.ts +6 -0
  298. package/dist/types/components/button/tokens.d.ts +2 -0
  299. package/dist/types/components/calendar/Calendar.d.ts +4 -0
  300. package/dist/types/components/calendar/index.d.ts +3 -0
  301. package/dist/types/components/calendar/tokens.d.ts +4 -0
  302. package/dist/types/components/cascader/Cascader.d.ts +4 -0
  303. package/dist/types/components/cascader/index.d.ts +4 -0
  304. package/dist/types/components/cascader/tokens.d.ts +4 -0
  305. package/dist/types/components/cascader/useCascaderExtend.d.ts +12 -0
  306. package/dist/types/components/cascader/utils.d.ts +6 -0
  307. package/dist/types/components/cell/Cell.d.ts +4 -0
  308. package/dist/types/components/cell/CellContext.d.ts +7 -0
  309. package/dist/types/components/cell/CellGroup.d.ts +3 -0
  310. package/dist/types/components/cell/index.d.ts +8 -0
  311. package/dist/types/components/cell/tokens.d.ts +4 -0
  312. package/dist/types/components/checkbox/Checkbox.d.ts +5 -0
  313. package/dist/types/components/checkbox/CheckboxContext.d.ts +16 -0
  314. package/dist/types/components/checkbox/CheckboxGroup.d.ts +8 -0
  315. package/dist/types/components/checkbox/index.d.ts +7 -0
  316. package/dist/types/components/checkbox/tokens.d.ts +2 -0
  317. package/dist/types/components/circle/Circle.d.ts +5 -0
  318. package/dist/types/components/circle/index.d.ts +3 -0
  319. package/dist/types/components/circle/tokens.d.ts +4 -0
  320. package/dist/types/components/collapse/Collapse.d.ts +45 -0
  321. package/dist/types/components/collapse/index.d.ts +3 -0
  322. package/dist/types/components/collapse/tokens.d.ts +4 -0
  323. package/dist/types/components/config-provider/ConfigProvider.d.ts +3 -0
  324. package/dist/types/components/config-provider/LocaleContext.d.ts +75 -0
  325. package/dist/types/components/config-provider/index.d.ts +5 -0
  326. package/dist/types/components/config-provider/locale/base.d.ts +74 -0
  327. package/dist/types/components/config-provider/locale/en-US.d.ts +74 -0
  328. package/dist/types/components/config-provider/locale/zh-CN.d.ts +74 -0
  329. package/dist/types/components/config-provider/useLocale.d.ts +74 -0
  330. package/dist/types/components/count-down/CountDown.d.ts +4 -0
  331. package/dist/types/components/count-down/index.d.ts +4 -0
  332. package/dist/types/components/count-down/tokens.d.ts +4 -0
  333. package/dist/types/components/datetime-picker/DatetimePicker.d.ts +4 -0
  334. package/dist/types/components/datetime-picker/index.d.ts +3 -0
  335. package/dist/types/components/dialog/Dialog.d.ts +4 -0
  336. package/dist/types/components/dialog/imperative.d.ts +23 -0
  337. package/dist/types/components/dialog/index.d.ts +5 -0
  338. package/dist/types/components/dialog/tokens.d.ts +46 -0
  339. package/dist/types/components/divider/Divider.d.ts +3 -0
  340. package/dist/types/components/divider/index.d.ts +3 -0
  341. package/dist/types/components/divider/tokens.d.ts +4 -0
  342. package/dist/types/components/dropdown-menu/DropdownItem.d.ts +4 -0
  343. package/dist/types/components/dropdown-menu/DropdownMenu.d.ts +4 -0
  344. package/dist/types/components/dropdown-menu/DropdownMenuContext.d.ts +17 -0
  345. package/dist/types/components/dropdown-menu/index.d.ts +8 -0
  346. package/dist/types/components/dropdown-menu/tokens.d.ts +35 -0
  347. package/dist/types/components/empty/Empty.d.ts +3 -0
  348. package/dist/types/components/empty/index.d.ts +3 -0
  349. package/dist/types/components/empty/tokens.d.ts +4 -0
  350. package/dist/types/components/field/Field.d.ts +4 -0
  351. package/dist/types/components/field/index.d.ts +7 -0
  352. package/dist/types/components/field/tokens.d.ts +131 -0
  353. package/dist/types/components/field/utils.d.ts +4 -0
  354. package/dist/types/components/flex/Flex.d.ts +3 -0
  355. package/dist/types/components/flex/FlexContext.d.ts +8 -0
  356. package/dist/types/components/flex/FlexItem.d.ts +3 -0
  357. package/dist/types/components/flex/index.d.ts +8 -0
  358. package/dist/types/components/flex/tokens.d.ts +2 -0
  359. package/dist/types/components/form/Form.d.ts +6 -0
  360. package/dist/types/components/form/FormContext.d.ts +17 -0
  361. package/dist/types/components/form/FormItem.d.ts +4 -0
  362. package/dist/types/components/form/FormList.d.ts +18 -0
  363. package/dist/types/components/form/index.d.ts +17 -0
  364. package/dist/types/components/form/utils.d.ts +6 -0
  365. package/dist/types/components/grid/Grid.d.ts +3 -0
  366. package/dist/types/components/grid/GridContext.d.ts +17 -0
  367. package/dist/types/components/grid/GridItem.d.ts +3 -0
  368. package/dist/types/components/grid/index.d.ts +5 -0
  369. package/dist/types/components/grid/tokens.d.ts +4 -0
  370. package/dist/types/components/image/Image.d.ts +5 -0
  371. package/dist/types/components/image/index.d.ts +4 -0
  372. package/dist/types/components/image/tokens.d.ts +2 -0
  373. package/dist/types/components/image-preview/ImagePreview.d.ts +4 -0
  374. package/dist/types/components/image-preview/imperative.d.ts +5 -0
  375. package/dist/types/components/image-preview/index.d.ts +6 -0
  376. package/dist/types/components/image-preview/tokens.d.ts +10 -0
  377. package/dist/types/components/index-bar/IndexAnchor.d.ts +4 -0
  378. package/dist/types/components/index-bar/IndexBar.d.ts +4 -0
  379. package/dist/types/components/index-bar/index.d.ts +9 -0
  380. package/dist/types/components/index-bar/tokens.d.ts +22 -0
  381. package/dist/types/components/index.d.ts +138 -0
  382. package/dist/types/components/input/Input.d.ts +8 -0
  383. package/dist/types/components/input/index.d.ts +4 -0
  384. package/dist/types/components/input/tokens.d.ts +2 -0
  385. package/dist/types/components/list/List.d.ts +4 -0
  386. package/dist/types/components/list/index.d.ts +3 -0
  387. package/dist/types/components/list/tokens.d.ts +4 -0
  388. package/dist/types/components/loading/Loading.d.ts +3 -0
  389. package/dist/types/components/loading/index.d.ts +3 -0
  390. package/dist/types/components/loading/tokens.d.ts +4 -0
  391. package/dist/types/components/nav-bar/NavBar.d.ts +4 -0
  392. package/dist/types/components/nav-bar/index.d.ts +4 -0
  393. package/dist/types/components/nav-bar/tokens.d.ts +4 -0
  394. package/dist/types/components/notice-bar/NoticeBar.d.ts +3 -0
  395. package/dist/types/components/notice-bar/index.d.ts +3 -0
  396. package/dist/types/components/notice-bar/tokens.d.ts +23 -0
  397. package/dist/types/components/notify/Notify.d.ts +5 -0
  398. package/dist/types/components/notify/defaults.d.ts +10 -0
  399. package/dist/types/components/notify/imperative.d.ts +22 -0
  400. package/dist/types/components/notify/index.d.ts +15 -0
  401. package/dist/types/components/notify/tokens.d.ts +4 -0
  402. package/dist/types/components/number-keyboard/NumberKeyboard.d.ts +4 -0
  403. package/dist/types/components/number-keyboard/index.d.ts +4 -0
  404. package/dist/types/components/number-keyboard/tokens.d.ts +36 -0
  405. package/dist/types/components/overlay/Overlay.d.ts +4 -0
  406. package/dist/types/components/overlay/OverlayStackStore.d.ts +39 -0
  407. package/dist/types/components/overlay/index.d.ts +6 -0
  408. package/dist/types/components/overlay/tokens.d.ts +4 -0
  409. package/dist/types/components/overlay/useOverlayStack.d.ts +10 -0
  410. package/dist/types/components/pagination/Pagination.d.ts +5 -0
  411. package/dist/types/components/pagination/index.d.ts +5 -0
  412. package/dist/types/components/pagination/tokens.d.ts +2 -0
  413. package/dist/types/components/password-input/PasswordInput.d.ts +39 -0
  414. package/dist/types/components/password-input/index.d.ts +2 -0
  415. package/dist/types/components/picker/Picker.d.ts +16 -0
  416. package/dist/types/components/picker/WheelPicker.d.ts +21 -0
  417. package/dist/types/components/picker/index.d.ts +4 -0
  418. package/dist/types/components/picker/tokens.d.ts +37 -0
  419. package/dist/types/components/picker/utils.d.ts +17 -0
  420. package/dist/types/components/popup/Popup.d.ts +44 -0
  421. package/dist/types/components/popup/index.d.ts +4 -0
  422. package/dist/types/components/popup/tokens.d.ts +46 -0
  423. package/dist/types/components/portal/Portal.d.ts +13 -0
  424. package/dist/types/components/portal/PortalContext.d.ts +7 -0
  425. package/dist/types/components/portal/PortalHost.d.ts +25 -0
  426. package/dist/types/components/portal/index.d.ts +3 -0
  427. package/dist/types/components/progress/Progress.d.ts +4 -0
  428. package/dist/types/components/progress/index.d.ts +3 -0
  429. package/dist/types/components/progress/tokens.d.ts +4 -0
  430. package/dist/types/components/pull-refresh/PullRefresh.d.ts +5 -0
  431. package/dist/types/components/pull-refresh/index.d.ts +4 -0
  432. package/dist/types/components/pull-refresh/tokens.d.ts +10 -0
  433. package/dist/types/components/radio/Radio.d.ts +3 -0
  434. package/dist/types/components/radio/RadioContext.d.ts +13 -0
  435. package/dist/types/components/radio/RadioGroup.d.ts +3 -0
  436. package/dist/types/components/radio/index.d.ts +7 -0
  437. package/dist/types/components/radio/tokens.d.ts +2 -0
  438. package/dist/types/components/rate/Rate.d.ts +4 -0
  439. package/dist/types/components/rate/index.d.ts +4 -0
  440. package/dist/types/components/rate/tokens.d.ts +4 -0
  441. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +10 -0
  442. package/dist/types/components/safe-area-view/index.d.ts +2 -0
  443. package/dist/types/components/search/Search.d.ts +4 -0
  444. package/dist/types/components/search/index.d.ts +4 -0
  445. package/dist/types/components/search/tokens.d.ts +40 -0
  446. package/dist/types/components/selector/Selector.d.ts +7 -0
  447. package/dist/types/components/selector/index.d.ts +4 -0
  448. package/dist/types/components/selector/tokens.d.ts +2 -0
  449. package/dist/types/components/share-sheet/ShareSheet.d.ts +4 -0
  450. package/dist/types/components/share-sheet/index.d.ts +4 -0
  451. package/dist/types/components/share-sheet/tokens.d.ts +26 -0
  452. package/dist/types/components/sidebar/Sidebar.d.ts +4 -0
  453. package/dist/types/components/sidebar/SidebarContext.d.ts +7 -0
  454. package/dist/types/components/sidebar/SidebarItem.d.ts +4 -0
  455. package/dist/types/components/sidebar/index.d.ts +8 -0
  456. package/dist/types/components/sidebar/tokens.d.ts +4 -0
  457. package/dist/types/components/skeleton/Skeleton.d.ts +5 -0
  458. package/dist/types/components/skeleton/index.d.ts +5 -0
  459. package/dist/types/components/skeleton/tokens.d.ts +2 -0
  460. package/dist/types/components/slider/Slider.d.ts +4 -0
  461. package/dist/types/components/slider/index.d.ts +3 -0
  462. package/dist/types/components/slider/tokens.d.ts +28 -0
  463. package/dist/types/components/slider/utils.d.ts +42 -0
  464. package/dist/types/components/space/Space.d.ts +3 -0
  465. package/dist/types/components/space/index.d.ts +3 -0
  466. package/dist/types/components/space/tokens.d.ts +3 -0
  467. package/dist/types/components/stepper/Stepper.d.ts +4 -0
  468. package/dist/types/components/stepper/index.d.ts +4 -0
  469. package/dist/types/components/stepper/tokens.d.ts +43 -0
  470. package/dist/types/components/swiper/Swiper.d.ts +7 -0
  471. package/dist/types/components/swiper/SwiperItem.d.ts +5 -0
  472. package/dist/types/components/swiper/SwiperPagIndicator.d.ts +36 -0
  473. package/dist/types/components/swiper/index.d.ts +14 -0
  474. package/dist/types/components/swiper/useSwiperWeb.d.ts +41 -0
  475. package/dist/types/components/swiper/utils.d.ts +17 -0
  476. package/dist/types/components/switch/Switch.d.ts +7 -0
  477. package/dist/types/components/switch/index.d.ts +4 -0
  478. package/dist/types/components/switch/tokens.d.ts +2 -0
  479. package/dist/types/components/tabbar/Tabbar.d.ts +4 -0
  480. package/dist/types/components/tabbar/TabbarContext.d.ts +13 -0
  481. package/dist/types/components/tabbar/TabbarItem.d.ts +4 -0
  482. package/dist/types/components/tabbar/index.d.ts +9 -0
  483. package/dist/types/components/tabbar/tokens.d.ts +28 -0
  484. package/dist/types/components/tabs/TabPane.d.ts +4 -0
  485. package/dist/types/components/tabs/Tabs.d.ts +4 -0
  486. package/dist/types/components/tabs/index.d.ts +8 -0
  487. package/dist/types/components/tabs/tokens.d.ts +87 -0
  488. package/dist/types/components/tabs/useTabsAnimation.d.ts +30 -0
  489. package/dist/types/components/tabs/useTabsScroll.d.ts +23 -0
  490. package/dist/types/components/tabs/utils.d.ts +5 -0
  491. package/dist/types/components/tag/Tag.d.ts +3 -0
  492. package/dist/types/components/tag/index.d.ts +3 -0
  493. package/dist/types/components/tag/tokens.d.ts +4 -0
  494. package/dist/types/components/toast/Toast.d.ts +36 -0
  495. package/dist/types/components/toast/imperative.d.ts +22 -0
  496. package/dist/types/components/toast/index.d.ts +15 -0
  497. package/dist/types/components/toast/tokens.d.ts +24 -0
  498. package/dist/types/components/types.d.ts +59 -0
  499. package/dist/types/components/typography/Typography.d.ts +11 -0
  500. package/dist/types/components/typography/index.d.ts +3 -0
  501. package/dist/types/components/typography/tokens.d.ts +2 -0
  502. package/dist/types/components/uploader/Uploader.d.ts +4 -0
  503. package/dist/types/components/uploader/index.d.ts +5 -0
  504. package/dist/types/components/uploader/tokens.d.ts +17 -0
  505. package/dist/types/components/uploader/utils.d.ts +11 -0
  506. package/dist/types/components/water-mark/WaterMark.d.ts +4 -0
  507. package/dist/types/components/water-mark/index.d.ts +5 -0
  508. package/dist/types/components/water-mark/tokens.d.ts +2 -0
  509. package/dist/types/design-system/ThemeContext.d.ts +14 -0
  510. package/dist/types/design-system/ThemeProvider.d.ts +14 -0
  511. package/dist/types/design-system/createComponentTokensHook.d.ts +4 -0
  512. package/dist/types/design-system/index.d.ts +10 -0
  513. package/dist/types/design-system/mergeTokensOverride.d.ts +2 -0
  514. package/dist/types/design-system/presets.d.ts +8 -0
  515. package/dist/types/design-system/tokens.d.ts +74 -0
  516. package/dist/types/design-system/useTheme.d.ts +1 -0
  517. package/dist/types/hooks/aria/index.d.ts +4 -0
  518. package/dist/types/hooks/aria/useAriaListBox.d.ts +20 -0
  519. package/dist/types/hooks/aria/useAriaOverlay.d.ts +24 -0
  520. package/dist/types/hooks/aria/useAriaPress.d.ts +39 -0
  521. package/dist/types/hooks/aria/useAriaToggle.d.ts +15 -0
  522. package/dist/types/hooks/gesture/index.d.ts +1 -0
  523. package/dist/types/hooks/gesture/useGestureScroll.d.ts +32 -0
  524. package/dist/types/hooks/index.d.ts +8 -0
  525. package/dist/types/hooks/useControllableValue.d.ts +9 -0
  526. package/dist/types/hooks/useCountDown.d.ts +23 -0
  527. package/dist/types/hooks/useHairline.d.ts +31 -0
  528. package/dist/types/hooks/usePresenceAnimation.d.ts +15 -0
  529. package/dist/types/hooks/useSafeAreaPadding.d.ts +13 -0
  530. package/dist/types/index.d.ts +4 -0
  531. package/dist/types/platform/animation.d.ts +1 -0
  532. package/dist/types/platform/history.d.ts +1 -0
  533. package/dist/types/platform/index.d.ts +5 -0
  534. package/dist/types/platform/measure.d.ts +7 -0
  535. package/dist/types/platform/runtime.d.ts +3 -0
  536. package/dist/types/platform/scrollLock.d.ts +2 -0
  537. package/dist/types/types.d.ts +4 -0
  538. package/dist/types/utils/array.d.ts +1 -0
  539. package/dist/types/utils/color.d.ts +5 -0
  540. package/dist/types/utils/createPlatformShadow.d.ts +11 -0
  541. package/dist/types/utils/date.d.ts +13 -0
  542. package/dist/types/utils/deepMerge.d.ts +3 -0
  543. package/dist/types/utils/hairline.d.ts +20 -0
  544. package/dist/types/utils/index.d.ts +10 -0
  545. package/dist/types/utils/number.d.ts +11 -0
  546. package/dist/types/utils/promise.d.ts +1 -0
  547. package/dist/types/utils/string.d.ts +3 -0
  548. package/dist/types/utils/validate.d.ts +14 -0
  549. package/package.json +411 -14
  550. package/dist/cjs/components/action-sheet/types.d.ts +0 -96
  551. package/dist/cjs/components/area/types.d.ts +0 -27
  552. package/dist/cjs/components/avatar/types.d.ts +0 -64
  553. package/dist/cjs/components/badge/types.d.ts +0 -61
  554. package/dist/cjs/components/button/types.d.ts +0 -145
  555. package/dist/cjs/components/calendar/types.d.ts +0 -115
  556. package/dist/cjs/components/cascader/types.d.ts +0 -159
  557. package/dist/cjs/components/cell/types.d.ts +0 -117
  558. package/dist/cjs/components/checkbox/types.d.ts +0 -108
  559. package/dist/cjs/components/circle/types.d.ts +0 -94
  560. package/dist/cjs/components/collapse/types.d.ts +0 -47
  561. package/dist/cjs/components/config-provider/locale/types.d.ts +0 -3
  562. package/dist/cjs/components/config-provider/types.d.ts +0 -10
  563. package/dist/cjs/components/count-down/types.d.ts +0 -33
  564. package/dist/cjs/components/datetime-picker/types.d.ts +0 -46
  565. package/dist/cjs/components/dialog/types.d.ts +0 -83
  566. package/dist/cjs/components/divider/types.d.ts +0 -50
  567. package/dist/cjs/components/dropdown-menu/types.d.ts +0 -89
  568. package/dist/cjs/components/empty/types.d.ts +0 -48
  569. package/dist/cjs/components/field/types.d.ts +0 -112
  570. package/dist/cjs/components/flex/types.d.ts +0 -42
  571. package/dist/cjs/components/form/types.d.ts +0 -80
  572. package/dist/cjs/components/grid/types.d.ts +0 -82
  573. package/dist/cjs/components/image/types.d.ts +0 -56
  574. package/dist/cjs/components/image-preview/types.d.ts +0 -67
  575. package/dist/cjs/components/index-bar/types.d.ts +0 -43
  576. package/dist/cjs/components/input/types.d.ts +0 -49
  577. package/dist/cjs/components/list/types.d.ts +0 -48
  578. package/dist/cjs/components/loading/types.d.ts +0 -53
  579. package/dist/cjs/components/nav-bar/types.d.ts +0 -69
  580. package/dist/cjs/components/notice-bar/types.d.ts +0 -29
  581. package/dist/cjs/components/notify/types.d.ts +0 -63
  582. package/dist/cjs/components/number-keyboard/types.d.ts +0 -40
  583. package/dist/cjs/components/pagination/types.d.ts +0 -75
  584. package/dist/cjs/components/password-input/types.d.ts +0 -65
  585. package/dist/cjs/components/picker/core.js +0 -41
  586. package/dist/cjs/components/picker/styles.js +0 -75
  587. package/dist/cjs/components/picker/types.d.ts +0 -70
  588. package/dist/cjs/components/picker/usePickerValue.js +0 -74
  589. package/dist/cjs/components/progress/types.d.ts +0 -53
  590. package/dist/cjs/components/pull-refresh/types.d.ts +0 -29
  591. package/dist/cjs/components/radio/types.d.ts +0 -96
  592. package/dist/cjs/components/rate/types.d.ts +0 -54
  593. package/dist/cjs/components/search/types.d.ts +0 -84
  594. package/dist/cjs/components/selector/types.d.ts +0 -80
  595. package/dist/cjs/components/share-sheet/types.d.ts +0 -30
  596. package/dist/cjs/components/sidebar/types.d.ts +0 -66
  597. package/dist/cjs/components/skeleton/types.d.ts +0 -46
  598. package/dist/cjs/components/slider/types.d.ts +0 -39
  599. package/dist/cjs/components/space/types.d.ts +0 -47
  600. package/dist/cjs/components/stepper/types.d.ts +0 -58
  601. package/dist/cjs/components/swipe-cell/SwipeCell.js +0 -399
  602. package/dist/cjs/components/swipe-cell/index.js +0 -9
  603. package/dist/cjs/components/swiper/types.d.ts +0 -83
  604. package/dist/cjs/components/switch/types.d.ts +0 -71
  605. package/dist/cjs/components/tabbar/types.d.ts +0 -51
  606. package/dist/cjs/components/tabs/types.d.ts +0 -71
  607. package/dist/cjs/components/tag/types.d.ts +0 -67
  608. package/dist/cjs/components/theme.d.ts +0 -113
  609. package/dist/cjs/components/typography/types.d.ts +0 -77
  610. package/dist/cjs/components/uploader/types.d.ts +0 -90
  611. package/dist/cjs/components/water-mark/types.d.ts +0 -60
  612. package/dist/cjs/index.d.ts +0 -16
  613. package/dist/client-CDqbgn-w.mjs +0 -31965
  614. package/dist/es/components/action-sheet/types.d.ts +0 -96
  615. package/dist/es/components/area/types.d.ts +0 -27
  616. package/dist/es/components/avatar/types.d.ts +0 -64
  617. package/dist/es/components/badge/types.d.ts +0 -61
  618. package/dist/es/components/button/types.d.ts +0 -145
  619. package/dist/es/components/calendar/types.d.ts +0 -115
  620. package/dist/es/components/cascader/types.d.ts +0 -159
  621. package/dist/es/components/cell/types.d.ts +0 -117
  622. package/dist/es/components/checkbox/types.d.ts +0 -108
  623. package/dist/es/components/circle/types.d.ts +0 -94
  624. package/dist/es/components/collapse/types.d.ts +0 -47
  625. package/dist/es/components/config-provider/locale/types.d.ts +0 -3
  626. package/dist/es/components/config-provider/types.d.ts +0 -10
  627. package/dist/es/components/count-down/types.d.ts +0 -33
  628. package/dist/es/components/datetime-picker/types.d.ts +0 -46
  629. package/dist/es/components/dialog/types.d.ts +0 -83
  630. package/dist/es/components/divider/types.d.ts +0 -50
  631. package/dist/es/components/dropdown-menu/types.d.ts +0 -89
  632. package/dist/es/components/empty/types.d.ts +0 -48
  633. package/dist/es/components/field/types.d.ts +0 -112
  634. package/dist/es/components/flex/types.d.ts +0 -42
  635. package/dist/es/components/form/types.d.ts +0 -80
  636. package/dist/es/components/grid/types.d.ts +0 -82
  637. package/dist/es/components/image/types.d.ts +0 -56
  638. package/dist/es/components/image-preview/types.d.ts +0 -67
  639. package/dist/es/components/index-bar/types.d.ts +0 -43
  640. package/dist/es/components/input/types.d.ts +0 -49
  641. package/dist/es/components/list/types.d.ts +0 -48
  642. package/dist/es/components/loading/types.d.ts +0 -53
  643. package/dist/es/components/nav-bar/types.d.ts +0 -69
  644. package/dist/es/components/notice-bar/types.d.ts +0 -29
  645. package/dist/es/components/notify/types.d.ts +0 -63
  646. package/dist/es/components/number-keyboard/types.d.ts +0 -40
  647. package/dist/es/components/pagination/types.d.ts +0 -75
  648. package/dist/es/components/password-input/types.d.ts +0 -65
  649. package/dist/es/components/picker/core.js +0 -31
  650. package/dist/es/components/picker/styles.js +0 -63
  651. package/dist/es/components/picker/types.d.ts +0 -70
  652. package/dist/es/components/picker/usePickerValue.js +0 -60
  653. package/dist/es/components/progress/types.d.ts +0 -53
  654. package/dist/es/components/pull-refresh/types.d.ts +0 -29
  655. package/dist/es/components/radio/types.d.ts +0 -96
  656. package/dist/es/components/rate/types.d.ts +0 -54
  657. package/dist/es/components/search/types.d.ts +0 -84
  658. package/dist/es/components/selector/types.d.ts +0 -80
  659. package/dist/es/components/share-sheet/types.d.ts +0 -30
  660. package/dist/es/components/sidebar/types.d.ts +0 -66
  661. package/dist/es/components/skeleton/types.d.ts +0 -46
  662. package/dist/es/components/slider/types.d.ts +0 -39
  663. package/dist/es/components/space/types.d.ts +0 -47
  664. package/dist/es/components/stepper/types.d.ts +0 -58
  665. package/dist/es/components/swipe-cell/SwipeCell.js +0 -380
  666. package/dist/es/components/swipe-cell/index.js +0 -2
  667. package/dist/es/components/swiper/types.d.ts +0 -83
  668. package/dist/es/components/switch/types.d.ts +0 -71
  669. package/dist/es/components/tabbar/types.d.ts +0 -51
  670. package/dist/es/components/tabs/types.d.ts +0 -71
  671. package/dist/es/components/tag/types.d.ts +0 -67
  672. package/dist/es/components/theme.d.ts +0 -113
  673. package/dist/es/components/typography/types.d.ts +0 -77
  674. package/dist/es/components/uploader/types.d.ts +0 -90
  675. package/dist/es/components/water-mark/types.d.ts +0 -60
  676. package/dist/es/index.d.ts +0 -16
  677. package/dist/react-native-system-ui.es.mjs +0 -1194
  678. package/dist/react-native-system-ui.js +0 -33977
  679. package/dist/react-native-system-ui.min.js +0 -1
@@ -20,7 +20,7 @@ function _reactNative() {
20
20
  }
21
21
  var _hooks = require("../../hooks");
22
22
  var _tokens = require("./tokens");
23
- var _validate = require("../../utils/validate");
23
+ var _utils = require("../../utils");
24
24
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
25
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
26
  const alignMap = {
@@ -38,24 +38,22 @@ const justifyMap = {
38
38
  around: 'space-around',
39
39
  evenly: 'space-evenly'
40
40
  };
41
- const parseValue = (value, presets) => {
41
+ const parseSpaceSize = (value, presets) => {
42
42
  if (value === undefined) return presets.normal;
43
- if ((0, _validate.isFiniteNumber)(value)) return value;
44
- const presetValue = presets[value];
45
- if (presetValue !== undefined) return presetValue;
46
- const parsed = parseFloat(value);
47
- return Number.isNaN(parsed) ? presets.normal : parsed;
43
+ if ((0, _utils.isFiniteNumber)(value)) return value;
44
+ if (typeof value === 'string' && value in presets) {
45
+ return presets[value];
46
+ }
47
+ return (0, _utils.parseNumberLike)(value, presets.normal) ?? presets.normal;
48
48
  };
49
49
  const parseGap = (value, presets) => {
50
50
  if (Array.isArray(value)) {
51
- const verticalGap = parseValue(value[0], presets);
52
- const horizontalGap = parseValue(value[1], presets);
53
- return [horizontalGap, verticalGap];
51
+ return [parseSpaceSize(value[1], presets), parseSpaceSize(value[0], presets)];
54
52
  }
55
- const parsed = parseValue(value, presets);
53
+ const parsed = parseSpaceSize(value, presets);
56
54
  return [parsed, parsed];
57
55
  };
58
- const Space = props => {
56
+ const Space = exports.Space = /*#__PURE__*/_react().default.memo(props => {
59
57
  const {
60
58
  children,
61
59
  gap,
@@ -105,31 +103,32 @@ const Space = props => {
105
103
  containerBaseStyle.marginHorizontal = isHorizontal && horizontalGap ? -horizontalGap / 2 : undefined;
106
104
  containerBaseStyle.marginVertical = verticalGap ? -verticalGap / 2 : undefined;
107
105
  }
108
- const childArray = _react().default.Children.toArray(children).filter(child => child != null && !(0, _validate.isBoolean)(child));
106
+ const childArray = _react().default.Children.toArray(children).filter(_utils.isRenderable);
109
107
  const content = [];
110
- childArray.forEach((child, index) => {
111
- const key = /*#__PURE__*/_react().default.isValidElement(child) && child.key !== null ? child.key : index;
108
+ for (let i = 0; i < childArray.length; i++) {
109
+ const child = childArray[i];
110
+ const key = /*#__PURE__*/_react().default.isValidElement(child) && child.key != null ? child.key : i;
112
111
  const fillStyle = shouldFillMainAxis ? {
113
112
  flexGrow: 1,
114
113
  flexBasis: 0,
115
114
  minWidth: 0
116
115
  } : !isHorizontal && (fill || shouldBlock) ? {
117
116
  width: '100%'
118
- } : null;
119
- const node = (0, _validate.isText)(child) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, null, child) : child;
117
+ } : undefined;
118
+ const node = (0, _utils.isText)(child) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, null, child) : child;
120
119
  content.push(/*#__PURE__*/_react().default.createElement(_reactNative().View, {
121
120
  key: key,
122
121
  style: [spacingStyle, fillStyle]
123
122
  }, node));
124
- if (divider && index < childArray.length - 1) {
125
- const dividerNode = (0, _validate.isText)(divider) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, null, divider) : divider;
123
+ if (divider && i < childArray.length - 1) {
124
+ const dividerNode = (0, _utils.isText)(divider) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, null, divider) : divider;
126
125
  content.push(/*#__PURE__*/_react().default.createElement(_reactNative().View, {
127
126
  key: `divider-${String(key)}`,
128
127
  style: spacingStyle
129
128
  }, dividerNode));
130
129
  }
131
- });
132
- const interactive = (0, _validate.isFunction)(onClick);
130
+ }
131
+ const interactive = (0, _utils.isFunction)(onClick);
133
132
  const {
134
133
  interactionProps,
135
134
  states
@@ -142,13 +141,13 @@ const Space = props => {
142
141
  });
143
142
  if (interactive) {
144
143
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
145
- style: [containerBaseStyle, style, states.pressed ? {
144
+ style: [tokens.layout.container, containerBaseStyle, style, states.pressed && {
146
145
  opacity: 0.85
147
- } : null]
146
+ }]
148
147
  }, interactionProps, rest), content);
149
148
  }
150
149
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
151
- style: [containerBaseStyle, style]
150
+ style: [tokens.layout.container, containerBaseStyle, style]
152
151
  }, rest), content);
153
- };
154
- exports.Space = Space;
152
+ });
153
+ Space.displayName = 'Space';
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.Stepper = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
8
+ const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
10
10
  return data;
11
11
  };
@@ -19,11 +19,9 @@ function _reactNative() {
19
19
  return data;
20
20
  }
21
21
  var _hooks = require("../../hooks");
22
- var _number = require("../../utils/number");
23
- var _validate = require("../../utils/validate");
24
- var _promise = require("../../utils/promise");
22
+ var _utils = require("../../utils");
25
23
  var _tokens = require("./tokens");
26
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
27
25
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
28
26
  const LONG_PRESS_DELAY = 600;
29
27
  const LONG_PRESS_INTERVAL = 100;
@@ -63,19 +61,19 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
63
61
  style,
64
62
  ...rest
65
63
  } = p;
66
- const [changing, setChanging] = _react().default.useState(false);
67
- const changingRef = _react().default.useRef(false);
68
- const decimalLength = (0, _number.parseDecimalLength)(decimalLengthProp);
64
+ const [changing, setChanging] = (0, _react().useState)(false);
65
+ const changingRef = (0, _react().useRef)(false);
66
+ const decimalLength = (0, _utils.parseDecimalLength)(decimalLengthProp);
69
67
  const resolvedStepRaw = Number(step ?? 1);
70
- const resolvedStep = (0, _validate.isFiniteNumber)(resolvedStepRaw) && resolvedStepRaw > 0 ? resolvedStepRaw : 1;
71
- const resolvedButtonSize = Math.max(0, (0, _number.parseNumber)(buttonSize, tokens.defaults.buttonSize));
72
- const resolvedInputWidth = Math.max(0, (0, _number.parseNumber)(inputWidth, tokens.defaults.inputWidth));
68
+ const resolvedStep = (0, _utils.isFiniteNumber)(resolvedStepRaw) && resolvedStepRaw > 0 ? resolvedStepRaw : 1;
69
+ const resolvedButtonSize = Math.max(0, (0, _utils.parseNumber)(buttonSize, tokens.defaults.buttonSize));
70
+ const resolvedInputWidth = Math.max(0, (0, _utils.parseNumber)(inputWidth, tokens.defaults.inputWidth));
73
71
  const resolvedDefaultValue = (() => {
74
72
  const raw = p.defaultValue;
75
73
  if (raw === null) return null;
76
- const base = (0, _validate.isFiniteNumber)(raw) ? raw : 0;
77
- const formatted = (0, _number.formatNumber)(base, integer, decimalLength);
78
- return autoFixed ? (0, _number.clampValue)(formatted, min, max) : formatted;
74
+ const base = (0, _utils.isFiniteNumber)(raw) ? raw : 0;
75
+ const formatted = (0, _utils.formatNumber)(base, integer, decimalLength);
76
+ return autoFixed ? (0, _utils.clampValue)(formatted, min, max) : formatted;
79
77
  })();
80
78
  const [value, triggerChange] = (0, _hooks.useControllableValue)({
81
79
  ...p,
@@ -83,46 +81,46 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
83
81
  }, {
84
82
  defaultValue: resolvedDefaultValue
85
83
  });
86
- const valueRef = _react().default.useRef(value ?? null);
87
- _react().default.useEffect(() => {
84
+ const valueRef = (0, _react().useRef)(value ?? null);
85
+ (0, _react().useEffect)(() => {
88
86
  valueRef.current = value ?? null;
89
87
  }, [value]);
90
- const inputRef = _react().default.useRef(null);
91
- _react().default.useImperativeHandle(ref, () => ({
88
+ const inputRef = (0, _react().useRef)(null);
89
+ (0, _react().useImperativeHandle)(ref, () => ({
92
90
  focus: () => inputRef.current?.focus(),
93
91
  blur: () => inputRef.current?.blur()
94
92
  }));
95
- const [hasFocus, setHasFocus] = _react().default.useState(false);
96
- const [inputValue, setInputValue] = _react().default.useState(() => (0, _number.numberToString)(value, decimalLength));
97
- const inputValueRef = _react().default.useRef(inputValue);
98
- const setInputText = _react().default.useCallback(text => {
93
+ const [hasFocus, setHasFocus] = (0, _react().useState)(false);
94
+ const [inputValue, setInputValue] = (0, _react().useState)(() => (0, _utils.numberToString)(value, decimalLength));
95
+ const inputValueRef = (0, _react().useRef)(inputValue);
96
+ const setInputText = (0, _react().useCallback)(text => {
99
97
  inputValueRef.current = text;
100
98
  setInputValue(text);
101
99
  }, []);
102
- _react().default.useEffect(() => {
100
+ (0, _react().useEffect)(() => {
103
101
  if (!hasFocus) {
104
- const nextText = (0, _number.numberToString)(value, decimalLength);
102
+ const nextText = (0, _utils.numberToString)(value, decimalLength);
105
103
  setInputText(nextText);
106
104
  }
107
105
  }, [decimalLength, hasFocus, setInputText, value]);
108
- const getCurrentNumber = () => {
106
+ const getCurrentNumber = (0, _react().useCallback)(() => {
109
107
  const current = valueRef.current;
110
- return (0, _validate.isFiniteNumber)(current) ? current : 0;
111
- };
112
- const isActionDisabled = type => {
108
+ return (0, _utils.isFiniteNumber)(current) ? current : 0;
109
+ }, []);
110
+ const isActionDisabled = (0, _react().useCallback)(type => {
113
111
  if (disabled) return true;
114
112
  if (type === 'plus' && disablePlus) return true;
115
113
  if (type === 'minus' && disableMinus) return true;
116
114
  const current = getCurrentNumber();
117
- if (type === 'plus' && (0, _validate.isFiniteNumber)(max) && current >= max) {
115
+ if (type === 'plus' && (0, _utils.isFiniteNumber)(max) && current >= max) {
118
116
  return true;
119
117
  }
120
- if (type === 'minus' && (0, _validate.isFiniteNumber)(min) && current <= min) {
118
+ if (type === 'minus' && (0, _utils.isFiniteNumber)(min) && current <= min) {
121
119
  return true;
122
120
  }
123
121
  return false;
124
- };
125
- const setValue = next => {
122
+ }, [disableMinus, disablePlus, disabled, getCurrentNumber, max, min]);
123
+ const setValue = (0, _react().useCallback)(next => {
126
124
  const prev = valueRef.current ?? null;
127
125
  if (Object.is(prev, next)) return false;
128
126
  valueRef.current = next;
@@ -130,19 +128,19 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
130
128
  name
131
129
  });
132
130
  return true;
133
- };
134
- const applyNextValue = nextRaw => {
135
- const formatted = (0, _number.formatNumber)(nextRaw, integer, decimalLength);
136
- return autoFixed ? (0, _number.clampValue)(formatted, min, max) : formatted;
137
- };
138
- const performValueChange = (next, committed) => {
131
+ }, [name, triggerChange]);
132
+ const applyNextValue = (0, _react().useCallback)(nextRaw => {
133
+ const formatted = (0, _utils.formatNumber)(nextRaw, integer, decimalLength);
134
+ return autoFixed ? (0, _utils.clampValue)(formatted, min, max) : formatted;
135
+ }, [autoFixed, decimalLength, integer, max, min]);
136
+ const performValueChange = (0, _react().useCallback)((next, committed) => {
139
137
  if (changingRef.current) {
140
138
  return 'noop';
141
139
  }
142
140
  const commit = () => {
143
141
  const didChange = setValue(next);
144
142
  if (!didChange) return 'noop';
145
- setInputText((0, _number.numberToString)(next, decimalLength));
143
+ setInputText((0, _utils.numberToString)(next, decimalLength));
146
144
  committed?.(next);
147
145
  return 'changed';
148
146
  };
@@ -151,17 +149,17 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
151
149
  }
152
150
  try {
153
151
  const result = beforeChange(next);
154
- if ((0, _promise.isPromiseLike)(result)) {
152
+ if ((0, _utils.isPromiseLike)(result)) {
155
153
  changingRef.current = true;
156
154
  setChanging(true);
157
155
  result.then(allowed => {
158
156
  if (allowed === false) {
159
- setInputText((0, _number.numberToString)(valueRef.current, decimalLength));
157
+ setInputText((0, _utils.numberToString)(valueRef.current, decimalLength));
160
158
  return;
161
159
  }
162
160
  commit();
163
161
  }).catch(error => {
164
- console.error(error);
162
+ if (typeof __DEV__ !== 'undefined' && __DEV__) console.error(error);
165
163
  commit();
166
164
  }).finally(() => {
167
165
  changingRef.current = false;
@@ -170,16 +168,16 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
170
168
  return 'pending';
171
169
  }
172
170
  if (result === false) {
173
- setInputText((0, _number.numberToString)(valueRef.current, decimalLength));
171
+ setInputText((0, _utils.numberToString)(valueRef.current, decimalLength));
174
172
  return 'noop';
175
173
  }
176
174
  return commit();
177
175
  } catch (error) {
178
- console.error(error);
176
+ if (typeof __DEV__ !== 'undefined' && __DEV__) console.error(error);
179
177
  return commit();
180
178
  }
181
- };
182
- const stepOnce = (type, event, options) => {
179
+ }, [beforeChange, decimalLength, setInputText, setValue]);
180
+ const stepOnce = (0, _react().useCallback)((type, event, options) => {
183
181
  if (changingRef.current) {
184
182
  return 'noop';
185
183
  }
@@ -191,7 +189,7 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
191
189
  }
192
190
  const current = getCurrentNumber();
193
191
  const diff = type === 'plus' ? resolvedStep : -resolvedStep;
194
- const next = applyNextValue((0, _number.addNumber)(current, diff));
192
+ const next = applyNextValue((0, _utils.addNumber)(current, diff));
195
193
  return performValueChange(next, committedValue => {
196
194
  if (!emitButtonCallbacks || !event) return;
197
195
  if (type === 'plus') {
@@ -200,11 +198,11 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
200
198
  onMinus?.(event, committedValue);
201
199
  }
202
200
  });
203
- };
204
- const longPressRef = _react().default.useRef({
201
+ }, [applyNextValue, getCurrentNumber, isActionDisabled, onMinus, onOverlimit, onPlus, performValueChange, resolvedStep]);
202
+ const longPressRef = (0, _react().useRef)({
205
203
  hadLongPress: false
206
204
  });
207
- const clearLongPress = () => {
205
+ const clearLongPress = (0, _react().useCallback)(() => {
208
206
  if (longPressRef.current.delay) {
209
207
  clearTimeout(longPressRef.current.delay);
210
208
  longPressRef.current.delay = undefined;
@@ -213,9 +211,14 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
213
211
  clearInterval(longPressRef.current.interval);
214
212
  longPressRef.current.interval = undefined;
215
213
  }
216
- };
217
- _react().default.useEffect(() => clearLongPress, []);
218
- const startLongPress = type => {
214
+ }, []);
215
+ (0, _react().useEffect)(() => clearLongPress, [clearLongPress]);
216
+ (0, _react().useEffect)(() => {
217
+ if (disabled || changing || !longPress) {
218
+ clearLongPress();
219
+ }
220
+ }, [changing, clearLongPress, disabled, longPress]);
221
+ const startLongPress = (0, _react().useCallback)(type => {
219
222
  if (!longPress) return;
220
223
  if (changingRef.current) return;
221
224
  if (isActionDisabled(type)) return;
@@ -241,11 +244,11 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
241
244
  }
242
245
  }, LONG_PRESS_INTERVAL);
243
246
  }, LONG_PRESS_DELAY);
244
- };
245
- const handlePressOut = () => {
247
+ }, [clearLongPress, isActionDisabled, longPress, stepOnce]);
248
+ const handlePressOut = (0, _react().useCallback)(() => {
246
249
  clearLongPress();
247
- };
248
- const handleButtonPress = (type, event) => {
250
+ }, [clearLongPress]);
251
+ const handleButtonPress = (0, _react().useCallback)((type, event) => {
249
252
  if (longPressRef.current.hadLongPress) {
250
253
  longPressRef.current.hadLongPress = false;
251
254
  return;
@@ -255,24 +258,24 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
255
258
  emitOverlimit: true,
256
259
  emitButtonCallbacks: true
257
260
  });
258
- };
259
- const currentForCompare = (0, _validate.isFiniteNumber)(value) ? value : 0;
260
- const minNumber = (0, _validate.isFiniteNumber)(min) ? min : undefined;
261
- const maxNumber = (0, _validate.isFiniteNumber)(max) ? max : undefined;
261
+ }, [stepOnce]);
262
+ const currentForCompare = (0, _utils.isFiniteNumber)(value) ? value : 0;
263
+ const minNumber = (0, _utils.isFiniteNumber)(min) ? min : undefined;
264
+ const maxNumber = (0, _utils.isFiniteNumber)(max) ? max : undefined;
262
265
  const disabledForAll = disabled || changing;
263
266
  const minusDisabled = disabledForAll || disableMinus || minNumber !== undefined && currentForCompare <= minNumber;
264
267
  const plusDisabled = disabledForAll || disablePlus || maxNumber !== undefined && currentForCompare >= maxNumber;
265
268
  const radius = tokens.radii.default;
266
- const buttonBaseStyle = {
269
+ const buttonBaseStyle = (0, _react().useMemo)(() => ({
267
270
  width: resolvedButtonSize,
268
271
  height: resolvedButtonSize
269
- };
270
- const inputBoxStyle = {
272
+ }), [resolvedButtonSize]);
273
+ const inputBoxStyle = (0, _react().useMemo)(() => ({
271
274
  width: resolvedInputWidth,
272
275
  height: resolvedButtonSize,
273
276
  marginHorizontal: tokens.spacing.gap
274
- };
275
- const getButtonStyle = (type, state) => {
277
+ }), [resolvedButtonSize, resolvedInputWidth, tokens.spacing.gap]);
278
+ const getButtonStyle = (0, _react().useCallback)((type, state) => {
276
279
  const isPlus = type === 'plus';
277
280
  const disabledState = isPlus ? plusDisabled : minusDisabled;
278
281
  if (theme === 'round') {
@@ -283,18 +286,18 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
283
286
  if (isPlus) {
284
287
  return [...base, {
285
288
  backgroundColor: tokens.colors.roundTheme,
286
- ...(state.pressed && !disabledState ? {
289
+ ...(state.pressed && !disabledState && {
287
290
  opacity: tokens.opacity.pressed
288
- } : null)
291
+ })
289
292
  }, buttonStyle];
290
293
  }
291
294
  return [...base, {
292
295
  backgroundColor: tokens.colors.roundThemeBackground,
293
296
  borderWidth: _reactNative().StyleSheet.hairlineWidth,
294
297
  borderColor: tokens.colors.roundTheme,
295
- ...(state.pressed && !disabledState ? {
298
+ ...(state.pressed && !disabledState && {
296
299
  opacity: tokens.opacity.pressed
297
- } : null)
300
+ })
298
301
  }, buttonStyle];
299
302
  }
300
303
  const cornerStyle = type === 'minus' ? {
@@ -308,8 +311,8 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
308
311
  return [styles.button, buttonBaseStyle, cornerStyle, {
309
312
  backgroundColor
310
313
  }, buttonStyle];
311
- };
312
- const getButtonTextStyle = type => {
314
+ }, [buttonBaseStyle, buttonStyle, minusDisabled, plusDisabled, radius, resolvedButtonSize, theme, tokens.colors.active, tokens.colors.background, tokens.colors.buttonDisabledBackground, tokens.colors.roundTheme, tokens.colors.roundThemeBackground, tokens.opacity.pressed, tokens.opacity.roundDisabled]);
315
+ const getButtonTextStyle = (0, _react().useCallback)(type => {
313
316
  const isPlus = type === 'plus';
314
317
  const disabledState = isPlus ? plusDisabled : minusDisabled;
315
318
  if (theme === 'round') {
@@ -325,8 +328,8 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
325
328
  fontSize: tokens.typography.fontSize,
326
329
  fontWeight: tokens.typography.fontWeight
327
330
  }];
328
- };
329
- const handleChangeText = text => {
331
+ }, [minusDisabled, plusDisabled, theme, tokens.colors.buttonDisabledIcon, tokens.colors.buttonIcon, tokens.colors.roundTheme, tokens.colors.roundThemeText, tokens.typography.fontSize, tokens.typography.fontWeight]);
332
+ const handleChangeText = (0, _react().useCallback)(text => {
330
333
  if (disableInput || disabled || changingRef.current) return;
331
334
  setInputText(text);
332
335
  inputProps?.onChangeText?.(text);
@@ -338,17 +341,17 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
338
341
  const numeric = Number.parseFloat(trimmed);
339
342
  if (!Number.isFinite(numeric)) return;
340
343
  performValueChange(applyNextValue(numeric));
341
- };
342
- const handleFocus = event => {
343
- setHasFocus(true);
344
+ }, [allowEmpty, applyNextValue, changingRef, disableInput, disabled, inputProps, performValueChange, resolvedDefaultValue, setInputText]);
345
+ const handleFocus = (0, _react().useCallback)(event => {
344
346
  if (disableInput) {
345
347
  inputRef.current?.blur();
346
348
  return;
347
349
  }
350
+ setHasFocus(true);
348
351
  onFocus?.(event);
349
352
  inputProps?.onFocus?.(event);
350
- };
351
- const handleBlur = event => {
353
+ }, [disableInput, inputProps, onFocus]);
354
+ const handleBlur = (0, _react().useCallback)(event => {
352
355
  setHasFocus(false);
353
356
  if (!changingRef.current) {
354
357
  const trimmed = inputValueRef.current.trim();
@@ -363,37 +366,60 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
363
366
  }
364
367
  onBlur?.(event);
365
368
  inputProps?.onBlur?.(event);
366
- };
367
- const handleInputPressIn = event => {
369
+ }, [allowEmpty, applyNextValue, inputProps, onBlur, performValueChange, resolvedDefaultValue]);
370
+ const handleInputPressIn = (0, _react().useCallback)(event => {
368
371
  onClick?.(event);
369
372
  inputProps?.onPressIn?.(event);
370
- };
371
- const renderButton = type => {
372
- const isPlus = type === 'plus';
373
- const visible = isPlus ? showPlus : showMinus;
374
- if (!visible) return null;
373
+ }, [inputProps, onClick]);
374
+ const handleMinusPress = (0, _react().useCallback)(event => handleButtonPress('minus', event), [handleButtonPress]);
375
+ const handlePlusPress = (0, _react().useCallback)(event => handleButtonPress('plus', event), [handleButtonPress]);
376
+ const handleMinusPressIn = (0, _react().useCallback)(() => startLongPress('minus'), [startLongPress]);
377
+ const handlePlusPressIn = (0, _react().useCallback)(() => startLongPress('plus'), [startLongPress]);
378
+ const getMinusButtonStyle = (0, _react().useCallback)(state => getButtonStyle('minus', state), [getButtonStyle]);
379
+ const getPlusButtonStyle = (0, _react().useCallback)(state => getButtonStyle('plus', state), [getButtonStyle]);
380
+ const renderMinusButton = (0, _react().useCallback)(() => {
381
+ if (!showMinus) return null;
375
382
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, {
376
- key: type,
377
- testID: `stepper-${type}`,
383
+ key: "minus",
384
+ testID: "stepper-minus",
378
385
  accessibilityRole: "button",
379
- accessibilityLabel: type === 'plus' ? 'add' : 'minus',
386
+ accessibilityLabel: "minus",
380
387
  accessibilityState: {
381
- disabled: isPlus ? plusDisabled : minusDisabled
388
+ disabled: minusDisabled
382
389
  },
383
- onPress: event => handleButtonPress(type, event),
384
- onPressIn: () => startLongPress(type),
390
+ onPress: handleMinusPress,
391
+ onPressIn: handleMinusPressIn,
385
392
  onPressOut: handlePressOut,
386
- style: state => getButtonStyle(type, state)
393
+ style: getMinusButtonStyle
387
394
  }, /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
388
- style: getButtonTextStyle(type)
389
- }, isPlus ? '+' : '-'));
390
- };
391
- const renderInput = () => {
395
+ style: getButtonTextStyle('minus')
396
+ }, "-"));
397
+ }, [getButtonTextStyle, getMinusButtonStyle, handleMinusPress, handleMinusPressIn, handlePressOut, minusDisabled, showMinus]);
398
+ const renderPlusButton = (0, _react().useCallback)(() => {
399
+ if (!showPlus) return null;
400
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, {
401
+ key: "plus",
402
+ testID: "stepper-plus",
403
+ accessibilityRole: "button",
404
+ accessibilityLabel: "add",
405
+ accessibilityState: {
406
+ disabled: plusDisabled
407
+ },
408
+ onPress: handlePlusPress,
409
+ onPressIn: handlePlusPressIn,
410
+ onPressOut: handlePressOut,
411
+ style: getPlusButtonStyle
412
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
413
+ style: getButtonTextStyle('plus')
414
+ }, "+"));
415
+ }, [getButtonTextStyle, getPlusButtonStyle, handlePlusPress, handlePlusPressIn, handlePressOut, plusDisabled, showPlus]);
416
+ const inputNode = (0, _react().useMemo)(() => {
392
417
  if (!showInput) return null;
393
418
  const editable = !disabledForAll && !disableInput;
394
419
  const inputDisabled = disabledForAll || disableInput;
395
420
  const inputBackground = theme === 'round' ? 'transparent' : inputDisabled ? tokens.colors.inputDisabledBackground : tokens.colors.background;
396
421
  const inputTextColor = inputDisabled ? tokens.colors.inputDisabledText : tokens.colors.inputText;
422
+ const keyboardType = integer ? 'number-pad' : 'decimal-pad';
397
423
  return /*#__PURE__*/_react().default.createElement(_reactNative().TextInput, _extends({
398
424
  ref: inputRef
399
425
  }, inputProps, {
@@ -404,16 +430,16 @@ const Stepper = exports.Stepper = /*#__PURE__*/_react().default.forwardRef((p, r
404
430
  value: inputValue,
405
431
  placeholder: placeholder,
406
432
  editable: editable,
407
- keyboardType: integer ? 'number-pad' : 'decimal-pad',
433
+ keyboardType: keyboardType,
408
434
  onChangeText: handleChangeText,
409
435
  onFocus: handleFocus,
410
436
  onBlur: handleBlur,
411
437
  onPressIn: handleInputPressIn
412
438
  }));
413
- };
439
+ }, [disableInput, disabledForAll, handleBlur, handleChangeText, handleFocus, handleInputPressIn, inputBoxStyle, inputProps, inputStyle, inputValue, integer, placeholder, showInput, theme, tokens.colors.background, tokens.colors.inputDisabledBackground, tokens.colors.inputDisabledText, tokens.colors.inputText]);
414
440
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, rest, {
415
441
  style: [styles.container, style]
416
- }), renderButton('minus'), renderInput(), renderButton('plus'));
442
+ }), renderMinusButton(), inputNode, renderPlusButton());
417
443
  });
418
444
  const styles = _reactNative().StyleSheet.create({
419
445
  container: {
@@ -424,9 +450,7 @@ const styles = _reactNative().StyleSheet.create({
424
450
  justifyContent: 'center',
425
451
  alignItems: 'center'
426
452
  },
427
- buttonText: {
428
- // fontWeight is now dynamic via token
429
- },
453
+ buttonText: {},
430
454
  input: {
431
455
  textAlign: 'center',
432
456
  paddingHorizontal: 0,