react-native-system-ui 0.0.5 → 0.0.6

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 (371) hide show
  1. package/dist/cjs/components/action-sheet/ActionSheet.js +28 -22
  2. package/dist/cjs/components/area/Area.js +72 -6
  3. package/dist/cjs/components/area/tokens.js +11 -0
  4. package/dist/cjs/components/avatar/Avatar.js +42 -10
  5. package/dist/cjs/components/badge/Badge.js +10 -10
  6. package/dist/cjs/components/badge/tokens.js +4 -0
  7. package/dist/cjs/components/button/Button.js +16 -65
  8. package/dist/cjs/components/button/ButtonContext.js +7 -10
  9. package/dist/cjs/components/button/ButtonGroup.js +13 -15
  10. package/dist/cjs/components/button/tokens.js +1 -5
  11. package/dist/cjs/components/calendar/Calendar.js +23 -12
  12. package/dist/cjs/components/cascader/Cascader.js +18 -13
  13. package/dist/cjs/components/cell/Cell.js +3 -3
  14. package/dist/cjs/components/cell/CellGroup.js +26 -21
  15. package/dist/cjs/components/checkbox/Checkbox.js +5 -4
  16. package/dist/cjs/components/checkbox/CheckboxContext.js +7 -10
  17. package/dist/cjs/components/checkbox/CheckboxGroup.js +24 -21
  18. package/dist/cjs/components/circle/Circle.js +6 -6
  19. package/dist/cjs/components/collapse/Collapse.js +10 -10
  20. package/dist/cjs/components/config-provider/locale/en-US.js +66 -4
  21. package/dist/cjs/components/config-provider/locale/zh-CN.js +74 -2
  22. package/dist/cjs/components/config-provider/tokens.js +11 -0
  23. package/dist/cjs/components/count-down/CountDown.js +6 -6
  24. package/dist/cjs/components/datetime-picker/DatetimePicker.js +6 -6
  25. package/dist/cjs/components/datetime-picker/tokens.js +11 -0
  26. package/dist/cjs/components/dialog/Dialog.js +39 -34
  27. package/dist/cjs/components/dialog/tokens.js +1 -4
  28. package/dist/cjs/components/divider/Divider.js +36 -1
  29. package/dist/cjs/components/field/Field.js +303 -201
  30. package/dist/cjs/components/flex/Flex.js +7 -3
  31. package/dist/cjs/components/flex/FlexContext.js +7 -14
  32. package/dist/cjs/components/form/Form.js +112 -122
  33. package/dist/cjs/components/form/FormContext.js +7 -10
  34. package/dist/cjs/components/form/FormItem.js +30 -4
  35. package/dist/cjs/components/form/FormList.js +16 -3
  36. package/dist/cjs/components/form/tokens.js +11 -0
  37. package/dist/cjs/components/form/utils.js +2 -1
  38. package/dist/cjs/components/grid/Grid.js +45 -31
  39. package/dist/cjs/components/grid/GridContext.js +7 -10
  40. package/dist/cjs/components/grid/GridItem.js +22 -22
  41. package/dist/cjs/components/image/Image.js +17 -13
  42. package/dist/cjs/components/image-preview/ImagePreview.js +43 -41
  43. package/dist/cjs/components/index.js +43 -141
  44. package/dist/cjs/components/input/Input.js +19 -5
  45. package/dist/cjs/components/loading/Loading.js +10 -139
  46. package/dist/cjs/components/loading/tokens.js +0 -24
  47. package/dist/cjs/components/notice-bar/NoticeBar.js +45 -41
  48. package/dist/cjs/components/notify/Notify.js +63 -22
  49. package/dist/cjs/components/notify/imperative.js +2 -2
  50. package/dist/cjs/components/notify/tokens.js +11 -1
  51. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +6 -6
  52. package/dist/cjs/components/overlay/Overlay.js +70 -77
  53. package/dist/cjs/components/overlay/index.js +13 -27
  54. package/dist/cjs/components/overlay/tokens.js +4 -31
  55. package/dist/cjs/components/password-input/PasswordInput.js +2 -41
  56. package/dist/cjs/components/password-input/tokens.js +53 -0
  57. package/dist/cjs/components/picker/Picker.js +618 -38
  58. package/dist/cjs/components/popup/Popup.js +60 -47
  59. package/dist/cjs/components/portal/Portal.js +39 -31
  60. package/dist/cjs/components/portal/PortalHost.js +258 -213
  61. package/dist/cjs/components/portal/tokens.js +11 -0
  62. package/dist/cjs/components/progress/Progress.js +77 -36
  63. package/dist/cjs/components/progress/index.js +6 -0
  64. package/dist/cjs/components/radio/Radio.js +35 -12
  65. package/dist/cjs/components/radio/RadioContext.js +7 -10
  66. package/dist/cjs/components/radio/RadioGroup.js +23 -20
  67. package/dist/cjs/components/safe-area-view/tokens.js +11 -0
  68. package/dist/cjs/components/search/Search.js +16 -16
  69. package/dist/cjs/components/selector/Selector.js +6 -6
  70. package/dist/cjs/components/share-sheet/ShareSheet.js +50 -46
  71. package/dist/cjs/components/sidebar/Sidebar.js +27 -22
  72. package/dist/cjs/components/sidebar/SidebarItem.js +27 -22
  73. package/dist/cjs/components/skeleton/Skeleton.js +34 -21
  74. package/dist/cjs/components/slider/Slider.js +135 -78
  75. package/dist/cjs/components/stepper/Stepper.js +12 -10
  76. package/dist/cjs/components/swiper/Swiper.js +247 -710
  77. package/dist/cjs/components/swiper/SwiperItem.js +5 -33
  78. package/dist/cjs/components/swiper/tokens.js +11 -0
  79. package/dist/cjs/components/switch/Switch.js +46 -98
  80. package/dist/cjs/components/switch/tokens.js +1 -55
  81. package/dist/cjs/components/tabbar/Tabbar.js +26 -22
  82. package/dist/cjs/components/tabbar/TabbarItem.js +23 -22
  83. package/dist/cjs/components/tabbar/tokens.js +0 -2
  84. package/dist/cjs/components/tabs/Tabs.js +268 -94
  85. package/dist/cjs/components/tabs/index.js +4 -5
  86. package/dist/cjs/components/toast/Toast.js +72 -27
  87. package/dist/cjs/components/toast/imperative.js +2 -2
  88. package/dist/cjs/hooks/gesture/useGestureScroll.js +1 -2
  89. package/dist/cjs/hooks/index.js +12 -12
  90. package/dist/cjs/hooks/overlay/index.js +27 -0
  91. package/dist/cjs/hooks/useHairline.js +0 -4
  92. package/dist/cjs/platform/scrollLock.js +1 -1
  93. package/dist/cjs/utils/compare.js +26 -0
  94. package/dist/cjs/utils/index.js +11 -0
  95. package/dist/es/components/action-sheet/ActionSheet.js +29 -23
  96. package/dist/es/components/area/Area.js +73 -7
  97. package/dist/es/components/area/tokens.js +5 -0
  98. package/dist/es/components/avatar/Avatar.js +42 -10
  99. package/dist/es/components/badge/Badge.js +11 -11
  100. package/dist/es/components/badge/tokens.js +4 -0
  101. package/dist/es/components/button/Button.js +17 -65
  102. package/dist/es/components/button/ButtonContext.js +1 -2
  103. package/dist/es/components/button/ButtonGroup.js +10 -12
  104. package/dist/es/components/button/tokens.js +1 -5
  105. package/dist/es/components/calendar/Calendar.js +24 -13
  106. package/dist/es/components/cascader/Cascader.js +16 -11
  107. package/dist/es/components/cell/Cell.js +4 -4
  108. package/dist/es/components/cell/CellGroup.js +25 -20
  109. package/dist/es/components/checkbox/Checkbox.js +5 -4
  110. package/dist/es/components/checkbox/CheckboxContext.js +1 -2
  111. package/dist/es/components/checkbox/CheckboxGroup.js +24 -21
  112. package/dist/es/components/circle/Circle.js +7 -7
  113. package/dist/es/components/collapse/Collapse.js +11 -11
  114. package/dist/es/components/config-provider/locale/en-US.js +66 -4
  115. package/dist/es/components/config-provider/locale/zh-CN.js +74 -2
  116. package/dist/es/components/config-provider/tokens.js +5 -0
  117. package/dist/es/components/count-down/CountDown.js +7 -7
  118. package/dist/es/components/datetime-picker/DatetimePicker.js +7 -7
  119. package/dist/es/components/datetime-picker/tokens.js +5 -0
  120. package/dist/es/components/dialog/Dialog.js +40 -35
  121. package/dist/es/components/dialog/tokens.js +1 -4
  122. package/dist/es/components/divider/Divider.js +36 -1
  123. package/dist/es/components/field/Field.js +304 -202
  124. package/dist/es/components/flex/Flex.js +5 -1
  125. package/dist/es/components/flex/FlexContext.js +1 -6
  126. package/dist/es/components/form/Form.js +89 -99
  127. package/dist/es/components/form/FormContext.js +1 -2
  128. package/dist/es/components/form/FormItem.js +32 -6
  129. package/dist/es/components/form/FormList.js +18 -5
  130. package/dist/es/components/form/tokens.js +5 -0
  131. package/dist/es/components/form/utils.js +1 -0
  132. package/dist/es/components/grid/Grid.js +43 -29
  133. package/dist/es/components/grid/GridContext.js +1 -2
  134. package/dist/es/components/grid/GridItem.js +24 -24
  135. package/dist/es/components/image/Image.js +18 -14
  136. package/dist/es/components/image-preview/ImagePreview.js +44 -42
  137. package/dist/es/components/index.js +2 -17
  138. package/dist/es/components/input/Input.js +20 -6
  139. package/dist/es/components/loading/Loading.js +10 -139
  140. package/dist/es/components/loading/tokens.js +0 -24
  141. package/dist/es/components/notice-bar/NoticeBar.js +46 -42
  142. package/dist/es/components/notify/Notify.js +63 -22
  143. package/dist/es/components/notify/imperative.js +2 -2
  144. package/dist/es/components/notify/tokens.js +5 -1
  145. package/dist/es/components/number-keyboard/NumberKeyboard.js +7 -7
  146. package/dist/es/components/overlay/Overlay.js +58 -75
  147. package/dist/es/components/overlay/index.js +3 -4
  148. package/dist/es/components/overlay/tokens.js +3 -29
  149. package/dist/es/components/password-input/PasswordInput.js +1 -40
  150. package/dist/es/components/password-input/tokens.js +41 -0
  151. package/dist/es/components/picker/Picker.js +610 -34
  152. package/dist/es/components/popup/Popup.js +62 -49
  153. package/dist/es/components/portal/Portal.js +37 -31
  154. package/dist/es/components/portal/PortalHost.js +257 -211
  155. package/dist/es/components/portal/tokens.js +5 -0
  156. package/dist/es/components/progress/Progress.js +76 -36
  157. package/dist/es/components/progress/index.js +2 -1
  158. package/dist/es/components/radio/Radio.js +37 -14
  159. package/dist/es/components/radio/RadioContext.js +1 -2
  160. package/dist/es/components/radio/RadioGroup.js +23 -20
  161. package/dist/es/components/safe-area-view/tokens.js +5 -0
  162. package/dist/es/components/search/Search.js +17 -17
  163. package/dist/es/components/selector/Selector.js +7 -7
  164. package/dist/es/components/share-sheet/ShareSheet.js +51 -47
  165. package/dist/es/components/sidebar/Sidebar.js +26 -21
  166. package/dist/es/components/sidebar/SidebarItem.js +26 -22
  167. package/dist/es/components/skeleton/Skeleton.js +35 -22
  168. package/dist/es/components/slider/Slider.js +132 -75
  169. package/dist/es/components/stepper/Stepper.js +13 -11
  170. package/dist/es/components/swiper/Swiper.js +248 -711
  171. package/dist/es/components/swiper/SwiperItem.js +1 -21
  172. package/dist/es/components/swiper/tokens.js +5 -0
  173. package/dist/es/components/switch/Switch.js +49 -101
  174. package/dist/es/components/switch/tokens.js +1 -49
  175. package/dist/es/components/tabbar/Tabbar.js +27 -23
  176. package/dist/es/components/tabbar/TabbarItem.js +22 -22
  177. package/dist/es/components/tabbar/tokens.js +0 -2
  178. package/dist/es/components/tabs/Tabs.js +264 -90
  179. package/dist/es/components/tabs/index.js +1 -2
  180. package/dist/es/components/toast/Toast.js +72 -28
  181. package/dist/es/components/toast/imperative.js +2 -2
  182. package/dist/es/hooks/gesture/useGestureScroll.js +1 -2
  183. package/dist/es/hooks/index.js +1 -1
  184. package/dist/es/hooks/overlay/index.js +3 -0
  185. package/dist/es/hooks/useHairline.js +0 -4
  186. package/dist/es/platform/scrollLock.js +1 -1
  187. package/dist/es/utils/compare.js +18 -0
  188. package/dist/es/utils/index.js +1 -1
  189. package/dist/types/components/area/tokens.d.ts +3 -0
  190. package/dist/types/components/avatar/Avatar.d.ts +4 -2
  191. package/dist/types/components/button/ButtonContext.d.ts +2 -16
  192. package/dist/types/components/button/ButtonGroup.d.ts +14 -1
  193. package/dist/types/components/button/index.d.ts +1 -1
  194. package/dist/types/components/checkbox/CheckboxContext.d.ts +2 -16
  195. package/dist/types/components/checkbox/CheckboxGroup.d.ts +15 -1
  196. package/dist/types/components/collapse/Collapse.d.ts +0 -1
  197. package/dist/types/components/config-provider/LocaleContext.d.ts +2 -74
  198. package/dist/types/components/config-provider/tokens.d.ts +3 -0
  199. package/dist/types/components/config-provider/useLocale.d.ts +1 -74
  200. package/dist/types/components/datetime-picker/tokens.d.ts +3 -0
  201. package/dist/types/components/flex/Flex.d.ts +6 -0
  202. package/dist/types/components/flex/FlexContext.d.ts +2 -8
  203. package/dist/types/components/form/Form.d.ts +15 -1
  204. package/dist/types/components/form/FormContext.d.ts +2 -17
  205. package/dist/types/components/form/tokens.d.ts +3 -0
  206. package/dist/types/components/form/utils.d.ts +1 -0
  207. package/dist/types/components/grid/Grid.d.ts +16 -1
  208. package/dist/types/components/grid/GridContext.d.ts +2 -17
  209. package/dist/types/components/index.d.ts +3 -33
  210. package/dist/types/components/loading/index.d.ts +1 -1
  211. package/dist/types/components/notify/Notify.d.ts +1 -0
  212. package/dist/types/components/overlay/Overlay.d.ts +6 -1
  213. package/dist/types/components/overlay/index.d.ts +2 -3
  214. package/dist/types/components/overlay/tokens.d.ts +2 -3
  215. package/dist/types/components/password-input/PasswordInput.d.ts +0 -39
  216. package/dist/types/components/password-input/tokens.d.ts +40 -0
  217. package/dist/types/components/picker/Picker.d.ts +18 -2
  218. package/dist/types/components/picker/index.d.ts +1 -1
  219. package/dist/types/components/portal/Portal.d.ts +4 -6
  220. package/dist/types/components/portal/PortalHost.d.ts +1 -15
  221. package/dist/types/components/portal/tokens.d.ts +3 -0
  222. package/dist/types/components/progress/Progress.d.ts +4 -0
  223. package/dist/types/components/progress/index.d.ts +2 -1
  224. package/dist/types/components/radio/RadioContext.d.ts +2 -13
  225. package/dist/types/components/radio/RadioGroup.d.ts +12 -1
  226. package/dist/types/components/safe-area-view/tokens.d.ts +3 -0
  227. package/dist/types/components/swiper/Swiper.d.ts +4 -2
  228. package/dist/types/components/swiper/SwiperItem.d.ts +1 -5
  229. package/dist/types/components/swiper/tokens.d.ts +3 -0
  230. package/dist/types/components/tabs/Tabs.d.ts +8 -4
  231. package/dist/types/components/tabs/index.d.ts +3 -1
  232. package/dist/types/components/toast/Toast.d.ts +1 -4
  233. package/dist/types/hooks/aria/useAriaListBox.d.ts +0 -6
  234. package/dist/types/hooks/aria/useAriaOverlay.d.ts +0 -10
  235. package/dist/types/hooks/aria/useAriaPress.d.ts +0 -20
  236. package/dist/types/hooks/aria/useAriaToggle.d.ts +0 -3
  237. package/dist/types/hooks/index.d.ts +1 -1
  238. package/dist/types/hooks/overlay/index.d.ts +2 -0
  239. package/dist/types/hooks/useHairline.d.ts +0 -21
  240. package/dist/types/utils/compare.d.ts +2 -0
  241. package/dist/types/utils/index.d.ts +1 -0
  242. package/package.json +10 -48
  243. package/dist/cjs/components/area/utils.js +0 -74
  244. package/dist/cjs/components/cascader/utils.js +0 -20
  245. package/dist/cjs/components/config-provider/locale/base.js +0 -80
  246. package/dist/cjs/components/dropdown-menu/DropdownItem.js +0 -288
  247. package/dist/cjs/components/dropdown-menu/DropdownMenu.js +0 -340
  248. package/dist/cjs/components/dropdown-menu/DropdownMenuContext.js +0 -21
  249. package/dist/cjs/components/dropdown-menu/index.js +0 -25
  250. package/dist/cjs/components/dropdown-menu/tokens.js +0 -67
  251. package/dist/cjs/components/field/utils.js +0 -24
  252. package/dist/cjs/components/index-bar/IndexAnchor.js +0 -74
  253. package/dist/cjs/components/index-bar/IndexBar.js +0 -436
  254. package/dist/cjs/components/index-bar/index.js +0 -25
  255. package/dist/cjs/components/index-bar/tokens.js +0 -45
  256. package/dist/cjs/components/list/List.js +0 -165
  257. package/dist/cjs/components/list/index.js +0 -9
  258. package/dist/cjs/components/list/tokens.js +0 -39
  259. package/dist/cjs/components/notify/defaults.js +0 -15
  260. package/dist/cjs/components/pagination/Pagination.js +0 -160
  261. package/dist/cjs/components/pagination/index.js +0 -22
  262. package/dist/cjs/components/pagination/tokens.js +0 -103
  263. package/dist/cjs/components/picker/WheelPicker.js +0 -492
  264. package/dist/cjs/components/picker/utils.js +0 -138
  265. package/dist/cjs/components/pull-refresh/PullRefresh.js +0 -378
  266. package/dist/cjs/components/pull-refresh/index.js +0 -16
  267. package/dist/cjs/components/pull-refresh/tokens.js +0 -22
  268. package/dist/cjs/components/rate/Rate.js +0 -269
  269. package/dist/cjs/components/rate/index.js +0 -15
  270. package/dist/cjs/components/rate/tokens.js +0 -60
  271. package/dist/cjs/components/slider/utils.js +0 -60
  272. package/dist/cjs/components/swiper/useSwiperWeb.js +0 -209
  273. package/dist/cjs/components/swiper/utils.js +0 -49
  274. package/dist/cjs/components/tabs/TabPane.js +0 -9
  275. package/dist/cjs/components/tabs/useTabsAnimation.js +0 -74
  276. package/dist/cjs/components/tabs/useTabsScroll.js +0 -133
  277. package/dist/cjs/components/tabs/utils.js +0 -34
  278. package/dist/cjs/components/types.js +0 -1
  279. package/dist/cjs/components/uploader/Uploader.js +0 -557
  280. package/dist/cjs/components/uploader/index.js +0 -22
  281. package/dist/cjs/components/uploader/tokens.js +0 -58
  282. package/dist/cjs/components/uploader/utils.js +0 -72
  283. package/dist/cjs/hooks/usePresenceAnimation.js +0 -70
  284. package/dist/es/components/area/utils.js +0 -67
  285. package/dist/es/components/cascader/utils.js +0 -13
  286. package/dist/es/components/config-provider/locale/base.js +0 -74
  287. package/dist/es/components/dropdown-menu/DropdownItem.js +0 -269
  288. package/dist/es/components/dropdown-menu/DropdownMenu.js +0 -320
  289. package/dist/es/components/dropdown-menu/DropdownMenuContext.js +0 -7
  290. package/dist/es/components/dropdown-menu/index.js +0 -7
  291. package/dist/es/components/dropdown-menu/tokens.js +0 -61
  292. package/dist/es/components/field/utils.js +0 -17
  293. package/dist/es/components/index-bar/IndexAnchor.js +0 -55
  294. package/dist/es/components/index-bar/IndexBar.js +0 -417
  295. package/dist/es/components/index-bar/index.js +0 -7
  296. package/dist/es/components/index-bar/tokens.js +0 -39
  297. package/dist/es/components/list/List.js +0 -145
  298. package/dist/es/components/list/index.js +0 -2
  299. package/dist/es/components/list/tokens.js +0 -32
  300. package/dist/es/components/notify/defaults.js +0 -9
  301. package/dist/es/components/pagination/Pagination.js +0 -141
  302. package/dist/es/components/pagination/index.js +0 -4
  303. package/dist/es/components/pagination/tokens.js +0 -91
  304. package/dist/es/components/picker/WheelPicker.js +0 -473
  305. package/dist/es/components/picker/utils.js +0 -127
  306. package/dist/es/components/pull-refresh/PullRefresh.js +0 -359
  307. package/dist/es/components/pull-refresh/index.js +0 -3
  308. package/dist/es/components/pull-refresh/tokens.js +0 -16
  309. package/dist/es/components/rate/Rate.js +0 -250
  310. package/dist/es/components/rate/index.js +0 -3
  311. package/dist/es/components/rate/tokens.js +0 -53
  312. package/dist/es/components/slider/utils.js +0 -49
  313. package/dist/es/components/swiper/useSwiperWeb.js +0 -190
  314. package/dist/es/components/swiper/utils.js +0 -37
  315. package/dist/es/components/tabs/TabPane.js +0 -3
  316. package/dist/es/components/tabs/useTabsAnimation.js +0 -55
  317. package/dist/es/components/tabs/useTabsScroll.js +0 -114
  318. package/dist/es/components/tabs/utils.js +0 -19
  319. package/dist/es/components/types.js +0 -1
  320. package/dist/es/components/uploader/Uploader.js +0 -537
  321. package/dist/es/components/uploader/index.js +0 -4
  322. package/dist/es/components/uploader/tokens.js +0 -52
  323. package/dist/es/components/uploader/utils.js +0 -60
  324. package/dist/es/hooks/usePresenceAnimation.js +0 -51
  325. package/dist/types/components/area/utils.d.ts +0 -2
  326. package/dist/types/components/cascader/utils.d.ts +0 -6
  327. package/dist/types/components/config-provider/locale/base.d.ts +0 -74
  328. package/dist/types/components/dropdown-menu/DropdownItem.d.ts +0 -4
  329. package/dist/types/components/dropdown-menu/DropdownMenu.d.ts +0 -4
  330. package/dist/types/components/dropdown-menu/DropdownMenuContext.d.ts +0 -17
  331. package/dist/types/components/dropdown-menu/index.d.ts +0 -8
  332. package/dist/types/components/dropdown-menu/tokens.d.ts +0 -52
  333. package/dist/types/components/field/utils.d.ts +0 -4
  334. package/dist/types/components/index-bar/IndexAnchor.d.ts +0 -4
  335. package/dist/types/components/index-bar/IndexBar.d.ts +0 -4
  336. package/dist/types/components/index-bar/index.d.ts +0 -9
  337. package/dist/types/components/index-bar/tokens.d.ts +0 -31
  338. package/dist/types/components/list/List.d.ts +0 -4
  339. package/dist/types/components/list/index.d.ts +0 -3
  340. package/dist/types/components/list/tokens.d.ts +0 -4
  341. package/dist/types/components/notify/defaults.d.ts +0 -10
  342. package/dist/types/components/pagination/Pagination.d.ts +0 -5
  343. package/dist/types/components/pagination/index.d.ts +0 -5
  344. package/dist/types/components/pagination/tokens.d.ts +0 -2
  345. package/dist/types/components/picker/WheelPicker.d.ts +0 -21
  346. package/dist/types/components/picker/utils.d.ts +0 -17
  347. package/dist/types/components/pull-refresh/PullRefresh.d.ts +0 -5
  348. package/dist/types/components/pull-refresh/index.d.ts +0 -4
  349. package/dist/types/components/pull-refresh/tokens.d.ts +0 -10
  350. package/dist/types/components/rate/Rate.d.ts +0 -4
  351. package/dist/types/components/rate/index.d.ts +0 -4
  352. package/dist/types/components/rate/tokens.d.ts +0 -4
  353. package/dist/types/components/slider/utils.d.ts +0 -42
  354. package/dist/types/components/swiper/useSwiperWeb.d.ts +0 -41
  355. package/dist/types/components/swiper/utils.d.ts +0 -17
  356. package/dist/types/components/tabs/TabPane.d.ts +0 -4
  357. package/dist/types/components/tabs/useTabsAnimation.d.ts +0 -30
  358. package/dist/types/components/tabs/useTabsScroll.d.ts +0 -23
  359. package/dist/types/components/tabs/utils.d.ts +0 -5
  360. package/dist/types/components/types.d.ts +0 -59
  361. package/dist/types/components/uploader/Uploader.d.ts +0 -4
  362. package/dist/types/components/uploader/index.d.ts +0 -5
  363. package/dist/types/components/uploader/tokens.d.ts +0 -42
  364. package/dist/types/components/uploader/utils.d.ts +0 -11
  365. package/dist/types/hooks/usePresenceAnimation.d.ts +0 -20
  366. /package/dist/cjs/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  367. /package/dist/cjs/{components → hooks}/overlay/useOverlayStack.js +0 -0
  368. /package/dist/es/{components → hooks}/overlay/OverlayStackStore.js +0 -0
  369. /package/dist/es/{components → hooks}/overlay/useOverlayStack.js +0 -0
  370. /package/dist/types/{components → hooks}/overlay/OverlayStackStore.d.ts +0 -0
  371. /package/dist/types/{components → hooks}/overlay/useOverlayStack.d.ts +0 -0
