react-native-system-ui 1.0.2 → 1.0.4

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 (498) hide show
  1. package/README.md +42 -22
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +1 -301
  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 -482
  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 -408
  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 -287
  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 -159
  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 -306
  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 -275
  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 -456
  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 -388
  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 -267
  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 -139
  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 -280
  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/components/nav-bar/tokens.d.ts +1 -1
  496. package/dist/types/design-system/tokens.d.ts +1 -0
  497. package/dist/types/nativewind.d.ts +4 -0
  498. package/package.json +15 -3
@@ -1,234 +1 @@
1
- import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
2
- import { DeviceEventEmitter, NativeEventEmitter, Platform, StyleSheet, View } from 'react-native';
3
- import { isNumber } from '../../utils';
4
- import { PortalContext } from './PortalContext';
5
- const AE = 'RNSU_PORTAL_ADD';
6
- const UE = 'RNSU_PORTAL_UPDATE';
7
- const RE = 'RNSU_PORTAL_REMOVE';
8
- const CE = 'RNSU_PORTAL_CLEAR';
9
- const TVE = DeviceEventEmitter || new NativeEventEmitter();
10
- const IW = Platform.OS === 'web';
11
- const ao = (m, o) => {
12
- if (o.type === 'mount') m.mount(o.children, o.key);else if (o.type === 'update') m.update(o.key, o.children);else if (o.type === 'clear') m.clear();else m.unmount(o.key);
13
- };
14
- const PortalManagerView = /*#__PURE__*/React.forwardRef((_, ref) => {
15
- const [e, setE] = useState([]);
16
- const ks = useRef(0);
17
- const us = useCallback(en => {
18
- setE(p => {
19
- const i = p.findIndex(it => it.key === en.key);
20
- return i === -1 ? [...p, en] : [...p.slice(0, i), en, ...p.slice(i + 1)];
21
- });
22
- }, []);
23
- const mt = useCallback((c, k) => {
24
- const rk = k ?? ++ks.current;
25
- if (isNumber(k) && k >= ks.current) ks.current = k + 1;
26
- us({
27
- key: rk,
28
- children: c
29
- });
30
- return rk;
31
- }, [us]);
32
- const up = useCallback((k, c) => {
33
- us({
34
- key: k,
35
- children: c
36
- });
37
- }, [us]);
38
- const um = useCallback(k => {
39
- setE(p => p.filter(it => it.key !== k));
40
- }, []);
41
- const cl = useCallback(() => {
42
- setE([]);
43
- }, []);
44
- React.useImperativeHandle(ref, () => ({
45
- mount: mt,
46
- update: up,
47
- unmount: um,
48
- clear: cl
49
- }), [mt, up, um, cl]);
50
- if (e.length === 0) return null;
51
- return /*#__PURE__*/React.createElement(View, {
52
- pointerEvents: "box-none",
53
- style: S.pl,
54
- collapsable: false
55
- }, e.map(en => /*#__PURE__*/React.createElement(View, {
56
- key: en.key,
57
- pointerEvents: "box-none",
58
- collapsable: false,
59
- style: S.pe
60
- }, en.children)));
61
- });
62
- let ah = 0;
63
- let nh = 1;
64
- let ngk = 10000;
65
- const gm = {
66
- mount: (c, k) => {
67
- if (typeof __DEV__ !== 'undefined' && __DEV__ && ah === 0) console.warn('[Portal] Please mount <PortalHost> or <ConfigProvider> at the root to enable imperative APIs.');
68
- const rk = k ?? ngk++;
69
- if (isNumber(k) && k >= ngk) ngk = k + 1;
70
- TVE.emit(AE, {
71
- key: rk,
72
- children: c
73
- });
74
- return rk;
75
- },
76
- update: (k, c) => {
77
- TVE.emit(UE, {
78
- key: k,
79
- children: c
80
- });
81
- },
82
- unmount: k => {
83
- TVE.emit(RE, {
84
- key: k
85
- });
86
- }
87
- };
88
- const PortalHostImpl = ({
89
- children
90
- }) => {
91
- const hir = useRef(nh++),
92
- mr = useRef(null),
93
- qr = useRef([]),
94
- nkr = useRef(1);
95
- const eor = useCallback(o => {
96
- const m = mr.current;
97
- if (m) ao(m, o);else qr.current.push(o);
98
- }, []);
99
- const sm = useMemo(() => ({
100
- mount: (c, k) => {
101
- const rk = k ?? nkr.current++;
102
- if (isNumber(k) && k >= nkr.current) nkr.current = k + 1;
103
- eor({
104
- type: 'mount',
105
- key: rk,
106
- children: c
107
- });
108
- return rk;
109
- },
110
- update: (k, c) => {
111
- eor({
112
- type: 'update',
113
- key: k,
114
- children: c
115
- });
116
- },
117
- unmount: k => {
118
- eor({
119
- type: 'unmount',
120
- key: k
121
- });
122
- }
123
- }), [eor]);
124
- const hmr = useCallback(m => {
125
- mr.current = m;
126
- if (m) {
127
- if (qr.current.length > 0) {
128
- const pd = qr.current.splice(0, qr.current.length);
129
- pd.forEach(o => ao(m, o));
130
- }
131
- ;
132
- if (ah === 0 || ah === hir.current) ah = hir.current;else if (typeof __DEV__ !== 'undefined' && __DEV__) console.warn('[PortalHost] Multiple PortalHost instances detected. Imperative APIs will only use the first mounted host.');
133
- }
134
- }, []);
135
- useEffect(() => () => {
136
- if (ah === hir.current) {
137
- ah = 0;
138
- qr.current = [];
139
- portalStore.clear();
140
- }
141
- }, []);
142
- useEffect(() => {
143
- const ha = ({
144
- key: k,
145
- children: c
146
- }) => {
147
- if (ah !== hir.current) return;
148
- eor({
149
- type: 'mount',
150
- key: k,
151
- children: c
152
- });
153
- };
154
- const hu = ({
155
- key: k,
156
- children: c
157
- }) => {
158
- if (ah !== hir.current) return;
159
- eor({
160
- type: 'update',
161
- key: k,
162
- children: c
163
- });
164
- };
165
- const hr = ({
166
- key: k
167
- }) => {
168
- if (ah !== hir.current) return;
169
- eor({
170
- type: 'unmount',
171
- key: k
172
- });
173
- };
174
- const hc = () => {
175
- if (ah !== hir.current) return;
176
- qr.current = [];
177
- eor({
178
- type: 'clear'
179
- });
180
- };
181
- const as = TVE.addListener(AE, ha);
182
- const us = TVE.addListener(UE, hu);
183
- const rs = TVE.addListener(RE, hr);
184
- const cs = TVE.addListener(CE, hc);
185
- return () => {
186
- as.remove();
187
- us.remove();
188
- rs.remove();
189
- cs.remove();
190
- };
191
- }, [eor]);
192
- return /*#__PURE__*/React.createElement(PortalContext.Provider, {
193
- value: sm
194
- }, /*#__PURE__*/React.createElement(View, {
195
- style: S.h,
196
- collapsable: false
197
- }, /*#__PURE__*/React.createElement(View, {
198
- style: S.r,
199
- collapsable: false,
200
- pointerEvents: "box-none"
201
- }, children), /*#__PURE__*/React.createElement(PortalManagerView, {
202
- ref: hmr
203
- })));
204
- };
205
- export const PortalHost = /*#__PURE__*/React.memo(PortalHostImpl);
206
- PortalHost.displayName = 'PortalHost';
207
- const S = StyleSheet.create({
208
- h: {
209
- position: 'relative',
210
- flex: 1
211
- },
212
- r: {
213
- flex: 1
214
- },
215
- pl: IW ? {
216
- position: 'fixed',
217
- top: 0,
218
- left: 0,
219
- right: 0,
220
- bottom: 0
221
- } : {
222
- ...StyleSheet.absoluteFillObject
223
- },
224
- pe: {
225
- ...StyleSheet.absoluteFillObject
226
- }
227
- });
228
- export const portalManager = gm;
229
- export const portalStore = {
230
- clear: () => {
231
- TVE.emit(CE);
232
- },
233
- hasHosts: () => ah !== 0
234
- };
1
+ import React,{useCallback,useEffect,useMemo,useRef,useState}from"react";import{DeviceEventEmitter,NativeEventEmitter,Platform,StyleSheet,View}from"react-native";import{isNumber}from"../../utils";import{PortalContext}from"./PortalContext";const AE="RNSU_PORTAL_ADD",UE="RNSU_PORTAL_UPDATE",RE="RNSU_PORTAL_REMOVE",CE="RNSU_PORTAL_CLEAR",TVE=DeviceEventEmitter||new NativeEventEmitter,IW="web"===Platform.OS,ao=(e,t)=>{"mount"===t.type?e.mount(t.children,t.key):"update"===t.type?e.update(t.key,t.children):"clear"===t.type?e.clear():e.unmount(t.key)},PortalManagerView=React.forwardRef((e,t)=>{const[r,n]=useState([]),a=useRef(0),o=useCallback(e=>{n(t=>{const r=t.findIndex(t=>t.key===e.key);return-1===r?[...t,e]:[...t.slice(0,r),e,...t.slice(r+1)]})},[]),l=useCallback((e,t)=>{const r=t??++a.current;return isNumber(t)&&t>=a.current&&(a.current=t+1),o({key:r,children:e}),r},[o]),c=useCallback((e,t)=>{o({key:e,children:t})},[o]),u=useCallback(e=>{n(t=>t.filter(t=>t.key!==e))},[]),s=useCallback(()=>{n([])},[]);return React.useImperativeHandle(t,()=>({mount:l,update:c,unmount:u,clear:s}),[l,c,u,s]),0===r.length?null:React.createElement(View,{pointerEvents:"box-none",style:S.pl,collapsable:!1},r.map(e=>React.createElement(View,{key:e.key,pointerEvents:"box-none",collapsable:!1,style:S.pe},e.children)))});let ah=0,nh=1,ngk=1e4;const gm={mount:(e,t)=>{"undefined"!=typeof __DEV__&&__DEV__&&0===ah&&console.warn("[Portal] Please mount <PortalHost> or <ConfigProvider> at the root to enable imperative APIs.");const r=t??ngk++;return isNumber(t)&&t>=ngk&&(ngk=t+1),TVE.emit(AE,{key:r,children:e}),r},update:(e,t)=>{TVE.emit(UE,{key:e,children:t})},unmount:e=>{TVE.emit(RE,{key:e})}},PortalHostImpl=({children:e})=>{const t=useRef(nh++),r=useRef(null),n=useRef([]),a=useRef(1),o=useCallback(e=>{const t=r.current;t?ao(t,e):n.current.push(e)},[]),l=useMemo(()=>({mount:(e,t)=>{const r=t??a.current++;return isNumber(t)&&t>=a.current&&(a.current=t+1),o({type:"mount",key:r,children:e}),r},update:(e,t)=>{o({type:"update",key:e,children:t})},unmount:e=>{o({type:"unmount",key:e})}}),[o]),c=useCallback(e=>{if(r.current=e,e){if(n.current.length>0){n.current.splice(0,n.current.length).forEach(t=>ao(e,t))}0===ah||ah===t.current?ah=t.current:"undefined"!=typeof __DEV__&&__DEV__&&console.warn("[PortalHost] Multiple PortalHost instances detected. Imperative APIs will only use the first mounted host.")}},[]);return useEffect(()=>()=>{ah===t.current&&(ah=0,n.current=[],portalStore.clear())},[]),useEffect(()=>{const e=TVE.addListener(AE,({key:e,children:r})=>{ah===t.current&&o({type:"mount",key:e,children:r})}),r=TVE.addListener(UE,({key:e,children:r})=>{ah===t.current&&o({type:"update",key:e,children:r})}),a=TVE.addListener(RE,({key:e})=>{ah===t.current&&o({type:"unmount",key:e})}),l=TVE.addListener(CE,()=>{ah===t.current&&(n.current=[],o({type:"clear"}))});return()=>{e.remove(),r.remove(),a.remove(),l.remove()}},[o]),React.createElement(PortalContext.Provider,{value:l},React.createElement(View,{style:S.h,collapsable:!1},React.createElement(View,{style:S.r,collapsable:!1,pointerEvents:"box-none"},e),React.createElement(PortalManagerView,{ref:c})))};export const PortalHost=React.memo(PortalHostImpl);PortalHost.displayName="PortalHost";const S=StyleSheet.create({h:{position:"relative",flex:1},r:{flex:1},pl:IW?{position:"fixed",top:0,left:0,right:0,bottom:0}:{...StyleSheet.absoluteFillObject},pe:{...StyleSheet.absoluteFillObject}});export const portalManager=gm;export const portalStore={clear:()=>{TVE.emit(CE)},hasHosts:()=>0!==ah};
@@ -1,3 +1 @@
1
- export { PortalHost } from './PortalHost';
2
- export { Portal } from './Portal';
3
- export { portalManager } from './PortalHost';
1
+ export{PortalHost}from"./PortalHost";export{Portal}from"./Portal";export{portalManager}from"./PortalHost";
@@ -1,5 +1 @@
1
- import { createComponentTokensHook } from '../../design-system';
2
- const createPortalTokens = _foundations => {
3
- return {};
4
- };
5
- export const usePortalTokens = createComponentTokensHook('portal', createPortalTokens);
1
+ import{createComponentTokensHook}from"../../design-system";const createPortalTokens=o=>({});export const usePortalTokens=createComponentTokensHook("portal",createPortalTokens);
@@ -1,196 +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, { memo, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
3
- import { Animated, Platform, Text, View } from 'react-native';
4
- import { clamp, parseNumberLike, parsePercentage, isString, isText } from '../../utils';
5
- import { useReducedMotion } from '../../hooks/animation';
6
- import { useProgressTokens } from './tokens';
7
- const GRADIENT_REGEX = /linear-gradient|radial-gradient|conic-gradient/i;
8
- const ProgressContext = /*#__PURE__*/React.createContext(null);
9
- export const ProgressFilledTrack = ({
10
- style
11
- }) => {
12
- const context = useContext(ProgressContext);
13
- if (!context) return null;
14
- const size = useMemo(() => context.animatedValue.interpolate({
15
- inputRange: [0, 100],
16
- outputRange: ['0%', '100%']
17
- }), [context.animatedValue]);
18
- const sizeStyle = useMemo(() => context.orientation === 'vertical' ? {
19
- width: context.height,
20
- height: size,
21
- bottom: 0,
22
- left: 0,
23
- position: 'absolute'
24
- } : {
25
- height: context.height,
26
- width: size
27
- }, [context.height, context.orientation, size]);
28
- const baseStyle = [context.orientation === 'vertical' ? {
29
- position: 'absolute',
30
- left: 0,
31
- bottom: 0
32
- } : context.layoutIndicator, {
33
- backgroundColor: context.indicatorColor,
34
- borderRadius: context.height / 2,
35
- ...(context.isGradient && context.gradientColor ? {
36
- backgroundImage: context.gradientColor
37
- } : null)
38
- }, sizeStyle, context.indicatorStyle, style];
39
- return /*#__PURE__*/React.createElement(Animated.View, {
40
- style: baseStyle
41
- });
42
- };
43
- export const Progress = /*#__PURE__*/memo(props => {
44
- const {
45
- tokensOverride,
46
- percentage: pctP,
47
- strokeWidth,
48
- color,
49
- trackColor,
50
- pivotText,
51
- pivotColor,
52
- textColor,
53
- inactive: inactP,
54
- showPivot: showPivotP,
55
- animated,
56
- transition: transP,
57
- animationDuration: durP,
58
- style,
59
- pivotStyle,
60
- indicatorStyle,
61
- orientation: oriP,
62
- children,
63
- ...rest
64
- } = props;
65
- const tokens = useProgressTokens(tokensOverride);
66
- const reducedMotion = useReducedMotion();
67
- const pct = clamp(parsePercentage(pctP ?? tokens.defaults.percentage), 0, 100);
68
- const h = parseNumberLike(strokeWidth, tokens.sizing.height) ?? tokens.sizing.height;
69
- const inact = inactP ?? tokens.defaults.inactive;
70
- const ori = oriP ?? 'horizontal';
71
- const showPivot = ori === 'vertical' ? false : showPivotP ?? tokens.defaults.showPivot;
72
- const doAnim = (animated ?? transP ?? tokens.defaults.transition) && !inact;
73
- const dur = Math.max(0, durP ?? tokens.defaults.animationDuration);
74
- const isGrad = Platform.OS === 'web' && isString(color) && GRADIENT_REGEX.test(color);
75
- const trackClr = trackColor ?? tokens.colors.track;
76
- const indClr = inact ? tokens.colors.track : !isGrad ? color ?? tokens.colors.indicator : undefined;
77
- const pivotBg = pivotColor ?? (isGrad ? inact ? tokens.colors.track : tokens.colors.indicator : indClr);
78
- const pivotTxtClr = textColor ?? tokens.colors.pivotText;
79
- const pivotCnt = pivotText ?? `${pct}%`;
80
- const hasPiv = showPivot && pivotCnt !== null && pivotCnt !== false;
81
- const animVal = useRef(new Animated.Value(pct)).current;
82
- useEffect(() => {
83
- if (doAnim && dur > 0 && !reducedMotion) {
84
- const anim = Animated.timing(animVal, {
85
- toValue: pct,
86
- duration: dur,
87
- useNativeDriver: false,
88
- isInteraction: false
89
- });
90
- anim.start();
91
- return () => anim.stop();
92
- } else animVal.setValue(pct);
93
- }, [pct, doAnim, dur, animVal, reducedMotion]);
94
- const [lay, setLay] = useState({
95
- track: 0,
96
- pivot: 0
97
- });
98
- const onTrackLay = useCallback(e => {
99
- const w = e.nativeEvent.layout.width;
100
- setLay(prev => prev.track === w ? prev : {
101
- ...prev,
102
- track: w
103
- });
104
- }, []);
105
- const onPivotLay = useCallback(e => {
106
- const w = e.nativeEvent.layout.width;
107
- setLay(prev => prev.pivot === w ? prev : {
108
- ...prev,
109
- pivot: w
110
- });
111
- }, []);
112
- const trackStyle = [tokens.layout.track, ori === 'vertical' ? {
113
- width: h,
114
- height: '100%',
115
- backgroundColor: trackClr,
116
- borderRadius: h / 2
117
- } : {
118
- height: h,
119
- backgroundColor: trackClr,
120
- borderRadius: h / 2
121
- }];
122
- const pivotNode = useMemo(() => {
123
- if (!hasPiv) return null;
124
- const {
125
- track: tw,
126
- pivot: pw
127
- } = lay;
128
- const ctrStyle = [tokens.layout.pivot, {
129
- bottom: h + tokens.sizing.pivotPaddingVertical * 2,
130
- backgroundColor: pivotBg,
131
- paddingHorizontal: tokens.sizing.pivotPaddingHorizontal,
132
- paddingVertical: tokens.sizing.pivotPaddingVertical,
133
- borderRadius: h,
134
- opacity: tw > 0 ? 1 : 0
135
- }];
136
- let transStyle = null;
137
- if (tw > 0 && pw > 0) {
138
- const p1 = pw / 2 / tw * 100;
139
- const p2 = (tw - pw / 2) / tw * 100;
140
- transStyle = p1 < p2 ? {
141
- transform: [{
142
- translateX: animVal.interpolate({
143
- inputRange: [0, p1, p2, 100],
144
- outputRange: [0, 0, tw - pw, tw - pw],
145
- extrapolate: 'clamp'
146
- })
147
- }]
148
- } : {
149
- transform: [{
150
- translateX: (tw - pw) / 2
151
- }]
152
- };
153
- } else transStyle = {
154
- transform: [{
155
- translateX: (tw - pw) / 2
156
- }]
157
- };
158
- return /*#__PURE__*/React.createElement(Animated.View, {
159
- style: [ctrStyle, transStyle],
160
- pointerEvents: "none",
161
- onLayout: onPivotLay
162
- }, isText(pivotCnt) ? /*#__PURE__*/React.createElement(Text, {
163
- style: [tokens.layout.pivotText, {
164
- color: pivotTxtClr,
165
- fontFamily: tokens.typography.fontFamily,
166
- fontSize: tokens.typography.pivotFontSize
167
- }, pivotStyle]
168
- }, pivotCnt) : pivotCnt);
169
- }, [animVal, hasPiv, h, lay, onPivotLay, pivotCnt, pivotStyle, pivotBg, pivotTxtClr, tokens.layout.pivot, tokens.layout.pivotText, tokens.sizing.pivotPaddingHorizontal, tokens.sizing.pivotPaddingVertical, tokens.typography.fontFamily, tokens.typography.pivotFontSize]);
170
- const ctxVal = useMemo(() => ({
171
- animatedValue: animVal,
172
- orientation: ori,
173
- height: h,
174
- indicatorColor: indClr,
175
- indicatorStyle: indicatorStyle,
176
- isGradient: isGrad,
177
- gradientColor: isGrad ? color : undefined,
178
- layoutIndicator: tokens.layout.indicator
179
- }), [animVal, color, h, indicatorStyle, isGrad, ori, indClr, tokens.layout.indicator]);
180
- return /*#__PURE__*/React.createElement(ProgressContext.Provider, {
181
- value: ctxVal
182
- }, /*#__PURE__*/React.createElement(View, _extends({
183
- style: style,
184
- accessibilityRole: "progressbar",
185
- accessibilityValue: {
186
- min: 0,
187
- max: 100,
188
- now: pct
189
- }
190
- }, rest), /*#__PURE__*/React.createElement(View, {
191
- style: trackStyle,
192
- onLayout: hasPiv ? onTrackLay : undefined
193
- }, children ?? /*#__PURE__*/React.createElement(ProgressFilledTrack, null)), pivotNode));
194
- });
195
- Progress.displayName = 'Progress';
196
- export default Progress;
1
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var o=arguments[e];for(var i in o)({}).hasOwnProperty.call(o,i)&&(t[i]=o[i])}return t},_extends.apply(null,arguments)}import React,{memo,useCallback,useContext,useEffect,useMemo,useRef,useState}from"react";import{Animated,Platform,Text,View}from"react-native";import{clamp,parseNumberLike,parsePercentage,isString,isText}from"../../utils";import{useReducedMotion}from"../../hooks/animation";import{useProgressTokens}from"./tokens";const GRADIENT_REGEX=/linear-gradient|radial-gradient|conic-gradient/i,ProgressContext=React.createContext(null);export const ProgressFilledTrack=({style:t})=>{const e=useContext(ProgressContext);if(!e)return null;const o=useMemo(()=>e.animatedValue.interpolate({inputRange:[0,100],outputRange:["0%","100%"]}),[e.animatedValue]),i=useMemo(()=>"vertical"===e.orientation?{width:e.height,height:o,bottom:0,left:0,position:"absolute"}:{height:e.height,width:o},[e.height,e.orientation,o]),a=["vertical"===e.orientation?{position:"absolute",left:0,bottom:0}:e.layoutIndicator,{backgroundColor:e.indicatorColor,borderRadius:e.height/2,...e.isGradient&&e.gradientColor?{backgroundImage:e.gradientColor}:null},i,e.indicatorStyle,t];return React.createElement(Animated.View,{style:a})};export const Progress=memo(t=>{const{tokensOverride:e,percentage:o,strokeWidth:i,color:a,trackColor:r,pivotText:n,pivotColor:s,textColor:l,inactive:c,showPivot:u,animated:d,transition:g,animationDuration:p,style:m,pivotStyle:v,indicatorStyle:y,orientation:h,children:f,...k}=t,b=useProgressTokens(e),R=useReducedMotion(),x=clamp(parsePercentage(o??b.defaults.percentage),0,100),P=parseNumberLike(i,b.sizing.height)??b.sizing.height,C=c??b.defaults.inactive,E=h??"horizontal",w="vertical"!==E&&(u??b.defaults.showPivot),V=(d??g??b.defaults.transition)&&!C,z=Math.max(0,p??b.defaults.animationDuration),T="web"===Platform.OS&&isString(a)&&GRADIENT_REGEX.test(a),S=r??b.colors.track,M=C?b.colors.track:T?void 0:a??b.colors.indicator,A=s??(T?C?b.colors.track:b.colors.indicator:M),F=l??b.colors.pivotText,G=n??`${x}%`,I=w&&null!==G&&!1!==G,N=useRef(new Animated.Value(x)).current;useEffect(()=>{if(V&&z>0&&!R){const t=Animated.timing(N,{toValue:x,duration:z,useNativeDriver:!1,isInteraction:!1});return t.start(),()=>t.stop()}N.setValue(x)},[x,V,z,N,R]);const[_,D]=useState({track:0,pivot:0}),O=useCallback(t=>{const e=t.nativeEvent.layout.width;D(t=>t.track===e?t:{...t,track:e})},[]),X=useCallback(t=>{const e=t.nativeEvent.layout.width;D(t=>t.pivot===e?t:{...t,pivot:e})},[]),L=[b.layout.track,"vertical"===E?{width:P,height:"100%",backgroundColor:S,borderRadius:P/2}:{height:P,backgroundColor:S,borderRadius:P/2}],H=useMemo(()=>{if(!I)return null;const{track:t,pivot:e}=_,o=[b.layout.pivot,{bottom:P+2*b.sizing.pivotPaddingVertical,backgroundColor:A,paddingHorizontal:b.sizing.pivotPaddingHorizontal,paddingVertical:b.sizing.pivotPaddingVertical,borderRadius:P,opacity:t>0?1:0}];let i=null;if(t>0&&e>0){const o=e/2/t*100,a=(t-e/2)/t*100;i=o<a?{transform:[{translateX:N.interpolate({inputRange:[0,o,a,100],outputRange:[0,0,t-e,t-e],extrapolate:"clamp"})}]}:{transform:[{translateX:(t-e)/2}]}}else i={transform:[{translateX:(t-e)/2}]};return React.createElement(Animated.View,{style:[o,i],pointerEvents:"none",onLayout:X},isText(G)?React.createElement(Text,{style:[b.layout.pivotText,{color:F,fontFamily:b.typography.fontFamily,fontSize:b.typography.pivotFontSize},v]},G):G)},[N,I,P,_,X,G,v,A,F,b.layout.pivot,b.layout.pivotText,b.sizing.pivotPaddingHorizontal,b.sizing.pivotPaddingVertical,b.typography.fontFamily,b.typography.pivotFontSize]),j=useMemo(()=>({animatedValue:N,orientation:E,height:P,indicatorColor:M,indicatorStyle:y,isGradient:T,gradientColor:T?a:void 0,layoutIndicator:b.layout.indicator}),[N,a,P,y,T,E,M,b.layout.indicator]);return React.createElement(ProgressContext.Provider,{value:j},React.createElement(View,_extends({style:m,accessibilityRole:"progressbar",accessibilityValue:{min:0,max:100,now:x}},k),React.createElement(View,{style:L,onLayout:I?O:void 0},f??React.createElement(ProgressFilledTrack,null)),H))});Progress.displayName="Progress";export default Progress;
@@ -1,3 +1 @@
1
- import { Progress, ProgressFilledTrack } from './Progress';
2
- export { ProgressFilledTrack };
3
- export default Progress;
1
+ import{Progress,ProgressFilledTrack}from"./Progress";export{ProgressFilledTrack};export default Progress;
@@ -1,45 +1 @@
1
- import { createComponentTokensHook } from '../../design-system';
2
- export const createProgressTokens = foundations => {
3
- const onPrimary = foundations.palette.primary.foreground ?? '#ffffff';
4
- return {
5
- defaults: {
6
- percentage: 0,
7
- inactive: false,
8
- showPivot: true,
9
- transition: true,
10
- animationDuration: 300
11
- },
12
- layout: {
13
- track: {
14
- overflow: 'hidden'
15
- },
16
- indicator: {
17
- position: 'absolute',
18
- left: 0,
19
- top: 0
20
- },
21
- pivot: {
22
- position: 'absolute'
23
- },
24
- pivotText: {
25
- textAlign: 'center',
26
- includeFontPadding: false
27
- }
28
- },
29
- colors: {
30
- track: foundations.palette.default[100],
31
- indicator: foundations.palette.primary[500],
32
- pivotText: onPrimary
33
- },
34
- typography: {
35
- fontFamily: foundations.typography.fontFamily,
36
- pivotFontSize: foundations.fontSize.xs
37
- },
38
- sizing: {
39
- height: 4,
40
- pivotPaddingHorizontal: foundations.spacing.xs,
41
- pivotPaddingVertical: 2
42
- }
43
- };
44
- };
45
- export const useProgressTokens = createComponentTokensHook('progress', createProgressTokens);
1
+ import{createComponentTokensHook}from"../../design-system";export const createProgressTokens=t=>{const o=t.palette.primary.foreground??"#ffffff";return{defaults:{percentage:0,inactive:!1,showPivot:!0,transition:!0,animationDuration:300},layout:{track:{overflow:"hidden"},indicator:{position:"absolute",left:0,top:0},pivot:{position:"absolute"},pivotText:{textAlign:"center",includeFontPadding:!1}},colors:{track:t.palette.default[100],indicator:t.palette.primary[500],pivotText:o},typography:{fontFamily:t.typography.fontFamily,pivotFontSize:t.fontSize.xs},sizing:{height:4,pivotPaddingHorizontal:t.spacing.xs,pivotPaddingVertical:2}}};export const useProgressTokens=createComponentTokensHook("progress",createProgressTokens);