react-native-system-ui 1.0.1 → 1.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 (496) hide show
  1. package/README.md +44 -24
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +1 -297
  3. package/dist/cjs/components/action-sheet/index.js +1 -16
  4. package/dist/cjs/components/action-sheet/tokens.js +1 -133
  5. package/dist/cjs/components/area/Area.js +1 -127
  6. package/dist/cjs/components/area/index.js +1 -9
  7. package/dist/cjs/components/area/tokens.js +1 -14
  8. package/dist/cjs/components/avatar/Avatar.js +1 -125
  9. package/dist/cjs/components/avatar/index.js +1 -18
  10. package/dist/cjs/components/avatar/tokens.js +1 -56
  11. package/dist/cjs/components/badge/Badge.js +1 -166
  12. package/dist/cjs/components/badge/index.js +1 -8
  13. package/dist/cjs/components/badge/tokens.js +1 -81
  14. package/dist/cjs/components/button/Button.js +1 -203
  15. package/dist/cjs/components/button/ButtonContext.js +1 -12
  16. package/dist/cjs/components/button/ButtonGroup.js +1 -65
  17. package/dist/cjs/components/button/index.js +1 -12
  18. package/dist/cjs/components/button/tokens.js +1 -176
  19. package/dist/cjs/components/calendar/Calendar.js +1 -452
  20. package/dist/cjs/components/calendar/index.js +1 -9
  21. package/dist/cjs/components/calendar/tokens.js +1 -129
  22. package/dist/cjs/components/cascader/Cascader.js +1 -481
  23. package/dist/cjs/components/cascader/index.js +1 -15
  24. package/dist/cjs/components/cascader/tokens.js +1 -138
  25. package/dist/cjs/components/cascader/useCascaderExtend.js +1 -39
  26. package/dist/cjs/components/cell/Cell.js +1 -181
  27. package/dist/cjs/components/cell/CellContext.js +1 -19
  28. package/dist/cjs/components/cell/CellGroup.js +1 -100
  29. package/dist/cjs/components/cell/index.js +1 -19
  30. package/dist/cjs/components/cell/tokens.js +1 -173
  31. package/dist/cjs/components/checkbox/Checkbox.js +1 -251
  32. package/dist/cjs/components/checkbox/CheckboxContext.js +1 -12
  33. package/dist/cjs/components/checkbox/CheckboxGroup.js +1 -148
  34. package/dist/cjs/components/checkbox/index.js +1 -16
  35. package/dist/cjs/components/checkbox/tokens.js +1 -97
  36. package/dist/cjs/components/circle/Circle.js +1 -212
  37. package/dist/cjs/components/circle/index.js +1 -9
  38. package/dist/cjs/components/circle/tokens.js +1 -55
  39. package/dist/cjs/components/collapse/Collapse.js +1 -311
  40. package/dist/cjs/components/collapse/index.js +1 -8
  41. package/dist/cjs/components/collapse/tokens.js +1 -81
  42. package/dist/cjs/components/config-provider/ConfigProvider.js +1 -44
  43. package/dist/cjs/components/config-provider/DirectionContext.js +1 -15
  44. package/dist/cjs/components/config-provider/LocaleContext.js +1 -16
  45. package/dist/cjs/components/config-provider/index.js +1 -40
  46. package/dist/cjs/components/config-provider/locale/en-US.js +1 -112
  47. package/dist/cjs/components/config-provider/locale/zh-CN.js +1 -112
  48. package/dist/cjs/components/config-provider/tokens.js +1 -11
  49. package/dist/cjs/components/config-provider/useDirection.js +1 -16
  50. package/dist/cjs/components/config-provider/useLocale.js +1 -16
  51. package/dist/cjs/components/count-down/CountDown.js +1 -88
  52. package/dist/cjs/components/count-down/index.js +1 -15
  53. package/dist/cjs/components/count-down/tokens.js +1 -34
  54. package/dist/cjs/components/datetime-picker/DatetimePicker.js +1 -319
  55. package/dist/cjs/components/datetime-picker/index.js +1 -9
  56. package/dist/cjs/components/datetime-picker/tokens.js +1 -22
  57. package/dist/cjs/components/dialog/Dialog.js +1 -433
  58. package/dist/cjs/components/dialog/imperative.js +1 -199
  59. package/dist/cjs/components/dialog/index.js +1 -23
  60. package/dist/cjs/components/dialog/tokens.js +1 -64
  61. package/dist/cjs/components/divider/Divider.js +1 -126
  62. package/dist/cjs/components/divider/index.js +1 -8
  63. package/dist/cjs/components/divider/tokens.js +1 -62
  64. package/dist/cjs/components/empty/Empty.js +1 -125
  65. package/dist/cjs/components/empty/index.js +1 -8
  66. package/dist/cjs/components/empty/tokens.js +1 -55
  67. package/dist/cjs/components/error-boundary/ErrorBoundary.js +1 -74
  68. package/dist/cjs/components/error-boundary/index.js +1 -19
  69. package/dist/cjs/components/field/Field.js +1 -565
  70. package/dist/cjs/components/field/index.js +1 -29
  71. package/dist/cjs/components/field/tokens.js +1 -150
  72. package/dist/cjs/components/flex/Flex.js +1 -85
  73. package/dist/cjs/components/flex/FlexContext.js +1 -12
  74. package/dist/cjs/components/flex/FlexItem.js +1 -95
  75. package/dist/cjs/components/flex/index.js +1 -19
  76. package/dist/cjs/components/flex/tokens.js +1 -21
  77. package/dist/cjs/components/form/Form.js +1 -340
  78. package/dist/cjs/components/form/FormContext.js +1 -12
  79. package/dist/cjs/components/form/FormItem.js +1 -151
  80. package/dist/cjs/components/form/FormList.js +1 -95
  81. package/dist/cjs/components/form/index.js +1 -50
  82. package/dist/cjs/components/form/tokens.js +1 -14
  83. package/dist/cjs/components/form/utils.js +1 -56
  84. package/dist/cjs/components/grid/Grid.js +1 -118
  85. package/dist/cjs/components/grid/GridContext.js +1 -12
  86. package/dist/cjs/components/grid/GridItem.js +1 -158
  87. package/dist/cjs/components/grid/index.js +1 -12
  88. package/dist/cjs/components/grid/tokens.js +1 -105
  89. package/dist/cjs/components/image/Image.js +1 -263
  90. package/dist/cjs/components/image/index.js +1 -16
  91. package/dist/cjs/components/image/tokens.js +1 -66
  92. package/dist/cjs/components/image-preview/ImagePreview.js +1 -398
  93. package/dist/cjs/components/image-preview/imperative.js +1 -72
  94. package/dist/cjs/components/image-preview/index.js +1 -17
  95. package/dist/cjs/components/image-preview/tokens.js +1 -43
  96. package/dist/cjs/components/index.js +1 -769
  97. package/dist/cjs/components/input/Input.js +1 -122
  98. package/dist/cjs/components/input/index.js +1 -15
  99. package/dist/cjs/components/input/tokens.js +1 -22
  100. package/dist/cjs/components/loading/Loading.js +1 -76
  101. package/dist/cjs/components/loading/index.js +1 -8
  102. package/dist/cjs/components/loading/tokens.js +1 -32
  103. package/dist/cjs/components/nav-bar/NavBar.js +1 -196
  104. package/dist/cjs/components/nav-bar/index.js +1 -16
  105. package/dist/cjs/components/nav-bar/tokens.js +1 -90
  106. package/dist/cjs/components/notice-bar/NoticeBar.js +1 -369
  107. package/dist/cjs/components/notice-bar/index.js +1 -8
  108. package/dist/cjs/components/notice-bar/tokens.js +1 -39
  109. package/dist/cjs/components/notify/Notify.js +1 -262
  110. package/dist/cjs/components/notify/imperative.js +1 -145
  111. package/dist/cjs/components/notify/index.js +1 -10
  112. package/dist/cjs/components/notify/tokens.js +1 -74
  113. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +1 -487
  114. package/dist/cjs/components/number-keyboard/index.js +1 -15
  115. package/dist/cjs/components/number-keyboard/tokens.js +1 -59
  116. package/dist/cjs/components/overlay/Overlay.js +1 -81
  117. package/dist/cjs/components/overlay/index.js +1 -28
  118. package/dist/cjs/components/overlay/tokens.js +1 -13
  119. package/dist/cjs/components/password-input/PasswordInput.js +1 -346
  120. package/dist/cjs/components/password-input/index.js +1 -13
  121. package/dist/cjs/components/password-input/tokens.js +1 -53
  122. package/dist/cjs/components/picker/Picker.js +1 -1056
  123. package/dist/cjs/components/picker/index.js +1 -15
  124. package/dist/cjs/components/picker/tokens.js +1 -53
  125. package/dist/cjs/components/popup/Popup.js +1 -518
  126. package/dist/cjs/components/popup/index.js +1 -15
  127. package/dist/cjs/components/popup/tokens.js +1 -62
  128. package/dist/cjs/components/portal/Portal.js +1 -50
  129. package/dist/cjs/components/portal/PortalContext.js +1 -15
  130. package/dist/cjs/components/portal/PortalHost.js +1 -253
  131. package/dist/cjs/components/portal/index.js +1 -25
  132. package/dist/cjs/components/portal/tokens.js +1 -11
  133. package/dist/cjs/components/progress/Progress.js +1 -216
  134. package/dist/cjs/components/progress/index.js +1 -14
  135. package/dist/cjs/components/progress/tokens.js +1 -52
  136. package/dist/cjs/components/radio/Radio.js +1 -245
  137. package/dist/cjs/components/radio/RadioContext.js +1 -12
  138. package/dist/cjs/components/radio/RadioGroup.js +1 -113
  139. package/dist/cjs/components/radio/index.js +1 -16
  140. package/dist/cjs/components/radio/tokens.js +1 -92
  141. package/dist/cjs/components/safe-area-view/SafeAreaView.js +1 -59
  142. package/dist/cjs/components/safe-area-view/index.js +1 -12
  143. package/dist/cjs/components/safe-area-view/tokens.js +1 -11
  144. package/dist/cjs/components/search/Search.js +1 -215
  145. package/dist/cjs/components/search/index.js +1 -15
  146. package/dist/cjs/components/search/tokens.js +1 -54
  147. package/dist/cjs/components/selector/Selector.js +1 -185
  148. package/dist/cjs/components/selector/index.js +1 -15
  149. package/dist/cjs/components/selector/tokens.js +1 -100
  150. package/dist/cjs/components/share-sheet/ShareSheet.js +1 -286
  151. package/dist/cjs/components/share-sheet/index.js +1 -16
  152. package/dist/cjs/components/share-sheet/tokens.js +1 -55
  153. package/dist/cjs/components/sidebar/Sidebar.js +1 -103
  154. package/dist/cjs/components/sidebar/SidebarContext.js +1 -17
  155. package/dist/cjs/components/sidebar/SidebarItem.js +1 -103
  156. package/dist/cjs/components/sidebar/index.js +1 -26
  157. package/dist/cjs/components/sidebar/tokens.js +1 -93
  158. package/dist/cjs/components/skeleton/Skeleton.js +1 -162
  159. package/dist/cjs/components/skeleton/index.js +1 -22
  160. package/dist/cjs/components/skeleton/tokens.js +1 -39
  161. package/dist/cjs/components/slider/Slider.js +1 -633
  162. package/dist/cjs/components/slider/index.js +1 -8
  163. package/dist/cjs/components/slider/tokens.js +1 -37
  164. package/dist/cjs/components/space/Space.js +1 -134
  165. package/dist/cjs/components/space/index.js +1 -18
  166. package/dist/cjs/components/space/tokens.js +1 -39
  167. package/dist/cjs/components/stepper/Stepper.js +1 -484
  168. package/dist/cjs/components/stepper/index.js +1 -15
  169. package/dist/cjs/components/stepper/tokens.js +1 -60
  170. package/dist/cjs/components/swiper/Swiper.js +1 -364
  171. package/dist/cjs/components/swiper/SwiperItem.js +1 -12
  172. package/dist/cjs/components/swiper/SwiperPagIndicator.js +1 -106
  173. package/dist/cjs/components/swiper/index.js +1 -40
  174. package/dist/cjs/components/swiper/tokens.js +1 -18
  175. package/dist/cjs/components/switch/Switch.js +1 -102
  176. package/dist/cjs/components/switch/index.js +1 -15
  177. package/dist/cjs/components/switch/tokens.js +1 -31
  178. package/dist/cjs/components/tabbar/Tabbar.js +1 -149
  179. package/dist/cjs/components/tabbar/TabbarContext.js +1 -17
  180. package/dist/cjs/components/tabbar/TabbarItem.js +1 -153
  181. package/dist/cjs/components/tabbar/index.js +1 -25
  182. package/dist/cjs/components/tabbar/tokens.js +1 -41
  183. package/dist/cjs/components/tabs/Tabs.js +1 -860
  184. package/dist/cjs/components/tabs/index.js +1 -25
  185. package/dist/cjs/components/tabs/tokens.js +1 -111
  186. package/dist/cjs/components/tag/Tag.js +1 -130
  187. package/dist/cjs/components/tag/index.js +1 -8
  188. package/dist/cjs/components/tag/tokens.js +1 -104
  189. package/dist/cjs/components/toast/Toast.js +1 -303
  190. package/dist/cjs/components/toast/imperative.js +1 -144
  191. package/dist/cjs/components/toast/index.js +1 -10
  192. package/dist/cjs/components/toast/tokens.js +1 -43
  193. package/dist/cjs/components/typography/Typography.js +1 -181
  194. package/dist/cjs/components/typography/index.js +1 -9
  195. package/dist/cjs/components/typography/tokens.js +1 -88
  196. package/dist/cjs/components/water-mark/WaterMark.js +1 -172
  197. package/dist/cjs/components/water-mark/index.js +1 -22
  198. package/dist/cjs/components/water-mark/tokens.js +1 -54
  199. package/dist/cjs/design-system/Text.js +1 -38
  200. package/dist/cjs/design-system/ThemeContext.js +1 -19
  201. package/dist/cjs/design-system/ThemeProvider.js +1 -31
  202. package/dist/cjs/design-system/createComponentTokensHook.js +1 -28
  203. package/dist/cjs/design-system/index.js +1 -66
  204. package/dist/cjs/design-system/mergeTokensOverride.js +1 -9
  205. package/dist/cjs/design-system/presets.js +1 -146
  206. package/dist/cjs/design-system/tokens.js +1 -135
  207. package/dist/cjs/design-system/useTheme.js +1 -16
  208. package/dist/cjs/hooks/animation/index.js +1 -25
  209. package/dist/cjs/hooks/animation/useAnimatedTransition.js +1 -72
  210. package/dist/cjs/hooks/animation/useReducedMotion.js +1 -75
  211. package/dist/cjs/hooks/aria/index.js +1 -49
  212. package/dist/cjs/hooks/aria/useAriaListBox.js +1 -50
  213. package/dist/cjs/hooks/aria/useAriaOverlay.js +1 -50
  214. package/dist/cjs/hooks/aria/useAriaPress.js +1 -94
  215. package/dist/cjs/hooks/aria/useAriaToggle.js +1 -41
  216. package/dist/cjs/hooks/gesture/index.js +1 -16
  217. package/dist/cjs/hooks/gesture/useGestureScroll.js +1 -129
  218. package/dist/cjs/hooks/index.js +1 -96
  219. package/dist/cjs/hooks/overlay/OverlayStackStore.js +1 -106
  220. package/dist/cjs/hooks/overlay/index.js +1 -27
  221. package/dist/cjs/hooks/overlay/useOverlayStack.js +1 -53
  222. package/dist/cjs/hooks/useControllableValue.js +1 -41
  223. package/dist/cjs/hooks/useCountDown.js +1 -99
  224. package/dist/cjs/hooks/useHairline.js +1 -46
  225. package/dist/cjs/hooks/useSafeAreaPadding.js +1 -38
  226. package/dist/cjs/index.js +1 -104
  227. package/dist/cjs/nativewind.js +1 -0
  228. package/dist/cjs/platform/animation.js +1 -22
  229. package/dist/cjs/platform/history.js +1 -14
  230. package/dist/cjs/platform/index.js +1 -60
  231. package/dist/cjs/platform/measure.js +1 -39
  232. package/dist/cjs/platform/runtime.js +1 -19
  233. package/dist/cjs/platform/scrollLock.js +1 -24
  234. package/dist/cjs/utils/array.js +1 -12
  235. package/dist/cjs/utils/color.js +1 -33
  236. package/dist/cjs/utils/compare.js +1 -21
  237. package/dist/cjs/utils/createPlatformShadow.js +1 -52
  238. package/dist/cjs/utils/date.js +1 -45
  239. package/dist/cjs/utils/deepMerge.js +1 -27
  240. package/dist/cjs/utils/hairline.js +1 -107
  241. package/dist/cjs/utils/index.js +1 -148
  242. package/dist/cjs/utils/number.js +1 -65
  243. package/dist/cjs/utils/promise.js +1 -9
  244. package/dist/cjs/utils/render.js +1 -21
  245. package/dist/cjs/utils/rtl.js +1 -25
  246. package/dist/cjs/utils/string.js +1 -22
  247. package/dist/cjs/utils/validate.js +1 -39
  248. package/dist/es/components/action-sheet/ActionSheet.js +1 -271
  249. package/dist/es/components/action-sheet/index.js +1 -3
  250. package/dist/es/components/action-sheet/tokens.js +1 -126
  251. package/dist/es/components/area/Area.js +1 -113
  252. package/dist/es/components/area/index.js +1 -2
  253. package/dist/es/components/area/tokens.js +1 -8
  254. package/dist/es/components/avatar/Avatar.js +1 -106
  255. package/dist/es/components/avatar/index.js +1 -1
  256. package/dist/es/components/avatar/tokens.js +1 -49
  257. package/dist/es/components/badge/Badge.js +1 -147
  258. package/dist/es/components/badge/index.js +1 -2
  259. package/dist/es/components/badge/tokens.js +1 -75
  260. package/dist/es/components/button/Button.js +1 -184
  261. package/dist/es/components/button/ButtonContext.js +1 -1
  262. package/dist/es/components/button/ButtonGroup.js +1 -46
  263. package/dist/es/components/button/index.js +1 -7
  264. package/dist/es/components/button/tokens.js +1 -170
  265. package/dist/es/components/calendar/Calendar.js +1 -432
  266. package/dist/es/components/calendar/index.js +1 -2
  267. package/dist/es/components/calendar/tokens.js +1 -122
  268. package/dist/es/components/cascader/Cascader.js +1 -455
  269. package/dist/es/components/cascader/index.js +1 -3
  270. package/dist/es/components/cascader/tokens.js +1 -131
  271. package/dist/es/components/cascader/useCascaderExtend.js +1 -32
  272. package/dist/es/components/cell/Cell.js +1 -156
  273. package/dist/es/components/cell/CellContext.js +1 -6
  274. package/dist/es/components/cell/CellGroup.js +1 -81
  275. package/dist/es/components/cell/index.js +1 -8
  276. package/dist/es/components/cell/tokens.js +1 -160
  277. package/dist/es/components/checkbox/Checkbox.js +1 -220
  278. package/dist/es/components/checkbox/CheckboxContext.js +1 -1
  279. package/dist/es/components/checkbox/CheckboxGroup.js +1 -117
  280. package/dist/es/components/checkbox/index.js +1 -5
  281. package/dist/es/components/checkbox/tokens.js +1 -85
  282. package/dist/es/components/circle/Circle.js +1 -187
  283. package/dist/es/components/circle/index.js +1 -2
  284. package/dist/es/components/circle/tokens.js +1 -48
  285. package/dist/es/components/collapse/Collapse.js +1 -286
  286. package/dist/es/components/collapse/index.js +1 -2
  287. package/dist/es/components/collapse/tokens.js +1 -74
  288. package/dist/es/components/config-provider/ConfigProvider.js +1 -25
  289. package/dist/es/components/config-provider/DirectionContext.js +1 -2
  290. package/dist/es/components/config-provider/LocaleContext.js +1 -3
  291. package/dist/es/components/config-provider/index.js +1 -5
  292. package/dist/es/components/config-provider/locale/en-US.js +1 -106
  293. package/dist/es/components/config-provider/locale/zh-CN.js +1 -106
  294. package/dist/es/components/config-provider/tokens.js +1 -5
  295. package/dist/es/components/config-provider/useDirection.js +1 -3
  296. package/dist/es/components/config-provider/useLocale.js +1 -3
  297. package/dist/es/components/count-down/CountDown.js +1 -69
  298. package/dist/es/components/count-down/index.js +1 -3
  299. package/dist/es/components/count-down/tokens.js +1 -27
  300. package/dist/es/components/datetime-picker/DatetimePicker.js +1 -305
  301. package/dist/es/components/datetime-picker/index.js +1 -2
  302. package/dist/es/components/datetime-picker/tokens.js +1 -16
  303. package/dist/es/components/dialog/Dialog.js +1 -407
  304. package/dist/es/components/dialog/imperative.js +1 -185
  305. package/dist/es/components/dialog/index.js +1 -17
  306. package/dist/es/components/dialog/tokens.js +1 -57
  307. package/dist/es/components/divider/Divider.js +1 -107
  308. package/dist/es/components/divider/index.js +1 -2
  309. package/dist/es/components/divider/tokens.js +1 -55
  310. package/dist/es/components/empty/Empty.js +1 -100
  311. package/dist/es/components/empty/index.js +1 -2
  312. package/dist/es/components/empty/tokens.js +1 -48
  313. package/dist/es/components/error-boundary/ErrorBoundary.js +1 -62
  314. package/dist/es/components/error-boundary/index.js +1 -1
  315. package/dist/es/components/field/Field.js +1 -539
  316. package/dist/es/components/field/index.js +1 -6
  317. package/dist/es/components/field/tokens.js +1 -138
  318. package/dist/es/components/flex/Flex.js +1 -66
  319. package/dist/es/components/flex/FlexContext.js +1 -1
  320. package/dist/es/components/flex/FlexItem.js +1 -76
  321. package/dist/es/components/flex/index.js +1 -8
  322. package/dist/es/components/flex/tokens.js +1 -15
  323. package/dist/es/components/form/Form.js +1 -319
  324. package/dist/es/components/form/FormContext.js +1 -1
  325. package/dist/es/components/form/FormItem.js +1 -138
  326. package/dist/es/components/form/FormList.js +1 -81
  327. package/dist/es/components/form/index.js +1 -13
  328. package/dist/es/components/form/tokens.js +1 -8
  329. package/dist/es/components/form/utils.js +1 -45
  330. package/dist/es/components/grid/Grid.js +1 -99
  331. package/dist/es/components/grid/GridContext.js +1 -1
  332. package/dist/es/components/grid/GridItem.js +1 -138
  333. package/dist/es/components/grid/index.js +1 -6
  334. package/dist/es/components/grid/tokens.js +1 -98
  335. package/dist/es/components/image/Image.js +1 -238
  336. package/dist/es/components/image/index.js +1 -3
  337. package/dist/es/components/image/tokens.js +1 -60
  338. package/dist/es/components/image-preview/ImagePreview.js +1 -378
  339. package/dist/es/components/image-preview/imperative.js +1 -58
  340. package/dist/es/components/image-preview/index.js +1 -11
  341. package/dist/es/components/image-preview/tokens.js +1 -37
  342. package/dist/es/components/index.js +1 -110
  343. package/dist/es/components/input/Input.js +1 -109
  344. package/dist/es/components/input/index.js +1 -3
  345. package/dist/es/components/input/tokens.js +1 -16
  346. package/dist/es/components/loading/Loading.js +1 -57
  347. package/dist/es/components/loading/index.js +1 -2
  348. package/dist/es/components/loading/tokens.js +1 -25
  349. package/dist/es/components/nav-bar/NavBar.js +1 -171
  350. package/dist/es/components/nav-bar/index.js +1 -3
  351. package/dist/es/components/nav-bar/tokens.js +1 -83
  352. package/dist/es/components/notice-bar/NoticeBar.js +1 -344
  353. package/dist/es/components/notice-bar/index.js +1 -2
  354. package/dist/es/components/notice-bar/tokens.js +1 -32
  355. package/dist/es/components/notify/Notify.js +1 -242
  356. package/dist/es/components/notify/imperative.js +1 -131
  357. package/dist/es/components/notify/index.js +1 -5
  358. package/dist/es/components/notify/tokens.js +1 -67
  359. package/dist/es/components/number-keyboard/NumberKeyboard.js +1 -467
  360. package/dist/es/components/number-keyboard/index.js +1 -3
  361. package/dist/es/components/number-keyboard/tokens.js +1 -53
  362. package/dist/es/components/overlay/Overlay.js +1 -50
  363. package/dist/es/components/overlay/index.js +1 -4
  364. package/dist/es/components/overlay/tokens.js +1 -7
  365. package/dist/es/components/password-input/PasswordInput.js +1 -327
  366. package/dist/es/components/password-input/index.js +1 -1
  367. package/dist/es/components/password-input/tokens.js +1 -41
  368. package/dist/es/components/picker/Picker.js +1 -1031
  369. package/dist/es/components/picker/index.js +1 -3
  370. package/dist/es/components/picker/tokens.js +1 -47
  371. package/dist/es/components/popup/Popup.js +1 -492
  372. package/dist/es/components/popup/index.js +1 -3
  373. package/dist/es/components/popup/tokens.js +1 -55
  374. package/dist/es/components/portal/Portal.js +1 -37
  375. package/dist/es/components/portal/PortalContext.js +1 -2
  376. package/dist/es/components/portal/PortalHost.js +1 -234
  377. package/dist/es/components/portal/index.js +1 -3
  378. package/dist/es/components/portal/tokens.js +1 -5
  379. package/dist/es/components/progress/Progress.js +1 -196
  380. package/dist/es/components/progress/index.js +1 -3
  381. package/dist/es/components/progress/tokens.js +1 -45
  382. package/dist/es/components/radio/Radio.js +1 -214
  383. package/dist/es/components/radio/RadioContext.js +1 -1
  384. package/dist/es/components/radio/RadioGroup.js +1 -82
  385. package/dist/es/components/radio/index.js +1 -5
  386. package/dist/es/components/radio/tokens.js +1 -80
  387. package/dist/es/components/safe-area-view/SafeAreaView.js +1 -40
  388. package/dist/es/components/safe-area-view/index.js +1 -1
  389. package/dist/es/components/safe-area-view/tokens.js +1 -5
  390. package/dist/es/components/search/Search.js +1 -189
  391. package/dist/es/components/search/index.js +1 -3
  392. package/dist/es/components/search/tokens.js +1 -48
  393. package/dist/es/components/selector/Selector.js +1 -166
  394. package/dist/es/components/selector/index.js +1 -3
  395. package/dist/es/components/selector/tokens.js +1 -88
  396. package/dist/es/components/share-sheet/ShareSheet.js +1 -266
  397. package/dist/es/components/share-sheet/index.js +1 -3
  398. package/dist/es/components/share-sheet/tokens.js +1 -49
  399. package/dist/es/components/sidebar/Sidebar.js +1 -84
  400. package/dist/es/components/sidebar/SidebarContext.js +1 -3
  401. package/dist/es/components/sidebar/SidebarItem.js +1 -84
  402. package/dist/es/components/sidebar/index.js +1 -8
  403. package/dist/es/components/sidebar/tokens.js +1 -80
  404. package/dist/es/components/skeleton/Skeleton.js +1 -143
  405. package/dist/es/components/skeleton/index.js +1 -4
  406. package/dist/es/components/skeleton/tokens.js +1 -33
  407. package/dist/es/components/slider/Slider.js +1 -596
  408. package/dist/es/components/slider/index.js +1 -2
  409. package/dist/es/components/slider/tokens.js +1 -31
  410. package/dist/es/components/space/Space.js +1 -115
  411. package/dist/es/components/space/index.js +1 -2
  412. package/dist/es/components/space/tokens.js +1 -32
  413. package/dist/es/components/stepper/Stepper.js +1 -465
  414. package/dist/es/components/stepper/index.js +1 -3
  415. package/dist/es/components/stepper/tokens.js +1 -54
  416. package/dist/es/components/swiper/Swiper.js +1 -344
  417. package/dist/es/components/swiper/SwiperItem.js +1 -1
  418. package/dist/es/components/swiper/SwiperPagIndicator.js +1 -87
  419. package/dist/es/components/swiper/index.js +1 -10
  420. package/dist/es/components/swiper/tokens.js +1 -12
  421. package/dist/es/components/switch/Switch.js +1 -83
  422. package/dist/es/components/switch/index.js +1 -3
  423. package/dist/es/components/switch/tokens.js +1 -25
  424. package/dist/es/components/tabbar/Tabbar.js +1 -130
  425. package/dist/es/components/tabbar/TabbarContext.js +1 -3
  426. package/dist/es/components/tabbar/TabbarItem.js +1 -133
  427. package/dist/es/components/tabbar/index.js +1 -7
  428. package/dist/es/components/tabbar/tokens.js +1 -35
  429. package/dist/es/components/tabs/Tabs.js +1 -841
  430. package/dist/es/components/tabs/index.js +1 -7
  431. package/dist/es/components/tabs/tokens.js +1 -105
  432. package/dist/es/components/tag/Tag.js +1 -105
  433. package/dist/es/components/tag/index.js +1 -2
  434. package/dist/es/components/tag/tokens.js +1 -97
  435. package/dist/es/components/toast/Toast.js +1 -277
  436. package/dist/es/components/toast/imperative.js +1 -130
  437. package/dist/es/components/toast/index.js +1 -5
  438. package/dist/es/components/toast/tokens.js +1 -36
  439. package/dist/es/components/typography/Typography.js +1 -162
  440. package/dist/es/components/typography/index.js +1 -2
  441. package/dist/es/components/typography/tokens.js +1 -82
  442. package/dist/es/components/water-mark/WaterMark.js +1 -153
  443. package/dist/es/components/water-mark/index.js +1 -4
  444. package/dist/es/components/water-mark/tokens.js +1 -42
  445. package/dist/es/design-system/Text.js +1 -19
  446. package/dist/es/design-system/ThemeContext.js +1 -6
  447. package/dist/es/design-system/ThemeProvider.js +1 -17
  448. package/dist/es/design-system/createComponentTokensHook.js +1 -15
  449. package/dist/es/design-system/index.js +1 -7
  450. package/dist/es/design-system/mergeTokensOverride.js +1 -2
  451. package/dist/es/design-system/presets.js +1 -139
  452. package/dist/es/design-system/tokens.js +1 -128
  453. package/dist/es/design-system/useTheme.js +1 -3
  454. package/dist/es/hooks/animation/index.js +1 -2
  455. package/dist/es/hooks/animation/useAnimatedTransition.js +1 -53
  456. package/dist/es/hooks/animation/useReducedMotion.js +1 -54
  457. package/dist/es/hooks/aria/index.js +1 -5
  458. package/dist/es/hooks/aria/useAriaListBox.js +1 -25
  459. package/dist/es/hooks/aria/useAriaOverlay.js +1 -25
  460. package/dist/es/hooks/aria/useAriaPress.js +1 -57
  461. package/dist/es/hooks/aria/useAriaToggle.js +1 -16
  462. package/dist/es/hooks/gesture/index.js +1 -2
  463. package/dist/es/hooks/gesture/useGestureScroll.js +1 -110
  464. package/dist/es/hooks/index.js +1 -8
  465. package/dist/es/hooks/overlay/OverlayStackStore.js +1 -93
  466. package/dist/es/hooks/overlay/index.js +1 -3
  467. package/dist/es/hooks/overlay/useOverlayStack.js +1 -40
  468. package/dist/es/hooks/useControllableValue.js +1 -29
  469. package/dist/es/hooks/useCountDown.js +1 -87
  470. package/dist/es/hooks/useHairline.js +1 -26
  471. package/dist/es/hooks/useSafeAreaPadding.js +1 -20
  472. package/dist/es/index.js +1 -11
  473. package/dist/es/nativewind.js +1 -0
  474. package/dist/es/platform/animation.js +1 -10
  475. package/dist/es/platform/history.js +1 -7
  476. package/dist/es/platform/index.js +1 -6
  477. package/dist/es/platform/measure.js +1 -32
  478. package/dist/es/platform/runtime.js +1 -4
  479. package/dist/es/platform/scrollLock.js +1 -16
  480. package/dist/es/types.js +1 -1
  481. package/dist/es/utils/array.js +1 -5
  482. package/dist/es/utils/color.js +1 -25
  483. package/dist/es/utils/compare.js +1 -13
  484. package/dist/es/utils/createPlatformShadow.js +1 -39
  485. package/dist/es/utils/date.js +1 -33
  486. package/dist/es/utils/deepMerge.js +1 -21
  487. package/dist/es/utils/hairline.js +1 -93
  488. package/dist/es/utils/index.js +1 -14
  489. package/dist/es/utils/number.js +1 -48
  490. package/dist/es/utils/promise.js +1 -2
  491. package/dist/es/utils/render.js +1 -7
  492. package/dist/es/utils/rtl.js +1 -17
  493. package/dist/es/utils/string.js +1 -13
  494. package/dist/es/utils/validate.js +1 -14
  495. package/dist/types/nativewind.d.ts +4 -0
  496. package/package.json +15 -3
