react-native-system-ui 0.0.5 → 0.0.7

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 (372) hide show
  1. package/README.md +12 -4
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +28 -22
  3. package/dist/cjs/components/area/Area.js +72 -6
  4. package/dist/cjs/components/area/tokens.js +11 -0
  5. package/dist/cjs/components/avatar/Avatar.js +42 -10
  6. package/dist/cjs/components/badge/Badge.js +10 -10
  7. package/dist/cjs/components/badge/tokens.js +4 -0
  8. package/dist/cjs/components/button/Button.js +16 -65
  9. package/dist/cjs/components/button/ButtonContext.js +7 -10
  10. package/dist/cjs/components/button/ButtonGroup.js +13 -15
  11. package/dist/cjs/components/button/tokens.js +1 -5
  12. package/dist/cjs/components/calendar/Calendar.js +23 -12
  13. package/dist/cjs/components/cascader/Cascader.js +18 -13
  14. package/dist/cjs/components/cell/Cell.js +3 -3
  15. package/dist/cjs/components/cell/CellGroup.js +26 -21
  16. package/dist/cjs/components/checkbox/Checkbox.js +5 -4
  17. package/dist/cjs/components/checkbox/CheckboxContext.js +7 -10
  18. package/dist/cjs/components/checkbox/CheckboxGroup.js +24 -21
  19. package/dist/cjs/components/circle/Circle.js +6 -6
  20. package/dist/cjs/components/collapse/Collapse.js +10 -10
  21. package/dist/cjs/components/config-provider/locale/en-US.js +66 -4
  22. package/dist/cjs/components/config-provider/locale/zh-CN.js +74 -2
  23. package/dist/cjs/components/config-provider/tokens.js +11 -0
  24. package/dist/cjs/components/count-down/CountDown.js +6 -6
  25. package/dist/cjs/components/datetime-picker/DatetimePicker.js +6 -6
  26. package/dist/cjs/components/datetime-picker/tokens.js +11 -0
  27. package/dist/cjs/components/dialog/Dialog.js +39 -34
  28. package/dist/cjs/components/dialog/tokens.js +1 -4
  29. package/dist/cjs/components/divider/Divider.js +36 -1
  30. package/dist/cjs/components/field/Field.js +303 -201
  31. package/dist/cjs/components/flex/Flex.js +7 -3
  32. package/dist/cjs/components/flex/FlexContext.js +7 -14
  33. package/dist/cjs/components/form/Form.js +112 -122
  34. package/dist/cjs/components/form/FormContext.js +7 -10
  35. package/dist/cjs/components/form/FormItem.js +30 -4
  36. package/dist/cjs/components/form/FormList.js +16 -3
  37. package/dist/cjs/components/form/tokens.js +11 -0
  38. package/dist/cjs/components/form/utils.js +2 -1
  39. package/dist/cjs/components/grid/Grid.js +45 -31
  40. package/dist/cjs/components/grid/GridContext.js +7 -10
  41. package/dist/cjs/components/grid/GridItem.js +22 -22
  42. package/dist/cjs/components/image/Image.js +17 -13
  43. package/dist/cjs/components/image-preview/ImagePreview.js +43 -41
  44. package/dist/cjs/components/index.js +43 -141
  45. package/dist/cjs/components/input/Input.js +19 -5
  46. package/dist/cjs/components/loading/Loading.js +10 -139
  47. package/dist/cjs/components/loading/tokens.js +0 -24
  48. package/dist/cjs/components/notice-bar/NoticeBar.js +45 -41
  49. package/dist/cjs/components/notify/Notify.js +63 -22
  50. package/dist/cjs/components/notify/imperative.js +2 -2
  51. package/dist/cjs/components/notify/tokens.js +11 -1
  52. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +6 -6
  53. package/dist/cjs/components/overlay/Overlay.js +70 -77
  54. package/dist/cjs/components/overlay/index.js +13 -27
  55. package/dist/cjs/components/overlay/tokens.js +4 -31
  56. package/dist/cjs/components/password-input/PasswordInput.js +2 -41
  57. package/dist/cjs/components/password-input/tokens.js +53 -0
  58. package/dist/cjs/components/picker/Picker.js +618 -38
  59. package/dist/cjs/components/popup/Popup.js +60 -47
  60. package/dist/cjs/components/portal/Portal.js +39 -31
  61. package/dist/cjs/components/portal/PortalHost.js +258 -213
  62. package/dist/cjs/components/portal/tokens.js +11 -0
  63. package/dist/cjs/components/progress/Progress.js +77 -36
  64. package/dist/cjs/components/progress/index.js +6 -0
  65. package/dist/cjs/components/radio/Radio.js +35 -12
  66. package/dist/cjs/components/radio/RadioContext.js +7 -10
  67. package/dist/cjs/components/radio/RadioGroup.js +23 -20
  68. package/dist/cjs/components/safe-area-view/tokens.js +11 -0
  69. package/dist/cjs/components/search/Search.js +16 -16
  70. package/dist/cjs/components/selector/Selector.js +6 -6
  71. package/dist/cjs/components/share-sheet/ShareSheet.js +50 -46
  72. package/dist/cjs/components/sidebar/Sidebar.js +27 -22
  73. package/dist/cjs/components/sidebar/SidebarItem.js +27 -22
  74. package/dist/cjs/components/skeleton/Skeleton.js +34 -21
  75. package/dist/cjs/components/slider/Slider.js +135 -78
  76. package/dist/cjs/components/stepper/Stepper.js +12 -10
  77. package/dist/cjs/components/swiper/Swiper.js +247 -710
  78. package/dist/cjs/components/swiper/SwiperItem.js +5 -33
  79. package/dist/cjs/components/swiper/tokens.js +11 -0
  80. package/dist/cjs/components/switch/Switch.js +46 -98
  81. package/dist/cjs/components/switch/tokens.js +1 -55
  82. package/dist/cjs/components/tabbar/Tabbar.js +26 -22
  83. package/dist/cjs/components/tabbar/TabbarItem.js +23 -22
  84. package/dist/cjs/components/tabbar/tokens.js +0 -2
  85. package/dist/cjs/components/tabs/Tabs.js +268 -94
  86. package/dist/cjs/components/tabs/index.js +4 -5
  87. package/dist/cjs/components/toast/Toast.js +72 -27
  88. package/dist/cjs/components/toast/imperative.js +2 -2
  89. package/dist/cjs/hooks/gesture/useGestureScroll.js +1 -2
  90. package/dist/cjs/hooks/index.js +12 -12
  91. package/dist/cjs/hooks/overlay/index.js +27 -0
  92. package/dist/cjs/hooks/useHairline.js +0 -4
  93. package/dist/cjs/platform/scrollLock.js +1 -1
  94. package/dist/cjs/utils/compare.js +26 -0
  95. package/dist/cjs/utils/index.js +11 -0
  96. package/dist/es/components/action-sheet/ActionSheet.js +29 -23
  97. package/dist/es/components/area/Area.js +73 -7
  98. package/dist/es/components/area/tokens.js +5 -0
  99. package/dist/es/components/avatar/Avatar.js +42 -10
  100. package/dist/es/components/badge/Badge.js +11 -11
  101. package/dist/es/components/badge/tokens.js +4 -0
  102. package/dist/es/components/button/Button.js +17 -65
  103. package/dist/es/components/button/ButtonContext.js +1 -2
  104. package/dist/es/components/button/ButtonGroup.js +10 -12
  105. package/dist/es/components/button/tokens.js +1 -5
  106. package/dist/es/components/calendar/Calendar.js +24 -13
  107. package/dist/es/components/cascader/Cascader.js +16 -11
  108. package/dist/es/components/cell/Cell.js +4 -4
  109. package/dist/es/components/cell/CellGroup.js +25 -20
  110. package/dist/es/components/checkbox/Checkbox.js +5 -4
  111. package/dist/es/components/checkbox/CheckboxContext.js +1 -2
  112. package/dist/es/components/checkbox/CheckboxGroup.js +24 -21
  113. package/dist/es/components/circle/Circle.js +7 -7
  114. package/dist/es/components/collapse/Collapse.js +11 -11
  115. package/dist/es/components/config-provider/locale/en-US.js +66 -4
  116. package/dist/es/components/config-provider/locale/zh-CN.js +74 -2
  117. package/dist/es/components/config-provider/tokens.js +5 -0
  118. package/dist/es/components/count-down/CountDown.js +7 -7
  119. package/dist/es/components/datetime-picker/DatetimePicker.js +7 -7
  120. package/dist/es/components/datetime-picker/tokens.js +5 -0
  121. package/dist/es/components/dialog/Dialog.js +40 -35
  122. package/dist/es/components/dialog/tokens.js +1 -4
  123. package/dist/es/components/divider/Divider.js +36 -1
  124. package/dist/es/components/field/Field.js +304 -202
  125. package/dist/es/components/flex/Flex.js +5 -1
  126. package/dist/es/components/flex/FlexContext.js +1 -6
  127. package/dist/es/components/form/Form.js +89 -99
  128. package/dist/es/components/form/FormContext.js +1 -2
  129. package/dist/es/components/form/FormItem.js +32 -6
  130. package/dist/es/components/form/FormList.js +18 -5
  131. package/dist/es/components/form/tokens.js +5 -0
  132. package/dist/es/components/form/utils.js +1 -0
  133. package/dist/es/components/grid/Grid.js +43 -29
  134. package/dist/es/components/grid/GridContext.js +1 -2
  135. package/dist/es/components/grid/GridItem.js +24 -24
  136. package/dist/es/components/image/Image.js +18 -14
  137. package/dist/es/components/image-preview/ImagePreview.js +44 -42
  138. package/dist/es/components/index.js +2 -17
  139. package/dist/es/components/input/Input.js +20 -6
  140. package/dist/es/components/loading/Loading.js +10 -139
  141. package/dist/es/components/loading/tokens.js +0 -24
  142. package/dist/es/components/notice-bar/NoticeBar.js +46 -42
  143. package/dist/es/components/notify/Notify.js +63 -22
  144. package/dist/es/components/notify/imperative.js +2 -2
  145. package/dist/es/components/notify/tokens.js +5 -1
  146. package/dist/es/components/number-keyboard/NumberKeyboard.js +7 -7
  147. package/dist/es/components/overlay/Overlay.js +58 -75
  148. package/dist/es/components/overlay/index.js +3 -4
  149. package/dist/es/components/overlay/tokens.js +3 -29
  150. package/dist/es/components/password-input/PasswordInput.js +1 -40
  151. package/dist/es/components/password-input/tokens.js +41 -0
  152. package/dist/es/components/picker/Picker.js +610 -34
  153. package/dist/es/components/popup/Popup.js +62 -49
  154. package/dist/es/components/portal/Portal.js +37 -31
  155. package/dist/es/components/portal/PortalHost.js +257 -211
  156. package/dist/es/components/portal/tokens.js +5 -0
  157. package/dist/es/components/progress/Progress.js +76 -36
  158. package/dist/es/components/progress/index.js +2 -1
  159. package/dist/es/components/radio/Radio.js +37 -14
  160. package/dist/es/components/radio/RadioContext.js +1 -2
  161. package/dist/es/components/radio/RadioGroup.js +23 -20
  162. package/dist/es/components/safe-area-view/tokens.js +5 -0
  163. package/dist/es/components/search/Search.js +17 -17
  164. package/dist/es/components/selector/Selector.js +7 -7
  165. package/dist/es/components/share-sheet/ShareSheet.js +51 -47
  166. package/dist/es/components/sidebar/Sidebar.js +26 -21
  167. package/dist/es/components/sidebar/SidebarItem.js +26 -22
  168. package/dist/es/components/skeleton/Skeleton.js +35 -22
  169. package/dist/es/components/slider/Slider.js +132 -75
  170. package/dist/es/components/stepper/Stepper.js +13 -11
  171. package/dist/es/components/swiper/Swiper.js +248 -711
  172. package/dist/es/components/swiper/SwiperItem.js +1 -21
  173. package/dist/es/components/swiper/tokens.js +5 -0
  174. package/dist/es/components/switch/Switch.js +49 -101
  175. package/dist/es/components/switch/tokens.js +1 -49
  176. package/dist/es/components/tabbar/Tabbar.js +27 -23
  177. package/dist/es/components/tabbar/TabbarItem.js +22 -22
  178. package/dist/es/components/tabbar/tokens.js +0 -2
  179. package/dist/es/components/tabs/Tabs.js +264 -90
  180. package/dist/es/components/tabs/index.js +1 -2
  181. package/dist/es/components/toast/Toast.js +72 -28
  182. package/dist/es/components/toast/imperative.js +2 -2
  183. package/dist/es/hooks/gesture/useGestureScroll.js +1 -2
  184. package/dist/es/hooks/index.js +1 -1
  185. package/dist/es/hooks/overlay/index.js +3 -0
  186. package/dist/es/hooks/useHairline.js +0 -4
  187. package/dist/es/platform/scrollLock.js +1 -1
  188. package/dist/es/utils/compare.js +18 -0
  189. package/dist/es/utils/index.js +1 -1
  190. package/dist/types/components/area/tokens.d.ts +3 -0
  191. package/dist/types/components/avatar/Avatar.d.ts +4 -2
  192. package/dist/types/components/button/ButtonContext.d.ts +2 -16
  193. package/dist/types/components/button/ButtonGroup.d.ts +14 -1
  194. package/dist/types/components/button/index.d.ts +1 -1
  195. package/dist/types/components/checkbox/CheckboxContext.d.ts +2 -16
  196. package/dist/types/components/checkbox/CheckboxGroup.d.ts +15 -1
  197. package/dist/types/components/collapse/Collapse.d.ts +0 -1
  198. package/dist/types/components/config-provider/LocaleContext.d.ts +2 -74
  199. package/dist/types/components/config-provider/tokens.d.ts +3 -0
  200. package/dist/types/components/config-provider/useLocale.d.ts +1 -74
  201. package/dist/types/components/datetime-picker/tokens.d.ts +3 -0
  202. package/dist/types/components/flex/Flex.d.ts +6 -0
  203. package/dist/types/components/flex/FlexContext.d.ts +2 -8
  204. package/dist/types/components/form/Form.d.ts +15 -1
  205. package/dist/types/components/form/FormContext.d.ts +2 -17
  206. package/dist/types/components/form/tokens.d.ts +3 -0
  207. package/dist/types/components/form/utils.d.ts +1 -0
  208. package/dist/types/components/grid/Grid.d.ts +16 -1
  209. package/dist/types/components/grid/GridContext.d.ts +2 -17
  210. package/dist/types/components/index.d.ts +3 -33
  211. package/dist/types/components/loading/index.d.ts +1 -1
  212. package/dist/types/components/notify/Notify.d.ts +1 -0
  213. package/dist/types/components/overlay/Overlay.d.ts +6 -1
  214. package/dist/types/components/overlay/index.d.ts +2 -3
  215. package/dist/types/components/overlay/tokens.d.ts +2 -3
  216. package/dist/types/components/password-input/PasswordInput.d.ts +0 -39
  217. package/dist/types/components/password-input/tokens.d.ts +40 -0
  218. package/dist/types/components/picker/Picker.d.ts +18 -2
  219. package/dist/types/components/picker/index.d.ts +1 -1
  220. package/dist/types/components/portal/Portal.d.ts +4 -6
  221. package/dist/types/components/portal/PortalHost.d.ts +1 -15
  222. package/dist/types/components/portal/tokens.d.ts +3 -0
  223. package/dist/types/components/progress/Progress.d.ts +4 -0
  224. package/dist/types/components/progress/index.d.ts +2 -1
  225. package/dist/types/components/radio/RadioContext.d.ts +2 -13
  226. package/dist/types/components/radio/RadioGroup.d.ts +12 -1
  227. package/dist/types/components/safe-area-view/tokens.d.ts +3 -0
  228. package/dist/types/components/swiper/Swiper.d.ts +4 -2
  229. package/dist/types/components/swiper/SwiperItem.d.ts +1 -5
  230. package/dist/types/components/swiper/tokens.d.ts +3 -0
  231. package/dist/types/components/tabs/Tabs.d.ts +8 -4
  232. package/dist/types/components/tabs/index.d.ts +3 -1
  233. package/dist/types/components/toast/Toast.d.ts +1 -4
  234. package/dist/types/hooks/aria/useAriaListBox.d.ts +0 -6
  235. package/dist/types/hooks/aria/useAriaOverlay.d.ts +0 -10
  236. package/dist/types/hooks/aria/useAriaPress.d.ts +0 -20
  237. package/dist/types/hooks/aria/useAriaToggle.d.ts +0 -3
  238. package/dist/types/hooks/index.d.ts +1 -1
  239. package/dist/types/hooks/overlay/index.d.ts +2 -0
  240. package/dist/types/hooks/useHairline.d.ts +0 -21
  241. package/dist/types/utils/compare.d.ts +2 -0
  242. package/dist/types/utils/index.d.ts +1 -0
  243. package/package.json +10 -48
  244. package/dist/cjs/components/area/utils.js +0 -74
  245. package/dist/cjs/components/cascader/utils.js +0 -20
  246. package/dist/cjs/components/config-provider/locale/base.js +0 -80
  247. package/dist/cjs/components/dropdown-menu/DropdownItem.js +0 -288
  248. package/dist/cjs/components/dropdown-menu/DropdownMenu.js +0 -340
  249. package/dist/cjs/components/dropdown-menu/DropdownMenuContext.js +0 -21
  250. package/dist/cjs/components/dropdown-menu/index.js +0 -25
  251. package/dist/cjs/components/dropdown-menu/tokens.js +0 -67
  252. package/dist/cjs/components/field/utils.js +0 -24
  253. package/dist/cjs/components/index-bar/IndexAnchor.js +0 -74
  254. package/dist/cjs/components/index-bar/IndexBar.js +0 -436
  255. package/dist/cjs/components/index-bar/index.js +0 -25
  256. package/dist/cjs/components/index-bar/tokens.js +0 -45
  257. package/dist/cjs/components/list/List.js +0 -165
  258. package/dist/cjs/components/list/index.js +0 -9
  259. package/dist/cjs/components/list/tokens.js +0 -39
  260. package/dist/cjs/components/notify/defaults.js +0 -15
  261. package/dist/cjs/components/pagination/Pagination.js +0 -160
  262. package/dist/cjs/components/pagination/index.js +0 -22
  263. package/dist/cjs/components/pagination/tokens.js +0 -103
  264. package/dist/cjs/components/picker/WheelPicker.js +0 -492
  265. package/dist/cjs/components/picker/utils.js +0 -138
  266. package/dist/cjs/components/pull-refresh/PullRefresh.js +0 -378
  267. package/dist/cjs/components/pull-refresh/index.js +0 -16
  268. package/dist/cjs/components/pull-refresh/tokens.js +0 -22
  269. package/dist/cjs/components/rate/Rate.js +0 -269
  270. package/dist/cjs/components/rate/index.js +0 -15
  271. package/dist/cjs/components/rate/tokens.js +0 -60
  272. package/dist/cjs/components/slider/utils.js +0 -60
  273. package/dist/cjs/components/swiper/useSwiperWeb.js +0 -209
  274. package/dist/cjs/components/swiper/utils.js +0 -49
  275. package/dist/cjs/components/tabs/TabPane.js +0 -9
  276. package/dist/cjs/components/tabs/useTabsAnimation.js +0 -74
  277. package/dist/cjs/components/tabs/useTabsScroll.js +0 -133
  278. package/dist/cjs/components/tabs/utils.js +0 -34
  279. package/dist/cjs/components/types.js +0 -1
  280. package/dist/cjs/components/uploader/Uploader.js +0 -557
  281. package/dist/cjs/components/uploader/index.js +0 -22
  282. package/dist/cjs/components/uploader/tokens.js +0 -58
  283. package/dist/cjs/components/uploader/utils.js +0 -72
  284. package/dist/cjs/hooks/usePresenceAnimation.js +0 -70
  285. package/dist/es/components/area/utils.js +0 -67
  286. package/dist/es/components/cascader/utils.js +0 -13
  287. package/dist/es/components/config-provider/locale/base.js +0 -74
  288. package/dist/es/components/dropdown-menu/DropdownItem.js +0 -269
  289. package/dist/es/components/dropdown-menu/DropdownMenu.js +0 -320
  290. package/dist/es/components/dropdown-menu/DropdownMenuContext.js +0 -7
  291. package/dist/es/components/dropdown-menu/index.js +0 -7
  292. package/dist/es/components/dropdown-menu/tokens.js +0 -61
  293. package/dist/es/components/field/utils.js +0 -17
  294. package/dist/es/components/index-bar/IndexAnchor.js +0 -55
  295. package/dist/es/components/index-bar/IndexBar.js +0 -417
  296. package/dist/es/components/index-bar/index.js +0 -7
  297. package/dist/es/components/index-bar/tokens.js +0 -39
  298. package/dist/es/components/list/List.js +0 -145
  299. package/dist/es/components/list/index.js +0 -2
  300. package/dist/es/components/list/tokens.js +0 -32
  301. package/dist/es/components/notify/defaults.js +0 -9
  302. package/dist/es/components/pagination/Pagination.js +0 -141
  303. package/dist/es/components/pagination/index.js +0 -4
  304. package/dist/es/components/pagination/tokens.js +0 -91
  305. package/dist/es/components/picker/WheelPicker.js +0 -473
  306. package/dist/es/components/picker/utils.js +0 -127
  307. package/dist/es/components/pull-refresh/PullRefresh.js +0 -359
  308. package/dist/es/components/pull-refresh/index.js +0 -3
  309. package/dist/es/components/pull-refresh/tokens.js +0 -16
  310. package/dist/es/components/rate/Rate.js +0 -250
  311. package/dist/es/components/rate/index.js +0 -3
  312. package/dist/es/components/rate/tokens.js +0 -53
  313. package/dist/es/components/slider/utils.js +0 -49
  314. package/dist/es/components/swiper/useSwiperWeb.js +0 -190
  315. package/dist/es/components/swiper/utils.js +0 -37
  316. package/dist/es/components/tabs/TabPane.js +0 -3
  317. package/dist/es/components/tabs/useTabsAnimation.js +0 -55
  318. package/dist/es/components/tabs/useTabsScroll.js +0 -114
  319. package/dist/es/components/tabs/utils.js +0 -19
  320. package/dist/es/components/types.js +0 -1
  321. package/dist/es/components/uploader/Uploader.js +0 -537
  322. package/dist/es/components/uploader/index.js +0 -4
  323. package/dist/es/components/uploader/tokens.js +0 -52
  324. package/dist/es/components/uploader/utils.js +0 -60
  325. package/dist/es/hooks/usePresenceAnimation.js +0 -51
  326. package/dist/types/components/area/utils.d.ts +0 -2
  327. package/dist/types/components/cascader/utils.d.ts +0 -6
  328. package/dist/types/components/config-provider/locale/base.d.ts +0 -74
  329. package/dist/types/components/dropdown-menu/DropdownItem.d.ts +0 -4
  330. package/dist/types/components/dropdown-menu/DropdownMenu.d.ts +0 -4
  331. package/dist/types/components/dropdown-menu/DropdownMenuContext.d.ts +0 -17
  332. package/dist/types/components/dropdown-menu/index.d.ts +0 -8
  333. package/dist/types/components/dropdown-menu/tokens.d.ts +0 -52
  334. package/dist/types/components/field/utils.d.ts +0 -4
  335. package/dist/types/components/index-bar/IndexAnchor.d.ts +0 -4
  336. package/dist/types/components/index-bar/IndexBar.d.ts +0 -4
  337. package/dist/types/components/index-bar/index.d.ts +0 -9
  338. package/dist/types/components/index-bar/tokens.d.ts +0 -31
  339. package/dist/types/components/list/List.d.ts +0 -4
  340. package/dist/types/components/list/index.d.ts +0 -3
  341. package/dist/types/components/list/tokens.d.ts +0 -4
  342. package/dist/types/components/notify/defaults.d.ts +0 -10
  343. package/dist/types/components/pagination/Pagination.d.ts +0 -5
  344. package/dist/types/components/pagination/index.d.ts +0 -5
  345. package/dist/types/components/pagination/tokens.d.ts +0 -2
  346. package/dist/types/components/picker/WheelPicker.d.ts +0 -21
  347. package/dist/types/components/picker/utils.d.ts +0 -17
  348. package/dist/types/components/pull-refresh/PullRefresh.d.ts +0 -5
  349. package/dist/types/components/pull-refresh/index.d.ts +0 -4
  350. package/dist/types/components/pull-refresh/tokens.d.ts +0 -10
  351. package/dist/types/components/rate/Rate.d.ts +0 -4
  352. package/dist/types/components/rate/index.d.ts +0 -4
  353. package/dist/types/components/rate/tokens.d.ts +0 -4
  354. package/dist/types/components/slider/utils.d.ts +0 -42
  355. package/dist/types/components/swiper/useSwiperWeb.d.ts +0 -41
  356. package/dist/types/components/swiper/utils.d.ts +0 -17
  357. package/dist/types/components/tabs/TabPane.d.ts +0 -4
  358. package/dist/types/components/tabs/useTabsAnimation.d.ts +0 -30
  359. package/dist/types/components/tabs/useTabsScroll.d.ts +0 -23
  360. package/dist/types/components/tabs/utils.d.ts +0 -5
  361. package/dist/types/components/types.d.ts +0 -59
  362. package/dist/types/components/uploader/Uploader.d.ts +0 -4
  363. package/dist/types/components/uploader/index.d.ts +0 -5
  364. package/dist/types/components/uploader/tokens.d.ts +0 -42
  365. package/dist/types/components/uploader/utils.d.ts +0 -11
  366. package/dist/types/hooks/usePresenceAnimation.d.ts +0 -20
  367. /package/dist/cjs/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  368. /package/dist/cjs/{components → hooks}/overlay/useOverlayStack.js +0 -0
  369. /package/dist/es/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  370. /package/dist/es/{components → hooks}/overlay/useOverlayStack.js +0 -0
  371. /package/dist/types/{components → hooks}/overlay/OverlayStackStore.d.ts +0 -0
  372. /package/dist/types/{components → hooks}/overlay/useOverlayStack.d.ts +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Progress = void 0;
