react-native-system-ui 0.0.7 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/README.md +46 -31
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +128 -142
  3. package/dist/cjs/components/action-sheet/tokens.js +16 -27
  4. package/dist/cjs/components/area/Area.js +57 -70
  5. package/dist/cjs/components/area/tokens.js +6 -3
  6. package/dist/cjs/components/avatar/Avatar.js +38 -36
  7. package/dist/cjs/components/badge/Badge.js +68 -73
  8. package/dist/cjs/components/badge/tokens.js +6 -8
  9. package/dist/cjs/components/button/Button.js +135 -176
  10. package/dist/cjs/components/button/ButtonGroup.js +11 -45
  11. package/dist/cjs/components/button/tokens.js +1 -8
  12. package/dist/cjs/components/calendar/Calendar.js +212 -223
  13. package/dist/cjs/components/calendar/tokens.js +3 -3
  14. package/dist/cjs/components/cascader/Cascader.js +257 -267
  15. package/dist/cjs/components/cascader/tokens.js +2 -2
  16. package/dist/cjs/components/cascader/useCascaderExtend.js +25 -29
  17. package/dist/cjs/components/cell/Cell.js +94 -104
  18. package/dist/cjs/components/cell/CellGroup.js +37 -49
  19. package/dist/cjs/components/checkbox/Checkbox.js +140 -132
  20. package/dist/cjs/components/checkbox/CheckboxGroup.js +21 -51
  21. package/dist/cjs/components/checkbox/tokens.js +7 -10
  22. package/dist/cjs/components/circle/Circle.js +87 -74
  23. package/dist/cjs/components/collapse/Collapse.js +88 -104
  24. package/dist/cjs/components/config-provider/ConfigProvider.js +17 -4
  25. package/dist/cjs/components/config-provider/DirectionContext.js +15 -0
  26. package/dist/cjs/components/config-provider/index.js +7 -0
  27. package/dist/cjs/components/config-provider/locale/en-US.js +32 -0
  28. package/dist/cjs/components/config-provider/locale/zh-CN.js +32 -0
  29. package/dist/cjs/components/config-provider/useDirection.js +16 -0
  30. package/dist/cjs/components/count-down/CountDown.js +32 -27
  31. package/dist/cjs/components/datetime-picker/DatetimePicker.js +80 -104
  32. package/dist/cjs/components/datetime-picker/tokens.js +14 -3
  33. package/dist/cjs/components/dialog/Dialog.js +159 -121
  34. package/dist/cjs/components/dialog/imperative.js +24 -43
  35. package/dist/cjs/components/dialog/tokens.js +1 -0
  36. package/dist/cjs/components/divider/Divider.js +57 -62
  37. package/dist/cjs/components/empty/Empty.js +53 -52
  38. package/dist/cjs/components/error-boundary/ErrorBoundary.js +74 -0
  39. package/dist/cjs/components/error-boundary/index.js +19 -0
  40. package/dist/cjs/components/field/Field.js +109 -106
  41. package/dist/cjs/components/flex/Flex.js +32 -32
  42. package/dist/cjs/components/flex/FlexItem.js +27 -27
  43. package/dist/cjs/components/form/Form.js +178 -196
  44. package/dist/cjs/components/form/FormItem.js +87 -109
  45. package/dist/cjs/components/form/FormList.js +57 -45
  46. package/dist/cjs/components/form/tokens.js +6 -3
  47. package/dist/cjs/components/form/utils.js +15 -34
  48. package/dist/cjs/components/grid/Grid.js +44 -43
  49. package/dist/cjs/components/grid/GridItem.js +92 -86
  50. package/dist/cjs/components/image/Image.js +76 -79
  51. package/dist/cjs/components/image/tokens.js +5 -3
  52. package/dist/cjs/components/image-preview/ImagePreview.js +125 -113
  53. package/dist/cjs/components/image-preview/imperative.js +4 -13
  54. package/dist/cjs/components/image-preview/tokens.js +3 -1
  55. package/dist/cjs/components/index.js +13 -0
  56. package/dist/cjs/components/input/Input.js +40 -35
  57. package/dist/cjs/components/loading/Loading.js +32 -33
  58. package/dist/cjs/components/nav-bar/NavBar.js +88 -100
  59. package/dist/cjs/components/nav-bar/tokens.js +4 -10
  60. package/dist/cjs/components/notice-bar/NoticeBar.js +81 -80
  61. package/dist/cjs/components/notice-bar/tokens.js +3 -1
  62. package/dist/cjs/components/notify/Notify.js +89 -84
  63. package/dist/cjs/components/notify/imperative.js +32 -55
  64. package/dist/cjs/components/notify/tokens.js +2 -11
  65. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +277 -283
  66. package/dist/cjs/components/number-keyboard/tokens.js +7 -1
  67. package/dist/cjs/components/overlay/Overlay.js +37 -52
  68. package/dist/cjs/components/overlay/tokens.js +5 -3
  69. package/dist/cjs/components/password-input/PasswordInput.js +114 -95
  70. package/dist/cjs/components/picker/Picker.js +465 -454
  71. package/dist/cjs/components/picker/tokens.js +1 -1
  72. package/dist/cjs/components/popup/Popup.js +269 -299
  73. package/dist/cjs/components/popup/tokens.js +1 -0
  74. package/dist/cjs/components/portal/Portal.js +12 -30
  75. package/dist/cjs/components/portal/PortalHost.js +151 -234
  76. package/dist/cjs/components/progress/Progress.js +103 -101
  77. package/dist/cjs/components/progress/tokens.js +1 -0
  78. package/dist/cjs/components/radio/Radio.js +98 -91
  79. package/dist/cjs/components/radio/RadioGroup.js +13 -45
  80. package/dist/cjs/components/radio/tokens.js +7 -10
  81. package/dist/cjs/components/safe-area-view/SafeAreaView.js +22 -26
  82. package/dist/cjs/components/search/Search.js +65 -57
  83. package/dist/cjs/components/selector/Selector.js +21 -27
  84. package/dist/cjs/components/share-sheet/ShareSheet.js +165 -161
  85. package/dist/cjs/components/share-sheet/tokens.js +3 -1
  86. package/dist/cjs/components/sidebar/Sidebar.js +51 -51
  87. package/dist/cjs/components/sidebar/SidebarContext.js +1 -2
  88. package/dist/cjs/components/sidebar/SidebarItem.js +19 -21
  89. package/dist/cjs/components/sidebar/tokens.js +4 -4
  90. package/dist/cjs/components/skeleton/Skeleton.js +71 -77
  91. package/dist/cjs/components/skeleton/tokens.js +1 -2
  92. package/dist/cjs/components/slider/Slider.js +156 -135
  93. package/dist/cjs/components/space/Space.js +57 -76
  94. package/dist/cjs/components/space/tokens.js +7 -1
  95. package/dist/cjs/components/stepper/Stepper.js +182 -158
  96. package/dist/cjs/components/stepper/tokens.js +1 -0
  97. package/dist/cjs/components/swiper/Swiper.js +256 -255
  98. package/dist/cjs/components/swiper/SwiperPagIndicator.js +26 -27
  99. package/dist/cjs/components/swiper/tokens.js +10 -3
  100. package/dist/cjs/components/switch/Switch.js +23 -25
  101. package/dist/cjs/components/tabbar/Tabbar.js +48 -40
  102. package/dist/cjs/components/tabbar/TabbarContext.js +1 -2
  103. package/dist/cjs/components/tabbar/TabbarItem.js +65 -68
  104. package/dist/cjs/components/tabs/Tabs.js +402 -439
  105. package/dist/cjs/components/tabs/tokens.js +3 -1
  106. package/dist/cjs/components/tag/Tag.js +68 -59
  107. package/dist/cjs/components/toast/Toast.js +91 -90
  108. package/dist/cjs/components/toast/imperative.js +16 -41
  109. package/dist/cjs/components/toast/tokens.js +1 -0
  110. package/dist/cjs/components/typography/Typography.js +25 -25
  111. package/dist/cjs/components/water-mark/WaterMark.js +80 -78
  112. package/dist/cjs/design-system/Text.js +38 -0
  113. package/dist/cjs/design-system/ThemeProvider.js +5 -11
  114. package/dist/cjs/design-system/createComponentTokensHook.js +11 -13
  115. package/dist/cjs/design-system/index.js +7 -0
  116. package/dist/cjs/design-system/mergeTokensOverride.js +1 -4
  117. package/dist/cjs/design-system/presets.js +2 -3
  118. package/dist/cjs/design-system/tokens.js +2 -11
  119. package/dist/cjs/hooks/animation/index.js +25 -0
  120. package/dist/cjs/hooks/animation/useAnimatedTransition.js +72 -0
  121. package/dist/cjs/hooks/animation/useReducedMotion.js +75 -0
  122. package/dist/cjs/hooks/aria/useAriaListBox.js +8 -16
  123. package/dist/cjs/hooks/aria/useAriaOverlay.js +3 -3
  124. package/dist/cjs/hooks/aria/useAriaPress.js +8 -21
  125. package/dist/cjs/hooks/aria/useAriaToggle.js +3 -3
  126. package/dist/cjs/hooks/gesture/useGestureScroll.js +60 -61
  127. package/dist/cjs/hooks/index.js +12 -0
  128. package/dist/cjs/hooks/overlay/OverlayStackStore.js +49 -69
  129. package/dist/cjs/hooks/overlay/useOverlayStack.js +13 -19
  130. package/dist/cjs/hooks/useControllableValue.js +13 -24
  131. package/dist/cjs/hooks/useCountDown.js +30 -38
  132. package/dist/cjs/hooks/useHairline.js +17 -29
  133. package/dist/cjs/hooks/useSafeAreaPadding.js +1 -4
  134. package/dist/cjs/index.js +67 -1
  135. package/dist/cjs/platform/animation.js +10 -2
  136. package/dist/cjs/platform/measure.js +21 -37
  137. package/dist/cjs/utils/color.js +20 -39
  138. package/dist/cjs/utils/compare.js +7 -12
  139. package/dist/cjs/utils/createPlatformShadow.js +28 -39
  140. package/dist/cjs/utils/date.js +20 -50
  141. package/dist/cjs/utils/deepMerge.js +16 -26
  142. package/dist/cjs/utils/hairline.js +75 -71
  143. package/dist/cjs/utils/index.js +22 -0
  144. package/dist/cjs/utils/number.js +21 -29
  145. package/dist/cjs/utils/render.js +21 -0
  146. package/dist/cjs/utils/rtl.js +25 -0
  147. package/dist/cjs/utils/string.js +8 -25
  148. package/dist/cjs/utils/validate.js +2 -4
  149. package/dist/es/components/action-sheet/ActionSheet.js +130 -144
  150. package/dist/es/components/action-sheet/tokens.js +16 -27
  151. package/dist/es/components/area/Area.js +58 -71
  152. package/dist/es/components/area/tokens.js +6 -3
  153. package/dist/es/components/avatar/Avatar.js +38 -36
  154. package/dist/es/components/avatar/index.js +1 -2
  155. package/dist/es/components/badge/Badge.js +70 -75
  156. package/dist/es/components/badge/tokens.js +6 -8
  157. package/dist/es/components/button/Button.js +136 -177
  158. package/dist/es/components/button/ButtonGroup.js +12 -46
  159. package/dist/es/components/button/tokens.js +2 -3
  160. package/dist/es/components/calendar/Calendar.js +214 -225
  161. package/dist/es/components/calendar/tokens.js +3 -3
  162. package/dist/es/components/cascader/Cascader.js +260 -270
  163. package/dist/es/components/cascader/tokens.js +2 -2
  164. package/dist/es/components/cascader/useCascaderExtend.js +25 -29
  165. package/dist/es/components/cell/Cell.js +95 -105
  166. package/dist/es/components/cell/CellGroup.js +37 -48
  167. package/dist/es/components/checkbox/Checkbox.js +141 -133
  168. package/dist/es/components/checkbox/CheckboxGroup.js +22 -52
  169. package/dist/es/components/checkbox/tokens.js +7 -10
  170. package/dist/es/components/circle/Circle.js +87 -73
  171. package/dist/es/components/collapse/Collapse.js +90 -105
  172. package/dist/es/components/config-provider/ConfigProvider.js +11 -4
  173. package/dist/es/components/config-provider/DirectionContext.js +2 -0
  174. package/dist/es/components/config-provider/index.js +1 -0
  175. package/dist/es/components/config-provider/locale/en-US.js +32 -0
  176. package/dist/es/components/config-provider/locale/zh-CN.js +32 -0
  177. package/dist/es/components/config-provider/useDirection.js +3 -0
  178. package/dist/es/components/count-down/CountDown.js +35 -30
  179. package/dist/es/components/datetime-picker/DatetimePicker.js +80 -104
  180. package/dist/es/components/datetime-picker/tokens.js +14 -3
  181. package/dist/es/components/dialog/Dialog.js +160 -121
  182. package/dist/es/components/dialog/imperative.js +24 -43
  183. package/dist/es/components/dialog/tokens.js +1 -0
  184. package/dist/es/components/divider/Divider.js +59 -63
  185. package/dist/es/components/empty/Empty.js +54 -52
  186. package/dist/es/components/error-boundary/ErrorBoundary.js +62 -0
  187. package/dist/es/components/error-boundary/index.js +1 -0
  188. package/dist/es/components/field/Field.js +109 -106
  189. package/dist/es/components/flex/Flex.js +32 -31
  190. package/dist/es/components/flex/FlexItem.js +28 -27
  191. package/dist/es/components/form/Form.js +179 -197
  192. package/dist/es/components/form/FormItem.js +86 -107
  193. package/dist/es/components/form/FormList.js +57 -45
  194. package/dist/es/components/form/tokens.js +6 -3
  195. package/dist/es/components/form/utils.js +15 -34
  196. package/dist/es/components/grid/Grid.js +44 -42
  197. package/dist/es/components/grid/GridItem.js +94 -87
  198. package/dist/es/components/image/Image.js +79 -82
  199. package/dist/es/components/image/tokens.js +5 -3
  200. package/dist/es/components/image-preview/ImagePreview.js +125 -113
  201. package/dist/es/components/image-preview/imperative.js +4 -13
  202. package/dist/es/components/image-preview/tokens.js +3 -1
  203. package/dist/es/components/index.js +3 -1
  204. package/dist/es/components/input/Input.js +41 -36
  205. package/dist/es/components/loading/Loading.js +34 -34
  206. package/dist/es/components/nav-bar/NavBar.js +88 -100
  207. package/dist/es/components/nav-bar/tokens.js +4 -4
  208. package/dist/es/components/notice-bar/NoticeBar.js +81 -79
  209. package/dist/es/components/notice-bar/tokens.js +3 -1
  210. package/dist/es/components/notify/Notify.js +93 -87
  211. package/dist/es/components/notify/imperative.js +33 -56
  212. package/dist/es/components/notify/tokens.js +2 -5
  213. package/dist/es/components/number-keyboard/NumberKeyboard.js +277 -283
  214. package/dist/es/components/number-keyboard/tokens.js +7 -1
  215. package/dist/es/components/overlay/Overlay.js +36 -51
  216. package/dist/es/components/overlay/tokens.js +5 -3
  217. package/dist/es/components/password-input/PasswordInput.js +114 -95
  218. package/dist/es/components/picker/Picker.js +465 -454
  219. package/dist/es/components/picker/tokens.js +1 -1
  220. package/dist/es/components/popup/Popup.js +269 -298
  221. package/dist/es/components/popup/tokens.js +1 -0
  222. package/dist/es/components/portal/Portal.js +13 -30
  223. package/dist/es/components/portal/PortalHost.js +152 -234
  224. package/dist/es/components/progress/Progress.js +103 -101
  225. package/dist/es/components/progress/tokens.js +1 -0
  226. package/dist/es/components/radio/Radio.js +100 -93
  227. package/dist/es/components/radio/RadioGroup.js +15 -46
  228. package/dist/es/components/radio/tokens.js +7 -10
  229. package/dist/es/components/safe-area-view/SafeAreaView.js +22 -25
  230. package/dist/es/components/search/Search.js +66 -58
  231. package/dist/es/components/selector/Selector.js +21 -27
  232. package/dist/es/components/share-sheet/ShareSheet.js +167 -163
  233. package/dist/es/components/share-sheet/tokens.js +3 -1
  234. package/dist/es/components/sidebar/Sidebar.js +53 -53
  235. package/dist/es/components/sidebar/SidebarContext.js +1 -2
  236. package/dist/es/components/sidebar/SidebarItem.js +19 -20
  237. package/dist/es/components/sidebar/tokens.js +4 -4
  238. package/dist/es/components/skeleton/Skeleton.js +71 -77
  239. package/dist/es/components/skeleton/tokens.js +1 -2
  240. package/dist/es/components/slider/Slider.js +156 -134
  241. package/dist/es/components/space/Space.js +59 -78
  242. package/dist/es/components/space/tokens.js +7 -1
  243. package/dist/es/components/stepper/Stepper.js +183 -159
  244. package/dist/es/components/stepper/tokens.js +1 -0
  245. package/dist/es/components/swiper/Swiper.js +258 -257
  246. package/dist/es/components/swiper/SwiperPagIndicator.js +26 -27
  247. package/dist/es/components/swiper/tokens.js +10 -3
  248. package/dist/es/components/switch/Switch.js +23 -25
  249. package/dist/es/components/tabbar/Tabbar.js +49 -41
  250. package/dist/es/components/tabbar/TabbarContext.js +1 -2
  251. package/dist/es/components/tabbar/TabbarItem.js +66 -69
  252. package/dist/es/components/tabs/Tabs.js +403 -440
  253. package/dist/es/components/tabs/tokens.js +3 -1
  254. package/dist/es/components/tag/Tag.js +71 -61
  255. package/dist/es/components/toast/Toast.js +94 -91
  256. package/dist/es/components/toast/imperative.js +16 -41
  257. package/dist/es/components/toast/tokens.js +1 -0
  258. package/dist/es/components/typography/Typography.js +25 -25
  259. package/dist/es/components/water-mark/WaterMark.js +81 -79
  260. package/dist/es/design-system/Text.js +19 -0
  261. package/dist/es/design-system/ThemeProvider.js +5 -11
  262. package/dist/es/design-system/createComponentTokensHook.js +11 -13
  263. package/dist/es/design-system/index.js +1 -0
  264. package/dist/es/design-system/mergeTokensOverride.js +1 -4
  265. package/dist/es/design-system/presets.js +2 -3
  266. package/dist/es/design-system/tokens.js +1 -9
  267. package/dist/es/hooks/animation/index.js +2 -0
  268. package/dist/es/hooks/animation/useAnimatedTransition.js +53 -0
  269. package/dist/es/hooks/animation/useReducedMotion.js +54 -0
  270. package/dist/es/hooks/aria/useAriaListBox.js +8 -16
  271. package/dist/es/hooks/aria/useAriaOverlay.js +3 -3
  272. package/dist/es/hooks/aria/useAriaPress.js +8 -21
  273. package/dist/es/hooks/aria/useAriaToggle.js +3 -3
  274. package/dist/es/hooks/gesture/useGestureScroll.js +60 -61
  275. package/dist/es/hooks/index.js +1 -0
  276. package/dist/es/hooks/overlay/OverlayStackStore.js +49 -69
  277. package/dist/es/hooks/overlay/useOverlayStack.js +13 -19
  278. package/dist/es/hooks/useControllableValue.js +13 -24
  279. package/dist/es/hooks/useCountDown.js +30 -38
  280. package/dist/es/hooks/useHairline.js +16 -28
  281. package/dist/es/hooks/useSafeAreaPadding.js +1 -4
  282. package/dist/es/index.js +8 -1
  283. package/dist/es/platform/animation.js +9 -1
  284. package/dist/es/platform/measure.js +21 -37
  285. package/dist/es/utils/color.js +18 -35
  286. package/dist/es/utils/compare.js +7 -12
  287. package/dist/es/utils/createPlatformShadow.js +28 -39
  288. package/dist/es/utils/date.js +20 -50
  289. package/dist/es/utils/deepMerge.js +16 -26
  290. package/dist/es/utils/hairline.js +74 -65
  291. package/dist/es/utils/index.js +2 -0
  292. package/dist/es/utils/number.js +21 -29
  293. package/dist/es/utils/render.js +7 -0
  294. package/dist/es/utils/rtl.js +17 -0
  295. package/dist/es/utils/string.js +8 -25
  296. package/dist/es/utils/validate.js +1 -2
  297. package/dist/types/components/action-sheet/ActionSheet.d.ts +1 -1
  298. package/dist/types/components/area/Area.d.ts +1 -1
  299. package/dist/types/components/area/tokens.d.ts +4 -0
  300. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  301. package/dist/types/components/avatar/index.d.ts +1 -2
  302. package/dist/types/components/badge/Badge.d.ts +1 -1
  303. package/dist/types/components/button/Button.d.ts +1 -1
  304. package/dist/types/components/button/index.d.ts +1 -1
  305. package/dist/types/components/calendar/Calendar.d.ts +1 -1
  306. package/dist/types/components/cascader/Cascader.d.ts +1 -1
  307. package/dist/types/components/cell/Cell.d.ts +1 -1
  308. package/dist/types/components/cell/CellGroup.d.ts +1 -1
  309. package/dist/types/components/cell/index.d.ts +2 -2
  310. package/dist/types/components/checkbox/Checkbox.d.ts +1 -1
  311. package/dist/types/components/circle/Circle.d.ts +1 -1
  312. package/dist/types/components/collapse/Collapse.d.ts +1 -2
  313. package/dist/types/components/config-provider/DirectionContext.d.ts +3 -0
  314. package/dist/types/components/config-provider/index.d.ts +2 -1
  315. package/dist/types/components/config-provider/locale/en-US.d.ts +32 -0
  316. package/dist/types/components/config-provider/locale/zh-CN.d.ts +32 -0
  317. package/dist/types/components/config-provider/useDirection.d.ts +1 -0
  318. package/dist/types/components/count-down/CountDown.d.ts +1 -1
  319. package/dist/types/components/datetime-picker/DatetimePicker.d.ts +1 -1
  320. package/dist/types/components/datetime-picker/tokens.d.ts +12 -0
  321. package/dist/types/components/dialog/Dialog.d.ts +1 -1
  322. package/dist/types/components/dialog/tokens.d.ts +1 -0
  323. package/dist/types/components/divider/Divider.d.ts +1 -1
  324. package/dist/types/components/empty/Empty.d.ts +1 -1
  325. package/dist/types/components/error-boundary/ErrorBoundary.d.ts +6 -0
  326. package/dist/types/components/error-boundary/index.d.ts +2 -0
  327. package/dist/types/components/field/Field.d.ts +1 -1
  328. package/dist/types/components/flex/Flex.d.ts +1 -1
  329. package/dist/types/components/flex/FlexItem.d.ts +1 -1
  330. package/dist/types/components/flex/index.d.ts +2 -2
  331. package/dist/types/components/form/Form.d.ts +1 -1
  332. package/dist/types/components/form/FormItem.d.ts +2 -1
  333. package/dist/types/components/form/index.d.ts +2 -2
  334. package/dist/types/components/form/tokens.d.ts +4 -0
  335. package/dist/types/components/grid/Grid.d.ts +1 -1
  336. package/dist/types/components/grid/GridItem.d.ts +1 -1
  337. package/dist/types/components/grid/index.d.ts +2 -2
  338. package/dist/types/components/image/Image.d.ts +1 -1
  339. package/dist/types/components/image-preview/ImagePreview.d.ts +1 -1
  340. package/dist/types/components/image-preview/tokens.d.ts +1 -0
  341. package/dist/types/components/index.d.ts +4 -1
  342. package/dist/types/components/input/Input.d.ts +3 -3
  343. package/dist/types/components/loading/Loading.d.ts +1 -1
  344. package/dist/types/components/nav-bar/NavBar.d.ts +1 -1
  345. package/dist/types/components/nav-bar/tokens.d.ts +1 -1
  346. package/dist/types/components/notice-bar/NoticeBar.d.ts +1 -1
  347. package/dist/types/components/notice-bar/tokens.d.ts +1 -0
  348. package/dist/types/components/notify/Notify.d.ts +2 -2
  349. package/dist/types/components/notify/index.d.ts +1 -1
  350. package/dist/types/components/number-keyboard/tokens.d.ts +5 -0
  351. package/dist/types/components/overlay/Overlay.d.ts +1 -5
  352. package/dist/types/components/overlay/tokens.d.ts +3 -0
  353. package/dist/types/components/password-input/PasswordInput.d.ts +1 -1
  354. package/dist/types/components/picker/Picker.d.ts +6 -6
  355. package/dist/types/components/popup/Popup.d.ts +3 -42
  356. package/dist/types/components/popup/tokens.d.ts +1 -0
  357. package/dist/types/components/portal/Portal.d.ts +9 -6
  358. package/dist/types/components/portal/PortalHost.d.ts +1 -1
  359. package/dist/types/components/radio/RadioGroup.d.ts +1 -1
  360. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +1 -1
  361. package/dist/types/components/search/Search.d.ts +1 -1
  362. package/dist/types/components/share-sheet/ShareSheet.d.ts +1 -1
  363. package/dist/types/components/share-sheet/tokens.d.ts +1 -0
  364. package/dist/types/components/sidebar/Sidebar.d.ts +1 -1
  365. package/dist/types/components/sidebar/SidebarContext.d.ts +1 -1
  366. package/dist/types/components/sidebar/SidebarItem.d.ts +1 -1
  367. package/dist/types/components/sidebar/index.d.ts +2 -2
  368. package/dist/types/components/skeleton/Skeleton.d.ts +1 -1
  369. package/dist/types/components/slider/Slider.d.ts +1 -1
  370. package/dist/types/components/stepper/Stepper.d.ts +1 -1
  371. package/dist/types/components/stepper/tokens.d.ts +1 -0
  372. package/dist/types/components/swiper/Swiper.d.ts +1 -1
  373. package/dist/types/components/swiper/index.d.ts +1 -1
  374. package/dist/types/components/swiper/tokens.d.ts +8 -0
  375. package/dist/types/components/tabbar/Tabbar.d.ts +2 -2
  376. package/dist/types/components/tabbar/TabbarContext.d.ts +1 -1
  377. package/dist/types/components/tabbar/TabbarItem.d.ts +2 -2
  378. package/dist/types/components/tabs/Tabs.d.ts +1 -1
  379. package/dist/types/components/tabs/index.d.ts +1 -1
  380. package/dist/types/components/tabs/tokens.d.ts +1 -0
  381. package/dist/types/components/tag/Tag.d.ts +1 -1
  382. package/dist/types/components/toast/Toast.d.ts +2 -2
  383. package/dist/types/components/toast/index.d.ts +1 -1
  384. package/dist/types/components/toast/tokens.d.ts +1 -0
  385. package/dist/types/components/water-mark/WaterMark.d.ts +1 -1
  386. package/dist/types/design-system/Text.d.ts +3 -0
  387. package/dist/types/design-system/index.d.ts +1 -0
  388. package/dist/types/design-system/tokens.d.ts +0 -1
  389. package/dist/types/hooks/animation/index.d.ts +3 -0
  390. package/dist/types/hooks/animation/useAnimatedTransition.d.ts +13 -0
  391. package/dist/types/hooks/animation/useReducedMotion.d.ts +3 -0
  392. package/dist/types/hooks/aria/useAriaOverlay.d.ts +1 -1
  393. package/dist/types/hooks/gesture/useGestureScroll.d.ts +11 -10
  394. package/dist/types/hooks/index.d.ts +1 -0
  395. package/dist/types/hooks/overlay/OverlayStackStore.d.ts +8 -8
  396. package/dist/types/hooks/useCountDown.d.ts +1 -1
  397. package/dist/types/hooks/useHairline.d.ts +1 -1
  398. package/dist/types/index.d.ts +5 -0
  399. package/dist/types/platform/animation.d.ts +8 -0
  400. package/dist/types/platform/measure.d.ts +1 -1
  401. package/dist/types/utils/color.d.ts +0 -2
  402. package/dist/types/utils/compare.d.ts +1 -1
  403. package/dist/types/utils/createPlatformShadow.d.ts +2 -2
  404. package/dist/types/utils/date.d.ts +2 -2
  405. package/dist/types/utils/hairline.d.ts +5 -10
  406. package/dist/types/utils/index.d.ts +2 -0
  407. package/dist/types/utils/number.d.ts +2 -2
  408. package/dist/types/utils/render.d.ts +5 -0
  409. package/dist/types/utils/rtl.d.ts +5 -0
  410. package/dist/types/utils/validate.d.ts +0 -1
  411. package/package.json +25 -4
