react-native-system-ui 0.0.7 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/README.md +46 -31
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +128 -142
  3. package/dist/cjs/components/action-sheet/tokens.js +16 -27
  4. package/dist/cjs/components/area/Area.js +57 -70
  5. package/dist/cjs/components/area/tokens.js +6 -3
  6. package/dist/cjs/components/avatar/Avatar.js +38 -36
  7. package/dist/cjs/components/badge/Badge.js +68 -73
  8. package/dist/cjs/components/badge/tokens.js +6 -8
  9. package/dist/cjs/components/button/Button.js +135 -176
  10. package/dist/cjs/components/button/ButtonGroup.js +11 -45
  11. package/dist/cjs/components/button/tokens.js +1 -8
  12. package/dist/cjs/components/calendar/Calendar.js +212 -223
  13. package/dist/cjs/components/calendar/tokens.js +3 -3
  14. package/dist/cjs/components/cascader/Cascader.js +257 -267
  15. package/dist/cjs/components/cascader/tokens.js +2 -2
  16. package/dist/cjs/components/cascader/useCascaderExtend.js +25 -29
  17. package/dist/cjs/components/cell/Cell.js +94 -104
  18. package/dist/cjs/components/cell/CellGroup.js +37 -49
  19. package/dist/cjs/components/checkbox/Checkbox.js +140 -132
  20. package/dist/cjs/components/checkbox/CheckboxGroup.js +21 -51
  21. package/dist/cjs/components/checkbox/tokens.js +7 -10
  22. package/dist/cjs/components/circle/Circle.js +87 -74
  23. package/dist/cjs/components/collapse/Collapse.js +88 -104
  24. package/dist/cjs/components/config-provider/ConfigProvider.js +17 -4
  25. package/dist/cjs/components/config-provider/DirectionContext.js +15 -0
  26. package/dist/cjs/components/config-provider/index.js +7 -0
  27. package/dist/cjs/components/config-provider/locale/en-US.js +32 -0
  28. package/dist/cjs/components/config-provider/locale/zh-CN.js +32 -0
  29. package/dist/cjs/components/config-provider/useDirection.js +16 -0
  30. package/dist/cjs/components/count-down/CountDown.js +32 -27
  31. package/dist/cjs/components/datetime-picker/DatetimePicker.js +80 -104
  32. package/dist/cjs/components/datetime-picker/tokens.js +14 -3
  33. package/dist/cjs/components/dialog/Dialog.js +159 -121
  34. package/dist/cjs/components/dialog/imperative.js +24 -43
  35. package/dist/cjs/components/dialog/tokens.js +1 -0
  36. package/dist/cjs/components/divider/Divider.js +57 -62
  37. package/dist/cjs/components/empty/Empty.js +53 -52
  38. package/dist/cjs/components/error-boundary/ErrorBoundary.js +74 -0
  39. package/dist/cjs/components/error-boundary/index.js +19 -0
  40. package/dist/cjs/components/field/Field.js +109 -106
  41. package/dist/cjs/components/flex/Flex.js +32 -32
  42. package/dist/cjs/components/flex/FlexItem.js +27 -27
  43. package/dist/cjs/components/form/Form.js +178 -196
  44. package/dist/cjs/components/form/FormItem.js +87 -109
  45. package/dist/cjs/components/form/FormList.js +57 -45
  46. package/dist/cjs/components/form/tokens.js +6 -3
  47. package/dist/cjs/components/form/utils.js +15 -34
  48. package/dist/cjs/components/grid/Grid.js +44 -43
  49. package/dist/cjs/components/grid/GridItem.js +92 -86
  50. package/dist/cjs/components/image/Image.js +76 -79
  51. package/dist/cjs/components/image/tokens.js +5 -3
  52. package/dist/cjs/components/image-preview/ImagePreview.js +125 -113
  53. package/dist/cjs/components/image-preview/imperative.js +4 -13
  54. package/dist/cjs/components/image-preview/tokens.js +3 -1
  55. package/dist/cjs/components/index.js +13 -0
  56. package/dist/cjs/components/input/Input.js +40 -35
  57. package/dist/cjs/components/loading/Loading.js +32 -33
  58. package/dist/cjs/components/nav-bar/NavBar.js +88 -100
  59. package/dist/cjs/components/nav-bar/tokens.js +4 -10
  60. package/dist/cjs/components/notice-bar/NoticeBar.js +81 -80
  61. package/dist/cjs/components/notice-bar/tokens.js +3 -1
  62. package/dist/cjs/components/notify/Notify.js +89 -84
  63. package/dist/cjs/components/notify/imperative.js +32 -55
  64. package/dist/cjs/components/notify/tokens.js +2 -11
  65. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +277 -283
  66. package/dist/cjs/components/number-keyboard/tokens.js +7 -1
  67. package/dist/cjs/components/overlay/Overlay.js +37 -52
  68. package/dist/cjs/components/overlay/tokens.js +5 -3
  69. package/dist/cjs/components/password-input/PasswordInput.js +114 -95
  70. package/dist/cjs/components/picker/Picker.js +465 -454
  71. package/dist/cjs/components/picker/tokens.js +1 -1
  72. package/dist/cjs/components/popup/Popup.js +269 -299
  73. package/dist/cjs/components/popup/tokens.js +1 -0
  74. package/dist/cjs/components/portal/Portal.js +12 -30
  75. package/dist/cjs/components/portal/PortalHost.js +151 -234
  76. package/dist/cjs/components/progress/Progress.js +103 -101
  77. package/dist/cjs/components/progress/tokens.js +1 -0
  78. package/dist/cjs/components/radio/Radio.js +98 -91
  79. package/dist/cjs/components/radio/RadioGroup.js +13 -45
  80. package/dist/cjs/components/radio/tokens.js +7 -10
  81. package/dist/cjs/components/safe-area-view/SafeAreaView.js +22 -26
  82. package/dist/cjs/components/search/Search.js +65 -57
  83. package/dist/cjs/components/selector/Selector.js +21 -27
  84. package/dist/cjs/components/share-sheet/ShareSheet.js +165 -161
  85. package/dist/cjs/components/share-sheet/tokens.js +3 -1
  86. package/dist/cjs/components/sidebar/Sidebar.js +51 -51
  87. package/dist/cjs/components/sidebar/SidebarContext.js +1 -2
  88. package/dist/cjs/components/sidebar/SidebarItem.js +19 -21
  89. package/dist/cjs/components/sidebar/tokens.js +4 -4
  90. package/dist/cjs/components/skeleton/Skeleton.js +71 -77
  91. package/dist/cjs/components/skeleton/tokens.js +1 -2
  92. package/dist/cjs/components/slider/Slider.js +156 -135
  93. package/dist/cjs/components/space/Space.js +57 -76
  94. package/dist/cjs/components/space/tokens.js +7 -1
  95. package/dist/cjs/components/stepper/Stepper.js +182 -158
  96. package/dist/cjs/components/stepper/tokens.js +1 -0
  97. package/dist/cjs/components/swiper/Swiper.js +256 -255
  98. package/dist/cjs/components/swiper/SwiperPagIndicator.js +26 -27
  99. package/dist/cjs/components/swiper/tokens.js +10 -3
  100. package/dist/cjs/components/switch/Switch.js +23 -25
  101. package/dist/cjs/components/tabbar/Tabbar.js +48 -40
  102. package/dist/cjs/components/tabbar/TabbarContext.js +1 -2
  103. package/dist/cjs/components/tabbar/TabbarItem.js +65 -68
  104. package/dist/cjs/components/tabs/Tabs.js +402 -439
  105. package/dist/cjs/components/tabs/tokens.js +3 -1
  106. package/dist/cjs/components/tag/Tag.js +68 -59
  107. package/dist/cjs/components/toast/Toast.js +91 -90
  108. package/dist/cjs/components/toast/imperative.js +16 -41
  109. package/dist/cjs/components/toast/tokens.js +1 -0
  110. package/dist/cjs/components/typography/Typography.js +25 -25
  111. package/dist/cjs/components/water-mark/WaterMark.js +80 -78
  112. package/dist/cjs/design-system/Text.js +38 -0
  113. package/dist/cjs/design-system/ThemeProvider.js +5 -11
  114. package/dist/cjs/design-system/createComponentTokensHook.js +11 -13
  115. package/dist/cjs/design-system/index.js +7 -0
  116. package/dist/cjs/design-system/mergeTokensOverride.js +1 -4
  117. package/dist/cjs/design-system/presets.js +2 -3
  118. package/dist/cjs/design-system/tokens.js +2 -11
  119. package/dist/cjs/hooks/animation/index.js +25 -0
  120. package/dist/cjs/hooks/animation/useAnimatedTransition.js +72 -0
  121. package/dist/cjs/hooks/animation/useReducedMotion.js +75 -0
  122. package/dist/cjs/hooks/aria/useAriaListBox.js +8 -16
  123. package/dist/cjs/hooks/aria/useAriaOverlay.js +3 -3
  124. package/dist/cjs/hooks/aria/useAriaPress.js +8 -21
  125. package/dist/cjs/hooks/aria/useAriaToggle.js +3 -3
  126. package/dist/cjs/hooks/gesture/useGestureScroll.js +60 -61
  127. package/dist/cjs/hooks/index.js +12 -0
  128. package/dist/cjs/hooks/overlay/OverlayStackStore.js +49 -69
  129. package/dist/cjs/hooks/overlay/useOverlayStack.js +13 -19
  130. package/dist/cjs/hooks/useControllableValue.js +13 -24
  131. package/dist/cjs/hooks/useCountDown.js +30 -38
  132. package/dist/cjs/hooks/useHairline.js +17 -29
  133. package/dist/cjs/hooks/useSafeAreaPadding.js +1 -4
  134. package/dist/cjs/index.js +67 -1
  135. package/dist/cjs/platform/animation.js +10 -2
  136. package/dist/cjs/platform/measure.js +21 -37
  137. package/dist/cjs/utils/color.js +20 -39
  138. package/dist/cjs/utils/compare.js +7 -12
  139. package/dist/cjs/utils/createPlatformShadow.js +28 -39
  140. package/dist/cjs/utils/date.js +20 -50
  141. package/dist/cjs/utils/deepMerge.js +16 -26
  142. package/dist/cjs/utils/hairline.js +75 -71
  143. package/dist/cjs/utils/index.js +22 -0
  144. package/dist/cjs/utils/number.js +21 -29
  145. package/dist/cjs/utils/render.js +21 -0
  146. package/dist/cjs/utils/rtl.js +25 -0
  147. package/dist/cjs/utils/string.js +8 -25
  148. package/dist/cjs/utils/validate.js +2 -4
  149. package/dist/es/components/action-sheet/ActionSheet.js +130 -144
  150. package/dist/es/components/action-sheet/tokens.js +16 -27
  151. package/dist/es/components/area/Area.js +58 -71
  152. package/dist/es/components/area/tokens.js +6 -3
  153. package/dist/es/components/avatar/Avatar.js +38 -36
  154. package/dist/es/components/avatar/index.js +1 -2
  155. package/dist/es/components/badge/Badge.js +70 -75
  156. package/dist/es/components/badge/tokens.js +6 -8
  157. package/dist/es/components/button/Button.js +136 -177
  158. package/dist/es/components/button/ButtonGroup.js +12 -46
  159. package/dist/es/components/button/tokens.js +2 -3
  160. package/dist/es/components/calendar/Calendar.js +214 -225
  161. package/dist/es/components/calendar/tokens.js +3 -3
  162. package/dist/es/components/cascader/Cascader.js +260 -270
  163. package/dist/es/components/cascader/tokens.js +2 -2
  164. package/dist/es/components/cascader/useCascaderExtend.js +25 -29
  165. package/dist/es/components/cell/Cell.js +95 -105
  166. package/dist/es/components/cell/CellGroup.js +37 -48
  167. package/dist/es/components/checkbox/Checkbox.js +141 -133
  168. package/dist/es/components/checkbox/CheckboxGroup.js +22 -52
  169. package/dist/es/components/checkbox/tokens.js +7 -10
  170. package/dist/es/components/circle/Circle.js +87 -73
  171. package/dist/es/components/collapse/Collapse.js +90 -105
  172. package/dist/es/components/config-provider/ConfigProvider.js +11 -4
  173. package/dist/es/components/config-provider/DirectionContext.js +2 -0
  174. package/dist/es/components/config-provider/index.js +1 -0
  175. package/dist/es/components/config-provider/locale/en-US.js +32 -0
  176. package/dist/es/components/config-provider/locale/zh-CN.js +32 -0
  177. package/dist/es/components/config-provider/useDirection.js +3 -0
  178. package/dist/es/components/count-down/CountDown.js +35 -30
  179. package/dist/es/components/datetime-picker/DatetimePicker.js +80 -104
  180. package/dist/es/components/datetime-picker/tokens.js +14 -3
  181. package/dist/es/components/dialog/Dialog.js +160 -121
  182. package/dist/es/components/dialog/imperative.js +24 -43
  183. package/dist/es/components/dialog/tokens.js +1 -0
  184. package/dist/es/components/divider/Divider.js +59 -63
  185. package/dist/es/components/empty/Empty.js +54 -52
  186. package/dist/es/components/error-boundary/ErrorBoundary.js +62 -0
  187. package/dist/es/components/error-boundary/index.js +1 -0
  188. package/dist/es/components/field/Field.js +109 -106
  189. package/dist/es/components/flex/Flex.js +32 -31
  190. package/dist/es/components/flex/FlexItem.js +28 -27
  191. package/dist/es/components/form/Form.js +179 -197
  192. package/dist/es/components/form/FormItem.js +86 -107
  193. package/dist/es/components/form/FormList.js +57 -45
  194. package/dist/es/components/form/tokens.js +6 -3
  195. package/dist/es/components/form/utils.js +15 -34
  196. package/dist/es/components/grid/Grid.js +44 -42
  197. package/dist/es/components/grid/GridItem.js +94 -87
  198. package/dist/es/components/image/Image.js +79 -82
  199. package/dist/es/components/image/tokens.js +5 -3
  200. package/dist/es/components/image-preview/ImagePreview.js +125 -113
  201. package/dist/es/components/image-preview/imperative.js +4 -13
  202. package/dist/es/components/image-preview/tokens.js +3 -1
  203. package/dist/es/components/index.js +3 -1
  204. package/dist/es/components/input/Input.js +41 -36
  205. package/dist/es/components/loading/Loading.js +34 -34
  206. package/dist/es/components/nav-bar/NavBar.js +88 -100
  207. package/dist/es/components/nav-bar/tokens.js +4 -4
  208. package/dist/es/components/notice-bar/NoticeBar.js +81 -79
  209. package/dist/es/components/notice-bar/tokens.js +3 -1
  210. package/dist/es/components/notify/Notify.js +93 -87
  211. package/dist/es/components/notify/imperative.js +33 -56
  212. package/dist/es/components/notify/tokens.js +2 -5
  213. package/dist/es/components/number-keyboard/NumberKeyboard.js +277 -283
  214. package/dist/es/components/number-keyboard/tokens.js +7 -1
  215. package/dist/es/components/overlay/Overlay.js +36 -51
  216. package/dist/es/components/overlay/tokens.js +5 -3
  217. package/dist/es/components/password-input/PasswordInput.js +114 -95
  218. package/dist/es/components/picker/Picker.js +465 -454
  219. package/dist/es/components/picker/tokens.js +1 -1
  220. package/dist/es/components/popup/Popup.js +269 -298
  221. package/dist/es/components/popup/tokens.js +1 -0
  222. package/dist/es/components/portal/Portal.js +13 -30
  223. package/dist/es/components/portal/PortalHost.js +152 -234
  224. package/dist/es/components/progress/Progress.js +103 -101
  225. package/dist/es/components/progress/tokens.js +1 -0
  226. package/dist/es/components/radio/Radio.js +100 -93
  227. package/dist/es/components/radio/RadioGroup.js +15 -46
  228. package/dist/es/components/radio/tokens.js +7 -10
  229. package/dist/es/components/safe-area-view/SafeAreaView.js +22 -25
  230. package/dist/es/components/search/Search.js +66 -58
  231. package/dist/es/components/selector/Selector.js +21 -27
  232. package/dist/es/components/share-sheet/ShareSheet.js +167 -163
  233. package/dist/es/components/share-sheet/tokens.js +3 -1
  234. package/dist/es/components/sidebar/Sidebar.js +53 -53
  235. package/dist/es/components/sidebar/SidebarContext.js +1 -2
  236. package/dist/es/components/sidebar/SidebarItem.js +19 -20
  237. package/dist/es/components/sidebar/tokens.js +4 -4
  238. package/dist/es/components/skeleton/Skeleton.js +71 -77
  239. package/dist/es/components/skeleton/tokens.js +1 -2
  240. package/dist/es/components/slider/Slider.js +156 -134
  241. package/dist/es/components/space/Space.js +59 -78
  242. package/dist/es/components/space/tokens.js +7 -1
  243. package/dist/es/components/stepper/Stepper.js +183 -159
  244. package/dist/es/components/stepper/tokens.js +1 -0
  245. package/dist/es/components/swiper/Swiper.js +258 -257
  246. package/dist/es/components/swiper/SwiperPagIndicator.js +26 -27
  247. package/dist/es/components/swiper/tokens.js +10 -3
  248. package/dist/es/components/switch/Switch.js +23 -25
  249. package/dist/es/components/tabbar/Tabbar.js +49 -41
  250. package/dist/es/components/tabbar/TabbarContext.js +1 -2
  251. package/dist/es/components/tabbar/TabbarItem.js +66 -69
  252. package/dist/es/components/tabs/Tabs.js +403 -440
  253. package/dist/es/components/tabs/tokens.js +3 -1
  254. package/dist/es/components/tag/Tag.js +71 -61
  255. package/dist/es/components/toast/Toast.js +94 -91
  256. package/dist/es/components/toast/imperative.js +16 -41
  257. package/dist/es/components/toast/tokens.js +1 -0
  258. package/dist/es/components/typography/Typography.js +25 -25
  259. package/dist/es/components/water-mark/WaterMark.js +81 -79
  260. package/dist/es/design-system/Text.js +19 -0
  261. package/dist/es/design-system/ThemeProvider.js +5 -11
  262. package/dist/es/design-system/createComponentTokensHook.js +11 -13
  263. package/dist/es/design-system/index.js +1 -0
  264. package/dist/es/design-system/mergeTokensOverride.js +1 -4
  265. package/dist/es/design-system/presets.js +2 -3
  266. package/dist/es/design-system/tokens.js +1 -9
  267. package/dist/es/hooks/animation/index.js +2 -0
  268. package/dist/es/hooks/animation/useAnimatedTransition.js +53 -0
  269. package/dist/es/hooks/animation/useReducedMotion.js +54 -0
  270. package/dist/es/hooks/aria/useAriaListBox.js +8 -16
  271. package/dist/es/hooks/aria/useAriaOverlay.js +3 -3
  272. package/dist/es/hooks/aria/useAriaPress.js +8 -21
  273. package/dist/es/hooks/aria/useAriaToggle.js +3 -3
  274. package/dist/es/hooks/gesture/useGestureScroll.js +60 -61
  275. package/dist/es/hooks/index.js +1 -0
  276. package/dist/es/hooks/overlay/OverlayStackStore.js +49 -69
  277. package/dist/es/hooks/overlay/useOverlayStack.js +13 -19
  278. package/dist/es/hooks/useControllableValue.js +13 -24
  279. package/dist/es/hooks/useCountDown.js +30 -38
  280. package/dist/es/hooks/useHairline.js +16 -28
  281. package/dist/es/hooks/useSafeAreaPadding.js +1 -4
  282. package/dist/es/index.js +8 -1
  283. package/dist/es/platform/animation.js +9 -1
  284. package/dist/es/platform/measure.js +21 -37
  285. package/dist/es/utils/color.js +18 -35
  286. package/dist/es/utils/compare.js +7 -12
  287. package/dist/es/utils/createPlatformShadow.js +28 -39
  288. package/dist/es/utils/date.js +20 -50
  289. package/dist/es/utils/deepMerge.js +16 -26
  290. package/dist/es/utils/hairline.js +74 -65
  291. package/dist/es/utils/index.js +2 -0
  292. package/dist/es/utils/number.js +21 -29
  293. package/dist/es/utils/render.js +7 -0
  294. package/dist/es/utils/rtl.js +17 -0
  295. package/dist/es/utils/string.js +8 -25
  296. package/dist/es/utils/validate.js +1 -2
  297. package/dist/types/components/action-sheet/ActionSheet.d.ts +1 -1
  298. package/dist/types/components/area/Area.d.ts +1 -1
  299. package/dist/types/components/area/tokens.d.ts +4 -0
  300. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  301. package/dist/types/components/avatar/index.d.ts +1 -2
  302. package/dist/types/components/badge/Badge.d.ts +1 -1
  303. package/dist/types/components/button/Button.d.ts +1 -1
  304. package/dist/types/components/button/index.d.ts +1 -1
  305. package/dist/types/components/calendar/Calendar.d.ts +1 -1
  306. package/dist/types/components/cascader/Cascader.d.ts +1 -1
  307. package/dist/types/components/cell/Cell.d.ts +1 -1
  308. package/dist/types/components/cell/CellGroup.d.ts +1 -1
  309. package/dist/types/components/cell/index.d.ts +2 -2
  310. package/dist/types/components/checkbox/Checkbox.d.ts +1 -1
  311. package/dist/types/components/circle/Circle.d.ts +1 -1
  312. package/dist/types/components/collapse/Collapse.d.ts +1 -2
  313. package/dist/types/components/config-provider/DirectionContext.d.ts +3 -0
  314. package/dist/types/components/config-provider/index.d.ts +2 -1
  315. package/dist/types/components/config-provider/locale/en-US.d.ts +32 -0
  316. package/dist/types/components/config-provider/locale/zh-CN.d.ts +32 -0
  317. package/dist/types/components/config-provider/useDirection.d.ts +1 -0
  318. package/dist/types/components/count-down/CountDown.d.ts +1 -1
  319. package/dist/types/components/datetime-picker/DatetimePicker.d.ts +1 -1
  320. package/dist/types/components/datetime-picker/tokens.d.ts +12 -0
  321. package/dist/types/components/dialog/Dialog.d.ts +1 -1
  322. package/dist/types/components/dialog/tokens.d.ts +1 -0
  323. package/dist/types/components/divider/Divider.d.ts +1 -1
  324. package/dist/types/components/empty/Empty.d.ts +1 -1
  325. package/dist/types/components/error-boundary/ErrorBoundary.d.ts +6 -0
  326. package/dist/types/components/error-boundary/index.d.ts +2 -0
  327. package/dist/types/components/field/Field.d.ts +1 -1
  328. package/dist/types/components/flex/Flex.d.ts +1 -1
  329. package/dist/types/components/flex/FlexItem.d.ts +1 -1
  330. package/dist/types/components/flex/index.d.ts +2 -2
  331. package/dist/types/components/form/Form.d.ts +1 -1
  332. package/dist/types/components/form/FormItem.d.ts +2 -1
  333. package/dist/types/components/form/index.d.ts +2 -2
  334. package/dist/types/components/form/tokens.d.ts +4 -0
  335. package/dist/types/components/grid/Grid.d.ts +1 -1
  336. package/dist/types/components/grid/GridItem.d.ts +1 -1
  337. package/dist/types/components/grid/index.d.ts +2 -2
  338. package/dist/types/components/image/Image.d.ts +1 -1
  339. package/dist/types/components/image-preview/ImagePreview.d.ts +1 -1
  340. package/dist/types/components/image-preview/tokens.d.ts +1 -0
  341. package/dist/types/components/index.d.ts +4 -1
  342. package/dist/types/components/input/Input.d.ts +3 -3
  343. package/dist/types/components/loading/Loading.d.ts +1 -1
  344. package/dist/types/components/nav-bar/NavBar.d.ts +1 -1
  345. package/dist/types/components/nav-bar/tokens.d.ts +1 -1
  346. package/dist/types/components/notice-bar/NoticeBar.d.ts +1 -1
  347. package/dist/types/components/notice-bar/tokens.d.ts +1 -0
  348. package/dist/types/components/notify/Notify.d.ts +2 -2
  349. package/dist/types/components/notify/index.d.ts +1 -1
  350. package/dist/types/components/number-keyboard/tokens.d.ts +5 -0
  351. package/dist/types/components/overlay/Overlay.d.ts +1 -5
  352. package/dist/types/components/overlay/tokens.d.ts +3 -0
  353. package/dist/types/components/password-input/PasswordInput.d.ts +1 -1
  354. package/dist/types/components/picker/Picker.d.ts +6 -6
  355. package/dist/types/components/popup/Popup.d.ts +3 -42
  356. package/dist/types/components/popup/tokens.d.ts +1 -0
  357. package/dist/types/components/portal/Portal.d.ts +9 -6
  358. package/dist/types/components/portal/PortalHost.d.ts +1 -1
  359. package/dist/types/components/radio/RadioGroup.d.ts +1 -1
  360. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +1 -1
  361. package/dist/types/components/search/Search.d.ts +1 -1
  362. package/dist/types/components/share-sheet/ShareSheet.d.ts +1 -1
  363. package/dist/types/components/share-sheet/tokens.d.ts +1 -0
  364. package/dist/types/components/sidebar/Sidebar.d.ts +1 -1
  365. package/dist/types/components/sidebar/SidebarContext.d.ts +1 -1
  366. package/dist/types/components/sidebar/SidebarItem.d.ts +1 -1
  367. package/dist/types/components/sidebar/index.d.ts +2 -2
  368. package/dist/types/components/skeleton/Skeleton.d.ts +1 -1
  369. package/dist/types/components/slider/Slider.d.ts +1 -1
  370. package/dist/types/components/stepper/Stepper.d.ts +1 -1
  371. package/dist/types/components/stepper/tokens.d.ts +1 -0
  372. package/dist/types/components/swiper/Swiper.d.ts +1 -1
  373. package/dist/types/components/swiper/index.d.ts +1 -1
  374. package/dist/types/components/swiper/tokens.d.ts +8 -0
  375. package/dist/types/components/tabbar/Tabbar.d.ts +2 -2
  376. package/dist/types/components/tabbar/TabbarContext.d.ts +1 -1
  377. package/dist/types/components/tabbar/TabbarItem.d.ts +2 -2
  378. package/dist/types/components/tabs/Tabs.d.ts +1 -1
  379. package/dist/types/components/tabs/index.d.ts +1 -1
  380. package/dist/types/components/tabs/tokens.d.ts +1 -0
  381. package/dist/types/components/tag/Tag.d.ts +1 -1
  382. package/dist/types/components/toast/Toast.d.ts +2 -2
  383. package/dist/types/components/toast/index.d.ts +1 -1
  384. package/dist/types/components/toast/tokens.d.ts +1 -0
  385. package/dist/types/components/water-mark/WaterMark.d.ts +1 -1
  386. package/dist/types/design-system/Text.d.ts +3 -0
  387. package/dist/types/design-system/index.d.ts +1 -0
  388. package/dist/types/design-system/tokens.d.ts +0 -1
  389. package/dist/types/hooks/animation/index.d.ts +3 -0
  390. package/dist/types/hooks/animation/useAnimatedTransition.d.ts +13 -0
  391. package/dist/types/hooks/animation/useReducedMotion.d.ts +3 -0
  392. package/dist/types/hooks/aria/useAriaOverlay.d.ts +1 -1
  393. package/dist/types/hooks/gesture/useGestureScroll.d.ts +11 -10
  394. package/dist/types/hooks/index.d.ts +1 -0
  395. package/dist/types/hooks/overlay/OverlayStackStore.d.ts +8 -8
  396. package/dist/types/hooks/useCountDown.d.ts +1 -1
  397. package/dist/types/hooks/useHairline.d.ts +1 -1
  398. package/dist/types/index.d.ts +5 -0
  399. package/dist/types/platform/animation.d.ts +8 -0
  400. package/dist/types/platform/measure.d.ts +1 -1
  401. package/dist/types/utils/color.d.ts +0 -2
  402. package/dist/types/utils/compare.d.ts +1 -1
  403. package/dist/types/utils/createPlatformShadow.d.ts +2 -2
  404. package/dist/types/utils/date.d.ts +2 -2
  405. package/dist/types/utils/hairline.d.ts +5 -10
  406. package/dist/types/utils/index.d.ts +2 -0
  407. package/dist/types/utils/number.d.ts +2 -2
  408. package/dist/types/utils/render.d.ts +5 -0
  409. package/dist/types/utils/rtl.d.ts +5 -0
  410. package/dist/types/utils/validate.d.ts +0 -1
  411. package/package.json +25 -4