6
+ exports.default = exports.ProgressFilledTrack = exports.Progress = void 0;
7
7
  function _react() {
8
8
  const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
@@ -23,6 +23,42 @@ var _tokens = require("./tokens");
23
23
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
24
24
  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); }
25
25
  const GRADIENT_REGEX = /linear-gradient|radial-gradient|conic-gradient/i;
26
+ const ProgressContext = /*#__PURE__*/_react().default.createContext(null);
27
+ const ProgressFilledTrack = ({
28
+ style
29
+ }) => {
30
+ const context = (0, _react().useContext)(ProgressContext);
31
+ if (!context) return null;
32
+ const indicatorSize = (0, _react().useMemo)(() => context.animatedValue.interpolate({
33
+ inputRange: [0, 100],
34
+ outputRange: ['0%', '100%']
35
+ }), [context.animatedValue]);
36
+ const sizeStyle = (0, _react().useMemo)(() => context.orientation === 'vertical' ? {
37
+ width: context.height,
38
+ height: indicatorSize,
39
+ bottom: 0,
40
+ left: 0,
41
+ position: 'absolute'
42
+ } : {
43
+ height: context.height,
44
+ width: indicatorSize
45
+ }, [context.height, context.orientation, indicatorSize]);
46
+ const baseStyle = [context.orientation === 'vertical' ? {
47
+ position: 'absolute',
48
+ left: 0,
49
+ bottom: 0
50
+ } : context.layoutIndicator, {
51
+ backgroundColor: context.indicatorColor,
52
+ borderRadius: context.height / 2,
53
+ ...(context.isGradient && context.gradientColor ? {
54
+ backgroundImage: context.gradientColor
55
+ } : null)
56
+ }, sizeStyle, context.indicatorStyle, style];
57
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
58
+ style: baseStyle
59
+ });
60
+ };
61
+ exports.ProgressFilledTrack = ProgressFilledTrack;
26
62
  const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
