@telus-uds/components-base 0.0.2-prerelease.5 → 0.0.2-prerelease.9

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 (429) hide show
  1. package/.ultra.cache.json +1 -0
  2. package/CHANGELOG.md +65 -0
  3. package/__fixtures__/Accessible.js +33 -0
  4. package/__fixtures__/Accessible.native.js +32 -0
  5. package/__fixtures__/testTheme.js +871 -52
  6. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  7. package/__tests__/Button/ButtonBase.test.jsx +3 -32
  8. package/__tests__/Button/ButtonGroup.test.jsx +2 -2
  9. package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
  10. package/__tests__/Checkbox/CheckboxGroup.test.jsx +247 -0
  11. package/__tests__/Icon/Icon.test.jsx +3 -3
  12. package/__tests__/IconButton/IconButton.test.jsx +52 -0
  13. package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
  14. package/__tests__/List/List.test.jsx +60 -0
  15. package/__tests__/Modal/Modal.test.jsx +47 -0
  16. package/__tests__/Notification/Notification.test.jsx +20 -0
  17. package/__tests__/Pagination/Pagination.test.jsx +2 -2
  18. package/__tests__/Progress/Progress.test.jsx +79 -0
  19. package/__tests__/Radio/Radio.test.jsx +87 -0
  20. package/__tests__/Radio/RadioGroup.test.jsx +221 -0
  21. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  22. package/__tests__/RadioCard/RadioCardGroup.test.jsx +247 -0
  23. package/__tests__/Search/Search.test.jsx +72 -0
  24. package/__tests__/Select/Select.test.jsx +93 -0
  25. package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
  26. package/__tests__/StackView/StackView.test.jsx +0 -26
  27. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  28. package/__tests__/Tabs/Tabs.test.jsx +200 -0
  29. package/__tests__/Tags/Tags.test.jsx +328 -0
  30. package/__tests__/TextInput/TextArea.test.jsx +34 -0
  31. package/__tests__/TextInput/{TextInput.test.jsx → TextInputBase.test.jsx} +20 -46
  32. package/__tests__/Tooltip/Tooltip.test.jsx +65 -0
  33. package/__tests__/Tooltip/getTooltipPosition.test.js +79 -0
  34. package/__tests__/utils/input.test.js +58 -0
  35. package/__tests__/utils/useCopy.test.js +42 -0
  36. package/__tests__/utils/useResponsiveProp.test.jsx +202 -0
  37. package/__tests__/utils/{spacing.test.jsx → useSpacingScale.test.jsx} +1 -1
  38. package/babel.config.js +20 -0
  39. package/jest.config.js +13 -4
  40. package/lib/A11yInfoProvider/index.js +54 -26
  41. package/lib/A11yText/index.js +37 -14
  42. package/lib/ActivityIndicator/Spinner.js +78 -0
  43. package/lib/ActivityIndicator/Spinner.native.js +121 -87
  44. package/lib/ActivityIndicator/index.js +28 -12
  45. package/lib/ActivityIndicator/shared.js +27 -12
  46. package/lib/BaseProvider/index.js +34 -11
  47. package/lib/Box/Box.js +54 -31
  48. package/lib/Box/index.js +13 -2
  49. package/lib/Button/Button.js +38 -10
  50. package/lib/Button/ButtonBase.js +115 -94
  51. package/lib/Button/ButtonGroup.js +94 -86
  52. package/lib/Button/ButtonLink.js +41 -13
  53. package/lib/Button/index.js +31 -4
  54. package/lib/Button/propTypes.js +32 -9
  55. package/lib/Card/Card.js +36 -41
  56. package/lib/Card/CardBase.js +78 -0
  57. package/lib/Card/PressableCardBase.js +137 -0
  58. package/lib/Card/index.js +40 -2
  59. package/lib/Checkbox/Checkbox.js +344 -0
  60. package/lib/Checkbox/CheckboxGroup.js +231 -0
  61. package/lib/Checkbox/CheckboxInput.js +74 -0
  62. package/lib/Checkbox/CheckboxInput.native.js +14 -0
  63. package/lib/Checkbox/index.js +21 -0
  64. package/lib/Divider/Divider.js +50 -24
  65. package/lib/Divider/index.js +13 -2
  66. package/lib/ExpandCollapse/Accordion.js +20 -7
  67. package/lib/ExpandCollapse/Control.js +50 -27
  68. package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
  69. package/lib/ExpandCollapse/Panel.js +75 -37
  70. package/lib/ExpandCollapse/index.js +25 -7
  71. package/lib/Feedback/Feedback.js +85 -34
  72. package/lib/Feedback/index.js +13 -2
  73. package/lib/Fieldset/Fieldset.js +160 -0
  74. package/lib/Fieldset/FieldsetContainer.js +41 -0
  75. package/lib/Fieldset/FieldsetContainer.native.js +33 -0
  76. package/lib/Fieldset/Legend.js +33 -0
  77. package/lib/Fieldset/Legend.native.js +43 -0
  78. package/lib/Fieldset/cssReset.js +21 -0
  79. package/lib/Fieldset/index.js +13 -0
  80. package/lib/FlexGrid/Col/Col.js +67 -38
  81. package/lib/FlexGrid/Col/index.js +13 -2
  82. package/lib/FlexGrid/FlexGrid.js +70 -45
  83. package/lib/FlexGrid/Row/Row.js +48 -27
  84. package/lib/FlexGrid/Row/index.js +13 -2
  85. package/lib/FlexGrid/helpers/index.js +9 -1
  86. package/lib/FlexGrid/index.js +13 -2
  87. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  88. package/lib/Icon/Icon.js +52 -47
  89. package/lib/Icon/IconText.js +100 -0
  90. package/lib/Icon/index.js +31 -3
  91. package/lib/IconButton/IconButton.js +135 -0
  92. package/lib/IconButton/index.js +13 -0
  93. package/lib/InputLabel/InputLabel.js +70 -34
  94. package/lib/InputLabel/LabelContent.js +31 -0
  95. package/lib/InputLabel/LabelContent.native.js +9 -1
  96. package/lib/InputLabel/index.js +13 -2
  97. package/lib/InputSupports/InputSupports.js +104 -0
  98. package/lib/InputSupports/index.js +13 -0
  99. package/lib/InputSupports/propTypes.js +66 -0
  100. package/lib/InputSupports/useInputSupports.js +41 -0
  101. package/lib/Link/ChevronLink.js +57 -15
  102. package/lib/Link/InlinePressable.js +50 -0
  103. package/lib/Link/InlinePressable.native.js +101 -0
  104. package/lib/Link/Link.js +30 -13
  105. package/lib/Link/LinkBase.js +114 -145
  106. package/lib/Link/TextButton.js +47 -17
  107. package/lib/Link/index.js +39 -4
  108. package/lib/List/List.js +80 -0
  109. package/lib/List/ListItem.js +237 -0
  110. package/lib/List/index.js +13 -0
  111. package/lib/Modal/Modal.js +226 -0
  112. package/lib/Modal/dictionary.js +16 -0
  113. package/lib/Modal/index.js +13 -0
  114. package/lib/Notification/Notification.js +200 -0
  115. package/lib/Notification/dictionary.js +15 -0
  116. package/lib/Notification/index.js +13 -0
  117. package/lib/Pagination/PageButton.js +45 -46
  118. package/lib/Pagination/Pagination.js +70 -40
  119. package/lib/Pagination/SideButton.js +74 -58
  120. package/lib/Pagination/dictionary.js +9 -2
  121. package/lib/Pagination/index.js +13 -2
  122. package/lib/Pagination/usePagination.js +12 -2
  123. package/lib/Progress/Progress.js +99 -0
  124. package/lib/Progress/ProgressBar.js +146 -0
  125. package/lib/Progress/ProgressBarBackground.js +57 -0
  126. package/lib/Progress/index.js +16 -0
  127. package/lib/Radio/Radio.js +292 -0
  128. package/lib/Radio/RadioButton.js +141 -0
  129. package/lib/Radio/RadioGroup.js +233 -0
  130. package/lib/Radio/RadioInput.js +76 -0
  131. package/lib/Radio/RadioInput.native.js +14 -0
  132. package/lib/Radio/index.js +21 -0
  133. package/lib/RadioCard/RadioCard.js +240 -0
  134. package/lib/RadioCard/RadioCardGroup.js +251 -0
  135. package/lib/RadioCard/index.js +21 -0
  136. package/lib/Search/Search.js +243 -0
  137. package/lib/Search/dictionary.js +19 -0
  138. package/lib/Search/index.js +13 -0
  139. package/lib/Select/Group.js +33 -0
  140. package/lib/Select/Group.native.js +25 -0
  141. package/lib/Select/Item.js +29 -0
  142. package/lib/Select/Item.native.js +19 -0
  143. package/lib/Select/Picker.js +79 -0
  144. package/lib/Select/Picker.native.js +115 -0
  145. package/lib/Select/Select.js +300 -0
  146. package/lib/Select/index.js +19 -0
  147. package/lib/SideNav/Item.js +54 -33
  148. package/lib/SideNav/ItemContent.js +41 -15
  149. package/lib/SideNav/ItemsGroup.js +46 -27
  150. package/lib/SideNav/SideNav.js +92 -69
  151. package/lib/SideNav/index.js +15 -1
  152. package/lib/Skeleton/Skeleton.js +137 -0
  153. package/lib/Skeleton/index.js +13 -0
  154. package/lib/Skeleton/skeleton.constant.js +12 -0
  155. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  156. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  157. package/lib/Spacer/Spacer.js +31 -12
  158. package/lib/Spacer/index.js +13 -2
  159. package/lib/StackView/StackView.js +57 -33
  160. package/lib/StackView/StackWrap.js +33 -10
  161. package/lib/StackView/StackWrap.native.js +13 -2
  162. package/lib/StackView/StackWrapBox.js +50 -23
  163. package/lib/StackView/StackWrapGap.js +45 -19
  164. package/lib/StackView/common.js +19 -4
  165. package/lib/StackView/getStackedContent.js +49 -19
  166. package/lib/StackView/index.js +29 -5
  167. package/lib/StepTracker/Step.js +245 -0
  168. package/lib/StepTracker/StepTracker.js +197 -0
  169. package/lib/StepTracker/dictionary.js +17 -0
  170. package/lib/StepTracker/index.js +13 -0
  171. package/lib/Tabs/HorizontalScroll.js +199 -0
  172. package/lib/Tabs/ScrollViewEnd.js +66 -0
  173. package/lib/Tabs/ScrollViewEnd.native.js +41 -0
  174. package/lib/Tabs/Tabs.js +117 -0
  175. package/lib/Tabs/TabsItem.js +234 -0
  176. package/lib/Tabs/TabsScrollButton.js +121 -0
  177. package/lib/Tabs/dictionary.js +18 -0
  178. package/lib/Tabs/index.js +13 -0
  179. package/lib/Tabs/itemPositions.js +128 -0
  180. package/lib/Tags/Tags.js +250 -0
  181. package/lib/Tags/index.js +13 -0
  182. package/lib/TextInput/TextArea.js +109 -0
  183. package/lib/TextInput/TextInput.js +41 -303
  184. package/lib/TextInput/TextInputBase.js +252 -0
  185. package/lib/TextInput/index.js +23 -2
  186. package/lib/TextInput/propTypes.js +42 -0
  187. package/lib/ThemeProvider/ThemeProvider.js +38 -14
  188. package/lib/ThemeProvider/index.js +61 -6
  189. package/lib/ThemeProvider/useSetTheme.js +14 -5
  190. package/lib/ThemeProvider/useTheme.js +13 -4
  191. package/lib/ThemeProvider/useThemeTokens.js +86 -19
  192. package/lib/ThemeProvider/utils/index.js +31 -2
  193. package/lib/ThemeProvider/utils/styles.js +52 -16
  194. package/lib/ThemeProvider/utils/theme-tokens.js +94 -16
  195. package/lib/ToggleSwitch/ToggleSwitch.js +76 -52
  196. package/lib/ToggleSwitch/index.js +13 -2
  197. package/lib/Tooltip/Backdrop.js +56 -0
  198. package/lib/Tooltip/Backdrop.native.js +59 -0
  199. package/lib/Tooltip/Tooltip.js +357 -0
  200. package/lib/Tooltip/dictionary.js +15 -0
  201. package/lib/Tooltip/getTooltipPosition.js +172 -0
  202. package/lib/Tooltip/index.js +13 -0
  203. package/lib/TooltipButton/TooltipButton.js +83 -0
  204. package/lib/TooltipButton/index.js +13 -0
  205. package/lib/Typography/Typography.js +58 -43
  206. package/lib/Typography/index.js +13 -2
  207. package/lib/ViewportProvider/ViewportProvider.js +46 -0
  208. package/lib/ViewportProvider/index.js +22 -38
  209. package/lib/ViewportProvider/useViewport.js +15 -0
  210. package/lib/ViewportProvider/useViewportListener.js +57 -0
  211. package/lib/index.js +518 -24
  212. package/lib/utils/a11y/index.js +18 -0
  213. package/lib/utils/a11y/textSize.js +49 -0
  214. package/lib/utils/animation/index.js +15 -2
  215. package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
  216. package/lib/utils/children.js +87 -0
  217. package/lib/utils/index.js +163 -4
  218. package/lib/utils/info/index.js +19 -0
  219. package/lib/utils/info/platform/index.js +23 -0
  220. package/lib/utils/info/platform/platform.android.js +8 -0
  221. package/lib/utils/info/platform/platform.ios.js +8 -0
  222. package/lib/utils/info/platform/platform.js +8 -0
  223. package/lib/utils/info/platform/platform.native.js +11 -0
  224. package/lib/utils/info/versions.js +16 -0
  225. package/lib/utils/input.js +51 -33
  226. package/lib/utils/pressability.js +120 -0
  227. package/lib/utils/propTypes.js +269 -116
  228. package/lib/utils/useCopy.js +51 -0
  229. package/lib/utils/useHash.js +48 -0
  230. package/lib/utils/useHash.native.js +15 -0
  231. package/lib/utils/useResponsiveProp.js +59 -0
  232. package/lib/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +45 -12
  233. package/lib/utils/useUniqueId.js +13 -4
  234. package/package.json +12 -9
  235. package/release-context.json +4 -4
  236. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
  237. package/src/Box/Box.jsx +11 -4
  238. package/src/Button/Button.jsx +9 -5
  239. package/src/Button/ButtonBase.jsx +69 -69
  240. package/src/Button/ButtonGroup.jsx +11 -24
  241. package/src/Button/ButtonLink.jsx +14 -4
  242. package/src/Button/propTypes.js +12 -2
  243. package/src/Card/Card.jsx +4 -30
  244. package/src/Card/CardBase.jsx +57 -0
  245. package/src/Card/PressableCardBase.jsx +112 -0
  246. package/src/Card/index.js +3 -0
  247. package/src/Checkbox/Checkbox.jsx +274 -0
  248. package/src/Checkbox/CheckboxGroup.jsx +196 -0
  249. package/src/Checkbox/CheckboxInput.jsx +55 -0
  250. package/src/Checkbox/CheckboxInput.native.jsx +6 -0
  251. package/src/Checkbox/index.js +5 -0
  252. package/src/ExpandCollapse/Control.jsx +1 -1
  253. package/src/Feedback/Feedback.jsx +31 -22
  254. package/src/Fieldset/Fieldset.jsx +129 -0
  255. package/src/Fieldset/FieldsetContainer.jsx +22 -0
  256. package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
  257. package/src/Fieldset/Legend.jsx +16 -0
  258. package/src/Fieldset/Legend.native.jsx +22 -0
  259. package/src/Fieldset/cssReset.js +14 -0
  260. package/src/Fieldset/index.js +3 -0
  261. package/src/Icon/Icon.jsx +21 -26
  262. package/src/Icon/IconText.jsx +63 -0
  263. package/src/Icon/index.js +3 -2
  264. package/src/IconButton/IconButton.jsx +107 -0
  265. package/src/IconButton/index.js +3 -0
  266. package/src/InputLabel/InputLabel.jsx +11 -4
  267. package/src/InputLabel/{LabelContent.web.jsx → LabelContent.jsx} +0 -0
  268. package/src/InputSupports/InputSupports.jsx +75 -0
  269. package/src/InputSupports/index.js +3 -0
  270. package/src/InputSupports/propTypes.js +44 -0
  271. package/src/InputSupports/useInputSupports.js +30 -0
  272. package/src/Link/ChevronLink.jsx +28 -7
  273. package/src/Link/InlinePressable.jsx +37 -0
  274. package/src/Link/InlinePressable.native.jsx +73 -0
  275. package/src/Link/Link.jsx +17 -13
  276. package/src/Link/LinkBase.jsx +67 -148
  277. package/src/Link/TextButton.jsx +25 -11
  278. package/src/Link/index.js +2 -1
  279. package/src/List/List.jsx +47 -0
  280. package/src/List/ListItem.jsx +187 -0
  281. package/src/List/index.js +3 -0
  282. package/src/Modal/Modal.jsx +185 -0
  283. package/src/Modal/dictionary.js +9 -0
  284. package/src/Modal/index.js +3 -0
  285. package/src/Notification/Notification.jsx +149 -0
  286. package/src/Notification/dictionary.js +8 -0
  287. package/src/Notification/index.js +3 -0
  288. package/src/Pagination/PageButton.jsx +3 -17
  289. package/src/Pagination/SideButton.jsx +27 -38
  290. package/src/Progress/Progress.jsx +77 -0
  291. package/src/Progress/ProgressBar.jsx +110 -0
  292. package/src/Progress/ProgressBarBackground.jsx +34 -0
  293. package/src/Progress/index.js +6 -0
  294. package/src/Radio/Radio.jsx +233 -0
  295. package/src/Radio/RadioButton.jsx +131 -0
  296. package/src/Radio/RadioGroup.jsx +198 -0
  297. package/src/Radio/RadioInput.jsx +57 -0
  298. package/src/Radio/RadioInput.native.jsx +6 -0
  299. package/src/Radio/index.js +5 -0
  300. package/src/RadioCard/RadioCard.jsx +191 -0
  301. package/src/RadioCard/RadioCardGroup.jsx +211 -0
  302. package/src/RadioCard/index.js +5 -0
  303. package/src/Search/Search.jsx +204 -0
  304. package/src/Search/dictionary.js +12 -0
  305. package/src/Search/index.js +3 -0
  306. package/src/Select/Group.jsx +15 -0
  307. package/src/Select/Group.native.jsx +14 -0
  308. package/src/Select/Item.jsx +11 -0
  309. package/src/Select/Item.native.jsx +10 -0
  310. package/src/Select/Picker.jsx +67 -0
  311. package/src/Select/Picker.native.jsx +95 -0
  312. package/src/Select/Select.jsx +255 -0
  313. package/src/Select/index.js +8 -0
  314. package/src/SideNav/Item.jsx +2 -2
  315. package/src/Skeleton/Skeleton.jsx +98 -0
  316. package/src/Skeleton/index.js +3 -0
  317. package/src/Skeleton/skeleton.constant.js +3 -0
  318. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  319. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  320. package/src/StackView/StackView.jsx +25 -17
  321. package/src/StackView/StackWrap.jsx +9 -1
  322. package/src/StackView/StackWrapBox.jsx +19 -7
  323. package/src/StackView/StackWrapGap.jsx +15 -5
  324. package/src/StackView/getStackedContent.jsx +8 -2
  325. package/src/StepTracker/Step.jsx +202 -0
  326. package/src/StepTracker/StepTracker.jsx +163 -0
  327. package/src/StepTracker/dictionary.js +10 -0
  328. package/src/StepTracker/index.js +3 -0
  329. package/src/Tabs/HorizontalScroll.jsx +165 -0
  330. package/src/Tabs/ScrollViewEnd.jsx +53 -0
  331. package/src/Tabs/ScrollViewEnd.native.jsx +24 -0
  332. package/src/Tabs/Tabs.jsx +89 -0
  333. package/src/Tabs/TabsItem.jsx +204 -0
  334. package/src/Tabs/TabsScrollButton.jsx +100 -0
  335. package/src/Tabs/dictionary.js +11 -0
  336. package/src/Tabs/index.js +3 -0
  337. package/src/Tabs/itemPositions.js +101 -0
  338. package/src/Tags/Tags.jsx +207 -0
  339. package/src/Tags/index.js +3 -0
  340. package/src/TextInput/TextArea.jsx +78 -0
  341. package/src/TextInput/TextInput.jsx +17 -290
  342. package/src/TextInput/TextInputBase.jsx +210 -0
  343. package/src/TextInput/index.js +2 -1
  344. package/src/TextInput/propTypes.js +29 -0
  345. package/src/ThemeProvider/useThemeTokens.js +56 -5
  346. package/src/ThemeProvider/utils/styles.js +18 -5
  347. package/src/ThemeProvider/utils/theme-tokens.js +46 -5
  348. package/src/ToggleSwitch/ToggleSwitch.jsx +3 -4
  349. package/src/Tooltip/Backdrop.jsx +60 -0
  350. package/src/Tooltip/Backdrop.native.jsx +33 -0
  351. package/src/Tooltip/Tooltip.jsx +294 -0
  352. package/src/Tooltip/dictionary.js +8 -0
  353. package/src/Tooltip/getTooltipPosition.js +161 -0
  354. package/src/Tooltip/index.js +3 -0
  355. package/src/TooltipButton/TooltipButton.jsx +49 -0
  356. package/src/TooltipButton/index.js +3 -0
  357. package/src/Typography/Typography.jsx +10 -20
  358. package/src/ViewportProvider/ViewportProvider.jsx +21 -0
  359. package/src/ViewportProvider/index.jsx +2 -41
  360. package/src/ViewportProvider/useViewport.js +5 -0
  361. package/src/ViewportProvider/useViewportListener.js +43 -0
  362. package/src/index.js +31 -3
  363. package/src/utils/a11y/index.js +1 -0
  364. package/src/utils/a11y/textSize.js +30 -0
  365. package/src/utils/children.jsx +66 -0
  366. package/src/utils/index.js +11 -1
  367. package/src/utils/info/index.js +8 -0
  368. package/src/utils/info/platform/index.js +11 -0
  369. package/src/utils/info/platform/platform.android.js +1 -0
  370. package/src/utils/info/platform/platform.ios.js +1 -0
  371. package/src/utils/info/platform/platform.js +1 -0
  372. package/src/utils/info/platform/platform.native.js +4 -0
  373. package/src/utils/info/versions.js +6 -0
  374. package/src/utils/input.js +20 -12
  375. package/src/utils/pressability.js +96 -0
  376. package/src/utils/propTypes.js +195 -56
  377. package/src/utils/useCopy.js +39 -0
  378. package/src/utils/useHash.js +34 -0
  379. package/src/utils/useHash.native.js +6 -0
  380. package/src/utils/useResponsiveProp.js +50 -0
  381. package/src/utils/{spacing/useSpacingScale.js → useSpacingScale.js} +25 -10
  382. package/stories/A11yText/A11yText.stories.jsx +4 -8
  383. package/stories/Button/Button.stories.jsx +5 -0
  384. package/stories/Card/Card.stories.jsx +1 -1
  385. package/stories/Checkbox/Checkbox.stories.jsx +94 -0
  386. package/stories/Feedback/Feedback.stories.jsx +5 -6
  387. package/stories/Icon/Icon.stories.jsx +27 -7
  388. package/stories/IconButton/IconButton.stories.jsx +50 -0
  389. package/stories/InputLabel/InputLabel.stories.jsx +8 -3
  390. package/stories/Link/ChevronLink.stories.jsx +3 -3
  391. package/stories/Link/Link.stories.jsx +28 -18
  392. package/stories/List/List.stories.jsx +117 -0
  393. package/stories/Modal/Modal.stories.jsx +29 -0
  394. package/stories/Notification/Notification.stories.jsx +82 -0
  395. package/stories/Progress/Progress.stories.jsx +93 -0
  396. package/stories/Radio/Radio.stories.jsx +100 -0
  397. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  398. package/stories/Search/Search.stories.jsx +16 -0
  399. package/stories/Select/Select.stories.jsx +55 -0
  400. package/stories/Skeleton/Skeleton.stories.jsx +36 -0
  401. package/stories/Spacer/Spacer.stories.jsx +7 -2
  402. package/stories/StackView/StackView.stories.jsx +10 -0
  403. package/stories/StackView/StackWrap.stories.jsx +12 -0
  404. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  405. package/stories/Tabs/Tabs.stories.jsx +97 -0
  406. package/stories/Tags/Tags.stories.jsx +69 -0
  407. package/stories/TextInput/TextArea.stories.jsx +100 -0
  408. package/stories/Tooltip/Tooltip.stories.jsx +81 -0
  409. package/stories/TooltipButton/TooltipButton.stories.jsx +11 -0
  410. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +0 -0
  411. package/stories/supports.jsx +36 -2
  412. package/__fixtures__/accessible.icon.svg +0 -6
  413. package/babel.config.json +0 -8
  414. package/docs/Contributing.stories.mdx +0 -9
  415. package/docs/Fonts.stories.mdx +0 -104
  416. package/docs/Icons.stories.mdx +0 -144
  417. package/docs/Introduction.stories.mdx +0 -9
  418. package/lib/ActivityIndicator/Spinner.web.js +0 -55
  419. package/lib/InputLabel/LabelContent.web.js +0 -17
  420. package/lib/Pagination/useCopy.js +0 -10
  421. package/lib/config/svgr-icons-web.js +0 -9
  422. package/lib/config/svgr-icons.js +0 -52
  423. package/lib/utils/spacing/index.js +0 -2
  424. package/lib/utils/spacing/utils.js +0 -32
  425. package/src/Pagination/useCopy.js +0 -7
  426. package/src/config/svgr-icons-web.js +0 -11
  427. package/src/config/svgr-icons.js +0 -46
  428. package/src/utils/spacing/index.js +0 -3
  429. package/src/utils/spacing/utils.js +0 -28