@@ -257,28 +257,18 @@ const ActionSheet = props => {
257
257
  void requestClose('action');
258
258
  }
259
259
  }, [onSelect, requestClose, shouldCloseOnClickAction]);
260
- return /*#__PURE__*/_react().default.createElement(_popup.default, _extends({
261
- visible: visible,
262
- placement: "bottom",
263
- round: round,
264
- safeAreaInsetTop: hasTitle && closeable,
265
- safeAreaInsetBottom: safeAreaInsetBottom,
266
- overlay: overlay,
267
- lockScroll: lockScroll,
268
- beforeClose: handlePopupBeforeClose,
269
- onClose: handlePopupClose,
270
- style: [tokens.layout.popup, popupStyle]
271
- }, popupProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
272
- style: [tokens.layout.panel, {
273
- backgroundColor: tokens.colors.background
274
- }]
275
- }, hasTitle ? /*#__PURE__*/_react().default.createElement(ActionSheetHeader, {
260
+ const popupStyleMemo = (0, _react().useMemo)(() => [tokens.layout.popup, popupStyle], [popupStyle, tokens.layout.popup]);
261
+ const panelStyle = (0, _react().useMemo)(() => [tokens.layout.panel, {
262
+ backgroundColor: tokens.colors.background
263
+ }], [tokens.colors.background, tokens.layout.panel]);
264
+ const headerNode = (0, _react().useMemo)(() => hasTitle ? /*#__PURE__*/_react().default.createElement(ActionSheetHeader, {
276
265
  title: title,
277
266
  closeable: closeable,
278
267
  closeIcon: closeIcon,
279
268
  tokens: tokens,
280
269
  onClose: handleCloseIcon
281
- }) : null, hasDescription ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
270
+ }) : null, [closeIcon, closeable, handleCloseIcon, hasTitle, title, tokens]);
271
+ const descriptionNode = (0, _react().useMemo)(() => hasDescription ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
282
272
  style: [tokens.layout.descriptionContainer, (0, _utils.createHairlineBorderBottom)(tokens.colors.border)]
283
273
  }, (0, _utils.isText)(description) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
284
274
  style: [tokens.layout.description, {
@@ -287,19 +277,35 @@ const ActionSheet = props => {
287
277
  }]
288
278
  }, description) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