27
63
  const {
28
64
  tokensOverride,
@@ -41,22 +77,25 @@ const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
41
77
  style,
42
78
  pivotStyle,
43
79
  indicatorStyle,
80
+ orientation: orientationProp,
81
+ children,
44
82
  ...rest
45
83
  } = props;
46
84
  const tokens = (0, _tokens.useProgressTokens)(tokensOverride);
47
- const percentage = (0, _utils.clamp)((0, _utils.parsePercentage)(percentageProp ?? tokens.defaults.percentage), 0, 100);
48
- const height = (0, _utils.parseNumberLike)(strokeWidth, tokens.sizing.height) ?? tokens.sizing.height;
49
- const inactive = inactiveProp ?? tokens.defaults.inactive;
50
- const showPivot = showPivotProp ?? tokens.defaults.showPivot;
51
- const shouldAnimate = (animated ?? transitionProp ?? tokens.defaults.transition) && !inactive;
52
- const duration = Math.max(0, animationDurationProp ?? tokens.defaults.animationDuration);
85
+ const percentage = (0, _react().useMemo)(() => (0, _utils.clamp)((0, _utils.parsePercentage)(percentageProp ?? tokens.defaults.percentage), 0, 100), [percentageProp, tokens.defaults.percentage]);
86
+ const height = (0, _react().useMemo)(() => (0, _utils.parseNumberLike)(strokeWidth, tokens.sizing.height) ?? tokens.sizing.height, [strokeWidth, tokens.sizing.height]);
87
+ const inactive = (0, _react().useMemo)(() => inactiveProp ?? tokens.defaults.inactive, [inactiveProp, tokens.defaults.inactive]);
88
+ const orientation = orientationProp ?? 'horizontal';
89
+ const showPivot = (0, _react().useMemo)(() => orientation === 'vertical' ? false : showPivotProp ?? tokens.defaults.showPivot, [orientation, showPivotProp, tokens.defaults.showPivot]);
90
+ const shouldAnimate = (0, _react().useMemo)(() => (animated ?? transitionProp ?? tokens.defaults.transition) && !inactive, [animated, inactive, tokens.defaults.transition, transitionProp]);
91
+ const duration = (0, _react().useMemo)(() => Math.max(0, animationDurationProp ?? tokens.defaults.animationDuration), [animationDurationProp, tokens.defaults.animationDuration]);
53
92
  const isGradient = _reactNative().Platform.OS === 'web' && (0, _utils.isString)(color) && GRADIENT_REGEX.test(color);
