react-native-system-ui 0.0.6 → 1.0.0

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 (366) hide show
  1. package/README.md +53 -30
  2. package/dist/cjs/components/action-sheet/ActionSheet.js +97 -105
  3. package/dist/cjs/components/action-sheet/tokens.js +16 -27
  4. package/dist/cjs/components/area/Area.js +54 -67
  5. package/dist/cjs/components/area/tokens.js +6 -3
  6. package/dist/cjs/components/avatar/Avatar.js +25 -23
  7. package/dist/cjs/components/badge/Badge.js +31 -31
  8. package/dist/cjs/components/badge/tokens.js +6 -8
  9. package/dist/cjs/components/button/Button.js +115 -151
  10. package/dist/cjs/components/button/ButtonGroup.js +8 -42
  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 +177 -180
  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 +70 -83
  18. package/dist/cjs/components/cell/CellGroup.js +16 -29
  19. package/dist/cjs/components/checkbox/Checkbox.js +139 -132
  20. package/dist/cjs/components/checkbox/CheckboxGroup.js +4 -35
  21. package/dist/cjs/components/checkbox/tokens.js +7 -10
  22. package/dist/cjs/components/circle/Circle.js +25 -24
  23. package/dist/cjs/components/collapse/Collapse.js +75 -91
  24. package/dist/cjs/components/config-provider/ConfigProvider.js +16 -3
  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 +20 -15
  31. package/dist/cjs/components/datetime-picker/DatetimePicker.js +61 -84
  32. package/dist/cjs/components/datetime-picker/tokens.js +14 -3
  33. package/dist/cjs/components/dialog/Dialog.js +153 -121
  34. package/dist/cjs/components/dialog/imperative.js +17 -30
  35. package/dist/cjs/components/divider/Divider.js +26 -28
  36. package/dist/cjs/components/empty/Empty.js +35 -39
  37. package/dist/cjs/components/error-boundary/ErrorBoundary.js +73 -0
  38. package/dist/cjs/components/error-boundary/index.js +19 -0
  39. package/dist/cjs/components/field/Field.js +109 -106
  40. package/dist/cjs/components/flex/Flex.js +18 -18
  41. package/dist/cjs/components/flex/FlexItem.js +26 -27
  42. package/dist/cjs/components/form/Form.js +142 -161
  43. package/dist/cjs/components/form/FormItem.js +69 -97
  44. package/dist/cjs/components/form/FormList.js +49 -37
  45. package/dist/cjs/components/form/tokens.js +6 -3
  46. package/dist/cjs/components/form/utils.js +15 -34
  47. package/dist/cjs/components/grid/Grid.js +30 -29
  48. package/dist/cjs/components/grid/GridItem.js +84 -85
  49. package/dist/cjs/components/image/Image.js +55 -59
  50. package/dist/cjs/components/image/tokens.js +2 -2
  51. package/dist/cjs/components/image-preview/ImagePreview.js +124 -112
  52. package/dist/cjs/components/image-preview/imperative.js +4 -13
  53. package/dist/cjs/components/index.js +13 -0
  54. package/dist/cjs/components/input/Input.js +30 -22
  55. package/dist/cjs/components/loading/Loading.js +14 -15
  56. package/dist/cjs/components/nav-bar/NavBar.js +68 -83
  57. package/dist/cjs/components/nav-bar/tokens.js +1 -9
  58. package/dist/cjs/components/notice-bar/NoticeBar.js +74 -77
  59. package/dist/cjs/components/notify/Notify.js +88 -84
  60. package/dist/cjs/components/notify/imperative.js +20 -43
  61. package/dist/cjs/components/notify/tokens.js +1 -11
  62. package/dist/cjs/components/number-keyboard/NumberKeyboard.js +187 -209
  63. package/dist/cjs/components/overlay/Overlay.js +37 -52
  64. package/dist/cjs/components/overlay/tokens.js +5 -3
  65. package/dist/cjs/components/password-input/PasswordInput.js +98 -79
  66. package/dist/cjs/components/picker/Picker.js +440 -421
  67. package/dist/cjs/components/picker/tokens.js +1 -1
  68. package/dist/cjs/components/popup/Popup.js +263 -293
  69. package/dist/cjs/components/portal/Portal.js +12 -29
  70. package/dist/cjs/components/portal/PortalHost.js +151 -234
  71. package/dist/cjs/components/progress/Progress.js +51 -48
  72. package/dist/cjs/components/radio/Radio.js +45 -42
  73. package/dist/cjs/components/radio/RadioGroup.js +8 -40
  74. package/dist/cjs/components/radio/tokens.js +7 -10
  75. package/dist/cjs/components/safe-area-view/SafeAreaView.js +22 -26
  76. package/dist/cjs/components/search/Search.js +51 -43
  77. package/dist/cjs/components/selector/Selector.js +14 -13
  78. package/dist/cjs/components/share-sheet/ShareSheet.js +160 -161
  79. package/dist/cjs/components/sidebar/Sidebar.js +39 -45
  80. package/dist/cjs/components/sidebar/SidebarContext.js +1 -2
  81. package/dist/cjs/components/sidebar/SidebarItem.js +13 -16
  82. package/dist/cjs/components/sidebar/tokens.js +1 -3
  83. package/dist/cjs/components/skeleton/Skeleton.js +30 -37
  84. package/dist/cjs/components/skeleton/tokens.js +1 -2
  85. package/dist/cjs/components/slider/Slider.js +156 -135
  86. package/dist/cjs/components/space/Space.js +46 -69
  87. package/dist/cjs/components/stepper/Stepper.js +177 -155
  88. package/dist/cjs/components/swiper/Swiper.js +251 -253
  89. package/dist/cjs/components/swiper/SwiperPagIndicator.js +25 -27
  90. package/dist/cjs/components/swiper/tokens.js +10 -3
  91. package/dist/cjs/components/switch/Switch.js +13 -15
  92. package/dist/cjs/components/tabbar/Tabbar.js +35 -27
  93. package/dist/cjs/components/tabbar/TabbarContext.js +1 -2
  94. package/dist/cjs/components/tabbar/TabbarItem.js +65 -68
  95. package/dist/cjs/components/tabs/Tabs.js +286 -313
  96. package/dist/cjs/components/tag/Tag.js +46 -37
  97. package/dist/cjs/components/toast/Toast.js +90 -90
  98. package/dist/cjs/components/toast/imperative.js +16 -41
  99. package/dist/cjs/components/typography/Typography.js +3 -5
  100. package/dist/cjs/components/water-mark/WaterMark.js +31 -29
  101. package/dist/cjs/design-system/ThemeProvider.js +5 -11
  102. package/dist/cjs/design-system/createComponentTokensHook.js +11 -13
  103. package/dist/cjs/design-system/presets.js +2 -3
  104. package/dist/cjs/design-system/tokens.js +2 -11
  105. package/dist/cjs/hooks/animation/index.js +25 -0
  106. package/dist/cjs/hooks/animation/useAnimatedTransition.js +72 -0
  107. package/dist/cjs/hooks/animation/useReducedMotion.js +75 -0
  108. package/dist/cjs/hooks/aria/useAriaListBox.js +8 -16
  109. package/dist/cjs/hooks/aria/useAriaOverlay.js +3 -3
  110. package/dist/cjs/hooks/aria/useAriaPress.js +8 -21
  111. package/dist/cjs/hooks/aria/useAriaToggle.js +3 -3
  112. package/dist/cjs/hooks/gesture/useGestureScroll.js +60 -61
  113. package/dist/cjs/hooks/index.js +12 -0
  114. package/dist/cjs/hooks/overlay/OverlayStackStore.js +49 -69
  115. package/dist/cjs/hooks/overlay/useOverlayStack.js +13 -19
  116. package/dist/cjs/hooks/useControllableValue.js +10 -21
  117. package/dist/cjs/hooks/useCountDown.js +14 -22
  118. package/dist/cjs/hooks/useHairline.js +17 -29
  119. package/dist/cjs/hooks/useSafeAreaPadding.js +1 -4
  120. package/dist/cjs/index.js +67 -1
  121. package/dist/cjs/platform/animation.js +10 -2
  122. package/dist/cjs/platform/measure.js +18 -36
  123. package/dist/cjs/utils/color.js +21 -35
  124. package/dist/cjs/utils/compare.js +7 -12
  125. package/dist/cjs/utils/createPlatformShadow.js +28 -39
  126. package/dist/cjs/utils/date.js +20 -50
  127. package/dist/cjs/utils/deepMerge.js +16 -26
  128. package/dist/cjs/utils/hairline.js +74 -71
  129. package/dist/cjs/utils/index.js +22 -0
  130. package/dist/cjs/utils/number.js +21 -29
  131. package/dist/cjs/utils/render.js +27 -0
  132. package/dist/cjs/utils/rtl.js +25 -0
  133. package/dist/cjs/utils/string.js +8 -25
  134. package/dist/es/components/action-sheet/ActionSheet.js +99 -107
  135. package/dist/es/components/action-sheet/tokens.js +16 -27
  136. package/dist/es/components/area/Area.js +55 -68
  137. package/dist/es/components/area/tokens.js +6 -3
  138. package/dist/es/components/avatar/Avatar.js +25 -23
  139. package/dist/es/components/avatar/index.js +1 -2
  140. package/dist/es/components/badge/Badge.js +33 -33
  141. package/dist/es/components/badge/tokens.js +6 -8
  142. package/dist/es/components/button/Button.js +116 -152
  143. package/dist/es/components/button/ButtonGroup.js +9 -43
  144. package/dist/es/components/button/tokens.js +2 -3
  145. package/dist/es/components/calendar/Calendar.js +214 -225
  146. package/dist/es/components/calendar/tokens.js +3 -3
  147. package/dist/es/components/cascader/Cascader.js +180 -183
  148. package/dist/es/components/cascader/tokens.js +2 -2
  149. package/dist/es/components/cascader/useCascaderExtend.js +25 -29
  150. package/dist/es/components/cell/Cell.js +71 -84
  151. package/dist/es/components/cell/CellGroup.js +16 -28
  152. package/dist/es/components/checkbox/Checkbox.js +140 -133
  153. package/dist/es/components/checkbox/CheckboxGroup.js +5 -36
  154. package/dist/es/components/checkbox/tokens.js +7 -10
  155. package/dist/es/components/circle/Circle.js +25 -23
  156. package/dist/es/components/collapse/Collapse.js +77 -92
  157. package/dist/es/components/config-provider/ConfigProvider.js +10 -3
  158. package/dist/es/components/config-provider/DirectionContext.js +2 -0
  159. package/dist/es/components/config-provider/index.js +1 -0
  160. package/dist/es/components/config-provider/locale/en-US.js +32 -0
  161. package/dist/es/components/config-provider/locale/zh-CN.js +32 -0
  162. package/dist/es/components/config-provider/useDirection.js +3 -0
  163. package/dist/es/components/count-down/CountDown.js +23 -18
  164. package/dist/es/components/datetime-picker/DatetimePicker.js +61 -84
  165. package/dist/es/components/datetime-picker/tokens.js +14 -3
  166. package/dist/es/components/dialog/Dialog.js +154 -121
  167. package/dist/es/components/dialog/imperative.js +17 -30
  168. package/dist/es/components/divider/Divider.js +28 -29
  169. package/dist/es/components/empty/Empty.js +36 -39
  170. package/dist/es/components/error-boundary/ErrorBoundary.js +61 -0
  171. package/dist/es/components/error-boundary/index.js +1 -0
  172. package/dist/es/components/field/Field.js +109 -106
  173. package/dist/es/components/flex/Flex.js +18 -17
  174. package/dist/es/components/flex/FlexItem.js +27 -27
  175. package/dist/es/components/form/Form.js +143 -162
  176. package/dist/es/components/form/FormItem.js +68 -95
  177. package/dist/es/components/form/FormList.js +49 -37
  178. package/dist/es/components/form/tokens.js +6 -3
  179. package/dist/es/components/form/utils.js +15 -34
  180. package/dist/es/components/grid/Grid.js +30 -28
  181. package/dist/es/components/grid/GridItem.js +84 -84
  182. package/dist/es/components/image/Image.js +58 -62
  183. package/dist/es/components/image/tokens.js +2 -2
  184. package/dist/es/components/image-preview/ImagePreview.js +124 -112
  185. package/dist/es/components/image-preview/imperative.js +4 -13
  186. package/dist/es/components/index.js +3 -1
  187. package/dist/es/components/input/Input.js +31 -23
  188. package/dist/es/components/loading/Loading.js +16 -16
  189. package/dist/es/components/nav-bar/NavBar.js +68 -83
  190. package/dist/es/components/nav-bar/tokens.js +1 -3
  191. package/dist/es/components/notice-bar/NoticeBar.js +74 -76
  192. package/dist/es/components/notify/Notify.js +92 -87
  193. package/dist/es/components/notify/imperative.js +21 -44
  194. package/dist/es/components/notify/tokens.js +1 -5
  195. package/dist/es/components/number-keyboard/NumberKeyboard.js +187 -209
  196. package/dist/es/components/overlay/Overlay.js +36 -51
  197. package/dist/es/components/overlay/tokens.js +5 -3
  198. package/dist/es/components/password-input/PasswordInput.js +98 -79
  199. package/dist/es/components/picker/Picker.js +440 -421
  200. package/dist/es/components/picker/tokens.js +1 -1
  201. package/dist/es/components/popup/Popup.js +263 -292
  202. package/dist/es/components/portal/Portal.js +13 -29
  203. package/dist/es/components/portal/PortalHost.js +152 -234
  204. package/dist/es/components/progress/Progress.js +51 -48
  205. package/dist/es/components/radio/Radio.js +47 -44
  206. package/dist/es/components/radio/RadioGroup.js +10 -41
  207. package/dist/es/components/radio/tokens.js +7 -10
  208. package/dist/es/components/safe-area-view/SafeAreaView.js +22 -25
  209. package/dist/es/components/search/Search.js +52 -44
  210. package/dist/es/components/selector/Selector.js +14 -13
  211. package/dist/es/components/share-sheet/ShareSheet.js +162 -163
  212. package/dist/es/components/sidebar/Sidebar.js +41 -47
  213. package/dist/es/components/sidebar/SidebarContext.js +1 -2
  214. package/dist/es/components/sidebar/SidebarItem.js +13 -15
  215. package/dist/es/components/sidebar/tokens.js +1 -3
  216. package/dist/es/components/skeleton/Skeleton.js +30 -37
  217. package/dist/es/components/skeleton/tokens.js +1 -2
  218. package/dist/es/components/slider/Slider.js +156 -134
  219. package/dist/es/components/space/Space.js +48 -71
  220. package/dist/es/components/stepper/Stepper.js +178 -156
  221. package/dist/es/components/swiper/Swiper.js +252 -254
  222. package/dist/es/components/swiper/SwiperPagIndicator.js +25 -27
  223. package/dist/es/components/swiper/tokens.js +10 -3
  224. package/dist/es/components/switch/Switch.js +13 -15
  225. package/dist/es/components/tabbar/Tabbar.js +36 -28
  226. package/dist/es/components/tabbar/TabbarContext.js +1 -2
  227. package/dist/es/components/tabbar/TabbarItem.js +66 -69
  228. package/dist/es/components/tabs/Tabs.js +286 -313
  229. package/dist/es/components/tag/Tag.js +49 -39
  230. package/dist/es/components/toast/Toast.js +93 -91
  231. package/dist/es/components/toast/imperative.js +16 -41
  232. package/dist/es/components/typography/Typography.js +3 -5
  233. package/dist/es/components/water-mark/WaterMark.js +32 -30
  234. package/dist/es/design-system/ThemeProvider.js +5 -11
  235. package/dist/es/design-system/createComponentTokensHook.js +11 -13
  236. package/dist/es/design-system/presets.js +2 -3
  237. package/dist/es/design-system/tokens.js +1 -9
  238. package/dist/es/hooks/animation/index.js +2 -0
  239. package/dist/es/hooks/animation/useAnimatedTransition.js +53 -0
  240. package/dist/es/hooks/animation/useReducedMotion.js +54 -0
  241. package/dist/es/hooks/aria/useAriaListBox.js +8 -16
  242. package/dist/es/hooks/aria/useAriaOverlay.js +3 -3
  243. package/dist/es/hooks/aria/useAriaPress.js +8 -21
  244. package/dist/es/hooks/aria/useAriaToggle.js +3 -3
  245. package/dist/es/hooks/gesture/useGestureScroll.js +60 -61
  246. package/dist/es/hooks/index.js +1 -0
  247. package/dist/es/hooks/overlay/OverlayStackStore.js +49 -69
  248. package/dist/es/hooks/overlay/useOverlayStack.js +13 -19
  249. package/dist/es/hooks/useControllableValue.js +10 -21
  250. package/dist/es/hooks/useCountDown.js +14 -22
  251. package/dist/es/hooks/useHairline.js +16 -28
  252. package/dist/es/hooks/useSafeAreaPadding.js +1 -4
  253. package/dist/es/index.js +8 -1
  254. package/dist/es/platform/animation.js +9 -1
  255. package/dist/es/platform/measure.js +18 -36
  256. package/dist/es/utils/color.js +21 -35
  257. package/dist/es/utils/compare.js +7 -12
  258. package/dist/es/utils/createPlatformShadow.js +28 -39
  259. package/dist/es/utils/date.js +20 -50
  260. package/dist/es/utils/deepMerge.js +16 -26
  261. package/dist/es/utils/hairline.js +73 -65
  262. package/dist/es/utils/index.js +2 -0
  263. package/dist/es/utils/number.js +21 -29
  264. package/dist/es/utils/render.js +7 -0
  265. package/dist/es/utils/rtl.js +17 -0
  266. package/dist/es/utils/string.js +8 -25
  267. package/dist/types/components/action-sheet/ActionSheet.d.ts +1 -1
  268. package/dist/types/components/area/Area.d.ts +1 -1
  269. package/dist/types/components/area/tokens.d.ts +4 -0
  270. package/dist/types/components/avatar/Avatar.d.ts +1 -1
  271. package/dist/types/components/avatar/index.d.ts +1 -2
  272. package/dist/types/components/badge/Badge.d.ts +1 -1
  273. package/dist/types/components/button/Button.d.ts +1 -1
  274. package/dist/types/components/button/index.d.ts +1 -1
  275. package/dist/types/components/calendar/Calendar.d.ts +1 -1
  276. package/dist/types/components/cascader/Cascader.d.ts +1 -1
  277. package/dist/types/components/cell/Cell.d.ts +1 -1
  278. package/dist/types/components/cell/CellGroup.d.ts +1 -1
  279. package/dist/types/components/cell/index.d.ts +2 -2
  280. package/dist/types/components/checkbox/Checkbox.d.ts +1 -1
  281. package/dist/types/components/circle/Circle.d.ts +1 -1
  282. package/dist/types/components/collapse/Collapse.d.ts +1 -2
  283. package/dist/types/components/config-provider/DirectionContext.d.ts +3 -0
  284. package/dist/types/components/config-provider/index.d.ts +2 -1
  285. package/dist/types/components/config-provider/locale/en-US.d.ts +32 -0
  286. package/dist/types/components/config-provider/locale/zh-CN.d.ts +32 -0
  287. package/dist/types/components/config-provider/useDirection.d.ts +1 -0
  288. package/dist/types/components/count-down/CountDown.d.ts +1 -1
  289. package/dist/types/components/datetime-picker/DatetimePicker.d.ts +1 -1
  290. package/dist/types/components/datetime-picker/tokens.d.ts +12 -0
  291. package/dist/types/components/dialog/Dialog.d.ts +1 -1
  292. package/dist/types/components/divider/Divider.d.ts +1 -1
  293. package/dist/types/components/empty/Empty.d.ts +1 -1
  294. package/dist/types/components/error-boundary/ErrorBoundary.d.ts +6 -0
  295. package/dist/types/components/error-boundary/index.d.ts +2 -0
  296. package/dist/types/components/field/Field.d.ts +1 -1
  297. package/dist/types/components/flex/Flex.d.ts +1 -1
  298. package/dist/types/components/flex/FlexItem.d.ts +1 -1
  299. package/dist/types/components/flex/index.d.ts +2 -2
  300. package/dist/types/components/form/Form.d.ts +1 -1
  301. package/dist/types/components/form/FormItem.d.ts +2 -1
  302. package/dist/types/components/form/index.d.ts +2 -2
  303. package/dist/types/components/form/tokens.d.ts +4 -0
  304. package/dist/types/components/grid/Grid.d.ts +1 -1
  305. package/dist/types/components/grid/GridItem.d.ts +1 -1
  306. package/dist/types/components/grid/index.d.ts +2 -2
  307. package/dist/types/components/image/Image.d.ts +1 -1
  308. package/dist/types/components/image-preview/ImagePreview.d.ts +1 -1
  309. package/dist/types/components/index.d.ts +4 -1
  310. package/dist/types/components/input/Input.d.ts +3 -3
  311. package/dist/types/components/loading/Loading.d.ts +1 -1
  312. package/dist/types/components/nav-bar/NavBar.d.ts +1 -1
  313. package/dist/types/components/notice-bar/NoticeBar.d.ts +1 -1
  314. package/dist/types/components/notify/Notify.d.ts +2 -2
  315. package/dist/types/components/notify/index.d.ts +1 -1
  316. package/dist/types/components/overlay/Overlay.d.ts +1 -5
  317. package/dist/types/components/overlay/tokens.d.ts +3 -0
  318. package/dist/types/components/password-input/PasswordInput.d.ts +1 -1
  319. package/dist/types/components/picker/Picker.d.ts +5 -5
  320. package/dist/types/components/popup/Popup.d.ts +3 -42
  321. package/dist/types/components/portal/Portal.d.ts +9 -6
  322. package/dist/types/components/portal/PortalHost.d.ts +1 -1
  323. package/dist/types/components/radio/RadioGroup.d.ts +1 -1
  324. package/dist/types/components/safe-area-view/SafeAreaView.d.ts +1 -1
  325. package/dist/types/components/search/Search.d.ts +1 -1
  326. package/dist/types/components/share-sheet/ShareSheet.d.ts +1 -1
  327. package/dist/types/components/sidebar/Sidebar.d.ts +1 -1
  328. package/dist/types/components/sidebar/SidebarContext.d.ts +1 -1
  329. package/dist/types/components/sidebar/SidebarItem.d.ts +1 -1
  330. package/dist/types/components/sidebar/index.d.ts +2 -2
  331. package/dist/types/components/skeleton/Skeleton.d.ts +1 -1
  332. package/dist/types/components/slider/Slider.d.ts +1 -1
  333. package/dist/types/components/stepper/Stepper.d.ts +1 -1
  334. package/dist/types/components/swiper/Swiper.d.ts +1 -1
  335. package/dist/types/components/swiper/index.d.ts +1 -1
  336. package/dist/types/components/swiper/tokens.d.ts +8 -0
  337. package/dist/types/components/tabbar/Tabbar.d.ts +2 -2
  338. package/dist/types/components/tabbar/TabbarContext.d.ts +1 -1
  339. package/dist/types/components/tabbar/TabbarItem.d.ts +2 -2
  340. package/dist/types/components/tabs/Tabs.d.ts +1 -1
  341. package/dist/types/components/tabs/index.d.ts +1 -1
  342. package/dist/types/components/tag/Tag.d.ts +1 -1
  343. package/dist/types/components/toast/Toast.d.ts +2 -2
  344. package/dist/types/components/toast/index.d.ts +1 -1
  345. package/dist/types/components/water-mark/WaterMark.d.ts +1 -1
  346. package/dist/types/design-system/tokens.d.ts +0 -1
  347. package/dist/types/hooks/animation/index.d.ts +3 -0
  348. package/dist/types/hooks/animation/useAnimatedTransition.d.ts +13 -0
  349. package/dist/types/hooks/animation/useReducedMotion.d.ts +3 -0
  350. package/dist/types/hooks/aria/useAriaOverlay.d.ts +1 -1
  351. package/dist/types/hooks/gesture/useGestureScroll.d.ts +11 -10
  352. package/dist/types/hooks/index.d.ts +1 -0
  353. package/dist/types/hooks/overlay/OverlayStackStore.d.ts +8 -8
  354. package/dist/types/hooks/useHairline.d.ts +1 -1
  355. package/dist/types/index.d.ts +5 -0
  356. package/dist/types/platform/animation.d.ts +8 -0
  357. package/dist/types/platform/measure.d.ts +1 -1
  358. package/dist/types/utils/compare.d.ts +1 -1
  359. package/dist/types/utils/createPlatformShadow.d.ts +2 -2
  360. package/dist/types/utils/date.d.ts +2 -2
  361. package/dist/types/utils/hairline.d.ts +5 -10
  362. package/dist/types/utils/index.d.ts +2 -0
  363. package/dist/types/utils/number.d.ts +2 -2
  364. package/dist/types/utils/render.d.ts +5 -0
  365. package/dist/types/utils/rtl.d.ts +5 -0
  366. package/package.json +10 -3