289
279
  style: tokens.layout.descriptionNode
290
- }, description)) : null, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
291
- style: tokens.layout.actions
292
- }, actions.map((action, index) => /*#__PURE__*/_react().default.createElement(ActionSheetItem, {
280
+ }, description)) : null, [description, hasDescription, tokens.colors.border, tokens.colors.description, tokens.layout.description, tokens.layout.descriptionContainer, tokens.layout.descriptionNode, tokens.typography.description]);
281
+ const actionNodes = (0, _react().useMemo)(() => actions.map((action, index) => /*#__PURE__*/_react().default.createElement(ActionSheetItem, {
293
282
  key: action.key ?? index,
294
283
  action: action,
295
284
  index: index,
296
285
  tokens: tokens,
297
286
  onActionPress: handleActionPress
298
- }))), children, hasCancelText ? /*#__PURE__*/_react().default.createElement(ActionSheetCancel, {
287
+ })), [actions, handleActionPress, tokens]);
288
+ const cancelNode = (0, _react().useMemo)(() => hasCancelText ? /*#__PURE__*/_react().default.createElement(ActionSheetCancel, {
299
289
  cancelText: cancelText,
300
290
  tokens: tokens,
301
291
  onPress: handleCancel
302
- }) : null));
292
+ }) : null, [cancelText, handleCancel, hasCancelText, tokens]);
293
+ return /*#__PURE__*/_react().default.createElement(_popup.default, _extends({
294
+ visible: visible,
295
+ placement: "bottom",
296
+ round: round,
297
+ safeAreaInsetTop: hasTitle && closeable,
298
+ safeAreaInsetBottom: safeAreaInsetBottom,
299
+ overlay: overlay,
300
+ lockScroll: lockScroll,
301
+ beforeClose: handlePopupBeforeClose,
302
+ onClose: handlePopupClose,
303
+ style: popupStyleMemo
304
+ }, popupProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
305
+ style: panelStyle
306
+ }, headerNode, descriptionNode, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
307
+ style: tokens.layout.actions
308
+ }, actionNodes), children, cancelNode));
303
309
  };