54
- const resolvedTrackColor = trackColor ?? tokens.colors.track;
55
- const resolvedIndicatorColor = inactive ? tokens.colors.track : !isGradient ? color ?? tokens.colors.indicator : undefined;
56
- const resolvedPivotBg = pivotColor ?? (isGradient ? inactive ? tokens.colors.track : tokens.colors.indicator : resolvedIndicatorColor);
57
- const resolvedPivotTextColor = textColor ?? tokens.colors.pivotText;
58
- const pivotContent = pivotText ?? `${percentage}%`;
59
- const hasPivot = showPivot && pivotContent !== null && pivotContent !== false;
93
+ const resolvedTrackColor = (0, _react().useMemo)(() => trackColor ?? tokens.colors.track, [tokens.colors.track, trackColor]);
94
+ const resolvedIndicatorColor = (0, _react().useMemo)(() => inactive ? tokens.colors.track : !isGradient ? color ?? tokens.colors.indicator : undefined, [color, inactive, isGradient, tokens.colors.indicator, tokens.colors.track]);
95
+ const resolvedPivotBg = (0, _react().useMemo)(() => pivotColor ?? (isGradient ? inactive ? tokens.colors.track : tokens.colors.indicator : resolvedIndicatorColor), [inactive, isGradient, pivotColor, resolvedIndicatorColor, tokens.colors.indicator, tokens.colors.track]);
96
+ const resolvedPivotTextColor = (0, _react().useMemo)(() => textColor ?? tokens.colors.pivotText, [textColor, tokens.colors.pivotText]);
97
+ const pivotContent = (0, _react().useMemo)(() => pivotText ?? `${percentage}%`, [percentage, pivotText]);
98
+ const hasPivot = (0, _react().useMemo)(() => showPivot && pivotContent !== null && pivotContent !== false, [pivotContent, showPivot]);
60
99
  const animatedValue = (0, _react().useRef)(new (_reactNative().Animated.Value)(percentage)).current;