@@ -1,12 +1,28 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { StyleSheet, View } from 'react-native';
4
- import { useSpacingScale, spacingProps } from '../utils';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
13
+
14
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+
5
22
  /**
6
23
  * @typedef {import('../utils/propTypes.js').SpacingValue} SpacingValue
7
24
  * @typedef {import('../utils/propTypes.js').SpacingObject} SpacingObject
8
25
  */
9
-
10
26
  const selectSizeStyle = (size, direction) => ({
11
27
  // Only apply space in one direction at a time, else large spacers will increase the
12
28
  // 'across' size of the parent and mess up siblings with styles like `alignItems: stretch`.
@@ -59,9 +75,9 @@ const Spacer = ({
59
75
  direction = 'column',
60
76
  testID
61
77
  }) => {
62
- const size = useSpacingScale(space);
78
+ const size = (0, _utils.useSpacingScale)(space);
63
79
  const sizeStyle = selectSizeStyle(size, direction);
64
- return /*#__PURE__*/React.createElement(View, {
80
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
65
81
  testID: testID,
66
82
  style: [staticStyles.stretch, sizeStyle]
67
83
  });
@@ -73,7 +89,7 @@ Spacer.propTypes = {
73
89
  * Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
74
90
  * or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
75
91
  */
76
- space: spacingProps.types.spacingValue,
92
+ space: _utils.spacingProps.types.spacingValue,
77
93
 
78
94
  /**
79
95
  * The spacer applies space in only one direction, which is controlled by the `direction` prop:
@@ -81,18 +97,21 @@ Spacer.propTypes = {
81
97
  * - `'column'` (default) applies space vertically; has a fixed height and not width.
82
98
  * - `'row'` applies space horizontally; has a fixed width and not height.
83
99
  */
84
- direction: PropTypes.oneOf(['column', 'row']),
100
+ direction: _propTypes.default.oneOf(['column', 'row']),
85
101
 
86
102
  /**
87
103
  * @ignore
88
104
  * In tests, the only way to select Spacers is with testID prop and getByTestId, since they have no content,
89
105
  * no accessibility role, and there is no equivalent of nextSibling in React Native Testing Library.
90
106
  */
91
- testID: PropTypes.string
107
+ testID: _propTypes.default.string
92
108
  };
93
- const staticStyles = StyleSheet.create({
109
+
110
+ const staticStyles = _StyleSheet.default.create({
94
111
  stretch: {
95
112
  alignSelf: 'stretch'
96
113
  }
97
114
  });
98
- export default Spacer;
115
+
116
+ var _default = Spacer;
117
+ exports.default = _default;
@@ -1,2 +1,13 @@
1
- import Spacer from './Spacer';
2
- export default Spacer;
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Spacer = _interopRequireDefault(require("./Spacer"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ var _default = _Spacer.default;
13
+ exports.default = _default;
@@ -1,11 +1,32 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View } from 'react-native';
4
- import Divider from '../Divider';
5
- import { spacingProps, a11yProps } from '../utils';
6
- import { useThemeTokens } from '../ThemeProvider';
7
- import getStackedContent from './getStackedContent';
8
- import { staticStyles, selectFlexStyles } from './common';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
+
14
+ var _Divider = _interopRequireDefault(require("../Divider"));
15
+
16
+ var _utils = require("../utils");
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _ViewportProvider = require("../ViewportProvider");
21
+
22
+ var _getStackedContent = _interopRequireDefault(require("./getStackedContent"));
23
+
24
+ var _common = require("./common");
25
+
26
+ var _jsxRuntime = require("react/jsx-runtime");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
9
30
  /**
10
31
  * StackView evenly spaces its children, by default placing `Spacer` components between them.
11
32
  *
@@ -23,10 +44,14 @@ import { staticStyles, selectFlexStyles } from './common';
23
44
  * - `'column-reverse'` acts the same as `'column'`, but reverses the direction.
24
45
  * - `'row-reverse'` acts the same as `'row'`, but reverses the direction.
25
46
  *
47
+ * `direction` is an optionally responsive prop and may be an object keyed by viewports. For example,
48
+ * `{ xs: 'column', md: 'row' } stacks as a column on `xs` and `sm` viewports and a row at 'md' and above.
49
+ *
26
50
  * ## Theming, alignment and justification
27
51
  *
28
52
  * `StackView` is a pure layout component and has no theme styles beyond a small set of layout styles
29
- * (`alignItems`, `justifyContent`, `flexGrow`) which may be set using the `tokens` prop.
53
+ * (`alignItems`, `justifyContent`, `flexGrow`) which may be set using the `tokens` prop. If the
54
+ * tokens prop is a function it will recieve the current viewport.
30
55
  *
31
56
  * All other styling such as borders, background colours, padding etc should be applied by wrapping
32
57
  * the `StackView` in other components. For example, a `StackView` may be the child of a `Card`.
@@ -44,62 +69,61 @@ import { staticStyles, selectFlexStyles } from './common';
44
69
  * It applies no accessibility props of its own, unless `divider` prop is passed (`Divider` has a
45
70
  * semantic role but only on web, not within native apps).
46
71
  */
47
-
48
72
  const StackView = ({
49
73
  space = 1,
50
74
  divider,
51
- direction = 'column',
52
- inherit,
75
+ direction: directionProp = 'column',
53
76
  children,
54
77
  variant,
55
78
  tokens,
56
79
  ...rest
57
80
  }) => {
58
- const a11y = a11yProps.select({ ...rest
59
- });
60
- const content = getStackedContent(children, {
81
+ const viewport = (0, _ViewportProvider.useViewport)();
82
+ const direction = (0, _utils.useResponsiveProp)(directionProp, 'column');
83
+ const props = { ..._utils.a11yProps.select(rest),
84
+ ..._utils.viewProps.select(rest)
85
+ };
86
+ const content = (0, _getStackedContent.default)(children, {
61
87
  direction,
62
88
  divider,
63
89
  space
64
90
  });
65
- const themeTokens = useThemeTokens('StackView', tokens, variant);
66
- const flexStyles = selectFlexStyles(themeTokens);
67
- return inherit ? content : /*#__PURE__*/React.createElement(View, Object.assign({}, a11y, {
68
- style: [flexStyles, staticStyles[direction]]
69
- }), content);
91
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('StackView', tokens, variant, {
92
+ viewport
93
+ });
94
+ const flexStyles = (0, _common.selectFlexStyles)(themeTokens);
95
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...props,
96
+ style: [flexStyles, _common.staticStyles[direction]],
97
+ children: content
98
+ });
70
99
  };
71
100
 
72
- StackView.propTypes = { ...a11yProps.propTypes,
101
+ StackView.propTypes = { ..._utils.a11yProps.propTypes,
102
+ variant: _utils.variantProp.propType,
73
103
 
74
104
  /**
75
105
  * Sets the `flexDirection` of the container and, if `divider` is used, gives the Divider the appropriate direction.
76
106
  */
77
- direction: PropTypes.oneOf(['column', 'row', 'column-reverse', 'row-reverse']),
107
+ direction: _utils.responsiveProps.getTypeOptionallyByViewport(_propTypes.default.oneOf(['column', 'row', 'column-reverse', 'row-reverse'])),
78
108
 
79
109
  /**
80
110
  * If true, renders a UDS `Divider` component between each item. If an object is passed,
81
111
  * this object is passes as props to each Divider.
82
112
  */
83
- divider: PropTypes.oneOfType([PropTypes.bool, PropTypes.shape(Divider.propTypes)]),
84
-
85
- /**
86
- * If true, does not render any container and returns an array of spaced children, inheriting
87
- * flex styles from the StackView's parent. That parent must have a `flexDirection` style corresponding
88
- * to the StackView's `direction` prop for `divider` prop to behave correctly.
89
- */
90
- inherit: PropTypes.bool,
113
+ divider: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.shape(_Divider.default.propTypes)]),
91
114
 
92
115
  /**
93
116
  * The size of the spacer according to the theme's spacing scale.
94
117
  * Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
95
118
  * or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
96
119
  */
97
- space: spacingProps.types.spacingValue,
120
+ space: _utils.spacingProps.types.spacingValue,
98
121
 
99
122
  /**
100
123
  * A StackView may take any children, but will have no effect if it is only passed one child or is passed children
101
124
  * wrapped in a component. If necessary, children may be wrapped in one React Fragment.
102
125
  */
103
- children: PropTypes.node
126
+ children: _propTypes.default.node
104
127
  };
105
- export default StackView;
128
+ var _default = StackView;
129
+ exports.default = _default;
@@ -1,8 +1,24 @@
1
- import React from 'react';
2
- import StackWrapBox from './StackWrapBox';
3
- import StackWrapGap from './StackWrapGap'; // CSS.supports needs an example of the type of value you intend to use.
4
- // Will be an integer appended `px` after hooks and JSX styles are resolved.
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
11
+
12
+ var _StackWrapBox = _interopRequireDefault(require("./StackWrapBox"));
5
13
 
14
+ var _StackWrapGap = _interopRequireDefault(require("./StackWrapGap"));
15
+
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ // CSS.supports needs an example of the type of value you intend to use.
21
+ // Will be an integer appended `px` after hooks and JSX styles are resolved.
6
22
  const exampleGapValue = '1px';
7
23
  /**
8
24
  * StackWrap is an alternative to StackView where the spaced items are allowed to wrap.
@@ -13,20 +29,27 @@ const exampleGapValue = '1px';
13
29
  */
14
30
 
15
31
  const StackWrap = props => {
32
+ var _props$gap, _CSS;
33
+
16
34
  const {
17
35
  space
18
36
  } = props; // Don't apply separate gap if `null` or `undefined`, so can be unset in Storybook etc
19
37
  // eslint-disable-next-line react/destructuring-assignment
20
38
 
21
- const gap = props.gap ?? space;
22
- return gap === space && CSS?.supports('gap', exampleGapValue) ?
39
+ const gap = (_props$gap = props.gap) !== null && _props$gap !== void 0 ? _props$gap : space;
40
+ const canUseCSSGap = _Platform.default.OS === 'web' && gap === space && // In Jest/CI, global CSS isn't always available and doesn't always have .supports method
41
+ typeof ((_CSS = CSS) === null || _CSS === void 0 ? void 0 : _CSS.supports) === 'function' && CSS.supports('gap', exampleGapValue);
42
+ return canUseCSSGap ?
23
43
  /*#__PURE__*/
24
44
  // If possible, use the cleaner implementation that applies CSS `gap` styles to the container.
25
- React.createElement(StackWrapGap, props) :
45
+ (0, _jsxRuntime.jsx)(_StackWrapGap.default, { ...props
46
+ }) :
26
47
  /*#__PURE__*/
27
48
  // Else, use the fallback implementation which renders a `Box` component around each child.
28
- React.createElement(StackWrapBox, props);
49
+ (0, _jsxRuntime.jsx)(_StackWrapBox.default, { ...props
50
+ });
29
51
  };
30
52
 
31
- StackWrap.propTypes = StackWrapBox.propTypes;
32
- export default StackWrap;
53
+ StackWrap.propTypes = _StackWrapBox.default.propTypes;
54
+ var _default = StackWrap;
55
+ exports.default = _default;
@@ -1,3 +1,14 @@
1
- import StackWrapBox from './StackWrapBox'; // No support for CSS `gap` on React Native, so always use the fallback "box" implementation.
1
+ "use strict";
2
2
 
3
- export default StackWrapBox;
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _StackWrapBox = _interopRequireDefault(require("./StackWrapBox"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ // No support for CSS `gap` on React Native, so always use the fallback "box" implementation.
13
+ var _default = _StackWrapBox.default;
14
+ exports.default = _default;
@@ -1,10 +1,30 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View } from 'react-native';
4
- import { spacingProps, a11yProps, useSpacingScale } from '../utils';
5
- import { useThemeTokens } from '../ThemeProvider';
6
- import getStackedContent from './getStackedContent';
7
- import { staticStyles, selectFlexStyles } from './common';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
+
14
+ var _utils = require("../utils");
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ var _ViewportProvider = require("../ViewportProvider");
19
+
20
+ var _getStackedContent = _interopRequireDefault(require("./getStackedContent"));
21
+
22
+ var _common = require("./common");
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
8
28
  const offsetSides = {
9
29
  row: 'marginBottom',
10
30
  column: 'marginRight'
@@ -33,18 +53,23 @@ const spaceSides = {
33
53
  const StackWrapBox = ({
34
54
  space = 1,
35
55
  gap = space,
36
- direction = 'row',
56
+ direction: directionProp = 'row',
37
57
  children,
38
58
  tokens,
39
59
  variant,
40
60
  ...rest
41
61
  }) => {
42
- const themeTokens = useThemeTokens('StackView', tokens, variant);
43
- const flexStyles = selectFlexStyles(themeTokens);
44
- const a11y = a11yProps.select({ ...rest
45
- }); // Mimic CSS `gap` using box spacing on the side after a wrapped row then offsetting it on the last row.
62
+ const viewport = (0, _ViewportProvider.useViewport)();
63
+ const direction = (0, _utils.useResponsiveProp)(directionProp, 'row');
64
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('StackView', tokens, variant, {
65
+ viewport
66
+ });
67
+ const flexStyles = (0, _common.selectFlexStyles)(themeTokens);
68
+ const props = { ..._utils.a11yProps.select(rest),
69
+ ..._utils.viewProps.select(rest)
70
+ }; // Mimic CSS `gap` using box spacing on the side after a wrapped row then offsetting it on the last row.
46
71
 
47
- const gapSize = useSpacingScale(gap);
72
+ const gapSize = (0, _utils.useSpacingScale)(gap);
48
73
  const offsetStyle = {
49
74
  [offsetSides[direction]]: -1 * gapSize
50
75
  };
@@ -52,34 +77,36 @@ const StackWrapBox = ({
52
77
  [gapSides[direction]]: gap,
53
78
  [spaceSides[direction]]: space
54
79
  };
55
- const content = getStackedContent(children, {
80
+ const content = (0, _getStackedContent.default)(children, {
56
81
  direction,
57
82
  space: 0,
58
83
  box: boxProps
59
84
  });
60
- return /*#__PURE__*/React.createElement(View, Object.assign({}, a11y, {
61
- style: [flexStyles, staticStyles.wrap, staticStyles[direction], offsetStyle]
62
- }), content);
85
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...props,
86
+ style: [flexStyles, _common.staticStyles.wrap, _common.staticStyles[direction], offsetStyle],
87
+ children: content
88
+ });
63
89
  };
64
90
 
65
- StackWrapBox.propTypes = { ...a11yProps.propTypes,
91
+ StackWrapBox.propTypes = { ..._utils.a11yProps.propTypes,
66
92
 
67
93
  /**
68
- * Sets the `flexDirection` of the container, or if 'inherit' returns spaced children as an array.
94
+ * Sets the `flexDirection` of the container
69
95
  */
70
- direction: PropTypes.oneOf(['column', 'row']),
96
+ direction: _utils.responsiveProps.getTypeOptionallyByViewport(_propTypes.default.oneOf(['column', 'row', 'row-reverse', 'column-reverse'])),
71
97
 
72
98
  /**
73
99
  * The size of the spacer according to the theme's spacing scale.
74
100
  * Either a number corresponding to a position on the theme's spacing scale (1 is smallest, 2 is second smallest, etc),
75
101
  * or, a SpacingObject with viewport keys and options (see `useSpacingScale` for details).
76
102
  */
77
- space: spacingProps.types.spacingValue,
103
+ space: _utils.spacingProps.types.spacingValue,
78
104
 
79
105
  /**
80
106
  * A StackWrap may take any children, but will have no effect if it is only passed one child or is passed children
81
107
  * wrapped in a component. If necessary, children may be wrapped in one React Fragment.
82
108
  */
83
- children: PropTypes.node
109
+ children: _propTypes.default.node
84
110
  };
85
- export default StackWrapBox;
111
+ var _default = StackWrapBox;
112
+ exports.default = _default;
@@ -1,10 +1,30 @@
1
- import React from 'react';
2
- import { View } from 'react-native';
3
- import StackWrapBox from './StackWrapBox';
4
- import { a11yProps, useSpacingScale } from '../utils';
5
- import { useThemeTokens } from '../ThemeProvider';
6
- import getStackedContent from './getStackedContent';
7
- import { staticStyles, selectFlexStyles } from './common';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
+
12
+ var _StackWrapBox = _interopRequireDefault(require("./StackWrapBox"));
13
+
14
+ var _utils = require("../utils");
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ var _ViewportProvider = require("../ViewportProvider");
19
+
20
+ var _getStackedContent = _interopRequireDefault(require("./getStackedContent"));
21
+
22
+ var _common = require("./common");
23
+
24
+ var _jsxRuntime = require("react/jsx-runtime");
25
+
26
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
8
28
  /**
9
29
  * The primary implementation of StackWrap.
10
30
  *
@@ -15,31 +35,37 @@ import { staticStyles, selectFlexStyles } from './common';
15
35
  * - The `space` between items is the same as the `gap` between wrapped rows (this is the
16
36
  * default if `gap` prop is undefined)
17
37
  */
18
-
19
38
  const StackWrapGap = ({
20
39
  space = 1,
21
40
  tokens,
22
41
  variant,
23
- direction = 'row',
42
+ direction: directionProp = 'row',
24
43
  children,
25
44
  ...rest
26
45
  }) => {
27
- const themeTokens = useThemeTokens('StackView', tokens, variant);
28
- const flexStyles = selectFlexStyles(themeTokens);
29
- const a11y = a11yProps.select({ ...rest
46
+ const viewport = (0, _ViewportProvider.useViewport)();
47
+ const direction = (0, _utils.useResponsiveProp)(directionProp, 'row');
48
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('StackView', tokens, variant, {
49
+ viewport
30
50
  });
31
- const size = useSpacingScale(space);
51
+ const flexStyles = (0, _common.selectFlexStyles)(themeTokens);
52
+ const props = { ..._utils.a11yProps.select(rest),
53
+ ..._utils.viewProps.select(rest)
54
+ };
55
+ const size = (0, _utils.useSpacingScale)(space);
32
56
  const gapStyle = {
33
57
  gap: size
34
58
  };
35
- const content = getStackedContent(children, {
59
+ const content = (0, _getStackedContent.default)(children, {
36
60
  direction,
37
61
  space: 0
38
62
  });
39
- return /*#__PURE__*/React.createElement(View, Object.assign({}, a11y, {
40
- style: [flexStyles, staticStyles.wrap, staticStyles[direction], gapStyle]
41
- }), content);
63
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...props,
64
+ style: [flexStyles, _common.staticStyles.wrap, _common.staticStyles[direction], gapStyle],
65
+ children: content
66
+ });
42
67
  };
43
68
 
44
- StackWrapGap.propTypes = StackWrapBox.propTypes;
45
- export default StackWrapGap;
69
+ StackWrapGap.propTypes = _StackWrapBox.default.propTypes;
70
+ var _default = StackWrapGap;
71
+ exports.default = _default;
@@ -1,5 +1,15 @@
1
- import { StyleSheet } from 'react-native';
2
- export const selectFlexStyles = ({
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.staticStyles = exports.selectFlexStyles = void 0;
7
+
8
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const selectFlexStyles = ({
3
13
  alignItems,
4
14
  justifyContent,
5
15
  flexGrow
@@ -8,7 +18,10 @@ export const selectFlexStyles = ({
8
18
  justifyContent,
9
19
  flexGrow
10
20
  });
11
- export const staticStyles = StyleSheet.create({
21
+
22
+ exports.selectFlexStyles = selectFlexStyles;
23
+
24
+ const staticStyles = _StyleSheet.default.create({
12
25
  wrap: {
13
26
  flexShrink: 1,
14
27
  flexWrap: 'wrap'
@@ -27,4 +40,6 @@ export const staticStyles = StyleSheet.create({
27
40
  'column-reverse': {
28
41
  flexDirection: 'column-reverse'
29
42
  }
30
- });
43
+ });
44
+
45
+ exports.staticStyles = staticStyles;