304
310
  ActionSheet.displayName = 'ActionSheet';
305
311
  var _default = exports.default = ActionSheet;
@@ -12,10 +12,76 @@ function _react() {
12
12
  return data;
13
13
  }
14
14
  var _picker = _interopRequireDefault(require("../picker"));
15
- var _utils = require("./utils");
16
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
16
  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); }
18
17
  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); }
18
+ const compareCode = (a, b) => a < b ? -1 : a > b ? 1 : 0;
19
+ const sortEntries = records => {
20
+ if (!records) return [];
21
+ return Object.entries(records).sort(([a], [b]) => compareCode(a, b));
22
+ };
23
+ const getProvinceCode = code => code.slice(0, 2);
24
+ const getCityCode = code => code.slice(0, 4);
25
+ const buildAreaColumns = (areaList, columnsNum = 3) => {
26
+ const provinces = sortEntries(areaList.province_list);
27
+ if (columnsNum === 1) {
28
+ return provinces.map(([code, name]) => ({
29
+ label: name,
30
+ value: code
31
+ }));
32
+ }
33
+ const citiesByProvince = new Map();
34
+ sortEntries(areaList.city_list).forEach(([code, name]) => {
35
+ const provinceKey = getProvinceCode(code);
36
+ const option = {
37
+ label: name,
38
+ value: code
39
+ };
40
+ const existing = citiesByProvince.get(provinceKey);
41
+ if (existing) {
42
+ existing.push(option);
43
+ } else {
44
+ citiesByProvince.set(provinceKey, [option]);
45
+ }
46
+ });
47
+ if (columnsNum === 3) {
48
+ const countiesByCity = new Map();
49
+ sortEntries(areaList.county_list).forEach(([code, name]) => {
50
+ const cityKey = getCityCode(code);
51
+ const option = {
52
+ label: name,
53
+ value: code
54
+ };
55
+ const existing = countiesByCity.get(cityKey);
56
+ if (existing) {
57
+ existing.push(option);
58
+ } else {
59
+ countiesByCity.set(cityKey, [option]);
60
+ }
61
+ });
62
+ citiesByProvince.forEach(cityOptions => {
63
+ cityOptions.forEach(cityOption => {
64
+ const cityKey = getCityCode(cityOption.value);
65
+ const counties = countiesByCity.get(cityKey);
66
+ if (counties && counties.length) {
67
+ cityOption.children = counties;
68
+ }
69
+ });
70
+ });
71
+ }
72
+ return provinces.map(([code, name]) => {
73
+ const provinceOption = {
74
+ label: name,
75
+ value: code
76
+ };
77
+ const provinceKey = getProvinceCode(code);
78
+ const cities = citiesByProvince.get(provinceKey);
79
+ if (cities && cities.length) {
80
+ provinceOption.children = cities;
81
+ }
82
+ return provinceOption;
83
+ });
84
+ };
19
85
  const normalizeCascadeValue = (root, raw, depth) => {
20
86
  if (!raw) return raw;
21
87
  const input = Array.isArray(raw) ? raw.map(String) : [String(raw)];
@@ -42,19 +108,19 @@ const Area = props => {
42
108
  interactionMode = 'sync',
43
109
  ...pickerProps
44
110
  } = props;
45
- const resolvedColumnsNum = columnsNum === 1 || columnsNum === 2 || columnsNum === 3 ? columnsNum : 3;
111
+ const resolvedColumnsNum = (0, _react().useMemo)(() => columnsNum === 1 || columnsNum === 2 || columnsNum === 3 ? columnsNum : 3, [columnsNum]);
46
112
  const {
47
113
  province_list,
48
114
  city_list,
49
115
  county_list
50
116
  } = areaList;
51
- const columns = (0, _utils.buildAreaColumns)({
117
+ const columns = (0, _react().useMemo)(() => buildAreaColumns({
52
118
  province_list,
53
119
  city_list,
54
120
  county_list
55
- }, resolvedColumnsNum);
56
- const normalizedValue = value === undefined ? undefined : normalizeCascadeValue(columns, value, resolvedColumnsNum);
57
- const normalizedDefaultValue = defaultValue === undefined ? undefined : normalizeCascadeValue(columns, defaultValue, resolvedColumnsNum);
121
+ }, resolvedColumnsNum), [city_list, county_list, province_list, resolvedColumnsNum]);
122
+ const normalizedValue = (0, _react().useMemo)(() => value === undefined ? undefined : normalizeCascadeValue(columns, value, resolvedColumnsNum), [columns, resolvedColumnsNum, value]);
123
+ const normalizedDefaultValue = (0, _react().useMemo)(() => defaultValue === undefined ? undefined : normalizeCascadeValue(columns, defaultValue, resolvedColumnsNum), [columns, defaultValue, resolvedColumnsNum]);
58
124
  const handleChange = (0, _react().useCallback)((values, options) => {
59
125
  onChange?.(values.map(String), options);
60
126
  }, [onChange]);
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useAreaTokens = void 0;
7
+ var _designSystem = require("../../design-system");
8
+ const createAreaTokens = _foundations => {
9
+ return {};
10
+ };
11
+ const useAreaTokens = exports.useAreaTokens = (0, _designSystem.createComponentTokensHook)('area', createAreaTokens);
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.Avatar = void 0;
6
+ exports.default = exports.AvatarImage = exports.AvatarFallbackText = exports.Avatar = void 0;
7
7
  function _react() {
8
8
  const data = _interopRequireDefault(require("react"));
9
9
  _react = function () {
@@ -23,6 +23,39 @@ var _utils = require("../../utils");
23
23
  var _tokens = require("./tokens");
24
24
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
25
25
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
+ const AvatarFallbackText = exports.AvatarFallbackText = /*#__PURE__*/_react().default.forwardRef(({
27
+ children,
28
+ color,
29
+ style
30
+ }, ref) => {
31
+ const tokens = (0, _tokens.useAvatarTokens)();
32
+ const resolvedStyle = _reactNative().StyleSheet.flatten([tokens.layout.text, {
33
+ color: color ?? tokens.colors.text,
34
+ fontWeight: tokens.typography.fontWeight
35
+ }, style]);
36
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
37
+ ref: ref,
38
+ style: resolvedStyle,
39
+ numberOfLines: 1
40
+ }, children);
41
+ });
42
+ AvatarFallbackText.displayName = 'Avatar.FallbackText';
43
+ const AvatarImage = exports.AvatarImage = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
44
+ const tokens = (0, _tokens.useAvatarTokens)();
45
+ return /*#__PURE__*/_react().default.createElement(_image.default, _extends({
46
+ ref: ref
47
+ }, props, {
48
+ containerStyle: [{
49
+ backgroundColor: tokens.colors.transparent
50
+ }, props.containerStyle],
51
+ style: [tokens.layout.image, props.style],
52
+ fit: props.fit ?? 'cover',
53
+ loadingText: props.loadingText ?? null,
54
+ loadingSize: props.loadingSize ?? tokens.sizing.loadingSize,
55
+ showError: props.showError ?? true
56
+ }));
57
+ });
58
+ AvatarImage.displayName = 'Avatar.Image';
26
59
  const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