@@ -35,15 +35,26 @@ function _toggle() {
35
35
  var _CheckboxContext = require("./CheckboxContext");
36
36
  var _tokens = require("./tokens");
37
37
  var _utils = require("../../utils");
38
+ var _validate = require("../../utils/validate");
38
39
  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); }
39
40
  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); }
40
- const Checkbox = exports.Checkbox = /*#__PURE__*/_react().default.forwardRef((props, ref) => {
41
+ const EMPTY_CHECKBOX_GROUP_STATE = {
42
+ value: [],
43
+ isDisabled: false,
44
+ isReadOnly: false,
45
+ isSelected: () => false,
46
+ setValue: () => {},
47
+ addValue: () => {},
48
+ removeValue: () => {},
49
+ toggleValue: () => {}
50
+ };
51
+ const CheckboxImpl = (p, ref) => {
41
52
  const {
42
53
  children,
43
54
  name,
44
55
  value,
45
56
  iconRender,
46
- bindGroup: bindGroupProp,
57
+ bindGroup: bgp,
47
58
  shape,
48
59
  iconSize,
49
60
  checkedColor,
@@ -55,189 +66,186 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/_react().default.forwardRef((pr
55
66
  tokensOverride,
56
67
  hitSlop = 8,
57
68
  accessibilityLabel,
58
- ['aria-label']: ariaLabel,
69
+ ['aria-label']: al,
59
70
  onClick,
60
71
  onChange,
61
72
  ...rest
62
- } = props;
63
- const tokens = (0, _tokens.useCheckboxTokens)(tokensOverride);
64
- const group = (0, _react().useContext)(_CheckboxContext.CheckboxGroupContext);
65
- const bindGroup = bindGroupProp ?? tokens.defaults.bindGroup;
66
- const resolvedShape = shape ?? group?.shape ?? tokens.defaults.shape;
67
- const resolvedIconSize = iconSize ?? group?.iconSize ?? tokens.defaults.iconSize;
68
- const resolvedCheckedColor = checkedColor ?? group?.checkedColor ?? tokens.colors.checkedBackground;
69
- const resolvedIconRender = iconRender ?? group?.iconRender;
70
- const resolvedLabelPosition = labelPosition ?? tokens.defaults.labelPosition;
71
- const resolvedLabelDisabled = labelDisabled ?? group?.labelDisabled ?? tokens.defaults.labelDisabled;
72
- const resolvedDisabled = Boolean(disabled || group?.state.isDisabled);
73
- const rawValue = value ?? name;
74
- const serializedValue = rawValue == null ? undefined : String(rawValue);
75
- const internalRef = (0, _react().useRef)(null);
76
- (0, _react().useImperativeHandle)(ref, () => internalRef.current);
77
- const standaloneState = (0, _toggle().useToggleState)({
78
- isSelected: props.checked,
79
- defaultSelected: props.defaultChecked,
73
+ } = p;
74
+ const t = (0, _tokens.useCheckboxTokens)(tokensOverride);
75
+ const g = (0, _react().useContext)(_CheckboxContext.CheckboxGroupContext);
76
+ const bg = bgp ?? t.defaults.bindGroup;
77
+ const rs = shape ?? g?.shape ?? t.defaults.shape;
78
+ const ris = iconSize ?? g?.iconSize ?? t.defaults.iconSize;
79
+ const rcc = checkedColor ?? g?.checkedColor ?? t.colors.checkedBackground;
80
+ const rir = iconRender ?? g?.iconRender;
81
+ const rlp = labelPosition ?? t.defaults.labelPosition;
82
+ const rld = labelDisabled ?? g?.labelDisabled ?? t.defaults.labelDisabled;
83
+ const rd = Boolean(disabled || g?.state.isDisabled);
84
+ const rv = value ?? name;
85
+ const sv = rv == null ? undefined : String(rv);
86
+ const ir = (0, _react().useRef)(null);
87
+ (0, _react().useImperativeHandle)(ref, () => ir.current);
88
+ const ss = (0, _toggle().useToggleState)({
89
+ isSelected: p.checked,
90
+ defaultSelected: p.defaultChecked,
80
91
  onChange
81
92
  });
82
- const isGroup = !!group && serializedValue !== undefined && bindGroup;
93
+ const ig = !!g && sv !== undefined && bg;
83
94
  const {
84
95
  onBlur,
85
96
  onFocus,
86
- ...compatibleRest
97
+ ...cr
87
98
  } = rest;
88
99
  (0, _react().useEffect)(() => {
89
- if (group && bindGroup && serializedValue !== undefined && rawValue !== undefined) {
90
- group.registerValue(serializedValue, rawValue, resolvedDisabled);
91
- return () => group.unregisterValue(serializedValue);
100
+ if (g && bg && sv !== undefined && rv !== undefined) {
101
+ g.registerValue(sv, rv, rd);
102
+ return () => g.unregisterValue(sv);
92
103
  }
104
+ ;
93
105
  return undefined;
94
- }, [bindGroup, group, serializedValue, rawValue, resolvedDisabled]);
95
- const resolvedAccessibilityLabel = accessibilityLabel ?? ariaLabel ?? ((0, _utils.isText)(children) ? String(children) : undefined) ?? serializedValue ?? 'checkbox';
96
- let inputProps;
97
- let isChecked;
98
- const ariaRef = internalRef;
99
- if (isGroup && group) {
100
- const {
101
- inputProps: groupInputProps
102
- } = (0, _checkbox().useCheckboxGroupItem)({
103
- ...compatibleRest,
104
- value: serializedValue,
105
- isDisabled: resolvedDisabled,
106
- 'aria-label': resolvedAccessibilityLabel
107
- }, group.state, ariaRef);
108
- inputProps = groupInputProps;
109
- isChecked = group.state.isSelected(serializedValue);
110
- } else {
111
- const {
112
- inputProps: standaloneProps
113
- } = (0, _checkbox().useCheckbox)({
114
- ...compatibleRest,
115
- isDisabled: resolvedDisabled,
116
- value: serializedValue,
117
- 'aria-label': resolvedAccessibilityLabel
118
- }, standaloneState, ariaRef);
119
- inputProps = standaloneProps;
120
- isChecked = props.checked !== undefined ? props.checked : standaloneState.isSelected;
121
- }
122
- const borderRadius = resolvedShape === 'round' ? resolvedIconSize / 2 : tokens.radii.square;
123
- const borderColor = resolvedDisabled ? tokens.colors.disabledBorder : isChecked ? resolvedCheckedColor : tokens.colors.border;
124
- const backgroundColor = resolvedDisabled ? tokens.colors.disabledBackground : isChecked ? resolvedCheckedColor : tokens.colors.background;
125
- const labelColor = resolvedDisabled || resolvedLabelDisabled ? tokens.colors.labelDisabled : tokens.colors.label;
126
- const spacingStyle = resolvedLabelPosition === 'left' ? {
127
- marginRight: tokens.spacing.gap
106
+ }, [bg, g, sv, rv, rd]);
107
+ const ral = accessibilityLabel ?? al ?? ((0, _validate.isText)(children) ? String(children) : undefined) ?? sv ?? 'checkbox';
108
+ const ar = ir;
109
+ const {
110
+ inputProps: gip
111
+ } = (0, _checkbox().useCheckboxGroupItem)({
112
+ ...cr,
113
+ value: sv ?? '',
114
+ isDisabled: rd,
115
+ 'aria-label': ral
116
+ }, ig && g ? g.state : EMPTY_CHECKBOX_GROUP_STATE, ar);
117
+ const {
118
+ inputProps: sip
119
+ } = (0, _checkbox().useCheckbox)({
120
+ ...cr,
121
+ isDisabled: rd,
122
+ value: sv,
123
+ 'aria-label': ral
124
+ }, ss, ar);
125
+ const ip = ig && g ? gip : sip;
126
+ const ic = ig && g ? g.state.isSelected(sv) : p.checked !== undefined ? p.checked : ss.isSelected;
127
+ const br = rs === 'round' ? ris / 2 : t.radii.square;
128
+ const bc = rd ? t.colors.disabledBorder : ic ? rcc : t.colors.border;
129
+ const bgc = rd ? t.colors.disabledBackground : ic ? rcc : t.colors.background;
130
+ const lc = rd || rld ? t.colors.labelDisabled : t.colors.label;
131
+ const ss_ = rlp === 'left' ? {
132
+ marginRight: t.spacing.gap
128
133
  } : {
129
- marginLeft: tokens.spacing.gap
134
+ marginLeft: t.spacing.gap
130
135
  };
131
- const originalOnPress = inputProps?.onPress;
132
- const mergedInputProps = inputProps ? {
133
- ...inputProps,
136
+ const oop = ip?.onPress;
137
+ const mip = ip ? {
138
+ ...ip,
134
139
  onPress: e => {
135
140
  onClick?.(e);
136
- if (isGroup && group?.max && !isChecked && group.state.value.length >= group.max) {
141
+ if (ig && g?.max && !ic && g.state.value.length >= g.max) return;
142
+ if (oop) {
143
+ oop(e);
137
144
  return;
138
145
  }
139
- if (originalOnPress) {
140
- originalOnPress(e);
146
+ if (ig && g && sv !== undefined) {
147
+ if (ic) g.state.removeValue(sv);else g.state.addValue(sv);
141
148
  return;
142
149
  }
143
- if (isGroup && group && serializedValue !== undefined) {
144
- if (isChecked) group.state.removeValue(serializedValue);else group.state.addValue(serializedValue);
145
- return;
146
- }
147
- if (props.checked !== undefined) {
148
- onChange?.(!props.checked);
150
+ if (p.checked !== undefined) {
151
+ onChange?.(!p.checked);
149
152
  return;
150
153
  }
151
154
  if (onChange) {
152
- standaloneState.setSelected(!standaloneState.isSelected);
155
+ ss.setSelected(!ss.isSelected);
153
156
  }
154
157
  }
155
158
  } : {};
156
- const labelNode = children === null || children === undefined || children === false ? null : (0, _utils.isText)(children) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
159
+ const ln = !(0, _validate.isRenderable)(children) ? null : (0, _validate.isText)(children) ? /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
157
160
  accessible: false,
158
- style: [tokens.layout.label, {
159
- color: labelColor,
160
- fontSize: tokens.typography.fontSize,
161
- lineHeight: tokens.typography.fontSize * tokens.typography.lineHeightMultiplier,
162
- fontFamily: tokens.typography.fontFamily,
163
- fontWeight: tokens.typography.fontWeight
161
+ style: [t.layout.label, {
162
+ color: lc,
163
+ fontSize: t.typography.fontSize,
164
+ lineHeight: t.typography.fontSize * t.typography.lineHeightMultiplier,
165
+ fontFamily: t.typography.fontFamily,
166
+ fontWeight: t.typography.fontWeight
164
167
  }, labelStyle]
165
168
  }, children) : /*#__PURE__*/_react().default.createElement(_reactNative().View, {
166
169
  accessible: false,
167
170
  style: labelStyle
168
171
  }, children);
169
- const iconBaseStyle = {
170
- width: resolvedIconSize,
171
- height: resolvedIconSize,
172
- borderRadius,
173
- borderColor,
174
- backgroundColor,
175
- borderWidth: tokens.borders.width
172
+ const ibs = {
173
+ width: ris,
174
+ height: ris,
175
+ borderRadius: br,
176
+ backgroundColor: bgc
176
177
  };
177
- const defaultIcon = /*#__PURE__*/_react().default.createElement(_reactNative().View, {
178
- style: [tokens.layout.icon, iconBaseStyle]
179
- }, isChecked && /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
180
- style: [tokens.layout.checkmark, {
181
- color: tokens.colors.checkmark,
182
- fontSize: resolvedIconSize * tokens.icon.scale
178
+ const di = /*#__PURE__*/_react().default.createElement(_reactNative().View, {
179
+ style: [t.layout.icon, ibs]
180
+ }, ic && /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
181
+ style: [t.layout.checkmark, {
182
+ color: t.colors.checkmark,
183
+ fontSize: ris * t.icon.scale
183
184
  }]
184
- }, "\u2713"));
185
- let iconVisual = defaultIcon;
186
- if (resolvedIconRender) {
187
- iconVisual = resolvedIconRender({
188
- checked: Boolean(isChecked),
189
- disabled: Boolean(resolvedDisabled)
185
+ }, "\u2713"), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
186
+ style: (0, _utils.createHairlineView)({
187
+ position: 'all',
188
+ color: bc,
189
+ borderRadius: br
190
+ })
191
+ }));
192
+ let iv = di;
193
+ if (rir) {
194
+ iv = rir({
195
+ checked: Boolean(ic),
196
+ disabled: Boolean(rd)
190
197
  }) ?? null;
191
198
  }
192
- const interactive = !resolvedDisabled && !resolvedLabelDisabled;
193
- const labelWrapper = labelNode ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
194
- style: [tokens.layout.labelWrapper, spacingStyle],
195
- pointerEvents: resolvedLabelDisabled ? 'none' : undefined,
199
+ const i = !rd && !rld;
200
+ const lw = ln && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
201
+ style: [t.layout.labelWrapper, ss_],
202
+ pointerEvents: rld ? 'none' : undefined,
196
203
  accessible: false
197
- }, labelNode) : null;
198
- const iconWrapperStyle = [tokens.layout.iconWrapper, resolvedLabelPosition === 'left' ? {
199
- marginLeft: tokens.spacing.gap
204
+ }, ln);
205
+ const iws = [t.layout.iconWrapper, rlp === 'left' ? {
206
+ marginLeft: t.spacing.gap
200
207
  } : {
201
- marginRight: tokens.spacing.gap
208
+ marginRight: t.spacing.gap
202
209
  }];
203
- const iconWrapper = interactive ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
204
- style: iconWrapperStyle
205
- }, iconVisual) : /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mergedInputProps, {
206
- ref: internalRef,
207
- disabled: resolvedDisabled,
208
- accessibilityLabel: resolvedAccessibilityLabel,
210
+ const iw = i ? /*#__PURE__*/_react().default.createElement(_reactNative().View, {
211
+ style: iws
212
+ }, iv) : /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mip, {
213
+ ref: ir,
214
+ disabled: rd,
215
+ accessibilityLabel: ral,
209
216
  accessibilityRole: "checkbox",
210
217
  accessibilityState: {
211
- checked: isChecked,
212
- disabled: !!resolvedDisabled
218
+ checked: ic,
219
+ disabled: !!rd
213
220
  },
214
- style: iconWrapperStyle,
221
+ style: iws,
215
222
  hitSlop: hitSlop
216
- }), iconVisual);
217
- const content = resolvedLabelPosition === 'left' ? /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, labelWrapper, iconWrapper) : /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, iconWrapper, labelWrapper);
218
- if (interactive) {
219
- return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mergedInputProps, {
220
- ref: internalRef,
221
- disabled: resolvedDisabled,
222
- accessibilityLabel: resolvedAccessibilityLabel,
223
+ }), iv);
224
+ const cnt = rlp === 'left' ? /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, lw, iw) : /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, iw, lw);
225
+ if (i) {
226
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({}, mip, {
227
+ ref: ir,
228
+ disabled: rd,
229
+ accessibilityLabel: ral,
223
230
  accessibilityRole: "checkbox",
224
231
  accessibilityState: {
225
- checked: isChecked,
226
- disabled: !!resolvedDisabled
232
+ checked: ic,
233
+ disabled: !!rd
227
234
  },
228
235
  style: ({
229
236
  pressed
230
- }) => [tokens.layout.container, style, _reactNative().Platform.OS === 'web' && {
237
+ }) => [t.layout.container, style, _reactNative().Platform.OS === 'web' && {
231
238
  cursor: 'pointer'
232
239
  }, pressed && {
233
240
  opacity: 0.8
234
241
  }],
235
242
  hitSlop: hitSlop
236
- }), content);
243
+ }), cnt);
237
244
  }