@@ -41,6 +41,7 @@ function _reactNative() {
41
41
  }
42
42
  var _tokens = require("./tokens");
43
43
  var _number = require("../../utils/number");
44
+ var _hairline = require("../../utils/hairline");
44
45
  var _utils2 = require("../../utils");
45
46
  var _validate = require("../../utils/validate");
46
47
  var _hooks = require("../../hooks");
@@ -92,14 +93,14 @@ const START_KEYS = ['onResponderGrant', 'onPanResponderGrant'];
92
93
  const MOVE_KEYS = ['onResponderMove', 'onPanResponderMove'];
93
94
  const END_KEYS = ['onResponderRelease', 'onResponderTerminate', 'onPanResponderRelease', 'onPanResponderTerminate'];
94
95
  const useTrackLayout = () => {
95
- const trackRef = (0, _react().useRef)(null);
96
- const measureRafRef = (0, _react().useRef)(null);
97
- const [trackLayout, setTrackLayout] = (0, _react().useState)({
98
- width: 0,
99
- height: 0,
100
- x: 0,
101
- y: 0
102
- });
96
+ const trackRef = (0, _react().useRef)(null),
97
+ measureRafRef = (0, _react().useRef)(null),
98
+ [trackLayout, setTrackLayout] = (0, _react().useState)({
99
+ width: 0,
100
+ height: 0,
101
+ x: 0,
102
+ y: 0
103
+ });
103
104
  const handleTrackLayout = (0, _react().useCallback)(event => {
104
105
  const {
105
106
  layout
@@ -130,9 +131,7 @@ const useTrackLayout = () => {
130
131
  }, []);
131
132
  (0, _react().useEffect)(() => {
132
133
  return () => {
133
- if (measureRafRef.current != null && typeof cancelAnimationFrame === 'function') {
134
- cancelAnimationFrame(measureRafRef.current);
135
- }
134
+ if (measureRafRef.current != null && typeof cancelAnimationFrame === 'function') cancelAnimationFrame(measureRafRef.current);
136
135
  measureRafRef.current = null;
137
136
  };
138
137
  }, []);
@@ -183,19 +182,19 @@ const ThumbNode = /*#__PURE__*/_react().default.memo(({
183
182
  translateX: translate
184
183
  }, {
185
184
  translateY: translate
186
- }]
185
+ }],
186
+ ...(orientation === 'vertical' ? {
187
+ top: `${visualPercent}%`,
188
+ left: '50%'
189
+ } : {
190
+ left: `${visualPercent}%`,
191
+ top: '50%'
192
+ }),
193
+ ...(!content ? {
194
+ backgroundColor: thumbBackgroundColor,
195
+ elevation: thumbElevation
196
+ } : {})
187
197
  };
188
- if (orientation === 'vertical') {
189
- thumbStyle.top = `${visualPercent}%`;
190
- thumbStyle.left = '50%';
191
- } else {
192
- thumbStyle.left = `${visualPercent}%`;
193
- thumbStyle.top = '50%';
194
- }
195
- if (!content) {
196
- thumbStyle.backgroundColor = thumbBackgroundColor;
197
- thumbStyle.elevation = thumbElevation;
198
- }
199
198
  const indicatorStyle = {
200
199
  width: indicatorSize,
201
200
  height: indicatorSize,
@@ -205,13 +204,19 @@ const ThumbNode = /*#__PURE__*/_react().default.memo(({
205
204
  const accessibilityProps = createAccessibilityProps(inputProps);
206
205
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, handlers, accessibilityProps, {
207
206
  pointerEvents: isDisabled ? 'none' : 'auto',
208
- style: [content ? styles.thumbWrapper : styles.thumb, webGestureStyle, thumbStyle]
207
+ style: [content ? S.thw : S.t, webGestureStyle, thumbStyle]
209
208
  }), content ?? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
210
209
  style: indicatorStyle
210
+ }), !content && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
211
+ style: (0, _hairline.createHairlineView)({
212
+ position: 'all',
213
+ color: activeColor,
214
+ borderRadius: size / 2
215
+ })
211
216
  }));