27
60
  const {
28
61
  src,
@@ -39,6 +72,7 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
39
72
  style,
40
73
  textStyle,
41
74
  contentStyle,
75
+ children,
42
76
  tokensOverride,
43
77
  ...pressableProps
44
78
  } = props;
@@ -58,15 +92,13 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
58
92
  width: Math.min(avatarWidth, tokens.sizing.iconMaxSize),
59
93
  height: Math.min(avatarHeight, tokens.sizing.iconMaxSize)
60
94
  }, contentStyle]
61
- }, icon) : fallbackText && /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
62
- style: [tokens.layout.text, {
63
- color: color ?? tokens.colors.text,
64
- fontSize: Math.min(avatarWidth, avatarHeight) * tokens.typography.fallbackTextScale,
65
- fontWeight: tokens.typography.fontWeight
66
- }, textStyle],
67
- numberOfLines: 1
95
+ }, icon) : fallbackText && /*#__PURE__*/_react().default.createElement(AvatarFallbackText, {
96
+ color: color,
97
+ style: [{
98
+ fontSize: Math.min(avatarWidth, avatarHeight) * tokens.typography.fallbackTextScale
99
+ }, textStyle]
68
100
  }, fallbackText);
69
- const content = src || source ? /*#__PURE__*/_react().default.createElement(_image.default, {
101
+ const content = children ?? (src || source ? /*#__PURE__*/_react().default.createElement(AvatarImage, {
70
102
  src: src,
71
103
  source: source,
72
104
  containerStyle: transparentContainerStyle,
@@ -76,7 +108,7 @@ const Avatar = exports.Avatar = /*#__PURE__*/_react().default.forwardRef((props,
76
108
  loadingSize: tokens.sizing.loadingSize,
77
109
  showError: true,
78
110
  fallback: fallbackContent
79
- }) : fallbackContent;
111
+ }) : fallbackContent);
80
112
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
81
113
  ref: ref,
82
114
  style: [tokens.layout.container, {
@@ -46,7 +46,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
46
46
  const {
47
47
  visible,
48
48
  formattedContent
49
- } = (() => {
49
+ } = (0, _react().useMemo)(() => {
50
50
  const numericContent = (0, _utils.isNumericLike)(content) ? Number(content) : null;
51
51
  const shouldHide = numericContent === 0 && !resolvedShowZero;
52
52
  const isVisible = dot || (0, _utils.isRenderable)(content) && !shouldHide;
@@ -60,7 +60,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
60
60
  visible: true,
61
61
  formattedContent: finalContent
62
62
  };
63
- })();
63
+ }, [content, dot, max, resolvedShowZero]);
64
64
  const [size, setSize] = (0, _react().useState)({
65
65
  width: 0,
66
66
  height: 0
@@ -77,7 +77,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
77
77
  });
78
78
  }
79
79
  }, [size.width, size.height]);