238
245
  return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
239
- style: [tokens.layout.container, style]
240
- }, content);
241
- });
242
- Checkbox.displayName = 'Checkbox';
246
+ style: [t.layout.container, style]
247
+ }, cnt);
248
+ };
249
+ const CheckboxForwardRef = /*#__PURE__*/_react().default.forwardRef(CheckboxImpl);
250
+ const Checkbox = exports.Checkbox = /*#__PURE__*/_react().default.memo(CheckboxForwardRef);
243
251
  var _default = exports.default = Checkbox;
@@ -63,7 +63,6 @@ const CheckboxGroup = exports.CheckboxGroup = /*#__PURE__*/_react().default.forw
63
63
  const disabled = disabledProp ?? tokens.defaults.groupDisabled;
64
64
  const direction = directionProp ?? tokens.defaults.groupDirection;
65
65
  const gap = Math.max(0, gapProp ?? tokens.spacing.groupGap);
66
- const supportsGap = _reactNative().Platform.OS === 'web';
67
66
  const registryRef = (0, _react().useRef)(new Map());
68
67
  const state = (0, _checkbox2().useCheckboxGroupState)({
69
68
  value: value?.map(serialize),
@@ -80,15 +79,15 @@ const CheckboxGroup = exports.CheckboxGroup = /*#__PURE__*/_react().default.forw
80
79
  'aria-label': accessibilityLabel,
81
80
  'aria-describedby': accessibilityHint
82
81
  }, state);