61
100
  (0, _react().useEffect)(() => {
62
101
  if (shouldAnimate && duration > 0) {
@@ -89,13 +128,18 @@ const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
89
128
  pivot: width
90
129
  });
91
130
  }, []);
92
- const trackStyle = [tokens.layout.track, {
131
+ const trackStyle = (0, _react().useMemo)(() => [tokens.layout.track, orientation === 'vertical' ? {
132
+ width: height,
133
+ height: '100%',
134
+ backgroundColor: resolvedTrackColor,
135
+ borderRadius: height / 2
136
+ } : {
93
137
  height,
94
138
  backgroundColor: resolvedTrackColor,
95
139
  borderRadius: height / 2
96
- }];
97
- let pivotNode = null;
98
- if (hasPivot) {
140
+ }], [height, orientation, resolvedTrackColor, tokens.layout.track]);
141
+ const pivotNode = (0, _react().useMemo)(() => {
142
+ if (!hasPivot) return null;
99
143
  const {
100
144
  track: trackW,
101
145
  pivot: pivotW
@@ -130,7 +174,7 @@ const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
130
174
  };
131
175
  }
132
176
  }
133
- pivotNode = /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
177
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
134
178
  style: [pivotContainerStyle, transformStyle],
135
179
  pointerEvents: "none",
136
180
  onLayout: onPivotLayout
@@ -140,12 +184,20 @@ const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
140
184
  fontSize: tokens.typography.pivotFontSize
141
185
  }, pivotStyle]
142
186
  }, pivotContent) : pivotContent);