212
217
  });
213
218
  ThumbNode.displayName = 'ThumbNode';
214
- const Slider = props => {
219
+ const SliderImpl = props => {
215
220
  const {
216
221
  value: valueProp,
217
222
  min = 0,
@@ -251,10 +256,10 @@ const Slider = props => {
251
256
  trackLayout,
252
257
  handleTrackLayout
253
258
  } = useTrackLayout();
254
- const resolvedMin = (0, _number.parseNumber)(min, 0);
255
- const resolvedMax = (0, _number.parseNumber)(max, 100);
256
- const resolvedStepRaw = (0, _number.parseNumber)(step, 1);
257
- const resolvedStep = resolvedStepRaw > 0 ? resolvedStepRaw : 1;
259
+ const resolvedMin = (0, _number.parseNumber)(min, 0),
260
+ resolvedMax = (0, _number.parseNumber)(max, 100),
261
+ resolvedStepRaw = (0, _number.parseNumber)(step, 1),
262
+ resolvedStep = resolvedStepRaw > 0 ? resolvedStepRaw : 1;
258
263
  const resolvedTrackHeight = Math.max(0, (0, _number.parseNumber)(barHeight ?? trackHeight, tokens.track.height));
259
264
  const resolvedThumbSize = Math.max(0, (0, _number.parseNumber)(buttonSize ?? thumbSize, tokens.thumb.size));
260
265
  const ariaDisabled = disabled || readOnly;
@@ -263,13 +268,21 @@ const Slider = props => {
263
268
  const scope = Math.max(resolvedMax - resolvedMin, 0.00001);
264
269
  const normalized = normalizeValue(valueProp, range, resolvedMin, resolvedMax);
265
270
  const isControlled = valueProp !== undefined;
271
+ const onChangeRef = (0, _react().useRef)(onChange),
272
+ onChangeAfterRef = (0, _react().useRef)(onChangeAfter),
273
+ onDragStartRef = (0, _react().useRef)(onDragStart),
274
+ onDragEndRef = (0, _react().useRef)(onDragEnd);
275
+ onChangeRef.current = onChange;
276
+ onChangeAfterRef.current = onChangeAfter;
277
+ onDragStartRef.current = onDragStart;
278
+ onDragEndRef.current = onDragEnd;
266
279
  const formatOutput = (0, _react().useCallback)(values => toSliderValue(values, range, resolvedMin), [range, resolvedMin]);
267
- const handleStateChange = (0, _react().useCallback)(values => {
268
- onChange?.(formatOutput(values));
269
- }, [formatOutput, onChange]);
270
- const handleStateChangeEnd = (0, _react().useCallback)(values => {
271
- onChangeAfter?.(formatOutput(values));
272
- }, [formatOutput, onChangeAfter]);
280
+ const onStateChange = (0, _react().useCallback)(values => {
281
+ onChangeRef.current?.(formatOutput(values));
282
+ }, [formatOutput]);
283
+ const onStateChangeEnd = (0, _react().useCallback)(values => {
284
+ onChangeAfterRef.current?.(formatOutput(values));
285
+ }, [formatOutput]);
273
286
  const sliderStateOptions = (0, _react().useMemo)(() => ({
274
287
  minValue: resolvedMin,
275
288
  maxValue: resolvedMax,
@@ -279,12 +292,12 @@ const Slider = props => {
279
292
  orientation,
280
293
  value: isControlled ? normalized : undefined,
281
294
  defaultValue: !isControlled ? normalized : undefined,
282
- onChange: handleStateChange,
283
- onChangeEnd: handleStateChangeEnd
284
- }), [ariaDisabled, handleStateChange, handleStateChangeEnd, isControlled, normalized, orientation, resolvedMax, resolvedMin, resolvedStep]);
295
+ onChange: onStateChange,
296
+ onChangeEnd: onStateChangeEnd
297
+ }), [ariaDisabled, onStateChange, onStateChangeEnd, isControlled, normalized, orientation, resolvedMax, resolvedMin, resolvedStep]);
285
298
  const state = (0, _slider2().useSliderState)(sliderStateOptions);
286
- const reverseX = orientation === 'horizontal' ? reverse || (0, _utils().isRTL)() : reverse;
287
- const ariaReverse = orientation === 'horizontal' ? reverseX : reverse;
299
+ const resolvedReverseX = orientation === 'horizontal' ? reverse || (0, _utils().isRTL)() : reverse;
300
+ const ariaReverse = orientation === 'horizontal' ? resolvedReverseX : reverse;
288
301
  const {
289
302
  trackProps
290
303
  } = (0, _slider().useSlider)({
@@ -296,9 +309,13 @@ const Slider = props => {
296
309
  const {
297
310
  style: trackAriaStyle,
298
311
  onLayout: trackAriaOnLayout,
299
- ...restTrackProps
312
+ ...remainingTrackProps
300
313
  } = trackPressableProps;
301
- const handleTrackPress = (0, _react().useCallback)(event => {
314
+ const onCombinedTrackLayout = (0, _react().useCallback)(event => {
315
+ handleTrackLayout(event);
316
+ trackAriaOnLayout?.(event);
317
+ }, [handleTrackLayout, trackAriaOnLayout]);
318
+ const onTrack = (0, _react().useCallback)(event => {
302
319
  if (ariaDisabled) return;
303
320
  if (!state.values.every((_, i) => !state.isThumbDragging(i))) return;
304
321
  const {
@@ -312,7 +329,7 @@ const Slider = props => {
312
329
  const size = orientation === 'vertical' ? trackLayout.height : trackLayout.width;
313
330
  const local = orientation === 'vertical' ? localY : localX;
314
331
  const raw = local / Math.max(size, 1);
315
- const percent = orientation === 'vertical' ? reverse ? raw : 1 - raw : reverseX ? 1 - raw : raw;
332
+ const percent = orientation === 'vertical' ? reverse ? raw : 1 - raw : resolvedReverseX ? 1 - raw : raw;
316
333
  const value = state.getPercentValue(Math.min(1, Math.max(0, percent)));
317
334
  const closestThumb = state.values.reduce((best, v, i) => Math.abs(v - value) < Math.abs(state.values[best] - value) ? i : best, 0);
318
335
  if (closestThumb >= 0 && state.isThumbEditable(closestThumb)) {
@@ -323,25 +340,22 @@ const Slider = props => {
323
340
  state.setThumbValue(closestThumb, value);
324
341
  state.setThumbDragging(closestThumb, false);
325
342
  }
326
- }, [ariaDisabled, orientation, reverse, reverseX, state, trackLayout.height, trackLayout.width, trackLayout.x, trackLayout.y]);
343
+ }, [ariaDisabled, orientation, reverse, resolvedReverseX, state, trackLayout.height, trackLayout.width, trackLayout.x, trackLayout.y]);
327
344
  const {
328
345
  interactionProps: trackInteractionProps
329
346
  } = (0, _hooks.useAriaPress)({
330
347
  disabled: ariaDisabled,
331
- onPress: handleTrackPress,
332
- extraProps: restTrackProps
348
+ onPress: onTrack,
349
+ extraProps: remainingTrackProps
333
350
  });
334
351
  const currentValue = formatOutput(state.values);
335
- const currentValueRef = (0, _react().useRef)(currentValue);
352
+ const currentValueRef = (0, _react().useRef)(currentValue),
353
+ dragStartRef = (0, _react().useRef)([]),
354
+ dragStartValueRef = (0, _react().useRef)([]),
355
+ moveRafIdRef = (0, _react().useRef)([]),
356
+ movePendingArgsRef = (0, _react().useRef)([]),
357
+ enhanceHandlersCacheRef = (0, _react().useRef)(new WeakMap());
336
358
  currentValueRef.current = currentValue;
337
- const dragStartedRef = (0, _react().useRef)([]);
338
- const dragStartValueRef = (0, _react().useRef)([]);
339
- const moveRafIdRef = (0, _react().useRef)([]);
340
- const movePendingArgsRef = (0, _react().useRef)([]);
341
- const enhancedHandlersCacheRef = (0, _react().useRef)(new WeakMap());
342
- (0, _react().useEffect)(() => {
343
- enhancedHandlersCacheRef.current = new WeakMap();
344
- }, [onDragStart, onDragEnd]);
345
359
  (0, _react().useEffect)(() => {
346
360
  return () => {
347
361
  const cancel = typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : undefined;
@@ -355,10 +369,8 @@ const Slider = props => {
355
369
  }, []);
356
370
  const enhanceHandlers = (0, _react().useCallback)((handlers, index) => {
357
371
  if (!handlers) return handlers;
358
- if (!onDragStart && !onDragEnd) {
359
- return handlers;
360
- }
361
- const cached = enhancedHandlersCacheRef.current.get(handlers);
372
+ if (!onDragStartRef.current && !onDragEndRef.current) return handlers;
373
+ const cached = enhanceHandlersCacheRef.current.get(handlers);
362
374
  const found = cached?.get(index);
363
375
  if (found) return found;
364
376
  const hasAny = START_KEYS.some(k => (0, _validate.isFunction)(handlers[k])) || MOVE_KEYS.some(k => (0, _validate.isFunction)(handlers[k])) || END_KEYS.some(k => (0, _validate.isFunction)(handlers[k]));
@@ -412,23 +424,23 @@ const Slider = props => {
412
424
  };
413
425
  for (const key of START_KEYS) {
414
426
  wrapAfter(key, () => {
415
- dragStartedRef.current[index] = false;
427
+ dragStartRef.current[index] = false;
416
428
  dragStartValueRef.current[index] = currentValueRef.current;
417
429
  });
418
430
  }
419
431
  for (const key of MOVE_KEYS) {
420
432
  wrapBefore(key, event => {
421
- if (!dragStartedRef.current[index]) {
422
- dragStartedRef.current[index] = true;
423
- onDragStart?.(event, dragStartValueRef.current[index] ?? currentValueRef.current);
433
+ if (!dragStartRef.current[index]) {
434
+ dragStartRef.current[index] = true;
435
+ onDragStartRef.current?.(event, dragStartValueRef.current[index] ?? currentValueRef.current);
424
436
  }
425
437
  });
426
438
  }
427
439
  const emitEnd = event => {
428
- if (dragStartedRef.current[index]) {
429
- dragStartedRef.current[index] = false;
440
+ if (dragStartRef.current[index]) {
441
+ dragStartRef.current[index] = false;
430
442
  dragStartValueRef.current[index] = undefined;
431
- onDragEnd?.(event, currentValueRef.current);
443
+ onDragEndRef.current?.(event, currentValueRef.current);
432
444
  }
433
445
  const rafId = moveRafIdRef.current[index];
434
446
  if (rafId != null && caf) {
@@ -443,95 +455,106 @@ const Slider = props => {
443
455
  const map = cached ?? new Map();
444
456
  map.set(index, wrapped);
445
457
  if (!cached) {
446
- enhancedHandlersCacheRef.current.set(handlers, map);
458
+ enhanceHandlersCacheRef.current.set(handlers, map);
447
459
  }
448
460
  return wrapped;
449
- }, [onDragStart, onDragEnd]);
461
+ }, []);
450
462
  const values = state.values;
451
- const thumbPercents = (0, _react().useMemo)(() => values.map(value => ((value ?? resolvedMin) - resolvedMin) / scope * 100), [resolvedMin, scope, values]);
452
- const thumbVisualPercents = (0, _react().useMemo)(() => thumbPercents.map(percent => orientation === 'vertical' ? reverse ? percent : 100 - percent : reverseX ? 100 - percent : percent), [orientation, reverse, reverseX, thumbPercents]);
463
+ const thumbPercent = (0, _react().useMemo)(() => values.map(value => ((value ?? resolvedMin) - resolvedMin) / scope * 100), [resolvedMin, scope, values]);
464
+ const thumbVisualPercent = (0, _react().useMemo)(() => thumbPercent.map(percent => orientation === 'vertical' ? reverse ? percent : 100 - percent : resolvedReverseX ? 100 - percent : percent), [orientation, reverse, resolvedReverseX, thumbPercent]);
453
465
  const activeRange = (0, _react().useMemo)(() => {
454
- const first = thumbVisualPercents[0] ?? 0;
455
- const second = thumbVisualPercents[1] ?? first;
456
- return range && thumbVisualPercents.length > 1 ? {
466
+ const first = thumbVisualPercent[0] ?? 0,
467
+ second = thumbVisualPercent[1] ?? first;
468
+ return range && thumbVisualPercent.length > 1 ? {
457
469
  offset: Math.min(first, second),
458
470
  size: Math.max(first, second) - Math.min(first, second)
459
- } : (orientation === 'horizontal' ? !reverseX : reverse) ? {
471
+ } : (orientation === 'horizontal' ? !resolvedReverseX : reverse) ? {
460
472
  offset: 0,
461
473
  size: first
462
474
  } : {
463
475
  offset: first,
464
476
  size: 100 - first
465
477
  };
466
- }, [orientation, range, reverse, reverseX, thumbVisualPercents]);
467
- const activeTrackStyle = (0, _react().useMemo)(() => {
468
- const base = {
469
- backgroundColor: resolvedActiveColor,
470
- borderRadius: tokens.track.radius
471
- };
472
- if (orientation === 'vertical') {
473
- base.left = 0;
474
- base.width = '100%';
475
- base.height = `${Math.max(activeRange.size, 0)}%`;
476
- base.top = `${Math.max(activeRange.offset, 0)}%`;
477
- } else {
478
- base.top = 0;
479
- base.height = '100%';
480
- base.width = `${Math.max(activeRange.size, 0)}%`;
481
- base.left = `${Math.max(activeRange.offset, 0)}%`;
478
+ }, [orientation, range, reverse, resolvedReverseX, thumbVisualPercent]);
479
+ const {
480
+ track: {
481
+ radius: trackRadius
482
482
  }
483
- return base;
484
- }, [activeRange.offset, activeRange.size, orientation, resolvedActiveColor, tokens.track.radius]);
485
- const trackBaseStyle = (0, _react().useMemo)(() => orientation === 'vertical' ? [styles.trackVertical, {
483
+ } = tokens;
484
+ const activeTrackStyle = (0, _react().useMemo)(() => ({
485
+ backgroundColor: resolvedActiveColor,
486
+ borderRadius: trackRadius,
487
+ ...(orientation === 'vertical' ? {
488
+ left: 0,
489
+ width: '100%',
490
+ height: `${Math.max(activeRange.size, 0)}%`,
491
+ top: `${Math.max(activeRange.offset, 0)}%`
492
+ } : {
493
+ top: 0,
494
+ height: '100%',
495
+ width: `${Math.max(activeRange.size, 0)}%`,
496
+ left: `${Math.max(activeRange.offset, 0)}%`
497
+ })
498
+ }), [activeRange.offset, activeRange.size, orientation, resolvedActiveColor, trackRadius]);
499
+ const trackBackgroundStyle = (0, _react().useMemo)(() => orientation === 'vertical' ? [S.tv, {
486
500
  width: resolvedTrackHeight,
487
501
  backgroundColor: resolvedInactiveColor,
488
502
  alignSelf: 'center'
489
- }] : [styles.trackHorizontal, {
503
+ }] : [S.th, {
490
504
  height: resolvedTrackHeight,
491
505
  backgroundColor: resolvedInactiveColor
492
506
  }], [orientation, resolvedInactiveColor, resolvedTrackHeight]);
493
507
  const isButtonFunction = (0, _validate.isFunction)(button);
494
- const sharedThumb = isButtonFunction ? button({
508
+ const selectedThumb = isButtonFunction ? button({
495
509
  value: currentValue
496
510
  }) : button ?? thumb;
497
- const leftThumbContent = leftButton ?? leftThumb ?? sharedThumb;
498
- const rightThumbContent = rightButton ?? rightThumb ?? sharedThumb;
499
- const resolveThumbContent = (0, _react().useCallback)((index, total) => total > 1 ? index === 0 ? leftThumbContent : rightThumbContent : sharedThumb, [leftThumbContent, rightThumbContent, sharedThumb]);
500
- const webGestureStyle = (0, _react().useMemo)(() => _reactNative().Platform.OS === 'web' ? {
511
+ const leftThumbContent = leftButton ?? leftThumb ?? selectedThumb;
512
+ const rightThumbContent = rightButton ?? rightThumb ?? selectedThumb;
513
+ const resolveThumbContent = (0, _react().useCallback)((index, total) => total > 1 ? index === 0 ? leftThumbContent : rightThumbContent : selectedThumb, [leftThumbContent, rightThumbContent, selectedThumb]);
514
+ const webGestureStyle = _reactNative().Platform.OS === 'web' ? {
501
515
  touchAction: orientation === 'horizontal' ? 'pan-y' : 'pan-x',
502
516
  userSelect: 'none'
503
- } : undefined, [orientation]);
504
- const baseTrackPressableStyle = (0, _react().useMemo)(() => [styles.trackPressable, orientation === 'vertical' ? styles.trackPressableVertical : null, webGestureStyle], [orientation, webGestureStyle]);
517
+ } : undefined;
518
+ const baseTrackPressableStyle = [S.tp, orientation === 'vertical' ? S.tpv : null, webGestureStyle];
505
519
  const trackPressableStyleFn = (0, _react().useCallback)(pressableState => [baseTrackPressableStyle, trackAriaStyle(pressableState)], [baseTrackPressableStyle, trackAriaStyle]);
506
520
  const trackPressableStyle = trackAriaStyle && (0, _validate.isFunction)(trackAriaStyle) ? trackPressableStyleFn : [baseTrackPressableStyle, trackAriaStyle];
507
- const containerStyles = (0, _react().useMemo)(() => [styles.container, {
508
- paddingVertical: tokens.spacing.containerPaddingVertical
509
- }, orientation === 'vertical' && [styles.verticalContainer, {
510
- minHeight: tokens.layout.verticalMinHeight,
511
- width: tokens.layout.verticalWidth
521
+ const {
522
+ spacing: {
523
+ containerPaddingVertical
524
+ },
525
+ layout: {
526
+ verticalMinHeight,
527
+ verticalWidth
528
+ },
529
+ states: {
530
+ disabledOpacity
531
+ }
532
+ } = tokens;
533
+ const containerStyle = [S.c, {
534
+ paddingVertical: containerPaddingVertical
535
+ }, orientation === 'vertical' && [S.vc, {
536
+ minHeight: verticalMinHeight,
537
+ width: verticalWidth
512
538
  }], disabled && {
513
- opacity: tokens.states.disabledOpacity
514
- }, style], [disabled, orientation, style, tokens.layout.verticalMinHeight, tokens.layout.verticalWidth, tokens.spacing.containerPaddingVertical, tokens.states.disabledOpacity]);
539
+ opacity: disabledOpacity
540
+ }, style];
515
541
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
516
- style: containerStyles,
542
+ style: containerStyle,
517
543
  onLayout: containerOnLayout
518
544
  }, rest), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
519
- style: [styles.trackWrapper, orientation === 'vertical' && styles.trackWrapperVertical]
545
+ style: [S.tw, orientation === 'vertical' && S.twv]
520
546
  }, /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
521
547
  ref: trackRef
522
548
  }, trackInteractionProps, {
523
549
  disabled: ariaDisabled,
524
- onLayout: event => {
525
- handleTrackLayout(event);
526
- trackAriaOnLayout?.(event);
527
- },
550
+ onLayout: onCombinedTrackLayout,
528
551
  style: trackPressableStyle
529
552
  }), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
530
- style: [styles.trackBase, {
531
- borderRadius: tokens.track.radius
532
- }, ...trackBaseStyle]
553
+ style: [S.tb, {
554
+ borderRadius: trackRadius
555
+ }, ...trackBackgroundStyle]
533
556
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
534
- style: [styles.active, activeTrackStyle]
557
+ style: [S.a, activeTrackStyle]
535
558
  }))), values.map((_, index) => /*#__PURE__*/_react().default.createElement(ThumbNode, {
536
559
  key: `thumb-${index}`,
537
560
  index: index,
@@ -543,7 +566,7 @@ const Slider = props => {
543
566
  size: resolvedThumbSize,
544
567
  activeColor: resolvedActiveColor,
545
568
  content: resolveThumbContent(index, values.length),
546
- visualPercent: thumbVisualPercents[index] ?? 0,
569
+ visualPercent: thumbVisualPercent[index] ?? 0,
547
570
  thumbBackgroundColor: tokens.colors.thumbBackground,
548
571
  thumbElevation: tokens.thumb.elevation,
549
572
  indicatorSize: tokens.thumb.indicatorSize,
@@ -552,61 +575,59 @@ const Slider = props => {
552
575
  enhanceHandlers: enhanceHandlers
553
576
  }))));
554
577
  };
555
- exports.Slider = Slider;
556
- const styles = _reactNative().StyleSheet.create({
557
- container: {
578
+ const S = _reactNative().StyleSheet.create({
579
+ c: {
558
580
  position: 'relative',
559
581
  justifyContent: 'center',
560
582
  width: '100%'
561
583
  },
562
- verticalContainer: {
584
+ vc: {
563
585
  height: '100%',
564
586
  alignItems: 'center',
565
587
  paddingVertical: 0
566
588
  },
567
- trackWrapper: {
589
+ tw: {
568
590
  width: '100%',
569
591
  justifyContent: 'center',
570
592
  position: 'relative'
571
593
  },
572
- trackWrapperVertical: {
594
+ twv: {
573
595
  flex: 1,
574
596
  justifyContent: 'center',
575
597
  alignItems: 'center',
576
598
  width: '100%'
577
599
  },
578
- trackPressable: {
600
+ tp: {
579
601
  width: '100%',
580
602
  justifyContent: 'center'
581
603
  },
582
- trackPressableVertical: {
604
+ tpv: {
583
605
  flex: 1,
584
606
  alignItems: 'center'
585
607
  },
586
- trackBase: {
608
+ tb: {
587
609
  overflow: 'hidden',
588
610
  position: 'relative'
589
611
  },
590
- trackHorizontal: {
612
+ th: {
591
613
  width: '100%'
592
614
  },
593
- trackVertical: {
615
+ tv: {
594
616
  height: '100%'
595
617
  },
596
- active: {
618
+ a: {
597
619
  position: 'absolute'
598
620
  },
599
- thumb: {
621
+ t: {
600
622
  position: 'absolute',
601
- borderWidth: _reactNative().StyleSheet.hairlineWidth,
602
623
  alignItems: 'center',
603
624
  justifyContent: 'center'
604
625
  },
605
- thumbWrapper: {
626
+ thw: {
606
627
  position: 'absolute',
607
628
  alignItems: 'center',
608
629
  justifyContent: 'center'
609
630
  }
610
631
  });
611
- Slider.displayName = 'Slider';
632
+ const Slider = exports.Slider = /*#__PURE__*/_react().default.memo(SliderImpl);
612
633
  var _default = exports.default = Slider;