@@ -1,115 +1 @@
1
- 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); }
2
- import React from 'react';
3
- import { Pressable, View } from 'react-native';
4
- import { useAriaPress } from '../../hooks';
5
- import { resolveGapInput, useSpaceTokens } from './tokens';
6
- import { parseNumberLike, isFiniteNumber, isFunction, isRenderable, renderTextOrNode } from '../../utils';
7
- const alignMap = {
8
- start: 'flex-start',
9
- end: 'flex-end',
10
- center: 'center',
11
- baseline: 'baseline',
12
- stretch: 'stretch'
13
- };
14
- const justifyMap = {
15
- start: 'flex-start',
16
- end: 'flex-end',
17
- center: 'center',
18
- between: 'space-between',
19
- around: 'space-around',
20
- evenly: 'space-evenly'
21
- };
22
- const parseSpaceSize = (v, presets) => {
23
- if (v === undefined) return presets.normal;
24
- if (isFiniteNumber(v)) return v;
25
- if (typeof v === 'string' && v in presets) return presets[v];
26
- return parseNumberLike(v, presets.normal) ?? presets.normal;
27
- };
28
- const parseGap = (v, presets) => {
29
- if (Array.isArray(v)) return [parseSpaceSize(v[0], presets), parseSpaceSize(v[1], presets)];
30
- const p = parseSpaceSize(v, presets);
31
- return [p, p];
32
- };
33
- export const Space = /*#__PURE__*/React.memo(props => {
34
- const {
35
- children,
36
- gap,
37
- size: sizeP,
38
- direction: dirP,
39
- align: alignP,
40
- justify: justP = 'start',
41
- wrap: wrapP,
42
- block: blockP,
43
- fill: fillP,
44
- divider,
45
- tokensOverride,
46
- style,
47
- onClick,
48
- ...rest
49
- } = props;
50
- const tokens = useSpaceTokens(tokensOverride);
51
- const hor = (dirP ?? tokens.defaults.direction) === 'horizontal';
52
- const wrap = wrapP ?? tokens.defaults.wrap;
53
- const gapIn = resolveGapInput(gap, sizeP, tokens.defaults.gapPreset);
54
- const [hG, vG] = parseGap(gapIn, tokens.sizing.presets);
55
- const hGap = Math.max(0, hG);
56
- const vGap = Math.max(0, vG);
57
- const justStretch = justP === 'stretch';
58
- const justStyle = justStretch ? 'start' : justP;
59
- const block = blockP ?? !hor;
60
- const align = alignP ?? (hor ? 'center' : 'stretch');
61
- const fillOrJust = hor && ((fillP ?? false) || justStretch);
62
- const boxStyle = {
63
- flexDirection: hor ? 'row' : 'column',
64
- flexWrap: hor && wrap ? 'wrap' : 'nowrap',
65
- alignItems: alignMap[align],
66
- justifyContent: justifyMap[justStyle],
67
- width: block ? '100%' : undefined,
68
- columnGap: hor ? hGap : undefined,
69
- rowGap: vGap
70
- };
71
- const txtStyle = {
72
- fontFamily: tokens.typography.fontFamily,
73
- fontSize: tokens.typography.fontSize
74
- };
75
- const arr = React.Children.toArray(children).filter(isRenderable);
76
- const content = [];
77
- for (let i = 0; i < arr.length; i++) {
78
- const child = arr[i];
79
- const key = /*#__PURE__*/React.isValidElement(child) && child.key != null ? child.key : i;
80
- const flexS = fillOrJust ? {
81
- flexGrow: 1,
82
- flexBasis: 0,
83
- minWidth: 0
84
- } : !hor && (fillP || block) ? {
85
- width: '100%'
86
- } : undefined;
87
- content.push(/*#__PURE__*/React.createElement(View, {
88
- key: key,
89
- style: flexS
90
- }, renderTextOrNode(child, txtStyle)));
91
- if (divider && i < arr.length - 1) content.push(/*#__PURE__*/React.createElement(View, {
92
- key: `divider-${String(key)}`
93
- }, renderTextOrNode(divider, txtStyle)));
94
- }
95
- const inter = isFunction(onClick);
96
- const {
97
- interactionProps,
98
- states
99
- } = useAriaPress({
100
- disabled: !inter,
101
- onPress: onClick,
102
- extraProps: inter ? {
103
- accessibilityRole: 'button'
104
- } : undefined
105
- });
106
- if (inter) return /*#__PURE__*/React.createElement(Pressable, _extends({
107
- style: [tokens.layout.container, boxStyle, style, states.pressed && {
108
- opacity: 0.85
109
- }]
110
- }, interactionProps, rest), content);
111
- return /*#__PURE__*/React.createElement(View, _extends({
112
- style: [tokens.layout.container, boxStyle, style]
113
- }, rest), content);
114
- });
115
- Space.displayName = 'Space';
1
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var a in r)({}).hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_extends.apply(null,arguments)}import React from"react";import{Pressable,View}from"react-native";import{useAriaPress}from"../../hooks";import{resolveGapInput,useSpaceTokens}from"./tokens";import{parseNumberLike,isFiniteNumber,isFunction,isRenderable,renderTextOrNode}from"../../utils";const alignMap={start:"flex-start",end:"flex-end",center:"center",baseline:"baseline",stretch:"stretch"},justifyMap={start:"flex-start",end:"flex-end",center:"center",between:"space-between",around:"space-around",evenly:"space-evenly"},parseSpaceSize=(e,t)=>void 0===e?t.normal:isFiniteNumber(e)?e:"string"==typeof e&&e in t?t[e]:parseNumberLike(e,t.normal)??t.normal,parseGap=(e,t)=>{if(Array.isArray(e))return[parseSpaceSize(e[0],t),parseSpaceSize(e[1],t)];const r=parseSpaceSize(e,t);return[r,r]};export const Space=React.memo(e=>{const{children:t,gap:r,size:a,direction:n,align:s,justify:i="start",wrap:o,block:l,fill:c,divider:p,tokensOverride:d,style:u,onClick:f,...m}=e,y=useSpaceTokens(d),h="horizontal"===(n??y.defaults.direction),x=o??y.defaults.wrap,b=resolveGapInput(r,a,y.defaults.gapPreset),[g,v]=parseGap(b,y.sizing.presets),w=Math.max(0,g),S=Math.max(0,v),k="stretch"===i,R=l??!h,z=h&&((c??!1)||k),P={flexDirection:h?"row":"column",flexWrap:h&&x?"wrap":"nowrap",alignItems:alignMap[s??(h?"center":"stretch")],justifyContent:justifyMap[k?"start":i],width:R?"100%":void 0,columnGap:h?w:void 0,rowGap:S},N={fontFamily:y.typography.fontFamily,fontSize:y.typography.fontSize},G=React.Children.toArray(t).filter(isRenderable),O=[];for(let e=0;e<G.length;e++){const t=G[e],r=React.isValidElement(t)&&null!=t.key?t.key:e,a=z?{flexGrow:1,flexBasis:0,minWidth:0}:h||!c&&!R?void 0:{width:"100%"};O.push(React.createElement(View,{key:r,style:a},renderTextOrNode(t,N))),p&&e<G.length-1&&O.push(React.createElement(View,{key:`divider-${String(r)}`},renderTextOrNode(p,N)))}const j=isFunction(f),{interactionProps:F,states:M}=useAriaPress({disabled:!j,onPress:f,extraProps:j?{accessibilityRole:"button"}:void 0});return j?React.createElement(Pressable,_extends({style:[y.layout.container,P,u,M.pressed&&{opacity:.85}]},F,m),O):React.createElement(View,_extends({style:[y.layout.container,P,u]},m),O)});Space.displayName="Space";
@@ -1,2 +1 @@
1
- export { Space as default } from './Space';
2
- export { Space } from './Space';
1
+ export{Space as default}from"./Space";export{Space}from"./Space";
@@ -1,32 +1 @@
1
- import { createComponentTokensHook } from '../../design-system';
2
- const createSpaceTokens = foundations => {
3
- const {
4
- spacing,
5
- fontSize,
6
- typography
7
- } = foundations;
8
- return {
9
- defaults: {
10
- direction: 'horizontal',
11
- wrap: false,
12
- gapPreset: 'normal'
13
- },
14
- layout: {
15
- container: {}
16
- },
17
- typography: {
18
- fontFamily: typography.fontFamily,
19
- fontSize: fontSize.sm
20
- },
21
- sizing: {
22
- presets: {
23
- mini: spacing.xxs ?? spacing.xs ?? 4,
24
- small: spacing.xs,
25
- normal: spacing.sm,
26
- large: spacing.md
27
- }
28
- }
29
- };
30
- };
31
- export const useSpaceTokens = createComponentTokensHook('space', createSpaceTokens);
32
- export const resolveGapInput = (gap, size, fallback) => gap ?? size ?? fallback ?? 'normal';
1
+ import{createComponentTokensHook}from"../../design-system";const createSpaceTokens=e=>{const{spacing:o,fontSize:n,typography:t}=e;return{defaults:{direction:"horizontal",wrap:!1,gapPreset:"normal"},layout:{container:{}},typography:{fontFamily:t.fontFamily,fontSize:n.sm},sizing:{presets:{mini:o.xxs??o.xs??4,small:o.xs,normal:o.sm,large:o.md}}}};export const useSpaceTokens=createComponentTokensHook("space",createSpaceTokens);export const resolveGapInput=(e,o,n)=>e??o??n??"normal";
@@ -1,465 +1 @@
1
- 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); }
2
- import React, { useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
3
- import { Pressable, StyleSheet, Text, TextInput, View } from 'react-native';
4
- import { useControllableValue } from '../../hooks';
5
- import { parseNumber, addNumber, clampValue, formatNumber, numberToString, parseDecimalLength, isFiniteNumber, isPromiseLike } from '../../utils';
6
- import { useDirection } from '../config-provider/useDirection';
7
- import { useStepperTokens } from './tokens';
8
- import { createHairlineView } from '../../utils/hairline';
9
- const LONG_PRESS_DELAY = 600;
10
- const LONG_PRESS_INTERVAL = 100;
11
- const StepperImpl = (props, ref) => {
12
- const tokens = useStepperTokens(props.tokensOverride);
13
- const layoutDir = useDirection();
14
- const {
15
- min,
16
- max,
17
- step = 1,
18
- autoFixed = true,
19
- beforeChange,
20
- integer = false,
21
- decimalLength: decimalLengthProp,
22
- disabled = false,
23
- disablePlus = false,
24
- disableMinus = false,
25
- disableInput = false,
26
- allowEmpty = false,
27
- showPlus = tokens.defaults.showPlus,
28
- showMinus = tokens.defaults.showMinus,
29
- showInput = tokens.defaults.showInput,
30
- longPress = tokens.defaults.longPress,
31
- theme = tokens.defaults.theme,
32
- inputWidth,
33
- buttonSize,
34
- name,
35
- placeholder,
36
- onClick,
37
- onPlus,
38
- onMinus,
39
- onOverlimit,
40
- onFocus,
41
- onBlur,
42
- inputProps,
43
- inputStyle,
44
- buttonStyle,
45
- style,
46
- ...restProps
47
- } = props;
48
- const [isChanging, setIsChanging] = useState(false);
49
- const changingRef = useRef(false);
50
- const onPlusRef = useRef(onPlus);
51
- const onMinusRef = useRef(onMinus);
52
- const onOverlimitRef = useRef(onOverlimit);
53
- const onFocusRef = useRef(onFocus);
54
- const onBlurRef = useRef(onBlur);
55
- const onClickRef = useRef(onClick);
56
- const valueRef = useRef(null);
57
- const inputRef = useRef(null);
58
- const inputValueRef = useRef('');
59
- const inputPropsRef = useRef(inputProps);
60
- const longPressRef = useRef({
61
- hadLongPress: false
62
- });
63
- onPlusRef.current = onPlus;
64
- onMinusRef.current = onMinus;
65
- onOverlimitRef.current = onOverlimit;
66
- onFocusRef.current = onFocus;
67
- onBlurRef.current = onBlur;
68
- onClickRef.current = onClick;
69
- inputPropsRef.current = inputProps;
70
- const decimalLen = parseDecimalLength(decimalLengthProp);
71
- const stepRaw = Number(step ?? 1);
72
- const stepSize = isFiniteNumber(stepRaw) && stepRaw > 0 ? stepRaw : 1;
73
- const rBtnSize = Math.max(0, parseNumber(buttonSize, tokens.defaults.buttonSize));
74
- const rInputW = Math.max(0, parseNumber(inputWidth, tokens.defaults.inputWidth));
75
- const defaultVal = useMemo(() => {
76
- const raw = props.defaultValue;
77
- if (raw === null) return null;
78
- const base = isFiniteNumber(raw) ? raw : 0;
79
- const fmt = formatNumber(base, integer, decimalLen);
80
- return autoFixed ? clampValue(fmt, min, max) : fmt;
81
- }, [autoFixed, decimalLen, integer, max, min, props.defaultValue]);
82
- const [value, triggerChange] = useControllableValue({
83
- ...props,
84
- defaultValue: defaultVal
85
- }, {
86
- defaultValue: defaultVal
87
- });
88
- useEffect(() => {
89
- valueRef.current = value ?? null;
90
- }, [value]);
91
- useImperativeHandle(ref, () => ({
92
- focus: () => inputRef.current?.focus(),
93
- blur: () => inputRef.current?.blur()
94
- }));
95
- const [isFocused, setIsFocused] = useState(false);
96
- const [inputText, setInputTextState] = useState(() => numberToString(value, decimalLen));
97
- const updateInputText = useCallback(text => {
98
- inputValueRef.current = text;
99
- setInputTextState(text);
100
- }, []);
101
- useEffect(() => {
102
- if (!isFocused) {
103
- updateInputText(numberToString(value, decimalLen));
104
- }
105
- }, [decimalLen, isFocused, updateInputText, value]);
106
- const getCurrentNumber = useCallback(() => {
107
- const current = valueRef.current;
108
- if (isFiniteNumber(current)) return current;
109
- return isFiniteNumber(min) ? min : 0;
110
- }, [min]);
111
- const isActionDisabled = useCallback(type => {
112
- if (disabled) return true;
113
- if (type === 'plus' && disablePlus) return true;
114
- if (type === 'minus' && disableMinus) return true;
115
- const current = getCurrentNumber();
116
- if (type === 'plus' && isFiniteNumber(max) && current >= max) return true;
117
- if (type === 'minus' && isFiniteNumber(min) && current <= min) return true;
118
- return false;
119
- }, [disableMinus, disablePlus, disabled, getCurrentNumber, max, min]);
120
- const commitValue = useCallback(next => {
121
- const prev = valueRef.current ?? null;
122
- if (Object.is(prev, next)) return false;
123
- valueRef.current = next;
124
- triggerChange(next, {
125
- name
126
- });
127
- return true;
128
- }, [name, triggerChange]);
129
- const normalizeNumber = useCallback(nextRaw => {
130
- const formatted = formatNumber(nextRaw, integer, decimalLen);
131
- return autoFixed ? clampValue(formatted, min, max) : formatted;
132
- }, [autoFixed, decimalLen, integer, max, min]);
133
- const processValueChange = useCallback((next, committed) => {
134
- if (changingRef.current) return 'noop';
135
- const commit = () => {
136
- const didChange = commitValue(next);
137
- if (!didChange) return 'noop';
138
- updateInputText(numberToString(next, decimalLen));
139
- committed?.(next);
140
- return 'changed';
141
- };
142
- if (!beforeChange) return commit();
143
- try {
144
- const result = beforeChange(next);
145
- if (isPromiseLike(result)) {
146
- changingRef.current = true;
147
- setIsChanging(true);
148
- result.then(allowed => {
149
- if (allowed === false) {
150
- updateInputText(numberToString(valueRef.current, decimalLen));
151
- return;
152
- }
153
- ;
154
- commit();
155
- }).catch(() => commit()).finally(() => {
156
- changingRef.current = false;
157
- setIsChanging(false);
158
- });
159
- return 'pending';
160
- }
161
- ;
162
- if (result === false) {
163
- updateInputText(numberToString(valueRef.current, decimalLen));
164
- return 'noop';
165
- }
166
- ;
167
- return commit();
168
- } catch {
169
- return commit();
170
- }
171
- }, [beforeChange, decimalLen, updateInputText, commitValue]);
172
- const stepOnce = useCallback((type, event, options) => {
173
- if (changingRef.current) return 'noop';
174
- const emitOverlimit = options?.emitOverlimit ?? true;
175
- const emitCallbacks = options?.emitButtonCallbacks ?? Boolean(event);
176
- if (isActionDisabled(type)) {
177
- if (emitOverlimit) onOverlimitRef.current?.(type);
178
- return 'overlimit';
179
- }
180
- ;
181
- const current = getCurrentNumber();
182
- const diff = type === 'plus' ? stepSize : -stepSize;
183
- const next = normalizeNumber(addNumber(current, diff));
184
- return processValueChange(next, committedValue => {
185
- if (!emitCallbacks || !event) return;
186
- if (type === 'plus') {
187
- onPlusRef.current?.(event, committedValue);
188
- } else {
189
- onMinusRef.current?.(event, committedValue);
190
- }
191
- });
192
- }, [normalizeNumber, getCurrentNumber, isActionDisabled, processValueChange, stepSize]);
193
- const clearLongPress = useCallback(() => {
194
- if (longPressRef.current.delay) {
195
- clearTimeout(longPressRef.current.delay);
196
- longPressRef.current.delay = undefined;
197
- }
198
- ;
199
- if (longPressRef.current.interval) {
200
- clearInterval(longPressRef.current.interval);
201
- longPressRef.current.interval = undefined;
202
- }
203
- }, []);
204
- useEffect(() => clearLongPress(), [clearLongPress]);
205
- useEffect(() => {
206
- if (disabled || isChanging || !longPress) {
207
- clearLongPress();
208
- }
209
- }, [isChanging, clearLongPress, disabled, longPress]);
210
- const startLongPress = useCallback(type => {
211
- if (!longPress) return;
212
- if (changingRef.current) return;
213
- if (isActionDisabled(type)) return;
214
- clearLongPress();
215
- longPressRef.current.hadLongPress = false;
216
- longPressRef.current.delay = setTimeout(() => {
217
- longPressRef.current.hadLongPress = true;
218
- const first = stepOnce(type, undefined, {
219
- emitOverlimit: true,
220
- emitButtonCallbacks: false
221
- });
222
- if (first !== 'changed') {
223
- clearLongPress();
224
- return;
225
- }
226
- ;
227
- longPressRef.current.interval = setInterval(() => {
228
- const result = stepOnce(type, undefined, {
229
- emitOverlimit: true,
230
- emitButtonCallbacks: false
231
- });
232
- if (result !== 'changed') {
233
- clearLongPress();
234
- }
235
- }, LONG_PRESS_INTERVAL);
236
- }, LONG_PRESS_DELAY);
237
- }, [clearLongPress, isActionDisabled, longPress, stepOnce]);
238
- const handlePressOut = useCallback(() => clearLongPress(), [clearLongPress]);
239
- const handleButtonPress = useCallback((type, event) => {
240
- if (longPressRef.current.hadLongPress) {
241
- longPressRef.current.hadLongPress = false;
242
- return;
243
- }
244
- ;
245
- longPressRef.current.hadLongPress = false;
246
- stepOnce(type, event, {
247
- emitOverlimit: true,
248
- emitButtonCallbacks: true
249
- });
250
- }, [stepOnce]);
251
- const currentForCompare = isFiniteNumber(value) ? value : 0;
252
- const minNumber = isFiniteNumber(min) ? min : undefined;
253
- const maxNumber = isFiniteNumber(max) ? max : undefined;
254
- const isDisabledAll = disabled || isChanging;
255
- const isMinusDisabled = isDisabledAll || disableMinus || minNumber != null && currentForCompare <= minNumber;
256
- const isPlusDisabled = isDisabledAll || disablePlus || maxNumber != null && currentForCompare >= maxNumber;
257
- const radius = tokens.radii.default;
258
- const btnSizeStyle = useMemo(() => ({
259
- width: rBtnSize,
260
- height: rBtnSize
261
- }), [rBtnSize]);
262
- const inputSizeStyle = useMemo(() => ({
263
- width: rInputW,
264
- height: rBtnSize,
265
- marginHorizontal: tokens.spacing.gap
266
- }), [rBtnSize, rInputW, tokens.spacing.gap]);
267
- const getButtonStyle = useCallback((type, state) => {
268
- const isPlus = type === 'plus';
269
- const isDisabled = isPlus ? isPlusDisabled : isMinusDisabled;
270
- if (theme === 'round') {
271
- const base = [S.btn, btnSizeStyle, {
272
- borderRadius: rBtnSize / 2,
273
- opacity: isDisabled ? tokens.opacity.roundDisabled : 1
274
- }];
275
- if (isPlus) {
276
- return [...base, {
277
- backgroundColor: tokens.colors.roundTheme,
278
- ...(state.pressed && !isDisabled && {
279
- opacity: tokens.opacity.pressed
280
- })
281
- }, buttonStyle];
282
- }
283
- ;
284
- return [...base, {
285
- backgroundColor: tokens.colors.roundThemeBackground,
286
- ...(state.pressed && !isDisabled && {
287
- opacity: tokens.opacity.pressed
288
- })
289
- }, buttonStyle];
290
- }
291
- ;
292
- const isLeading = type === 'minus' !== (layoutDir === 'rtl');
293
- const cornerStyle = isLeading ? {
294
- borderTopLeftRadius: radius,
295
- borderBottomLeftRadius: radius
296
- } : {
297
- borderTopRightRadius: radius,
298
- borderBottomRightRadius: radius
299
- };
300
- const bgColor = isDisabled ? tokens.colors.buttonDisabledBackground : state.pressed ? tokens.colors.active : tokens.colors.background;
301
- return [S.btn, btnSizeStyle, cornerStyle, {
302
- backgroundColor: bgColor
303
- }, buttonStyle];
304
- }, [btnSizeStyle, buttonStyle, isMinusDisabled, isPlusDisabled, radius, rBtnSize, theme, layoutDir, tokens.colors.active, tokens.colors.background, tokens.colors.buttonDisabledBackground, tokens.colors.roundTheme, tokens.colors.roundThemeBackground, tokens.opacity.pressed, tokens.opacity.roundDisabled]);
305
- const getButtonTextStyle = useCallback(type => {
306
- const isPlus = type === 'plus';
307
- const isDisabled = isPlus ? isPlusDisabled : isMinusDisabled;
308
- if (theme === 'round') {
309
- const color = isPlus ? tokens.colors.roundThemeText : tokens.colors.roundTheme;
310
- return [S.btnTxt, {
311
- color,
312
- fontFamily: tokens.typography.fontFamily,
313
- fontSize: tokens.typography.fontSize,
314
- fontWeight: tokens.typography.fontWeight
315
- }];
316
- }
317
- ;
318
- return [S.btnTxt, {
319
- color: isDisabled ? tokens.colors.buttonDisabledIcon : tokens.colors.buttonIcon,
320
- fontFamily: tokens.typography.fontFamily,
321
- fontSize: tokens.typography.fontSize,
322
- fontWeight: tokens.typography.fontWeight
323
- }];
324
- }, [isMinusDisabled, isPlusDisabled, theme, tokens.colors.buttonDisabledIcon, tokens.colors.buttonIcon, tokens.colors.roundTheme, tokens.colors.roundThemeText, tokens.typography.fontFamily, tokens.typography.fontSize, tokens.typography.fontWeight]);
325
- const handleChangeText = useCallback(text => {
326
- if (disableInput || disabled || changingRef.current) return;
327
- updateInputText(text);
328
- inputPropsRef.current?.onChangeText?.(text);
329
- const trimmed = text.trim();
330
- if (trimmed === '') {
331
- processValueChange(allowEmpty ? null : defaultVal);
332
- return;
333
- }
334
- ;
335
- const num = Number.parseFloat(trimmed);
336
- if (!Number.isFinite(num)) return;
337
- processValueChange(normalizeNumber(num));
338
- }, [allowEmpty, normalizeNumber, changingRef, disableInput, disabled, inputPropsRef, processValueChange, defaultVal, updateInputText]);
339
- const handleFocus = useCallback(event => {
340
- if (disableInput) {
341
- inputRef.current?.blur();
342
- return;
343
- }
344
- ;
345
- setIsFocused(true);
346
- onFocusRef.current?.(event);
347
- inputPropsRef.current?.onFocus?.(event);
348
- }, [disableInput]);
349
- const handleBlur = useCallback(event => {
350
- setIsFocused(false);
351
- if (!changingRef.current) {
352
- const trimmed = inputValueRef.current.trim();
353
- if (trimmed === '') {
354
- processValueChange(allowEmpty ? null : defaultVal);
355
- } else {
356
- const num = Number.parseFloat(trimmed);
357
- if (Number.isFinite(num)) {
358
- processValueChange(normalizeNumber(num));
359
- }
360
- }
361
- }
362
- ;
363
- onBlurRef.current?.(event);
364
- inputPropsRef.current?.onBlur?.(event);
365
- }, [allowEmpty, normalizeNumber, processValueChange, defaultVal]);
366
- const handleInputPressIn = useCallback(event => {
367
- onClickRef.current?.(event);
368
- inputPropsRef.current?.onPressIn?.(event);
369
- }, []);
370
- const handleMinusPress = useCallback(event => handleButtonPress('minus', event), [handleButtonPress]);
371
- const handlePlusPress = useCallback(event => handleButtonPress('plus', event), [handleButtonPress]);
372
- const handleMinusPressIn = useCallback(() => startLongPress('minus'), [startLongPress]);
373
- const handlePlusPressIn = useCallback(() => startLongPress('plus'), [startLongPress]);
374
- const getMinusBtnStyle = useCallback(state => getButtonStyle('minus', state), [getButtonStyle]);
375
- const getPlusBtnStyle = useCallback(state => getButtonStyle('plus', state), [getButtonStyle]);
376
- const renderMinusBtn = useCallback(() => {
377
- if (!showMinus) return null;
378
- return /*#__PURE__*/React.createElement(Pressable, {
379
- key: "minus",
380
- testID: "stepper-minus",
381
- accessibilityRole: "button",
382
- accessibilityLabel: "minus",
383
- accessibilityState: {
384
- disabled: isMinusDisabled
385
- },
386
- onPress: handleMinusPress,
387
- onPressIn: handleMinusPressIn,
388
- onPressOut: handlePressOut,
389
- style: getMinusBtnStyle
390
- }, /*#__PURE__*/React.createElement(Text, {
391
- style: getButtonTextStyle('minus')
392
- }, "-"), theme === 'round' && /*#__PURE__*/React.createElement(View, {
393
- style: createHairlineView({
394
- position: 'all',
395
- color: tokens.colors.roundTheme,
396
- borderRadius: rBtnSize / 2
397
- })
398
- }));
399
- }, [getButtonTextStyle, getMinusBtnStyle, handleMinusPress, handleMinusPressIn, handlePressOut, isMinusDisabled, showMinus, theme, tokens.colors.roundTheme, rBtnSize]);
400
- const renderPlusBtn = useCallback(() => {
401
- if (!showPlus) return null;
402
- return /*#__PURE__*/React.createElement(Pressable, {
403
- key: "plus",
404
- testID: "stepper-plus",
405
- accessibilityRole: "button",
406
- accessibilityLabel: "add",
407
- accessibilityState: {
408
- disabled: isPlusDisabled
409
- },
410
- onPress: handlePlusPress,
411
- onPressIn: handlePlusPressIn,
412
- onPressOut: handlePressOut,
413
- style: getPlusBtnStyle
414
- }, /*#__PURE__*/React.createElement(Text, {
415
- style: getButtonTextStyle('plus')
416
- }, "+"));
417
- }, [getButtonTextStyle, getPlusBtnStyle, handlePlusPress, handlePlusPressIn, handlePressOut, isPlusDisabled, showPlus]);
418
- const inputNode = useMemo(() => {
419
- if (!showInput) return null;
420
- const editable = !isDisabledAll && !disableInput;
421
- const isInputDisabled = isDisabledAll || disableInput;
422
- const bgColor = theme === 'round' ? tokens.colors.transparent : isInputDisabled ? tokens.colors.inputDisabledBackground : tokens.colors.background;
423
- const textColor = isInputDisabled ? tokens.colors.inputDisabledText : tokens.colors.inputText;
424
- const keyboardType = integer ? 'number-pad' : 'decimal-pad';
425
- return /*#__PURE__*/React.createElement(TextInput, _extends({
426
- ref: inputRef
427
- }, inputProps, {
428
- style: [S.inp, inputSizeStyle, {
429
- backgroundColor: bgColor,
430
- color: textColor,
431
- paddingHorizontal: tokens.spacing.none,
432
- paddingVertical: tokens.spacing.none
433
- }, inputStyle],
434
- value: inputText,
435
- placeholder: placeholder,
436
- editable: editable,
437
- keyboardType: keyboardType,
438
- onChangeText: handleChangeText,
439
- onFocus: handleFocus,
440
- onBlur: handleBlur,
441
- onPressIn: handleInputPressIn
442
- }));
443
- }, [isDisabledAll, disableInput, handleBlur, handleChangeText, handleFocus, handleInputPressIn, inputSizeStyle, inputProps, inputStyle, inputText, integer, placeholder, showInput, theme, tokens.colors.background, tokens.colors.inputDisabledBackground, tokens.colors.inputDisabledText, tokens.colors.inputText, tokens.colors.transparent, tokens.spacing.none]);
444
- return /*#__PURE__*/React.createElement(View, _extends({}, restProps, {
445
- style: [S.cnt, style]
446
- }), renderMinusBtn(), inputNode, renderPlusBtn());
447
- };
448
- const S = StyleSheet.create({
449
- cnt: {
450
- flexDirection: 'row',
451
- alignItems: 'center'
452
- },
453
- btn: {
454
- justifyContent: 'center',
455
- alignItems: 'center'
456
- },
457
- btnTxt: {},
458
- inp: {
459
- textAlign: 'center'
460
- }
461
- });
462
- const StepperForwardRef = /*#__PURE__*/React.forwardRef(StepperImpl);
463
- StepperForwardRef.displayName = 'Stepper';
464
- export const Stepper = /*#__PURE__*/React.memo(StepperForwardRef);
465
- export default Stepper;
1
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_extends.apply(null,arguments)}import React,{useCallback,useEffect,useImperativeHandle,useMemo,useRef,useState}from"react";import{Pressable,StyleSheet,Text,TextInput,View}from"react-native";import{useControllableValue}from"../../hooks";import{parseNumber,addNumber,clampValue,formatNumber,numberToString,parseDecimalLength,isFiniteNumber,isPromiseLike}from"../../utils";import{useDirection}from"../config-provider/useDirection";import{useStepperTokens}from"./tokens";import{createHairlineView}from"../../utils/hairline";const LONG_PRESS_DELAY=600,LONG_PRESS_INTERVAL=100,StepperImpl=(e,t)=>{const r=useStepperTokens(e.tokensOverride),n=useDirection(),{min:o,max:s,step:u=1,autoFixed:l=!0,beforeChange:a,integer:i=!1,decimalLength:c,disabled:d=!1,disablePlus:p=!1,disableMinus:m=!1,disableInput:b=!1,allowEmpty:f=!1,showPlus:g=r.defaults.showPlus,showMinus:h=r.defaults.showMinus,showInput:y=r.defaults.showInput,longPress:k=r.defaults.longPress,theme:C=r.defaults.theme,inputWidth:R,buttonSize:T,name:v,placeholder:x,onClick:P,onPlus:N,onMinus:F,onOverlimit:I,onFocus:w,onBlur:D,inputProps:L,inputStyle:E,buttonStyle:B,style:V,...O}=e,[M,z]=useState(!1),_=useRef(!1),W=useRef(N),H=useRef(F),j=useRef(I),A=useRef(w),G=useRef(D),Y=useRef(P),q=useRef(null),J=useRef(null),K=useRef(""),Q=useRef(L),U=useRef({hadLongPress:!1});W.current=N,H.current=F,j.current=I,A.current=w,G.current=D,Y.current=P,Q.current=L;const X=parseDecimalLength(c),Z=Number(u??1),$=isFiniteNumber(Z)&&Z>0?Z:1,ee=Math.max(0,parseNumber(T,r.defaults.buttonSize)),te=Math.max(0,parseNumber(R,r.defaults.inputWidth)),re=useMemo(()=>{const t=e.defaultValue;if(null===t)return null;const r=isFiniteNumber(t)?t:0,n=formatNumber(r,i,X);return l?clampValue(n,o,s):n},[l,X,i,s,o,e.defaultValue]),[ne,oe]=useControllableValue({...e,defaultValue:re},{defaultValue:re});useEffect(()=>{q.current=ne??null},[ne]),useImperativeHandle(t,()=>({focus:()=>J.current?.focus(),blur:()=>J.current?.blur()}));const[se,ue]=useState(!1),[le,ae]=useState(()=>numberToString(ne,X)),ie=useCallback(e=>{K.current=e,ae(e)},[]);useEffect(()=>{se||ie(numberToString(ne,X))},[X,se,ie,ne]);const ce=useCallback(()=>{const e=q.current;return isFiniteNumber(e)?e:isFiniteNumber(o)?o:0},[o]),de=useCallback(e=>{if(d)return!0;if("plus"===e&&p)return!0;if("minus"===e&&m)return!0;const t=ce();return!!("plus"===e&&isFiniteNumber(s)&&t>=s)||!!("minus"===e&&isFiniteNumber(o)&&t<=o)},[m,p,d,ce,s,o]),pe=useCallback(e=>{const t=q.current??null;return!Object.is(t,e)&&(q.current=e,oe(e,{name:v}),!0)},[v,oe]),me=useCallback(e=>{const t=formatNumber(e,i,X);return l?clampValue(t,o,s):t},[l,X,i,s,o]),be=useCallback((e,t)=>{if(_.current)return"noop";const r=()=>pe(e)?(ie(numberToString(e,X)),t?.(e),"changed"):"noop";if(!a)return r();try{const t=a(e);return isPromiseLike(t)?(_.current=!0,z(!0),t.then(e=>{!1!==e?r():ie(numberToString(q.current,X))}).catch(()=>r()).finally(()=>{_.current=!1,z(!1)}),"pending"):!1===t?(ie(numberToString(q.current,X)),"noop"):r()}catch{return r()}},[a,X,ie,pe]),fe=useCallback((e,t,r)=>{if(_.current)return"noop";const n=r?.emitOverlimit??!0,o=r?.emitButtonCallbacks??Boolean(t);if(de(e))return n&&j.current?.(e),"overlimit";const s=ce(),u=me(addNumber(s,"plus"===e?$:-$));return be(u,r=>{o&&t&&("plus"===e?W.current?.(t,r):H.current?.(t,r))})},[me,ce,de,be,$]),ge=useCallback(()=>{U.current.delay&&(clearTimeout(U.current.delay),U.current.delay=void 0),U.current.interval&&(clearInterval(U.current.interval),U.current.interval=void 0)},[]);useEffect(()=>ge(),[ge]),useEffect(()=>{(d||M||!k)&&ge()},[M,ge,d,k]);const he=useCallback(e=>{k&&(_.current||de(e)||(ge(),U.current.hadLongPress=!1,U.current.delay=setTimeout(()=>{U.current.hadLongPress=!0;"changed"===fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})?U.current.interval=setInterval(()=>{"changed"!==fe(e,void 0,{emitOverlimit:!0,emitButtonCallbacks:!1})&&ge()},100):ge()},600)))},[ge,de,k,fe]),ye=useCallback(()=>ge(),[ge]),ke=useCallback((e,t)=>{U.current.hadLongPress?U.current.hadLongPress=!1:(U.current.hadLongPress=!1,fe(e,t,{emitOverlimit:!0,emitButtonCallbacks:!0}))},[fe]),Se=isFiniteNumber(ne)?ne:0,Ce=isFiniteNumber(o)?o:void 0,Re=isFiniteNumber(s)?s:void 0,Te=d||M,ve=Te||m||null!=Ce&&Se<=Ce,xe=Te||p||null!=Re&&Se>=Re,Pe=r.radii.default,Ne=useMemo(()=>({width:ee,height:ee}),[ee]),Fe=useMemo(()=>({width:te,height:ee,marginHorizontal:r.spacing.gap}),[ee,te,r.spacing.gap]),Ie=useCallback((e,t)=>{const o="plus"===e,s=o?xe:ve;if("round"===C){const e=[S.btn,Ne,{borderRadius:ee/2,opacity:s?r.opacity.roundDisabled:1}];return o?[...e,{backgroundColor:r.colors.roundTheme,...t.pressed&&!s&&{opacity:r.opacity.pressed}},B]:[...e,{backgroundColor:r.colors.roundThemeBackground,...t.pressed&&!s&&{opacity:r.opacity.pressed}},B]}const u="minus"===e!=("rtl"===n)?{borderTopLeftRadius:Pe,borderBottomLeftRadius:Pe}:{borderTopRightRadius:Pe,borderBottomRightRadius:Pe},l=s?r.colors.buttonDisabledBackground:t.pressed?r.colors.active:r.colors.background;return[S.btn,Ne,u,{backgroundColor:l},B]},[Ne,B,ve,xe,Pe,ee,C,n,r.colors.active,r.colors.background,r.colors.buttonDisabledBackground,r.colors.roundTheme,r.colors.roundThemeBackground,r.opacity.pressed,r.opacity.roundDisabled]),we=useCallback(e=>{const t="plus"===e,n=t?xe:ve;if("round"===C){const e=t?r.colors.roundThemeText:r.colors.roundTheme;return[S.btnTxt,{color:e,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]}return[S.btnTxt,{color:n?r.colors.buttonDisabledIcon:r.colors.buttonIcon,fontFamily:r.typography.fontFamily,fontSize:r.typography.fontSize,fontWeight:r.typography.fontWeight}]},[ve,xe,C,r.colors.buttonDisabledIcon,r.colors.buttonIcon,r.colors.roundTheme,r.colors.roundThemeText,r.typography.fontFamily,r.typography.fontSize,r.typography.fontWeight]),De=useCallback(e=>{if(b||d||_.current)return;ie(e),Q.current?.onChangeText?.(e);const t=e.trim();if(""===t)return void be(f?null:re);const r=Number.parseFloat(t);Number.isFinite(r)&&be(me(r))},[f,me,_,b,d,Q,be,re,ie]),Le=useCallback(e=>{b?J.current?.blur():(ue(!0),A.current?.(e),Q.current?.onFocus?.(e))},[b]),Ee=useCallback(e=>{if(ue(!1),!_.current){const e=K.current.trim();if(""===e)be(f?null:re);else{const t=Number.parseFloat(e);Number.isFinite(t)&&be(me(t))}}G.current?.(e),Q.current?.onBlur?.(e)},[f,me,be,re]),Be=useCallback(e=>{Y.current?.(e),Q.current?.onPressIn?.(e)},[]),Ve=useCallback(e=>ke("minus",e),[ke]),Oe=useCallback(e=>ke("plus",e),[ke]),Me=useCallback(()=>he("minus"),[he]),ze=useCallback(()=>he("plus"),[he]),_e=useCallback(e=>Ie("minus",e),[Ie]),We=useCallback(e=>Ie("plus",e),[Ie]),He=useCallback(()=>h?React.createElement(Pressable,{key:"minus",testID:"stepper-minus",accessibilityRole:"button",accessibilityLabel:"minus",accessibilityState:{disabled:ve},onPress:Ve,onPressIn:Me,onPressOut:ye,style:_e},React.createElement(Text,{style:we("minus")},"-"),"round"===C&&React.createElement(View,{style:createHairlineView({position:"all",color:r.colors.roundTheme,borderRadius:ee/2})})):null,[we,_e,Ve,Me,ye,ve,h,C,r.colors.roundTheme,ee]),je=useCallback(()=>g?React.createElement(Pressable,{key:"plus",testID:"stepper-plus",accessibilityRole:"button",accessibilityLabel:"add",accessibilityState:{disabled:xe},onPress:Oe,onPressIn:ze,onPressOut:ye,style:We},React.createElement(Text,{style:we("plus")},"+")):null,[we,We,Oe,ze,ye,xe,g]),Ae=useMemo(()=>{if(!y)return null;const e=!Te&&!b,t=Te||b,n="round"===C?r.colors.transparent:t?r.colors.inputDisabledBackground:r.colors.background,o=t?r.colors.inputDisabledText:r.colors.inputText,s=i?"number-pad":"decimal-pad";return React.createElement(TextInput,_extends({ref:J},L,{style:[S.inp,Fe,{backgroundColor:n,color:o,paddingHorizontal:r.spacing.none,paddingVertical:r.spacing.none},E],value:le,placeholder:x,editable:e,keyboardType:s,onChangeText:De,onFocus:Le,onBlur:Ee,onPressIn:Be}))},[Te,b,Ee,De,Le,Be,Fe,L,E,le,i,x,y,C,r.colors.background,r.colors.inputDisabledBackground,r.colors.inputDisabledText,r.colors.inputText,r.colors.transparent,r.spacing.none]);return React.createElement(View,_extends({},O,{style:[S.cnt,V]}),He(),Ae,je())},S=StyleSheet.create({cnt:{flexDirection:"row",alignItems:"center"},btn:{justifyContent:"center",alignItems:"center"},btnTxt:{},inp:{textAlign:"center"}}),StepperForwardRef=React.forwardRef(StepperImpl);StepperForwardRef.displayName="Stepper";export const Stepper=React.memo(StepperForwardRef);export default Stepper;
@@ -1,3 +1 @@
1
- import Stepper from './Stepper';
2
- export default Stepper;
3
- export { Stepper };
1
+ import Stepper from"./Stepper";export default Stepper;export{Stepper};