143
- }
144
- const indicatorWidth = animatedValue.interpolate({
145
- inputRange: [0, 100],
146
- outputRange: ['0%', '100%']
147
- });
148
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
187
+ }, [animatedValue, hasPivot, height, layout, onPivotLayout, pivotContent, pivotStyle, resolvedPivotBg, resolvedPivotTextColor, tokens.layout.pivot, tokens.layout.pivotText, tokens.sizing.pivotPaddingHorizontal, tokens.sizing.pivotPaddingVertical, tokens.typography.pivotFontSize]);
188
+ const progressContextValue = (0, _react().useMemo)(() => ({
189
+ animatedValue,
190
+ orientation,
191
+ height,
192
+ indicatorColor: resolvedIndicatorColor,
193
+ indicatorStyle: indicatorStyle,
194
+ isGradient,
195
+ gradientColor: isGradient ? color : undefined,
196
+ layoutIndicator: tokens.layout.indicator
197
+ }), [animatedValue, color, height, indicatorStyle, isGradient, orientation, resolvedIndicatorColor, tokens.layout.indicator]);
198
+ return /*#__PURE__*/_react().default.createElement(ProgressContext.Provider, {
199
+ value: progressContextValue
200
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({
149
201
  style: style,
150
202
  accessibilityRole: "progressbar",
151
203
  accessibilityValue: {
@@ -156,18 +208,7 @@ const Progress = exports.Progress = /*#__PURE__*/(0, _react().memo)(props => {
156
208
  }, rest), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
157
209
  style: trackStyle,
158
210
  onLayout: hasPivot ? onTrackLayout : undefined
159
- }, /*#__PURE__*/_react().default.createElement(_reactNative().Animated.View, {
160
- style: [tokens.layout.indicator, {
161
- height,
162
- backgroundColor: resolvedIndicatorColor,
163
- borderRadius: height / 2,
164
- ...(isGradient && {
165
- backgroundImage: color
166
- })
167
- }, indicatorStyle, {
168
- width: indicatorWidth
169
- }]
170
- })), pivotNode);
211
+ }, children ?? /*#__PURE__*/_react().default.createElement(ProgressFilledTrack, null)), pivotNode));
171
212
  });
172
213
  Progress.displayName = 'Progress';
173
214
  var _default = exports.default = Progress;
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "ProgressFilledTrack", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _Progress.ProgressFilledTrack;
10
+ }
11
+ });
6
12
  exports.default = void 0;
7
13
  var _Progress = require("./Progress");
8
14
  var _default = exports.default = _Progress.Progress;
@@ -73,7 +73,8 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
73
73
  const shape = shapeProp ?? tokens.defaults.shape;
74
74
  const standaloneKey = serializedValue ?? 'standalone';
75
75
  const inputRef = (0, _react().useRef)(null);
76
- const resolvedAccessibilityLabel = accessibilityLabel ?? ariaLabel ?? ((0, _utils.isText)(children) ? String(children) : undefined) ?? serializedValue ?? 'radio';
76
+ const inputElementRef = (0, _react().useRef)(null);
77
+ const resolvedAccessibilityLabel = (0, _react().useMemo)(() => accessibilityLabel ?? ariaLabel ?? ((0, _utils.isText)(children) ? String(children) : undefined) ?? serializedValue ?? 'radio', [accessibilityLabel, ariaLabel, children, serializedValue]);
77
78
  const {
78
79
  isSelected: standaloneSelected,
79
80
  setSelected: setStandaloneSelected
@@ -102,6 +103,7 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
102
103
  onFocus,
103
104
  ...compatibleRest
104
105
  } = rest;
106
+ const ariaRef = _reactNative().Platform.OS === 'web' ? inputElementRef : inputRef;
105
107
  const {
106
108
  inputProps
107
109
  } = (0, _radio().useRadio)({
@@ -110,7 +112,7 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
110
112
  'aria-label': resolvedAccessibilityLabel,
111
113
  accessibilityLabel: resolvedAccessibilityLabel,
112
114
  ...compatibleRest
113
- }, state, inputRef);
115
+ }, state, ariaRef);
114
116
  const isChecked = isGroup && group && serializedValue !== undefined ? group.state.selectedValue === serializedValue : checked !== undefined ? checked : standaloneSelected;
115
117
  const inputOnPress = inputProps?.onPress;
116
118
  const handlePress = (0, _react().useCallback)(e => {
@@ -136,14 +138,14 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
136
138
  } : {};
137
139
  const borderColor = resolvedDisabled ? tokens.colors.disabledBorder : isChecked ? resolvedCheckedColor : tokens.colors.border;
138
140
  const backgroundColor = resolvedDisabled ? tokens.colors.disabledBackground : tokens.colors.background;
139
- const spacingStyle = resolvedLabelPosition === 'left' ? {
141
+ const spacingStyle = (0, _react().useMemo)(() => resolvedLabelPosition === 'left' ? {
140
142
  marginRight: tokens.spacing.gap
141
143
  } : {
142
144
  marginLeft: tokens.spacing.gap
143
- };
144
- const labelColor = resolvedDisabled ? tokens.colors.labelDisabled : tokens.colors.label;
145
- const borderRadius = shape === 'square' ? tokens.radii.square : tokens.radii.round;
146
- const labelNode = children === null || children === undefined || children === false ? null : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
145
+ }, [resolvedLabelPosition, tokens.spacing.gap]);
146
+ const labelColor = (0, _react().useMemo)(() => resolvedDisabled ? tokens.colors.labelDisabled : tokens.colors.label, [resolvedDisabled, tokens.colors.label, tokens.colors.labelDisabled]);
147
+ const borderRadius = (0, _react().useMemo)(() => shape === 'square' ? tokens.radii.square : tokens.radii.round, [shape, tokens.radii.round, tokens.radii.square]);
148
+ const labelNode = (0, _react().useMemo)(() => children === null || children === undefined || children === false ? null : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
147
149
  style: [tokens.layout.labelWrapper, spacingStyle],
148
150
  pointerEvents: "none",
149
151
  accessible: false
@@ -156,9 +158,9 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
156
158
  fontFamily: tokens.typography.fontFamily,
157
159
  fontWeight: tokens.typography.fontWeight
158
160
  }, labelStyle]
159
- }, children) : children);
161
+ }, children) : children), [children, labelColor, labelStyle, spacingStyle, tokens.layout.label, tokens.layout.labelWrapper, tokens.typography.fontFamily, tokens.typography.fontSize, tokens.typography.fontWeight, tokens.typography.lineHeightMultiplier]);
160
162
  const interactive = !resolvedDisabled && !resolvedLabelDisabled;
161
- const defaultIcon = /*#__PURE__*/_react().default.createElement(_reactNative().View, {
163
+ const defaultIcon = (0, _react().useMemo)(() => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
162
164
  style: [tokens.layout.icon, {
163
165
  width: resolvedIconSize,
164
166
  height: resolvedIconSize,
@@ -174,14 +176,35 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
174
176
  borderRadius,
175
177
  backgroundColor: resolvedCheckedColor
176
178
  }
177
- }) : null);
179
+ }) : null), [backgroundColor, borderColor, borderRadius, isChecked, resolvedCheckedColor, resolvedIconSize, tokens.borders.width, tokens.layout.icon, tokens.sizing.dotScale]);
178
180
  const iconVisual = iconRender ? iconRender({
179
181
  checked: Boolean(isChecked),
180
182
  disabled: Boolean(resolvedDisabled)
181
183
  }) ?? null : defaultIcon;