83
- const groupPropsRecord = groupProps ?? {};
82
+ const gpr = groupProps ?? {};
84
83
  const {
85
84
  [' aria-disabled']: __ariaDisabledTypo,
86
- ...restGroupProps
87
- } = groupPropsRecord;
88
- const resolvedGroupProps = (0, _react().useMemo)(() => ({
89
- ...restGroupProps,
85
+ ...restGP
86
+ } = gpr;
87
+ const rGroupProps = (0, _react().useMemo)(() => ({
88
+ ...restGP,
90
89
  'aria-disabled': disabled
91
- }), [disabled, restGroupProps]);
90
+ }), [disabled, restGP]);
92
91
  const registerValue = (0, _react().useCallback)((key, raw, itemDisabled) => {
93
92
  registryRef.current.set(key, {
94
93
  value: raw,
@@ -98,46 +97,32 @@ const CheckboxGroup = exports.CheckboxGroup = /*#__PURE__*/_react().default.forw
98
97
  const unregisterValue = (0, _react().useCallback)(key => {
99
98
  registryRef.current.delete(key);
100
99
  }, []);
101
- const childrenArray = (0, _react().useMemo)(() => _react().default.Children.toArray(children).filter(child => child != null && !(0, _utils.isBoolean)(child)), [children]);
102
- const childrenLength = childrenArray.length;
103
- const itemStyleForIndex = (0, _react().useCallback)(index => {
104
- const isLast = index === childrenLength - 1;
105
- if (direction === 'horizontal') {
106
- return [tokens.layout.groupItem, !isLast && {
107
- marginRight: gap
108
- }];
109
- }
110
- return isLast ? tokens.layout.groupItem : [tokens.layout.groupItem, {
111
- marginBottom: gap
112
- }];
113
- }, [childrenLength, direction, gap, tokens.layout.groupItem]);
100
+ const chArr = (0, _react().useMemo)(() => _react().default.Children.toArray(children).filter(ch => ch != null && !(0, _utils.isBoolean)(ch)), [children]);
114
101
  const toggleAll = (0, _react().useCallback)((options = {}) => {
115
102
  const opts = (0, _utils.isBoolean)(options) ? {
116
103
  checked: options
117
104
  } : options;
118
105
  const {
119
- checked: targetChecked,
106
+ checked: tgt,
120
107
  skipDisabled
121
108
  } = opts;
122
- const current = new Set(state.value ?? []);
109
+ const cur = new Set(state.value ?? []);
123
110
  const nextKeys = [];
124
111
  registryRef.current.forEach((meta, key) => {
125
- const isDisabledItem = !!meta.disabled || disabled;
126
- if (skipDisabled && isDisabledItem) {
127
- if (current.has(key)) nextKeys.push(key);
112
+ const isDis = !!meta.disabled || disabled;
113
+ if (skipDisabled && isDis) {
114
+ if (cur.has(key)) nextKeys.push(key);
128
115
  return;
129
116
  }
130
- const shouldSelect = targetChecked === true ? true : targetChecked === false ? false : !current.has(key);
131
- if (shouldSelect) {
132
- nextKeys.push(key);
133
- }
117
+ ;
118
+ if (tgt === true ? true : tgt === false ? false : !cur.has(key)) nextKeys.push(key);
134
119
  });
135
120
  state.setValue(nextKeys);
136
121
  }, [disabled, state]);
137
122
  (0, _react().useImperativeHandle)(ref, () => ({
138
123
  toggleAll
139
124
  }), [toggleAll]);
140
- const contextValue = (0, _react().useMemo)(() => ({
125
+ const ctxVal = (0, _react().useMemo)(() => ({
141
126
  state,
142
127
  direction,
143
128
  shape,
@@ -149,30 +134,15 @@ const CheckboxGroup = exports.CheckboxGroup = /*#__PURE__*/_react().default.forw
149
134
  registerValue,
150
135
  unregisterValue
151
136
  }), [checkedColor, direction, iconRender, iconSize, labelDisabled, max, registerValue, shape, state, unregisterValue]);
152
- const containerStyle = (0, _react().useMemo)(() => [direction === 'horizontal' ? tokens.layout.groupHorizontal : tokens.layout.groupVertical, supportsGap ? {
137
+ const ctrStyle = [direction === 'horizontal' ? tokens.layout.groupHorizontal : tokens.layout.groupVertical, {
153
138
  columnGap: direction === 'horizontal' ? gap : undefined,
154
139
  rowGap: gap
155
- } : null, style], [direction, gap, style, supportsGap, tokens.layout.groupHorizontal, tokens.layout.groupVertical]);
156
- const renderedChildren = (0, _react().useMemo)(() => supportsGap ? childrenArray : childrenArray.map((child, index) => {
157
- const key = /*#__PURE__*/_react().default.isValidElement(child) && child.key !== null ? child.key : index;
158
- const itemStyle = itemStyleForIndex(index);
159
- if (/*#__PURE__*/_react().default.isValidElement(child) && child.type !== _react().default.Fragment) {
160
- const element = child;
161
- return /*#__PURE__*/_react().default.cloneElement(element, {
162
- style: [element.props.style, itemStyle],
163
- key
164
- });
165
- }
166
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
167
- key: key,
168
- style: itemStyle
169
- }, child);
170
- }), [childrenArray, itemStyleForIndex, supportsGap]);
140
+ }, style];
171
141
  return /*#__PURE__*/_react().default.createElement(CheckboxGroupContext.Provider, {
172
- value: contextValue
173
- }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, resolvedGroupProps, viewProps, {
142
+ value: ctxVal
143
+ }, /*#__PURE__*/_react().default.createElement(_reactNative().View, _extends({}, rGroupProps, viewProps, {
174
144
  accessibilityLabel: accessibilityLabel,
175
145
  accessibilityHint: accessibilityHint,
176
- style: containerStyle
177
- }), renderedChildren));
146
+ style: ctrStyle
147
+ }), chArr));
178
148
  });