80
- const transformStyle = (() => {
80
+ const transformStyle = (0, _react().useMemo)(() => {
81
81
  if (!hasChildren) return undefined;
82
82
  if (dot) {
83
83
  const half = tokens.sizing.dotSize / 2;
@@ -99,8 +99,8 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
99
99
  translateY: -size.height / 2
100
100
  }]
101
101
  };
102
- })();
103
- const baseBadgeStyle = dot ? {
102
+ }, [dot, hasChildren, size.height, size.width, tokens.sizing.dotSize]);
103
+ const baseBadgeStyle = (0, _react().useMemo)(() => dot ? {
104
104
  width: tokens.sizing.dotSize,
105
105
  height: tokens.sizing.dotSize,
106
106
  borderRadius: tokens.radii.dot,
@@ -114,15 +114,15 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
114
114
  borderWidth: tokens.borders.width,
115
115
  borderColor: tokens.colors.border,
116
116
  backgroundColor: color ?? tokens.colors.background
117
- };
118
- const mergedTextStyle = [tokens.layout.text, {
117
+ }, [color, dot, tokens.borders.width, tokens.colors.background, tokens.colors.border, tokens.colors.dot, tokens.radii.badge, tokens.radii.dot, tokens.sizing.dotSize, tokens.sizing.height, tokens.sizing.minWidth, tokens.sizing.paddingHorizontal, tokens.sizing.paddingVertical]);
118
+ const mergedTextStyle = (0, _react().useMemo)(() => [tokens.layout.text, {
119
119
  color: textColor ?? tokens.colors.text,
120
120
  fontSize: tokens.typography.fontSize,
121
121
  lineHeight: tokens.typography.lineHeight,
122
122
  fontFamily: tokens.typography.fontFamily,
123
123
  fontWeight: tokens.typography.fontWeight
124
- }, userTextStyle];
125
- const offsetStyle = (() => {
124
+ }, userTextStyle], [textColor, tokens.colors.text, tokens.layout.text, tokens.typography.fontFamily, tokens.typography.fontSize, tokens.typography.fontWeight, tokens.typography.lineHeight, userTextStyle]);
125
+ const offsetStyle = (0, _react().useMemo)(() => {
126
126
  if (!offset) return undefined;
127
127
  const [x, y] = offset;
128
128
  return hasChildren ? {
@@ -132,7 +132,7 @@ const Badge = exports.Badge = /*#__PURE__*/_react().default.forwardRef((props, r
132
132
  marginLeft: x,
133
133
  marginTop: y
134
134
  };
135
- })();
135
+ }, [hasChildren, offset]);
136
136
  const badgeElement = !visible ? null : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
137
137
  pointerEvents: hasChildren ? 'none' : 'auto',
138
138
  onLayout: hasChildren && !dot ? handleLayout : undefined,
@@ -46,6 +46,10 @@ const createBadgeTokens = ({
46
46
  textAlign: 'center',
47
47
  includeFontPadding: false,
48
48
  textAlignVertical: 'center'
49
+ },
50
+ icon: {
51
+ alignItems: 'center',
52
+ justifyContent: 'center'
49
53
  }
50
54
  },
51
55
  colors: {
@@ -22,11 +22,9 @@ var _color = require("../../utils/color");
22
22
  var _createPlatformShadow = require("../../utils/createPlatformShadow");
23
23
  var _string = require("../../utils/string");
24
24
  var _validate = require("../../utils/validate");
25
- var _loading = _interopRequireDefault(require("../loading"));
26
25
  var _hooks = require("../../hooks");
27
26
  var _ButtonContext = require("./ButtonContext");
28
27
  var _tokens = require("./tokens");
29
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
28
  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); }
31
29
  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); }