184
+ const webInputStyle = {
185
+ position: 'absolute',
186
+ width: 1,
187
+ height: 1,
188
+ margin: -1,
189
+ border: 0,
190
+ padding: 0,
191
+ overflow: 'hidden',
192
+ clip: 'rect(0 0 0 0)',
193
+ clipPath: 'inset(50%)',
194
+ whiteSpace: 'nowrap'
195
+ };
196
+ const {
197
+ ref: _ignoredAriaRefProp,
198
+ ...webInputProps
199
+ } = inputProps ?? {};
200
+ const webInputNode = _reactNative().Platform.OS === 'web' ? /*#__PURE__*/_react().default.createElement("input", _extends({
201
+ ref: inputElementRef
202
+ }, webInputProps, {
203
+ style: webInputStyle
204
+ })) : null;
182
205
  const iconNode = interactive ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
183
206
  style: tokens.layout.iconWrapper
184
- }, iconVisual) : /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mergedInputProps, {
207
+ }, iconVisual, webInputNode) : /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mergedInputProps, {
185
208
  ref: inputRef,
186
209
  testID: serializedValue !== undefined ? `radio-icon-${serializedValue}` : undefined,
187
210
  disabled: resolvedDisabled,
@@ -191,7 +214,7 @@ const Radio = exports.Radio = /*#__PURE__*/_react().default.memo(props => {
191
214
  disabled: resolvedDisabled
192
215
  },
193
216
  style: tokens.layout.iconWrapper
194
- }), iconVisual);
217
+ }), iconVisual, webInputNode);
195
218
  const left = resolvedLabelPosition === 'left';
196
219
  const first = left ? labelNode : iconNode;
197
220
  const second = left ? iconNode : labelNode;
@@ -3,13 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.RadioGroupContext = void 0;
7
- function _react() {
8
- const data = _interopRequireDefault(require("react"));
9
- _react = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
- const RadioGroupContext = exports.RadioGroupContext = /*#__PURE__*/_react().default.createContext(null);
6
+ Object.defineProperty(exports, "RadioGroupContext", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _RadioGroup.RadioGroupContext;
10
+ }
11
+ });
12
+ var _RadioGroup = require("./RadioGroup");
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.RadioGroup = void 0;
6
+ exports.RadioGroupContext = exports.RadioGroup = void 0;
7
7
  function _react() {
8
8
  const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
@@ -32,10 +32,10 @@ function _radio2() {
32
32
  };
33
33
  return data;
34
34
  }
35
- var _RadioContext = require("./RadioContext");
36
35
  var _tokens = require("./tokens");
37
36
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
38
37
  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); }
