@telus-uds/components-base 0.0.2-prerelease.1 → 0.0.2-prerelease.10

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 (475) hide show
  1. package/.ultra.cache.json +1 -0
  2. package/CHANGELOG.md +120 -0
  3. package/README.md +4 -2
  4. package/__fixtures__/Accessible.js +33 -0
  5. package/__fixtures__/Accessible.native.js +32 -0
  6. package/__fixtures__/test-utils.js +25 -0
  7. package/__fixtures__/testTheme.js +1146 -145
  8. package/__tests__/ActivityIndicator/ActivityIndicator.test.jsx +1 -1
  9. package/__tests__/Box/Box.test.jsx +81 -58
  10. package/__tests__/Button/ButtonBase.test.jsx +3 -32
  11. package/__tests__/Button/ButtonGroup.test.jsx +6 -7
  12. package/__tests__/Card/Card.test.jsx +63 -0
  13. package/__tests__/Checkbox/Checkbox.test.jsx +94 -0
  14. package/__tests__/Checkbox/CheckboxGroup.test.jsx +246 -0
  15. package/__tests__/Divider/Divider.test.jsx +26 -5
  16. package/__tests__/ExpandCollapse/ExpandCollapse.test.jsx +2 -2
  17. package/__tests__/Feedback/Feedback.test.jsx +42 -0
  18. package/__tests__/FlexGrid/Col.test.jsx +5 -0
  19. package/__tests__/HorizontalScroll/HorizontalScroll.test.jsx +164 -0
  20. package/__tests__/Icon/Icon.test.jsx +3 -3
  21. package/__tests__/IconButton/IconButton.test.jsx +52 -0
  22. package/__tests__/InputSupports/InputSupports.test.jsx +50 -0
  23. package/__tests__/Link/LinkBase.test.jsx +0 -14
  24. package/__tests__/List/List.test.jsx +60 -0
  25. package/__tests__/Modal/Modal.test.jsx +47 -0
  26. package/__tests__/Notification/Notification.test.jsx +20 -0
  27. package/__tests__/Pagination/Pagination.test.jsx +160 -0
  28. package/__tests__/Progress/Progress.test.jsx +79 -0
  29. package/__tests__/Radio/Radio.test.jsx +87 -0
  30. package/__tests__/Radio/RadioGroup.test.jsx +220 -0
  31. package/__tests__/RadioCard/RadioCard.test.jsx +87 -0
  32. package/__tests__/RadioCard/RadioCardGroup.test.jsx +246 -0
  33. package/__tests__/Search/Search.test.jsx +73 -0
  34. package/__tests__/Select/Select.test.jsx +94 -0
  35. package/__tests__/Skeleton/Skeleton.test.jsx +61 -0
  36. package/__tests__/Spacer/Spacer.test.jsx +63 -0
  37. package/__tests__/StackView/StackView.test.jsx +216 -0
  38. package/__tests__/StackView/StackWrap.test.jsx +47 -0
  39. package/__tests__/StackView/getStackedContent.test.jsx +295 -0
  40. package/__tests__/StepTracker/StepTracker.test.jsx +94 -0
  41. package/__tests__/Tabs/Tabs.test.jsx +40 -0
  42. package/__tests__/Tags/Tags.test.jsx +327 -0
  43. package/__tests__/TextInput/TextArea.test.jsx +35 -0
  44. package/__tests__/TextInput/TextInputBase.test.jsx +125 -0
  45. package/__tests__/ThemeProvider/ThemeProvider.test.jsx +77 -0
  46. package/__tests__/ThemeProvider/useThemeTokens.test.jsx +14 -8
  47. package/__tests__/ThemeProvider/utils/theme-tokens.test.js +41 -0
  48. package/__tests__/ToggleSwitch/ToggleSwitch.test.jsx +3 -2
  49. package/__tests__/Tooltip/Tooltip.test.jsx +65 -0
  50. package/__tests__/Tooltip/getTooltipPosition.test.js +79 -0
  51. package/__tests__/utils/children.test.jsx +128 -0
  52. package/__tests__/utils/input.test.js +59 -1
  53. package/__tests__/utils/useCopy.test.js +42 -0
  54. package/__tests__/utils/useResponsiveProp.test.jsx +202 -0
  55. package/__tests__/utils/useSpacingScale.test.jsx +273 -0
  56. package/__tests__/utils/useUniqueId.test.js +31 -0
  57. package/babel.config.js +18 -1
  58. package/jest.config.js +19 -9
  59. package/lib/A11yInfoProvider/index.js +54 -26
  60. package/lib/A11yText/index.js +36 -15
  61. package/lib/ActivityIndicator/Spinner.js +78 -0
  62. package/lib/ActivityIndicator/Spinner.native.js +121 -87
  63. package/lib/ActivityIndicator/index.js +28 -12
  64. package/lib/ActivityIndicator/shared.js +27 -12
  65. package/lib/BaseProvider/index.js +34 -11
  66. package/lib/Box/Box.js +214 -87
  67. package/lib/Box/index.js +13 -2
  68. package/lib/Button/Button.js +37 -11
  69. package/lib/Button/ButtonBase.js +119 -110
  70. package/lib/Button/ButtonGroup.js +98 -101
  71. package/lib/Button/ButtonLink.js +40 -14
  72. package/lib/Button/index.js +31 -4
  73. package/lib/Button/propTypes.js +32 -9
  74. package/lib/Card/Card.js +98 -0
  75. package/lib/Card/CardBase.js +78 -0
  76. package/lib/Card/PressableCardBase.js +137 -0
  77. package/lib/Card/index.js +40 -0
  78. package/lib/Checkbox/Checkbox.js +344 -0
  79. package/lib/Checkbox/CheckboxGroup.js +231 -0
  80. package/lib/Checkbox/CheckboxInput.js +74 -0
  81. package/lib/Checkbox/CheckboxInput.native.js +14 -0
  82. package/lib/Checkbox/index.js +21 -0
  83. package/lib/Divider/Divider.js +80 -18
  84. package/lib/Divider/index.js +13 -2
  85. package/lib/ExpandCollapse/Accordion.js +19 -8
  86. package/lib/ExpandCollapse/Control.js +50 -29
  87. package/lib/ExpandCollapse/ExpandCollapse.js +41 -24
  88. package/lib/ExpandCollapse/Panel.js +77 -41
  89. package/lib/ExpandCollapse/index.js +25 -7
  90. package/lib/Feedback/Feedback.js +161 -0
  91. package/lib/Feedback/index.js +13 -0
  92. package/lib/Fieldset/Fieldset.js +160 -0
  93. package/lib/Fieldset/FieldsetContainer.js +41 -0
  94. package/lib/Fieldset/FieldsetContainer.native.js +33 -0
  95. package/lib/Fieldset/Legend.js +33 -0
  96. package/lib/Fieldset/Legend.native.js +43 -0
  97. package/lib/Fieldset/cssReset.js +21 -0
  98. package/lib/Fieldset/index.js +13 -0
  99. package/lib/FlexGrid/Col/Col.js +66 -39
  100. package/lib/FlexGrid/Col/index.js +13 -2
  101. package/lib/FlexGrid/FlexGrid.js +70 -47
  102. package/lib/FlexGrid/Row/Row.js +47 -28
  103. package/lib/FlexGrid/Row/index.js +13 -2
  104. package/lib/FlexGrid/helpers/index.js +9 -1
  105. package/lib/FlexGrid/index.js +13 -2
  106. package/lib/FlexGrid/providers/GutterContext.js +15 -3
  107. package/lib/HorizontalScroll/HorizontalScroll.js +199 -0
  108. package/lib/HorizontalScroll/HorizontalScrollButton.js +121 -0
  109. package/lib/HorizontalScroll/ScrollViewEnd.js +66 -0
  110. package/lib/HorizontalScroll/ScrollViewEnd.native.js +41 -0
  111. package/lib/HorizontalScroll/dictionary.js +18 -0
  112. package/lib/HorizontalScroll/index.js +35 -0
  113. package/lib/HorizontalScroll/itemPositions.js +128 -0
  114. package/lib/Icon/Icon.js +52 -47
  115. package/lib/Icon/IconText.js +100 -0
  116. package/lib/Icon/index.js +31 -3
  117. package/lib/IconButton/IconButton.js +135 -0
  118. package/lib/IconButton/index.js +13 -0
  119. package/lib/InputLabel/InputLabel.js +145 -0
  120. package/lib/InputLabel/LabelContent.js +39 -0
  121. package/lib/InputLabel/LabelContent.native.js +16 -0
  122. package/lib/InputLabel/index.js +13 -0
  123. package/lib/InputSupports/InputSupports.js +104 -0
  124. package/lib/InputSupports/index.js +13 -0
  125. package/lib/InputSupports/propTypes.js +66 -0
  126. package/lib/InputSupports/useInputSupports.js +41 -0
  127. package/lib/Link/ChevronLink.js +56 -16
  128. package/lib/Link/InlinePressable.js +50 -0
  129. package/lib/Link/InlinePressable.native.js +101 -0
  130. package/lib/Link/Link.js +29 -14
  131. package/lib/Link/LinkBase.js +120 -147
  132. package/lib/Link/TextButton.js +46 -18
  133. package/lib/Link/index.js +39 -4
  134. package/lib/List/List.js +80 -0
  135. package/lib/List/ListItem.js +239 -0
  136. package/lib/List/index.js +13 -0
  137. package/lib/Modal/Modal.js +226 -0
  138. package/lib/Modal/dictionary.js +16 -0
  139. package/lib/Modal/index.js +13 -0
  140. package/lib/Notification/Notification.js +215 -0
  141. package/lib/Notification/dictionary.js +15 -0
  142. package/lib/Notification/index.js +13 -0
  143. package/lib/Pagination/PageButton.js +89 -0
  144. package/lib/Pagination/Pagination.js +148 -0
  145. package/lib/Pagination/SideButton.js +124 -0
  146. package/lib/Pagination/dictionary.js +25 -0
  147. package/lib/Pagination/index.js +13 -0
  148. package/lib/Pagination/usePagination.js +80 -0
  149. package/lib/Progress/Progress.js +99 -0
  150. package/lib/Progress/ProgressBar.js +146 -0
  151. package/lib/Progress/ProgressBarBackground.js +57 -0
  152. package/lib/Progress/index.js +16 -0
  153. package/lib/Radio/Radio.js +292 -0
  154. package/lib/Radio/RadioButton.js +141 -0
  155. package/lib/Radio/RadioGroup.js +234 -0
  156. package/lib/Radio/RadioInput.js +76 -0
  157. package/lib/Radio/RadioInput.native.js +14 -0
  158. package/lib/Radio/index.js +21 -0
  159. package/lib/RadioCard/RadioCard.js +243 -0
  160. package/lib/RadioCard/RadioCardGroup.js +251 -0
  161. package/lib/RadioCard/index.js +21 -0
  162. package/lib/Search/Search.js +250 -0
  163. package/lib/Search/dictionary.js +19 -0
  164. package/lib/Search/index.js +13 -0
  165. package/lib/Select/Group.js +33 -0
  166. package/lib/Select/Group.native.js +25 -0
  167. package/lib/Select/Item.js +29 -0
  168. package/lib/Select/Item.native.js +19 -0
  169. package/lib/Select/Picker.js +79 -0
  170. package/lib/Select/Picker.native.js +127 -0
  171. package/lib/Select/Select.js +341 -0
  172. package/lib/Select/index.js +19 -0
  173. package/lib/SideNav/Item.js +54 -35
  174. package/lib/SideNav/ItemContent.js +41 -15
  175. package/lib/SideNav/ItemsGroup.js +53 -34
  176. package/lib/SideNav/SideNav.js +94 -70
  177. package/lib/SideNav/index.js +15 -1
  178. package/lib/Skeleton/Skeleton.js +137 -0
  179. package/lib/Skeleton/index.js +13 -0
  180. package/lib/Skeleton/skeleton.constant.js +12 -0
  181. package/lib/Skeleton/skeletonWebAnimation.js +27 -0
  182. package/lib/Skeleton/useSkeletonNativeAnimation.js +37 -0
  183. package/lib/Spacer/Spacer.js +117 -0
  184. package/lib/Spacer/index.js +13 -0
  185. package/lib/StackView/StackView.js +130 -0
  186. package/lib/StackView/StackWrap.js +55 -0
  187. package/lib/StackView/StackWrap.native.js +14 -0
  188. package/lib/StackView/StackWrapBox.js +120 -0
  189. package/lib/StackView/StackWrapGap.js +71 -0
  190. package/lib/StackView/common.js +47 -0
  191. package/lib/StackView/getStackedContent.js +141 -0
  192. package/lib/StackView/index.js +29 -0
  193. package/lib/StepTracker/Step.js +245 -0
  194. package/lib/StepTracker/StepTracker.js +197 -0
  195. package/lib/StepTracker/dictionary.js +17 -0
  196. package/lib/StepTracker/index.js +13 -0
  197. package/lib/Tabs/Tabs.js +118 -0
  198. package/lib/Tabs/TabsItem.js +237 -0
  199. package/lib/Tabs/index.js +13 -0
  200. package/lib/Tags/Tags.js +250 -0
  201. package/lib/Tags/index.js +13 -0
  202. package/lib/TextInput/TextArea.js +109 -0
  203. package/lib/TextInput/TextInput.js +75 -0
  204. package/lib/TextInput/TextInputBase.js +255 -0
  205. package/lib/TextInput/index.js +23 -0
  206. package/lib/TextInput/propTypes.js +42 -0
  207. package/lib/ThemeProvider/ThemeProvider.js +46 -18
  208. package/lib/ThemeProvider/index.js +61 -6
  209. package/lib/ThemeProvider/useSetTheme.js +19 -5
  210. package/lib/ThemeProvider/useTheme.js +13 -4
  211. package/lib/ThemeProvider/useThemeTokens.js +111 -16
  212. package/lib/ThemeProvider/utils/index.js +31 -2
  213. package/lib/ThemeProvider/utils/styles.js +52 -16
  214. package/lib/ThemeProvider/utils/theme-tokens.js +154 -19
  215. package/lib/ToggleSwitch/ToggleSwitch.js +87 -93
  216. package/lib/ToggleSwitch/index.js +13 -2
  217. package/lib/Tooltip/Backdrop.js +56 -0
  218. package/lib/Tooltip/Backdrop.native.js +59 -0
  219. package/lib/Tooltip/Tooltip.js +357 -0
  220. package/lib/Tooltip/dictionary.js +15 -0
  221. package/lib/Tooltip/getTooltipPosition.js +172 -0
  222. package/lib/Tooltip/index.js +13 -0
  223. package/lib/TooltipButton/TooltipButton.js +83 -0
  224. package/lib/TooltipButton/index.js +13 -0
  225. package/lib/Typography/Typography.js +58 -49
  226. package/lib/Typography/index.js +13 -2
  227. package/lib/ViewportProvider/ViewportProvider.js +46 -0
  228. package/lib/ViewportProvider/index.js +22 -38
  229. package/lib/ViewportProvider/useViewport.js +15 -0
  230. package/lib/ViewportProvider/useViewportListener.js +57 -0
  231. package/lib/index.js +539 -17
  232. package/lib/utils/a11y/index.js +18 -0
  233. package/lib/utils/a11y/textSize.js +49 -0
  234. package/lib/utils/animation/index.js +15 -2
  235. package/lib/utils/animation/useVerticalExpandAnimation.js +28 -11
  236. package/lib/utils/children.js +134 -0
  237. package/lib/utils/index.js +163 -3
  238. package/lib/utils/info/index.js +19 -0
  239. package/lib/utils/info/platform/index.js +23 -0
  240. package/lib/utils/info/platform/platform.android.js +8 -0
  241. package/lib/utils/info/platform/platform.ios.js +8 -0
  242. package/lib/utils/info/platform/platform.js +8 -0
  243. package/lib/utils/info/platform/platform.native.js +11 -0
  244. package/lib/utils/info/versions.js +16 -0
  245. package/lib/utils/input.js +62 -38
  246. package/lib/utils/pressability.js +120 -0
  247. package/lib/utils/propTypes.js +360 -109
  248. package/lib/utils/useCopy.js +51 -0
  249. package/lib/utils/useHash.js +52 -0
  250. package/lib/utils/useHash.native.js +15 -0
  251. package/lib/utils/useResponsiveProp.js +59 -0
  252. package/lib/utils/useSpacingScale.js +135 -0
  253. package/lib/utils/useUniqueId.js +21 -0
  254. package/package.json +15 -14
  255. package/release-context.json +4 -4
  256. package/src/ActivityIndicator/{Spinner.web.jsx → Spinner.jsx} +0 -0
  257. package/src/Box/Box.jsx +180 -78
  258. package/src/Button/Button.jsx +9 -5
  259. package/src/Button/ButtonBase.jsx +74 -87
  260. package/src/Button/ButtonGroup.jsx +26 -43
  261. package/src/Button/ButtonLink.jsx +14 -4
  262. package/src/Button/propTypes.js +12 -2
  263. package/src/Card/Card.jsx +75 -0
  264. package/src/Card/CardBase.jsx +57 -0
  265. package/src/Card/PressableCardBase.jsx +112 -0
  266. package/src/Card/index.js +6 -0
  267. package/src/Checkbox/Checkbox.jsx +274 -0
  268. package/src/Checkbox/CheckboxGroup.jsx +196 -0
  269. package/src/Checkbox/CheckboxInput.jsx +55 -0
  270. package/src/Checkbox/CheckboxInput.native.jsx +6 -0
  271. package/src/Checkbox/index.js +5 -0
  272. package/src/Divider/Divider.jsx +38 -3
  273. package/src/ExpandCollapse/Control.jsx +3 -4
  274. package/src/ExpandCollapse/Panel.jsx +3 -3
  275. package/src/Feedback/Feedback.jsx +108 -0
  276. package/src/Feedback/index.js +3 -0
  277. package/src/Fieldset/Fieldset.jsx +129 -0
  278. package/src/Fieldset/FieldsetContainer.jsx +22 -0
  279. package/src/Fieldset/FieldsetContainer.native.jsx +16 -0
  280. package/src/Fieldset/Legend.jsx +16 -0
  281. package/src/Fieldset/Legend.native.jsx +22 -0
  282. package/src/Fieldset/cssReset.js +14 -0
  283. package/src/Fieldset/index.js +3 -0
  284. package/src/FlexGrid/Col/Col.jsx +4 -2
  285. package/src/HorizontalScroll/HorizontalScroll.jsx +165 -0
  286. package/src/HorizontalScroll/HorizontalScrollButton.jsx +108 -0
  287. package/src/HorizontalScroll/ScrollViewEnd.jsx +53 -0
  288. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +24 -0
  289. package/src/HorizontalScroll/dictionary.js +11 -0
  290. package/src/HorizontalScroll/index.js +17 -0
  291. package/src/HorizontalScroll/itemPositions.js +101 -0
  292. package/src/Icon/Icon.jsx +23 -27
  293. package/src/Icon/IconText.jsx +63 -0
  294. package/src/Icon/index.js +3 -2
  295. package/src/IconButton/IconButton.jsx +107 -0
  296. package/src/IconButton/index.js +3 -0
  297. package/src/InputLabel/InputLabel.jsx +124 -0
  298. package/src/InputLabel/LabelContent.jsx +23 -0
  299. package/src/InputLabel/LabelContent.native.jsx +6 -0
  300. package/src/InputLabel/index.js +3 -0
  301. package/src/InputSupports/InputSupports.jsx +75 -0
  302. package/src/InputSupports/index.js +3 -0
  303. package/src/InputSupports/propTypes.js +44 -0
  304. package/src/InputSupports/useInputSupports.js +30 -0
  305. package/src/Link/ChevronLink.jsx +28 -7
  306. package/src/Link/InlinePressable.jsx +37 -0
  307. package/src/Link/InlinePressable.native.jsx +73 -0
  308. package/src/Link/Link.jsx +17 -13
  309. package/src/Link/LinkBase.jsx +71 -146
  310. package/src/Link/TextButton.jsx +25 -11
  311. package/src/Link/index.js +2 -1
  312. package/src/List/List.jsx +47 -0
  313. package/src/List/ListItem.jsx +184 -0
  314. package/src/List/index.js +3 -0
  315. package/src/Modal/Modal.jsx +185 -0
  316. package/src/Modal/dictionary.js +9 -0
  317. package/src/Modal/index.js +3 -0
  318. package/src/Notification/Notification.jsx +161 -0
  319. package/src/Notification/dictionary.js +8 -0
  320. package/src/Notification/index.js +3 -0
  321. package/src/Pagination/PageButton.jsx +70 -0
  322. package/src/Pagination/Pagination.jsx +135 -0
  323. package/src/Pagination/SideButton.jsx +82 -0
  324. package/src/Pagination/dictionary.js +18 -0
  325. package/src/Pagination/index.js +3 -0
  326. package/src/Pagination/usePagination.js +69 -0
  327. package/src/Progress/Progress.jsx +77 -0
  328. package/src/Progress/ProgressBar.jsx +110 -0
  329. package/src/Progress/ProgressBarBackground.jsx +34 -0
  330. package/src/Progress/index.js +6 -0
  331. package/src/Radio/Radio.jsx +233 -0
  332. package/src/Radio/RadioButton.jsx +131 -0
  333. package/src/Radio/RadioGroup.jsx +199 -0
  334. package/src/Radio/RadioInput.jsx +57 -0
  335. package/src/Radio/RadioInput.native.jsx +6 -0
  336. package/src/Radio/index.js +5 -0
  337. package/src/RadioCard/RadioCard.jsx +191 -0
  338. package/src/RadioCard/RadioCardGroup.jsx +211 -0
  339. package/src/RadioCard/index.js +5 -0
  340. package/src/Search/Search.jsx +215 -0
  341. package/src/Search/dictionary.js +12 -0
  342. package/src/Search/index.js +3 -0
  343. package/src/Select/Group.jsx +15 -0
  344. package/src/Select/Group.native.jsx +14 -0
  345. package/src/Select/Item.jsx +11 -0
  346. package/src/Select/Item.native.jsx +10 -0
  347. package/src/Select/Picker.jsx +67 -0
  348. package/src/Select/Picker.native.jsx +108 -0
  349. package/src/Select/Select.jsx +286 -0
  350. package/src/Select/index.js +8 -0
  351. package/src/SideNav/Item.jsx +5 -5
  352. package/src/SideNav/ItemsGroup.jsx +11 -13
  353. package/src/SideNav/SideNav.jsx +2 -1
  354. package/src/Skeleton/Skeleton.jsx +98 -0
  355. package/src/Skeleton/index.js +3 -0
  356. package/src/Skeleton/skeleton.constant.js +3 -0
  357. package/src/Skeleton/skeletonWebAnimation.js +13 -0
  358. package/src/Skeleton/useSkeletonNativeAnimation.js +27 -0
  359. package/src/Spacer/Spacer.jsx +91 -0
  360. package/src/Spacer/index.js +3 -0
  361. package/src/StackView/StackView.jsx +113 -0
  362. package/src/StackView/StackWrap.jsx +41 -0
  363. package/src/StackView/StackWrap.native.jsx +4 -0
  364. package/src/StackView/StackWrapBox.jsx +102 -0
  365. package/src/StackView/StackWrapGap.jsx +49 -0
  366. package/src/StackView/common.jsx +29 -0
  367. package/src/StackView/getStackedContent.jsx +112 -0
  368. package/src/StackView/index.js +6 -0
  369. package/src/StepTracker/Step.jsx +202 -0
  370. package/src/StepTracker/StepTracker.jsx +163 -0
  371. package/src/StepTracker/dictionary.js +10 -0
  372. package/src/StepTracker/index.js +3 -0
  373. package/src/Tabs/Tabs.jsx +92 -0
  374. package/src/Tabs/TabsItem.jsx +205 -0
  375. package/src/Tabs/index.js +3 -0
  376. package/src/Tags/Tags.jsx +207 -0
  377. package/src/Tags/index.js +3 -0
  378. package/src/TextInput/TextArea.jsx +78 -0
  379. package/src/TextInput/TextInput.jsx +52 -0
  380. package/src/TextInput/TextInputBase.jsx +211 -0
  381. package/src/TextInput/index.js +4 -0
  382. package/src/TextInput/propTypes.js +29 -0
  383. package/src/ThemeProvider/ThemeProvider.jsx +11 -7
  384. package/src/ThemeProvider/useSetTheme.js +4 -0
  385. package/src/ThemeProvider/useThemeTokens.js +85 -7
  386. package/src/ThemeProvider/utils/styles.js +18 -5
  387. package/src/ThemeProvider/utils/theme-tokens.js +106 -8
  388. package/src/ToggleSwitch/ToggleSwitch.jsx +25 -46
  389. package/src/Tooltip/Backdrop.jsx +60 -0
  390. package/src/Tooltip/Backdrop.native.jsx +33 -0
  391. package/src/Tooltip/Tooltip.jsx +294 -0
  392. package/src/Tooltip/dictionary.js +8 -0
  393. package/src/Tooltip/getTooltipPosition.js +161 -0
  394. package/src/Tooltip/index.js +3 -0
  395. package/src/TooltipButton/TooltipButton.jsx +49 -0
  396. package/src/TooltipButton/index.js +3 -0
  397. package/src/Typography/Typography.jsx +10 -24
  398. package/src/ViewportProvider/ViewportProvider.jsx +21 -0
  399. package/src/ViewportProvider/index.jsx +2 -41
  400. package/src/ViewportProvider/useViewport.js +5 -0
  401. package/src/ViewportProvider/useViewportListener.js +43 -0
  402. package/src/index.js +38 -1
  403. package/src/utils/a11y/index.js +1 -0
  404. package/src/utils/a11y/textSize.js +30 -0
  405. package/src/utils/children.jsx +119 -0
  406. package/src/utils/index.js +11 -0
  407. package/src/utils/info/index.js +8 -0
  408. package/src/utils/info/platform/index.js +11 -0
  409. package/src/utils/info/platform/platform.android.js +1 -0
  410. package/src/utils/info/platform/platform.ios.js +1 -0
  411. package/src/utils/info/platform/platform.js +1 -0
  412. package/src/utils/info/platform/platform.native.js +4 -0
  413. package/src/utils/info/versions.js +6 -0
  414. package/src/utils/input.js +38 -26
  415. package/src/utils/pressability.js +96 -0
  416. package/src/utils/propTypes.js +298 -66
  417. package/src/utils/useCopy.js +39 -0
  418. package/src/utils/useHash.js +39 -0
  419. package/src/utils/useHash.native.js +6 -0
  420. package/src/utils/useResponsiveProp.js +50 -0
  421. package/src/utils/useSpacingScale.js +108 -0
  422. package/src/utils/useUniqueId.js +14 -0
  423. package/stories/A11yText/A11yText.stories.jsx +15 -13
  424. package/stories/ActivityIndicator/ActivityIndicator.stories.jsx +11 -2
  425. package/stories/Box/Box.stories.jsx +46 -17
  426. package/stories/Button/Button.stories.jsx +21 -20
  427. package/stories/Button/ButtonGroup.stories.jsx +2 -1
  428. package/stories/Button/ButtonLink.stories.jsx +6 -4
  429. package/stories/Card/Card.stories.jsx +62 -0
  430. package/stories/Checkbox/Checkbox.stories.jsx +94 -0
  431. package/stories/Divider/Divider.stories.jsx +26 -2
  432. package/stories/ExpandCollapse/ExpandCollapse.stories.jsx +74 -79
  433. package/stories/Feedback/Feedback.stories.jsx +96 -0
  434. package/stories/FlexGrid/01 FlexGrid.stories.jsx +20 -7
  435. package/stories/Icon/Icon.stories.jsx +35 -7
  436. package/stories/IconButton/IconButton.stories.jsx +50 -0
  437. package/stories/InputLabel/InputLabel.stories.jsx +42 -0
  438. package/stories/Link/ChevronLink.stories.jsx +20 -4
  439. package/stories/Link/Link.stories.jsx +51 -20
  440. package/stories/Link/TextButton.stories.jsx +24 -3
  441. package/stories/List/List.stories.jsx +117 -0
  442. package/stories/Modal/Modal.stories.jsx +29 -0
  443. package/stories/Notification/Notification.stories.jsx +82 -0
  444. package/stories/Pagination/Pagination.stories.jsx +64 -0
  445. package/stories/Progress/Progress.stories.jsx +93 -0
  446. package/stories/Radio/Radio.stories.jsx +100 -0
  447. package/stories/RadioCard/RadioCard.stories.jsx +98 -0
  448. package/stories/Search/Search.stories.jsx +16 -0
  449. package/stories/Select/Select.stories.jsx +55 -0
  450. package/stories/SideNav/SideNav.stories.jsx +17 -2
  451. package/stories/Skeleton/Skeleton.stories.jsx +36 -0
  452. package/stories/Spacer/Spacer.stories.jsx +38 -0
  453. package/stories/StackView/StackView.stories.jsx +75 -0
  454. package/stories/StackView/StackWrap.stories.jsx +64 -0
  455. package/stories/StepTracker/StepTracker.stories.jsx +71 -0
  456. package/stories/Tabs/Tabs.stories.jsx +97 -0
  457. package/stories/Tags/Tags.stories.jsx +69 -0
  458. package/stories/TextInput/TextArea.stories.jsx +100 -0
  459. package/stories/TextInput/TextInput.stories.jsx +103 -0
  460. package/stories/ToggleSwitch/ToggleSwitch.stories.jsx +16 -3
  461. package/stories/Tooltip/Tooltip.stories.jsx +81 -0
  462. package/stories/TooltipButton/TooltipButton.stories.jsx +11 -0
  463. package/stories/Typography/Typography.stories.jsx +12 -3
  464. package/stories/{platform-supports.web.jsx → platform-supports.jsx} +1 -1
  465. package/stories/supports.jsx +148 -14
  466. package/__fixtures__/accessible.icon.svg +0 -6
  467. package/docs/Contributing.stories.mdx +0 -9
  468. package/docs/Fonts.stories.mdx +0 -104
  469. package/docs/Icons.stories.mdx +0 -144
  470. package/docs/Introduction.stories.mdx +0 -9
  471. package/lib/ActivityIndicator/Spinner.web.js +0 -57
  472. package/lib/config/svgr-icons-web.js +0 -9
  473. package/lib/config/svgr-icons.js +0 -52
  474. package/src/config/svgr-icons-web.js +0 -11
  475. package/src/config/svgr-icons.js +0 -46
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
+
12
+ var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
+
14
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _ThemeProvider = require("../ThemeProvider");
19
+
20
+ var _utils = require("../utils");
21
+
22
+ var _Picker = _interopRequireDefault(require("./Picker"));
23
+
24
+ var _InputSupports = _interopRequireDefault(require("../InputSupports"));
25
+
26
+ var _propTypes2 = _interopRequireDefault(require("../InputSupports/propTypes"));
27
+
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+
30
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ const selectInputStyles = ({
37
+ backgroundColor,
38
+ color,
39
+ borderWidth = 0,
40
+ borderColor,
41
+ borderRadius,
42
+ paddingTop,
43
+ paddingBottom,
44
+ paddingLeft = 0,
45
+ paddingRight,
46
+ fontName,
47
+ fontSize,
48
+ fontWeight,
49
+ lineHeight,
50
+ icon,
51
+ iconSize = 0,
52
+ validationIcon,
53
+ validationIconSize = 0,
54
+ height
55
+ }, inactive) => {
56
+ // Subtract border width from padding so overall input width/height doesn't
57
+ // jump around if the border width changes (avoiding NaN and negative padding)
58
+ const offsetBorder = value => typeof value === 'number' ? Math.max(0, value - borderWidth) : value;
59
+
60
+ const textStyles = (0, _ThemeProvider.applyTextStyles)({
61
+ fontName,
62
+ fontSize,
63
+ lineHeight,
64
+ fontWeight
65
+ });
66
+
67
+ const webStyles = _Platform.default.select({
68
+ web: {
69
+ appearance: 'none',
70
+ WebkitAppearance: 'none',
71
+ // since iOS Safari needs a prefix
72
+ outline: 'none',
73
+ cursor: inactive ? 'not-allowed' : undefined,
74
+ opacity: inactive ? 1 : undefined // override Chrome's default fadeout of a disabled select
75
+
76
+ }
77
+ });
78
+
79
+ let paddingWithIcons = paddingRight;
80
+
81
+ if (_Platform.default.OS !== 'android') {
82
+ if (icon) {
83
+ paddingWithIcons += iconSize;
84
+ }
85
+
86
+ if (validationIcon) {
87
+ paddingWithIcons += validationIconSize;
88
+ }
89
+ }
90
+
91
+ return {
92
+ backgroundColor,
93
+ color,
94
+ borderWidth,
95
+ borderColor,
96
+ borderRadius,
97
+ paddingLeft: offsetBorder(paddingLeft),
98
+ paddingRight: offsetBorder(paddingWithIcons),
99
+ paddingTop: offsetBorder(paddingTop),
100
+ paddingBottom: offsetBorder(paddingBottom),
101
+ height,
102
+ ...textStyles,
103
+ ...webStyles
104
+ };
105
+ };
106
+
107
+ const selectOuterBorderStyles = ({
108
+ outerBackgroundColor,
109
+ outerBorderWidth,
110
+ outerBorderColor,
111
+ borderRadius
112
+ }) => ({
113
+ background: outerBackgroundColor,
114
+ ...(0, _ThemeProvider.applyOuterBorder)({
115
+ outerBorderColor,
116
+ outerBorderWidth,
117
+ borderRadius
118
+ })
119
+ });
120
+
121
+ const selectIconTokens = ({
122
+ iconSize,
123
+ iconColor
124
+ }) => ({
125
+ size: iconSize,
126
+ color: iconColor
127
+ });
128
+
129
+ const selectIconContainerStyles = ({
130
+ paddingRight,
131
+ paddingBottom
132
+ }) => ({
133
+ paddingRight,
134
+ paddingBottom
135
+ });
136
+
137
+ const selectValidationIconTokens = ({
138
+ validationIconSize,
139
+ validationIconColor
140
+ }) => ({
141
+ size: validationIconSize,
142
+ color: validationIconColor
143
+ });
144
+
145
+ const selectValidationIconContainerStyles = ({
146
+ icon,
147
+ iconSize = 0,
148
+ paddingRight = 0,
149
+ paddingBottom
150
+ }) => ({
151
+ paddingRight: icon ? paddingRight + iconSize : paddingRight,
152
+ paddingBottom
153
+ });
154
+ /**
155
+ * A basic form single-choice select component. Use in forms or individually to receive user's input.
156
+ *
157
+ * ## Usage criteria
158
+ * - Include a `placeholder` to provide instructions such as "Please select..." as an unselectable option (recommended)
159
+ * - Use when options are between 7-15 (recommended)
160
+ * - For options are 6 and under, use `Radio` groups or `ButtonGroup`.
161
+ * - For options 15 and above, look for alternatives (e.g grouping into categories, or input field with auto-complete etc.)
162
+ *
163
+ * ## Controlled component
164
+ * If it is required that the state of the `Select` be controlled by the application or other external methods,
165
+ * `value` and `onChange` props must be passed to the `Select`.
166
+ * If the `Select` value should not be changed by user input, a `readOnly` prop must be provided.
167
+ *
168
+ * ## Uncontrolled component
169
+ * If it is not necessary to control the `Select` state, you can create one without a value prop.
170
+ * In this case its value can be accessed within the `onChange` callback. Use the `initialValue` prop to set the
171
+ * default value for an uncontrolled `Select`.
172
+ *
173
+ * ## Getting feedback for entered values
174
+ * Use the `feedback` prop to give the user feedback regarding their selection.
175
+ * You can affirm that the user's selection was correct, or highlight errors that must be corrected, using the `validation` prop.
176
+ * Keep feedback text as brief as possible, should be limited to text and links.
177
+ *
178
+ * ## Using a tooltip
179
+ * When a more in-depth explanation is needed to fill out a `Select` properly, the tooltip prop may be used.
180
+ *
181
+ * ## Grouping options
182
+ * `Select` supports option groups. Use a `Select.Group` component to render an `<optgroup>` element with its items.
183
+ * NOTE: this does not work on native platforms - the grouped items will be shown at the same level as the non-grouped items.
184
+ *
185
+ */
186
+
187
+
188
+ const Select = ({
189
+ value,
190
+ initialValue,
191
+ onChange,
192
+ children,
193
+ inactive,
194
+ readOnly,
195
+ placeholder,
196
+ validation,
197
+ tokens,
198
+ variant,
199
+ testID,
200
+ ...rest
201
+ }) => {
202
+ const {
203
+ currentValue,
204
+ setValue
205
+ } = (0, _utils.useInputValue)({
206
+ value,
207
+ initialValue,
208
+ onChange,
209
+ readOnly
210
+ });
211
+ const [isFocused, setIsFocused] = (0, _react.useState)(false);
212
+
213
+ const handleFocus = () => setIsFocused(true);
214
+
215
+ const handleBlur = () => setIsFocused(false);
216
+
217
+ const [isHovered, setIsHovered] = (0, _react.useState)(false);
218
+
219
+ const handleMouseOver = () => setIsHovered(true);
220
+
221
+ const handleMouseOut = () => setIsHovered(false);
222
+
223
+ const {
224
+ props: supportsProps
225
+ } = _propTypes2.default.select(rest);
226
+
227
+ const themeTokens = (0, _ThemeProvider.useThemeTokens)('Select', tokens, variant, {
228
+ focus: isFocused,
229
+ hover: isHovered,
230
+ inactive,
231
+ validation
232
+ });
233
+ const {
234
+ icon: IconComponent,
235
+ validationIcon: ValidationIconComponent
236
+ } = themeTokens;
237
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputSupports.default, { ...supportsProps,
238
+ children: ({
239
+ a11yProps,
240
+ inputId
241
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_View.default, {
242
+ style: selectOuterBorderStyles(themeTokens),
243
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Picker.default, {
244
+ style: selectInputStyles(themeTokens, inactive),
245
+ onFocus: handleFocus,
246
+ onBlur: handleBlur,
247
+ onMouseOver: handleMouseOver,
248
+ onMouseOut: handleMouseOut,
249
+ onChange: setValue,
250
+ value: currentValue,
251
+ inactive: inactive,
252
+ placeholder: placeholder !== undefined ? {
253
+ label: placeholder,
254
+ value: ''
255
+ } : undefined,
256
+ ...a11yProps,
257
+ nativeID: inputId,
258
+ testID: testID,
259
+ children: children
260
+ }), ValidationIconComponent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
261
+ pointerEvents: "none",
262
+ style: [staticStyles.iconContainer, selectValidationIconContainerStyles(themeTokens)],
263
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ValidationIconComponent, {
264
+ tokens: selectValidationIconTokens(themeTokens)
265
+ })
266
+ }), IconComponent && _Platform.default.OS !== 'android' &&
267
+ /*#__PURE__*/
268
+ // we can't hide the default caret of a native picker on android
269
+ (0, _jsxRuntime.jsx)(_View.default, {
270
+ pointerEvents: "none",
271
+ style: [staticStyles.iconContainer, selectIconContainerStyles(themeTokens)],
272
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, { ...selectIconTokens(themeTokens)
273
+ })
274
+ })]
275
+ })
276
+ });
277
+ };
278
+
279
+ Select.propTypes = { ..._propTypes2.default.types,
280
+
281
+ /**
282
+ * Initial value for the uncontrolled version.
283
+ */
284
+ initialValue: _propTypes.default.string,
285
+
286
+ /**
287
+ * Current value to be set as selected.
288
+ */
289
+ value: _propTypes.default.string,
290
+
291
+ /**
292
+ * Callback to be called when the value changes.
293
+ */
294
+ onChange: _propTypes.default.func,
295
+
296
+ /**
297
+ * An array of items or item groups to be used as options.
298
+ */
299
+ children: (0, _utils.componentPropType)(['Item', 'Group']),
300
+
301
+ /**
302
+ * Whether the select is disabled.
303
+ */
304
+ inactive: _propTypes.default.bool,
305
+
306
+ /**
307
+ * Whether the select is read-only.
308
+ */
309
+ readOnly: _propTypes.default.bool,
310
+
311
+ /**
312
+ * A placeholder to provide instructions (such as "Please select...")
313
+ * as an unselectable option
314
+ */
315
+ placeholder: _propTypes.default.string,
316
+
317
+ /**
318
+ * Select tokens.
319
+ */
320
+ tokens: (0, _utils.getTokensPropType)('Select'),
321
+
322
+ /**
323
+ * Select variant.
324
+ */
325
+ variant: _utils.variantProp.propType,
326
+
327
+ /**
328
+ * Dedicated ID for testing.
329
+ */
330
+ testID: _propTypes.default.string
331
+ };
332
+ var _default = Select;
333
+ exports.default = _default;
334
+
335
+ const staticStyles = _StyleSheet.default.create({
336
+ iconContainer: {
337
+ position: 'absolute',
338
+ right: 0,
339
+ bottom: 0
340
+ }
341
+ });
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _Select = _interopRequireDefault(require("./Select"));
9
+
10
+ var _Group = _interopRequireDefault(require("./Group"));
11
+
12
+ var _Item = _interopRequireDefault(require("./Item"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ _Select.default.Group = _Group.default;
17
+ _Select.default.Item = _Item.default;
18
+ var _default = _Select.default;
19
+ exports.default = _default;
@@ -1,11 +1,25 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ "use strict";
2
2
 
3
- import React from 'react';
4
- import { Pressable } from 'react-native';
5
- import PropTypes from 'prop-types';
6
- import { variantProp, getTokensPropType, a11yProps, hrefAttrsProp, linkProps } from '../utils';
7
- import { useThemeTokensCallback, verticalAlignRow } from '../ThemeProvider';
8
- import ItemContent from './ItemContent';
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _utils = require("../utils");
15
+
16
+ var _ThemeProvider = require("../ThemeProvider");
17
+
18
+ var _ItemContent = _interopRequireDefault(require("./ItemContent"));
19
+
20
+ var _jsxRuntime = require("react/jsx-runtime");
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
23
 
10
24
  function selectItemStyles({
11
25
  backgroundColor,
@@ -29,7 +43,7 @@ function selectItemStyles({
29
43
  paddingTop,
30
44
  paddingBottom,
31
45
  justifyContent,
32
- ...verticalAlignRow(verticalAlign)
46
+ ...(0, _ThemeProvider.verticalAlignRow)(verticalAlign)
33
47
  };
34
48
  }
35
49
  /**
@@ -58,15 +72,17 @@ const Item = ({
58
72
  const {
59
73
  hrefAttrs,
60
74
  rest
61
- } = hrefAttrsProp.bundle(props);
62
- const linkPropSet = linkProps.select({
75
+ } = _utils.hrefAttrsProp.bundle(props);
76
+
77
+ const linkPropSet = _utils.linkProps.select({
63
78
  accessibilityRole,
64
79
  href,
65
80
  onPress: handlePress,
66
- ...hrefAttrsProp.spread(hrefAttrs),
81
+ hrefAttrs,
67
82
  ...rest
68
83
  });
69
- const getTokens = useThemeTokensCallback('SideNavItem');
84
+
85
+ const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('SideNavItem', tokens, variant);
70
86
 
71
87
  const getAppearanceState = ({
72
88
  hovered
@@ -76,20 +92,22 @@ const Item = ({
76
92
  expanded: isExpanded
77
93
  });
78
94
 
79
- const getPressableStyle = pressableState => selectItemStyles(getTokens(tokens, variant, getAppearanceState(pressableState)));
95
+ const getPressableStyle = pressableState => selectItemStyles(getTokens(getAppearanceState(pressableState)));
80
96
 
81
- return /*#__PURE__*/React.createElement(Pressable, _extends({
82
- style: getPressableStyle
83
- }, linkPropSet, {
97
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default, {
98
+ style: getPressableStyle,
99
+ ...linkPropSet,
84
100
  accessibilityState: {
85
101
  selected: isActive
86
102
  },
87
- testID: testID
88
- }), pressableState => {
89
- const themeTokens = getTokens(tokens, variant, getAppearanceState(pressableState));
90
- return /*#__PURE__*/React.createElement(ItemContent, {
91
- tokens: themeTokens
92
- }, children);
103
+ testID: testID,
104
+ children: pressableState => {
105
+ const themeTokens = getTokens(getAppearanceState(pressableState));
106
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ItemContent.default, {
107
+ tokens: themeTokens,
108
+ children: children
109
+ });
110
+ }
93
111
  });
94
112
  };
95
113
 
@@ -97,41 +115,42 @@ Item.propTypes = {
97
115
  /**
98
116
  * Text content of the `Item`.
99
117
  */
100
- children: PropTypes.node.isRequired,
118
+ children: _propTypes.default.node.isRequired,
101
119
 
102
120
  /**
103
121
  * @ignore
104
122
  * Set internally in `SideNav` render function - used to keep track of active item.
105
123
  */
106
- itemId: PropTypes.string,
124
+ itemId: _propTypes.default.string,
107
125
 
108
126
  /**
109
127
  * @ignore
110
128
  * Set internally in `SideNav` render function - used to keep track of expanded items groups.
111
129
  */
112
- groupId: PropTypes.string,
113
- onPress: PropTypes.func,
114
- href: PropTypes.string,
130
+ groupId: _propTypes.default.string,
131
+ onPress: _propTypes.default.func,
132
+ href: _propTypes.default.string,
115
133
 
116
134
  /**
117
135
  * On Web if href is passed, React Native Web maps this object's props to
118
- * `rel`, `target` and (>= RNW 0.15.0) `download` attrs.
136
+ * `rel`, `target` and `download` attrs.
119
137
  */
120
- hrefAttrs: PropTypes.shape(hrefAttrsProp.types),
138
+ hrefAttrs: _propTypes.default.shape(_utils.hrefAttrsProp.types),
121
139
 
122
140
  /**
123
141
  * @ignore
124
142
  * Set internally in `SideNav` render function.
125
143
  */
126
- isActive: PropTypes.bool,
144
+ isActive: _propTypes.default.bool,
127
145
 
128
146
  /**
129
147
  * @ignore
130
148
  * Set internally in `SideNav.ItemsGroup` render function. Used to mark expanded `ItemsGroup` parent.
131
149
  */
132
- isExpanded: PropTypes.bool,
133
- tokens: getTokensPropType('SideNavItem'),
134
- variant: variantProp.propType,
135
- ...a11yProps.types
150
+ isExpanded: _propTypes.default.bool,
151
+ tokens: (0, _utils.getTokensPropType)('SideNavItem'),
152
+ variant: _utils.variantProp.propType,
153
+ ..._utils.a11yProps.types
136
154
  };
137
- export default Item;
155
+ var _default = Item;
156
+ exports.default = _default;
@@ -1,9 +1,28 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { View, StyleSheet } from 'react-native';
4
- import Typography from '../Typography';
5
- import { selectTokens, getTokensPropType } from '../utils';
6
- export function selectAccentStyles(tokens) {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectAccentStyles = selectAccentStyles;
7
+ exports.default = void 0;
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _propTypes = _interopRequireDefault(require("prop-types"));
12
+
13
+ var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
14
+
15
+ var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
16
+
17
+ var _Typography = _interopRequireDefault(require("../Typography"));
18
+
19
+ var _utils = require("../utils");
20
+
21
+ var _jsxRuntime = require("react/jsx-runtime");
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
+
25
+ function selectAccentStyles(tokens) {
7
26
  return {
8
27
  left: tokens.accentOffset,
9
28
  top: tokens.accentPadding,
@@ -17,22 +36,29 @@ export function selectAccentStyles(tokens) {
17
36
  * Content inside an item or control in a SideNav, themed by the SideNavItem theme
18
37
  */
19
38
 
39
+
20
40
  const ItemContent = ({
21
41
  children,
22
42
  tokens
23
- }) => /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Typography, {
24
- tokens: selectTokens('Typography', tokens)
25
- }, children), /*#__PURE__*/React.createElement(View, {
26
- style: [staticStyles.absolute, selectAccentStyles(tokens)]
27
- }));
43
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
44
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Typography.default, {
45
+ tokens: (0, _utils.selectTokens)('Typography', tokens),
46
+ children: children
47
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
48
+ style: [staticStyles.absolute, selectAccentStyles(tokens)]
49
+ })]
50
+ });
28
51
 
29
52
  ItemContent.propTypes = {
30
- tokens: getTokensPropType('SideNavItem'),
31
- children: PropTypes.node
53
+ tokens: (0, _utils.getTokensPropType)('SideNavItem'),
54
+ children: _propTypes.default.node
32
55
  };
33
- const staticStyles = StyleSheet.create({
56
+
57
+ const staticStyles = _StyleSheet.default.create({
34
58
  absolute: {
35
59
  position: 'absolute'
36
60
  }
37
61
  });
38
- export default ItemContent;
62
+
63
+ var _default = ItemContent;
64
+ exports.default = _default;