@@ -20,29 +20,19 @@ function _reactNative() {
20
20
  }
21
21
  var _color = require("../../utils/color");
22
22
  var _createPlatformShadow = require("../../utils/createPlatformShadow");
23
+ var _hairline = require("../../utils/hairline");
23
24
  var _string = require("../../utils/string");
24
- var _validate = require("../../utils/validate");
25
+ var _utils = require("../../utils");
25
26
  var _hooks = require("../../hooks");
26
27
  var _ButtonContext = require("./ButtonContext");
27
28
  var _tokens = require("./tokens");
28
29
  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); }
29
30
  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); }
30
- const clampShadowLevel = level => {
31
- if (level <= 1) return 1;
32
- if (level >= 3) return 3;
33
- return level;
31
+ const clampShadowLevel = level => level <= 1 ? 1 : level >= 3 ? 3 : level;
32
+ const ROUND_CORNER_STYLE = {
33
+ overflow: 'hidden'
34
34
  };
35
- const resolveSpinnerSize = (loadingSize, iconSize) => {
36
- if ((0, _validate.isNumber)(loadingSize)) {
37
- return loadingSize;
38
- }
39
- const base = Math.max(iconSize, 16);
40
- if (loadingSize === 'large') {
41
- return base * 1.25;
42
- }
43
- return base;
44
- };
45
- const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props, forwardedRef) => {
35
+ const ButtonImpl = (props, forwardedRef) => {
46
36
  const group = (0, _react().useContext)(_ButtonContext.ButtonGroupContext);
47
37
  const {
48
38
  text,
@@ -52,7 +42,7 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
52
42
  type: typeProp,
53
43
  size: sizeProp,
54
44
  color,
55
- textColor,
45
+ textColor: textColorProp,
56
46
  plain: plainProp,
57
47
  block: blockProp,
58
48
  round: roundProp,
@@ -73,116 +63,36 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
73
63
  style,
74
64
  ...pressableProps
75
65
  } = props;
76
- const buttonTokens = (0, _tokens.useButtonTokens)(tokensOverride);
77
- const type = typeProp ?? group?.type ?? buttonTokens.defaults.type;
78
- const size = sizeProp ?? group?.size ?? buttonTokens.defaults.size;
79
- const plain = plainProp ?? group?.plain ?? buttonTokens.defaults.plain;
80
- const block = blockProp ?? group?.block ?? buttonTokens.defaults.block;
81
- const round = roundProp ?? group?.round ?? buttonTokens.defaults.round;
82
- const square = squareProp ?? group?.square ?? buttonTokens.defaults.square;
83
- const hairline = hairlineProp ?? group?.hairline ?? buttonTokens.defaults.hairline;
84
- const iconPosition = iconPositionProp ?? group?.iconPosition ?? buttonTokens.defaults.iconPosition;
85
- const groupShadow = group?.shadow;
86
- const shadowValue = shadowProp ?? groupShadow;
87
- const disabled = disabledProp ?? group?.disabled ?? buttonTokens.defaults.disabled;
88
- const loading = loadingProp ?? buttonTokens.defaults.loading;
89
- const loadingSize = loadingSizeProp ?? buttonTokens.defaults.loadingSize;
90
- const allowFontScaling = allowFontScalingProp ?? buttonTokens.defaults.allowFontScaling;
91
- const isPlain = plain;
92
- const tone = buttonTokens.colors.tones[type] ?? buttonTokens.colors.tones.default;
93
- const sizeTokens = buttonTokens.sizing.sizes[size];
94
- const normalizedColor = color;
95
- let backgroundColor = normalizedColor ?? tone.background;
96
- let borderColor = normalizedColor ?? tone.border;
97
- let resolvedTextColor = textColor;
98
- if (!resolvedTextColor) {
99
- resolvedTextColor = normalizedColor ? '#ffffff' : tone.text;
100
- }
101
- if (isPlain) {
102
- backgroundColor = buttonTokens.colors.backgroundPlain;
103
- borderColor = normalizedColor ?? tone.border;
104
- const fallbackTextColor = type === 'default' && !normalizedColor ? tone.text : normalizedColor ?? tone.border;
105
- resolvedTextColor = textColor ?? fallbackTextColor;
106
- }
107
- const shouldRenderBorder = isPlain || type === 'default';
108
- const resolvedBorderWidth = shouldRenderBorder ? hairline ? buttonTokens.borders.hairlineWidth : buttonTokens.borders.width : 0;
109
- const borderRadius = square ? 0 : round ? sizeTokens.height / 2 : sizeTokens.radius;
66
+ const tokens = (0, _tokens.useButtonTokens)(tokensOverride);
67
+ const type = typeProp ?? group?.type ?? tokens.defaults.type;
68
+ const size = sizeProp ?? group?.size ?? tokens.defaults.size;
69
+ const plain = plainProp ?? group?.plain ?? tokens.defaults.plain;
70
+ const block = blockProp ?? group?.block ?? tokens.defaults.block;
71
+ const round = roundProp ?? group?.round ?? tokens.defaults.round;
72
+ const square = squareProp ?? group?.square ?? tokens.defaults.square;
73
+ const hairline = hairlineProp ?? group?.hairline ?? tokens.defaults.hairline;
74
+ const iconPosition = iconPositionProp ?? group?.iconPosition ?? tokens.defaults.iconPosition;
75
+ const disabled = disabledProp ?? group?.disabled ?? tokens.defaults.disabled;
76
+ const loading = loadingProp ?? tokens.defaults.loading;
77
+ const loadingSize = loadingSizeProp ?? tokens.defaults.loadingSize;
78
+ const allowFontScaling = allowFontScalingProp ?? tokens.defaults.allowFontScaling;
79
+ const shadowValue = shadowProp ?? group?.shadow;
110
80
  const isDisabled = disabled || loading;
111
- let resolvedShadowLevel;
112
- if ((0, _validate.isFiniteNumber)(shadowValue)) {
113
- resolvedShadowLevel = clampShadowLevel(shadowValue);
114
- } else if (shadowValue === true) {
115
- resolvedShadowLevel = clampShadowLevel(2);
116
- }
117
- const shouldShowShadow = !!resolvedShadowLevel && !isPlain;
118
- const shadowTokens = resolvedShadowLevel ? buttonTokens.shadows[resolvedShadowLevel] : undefined;
119
- const shadowStyle = shouldShowShadow && shadowTokens ? (0, _createPlatformShadow.createPlatformShadow)({
120
- color: shadowTokens.color,
121
- opacity: shadowTokens.opacity,
122
- radius: shadowTokens.radius,
123
- offsetY: shadowTokens.offsetY,
124
- elevation: shadowTokens.elevation
125
- }) : undefined;
126
- const iconWrapperStyle = iconPosition === 'left' ? {
127
- marginRight: buttonTokens.spacing.iconGap
128
- } : {
129
- marginLeft: buttonTokens.spacing.iconGap
130
- };
131
- const loadingIconWrapperStyle = {
132
- marginRight: buttonTokens.spacing.iconGap
133
- };
134
- const renderIcon = () => {
135
- if (!icon) return null;
136
- try {
137
- const iconElement = (0, _validate.isFunction)(icon) ? icon(resolvedTextColor, sizeTokens.iconSize) : icon;
138
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
139
- style: [buttonTokens.layout.iconWrapper, iconWrapperStyle]
140
- }, iconElement);
141
- } catch (error) {
142
- if (typeof __DEV__ !== 'undefined' && __DEV__) {
143
- console.warn('[Button] Failed to render icon:', error);
144
- }
145
- return null;
146
- }
147
- };
148
- const renderLoading = () => {
149
- const spinnerSize = resolveSpinnerSize(loadingSize, sizeTokens.iconSize);
150
- const indicatorSize = (0, _validate.isNumber)(loadingSize) ? spinnerSize : loadingSize;
151
- const defaultIndicator = /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
152
- size: indicatorSize,
153
- color: resolvedTextColor
154
- });
155
- return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
156
- style: [buttonTokens.layout.iconWrapper, loadingIconWrapperStyle]
157
- }, loadingIndicator ?? defaultIndicator);
158
- };
159
- const label = loading && loadingText !== undefined ? loadingText : text !== undefined ? text : children;
160
- const sharedLabelTextStyle = {
161
- fontFamily: buttonTokens.typography.fontFamily,
162
- fontWeight: buttonTokens.typography.fontWeight,
163
- fontSize: sizeTokens.fontSize,
164
- lineHeight: sizeTokens.fontSize * buttonTokens.typography.lineHeightMultiplier,
165
- color: resolvedTextColor
166
- };
167
- const renderText = () => {
168
- if (label === undefined || label === null) {
169
- return null;
170
- }
171
- const sharedTextStyle = sharedLabelTextStyle;
172
- if ((0, _validate.isText)(label)) {
173
- const content = (0, _validate.isString)(label) ? (0, _string.ensureSpace)(label, true) : String(label);
174
- return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
175
- style: [buttonTokens.layout.text, sharedTextStyle, textStyle],
176
- numberOfLines: 1,
177
- allowFontScaling: allowFontScaling,
178
- maxFontSizeMultiplier: maxFontSizeMultiplier
179
- }, content);
180
- }
181
- return label;
182
- };
183
- const content = /*#__PURE__*/_react().default.createElement(_reactNative().View, {
184
- style: [buttonTokens.layout.content, contentStyle]
185
- }, loading ? /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, renderLoading(), renderText()) : /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, icon && iconPosition === 'left' && renderIcon(), renderText(), icon && iconPosition === 'right' && renderIcon()));
81
+ const tone = tokens.colors.tones[type] ?? tokens.colors.tones.default;
82
+ const sizeTokens = tokens.sizing.sizes[size];
83
+ const [backgroundColor, borderColor, textColor] = (0, _react().useMemo)(() => {
84
+ if (plain) return [tokens.colors.backgroundPlain, color ?? tone.border, textColorProp ?? (type === 'default' && !color ? tone.text : color ?? tone.border)];
85
+ return [color ?? tone.background, color ?? tone.border, textColorProp ?? (color ? '#ffffff' : tone.text)];
86
+ }, [color, textColorProp, plain, type, tone, tokens.colors.backgroundPlain]);
87
+ const hasBorder = plain || type === 'default';
88
+ const useHairlineOverlay = hasBorder && hairline;
89
+ const borderWidth = hasBorder && !hairline ? tokens.borders.width : 0;
90
+ const borderRadius = square ? 0 : round ? sizeTokens.height / 2 : sizeTokens.radius;
91
+ const shadowStyle = (0, _react().useMemo)(() => {
92
+ if (plain) return undefined;
93
+ const level = (0, _utils.isFiniteNumber)(shadowValue) ? clampShadowLevel(shadowValue) : shadowValue === true ? 2 : undefined;
94
+ return level ? (0, _createPlatformShadow.createPlatformShadow)(tokens.shadows[level]) : undefined;
95
+ }, [shadowValue, plain, tokens.shadows]);
186
96
  const {
187
97
  onPress,
188
98
  onPressIn,
@@ -194,7 +104,6 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
194
104
  android_ripple: androidRippleProp,
195
105
  ...viewProps
196
106
  } = pressableProps;