@@ -12,6 +12,10 @@ function _reactNative() {
12
12
  return data;
13
13
  }
14
14
  var _designSystem = require("../../design-system");
15
+ const centered = {
16
+ justifyContent: 'center',
17
+ alignItems: 'center'
18
+ };
15
19
  const createCheckboxTokens = foundations => {
16
20
  const {
17
21
  palette,
@@ -20,7 +24,6 @@ const createCheckboxTokens = foundations => {
20
24
  fontSize,
21
25
  typography
22
26
  } = foundations;
23
- const onPrimary = palette.primary.foreground ?? '#ffffff';
24
27
  return {
25
28
  defaults: {
26
29
  shape: 'round',
@@ -36,14 +39,8 @@ const createCheckboxTokens = foundations => {
36
39
  flexDirection: 'row',
37
40
  alignItems: 'center'
38
41
  },
39
- iconWrapper: {
40
- justifyContent: 'center',
41
- alignItems: 'center'
42
- },
43
- icon: {
44
- justifyContent: 'center',
45
- alignItems: 'center'
46
- },
42
+ iconWrapper: centered,
43
+ icon: centered,
47
44
  checkmark: {
48
45
  textAlign: 'center',
49
46
  includeFontPadding: false
@@ -72,7 +69,7 @@ const createCheckboxTokens = foundations => {
72
69
  checkedBackground: palette.primary[500],
73
70
  disabledBorder: palette.default[300],
74
71
  disabledBackground: palette.default[100],
75
- checkmark: onPrimary,
72
+ checkmark: palette.primary.foreground ?? '#ffffff',
76
73
  label: palette.default.foreground ?? '#111827',
77
74
  labelDisabled: palette.default[400]
78
75
  },