32
30
  const clampShadowLevel = level => {
@@ -54,10 +52,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
54
52
  type: typeProp,
55
53
  size: sizeProp,
56
54
  color,
57
- buttonColor: buttonColorProp,
58
55
  textColor,
59
- dark,
60
- mode: modeProp,
61
56
  plain: plainProp,
62
57
  block: blockProp,
63
58
  round: roundProp,
@@ -67,11 +62,8 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
67
62
  loading: loadingProp,
68
63
  loadingText,
69
64
  loadingIndicator,
70
- loadingType: loadingTypeProp,
71
65
  loadingSize: loadingSizeProp,
72
66
  disabled: disabledProp,
73
- autoInsertSpace: autoInsertSpaceProp,
74
- uppercase: uppercaseProp,
75
67
  allowFontScaling: allowFontScalingProp,
76
68
  maxFontSizeMultiplier,
77
69
  rippleColor: rippleColorProp,
@@ -92,60 +84,28 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
92
84
  const iconPosition = iconPositionProp ?? group?.iconPosition ?? buttonTokens.defaults.iconPosition;
93
85
  const groupShadow = group?.shadow;
94
86
  const shadowValue = shadowProp ?? groupShadow;
95
- const hasShadowOverride = shadowProp !== undefined || groupShadow !== undefined;
96
87
  const disabled = disabledProp ?? group?.disabled ?? buttonTokens.defaults.disabled;
97
88
  const loading = loadingProp ?? buttonTokens.defaults.loading;
98
- const loadingType = loadingTypeProp ?? buttonTokens.defaults.loadingType;
99
89
  const loadingSize = loadingSizeProp ?? buttonTokens.defaults.loadingSize;
100
- const autoInsertSpace = autoInsertSpaceProp ?? buttonTokens.defaults.autoInsertSpace;
101
- const uppercase = uppercaseProp ?? buttonTokens.defaults.uppercase;
102
90
  const allowFontScaling = allowFontScalingProp ?? buttonTokens.defaults.allowFontScaling;
103
- const defaultMode = buttonTokens.defaults.mode ?? 'contained';
104
- const groupMode = group?.mode;
105
- const shouldForcePlainTextMode = plain && !modeProp && !groupMode;
106
- const derivedMode = shouldForcePlainTextMode ? 'text' : modeProp ?? groupMode ?? defaultMode;
107
- const legacyPlain = shouldForcePlainTextMode;
108
- const buttonColorOverride = buttonColorProp ?? color;
91
+ const isPlain = plain;
109
92
  const tone = buttonTokens.colors.tones[type] ?? buttonTokens.colors.tones.default;
110
93
  const sizeTokens = buttonTokens.sizing.sizes[size];
111
- const gradientString = (0, _validate.isString)(buttonColorOverride) ? buttonColorOverride : undefined;
112
- const hasGradientSyntax = gradientString?.toLowerCase().includes('gradient') ?? false;
113
- const normalizedColor = hasGradientSyntax ? (0, _color.extractFirstColorToken)(gradientString) : buttonColorOverride;
114
- const allowsGradientFill = derivedMode === 'contained' || derivedMode === 'contained-tonal' || derivedMode === 'elevated';
115
- const gradientFillEnabled = hasGradientSyntax && !legacyPlain && allowsGradientFill;
116
- const supportsGradientFill = _reactNative().Platform.OS === 'web';
117
- let backgroundColor = normalizedColor ?? (derivedMode === 'contained' ? tone.background : derivedMode === 'contained-tonal' ? tone.tonalBackground : derivedMode === 'elevated' ? tone.background : buttonTokens.colors.backgroundTransparent);
118
- let borderColor = derivedMode === 'outlined' ? normalizedColor ?? tone.border : derivedMode === 'contained-tonal' ? tone.tonalBorder : derivedMode === 'contained' || derivedMode === 'elevated' ? normalizedColor ?? tone.border : buttonTokens.colors.backgroundTransparent;
94
+ const normalizedColor = color;
95
+ let backgroundColor = normalizedColor ?? tone.background;
96
+ let borderColor = normalizedColor ?? tone.border;
119
97
  let resolvedTextColor = textColor;
120
98
  if (!resolvedTextColor) {
121
- if (derivedMode === 'contained-tonal') {
122
- resolvedTextColor = tone.tonalText;
123
- } else if (derivedMode === 'contained' || derivedMode === 'elevated') {
124
- resolvedTextColor = normalizedColor ? '#ffffff' : tone.text;
125
- } else {
126
- resolvedTextColor = normalizedColor ?? (type === 'default' ? tone.text : tone.border);
127
- }
128
- }
129
- if (dark === true) {
130
- resolvedTextColor = buttonTokens.colors.textDark;
131
- } else if (dark === false) {
132
- resolvedTextColor = buttonTokens.colors.textLight;
133
- }
134
- if (derivedMode === 'text') {
135
- backgroundColor = buttonTokens.colors.backgroundTransparent;
136
- borderColor = buttonTokens.colors.backgroundTransparent;
99
+ resolvedTextColor = normalizedColor ? '#ffffff' : tone.text;
137
100
  }
138
- if (legacyPlain) {
101
+ if (isPlain) {
139
102
  backgroundColor = buttonTokens.colors.backgroundPlain;
140
103
  borderColor = normalizedColor ?? tone.border;
141
104
  const fallbackTextColor = type === 'default' && !normalizedColor ? tone.text : normalizedColor ?? tone.border;
142
105
  resolvedTextColor = textColor ?? fallbackTextColor;
143
106
  }
144
- if (gradientFillEnabled && supportsGradientFill) {
145
- backgroundColor = buttonTokens.colors.backgroundTransparent;
146
- }
147
- const shouldRenderBorder = derivedMode === 'outlined' || legacyPlain || derivedMode === 'contained' && type === 'default';
148
- const resolvedBorderWidth = gradientFillEnabled && !legacyPlain ? 0 : shouldRenderBorder ? hairline ? buttonTokens.borders.hairlineWidth : buttonTokens.borders.width : 0;
107
+ const shouldRenderBorder = isPlain || type === 'default';
108
+ const resolvedBorderWidth = shouldRenderBorder ? hairline ? buttonTokens.borders.hairlineWidth : buttonTokens.borders.width : 0;
149
109
  const borderRadius = square ? 0 : round ? sizeTokens.height / 2 : sizeTokens.radius;
150
110
  const isDisabled = disabled || loading;
151
111
  let resolvedShadowLevel;
@@ -153,10 +113,8 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
153
113
  resolvedShadowLevel = clampShadowLevel(shadowValue);
154
114
  } else if (shadowValue === true) {
155
115
  resolvedShadowLevel = clampShadowLevel(2);
156
- } else if (!hasShadowOverride && derivedMode === 'elevated') {
157
- resolvedShadowLevel = clampShadowLevel(2);
158
116
  }
159
- const shouldShowShadow = !!resolvedShadowLevel && !gradientFillEnabled && derivedMode !== 'text' && derivedMode !== 'outlined' && !legacyPlain;
117
+ const shouldShowShadow = !!resolvedShadowLevel && !isPlain;
160
118
  const shadowTokens = resolvedShadowLevel ? buttonTokens.shadows[resolvedShadowLevel] : undefined;
161
119
  const shadowStyle = shouldShowShadow && shadowTokens ? (0, _createPlatformShadow.createPlatformShadow)({
162
120
  color: shadowTokens.color,
@@ -165,9 +123,6 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
165
123
  offsetY: shadowTokens.offsetY,
166
124
  elevation: shadowTokens.elevation
167
125
  }) : undefined;
168
- const gradientWebStyle = gradientFillEnabled && supportsGradientFill && gradientString ? {
169
- backgroundImage: gradientString
170
- } : undefined;
171
126
  const iconWrapperStyle = iconPosition === 'left' ? {
172
127
  marginRight: buttonTokens.spacing.iconGap
173
128
  } : {
@@ -192,12 +147,9 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
192
147
  };
193
148
  const renderLoading = () => {
194
149
  const spinnerSize = resolveSpinnerSize(loadingSize, sizeTokens.iconSize);
195
- const defaultIndicator = loadingType === 'spinner' ? /*#__PURE__*/_react().default.createElement(_loading.default, {
196
- type: "spinner",
197
- size: spinnerSize,
198
- color: resolvedTextColor
199
- }) : /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
200
- size: loadingSize,
150
+ const indicatorSize = (0, _validate.isNumber)(loadingSize) ? spinnerSize : loadingSize;
151
+ const defaultIndicator = /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
152
+ size: indicatorSize,
201
153
  color: resolvedTextColor
202
154
  });