197
- const resolvedAccessibilityLabel = accessibilityLabel ?? ((0, _validate.isText)(label) ? String(label) : undefined);
198
107
  const {
199
108
  interactionProps,
200
109
  states
@@ -204,41 +113,96 @@ const Button = exports.Button = /*#__PURE__*/_react().default.forwardRef((props,
204
113
  onPressStart: onPressIn || undefined,
205
114
  onPressEnd: onPressOut || undefined
206
115
  });
207
- const resolvedOpacity = disabled ? buttonTokens.states.disabledOpacity : loading ? buttonTokens.states.loadingOpacity : states.pressed ? buttonTokens.states.pressedOpacity : 1;
208
- const containerStyle = {
209
- minHeight: sizeTokens.height,
210
- paddingHorizontal: sizeTokens.paddingHorizontal,
211
- borderRadius,
212
- backgroundColor,
213
- borderColor,
214
- borderWidth: resolvedBorderWidth,
215
- opacity: resolvedOpacity
116
+ const opacity = disabled ? tokens.states.disabledOpacity : loading ? tokens.states.loadingOpacity : states.pressed ? tokens.states.pressedOpacity : 1;
117
+ const computedTextStyle = (0, _react().useMemo)(() => ({
118
+ fontFamily: tokens.typography.fontFamily,
119
+ fontWeight: tokens.typography.fontWeight,
120
+ fontSize: sizeTokens.fontSize,
121
+ lineHeight: sizeTokens.fontSize * tokens.typography.lineHeightMultiplier,
122
+ color: textColor
123
+ }), [tokens.typography, sizeTokens.fontSize, textColor]);
124
+ const iconGap = tokens.spacing.iconGap;
125
+ const renderIcon = () => {
126
+ if (!icon) return null;
127
+ try {
128
+ const element = (0, _utils.isFunction)(icon) ? icon(textColor, sizeTokens.iconSize) : icon;
129
+ const margin = iconPosition === 'left' ? {
130
+ marginRight: iconGap
131
+ } : {
132
+ marginLeft: iconGap
133
+ };
134
+ return /*#__PURE__*/_react().default.createElement(_reactNative().View, {
135
+ style: [tokens.layout.iconWrapper, margin]
136
+ }, element);
137
+ } catch (err) {
138
+ if (__DEV__) console.warn('[Button] Failed to render icon:', err);
139
+ return null;
140
+ }
216
141
  };
217
- const rippleClipStyle = _reactNative().Platform.OS === 'android' && borderRadius > 0 && !shouldShowShadow ? {
218
- overflow: 'hidden'
219
- } : null;
220
- const baseContainerStyle = [buttonTokens.layout.base, containerStyle, rippleClipStyle, block ? buttonTokens.layout.block : null, shadowStyle, style];
221
- const mergedAccessibilityState = {
142
+ const renderLoading = () => /*#__PURE__*/_react().default.createElement(_reactNative().View, {
143
+ style: [tokens.layout.iconWrapper, {
144
+ marginRight: iconGap
145
+ }]
146
+ }, loadingIndicator ?? /*#__PURE__*/_react().default.createElement(_reactNative().ActivityIndicator, {
147
+ size: loadingSize,
148
+ color: textColor
149
+ }));
150
+ const label = loading && loadingText !== undefined ? loadingText : text !== undefined ? text : children;
151
+ const renderLabel = () => {
152
+ if (label == null) return null;
153
+ if (typeof label === 'string' || typeof label === 'number') {
154
+ return /*#__PURE__*/_react().default.createElement(_reactNative().Text, {
155
+ style: [tokens.layout.text, computedTextStyle, textStyle],
156
+ numberOfLines: 1,
157
+ allowFontScaling: allowFontScaling,
158
+ maxFontSizeMultiplier: maxFontSizeMultiplier
159
+ }, (0, _utils.isString)(label) ? (0, _string.ensureSpace)(label, true) : String(label));
160
+ }
161
+ return label;
162
+ };
163
+ const resolvedAccessibilityLabel = accessibilityLabel ?? (typeof label === 'string' || typeof label === 'number' ? String(label) : undefined);
164
+ const mergedAccessibilityState = (0, _react().useMemo)(() => ({
222
165
  ...accessibilityState,
223
166
  disabled: isDisabled,
224
167
  busy: loading
225
- };
226
- const defaultRippleColor = rippleColorProp ?? (isPlain ? resolvedTextColor : type === 'default' && !normalizedColor ? (0, _color.withAlpha)(resolvedTextColor, 0.15) : buttonTokens.colors.ripple);
227
- const resolvedAndroidRipple = _reactNative().Platform.OS === 'android' ? androidRippleProp ?? {
228
- color: defaultRippleColor,
229
- borderless: false
230
- } : androidRippleProp;
168
+ }), [accessibilityState, isDisabled, loading]);
169
+ const resolvedAndroidRipple = (0, _react().useMemo)(() => {
170
+ if (_reactNative().Platform.OS !== 'android') return androidRippleProp;
171
+ if (androidRippleProp) return androidRippleProp;
172
+ const rippleColor = rippleColorProp ?? (plain ? textColor : type === 'default' && !color ? (0, _color.withAlpha)(textColor, 0.15) : tokens.colors.ripple);
173
+ return {
174
+ color: rippleColor,
175
+ borderless: false
176
+ };
177
+ }, [androidRippleProp, rippleColorProp, plain, textColor, type, color, tokens.colors.ripple]);
231
178
  return /*#__PURE__*/_react().default.createElement(_reactNative().Pressable, _extends({
232
179
  ref: forwardedRef,
233
180
  disabled: isDisabled,
234
- style: baseContainerStyle,
181
+ style: [tokens.layout.base, {
182
+ minHeight: sizeTokens.height,
183
+ paddingHorizontal: sizeTokens.paddingHorizontal,
184
+ borderRadius: borderRadius,
185
+ backgroundColor: backgroundColor,
186
+ borderColor: useHairlineOverlay ? 'transparent' : borderColor,
187
+ borderWidth: borderWidth,
188
+ opacity: opacity
189
+ }, _reactNative().Platform.OS === 'android' && borderRadius > 0 && !shadowStyle ? ROUND_CORNER_STYLE : null, block ? tokens.layout.block : null, shadowStyle, style],
235
190
  android_ripple: resolvedAndroidRipple
236
191
  }, interactionProps, {
237
192
  accessibilityState: mergedAccessibilityState,
238
193
  accessibilityRole: accessibilityRole ?? 'button',
239
194
  accessibilityLabel: resolvedAccessibilityLabel,
240
195
  accessibilityHint: accessibilityHint
241
- }, viewProps), content);
242
- });
243
- Button.displayName = 'Button';
196
+ }, viewProps), /*#__PURE__*/_react().default.createElement(_reactNative().View, {
197
+ style: [tokens.layout.content, contentStyle]
198
+ }, loading ? /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, renderLoading(), renderLabel()) : /*#__PURE__*/_react().default.createElement(_react().default.Fragment, null, icon && iconPosition === 'left' && renderIcon(), renderLabel(), icon && iconPosition === 'right' && renderIcon())), useHairlineOverlay && /*#__PURE__*/_react().default.createElement(_reactNative().View, {
199
+ style: (0, _hairline.createHairlineView)({
200
+ position: 'all',
201
+ color: borderColor,
202
+ borderRadius
203
+ })
204
+ }));
205
+ };
206
+ const ButtonForwardRef = /*#__PURE__*/_react().default.forwardRef(ButtonImpl);
207
+ const Button = exports.Button = /*#__PURE__*/_react().default.memo(ButtonForwardRef);
244
208
  var _default = exports.default = Button;