38
+ const RadioGroupContext = exports.RadioGroupContext = /*#__PURE__*/_react().default.createContext(null);
39
39
  const RadioGroup = props => {
40
40
  const {
41
41
  value,
@@ -83,18 +83,19 @@ const RadioGroup = props => {
83
83
  'aria-label': accessibilityLabel,
84
84
  name
85
85
  }, state);
86
- const resolvedRadioGroupProps = {
86
+ const resolvedRadioGroupProps = (0, _react().useMemo)(() => ({
87
87
  ...(radioGroupProps ?? {}),
88
88
  ...(accessibilityHint && {
89
89
  'aria-describedby': accessibilityHint
90
90
  }),
91
91
  'aria-disabled': disabled
92
- };
92
+ }), [accessibilityHint, disabled, radioGroupProps]);
93
93
  const supportsGap = _reactNative().Platform.OS === 'web';
94
- const childrenArray = _react().default.Children.toArray(children).filter(child => child != null && typeof child !== 'boolean');
95
- const itemStyleForIndex = index => {
94
+ const childrenArray = (0, _react().useMemo)(() => _react().default.Children.toArray(children).filter(child => child != null && typeof child !== 'boolean'), [children]);
95
+ const childrenLength = childrenArray.length;
96
+ const itemStyleForIndex = (0, _react().useCallback)(index => {
96
97
  if (supportsGap) return tokens.layout.groupItem;
97
- const isLast = index === childrenArray.length - 1;
98
+ const isLast = index === childrenLength - 1;
98
99
  if (direction === 'horizontal') {
99
100
  return [tokens.layout.groupItem, !isLast && {
100
101
  marginRight: gap
@@ -103,12 +104,12 @@ const RadioGroup = props => {
103
104
  return isLast ? tokens.layout.groupItem : [tokens.layout.groupItem, {
104
105
  marginBottom: gap
105
106
  }];
106
- };
107
- const containerGapStyle = supportsGap ? {
107
+ }, [childrenLength, direction, gap, supportsGap, tokens.layout.groupItem]);
108
+ const containerGapStyle = (0, _react().useMemo)(() => supportsGap ? {
108
109
  columnGap: direction === 'horizontal' ? gap : undefined,
109
110
  rowGap: gap
110
- } : null;
111
- const contextValue = {
111
+ } : null, [direction, gap, supportsGap]);
112
+ const contextValue = (0, _react().useMemo)(() => ({
112
113
  state,
113
114
  direction,
114
115
  iconSize,
@@ -116,14 +117,9 @@ const RadioGroup = props => {
116
117
  labelDisabled,
117
118
  registerValue,
118
119
  unregisterValue
119
- };
120
- return /*#__PURE__*/_react().default.createElement(_RadioContext.RadioGroupContext.Provider, {
121
- value: contextValue
122
- }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, resolvedRadioGroupProps, viewProps, {
123
- accessibilityLabel: accessibilityLabel,
124
- accessibilityHint: accessibilityHint,
125
- style: [direction === 'horizontal' ? tokens.layout.groupHorizontal : tokens.layout.groupVertical, containerGapStyle, style]
126
- }), supportsGap ? childrenArray : childrenArray.map((child, index) => {
120
+ }), [checkedColor, direction, iconSize, labelDisabled, registerValue, state, unregisterValue]);
121
+ const containerStyle = (0, _react().useMemo)(() => [direction === 'horizontal' ? tokens.layout.groupHorizontal : tokens.layout.groupVertical, containerGapStyle, style], [containerGapStyle, direction, style, tokens.layout.groupHorizontal, tokens.layout.groupVertical]);
122
+ const renderedChildren = (0, _react().useMemo)(() => supportsGap ? childrenArray : childrenArray.map((child, index) => {
127
123
  const key = /*#__PURE__*/_react().default.isValidElement(child) && child.key !== null ? child.key : index;
128
124
  const itemStyle = itemStyleForIndex(index);
129
125
  if (/*#__PURE__*/_react().default.isValidElement(child) && child.type !== _react().default.Fragment) {
@@ -137,6 +133,13 @@ const RadioGroup = props => {
137
133
  key: key,
138
134
  style: itemStyle
139
135
  }, child);
140
- })));
136
+ }), [childrenArray, itemStyleForIndex, supportsGap]);
137
+ return /*#__PURE__*/_react().default.createElement(RadioGroupContext.Provider, {
138
+ value: contextValue
139
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, resolvedRadioGroupProps, viewProps, {
140
+ accessibilityLabel: accessibilityLabel,
141
+ accessibilityHint: accessibilityHint,
142
+ style: containerStyle
143
+ }), renderedChildren));
141
144
  };
142
145
  exports.RadioGroup = RadioGroup;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useSafeAreaViewTokens = void 0;
7
+ var _designSystem = require("../../design-system");
8
+ const createSafeAreaViewTokens = _foundations => {
9
+ return {};
10
+ };
11
+ const useSafeAreaViewTokens = exports.useSafeAreaViewTokens = (0, _designSystem.createComponentTokensHook)('safeAreaView', createSafeAreaViewTokens);
@@ -67,7 +67,7 @@ const SearchComponent = (props, ref) => {
67
67
  defaultValue: ''
68
68
  });
69
69
  const inputValue = value ?? '';
70
- const resolvedInputAlign = align ?? inputAlign;
70
+ const resolvedInputAlign = (0, _react().useMemo)(() => align ?? inputAlign, [align, inputAlign]);
71
71
  const handleChange = (0, _react().useCallback)(next => {
72
72
  triggerChange(next);
73
73
  onChangeText?.(next);
@@ -80,18 +80,18 @@ const SearchComponent = (props, ref) => {
80
80
  onSearch?.(inputValue);
81
81
  onSubmitEditing?.(event);
82
82
  }, [inputValue, onSearch, onSubmitEditing]);
83
- const resolvedBackground = background ?? tokens.colors.background;
84
- const resolvedLeftIcon = leftIcon ?? /*#__PURE__*/_react().default.createElement(_reactNativeSystemIcon().Search, {
83
+ const resolvedBackground = (0, _react().useMemo)(() => background ?? tokens.colors.background, [background, tokens.colors.background]);
84
+ const resolvedLeftIcon = (0, _react().useMemo)(() => leftIcon ?? /*#__PURE__*/_react().default.createElement(_reactNativeSystemIcon().Search, {
85
85
  size: tokens.icon.size,
86
86
  fill: tokens.colors.icon,
87
87
  color: tokens.colors.icon
88
- });
89
- const resolvedClearTrigger = clearTrigger ?? tokens.defaults.clearTrigger;
90
- const resolvedReturnKeyType = returnKeyType ?? 'search';
91
- const shouldShowAction = !!action || showAction;
92
- const isCustomActionText = /*#__PURE__*/_react().default.isValidElement(actionText);
93
- const shouldRenderCancelAction = shouldShowAction && !action && !isCustomActionText;
94
- const radius = shape === 'round' ? tokens.radius.round : tokens.radius.square;
88
+ }), [leftIcon, tokens.colors.icon, tokens.icon.size]);
89
+ const resolvedClearTrigger = (0, _react().useMemo)(() => clearTrigger ?? tokens.defaults.clearTrigger, [clearTrigger, tokens.defaults.clearTrigger]);
90
+ const resolvedReturnKeyType = (0, _react().useMemo)(() => returnKeyType ?? 'search', [returnKeyType]);
91
+ const shouldShowAction = (0, _react().useMemo)(() => !!action || showAction, [action, showAction]);
92
+ const isCustomActionText = (0, _react().useMemo)(() => /*#__PURE__*/_react().default.isValidElement(actionText), [actionText]);
93
+ const shouldRenderCancelAction = (0, _react().useMemo)(() => shouldShowAction && !action && !isCustomActionText, [action, isCustomActionText, shouldShowAction]);
94
+ const radius = (0, _react().useMemo)(() => shape === 'round' ? tokens.radius.round : tokens.radius.square, [shape, tokens.radius.round, tokens.radius.square]);
95
95
  const inputRef = (0, _react().useRef)(null);
96
96
  (0, _react().useImperativeHandle)(ref, () => ({
97
97
  focus: () => inputRef.current?.focus(),
@@ -106,18 +106,18 @@ const SearchComponent = (props, ref) => {
106
106
  testID: 'rnsu-search-action'
107
107
  }
108
108
  });
109
- const containerStyles = [styles.container, {
109
+ const containerStyles = (0, _react().useMemo)(() => [styles.container, {
110
110
  paddingHorizontal: tokens.spacing.paddingHorizontal,
111
111
  paddingVertical: tokens.spacing.paddingVertical,
112
112
  backgroundColor: resolvedBackground
113
- }, containerStyle];
114
- const contentStyles = [styles.content, {
113
+ }, containerStyle], [containerStyle, resolvedBackground, tokens.spacing.paddingHorizontal, tokens.spacing.paddingVertical]);
114
+ const contentStyles = (0, _react().useMemo)(() => [styles.content, {
115
115
  borderRadius: radius,
116
116
  paddingHorizontal: tokens.spacing.contentPaddingHorizontal,
117
117
  paddingVertical: tokens.spacing.contentPaddingVertical,
118
118
  backgroundColor: tokens.colors.contentBackground
119
- }];
120
- const labelNode = !label ? null : (0, _validate.isText)(label) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
119
+ }], [radius, tokens.colors.contentBackground, tokens.spacing.contentPaddingHorizontal, tokens.spacing.contentPaddingVertical]);
120
+ const labelNode = (0, _react().useMemo)(() => !label ? null : (0, _validate.isText)(label) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
121
121
  style: {
122
122
  marginRight: tokens.spacing.labelGap,
123
123
  color: tokens.colors.label,
@@ -128,7 +128,7 @@ const SearchComponent = (props, ref) => {
128
128
  style: {
129
129
  marginRight: tokens.spacing.labelGap
130
130
  }
131
- }, label);
131
+ }, label), [label, tokens.colors.label, tokens.spacing.labelGap, tokens.typography.label, tokens.typography.labelWeight]);
132
132
  const actionNode = action ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
133
133
  style: [styles.actionWrapper, {
134
134
  marginLeft: tokens.spacing.actionGap
@@ -141,15 +141,15 @@ const SelectorImpl = props => {
141
141
  const [value = [], triggerChange] = (0, _hooks.useControllableValue)(props, {
142
142
  defaultValue: []
143
143
  });
144
- const optionByValue = (() => {
144
+ const optionByValue = (0, _react().useMemo)(() => {
145
145
  const map = new Map();
146
146
  for (const option of options) map.set(option.value, option);
147
147
  return map;
148
- })();
149
- const resolvedColumns = Math.max(1, Math.floor(columns));
150
- const basis = `${100 / resolvedColumns}%`;
151
- const itemMargin = tokens.spacing.gap / 2;
152
- const selectedSet = new Set(value);
148
+ }, [options]);
149
+ const resolvedColumns = (0, _react().useMemo)(() => Math.max(1, Math.floor(columns)), [columns]);
150
+ const basis = (0, _react().useMemo)(() => `${100 / resolvedColumns}%`, [resolvedColumns]);
151
+ const itemMargin = (0, _react().useMemo)(() => tokens.spacing.gap / 2, [tokens.spacing.gap]);
152
+ const selectedSet = (0, _react().useMemo)(() => new Set(value), [value]);
153
153
  const toggleOption = (0, _react().useCallback)(option => {
154
154
  if (disabled || option.disabled) return;
155
155
  const active = selectedSet.has(option.value);