203
155
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
@@ -210,8 +162,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
210
162
  fontWeight: buttonTokens.typography.fontWeight,
211
163
  fontSize: sizeTokens.fontSize,
212
164
  lineHeight: sizeTokens.fontSize * buttonTokens.typography.lineHeightMultiplier,
213
- color: resolvedTextColor,
214
- textTransform: uppercase ? 'uppercase' : undefined
165
+ color: resolvedTextColor
215
166
  };
216
167
  const renderText = () => {
217
168
  if (label === undefined || label === null) {
@@ -219,7 +170,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
219
170
  }
220
171
  const sharedTextStyle = sharedLabelTextStyle;
221
172
  if ((0, _validate.isText)(label)) {
222
- const content = (0, _validate.isString)(label) ? (0, _string.ensureSpace)(label, autoInsertSpace) : String(label);
173
+ const content = (0, _validate.isString)(label) ? (0, _string.ensureSpace)(label, true) : String(label);
223
174
  return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
224
175
  style: [buttonTokens.layout.text, sharedTextStyle, textStyle],
225
176
  numberOfLines: 1,
@@ -266,13 +217,13 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
266
217
  const rippleClipStyle = _reactNative().Platform.OS === 'android' && borderRadius > 0 && !shouldShowShadow ? {
267
218
  overflow: 'hidden'
268
219
  } : null;
269
- const baseContainerStyle = [buttonTokens.layout.base, containerStyle, rippleClipStyle, block ? buttonTokens.layout.block : null, shadowStyle, gradientWebStyle, style];
220
+ const baseContainerStyle = [buttonTokens.layout.base, containerStyle, rippleClipStyle, block ? buttonTokens.layout.block : null, shadowStyle, style];
270
221
  const mergedAccessibilityState = {
271
222
  ...accessibilityState,
272
223
  disabled: isDisabled,
273
224
  busy: loading
274
225
  };
275
- const defaultRippleColor = rippleColorProp ?? (derivedMode === 'text' || derivedMode === 'outlined' || legacyPlain ? resolvedTextColor : type === 'default' && !normalizedColor ? (0, _color.withAlpha)(resolvedTextColor, 0.15) : buttonTokens.colors.ripple);
226
+ const defaultRippleColor = rippleColorProp ?? (isPlain ? resolvedTextColor : type === 'default' && !normalizedColor ? (0, _color.withAlpha)(resolvedTextColor, 0.15) : buttonTokens.colors.ripple);
276
227
  const resolvedAndroidRipple = _reactNative().Platform.OS === 'android' ? androidRippleProp ?? {
277
228
  color: defaultRippleColor,
278
229
  borderless: false
@@ -3,13 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ButtonGroupContext = 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 ButtonGroupContext = exports.ButtonGroupContext = /*#__PURE__*/_react().default.createContext(null);
6
+ Object.defineProperty(exports, "ButtonGroupContext", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _ButtonGroup.ButtonGroupContext;
10
+ }
11
+ });
12
+ var _ButtonGroup = require("./ButtonGroup");
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.ButtonGroup = void 0;
6
+ exports.ButtonGroupContext = exports.ButtonGroup = void 0;
7
7
  function _react() {
8
- const data = _interopRequireDefault(require("react"));
8
+ const data = _interopRequireWildcard(require("react"));
9
9
  _react = function () {
10
10
  return data;
11
11
  };
@@ -18,9 +18,9 @@ function _reactNative() {
18
18
  };
19
19
  return data;
20
20
  }
21
- var _ButtonContext = require("./ButtonContext");
22
21
  var _tokens = require("./tokens");
23
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ 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); }
23
+ const ButtonGroupContext = exports.ButtonGroupContext = /*#__PURE__*/_react().default.createContext(null);
24
24
  const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
25
25
  children,
26
26
  direction = 'horizontal',
@@ -35,14 +35,13 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
35
35
  shadow,
36
36
  disabled,
37
37
  iconPosition,
38
- hairline,
39
- mode
38
+ hairline
40
39
  }) => {
41
40
  const tokens = (0, _tokens.useButtonTokens)();
42
41
  const gap = spacing ?? tokens.spacing.groupGap;
43
42
  const isHorizontal = direction === 'horizontal';
44
43
  const supportsGap = _reactNative().Platform.OS === 'web';
45
- const groupValue = {
44
+ const groupValue = (0, _react().useMemo)(() => ({
46
45
  type,
47
46
  size,
48
47
  plain,
@@ -52,10 +51,9 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
52
51
  shadow,
53
52
  disabled,
54
53
  iconPosition,
55
- hairline,
56
- mode
57
- };
58
- const containerStyle = (() => {
54
+ hairline
55
+ }), [block, disabled, hairline, iconPosition, plain, round, shadow, size, square, type]);
56
+ const containerStyle = (0, _react().useMemo)(() => {
59
57
  const base = {
60
58
  flexDirection: isHorizontal ? 'row' : 'column',
61
59
  alignItems: 'center'
@@ -71,8 +69,8 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
71
69
  }
72
70
  }
73
71
  return [base, style];
74
- })();
75
- const content = (() => {
72
+ }, [block, gap, isHorizontal, style, supportsGap]);
73
+ const content = (0, _react().useMemo)(() => {
76
74
  if (supportsGap) {
77
75
  return children;
78
76
  }
@@ -91,8 +89,8 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
91
89
  key: element.key ?? index
92
90
  });
93
91
  });
94
- })();
95
- return /*#__PURE__*/_react().default.createElement(_ButtonContext.ButtonGroupContext.Provider, {
92
+ }, [children, gap, isHorizontal, supportsGap]);
93
+ return /*#__PURE__*/_react().default.createElement(ButtonGroupContext.Provider, {
96
94
  value: groupValue
97
95
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
98
96
  style: containerStyle
@@ -53,13 +53,9 @@ const createButtonTokens = foundations => {
53
53
  square: false,
54
54
  hairline: false,
55
55
  iconPosition: 'left',
56
- mode: 'contained',
57
56
  loading: false,
58
- loadingType: 'circular',
59
57
  loadingSize: 'small',
60
58
  disabled: false,
61
- autoInsertSpace: true,
62
- uppercase: false,
63
59
  allowFontScaling: true
64
60
  },
65
61
  layout: {
@@ -157,7 +153,7 @@ const createButtonTokens = foundations => {
157
153
  states: {
158
154
  disabledOpacity: opacity.disabled,
159
155
  loadingOpacity: opacity.loading,
160
- pressedOpacity: opacity.pressed
156
+ pressedOpacity: 0.7
161
157
  },
162
158
  shadows: {
163
159
  1: {