@@ -39,8 +39,6 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
39
39
  }) => {
40
40
  const tokens = (0, _tokens.useButtonTokens)();
41
41
  const gap = spacing ?? tokens.spacing.groupGap;
42
- const isHorizontal = direction === 'horizontal';
43
- const supportsGap = _reactNative().Platform.OS === 'web';
44
42
  const groupValue = (0, _react().useMemo)(() => ({
45
43
  type,
46
44
  size,
@@ -53,47 +51,15 @@ const ButtonGroup = exports.ButtonGroup = /*#__PURE__*/_react().default.memo(({
53
51
  iconPosition,
54
52
  hairline
55
53
  }), [block, disabled, hairline, iconPosition, plain, round, shadow, size, square, type]);
56
- const containerStyle = (0, _react().useMemo)(() => {
57
- const base = {
58
- flexDirection: isHorizontal ? 'row' : 'column',
59
- alignItems: 'center'
60
- };
61
- if (block) {
62
- base.width = '100%';
63
- }
64
- if (supportsGap) {
65
- if (isHorizontal) {
66
- base.columnGap = gap;
67
- } else {
68
- base.rowGap = gap;
69
- }
70
- }
71
- return [base, style];
72
- }, [block, gap, isHorizontal, style, supportsGap]);
73
- const content = (0, _react().useMemo)(() => {
74
- if (supportsGap) {
75
- return children;
76
- }
77
- const childArray = _react().default.Children.toArray(children).filter(child => child != null);
78
- return childArray.map((child, index) => {
79
- if (! /*#__PURE__*/_react().default.isValidElement(child)) return child;
80
- const element = child;
81
- const isLast = index === childArray.length - 1;
82
- const marginStyle = isHorizontal ? {
83
- marginRight: isLast ? 0 : gap
84
- } : {
85
- marginBottom: isLast ? 0 : gap
86
- };
87
- return /*#__PURE__*/_react().default.cloneElement(element, {
88
- style: [element.props.style, marginStyle],
89
- key: element.key ?? index
90
- });
91
- });
92
- }, [children, gap, isHorizontal, supportsGap]);
54
+ const containerStyle = (0, _react().useMemo)(() => [{
55
+ flexDirection: direction === 'horizontal' ? 'row' : 'column',
56
+ alignItems: 'center',
57
+ gap,
58
+ width: block ? '100%' : undefined
59
+ }, style], [block, direction, gap, style]);
93
60
  return /*#__PURE__*/_react().default.createElement(ButtonGroupContext.Provider, {
94
61
  value: groupValue
95
62
  }, /*#__PURE__*/_react().default.createElement(_reactNative().View, {
96
63
  style: containerStyle
97
- }, content));
98
- });
99
- ButtonGroup.displayName = 'ButtonGroup';
64
+ }, children));
65
+ });
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useButtonTokens = void 0;
7
- function _reactNative() {
8
- const data = require("react-native");
9
- _reactNative = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  var _designSystem = require("../../design-system");
15
8
  var _utils = require("../../utils");
16
9
  const isDarkThemeBackground = color => {
@@ -144,7 +137,7 @@ const createButtonTokens = foundations => {
144
137
  },
145
138
  borders: {
146
139
  width: 1,
147
- hairlineWidth: _reactNative().StyleSheet.hairlineWidth
140
+ hairlineWidth: (0, _utils.getHairlineWidth)()
148
141
  },
149
142
  spacing: {
150
143
  iconGap: spacing.sm,