@telus-uds/components-base 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (970) hide show
  1. package/CHANGELOG.md +1050 -3
  2. package/README.md +35 -0
  3. package/babel.config.cjs +35 -0
  4. package/{jest.config-android.js → jest.config-android.cjs} +1 -1
  5. package/{jest.config-ios.js → jest.config-ios.cjs} +1 -1
  6. package/{jest.config-web.js → jest.config-web.cjs} +1 -1
  7. package/jest.config.cjs +40 -0
  8. package/jest.setup.js +7 -0
  9. package/lib/A11yInfoProvider/index.js +33 -64
  10. package/lib/A11yText/index.js +29 -40
  11. package/lib/ActionCard/ActionCard.js +342 -0
  12. package/lib/ActionCard/index.js +2 -0
  13. package/lib/ActivityIndicator/Spinner.js +27 -42
  14. package/lib/ActivityIndicator/Spinner.native.js +37 -70
  15. package/lib/ActivityIndicator/index.js +17 -33
  16. package/lib/ActivityIndicator/shared.js +12 -26
  17. package/lib/Autocomplete/Autocomplete.js +478 -0
  18. package/lib/Autocomplete/Loading.js +35 -0
  19. package/lib/Autocomplete/Suggestions.js +64 -0
  20. package/lib/Autocomplete/constants.js +4 -0
  21. package/lib/Autocomplete/dictionary.js +12 -0
  22. package/lib/Autocomplete/index.js +2 -0
  23. package/lib/Badge/Badge.js +102 -0
  24. package/lib/Badge/index.js +2 -0
  25. package/lib/BaseProvider/HydrationContext.js +17 -43
  26. package/lib/BaseProvider/index.js +24 -41
  27. package/lib/Box/Box.js +191 -93
  28. package/lib/Box/backgroundImageStylesMap.js +94 -0
  29. package/lib/Box/index.js +2 -13
  30. package/lib/Button/Button.js +21 -33
  31. package/lib/Button/ButtonBase.js +143 -136
  32. package/lib/Button/ButtonDropdown.js +41 -75
  33. package/lib/Button/ButtonGroup.js +92 -110
  34. package/lib/Button/ButtonLink.js +25 -36
  35. package/lib/Button/index.js +5 -39
  36. package/lib/Button/propTypes.js +16 -40
  37. package/lib/Card/Card.js +266 -45
  38. package/lib/Card/CardBase.js +67 -40
  39. package/lib/Card/PressableCardBase.js +35 -67
  40. package/lib/Card/index.js +4 -40
  41. package/lib/CardGroup/CardGroup.js +210 -0
  42. package/lib/CardGroup/dictionary.js +8 -0
  43. package/lib/CardGroup/index.js +2 -0
  44. package/lib/Carousel/Carousel.js +476 -332
  45. package/lib/Carousel/CarouselContext.js +20 -42
  46. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +18 -39
  47. package/lib/Carousel/CarouselItem/CarouselItem.js +106 -58
  48. package/lib/Carousel/CarouselItem/index.js +2 -13
  49. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +21 -32
  50. package/lib/Carousel/CarouselStepTracker/index.js +2 -13
  51. package/lib/Carousel/CarouselTabs/CarouselTabs.js +17 -36
  52. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +36 -51
  53. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +25 -55
  54. package/lib/Carousel/CarouselTabs/index.js +2 -13
  55. package/lib/Carousel/CarouselThumbnail.js +76 -62
  56. package/lib/Carousel/CarouselThumbnailNavigation.js +31 -47
  57. package/lib/Carousel/dictionary.js +13 -16
  58. package/lib/Carousel/index.js +3 -41
  59. package/lib/Checkbox/Checkbox.js +64 -107
  60. package/lib/Checkbox/CheckboxButton.js +163 -0
  61. package/lib/Checkbox/CheckboxGroup.js +64 -90
  62. package/lib/Checkbox/CheckboxInput.js +16 -42
  63. package/lib/Checkbox/CheckboxInput.native.js +1 -10
  64. package/lib/Checkbox/index.js +3 -21
  65. package/{lib-module/RadioCard/RadioCard.js → lib/CheckboxCard/CheckboxCard.js} +43 -88
  66. package/lib/CheckboxCard/index.js +2 -0
  67. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +206 -0
  68. package/lib/CheckboxCardGroup/index.js +2 -0
  69. package/lib/ColourToggle/ColourBubble.js +126 -0
  70. package/lib/ColourToggle/ColourToggle.js +91 -0
  71. package/lib/ColourToggle/index.js +2 -0
  72. package/lib/Divider/Divider.js +37 -54
  73. package/lib/Divider/index.js +2 -13
  74. package/lib/DownloadApp/DownloadApp.js +160 -0
  75. package/lib/DownloadApp/dictionary.js +10 -0
  76. package/lib/DownloadApp/index.js +2 -0
  77. package/lib/ExpandCollapse/Accordion.js +6 -22
  78. package/lib/ExpandCollapse/Control.js +72 -67
  79. package/lib/ExpandCollapse/ExpandCollapse.js +39 -56
  80. package/lib/ExpandCollapse/Panel.js +144 -86
  81. package/lib/ExpandCollapse/dictionary.js +10 -0
  82. package/lib/ExpandCollapse/index.js +7 -25
  83. package/lib/Feedback/Feedback.js +41 -69
  84. package/lib/Feedback/index.js +2 -13
  85. package/lib/Fieldset/Fieldset.js +81 -90
  86. package/lib/Fieldset/FieldsetContainer.js +26 -33
  87. package/lib/Fieldset/FieldsetContainer.native.js +18 -27
  88. package/lib/Fieldset/Legend.js +9 -26
  89. package/lib/Fieldset/Legend.native.js +10 -30
  90. package/lib/Fieldset/cssReset.js +2 -9
  91. package/lib/Fieldset/index.js +2 -13
  92. package/lib/FileUpload/FileUpload.js +328 -0
  93. package/lib/FileUpload/NotificationContent.js +54 -0
  94. package/lib/FileUpload/dictionary.js +40 -0
  95. package/lib/FileUpload/index.js +2 -0
  96. package/lib/FlexGrid/Col/Col.js +104 -148
  97. package/lib/FlexGrid/Col/index.js +2 -13
  98. package/lib/FlexGrid/FlexGrid.js +92 -110
  99. package/lib/FlexGrid/Row/Row.js +82 -108
  100. package/lib/FlexGrid/Row/index.js +2 -13
  101. package/lib/FlexGrid/helpers/index.js +1 -12
  102. package/lib/FlexGrid/index.js +2 -13
  103. package/lib/FlexGrid/providers/GutterContext.js +3 -15
  104. package/lib/Footnote/Footnote.js +316 -0
  105. package/lib/Footnote/FootnoteLink.js +107 -0
  106. package/lib/Footnote/dictionary.js +12 -0
  107. package/lib/Footnote/index.js +4 -0
  108. package/lib/HorizontalScroll/HorizontalScroll.js +48 -87
  109. package/lib/HorizontalScroll/HorizontalScrollButton.js +26 -52
  110. package/lib/HorizontalScroll/ScrollViewEnd.js +17 -38
  111. package/lib/HorizontalScroll/ScrollViewEnd.native.js +8 -26
  112. package/lib/HorizontalScroll/dictionary.js +2 -9
  113. package/lib/HorizontalScroll/index.js +11 -35
  114. package/lib/HorizontalScroll/itemPositions.js +25 -46
  115. package/lib/Icon/Icon.js +59 -48
  116. package/lib/Icon/IconText.js +59 -55
  117. package/lib/Icon/index.js +4 -31
  118. package/lib/IconButton/IconButton.js +127 -85
  119. package/lib/IconButton/index.js +2 -13
  120. package/lib/InputLabel/InputLabel.js +42 -76
  121. package/lib/InputLabel/LabelContent.js +10 -26
  122. package/lib/InputLabel/LabelContent.native.js +8 -27
  123. package/lib/InputLabel/index.js +2 -13
  124. package/lib/InputSupports/InputSupports.js +39 -56
  125. package/lib/InputSupports/index.js +2 -13
  126. package/lib/InputSupports/useInputSupports.js +7 -19
  127. package/lib/Link/ChevronLink.js +35 -38
  128. package/lib/Link/InlinePressable.js +14 -29
  129. package/lib/Link/InlinePressable.native.js +20 -40
  130. package/lib/Link/Link.js +9 -27
  131. package/lib/Link/LinkBase.js +96 -103
  132. package/lib/Link/TextButton.js +19 -29
  133. package/lib/Link/index.js +5 -39
  134. package/lib/List/List.js +39 -50
  135. package/lib/List/ListItem.js +13 -37
  136. package/lib/List/ListItemBase.js +72 -70
  137. package/lib/List/ListItemContent.js +36 -48
  138. package/lib/List/ListItemMark.js +42 -75
  139. package/lib/List/PressableListItemBase.js +35 -69
  140. package/lib/List/index.js +5 -28
  141. package/lib/Listbox/GroupControl.js +105 -0
  142. package/lib/Listbox/Listbox.js +171 -0
  143. package/lib/Listbox/ListboxContext.js +4 -0
  144. package/lib/Listbox/ListboxGroup.js +125 -0
  145. package/lib/Listbox/ListboxItem.js +76 -0
  146. package/lib/Listbox/ListboxOverlay.js +77 -0
  147. package/lib/Listbox/PressableItem.js +139 -0
  148. package/lib/Listbox/index.js +2 -0
  149. package/lib/Modal/Modal.js +212 -96
  150. package/lib/Modal/ModalContent.js +179 -0
  151. package/lib/Modal/WebModal.js +76 -0
  152. package/lib/Modal/dictionary.js +2 -9
  153. package/lib/Modal/index.js +2 -13
  154. package/lib/MultiSelectFilter/ModalOverlay.js +114 -95
  155. package/lib/MultiSelectFilter/MultiSelectFilter.js +380 -170
  156. package/lib/MultiSelectFilter/dictionary.js +2 -9
  157. package/lib/MultiSelectFilter/index.js +2 -13
  158. package/lib/Notification/Notification.js +290 -116
  159. package/lib/Notification/dictionary.js +2 -9
  160. package/lib/Notification/index.js +2 -13
  161. package/lib/OrderedList/Item.js +159 -0
  162. package/lib/OrderedList/ItemBase.js +43 -0
  163. package/lib/OrderedList/OrderedList.js +64 -0
  164. package/lib/OrderedList/OrderedListBase.js +36 -0
  165. package/lib/OrderedList/index.js +2 -0
  166. package/lib/Pagination/PageButton.js +38 -57
  167. package/lib/Pagination/Pagination.js +124 -95
  168. package/lib/Pagination/SideButton.js +25 -58
  169. package/lib/Pagination/constants.js +3 -0
  170. package/lib/Pagination/dictionary.js +5 -12
  171. package/lib/Pagination/index.js +2 -13
  172. package/lib/Pagination/usePagination.js +20 -23
  173. package/lib/Portal/Portal.js +50 -0
  174. package/lib/Portal/Portal.native.js +2 -0
  175. package/lib/Portal/index.js +2 -0
  176. package/lib/PriceLockup/PriceLockup.js +223 -0
  177. package/lib/PriceLockup/index.js +2 -0
  178. package/lib/PriceLockup/utils/renderFootnoteContent.js +85 -0
  179. package/lib/PriceLockup/utils/renderFootnoteLinks.js +28 -0
  180. package/lib/PriceLockup/utils/renderPrice.js +139 -0
  181. package/lib/PriceLockup/utils/renderTypography.js +23 -0
  182. package/lib/ProductCard/ProductCard.js +231 -0
  183. package/lib/ProductCard/dictionary.js +38 -0
  184. package/lib/ProductCard/index.js +2 -0
  185. package/lib/ProductCardGroup/ProductCardGroup.js +70 -0
  186. package/lib/ProductCardGroup/index.js +2 -0
  187. package/lib/Progress/Progress.js +22 -43
  188. package/lib/Progress/ProgressBar.js +31 -60
  189. package/lib/Progress/ProgressBarBackground.js +13 -35
  190. package/lib/Progress/index.js +4 -16
  191. package/lib/QuickLinks/QuickLinks.js +31 -44
  192. package/lib/QuickLinks/QuickLinksCard.js +16 -30
  193. package/lib/QuickLinks/QuickLinksItem.js +22 -44
  194. package/lib/QuickLinks/index.js +4 -16
  195. package/lib/QuickLinksFeature/QuickLinksFeature.js +25 -47
  196. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +88 -99
  197. package/lib/QuickLinksFeature/index.js +4 -16
  198. package/lib/Radio/Radio.js +63 -95
  199. package/lib/Radio/RadioButton.js +94 -76
  200. package/lib/Radio/RadioGroup.js +70 -94
  201. package/lib/Radio/RadioInput.js +18 -46
  202. package/lib/Radio/RadioInput.native.js +1 -10
  203. package/lib/Radio/index.js +3 -21
  204. package/lib/RadioCard/RadioCard.js +47 -90
  205. package/lib/RadioCard/RadioCardGroup.js +66 -91
  206. package/lib/RadioCard/index.js +3 -21
  207. package/lib/Responsive/Responsive.js +48 -41
  208. package/{lib-module/Responsive/Responsive.js → lib/Responsive/ResponsiveProp.js} +13 -20
  209. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +68 -0
  210. package/lib/Responsive/index.js +2 -13
  211. package/lib/Search/Search.js +73 -96
  212. package/lib/Search/dictionary.js +2 -9
  213. package/lib/Search/index.js +2 -13
  214. package/lib/Select/Group.js +15 -25
  215. package/lib/Select/Group.native.js +8 -18
  216. package/lib/Select/Item.js +14 -23
  217. package/lib/Select/Item.native.js +1 -10
  218. package/lib/Select/Picker.js +71 -60
  219. package/lib/Select/Picker.native.js +40 -65
  220. package/lib/Select/Select.js +70 -109
  221. package/lib/Select/constants.js +4 -14
  222. package/lib/Select/index.js +6 -19
  223. package/lib/SideNav/Item.js +41 -65
  224. package/lib/SideNav/ItemContent.js +22 -41
  225. package/lib/SideNav/ItemsGroup.js +43 -60
  226. package/lib/SideNav/SideNav.js +42 -68
  227. package/lib/SideNav/index.js +1 -15
  228. package/lib/Skeleton/Skeleton.js +54 -86
  229. package/lib/Skeleton/index.js +2 -13
  230. package/lib/Skeleton/skeleton.constant.js +2 -12
  231. package/lib/Skeleton/skeletonWebAnimation.js +12 -25
  232. package/lib/Skeleton/useSkeletonNativeAnimation.js +22 -33
  233. package/lib/SkipLink/SkipLink.js +48 -75
  234. package/lib/SkipLink/index.js +2 -13
  235. package/lib/Spacer/Spacer.js +17 -41
  236. package/lib/Spacer/index.js +2 -13
  237. package/lib/StackView/StackView.js +34 -59
  238. package/lib/StackView/StackWrap.js +23 -44
  239. package/lib/StackView/StackWrap.native.js +2 -12
  240. package/lib/StackView/StackWrapBox.js +32 -58
  241. package/lib/StackView/StackWrapGap.js +22 -45
  242. package/lib/StackView/common.js +4 -19
  243. package/lib/StackView/getStackedContent.js +21 -41
  244. package/lib/StackView/index.js +5 -29
  245. package/lib/Status/Status.js +165 -0
  246. package/lib/Status/index.js +2 -0
  247. package/lib/StepTracker/Step.js +70 -79
  248. package/lib/StepTracker/StepTracker.js +67 -79
  249. package/lib/StepTracker/dictionary.js +26 -13
  250. package/lib/StepTracker/index.js +2 -13
  251. package/lib/TabBar/TabBar.js +125 -0
  252. package/lib/TabBar/TabBarItem.js +175 -0
  253. package/lib/TabBar/index.js +2 -0
  254. package/lib/Tabs/Tabs.js +75 -71
  255. package/lib/Tabs/TabsItem.js +70 -91
  256. package/lib/Tabs/index.js +2 -13
  257. package/lib/Tags/Tags.js +59 -97
  258. package/lib/Tags/index.js +2 -13
  259. package/lib/TextInput/TextArea.js +27 -46
  260. package/lib/TextInput/TextInput.js +38 -54
  261. package/lib/TextInput/TextInputBase.js +210 -137
  262. package/lib/TextInput/dictionary.js +8 -11
  263. package/lib/TextInput/index.js +3 -23
  264. package/lib/TextInput/propTypes.js +11 -21
  265. package/lib/ThemeProvider/ThemeProvider.js +40 -52
  266. package/lib/ThemeProvider/index.js +7 -61
  267. package/lib/ThemeProvider/useResponsiveThemeTokens.js +81 -0
  268. package/lib/ThemeProvider/useSetTheme.js +10 -20
  269. package/lib/ThemeProvider/useTheme.js +5 -17
  270. package/lib/ThemeProvider/useThemeTokens.js +16 -33
  271. package/lib/ThemeProvider/utils/index.js +2 -31
  272. package/lib/ThemeProvider/utils/styles.js +48 -60
  273. package/lib/ThemeProvider/utils/theme-tokens.js +37 -78
  274. package/lib/Timeline/Timeline.js +39 -63
  275. package/lib/Timeline/index.js +2 -13
  276. package/lib/ToggleSwitch/ToggleSwitch.js +105 -108
  277. package/lib/ToggleSwitch/ToggleSwitchGroup.js +47 -91
  278. package/lib/ToggleSwitch/index.js +3 -23
  279. package/lib/Tooltip/Backdrop.js +22 -29
  280. package/lib/Tooltip/Backdrop.native.js +14 -33
  281. package/lib/Tooltip/Tooltip.js +65 -92
  282. package/lib/Tooltip/Tooltip.native.js +107 -110
  283. package/lib/Tooltip/dictionary.js +2 -9
  284. package/lib/Tooltip/getTooltipPosition.js +35 -49
  285. package/lib/Tooltip/index.js +5 -18
  286. package/lib/Tooltip/shared.js +26 -24
  287. package/lib/TooltipButton/TooltipButton.js +48 -53
  288. package/lib/TooltipButton/index.js +2 -13
  289. package/lib/Typography/Typography.js +164 -87
  290. package/lib/Typography/index.js +2 -13
  291. package/lib/Validator/Validator.js +222 -0
  292. package/lib/Validator/index.js +2 -0
  293. package/lib/ViewportProvider/ViewportProvider.js +11 -31
  294. package/lib/ViewportProvider/index.js +3 -28
  295. package/lib/ViewportProvider/useViewport.js +3 -15
  296. package/lib/ViewportProvider/useViewportListener.js +13 -29
  297. package/lib/index.js +71 -681
  298. package/lib/server.js +4 -0
  299. package/lib/utils/BaseView/BaseView.js +14 -36
  300. package/lib/utils/BaseView/BaseView.native.js +2 -13
  301. package/lib/utils/BaseView/index.js +2 -13
  302. package/lib/utils/a11y/index.js +2 -31
  303. package/lib/utils/a11y/semantics.js +18 -60
  304. package/lib/utils/a11y/textSize.js +8 -24
  305. package/lib/utils/animation/index.js +2 -15
  306. package/lib/utils/animation/useVerticalExpandAnimation.js +27 -47
  307. package/lib/utils/children.js +25 -47
  308. package/lib/utils/containUniqueFields.js +3 -13
  309. package/lib/utils/convertFromMegaByteToByte.js +10 -0
  310. package/lib/utils/floating-ui/index.js +1 -43
  311. package/lib/utils/floating-ui/index.native.js +1 -43
  312. package/lib/utils/formatImageSource.js +27 -0
  313. package/lib/utils/hasOwnProperty.js +1 -8
  314. package/lib/utils/htmlAttrs.js +23 -0
  315. package/lib/utils/index.js +25 -222
  316. package/lib/utils/info/index.js +6 -17
  317. package/lib/utils/info/platform/index.js +8 -17
  318. package/lib/utils/info/platform/platform.android.js +1 -8
  319. package/lib/utils/info/platform/platform.ios.js +1 -8
  320. package/lib/utils/info/platform/platform.js +1 -8
  321. package/lib/utils/info/platform/platform.native.js +1 -8
  322. package/lib/utils/info/versions.js +4 -14
  323. package/lib/utils/input.js +38 -52
  324. package/lib/utils/pressability.js +18 -40
  325. package/lib/utils/props/a11yProps.js +105 -119
  326. package/lib/utils/props/clickProps.js +4 -16
  327. package/lib/utils/props/componentPropType.js +4 -24
  328. package/lib/utils/props/copyPropTypes.js +2 -14
  329. package/lib/utils/props/getPropSelector.js +15 -21
  330. package/lib/utils/props/handlerProps.js +28 -52
  331. package/lib/utils/props/hrefAttrsProp.js +6 -17
  332. package/lib/utils/props/index.js +19 -190
  333. package/lib/utils/props/inputSupportsProps.js +22 -27
  334. package/lib/utils/props/linkProps.js +17 -35
  335. package/lib/utils/props/paddingProp.js +8 -19
  336. package/lib/utils/props/pressProps.js +23 -38
  337. package/lib/utils/props/rectProp.js +8 -19
  338. package/lib/utils/props/responsiveProps.js +6 -18
  339. package/lib/utils/props/selectSystemProps.js +7 -15
  340. package/lib/utils/props/spacingProps.js +13 -27
  341. package/lib/utils/props/textInputProps.js +64 -90
  342. package/lib/utils/props/textProps.js +23 -34
  343. package/lib/utils/props/tokens.js +26 -55
  344. package/lib/utils/props/variantProp.js +4 -14
  345. package/lib/utils/props/viewProps.js +10 -23
  346. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +48 -0
  347. package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +2 -0
  348. package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -0
  349. package/lib/utils/ssr-media-query/create-stylesheet/index.js +36 -0
  350. package/lib/utils/ssr-media-query/hash.js +13 -0
  351. package/lib/utils/ssr-media-query/index.js +6 -0
  352. package/lib/utils/ssr-media-query/utils/common.js +33 -0
  353. package/lib/utils/ssr-media-query/utils/create-declaration-block.js +16 -0
  354. package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +60 -0
  355. package/lib/utils/ssr-media-query/utils/hyphenate-style-name.js +12 -0
  356. package/lib/utils/ssr-media-query/utils/inject.js +39 -0
  357. package/lib/utils/ssr.js +27 -55
  358. package/lib/utils/transformGradient.js +15 -0
  359. package/lib/utils/useCopy.js +4 -15
  360. package/lib/utils/useHash.js +11 -23
  361. package/lib/utils/useHash.native.js +1 -10
  362. package/lib/utils/useOverlaidPosition.js +214 -0
  363. package/lib/utils/useResponsiveProp.js +13 -29
  364. package/lib/utils/useSafeLayoutEffect.js +10 -22
  365. package/lib/utils/useScrollBlocking.js +13 -28
  366. package/lib/utils/useScrollBlocking.native.js +1 -10
  367. package/lib/utils/useSpacingScale.js +12 -24
  368. package/lib/utils/useUniqueId.js +4 -15
  369. package/lib/utils/withLinkRouter.js +23 -36
  370. package/package.json +32 -22
  371. package/src/A11yInfoProvider/index.jsx +13 -20
  372. package/src/A11yText/index.jsx +14 -4
  373. package/src/ActionCard/ActionCard.jsx +306 -0
  374. package/src/ActionCard/index.js +3 -0
  375. package/src/ActivityIndicator/Spinner.jsx +3 -2
  376. package/src/ActivityIndicator/Spinner.native.jsx +2 -2
  377. package/src/ActivityIndicator/index.jsx +12 -3
  378. package/src/Autocomplete/Autocomplete.jsx +486 -0
  379. package/src/Autocomplete/Loading.jsx +21 -0
  380. package/src/Autocomplete/Suggestions.jsx +54 -0
  381. package/src/Autocomplete/constants.js +4 -0
  382. package/src/Autocomplete/dictionary.js +12 -0
  383. package/src/Autocomplete/index.js +3 -0
  384. package/src/Badge/Badge.jsx +76 -0
  385. package/src/Badge/index.js +3 -0
  386. package/src/BaseProvider/HydrationContext.jsx +5 -5
  387. package/src/BaseProvider/index.jsx +5 -2
  388. package/src/Box/Box.jsx +162 -20
  389. package/src/Box/backgroundImageStylesMap.js +21 -0
  390. package/src/Button/Button.jsx +12 -7
  391. package/src/Button/ButtonBase.jsx +76 -35
  392. package/src/Button/ButtonDropdown.jsx +5 -2
  393. package/src/Button/ButtonGroup.jsx +20 -3
  394. package/src/Button/ButtonLink.jsx +10 -4
  395. package/src/Card/Card.jsx +269 -17
  396. package/src/Card/CardBase.jsx +79 -28
  397. package/src/Card/PressableCardBase.jsx +21 -5
  398. package/src/CardGroup/CardGroup.jsx +249 -0
  399. package/src/CardGroup/dictionary.js +8 -0
  400. package/src/CardGroup/index.js +3 -0
  401. package/src/Carousel/Carousel.jsx +406 -117
  402. package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
  403. package/src/Carousel/CarouselItem/CarouselItem.jsx +99 -18
  404. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +15 -5
  405. package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
  406. package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +22 -12
  407. package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
  408. package/src/Carousel/CarouselThumbnail.jsx +45 -27
  409. package/src/Carousel/CarouselThumbnailNavigation.jsx +11 -7
  410. package/src/Carousel/dictionary.js +11 -7
  411. package/src/Checkbox/Checkbox.jsx +8 -4
  412. package/src/Checkbox/CheckboxButton.jsx +178 -0
  413. package/src/Checkbox/CheckboxGroup.jsx +24 -4
  414. package/src/Checkbox/CheckboxInput.jsx +15 -12
  415. package/src/CheckboxCard/CheckboxCard.jsx +190 -0
  416. package/src/CheckboxCard/index.js +3 -0
  417. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +231 -0
  418. package/src/CheckboxCardGroup/index.js +3 -0
  419. package/src/ColourToggle/ColourBubble.jsx +112 -0
  420. package/src/ColourToggle/ColourToggle.jsx +83 -0
  421. package/src/ColourToggle/index.js +3 -0
  422. package/src/Divider/Divider.jsx +5 -2
  423. package/src/DownloadApp/DownloadApp.jsx +165 -0
  424. package/src/DownloadApp/dictionary.js +10 -0
  425. package/src/DownloadApp/index.js +3 -0
  426. package/src/ExpandCollapse/Accordion.jsx +4 -2
  427. package/src/ExpandCollapse/Control.jsx +44 -14
  428. package/src/ExpandCollapse/ExpandCollapse.jsx +15 -7
  429. package/src/ExpandCollapse/Panel.jsx +119 -24
  430. package/src/ExpandCollapse/dictionary.js +10 -0
  431. package/src/Feedback/Feedback.jsx +3 -4
  432. package/src/Fieldset/Fieldset.jsx +47 -23
  433. package/src/Fieldset/FieldsetContainer.jsx +15 -7
  434. package/src/Fieldset/FieldsetContainer.native.jsx +15 -7
  435. package/src/Fieldset/Legend.jsx +2 -2
  436. package/src/Fieldset/Legend.native.jsx +2 -2
  437. package/src/FileUpload/FileUpload.jsx +396 -0
  438. package/src/FileUpload/NotificationContent.jsx +44 -0
  439. package/src/FileUpload/dictionary.js +40 -0
  440. package/src/FileUpload/index.js +3 -0
  441. package/src/FlexGrid/Col/Col.jsx +76 -79
  442. package/src/FlexGrid/FlexGrid.jsx +62 -43
  443. package/src/FlexGrid/Row/Row.jsx +60 -54
  444. package/src/Footnote/Footnote.jsx +326 -0
  445. package/src/Footnote/FootnoteLink.jsx +110 -0
  446. package/src/Footnote/dictionary.js +12 -0
  447. package/src/Footnote/index.js +6 -0
  448. package/src/HorizontalScroll/HorizontalScroll.jsx +8 -8
  449. package/src/HorizontalScroll/HorizontalScrollButton.jsx +2 -2
  450. package/src/HorizontalScroll/ScrollViewEnd.jsx +4 -8
  451. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +2 -2
  452. package/src/Icon/Icon.jsx +53 -6
  453. package/src/Icon/IconText.jsx +46 -14
  454. package/src/IconButton/IconButton.jsx +116 -20
  455. package/src/InputLabel/InputLabel.jsx +8 -6
  456. package/src/InputLabel/LabelContent.jsx +2 -2
  457. package/src/InputLabel/LabelContent.native.jsx +2 -2
  458. package/src/InputSupports/InputSupports.jsx +22 -3
  459. package/src/Link/ChevronLink.jsx +24 -7
  460. package/src/Link/InlinePressable.jsx +23 -15
  461. package/src/Link/InlinePressable.native.jsx +12 -6
  462. package/src/Link/Link.jsx +2 -2
  463. package/src/Link/LinkBase.jsx +75 -31
  464. package/src/Link/TextButton.jsx +11 -4
  465. package/src/List/List.jsx +26 -8
  466. package/src/List/ListItem.jsx +3 -5
  467. package/src/List/ListItemBase.jsx +38 -9
  468. package/src/List/ListItemContent.jsx +24 -6
  469. package/src/List/ListItemMark.jsx +14 -13
  470. package/src/List/PressableListItemBase.jsx +4 -2
  471. package/src/Listbox/GroupControl.jsx +101 -0
  472. package/src/Listbox/Listbox.jsx +177 -0
  473. package/src/Listbox/ListboxContext.js +6 -0
  474. package/src/Listbox/ListboxGroup.jsx +127 -0
  475. package/src/Listbox/ListboxItem.jsx +87 -0
  476. package/src/Listbox/ListboxOverlay.jsx +81 -0
  477. package/src/Listbox/PressableItem.jsx +138 -0
  478. package/src/Listbox/index.js +3 -0
  479. package/src/Modal/Modal.jsx +190 -16
  480. package/src/Modal/ModalContent.jsx +180 -0
  481. package/src/Modal/WebModal.jsx +70 -0
  482. package/src/MultiSelectFilter/ModalOverlay.jsx +103 -30
  483. package/src/MultiSelectFilter/MultiSelectFilter.jsx +326 -68
  484. package/src/Notification/Notification.jsx +273 -49
  485. package/src/OrderedList/Item.jsx +147 -0
  486. package/src/OrderedList/ItemBase.jsx +43 -0
  487. package/src/OrderedList/OrderedList.jsx +64 -0
  488. package/src/OrderedList/OrderedListBase.jsx +33 -0
  489. package/src/OrderedList/index.js +3 -0
  490. package/src/Pagination/PageButton.jsx +14 -5
  491. package/src/Pagination/Pagination.jsx +83 -17
  492. package/src/Pagination/SideButton.jsx +2 -2
  493. package/src/Pagination/constants.js +3 -0
  494. package/src/Pagination/dictionary.js +3 -3
  495. package/src/Pagination/usePagination.js +14 -3
  496. package/src/Portal/Portal.jsx +52 -0
  497. package/src/Portal/Portal.native.jsx +3 -0
  498. package/src/Portal/index.js +3 -0
  499. package/src/PriceLockup/PriceLockup.jsx +237 -0
  500. package/src/PriceLockup/index.js +3 -0
  501. package/src/PriceLockup/utils/renderFootnoteContent.jsx +77 -0
  502. package/src/PriceLockup/utils/renderFootnoteLinks.jsx +38 -0
  503. package/src/PriceLockup/utils/renderPrice.jsx +201 -0
  504. package/src/PriceLockup/utils/renderTypography.jsx +13 -0
  505. package/src/ProductCard/ProductCard.jsx +199 -0
  506. package/src/ProductCard/dictionary.js +38 -0
  507. package/src/ProductCard/index.js +3 -0
  508. package/src/ProductCardGroup/ProductCardGroup.jsx +75 -0
  509. package/src/ProductCardGroup/index.js +3 -0
  510. package/src/Progress/Progress.jsx +8 -5
  511. package/src/Progress/ProgressBar.jsx +6 -4
  512. package/src/Progress/ProgressBarBackground.jsx +6 -4
  513. package/src/QuickLinks/QuickLinks.jsx +11 -2
  514. package/src/QuickLinks/QuickLinksCard.jsx +9 -3
  515. package/src/QuickLinks/QuickLinksItem.jsx +2 -2
  516. package/src/QuickLinksFeature/QuickLinksFeature.jsx +31 -27
  517. package/src/QuickLinksFeature/QuickLinksFeatureItem.jsx +43 -36
  518. package/src/Radio/Radio.jsx +24 -6
  519. package/src/Radio/RadioButton.jsx +58 -6
  520. package/src/Radio/RadioGroup.jsx +27 -5
  521. package/src/Radio/RadioInput.jsx +15 -14
  522. package/src/RadioCard/RadioCard.jsx +2 -2
  523. package/src/RadioCard/RadioCardGroup.jsx +25 -4
  524. package/src/Responsive/Responsive.jsx +43 -13
  525. package/src/Responsive/ResponsiveProp.jsx +33 -0
  526. package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +67 -0
  527. package/src/Search/Search.jsx +10 -5
  528. package/src/Select/Group.jsx +12 -3
  529. package/src/Select/Group.native.jsx +3 -0
  530. package/src/Select/Item.jsx +10 -1
  531. package/src/Select/Picker.jsx +32 -5
  532. package/src/Select/Picker.native.jsx +3 -3
  533. package/src/Select/Select.jsx +27 -10
  534. package/src/SideNav/Item.jsx +12 -7
  535. package/src/SideNav/ItemContent.jsx +14 -6
  536. package/src/SideNav/ItemsGroup.jsx +15 -4
  537. package/src/SideNav/SideNav.jsx +11 -3
  538. package/src/Skeleton/Skeleton.jsx +19 -7
  539. package/src/Skeleton/skeleton.constant.js +0 -1
  540. package/src/Skeleton/skeletonWebAnimation.js +11 -11
  541. package/src/Skeleton/useSkeletonNativeAnimation.js +5 -4
  542. package/src/SkipLink/SkipLink.jsx +14 -14
  543. package/src/Spacer/Spacer.jsx +2 -2
  544. package/src/StackView/StackView.jsx +5 -4
  545. package/src/StackView/StackWrap.jsx +3 -3
  546. package/src/StackView/StackWrapBox.jsx +2 -2
  547. package/src/StackView/StackWrapGap.jsx +2 -2
  548. package/src/StackView/getStackedContent.jsx +16 -7
  549. package/src/Status/Status.jsx +153 -0
  550. package/src/Status/index.js +3 -0
  551. package/src/StepTracker/Step.jsx +102 -70
  552. package/src/StepTracker/StepTracker.jsx +28 -6
  553. package/src/StepTracker/dictionary.js +24 -4
  554. package/src/TabBar/TabBar.jsx +123 -0
  555. package/src/TabBar/TabBarItem.jsx +149 -0
  556. package/src/TabBar/index.js +3 -0
  557. package/src/Tabs/Tabs.jsx +37 -5
  558. package/src/Tabs/TabsItem.jsx +19 -7
  559. package/src/Tags/Tags.jsx +7 -3
  560. package/src/TextInput/TextArea.jsx +3 -3
  561. package/src/TextInput/TextInput.jsx +11 -7
  562. package/src/TextInput/TextInputBase.jsx +145 -29
  563. package/src/TextInput/dictionary.js +6 -2
  564. package/src/TextInput/propTypes.js +4 -0
  565. package/src/ThemeProvider/ThemeProvider.jsx +17 -7
  566. package/src/ThemeProvider/index.js +1 -0
  567. package/src/ThemeProvider/useResponsiveThemeTokens.js +85 -0
  568. package/src/ThemeProvider/utils/styles.js +34 -2
  569. package/src/Timeline/Timeline.jsx +10 -6
  570. package/src/ToggleSwitch/ToggleSwitch.jsx +28 -11
  571. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
  572. package/src/Tooltip/Tooltip.jsx +38 -9
  573. package/src/Tooltip/Tooltip.native.jsx +82 -20
  574. package/src/Tooltip/getTooltipPosition.js +12 -13
  575. package/src/Tooltip/shared.js +17 -0
  576. package/src/TooltipButton/TooltipButton.jsx +34 -8
  577. package/src/Typography/Typography.jsx +173 -29
  578. package/src/Validator/Validator.jsx +230 -0
  579. package/src/Validator/index.js +3 -0
  580. package/src/ViewportProvider/ViewportProvider.jsx +2 -2
  581. package/src/index.js +31 -12
  582. package/src/server.js +4 -0
  583. package/src/utils/BaseView/BaseView.jsx +2 -2
  584. package/src/utils/a11y/semantics.js +7 -14
  585. package/src/utils/animation/useVerticalExpandAnimation.js +3 -3
  586. package/src/utils/children.jsx +4 -4
  587. package/src/utils/convertFromMegaByteToByte.js +11 -0
  588. package/src/utils/formatImageSource.js +29 -0
  589. package/src/utils/htmlAttrs.js +29 -0
  590. package/src/utils/index.js +6 -1
  591. package/src/utils/props/handlerProps.js +5 -1
  592. package/src/utils/props/inputSupportsProps.js +21 -1
  593. package/src/utils/props/textInputProps.js +1 -0
  594. package/src/utils/props/tokens.js +4 -2
  595. package/src/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +41 -0
  596. package/src/utils/ssr-media-query/create-stylesheet/index.android.js +3 -0
  597. package/src/utils/ssr-media-query/create-stylesheet/index.ios.js +3 -0
  598. package/src/utils/ssr-media-query/create-stylesheet/index.js +35 -0
  599. package/src/utils/ssr-media-query/hash.js +16 -0
  600. package/src/utils/ssr-media-query/index.js +8 -0
  601. package/src/utils/ssr-media-query/utils/common.js +38 -0
  602. package/src/utils/ssr-media-query/utils/create-declaration-block.js +21 -0
  603. package/src/utils/ssr-media-query/utils/create-media-query-styles.js +46 -0
  604. package/src/utils/ssr-media-query/utils/hyphenate-style-name.js +15 -0
  605. package/src/utils/ssr-media-query/utils/inject.js +43 -0
  606. package/src/utils/ssr.jsx +3 -1
  607. package/src/utils/transformGradient.js +17 -0
  608. package/src/utils/useOverlaidPosition.js +224 -0
  609. package/src/utils/withLinkRouter.jsx +3 -3
  610. package/types/Badge.d.ts +28 -0
  611. package/types/Box.d.ts +52 -0
  612. package/types/Checkbox.d.ts +47 -0
  613. package/types/CheckboxCardGroup.d.ts +72 -0
  614. package/types/ChevronLink.d.ts +47 -0
  615. package/types/Common.d.ts +106 -0
  616. package/types/Divider.d.ts +19 -0
  617. package/types/ExpandCollapse.d.ts +65 -0
  618. package/types/FileUpload.d.ts +40 -0
  619. package/types/HorizontalScrollButton.d.ts +16 -0
  620. package/types/Icon.d.ts +21 -0
  621. package/types/Link.d.ts +48 -0
  622. package/types/List.d.ts +48 -0
  623. package/types/Portal.d.ts +5 -0
  624. package/types/Search.d.ts +38 -0
  625. package/types/Select.d.ts +57 -0
  626. package/types/Spacer.d.ts +5 -0
  627. package/types/StackView.d.ts +28 -0
  628. package/types/Tabs.d.ts +46 -0
  629. package/types/TextButton.d.ts +11 -0
  630. package/types/ToggleSwitch.d.ts +54 -0
  631. package/types/ToolTip.d.ts +40 -0
  632. package/types/Typography.d.ts +40 -0
  633. package/types/index.d.ts +78 -0
  634. package/.eslintrc.js +0 -9
  635. package/__tests17__/A11yText/A11yText.test.jsx +0 -34
  636. package/__tests17__/ActivityIndicator/ActivityIndicator.test.jsx +0 -68
  637. package/__tests17__/ActivityIndicator/__snapshots__/ActivityIndicator.test.jsx.snap +0 -299
  638. package/__tests17__/Box/Box.test.jsx +0 -111
  639. package/__tests17__/Button/Button.test.jsx +0 -86
  640. package/__tests17__/Button/ButtonBase.test.jsx +0 -82
  641. package/__tests17__/Button/ButtonGroup.test.jsx +0 -347
  642. package/__tests17__/Button/ButtonLink.test.jsx +0 -61
  643. package/__tests17__/Card/Card.test.jsx +0 -63
  644. package/__tests17__/Carousel/Carousel.test.jsx +0 -128
  645. package/__tests17__/Carousel/CarouselTabs.test.jsx +0 -142
  646. package/__tests17__/Checkbox/Checkbox.test.jsx +0 -94
  647. package/__tests17__/Checkbox/CheckboxGroup.test.jsx +0 -246
  648. package/__tests17__/Divider/Divider.test.jsx +0 -91
  649. package/__tests17__/ExpandCollapse/ExpandCollapse.test.jsx +0 -109
  650. package/__tests17__/Feedback/Feedback.test.jsx +0 -42
  651. package/__tests17__/FlexGrid/Col.test.jsx +0 -261
  652. package/__tests17__/FlexGrid/FlexGrid.test.jsx +0 -136
  653. package/__tests17__/FlexGrid/Row.test.jsx +0 -273
  654. package/__tests17__/HorizontalScroll/HorizontalScroll.test.jsx +0 -165
  655. package/__tests17__/Icon/Icon.test.jsx +0 -61
  656. package/__tests17__/IconButton/IconButton.test.jsx +0 -52
  657. package/__tests17__/InputLabel/InputLabel.test.jsx +0 -28
  658. package/__tests17__/InputLabel/__snapshots__/InputLabel.test.jsx.snap +0 -3
  659. package/__tests17__/InputSupports/InputSupports.test.jsx +0 -60
  660. package/__tests17__/Link/Link.test.jsx +0 -63
  661. package/__tests17__/Link/TextButton.test.jsx +0 -35
  662. package/__tests17__/List/List.test.jsx +0 -82
  663. package/__tests17__/Modal/Modal.test.jsx +0 -47
  664. package/__tests17__/Notification/Notification.test.jsx +0 -20
  665. package/__tests17__/Pagination/Pagination.test.jsx +0 -160
  666. package/__tests17__/Progress/Progress.test.jsx +0 -79
  667. package/__tests17__/Radio/Radio.test.jsx +0 -87
  668. package/__tests17__/Radio/RadioGroup.test.jsx +0 -220
  669. package/__tests17__/RadioCard/RadioCard.test.jsx +0 -87
  670. package/__tests17__/RadioCard/RadioCardGroup.test.jsx +0 -246
  671. package/__tests17__/Search/Search.test.jsx +0 -87
  672. package/__tests17__/Select/Select.test.jsx +0 -94
  673. package/__tests17__/SideNav/SideNav.test.jsx +0 -110
  674. package/__tests17__/Skeleton/Skeleton.test.jsx +0 -61
  675. package/__tests17__/SkipLink/SkipLink.test.jsx +0 -61
  676. package/__tests17__/Spacer/Spacer.test.jsx +0 -63
  677. package/__tests17__/StackView/StackView.test.jsx +0 -211
  678. package/__tests17__/StackView/StackWrap.test.jsx +0 -47
  679. package/__tests17__/StackView/getStackedContent.test.jsx +0 -295
  680. package/__tests17__/StepTracker/StepTracker.test.jsx +0 -108
  681. package/__tests17__/Tabs/Tabs.test.jsx +0 -49
  682. package/__tests17__/Tags/Tags.test.jsx +0 -327
  683. package/__tests17__/TextInput/TextArea.test.jsx +0 -35
  684. package/__tests17__/TextInput/TextInputBase.test.jsx +0 -125
  685. package/__tests17__/ThemeProvider/ThemeProvider.test.jsx +0 -82
  686. package/__tests17__/ThemeProvider/useThemeTokens.test.jsx +0 -514
  687. package/__tests17__/ThemeProvider/utils/theme-tokens.test.js +0 -41
  688. package/__tests17__/ToggleSwitch/ToggleSwitch.test.jsx +0 -82
  689. package/__tests17__/ToggleSwitch/ToggleSwitchGroup.test.jsx +0 -192
  690. package/__tests17__/Tooltip/Tooltip.test.jsx +0 -65
  691. package/__tests17__/Tooltip/getTooltipPosition.test.js +0 -79
  692. package/__tests17__/Typography/typography.test.jsx +0 -90
  693. package/__tests17__/utils/children.test.jsx +0 -128
  694. package/__tests17__/utils/containUniqueFields.test.js +0 -25
  695. package/__tests17__/utils/input.test.js +0 -375
  696. package/__tests17__/utils/props.test.js +0 -36
  697. package/__tests17__/utils/semantics.test.jsx +0 -34
  698. package/__tests17__/utils/useCopy.test.js +0 -42
  699. package/__tests17__/utils/useResponsiveProp.test.jsx +0 -202
  700. package/__tests17__/utils/useSpacingScale.test.jsx +0 -273
  701. package/__tests17__/utils/useUniqueId.test.js +0 -31
  702. package/component-docs.json +0 -13646
  703. package/lib-module/A11yInfoProvider/index.js +0 -73
  704. package/lib-module/A11yText/index.js +0 -56
  705. package/lib-module/ActivityIndicator/Spinner.js +0 -79
  706. package/lib-module/ActivityIndicator/Spinner.native.js +0 -146
  707. package/lib-module/ActivityIndicator/index.js +0 -48
  708. package/lib-module/ActivityIndicator/shared.js +0 -13
  709. package/lib-module/BaseProvider/HydrationContext.js +0 -51
  710. package/lib-module/BaseProvider/index.js +0 -41
  711. package/lib-module/Box/Box.js +0 -259
  712. package/lib-module/Box/index.js +0 -2
  713. package/lib-module/Button/Button.js +0 -26
  714. package/lib-module/Button/ButtonBase.js +0 -309
  715. package/lib-module/Button/ButtonDropdown.js +0 -181
  716. package/lib-module/Button/ButtonGroup.js +0 -264
  717. package/lib-module/Button/ButtonLink.js +0 -40
  718. package/lib-module/Button/index.js +0 -5
  719. package/lib-module/Button/propTypes.js +0 -53
  720. package/lib-module/Card/Card.js +0 -85
  721. package/lib-module/Card/CardBase.js +0 -66
  722. package/lib-module/Card/PressableCardBase.js +0 -114
  723. package/lib-module/Card/index.js +0 -4
  724. package/lib-module/Carousel/Carousel.js +0 -690
  725. package/lib-module/Carousel/CarouselContext.js +0 -56
  726. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +0 -51
  727. package/lib-module/Carousel/CarouselItem/CarouselItem.js +0 -81
  728. package/lib-module/Carousel/CarouselItem/index.js +0 -2
  729. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -50
  730. package/lib-module/Carousel/CarouselStepTracker/index.js +0 -2
  731. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +0 -51
  732. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -84
  733. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -126
  734. package/lib-module/Carousel/CarouselTabs/index.js +0 -2
  735. package/lib-module/Carousel/CarouselThumbnail.js +0 -85
  736. package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -66
  737. package/lib-module/Carousel/dictionary.js +0 -18
  738. package/lib-module/Carousel/index.js +0 -3
  739. package/lib-module/Checkbox/Checkbox.js +0 -355
  740. package/lib-module/Checkbox/CheckboxGroup.js +0 -242
  741. package/lib-module/Checkbox/CheckboxInput.js +0 -60
  742. package/lib-module/Checkbox/CheckboxInput.native.js +0 -6
  743. package/lib-module/Checkbox/index.js +0 -3
  744. package/lib-module/Divider/Divider.js +0 -127
  745. package/lib-module/Divider/index.js +0 -2
  746. package/lib-module/ExpandCollapse/Accordion.js +0 -15
  747. package/lib-module/ExpandCollapse/Control.js +0 -139
  748. package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -95
  749. package/lib-module/ExpandCollapse/Panel.js +0 -160
  750. package/lib-module/ExpandCollapse/index.js +0 -7
  751. package/lib-module/Feedback/Feedback.js +0 -165
  752. package/lib-module/Feedback/index.js +0 -2
  753. package/lib-module/Fieldset/Fieldset.js +0 -182
  754. package/lib-module/Fieldset/FieldsetContainer.js +0 -38
  755. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -23
  756. package/lib-module/Fieldset/Legend.js +0 -24
  757. package/lib-module/Fieldset/Legend.native.js +0 -31
  758. package/lib-module/Fieldset/cssReset.js +0 -14
  759. package/lib-module/Fieldset/index.js +0 -2
  760. package/lib-module/FlexGrid/Col/Col.js +0 -275
  761. package/lib-module/FlexGrid/Col/index.js +0 -2
  762. package/lib-module/FlexGrid/FlexGrid.js +0 -149
  763. package/lib-module/FlexGrid/Row/Row.js +0 -184
  764. package/lib-module/FlexGrid/Row/index.js +0 -2
  765. package/lib-module/FlexGrid/helpers/index.js +0 -18
  766. package/lib-module/FlexGrid/index.js +0 -2
  767. package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
  768. package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -175
  769. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -81
  770. package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -48
  771. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -27
  772. package/lib-module/HorizontalScroll/dictionary.js +0 -11
  773. package/lib-module/HorizontalScroll/index.js +0 -11
  774. package/lib-module/HorizontalScroll/itemPositions.js +0 -112
  775. package/lib-module/Icon/Icon.js +0 -62
  776. package/lib-module/Icon/IconText.js +0 -88
  777. package/lib-module/Icon/index.js +0 -4
  778. package/lib-module/IconButton/IconButton.js +0 -132
  779. package/lib-module/IconButton/index.js +0 -2
  780. package/lib-module/InputLabel/InputLabel.js +0 -154
  781. package/lib-module/InputLabel/LabelContent.js +0 -27
  782. package/lib-module/InputLabel/LabelContent.native.js +0 -19
  783. package/lib-module/InputLabel/index.js +0 -2
  784. package/lib-module/InputSupports/InputSupports.js +0 -103
  785. package/lib-module/InputSupports/index.js +0 -2
  786. package/lib-module/InputSupports/useInputSupports.js +0 -33
  787. package/lib-module/Link/ChevronLink.js +0 -52
  788. package/lib-module/Link/InlinePressable.js +0 -44
  789. package/lib-module/Link/InlinePressable.native.js +0 -89
  790. package/lib-module/Link/Link.js +0 -28
  791. package/lib-module/Link/LinkBase.js +0 -244
  792. package/lib-module/Link/TextButton.js +0 -35
  793. package/lib-module/Link/index.js +0 -5
  794. package/lib-module/List/List.js +0 -66
  795. package/lib-module/List/ListItem.js +0 -38
  796. package/lib-module/List/ListItemBase.js +0 -139
  797. package/lib-module/List/ListItemContent.js +0 -66
  798. package/lib-module/List/ListItemMark.js +0 -143
  799. package/lib-module/List/PressableListItemBase.js +0 -114
  800. package/lib-module/List/index.js +0 -5
  801. package/lib-module/Modal/Modal.js +0 -225
  802. package/lib-module/Modal/dictionary.js +0 -9
  803. package/lib-module/Modal/index.js +0 -2
  804. package/lib-module/MultiSelectFilter/ModalOverlay.js +0 -112
  805. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +0 -286
  806. package/lib-module/MultiSelectFilter/dictionary.js +0 -12
  807. package/lib-module/MultiSelectFilter/index.js +0 -2
  808. package/lib-module/Notification/Notification.js +0 -230
  809. package/lib-module/Notification/dictionary.js +0 -8
  810. package/lib-module/Notification/index.js +0 -2
  811. package/lib-module/Pagination/PageButton.js +0 -66
  812. package/lib-module/Pagination/Pagination.js +0 -159
  813. package/lib-module/Pagination/SideButton.js +0 -118
  814. package/lib-module/Pagination/dictionary.js +0 -18
  815. package/lib-module/Pagination/index.js +0 -2
  816. package/lib-module/Pagination/usePagination.js +0 -73
  817. package/lib-module/Progress/Progress.js +0 -89
  818. package/lib-module/Progress/ProgressBar.js +0 -138
  819. package/lib-module/Progress/ProgressBarBackground.js +0 -42
  820. package/lib-module/Progress/index.js +0 -4
  821. package/lib-module/QuickLinks/QuickLinks.js +0 -71
  822. package/lib-module/QuickLinks/QuickLinksCard.js +0 -33
  823. package/lib-module/QuickLinks/QuickLinksItem.js +0 -50
  824. package/lib-module/QuickLinks/index.js +0 -4
  825. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +0 -69
  826. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +0 -130
  827. package/lib-module/QuickLinksFeature/index.js +0 -4
  828. package/lib-module/Radio/Radio.js +0 -288
  829. package/lib-module/Radio/RadioButton.js +0 -138
  830. package/lib-module/Radio/RadioGroup.js +0 -255
  831. package/lib-module/Radio/RadioInput.js +0 -62
  832. package/lib-module/Radio/RadioInput.native.js +0 -6
  833. package/lib-module/Radio/index.js +0 -3
  834. package/lib-module/RadioCard/RadioCardGroup.js +0 -259
  835. package/lib-module/RadioCard/index.js +0 -3
  836. package/lib-module/Responsive/index.js +0 -2
  837. package/lib-module/Search/Search.js +0 -241
  838. package/lib-module/Search/dictionary.js +0 -12
  839. package/lib-module/Search/index.js +0 -2
  840. package/lib-module/Select/Group.js +0 -21
  841. package/lib-module/Select/Group.native.js +0 -15
  842. package/lib-module/Select/Item.js +0 -20
  843. package/lib-module/Select/Item.native.js +0 -3
  844. package/lib-module/Select/Picker.js +0 -68
  845. package/lib-module/Select/Picker.native.js +0 -122
  846. package/lib-module/Select/Select.js +0 -347
  847. package/lib-module/Select/constants.js +0 -5
  848. package/lib-module/Select/index.js +0 -6
  849. package/lib-module/SideNav/Item.js +0 -145
  850. package/lib-module/SideNav/ItemContent.js +0 -48
  851. package/lib-module/SideNav/ItemsGroup.js +0 -117
  852. package/lib-module/SideNav/SideNav.js +0 -136
  853. package/lib-module/SideNav/index.js +0 -1
  854. package/lib-module/Skeleton/Skeleton.js +0 -182
  855. package/lib-module/Skeleton/index.js +0 -2
  856. package/lib-module/Skeleton/skeleton.constant.js +0 -3
  857. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -18
  858. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -25
  859. package/lib-module/SkipLink/SkipLink.js +0 -188
  860. package/lib-module/SkipLink/index.js +0 -2
  861. package/lib-module/Spacer/Spacer.js +0 -98
  862. package/lib-module/Spacer/index.js +0 -2
  863. package/lib-module/StackView/StackView.js +0 -127
  864. package/lib-module/StackView/StackWrap.js +0 -53
  865. package/lib-module/StackView/StackWrap.native.js +0 -3
  866. package/lib-module/StackView/StackWrapBox.js +0 -117
  867. package/lib-module/StackView/StackWrapGap.js +0 -61
  868. package/lib-module/StackView/common.js +0 -35
  869. package/lib-module/StackView/getStackedContent.js +0 -124
  870. package/lib-module/StackView/index.js +0 -5
  871. package/lib-module/StepTracker/Step.js +0 -253
  872. package/lib-module/StepTracker/StepTracker.js +0 -191
  873. package/lib-module/StepTracker/dictionary.js +0 -10
  874. package/lib-module/StepTracker/index.js +0 -2
  875. package/lib-module/Tabs/Tabs.js +0 -152
  876. package/lib-module/Tabs/TabsItem.js +0 -228
  877. package/lib-module/Tabs/index.js +0 -2
  878. package/lib-module/Tags/Tags.js +0 -257
  879. package/lib-module/Tags/index.js +0 -2
  880. package/lib-module/TextInput/TextArea.js +0 -94
  881. package/lib-module/TextInput/TextInput.js +0 -73
  882. package/lib-module/TextInput/TextInputBase.js +0 -333
  883. package/lib-module/TextInput/dictionary.js +0 -8
  884. package/lib-module/TextInput/index.js +0 -3
  885. package/lib-module/TextInput/propTypes.js +0 -33
  886. package/lib-module/ThemeProvider/ThemeProvider.js +0 -74
  887. package/lib-module/ThemeProvider/index.js +0 -6
  888. package/lib-module/ThemeProvider/useSetTheme.js +0 -25
  889. package/lib-module/ThemeProvider/useTheme.js +0 -14
  890. package/lib-module/ThemeProvider/useThemeTokens.js +0 -110
  891. package/lib-module/ThemeProvider/utils/index.js +0 -2
  892. package/lib-module/ThemeProvider/utils/styles.js +0 -188
  893. package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -163
  894. package/lib-module/Timeline/Timeline.js +0 -174
  895. package/lib-module/Timeline/index.js +0 -2
  896. package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -255
  897. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -227
  898. package/lib-module/ToggleSwitch/index.js +0 -3
  899. package/lib-module/Tooltip/Backdrop.js +0 -45
  900. package/lib-module/Tooltip/Backdrop.native.js +0 -44
  901. package/lib-module/Tooltip/Tooltip.js +0 -278
  902. package/lib-module/Tooltip/Tooltip.native.js +0 -326
  903. package/lib-module/Tooltip/dictionary.js +0 -8
  904. package/lib-module/Tooltip/getTooltipPosition.js +0 -175
  905. package/lib-module/Tooltip/index.js +0 -5
  906. package/lib-module/Tooltip/shared.js +0 -27
  907. package/lib-module/TooltipButton/TooltipButton.js +0 -78
  908. package/lib-module/TooltipButton/index.js +0 -2
  909. package/lib-module/Typography/Typography.js +0 -154
  910. package/lib-module/Typography/index.js +0 -2
  911. package/lib-module/ViewportProvider/ViewportProvider.js +0 -29
  912. package/lib-module/ViewportProvider/index.js +0 -3
  913. package/lib-module/ViewportProvider/useViewport.js +0 -3
  914. package/lib-module/ViewportProvider/useViewportListener.js +0 -39
  915. package/lib-module/index.js +0 -58
  916. package/lib-module/utils/BaseView/BaseView.js +0 -43
  917. package/lib-module/utils/BaseView/BaseView.native.js +0 -6
  918. package/lib-module/utils/BaseView/index.js +0 -2
  919. package/lib-module/utils/a11y/index.js +0 -2
  920. package/lib-module/utils/a11y/semantics.js +0 -157
  921. package/lib-module/utils/a11y/textSize.js +0 -36
  922. package/lib-module/utils/animation/index.js +0 -2
  923. package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -89
  924. package/lib-module/utils/children.js +0 -119
  925. package/lib-module/utils/containUniqueFields.js +0 -26
  926. package/lib-module/utils/floating-ui/index.js +0 -1
  927. package/lib-module/utils/floating-ui/index.native.js +0 -1
  928. package/lib-module/utils/hasOwnProperty.js +0 -11
  929. package/lib-module/utils/index.js +0 -19
  930. package/lib-module/utils/info/index.js +0 -7
  931. package/lib-module/utils/info/platform/index.js +0 -11
  932. package/lib-module/utils/info/platform/platform.android.js +0 -1
  933. package/lib-module/utils/info/platform/platform.ios.js +0 -1
  934. package/lib-module/utils/info/platform/platform.js +0 -1
  935. package/lib-module/utils/info/platform/platform.native.js +0 -4
  936. package/lib-module/utils/info/versions.js +0 -5
  937. package/lib-module/utils/input.js +0 -187
  938. package/lib-module/utils/pressability.js +0 -111
  939. package/lib-module/utils/props/a11yProps.js +0 -308
  940. package/lib-module/utils/props/clickProps.js +0 -26
  941. package/lib-module/utils/props/componentPropType.js +0 -63
  942. package/lib-module/utils/props/copyPropTypes.js +0 -2
  943. package/lib-module/utils/props/getPropSelector.js +0 -48
  944. package/lib-module/utils/props/handlerProps.js +0 -117
  945. package/lib-module/utils/props/hrefAttrsProp.js +0 -33
  946. package/lib-module/utils/props/index.js +0 -19
  947. package/lib-module/utils/props/inputSupportsProps.js +0 -62
  948. package/lib-module/utils/props/linkProps.js +0 -44
  949. package/lib-module/utils/props/paddingProp.js +0 -9
  950. package/lib-module/utils/props/pressProps.js +0 -42
  951. package/lib-module/utils/props/rectProp.js +0 -9
  952. package/lib-module/utils/props/responsiveProps.js +0 -30
  953. package/lib-module/utils/props/selectSystemProps.js +0 -24
  954. package/lib-module/utils/props/spacingProps.js +0 -56
  955. package/lib-module/utils/props/textInputProps.js +0 -201
  956. package/lib-module/utils/props/textProps.js +0 -59
  957. package/lib-module/utils/props/tokens.js +0 -133
  958. package/lib-module/utils/props/variantProp.js +0 -18
  959. package/lib-module/utils/props/viewProps.js +0 -22
  960. package/lib-module/utils/ssr.js +0 -144
  961. package/lib-module/utils/useCopy.js +0 -44
  962. package/lib-module/utils/useHash.js +0 -45
  963. package/lib-module/utils/useHash.native.js +0 -7
  964. package/lib-module/utils/useResponsiveProp.js +0 -46
  965. package/lib-module/utils/useSafeLayoutEffect.js +0 -30
  966. package/lib-module/utils/useScrollBlocking.js +0 -58
  967. package/lib-module/utils/useScrollBlocking.native.js +0 -2
  968. package/lib-module/utils/useSpacingScale.js +0 -125
  969. package/lib-module/utils/useUniqueId.js +0 -13
  970. package/lib-module/utils/withLinkRouter.js +0 -81
@@ -1,187 +0,0 @@
1
- import { useCallback, useRef, useState } from 'react';
2
- /**
3
- * @typedef {import('react').SyntheticEvent} Event
4
- */
5
-
6
- const pluralHooks = ['useMultipleInputValues'];
7
-
8
- const validateProps = (_ref, _ref2, hookName) => {
9
- let {
10
- value,
11
- onChange,
12
- readOnly,
13
- initialValue
14
- } = _ref;
15
- let {
16
- isCurrentlyControlled,
17
- isControlled
18
- } = _ref2;
19
- const s = pluralHooks.includes(hookName) ? 's' : '';
20
-
21
- const usageError = error => {
22
- // Errors inside hooks in React Native get incomplete stack traces pointing at parent component only.
23
- // Help devs out by telling them exactly which hook threw the error as well as why.
24
- throw new Error("".concat(hookName, " ").concat(error, ".\n\nConsumers of this hook must be one of:\n1. An \"uncontrolled\" component responding directly to user actions, with an optional `initialValue").concat(s, "` but no `value").concat(s, "` prop,\n2. A \"controlled\" component where an always-defined `value").concat(s, "` prop is managed by an `onChange` handler, with no `initialValue").concat(s, "`,\n3. A \"read-only\" component, with `readOnly` prop set as `true`.\n"));
25
- };
26
-
27
- if (value && !onChange && !readOnly) {
28
- usageError("has `value".concat(s, "` prop without `onChange` or `readOnly`"));
29
- }
30
-
31
- if (initialValue && value) {
32
- usageError("has both `initialValue".concat(s, "` and `value").concat(s, "`"));
33
- }
34
-
35
- if (isControlled && !isCurrentlyControlled) {
36
- usageError("stopped receiving `value".concat(s, "` from parent after delegating state management"));
37
- }
38
-
39
- if (!isControlled && isCurrentlyControlled) {
40
- usageError("started receiving `value".concat(s, "` from parent after starting managing own state"));
41
- }
42
- };
43
- /**
44
- * Hook used for controlling the input state of input components that have a singular value.
45
- * If `value` prop is passed in, this delegates state management to a parent using a passed-in `onChange` prop.
46
- * If `value` prop is undefined, the hook manages its own state.
47
- *
48
- * TODO: when implementing full UDS forms, integrate validation support etc and test alongside common forms
49
- * management tools such as Formik and React Hooks Form.
50
- *
51
- * @param {object} props
52
- * @param {string|number|null} [props.value] - for a controlled input, the active values as set by a parent
53
- * @param {string|number} [props.initialValue] - for an uncontrolled input, the default active values
54
- * @param {function} [props.onChange] - function called when values change (required for controlled inputs)
55
- * @param {boolean} [props.readOnly] - if true, stops the input values from changing
56
- *
57
- * @param {string} hookName - optional, used for tailoring error messages
58
- *
59
- * @returns {{
60
- * currentValue: string|number|null
61
- * setValue: (newValue: string|number|null|(oldValue: string|number) => string|number, event: Event) => void
62
- * resetValue: () => void
63
- * isControlled: bool
64
- * }}
65
- */
66
-
67
-
68
- export const useInputValue = function () {
69
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
70
- let hookName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'useInputValue';
71
- const isCurrentlyControlled = props.value !== undefined;
72
- const [isControlled] = useState(isCurrentlyControlled);
73
- validateProps(props, {
74
- isControlled,
75
- isCurrentlyControlled
76
- }, hookName);
77
- const {
78
- value,
79
- initialValue,
80
- inputRef,
81
- onChange,
82
- readOnly = false
83
- } = props;
84
- const [ownValue, setOwnValue] = useState(!isControlled && initialValue);
85
- const currentValue = isControlled ? value : ownValue; // Store the first valid value, for resetting input to default. If behaviour like Formik's `enableReinitialize`
86
- // is needed, add useEffect calling a set fn if !deepEqual(initializedValues, initialValues)
87
-
88
- const valueRef = useRef({
89
- initial: currentValue,
90
- value: currentValue
91
- }); // Make current value accessible inside useCallback without rememoizing every time the value changes
92
-
93
- valueRef.current.value = currentValue;
94
- const isDirty = currentValue !== valueRef.current.initial;
95
- const setValue = useCallback((arg, event) => {
96
- if (readOnly) return;
97
- const newValue = typeof arg === 'function' ? arg(valueRef.current.value) : arg;
98
-
99
- if (!isControlled) {
100
- setOwnValue(newValue);
101
- if (inputRef !== null && inputRef !== void 0 && inputRef.current) inputRef.current.value = newValue !== null && newValue !== void 0 ? newValue : '';
102
- } // Call onChange handler if there's something for it to handle (event or a changed value)
103
-
104
-
105
- if (onChange && (event || valueRef.current.value !== newValue)) onChange(newValue, event);
106
- }, [inputRef, isControlled, onChange, readOnly]);
107
- const resetValue = useCallback(event => setValue(valueRef.current.initial, event), [setValue]);
108
- return {
109
- currentValue,
110
- setValue,
111
- resetValue,
112
- isControlled,
113
- isDirty
114
- };
115
- };
116
- /**
117
- * Hook used for controlling the input state of input components that have multiple named on/off states.
118
- * If `values` are passed in, this delegates state management to a parent using a passed-in `onChange` prop.
119
- * If `values` prop is not passed in, the hook manages its own state.
120
- *
121
- * TODO: when implementing full UDS forms, integrate validation support etc and test alongside common forms
122
- * management tools such as Formik and React Hooks Form.
123
- *
124
- * @param {object} props
125
- * @param {string[]|number[]} [props.values] - for a controlled input, the active values as set by a parent
126
- * @param {string[]|number[]} [props.initialValues] - for an uncontrolled input, the default active values
127
- * @param {number?} [props.maxValues] - maximum number of values that may be selected at once (no limit if null)
128
- * @param {function} [props.onChange] - function called when values change (required for controlled inputs)
129
- * @param {boolean} [props.readOnly] - if true, stops the input values from changing
130
- *
131
- * @param {string} componentName - optional, used in error messages
132
- *
133
- * @returns {{
134
- * currentValues: any
135
- * resetValues: () => void
136
- * setValues: (newValues: string[]|number[]|(oldValues: string[]|number[]) => string[]|number[], event: Event) => void
137
- * toggleOneValue: (value: string|number) => void
138
- * unsetValues: () => void
139
- * }}
140
- */
141
-
142
- export const useMultipleInputValues = function () {
143
- let {
144
- values,
145
- initialValues,
146
- maxValues,
147
- onChange,
148
- readOnly
149
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
150
- const {
151
- currentValue,
152
- setValue,
153
- resetValue
154
- } = useInputValue({
155
- readOnly,
156
- onChange,
157
- value: values,
158
- // if we're controlling our own state, always start with an array
159
- initialValue: initialValues !== null && initialValues !== void 0 ? initialValues : values === undefined ? [] : undefined
160
- }, 'useMultipleInputValues');
161
- const enforceMaxValues = useCallback(newValues => {
162
- if (!maxValues) return newValues;
163
- const excess = newValues.length - maxValues;
164
- return excess > 0 ? newValues.slice(excess) : newValues;
165
- }, [maxValues]);
166
- const currentValues = enforceMaxValues(currentValue);
167
- const setValues = useCallback((newValues, event) => {
168
- const validNewValues = enforceMaxValues(newValues);
169
- setValue(validNewValues, event);
170
- }, [setValue, enforceMaxValues]);
171
- const resetValues = resetValue;
172
- const unsetValues = useCallback(event => setValues([], event), [setValues]);
173
- const toggleOneValue = useCallback((newValue, event) => {
174
- if (readOnly) return; // This will only work with primitive values (e.g. strings, numbers), swap for .some() and
175
- // a deepEqual() function if there's any use case for toggling stored objects or arrays.
176
-
177
- const newValues = currentValues.includes(newValue) ? currentValues.filter(oldValue => oldValue !== newValue) : [...currentValues, newValue];
178
- setValues(newValues, event);
179
- }, [currentValues, readOnly, setValues]);
180
- return {
181
- currentValues,
182
- resetValues,
183
- setValues,
184
- toggleOneValue,
185
- unsetValues
186
- };
187
- };
@@ -1,111 +0,0 @@
1
- import Platform from "react-native-web/dist/exports/Platform";
2
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
3
- import pressProps from './props/pressProps';
4
- /**
5
- * @typedef {import('react').ReactNode} ReactNode
6
- */
7
- // These roles should result in cursor: pointer but don't in current RNW releases
8
-
9
- const shouldUseCursor = ['checkbox', 'radio', 'switch'];
10
- /**
11
- * React Native Web has some built-in logic for applying cursor styles based on accessibility roles;
12
- * however, it misses certain cases. This fills in known cases where widely used versions of RNW
13
- * fail to apply an expected cursor style.
14
- *
15
- * @param {object} props
16
- * @param {boolean} [props.inactive]
17
- * @param {boolean} [props.disabled]
18
- * @param {string} [props.accessibilityRole]
19
- * @returns
20
- */
21
-
22
- export const getCursorStyle = _ref => {
23
- let {
24
- inactive,
25
- disabled,
26
- accessibilityRole
27
- } = _ref;
28
- if (Platform.OS !== 'web') return undefined;
29
- if (inactive || disabled) return staticStyles.notAllowed;
30
- if (shouldUseCursor.includes(accessibilityRole)) return staticStyles.pointer;
31
- return undefined; // allows React Native Web's built-in logic to apply
32
- };
33
- /**
34
- * @typedef {{ pressed: boolean, focused: boolean, hovered?: boolean }} PressableState
35
- */
36
-
37
- /**
38
- * Maps the state object given by the React Native `Pressable` component to the set of
39
- * equivalent appearance names used in UDS.
40
- *
41
- * @param {PressableState} pressableState - state object passed by React Native's `<Pressable>` into
42
- * render functions passed to its `style` or `children` props.
43
- * @param {object} [additionalState] - properties specific to the current component,
44
- * such as `inactive`, `selected`, etc.
45
- * @returns {object}
46
- */
47
-
48
- export const resolvePressableState = function () {
49
- let {
50
- pressed = false,
51
- focused = false,
52
- hovered = false
53
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
- let additionalState = arguments.length > 1 ? arguments[1] : undefined;
55
- return { ...additionalState,
56
- focus: focused,
57
- hover: hovered,
58
- pressed
59
- };
60
- };
61
- /**
62
- * Takes a UDS `tokens` prop and, if it is a function, resolves it based on a state
63
- * object passed from the React Native `Pressable` component and optional extra properties.
64
- *
65
- * @param {object|function} tokens - UDS system tokens prop
66
- * @param {PressableState} pressableState - state object passed by React Native's `<Pressable>`
67
- * @param {object} [additionalState] - properties specific to the current component
68
- * @returns {object} - resolved tokens object
69
- */
70
-
71
- export const resolvePressableTokens = (tokens, pressableState, additionalState) => {
72
- if (typeof tokens !== 'function') return tokens;
73
- const udsPressableState = resolvePressableState(pressableState, additionalState);
74
- return tokens(udsPressableState);
75
- };
76
- const staticStyles = StyleSheet.create(Platform.select({
77
- web: {
78
- notAllowed: {
79
- cursor: 'not-allowed'
80
- },
81
- pointer: {
82
- cursor: 'pointer'
83
- }
84
- },
85
- default: {}
86
- }));
87
- /**
88
- * From an object of props, extracts any platform-appropriate press handler functions and wraps
89
- * them in a function that passes in some provided args. Allows components containing a Pressable
90
- * to pass in press handlers that are then called with state or values that is otherwise internal.
91
- */
92
-
93
- export const getPressHandlersWithArgs = function () {
94
- let pressableProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
95
- let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
96
- // Allow handlers to be passed down for blur, hover, focus, pressIn, etc
97
- const pressHandlers = Object.fromEntries(Object.entries(pressProps.selectHandlers(pressableProps)).map(_ref2 => {
98
- let [key, handler] = _ref2;
99
- return {
100
- [key]: function () {
101
- for (var _len = arguments.length, defaultArgs = new Array(_len), _key = 0; _key < _len; _key++) {
102
- defaultArgs[_key] = arguments[_key];
103
- }
104
-
105
- // Pass each handler data on this button and current selection
106
- handler(...args, ...defaultArgs);
107
- }
108
- };
109
- }));
110
- return pressHandlers;
111
- };
@@ -1,308 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import getPropSelector from './getPropSelector'; // React Native exports a11y prop definitions as TypeScript Interfaces, but no longer exports PropTypes
4
- // so we have to define them ourselves.
5
-
6
- const nativeA11yPropTypes = {
7
- accessible: PropTypes.bool,
8
- focusable: PropTypes.bool,
9
- accessibilityElementsHidden: PropTypes.bool,
10
- accessibilityHint: PropTypes.string,
11
- // react-native-web ignores `accessibilityHint`
12
- accessibilityIgnoresInvertColors: PropTypes.bool,
13
- accessibilityLabel: PropTypes.string,
14
- accessibilityRole: PropTypes.string,
15
- accessibilityActions: PropTypes.arrayOf(PropTypes.shape({
16
- name: PropTypes.string.isRequired,
17
- label: PropTypes.string
18
- })),
19
- accessibilityLiveRegion: PropTypes.oneOf(['none', 'polite', 'assertive']),
20
- accessibilityState: PropTypes.shape({
21
- disabled: PropTypes.bool,
22
- selected: PropTypes.bool,
23
- checked: PropTypes.oneOf([true, false, 'mixed']),
24
- busy: PropTypes.bool,
25
- expanded: PropTypes.bool
26
- }),
27
- accessibilityValue: PropTypes.shape({
28
- min: PropTypes.number,
29
- max: PropTypes.number,
30
- now: PropTypes.number,
31
- text: PropTypes.string
32
- }),
33
- accessibilityViewIsModal: PropTypes.bool,
34
- importantForAccessibility: PropTypes.oneOf(['auto', 'yes', 'no', 'no-hide-descendants']),
35
- onAccessibilityAction: PropTypes.func,
36
- onAccessibilityEscape: PropTypes.func,
37
- onAccessibilityTap: PropTypes.func
38
- };
39
- const a11yPropTypes = { ...nativeA11yPropTypes,
40
- // React Native Web adds many a11y props that alias aria-* attributes
41
- // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
42
- accessibilityActiveDescendant: PropTypes.string,
43
- accessibilityAtomic: PropTypes.bool,
44
- accessibilityAutoComplete: PropTypes.string,
45
- accessibilityBusy: PropTypes.bool,
46
- accessibilityChecked: PropTypes.oneOf([true, false, 'mixed']),
47
- accessibilityColumnCount: PropTypes.number,
48
- accessibilityColumnIndex: PropTypes.number,
49
- accessibilityColumnSpan: PropTypes.number,
50
- accessibilityControls: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
51
- accessibilityCurrent: PropTypes.oneOf([true, false, 'page', 'step', 'location', 'date', 'time']),
52
- accessibilityDescribedBy: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
53
- accessibilityDetails: PropTypes.string,
54
- accessibilityDisabled: PropTypes.bool,
55
- accessibilityErrorMessage: PropTypes.string,
56
- accessibilityExpanded: PropTypes.bool,
57
- accessibilityFlowTo: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
58
- accessibilityHasPopup: PropTypes.string,
59
- accessibilityHidden: PropTypes.bool,
60
- accessibilityInvalid: PropTypes.bool,
61
- accessibilityKeyShortcuts: PropTypes.string,
62
- accessibilityLabelledBy: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
63
- accessibilityLevel: PropTypes.number,
64
- accessibilityModal: PropTypes.bool,
65
- accessibilityMultiline: PropTypes.bool,
66
- accessibilityMultiSelectable: PropTypes.bool,
67
- accessibilityOrientation: PropTypes.oneOf(['horizontal', 'vertical']),
68
- accessibilityOwns: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
69
- accessibilityPlaceholder: PropTypes.string,
70
- accessibilityPosInSet: PropTypes.number,
71
- accessibilityPressed: PropTypes.bool,
72
- accessibilityReadOnly: PropTypes.bool,
73
- accessibilityRequired: PropTypes.bool,
74
- accessibilityRoleDescription: PropTypes.string,
75
- accessibilityRowCount: PropTypes.number,
76
- accessibilityRowIndex: PropTypes.number,
77
- accessibilityRowSpan: PropTypes.number,
78
- accessibilitySelected: PropTypes.bool,
79
- accessibilitySetSize: PropTypes.number,
80
- accessibilitySort: PropTypes.oneOf(['ascending', 'descending', 'none', 'other']),
81
- accessibilityValueMax: PropTypes.number,
82
- accessibilityValueMin: PropTypes.number,
83
- accessibilityValueNow: PropTypes.number,
84
- accessibilityValueText: PropTypes.string
85
- };
86
- const a11yPropTypesByPlatform = Platform.select({
87
- // React Native Web adds many a11y props that alias aria-* attributes
88
- // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
89
- web: a11yPropTypes,
90
- // Ignore web-only props in native builds
91
- default: nativeA11yPropTypes
92
- }); // These RNW-only props only exist in RNW >=0.18. Catch them and map them according to platform
93
- // so all props work on RN, RNW >=0.18 and RNW <=0.18, regardless of which they were written for:
94
- // - On native, bundle them into objects, like `accessibilityValue: { max: 100 }`
95
- // - On web, split them into both of:
96
- // - The appropriate aria-* attr, like `aria-valuenow`, which will work regardless of RNW version
97
- // - The corresponding RNW >=0.18 prop, like `accessibilityValueNow`, which in some cases does more
98
- // than just add the aria-* (e.g. `accessibilityDisabled` adds `disabled` if element supports it,
99
- // and future releases might add more features here).
100
-
101
- const rwnPropMappings = {
102
- // Former accessibilityValue props.
103
- accessibilityValueMax: value => Platform.select({
104
- web: {
105
- 'aria-valuemax': value,
106
- accessibilityValueMax: value
107
- },
108
- default: {
109
- accessibilityValue: {
110
- max: value
111
- }
112
- }
113
- }),
114
- accessibilityValueMin: value => Platform.select({
115
- web: {
116
- 'aria-valuemin': value,
117
- accessibilityValueMin: value
118
- },
119
- default: {
120
- accessibilityValue: {
121
- min: value
122
- }
123
- }
124
- }),
125
- accessibilityValueNow: value => Platform.select({
126
- web: {
127
- 'aria-valuenow': value,
128
- accessibilityValueNow: value
129
- },
130
- default: {
131
- accessibilityValue: {
132
- now: value
133
- }
134
- }
135
- }),
136
- accessibilityValueText: value => Platform.select({
137
- web: {
138
- 'aria-valuetext': value,
139
- accessibilityValueText: value
140
- },
141
- default: {
142
- accessibilityValue: {
143
- text: value
144
- }
145
- }
146
- }),
147
- // Former accessibilityState props
148
- accessibilityBusy: value => Platform.select({
149
- web: {
150
- 'aria-busy': value,
151
- accessibilityBusy: value
152
- },
153
- default: {
154
- accessibilityState: {
155
- busy: value
156
- }
157
- }
158
- }),
159
- accessibilityChecked: value => Platform.select({
160
- web: {
161
- 'aria-checked': value,
162
- accessibilityChecked: value
163
- },
164
- default: {
165
- accessibilityState: {
166
- checked: value
167
- }
168
- }
169
- }),
170
- accessibilityDisabled: value => Platform.select({
171
- web: {
172
- 'aria-disabled': value,
173
- // RNW >= 0.18 maps `accessibilityDisabled` to `disabled` attr if element supports it
174
- accessibilityDisabled: value,
175
- // As of RNW 0.18.9, Pressable doesn't support `accessibilityDisabled`, only `disabled`,
176
- // but everything else supports `accessibilityDisabled` but not `disabled`.
177
- disabled: value
178
- },
179
- default: {
180
- accessibilityState: {
181
- disabled: value
182
- }
183
- }
184
- }),
185
- accessibilityExpanded: value => Platform.select({
186
- web: {
187
- 'aria-expanded': value,
188
- accessibilityExpanded: value
189
- },
190
- default: {
191
- accessibilityState: {
192
- expanded: value
193
- }
194
- }
195
- }),
196
- accessibilitySelected: value => Platform.select({
197
- web: {
198
- 'aria-selected': value,
199
- accessibilitySelected: value
200
- },
201
- default: {
202
- accessibilityState: {
203
- selected: value
204
- }
205
- }
206
- })
207
- };
208
-
209
- if (Platform.OS === 'web') {
210
- const mapIfDefined = (value, fn) => value === undefined ? undefined : fn(value); // On Web only, these React Native object props need manual mapping in RNW >=0.18
211
- // which dropped support for the React Native shape of these props.
212
- // Re-use our RNW 0.18 prop mappings to support both RNW <0.18 (aria-*) and
213
- // new features added in >=0.18 (e.g. for accessibilityDisabled).
214
-
215
-
216
- rwnPropMappings.accessibilityValue = function () {
217
- let {
218
- max,
219
- min,
220
- now,
221
- text
222
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
223
- return { ...mapIfDefined(max, rwnPropMappings.accessibilityValueMax),
224
- ...mapIfDefined(min, rwnPropMappings.accessibilityValueMin),
225
- ...mapIfDefined(now, rwnPropMappings.accessibilityValueNow),
226
- ...mapIfDefined(text, rwnPropMappings.accessibilityValueText)
227
- };
228
- };
229
-
230
- rwnPropMappings.accessibilityState = function () {
231
- let {
232
- busy,
233
- checked,
234
- disabled,
235
- expanded,
236
- selected
237
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
238
- return { ...mapIfDefined(busy, rwnPropMappings.accessibilityBusy),
239
- ...mapIfDefined(checked, rwnPropMappings.accessibilityChecked),
240
- ...mapIfDefined(disabled, rwnPropMappings.accessibilityDisabled),
241
- ...mapIfDefined(expanded, rwnPropMappings.accessibilityExpanded),
242
- ...mapIfDefined(selected, rwnPropMappings.accessibilitySelected)
243
- };
244
- };
245
- }
246
-
247
- export default {
248
- /**
249
- * Proptypes for recognised React Native accessiblity (a11y) props.
250
- * Spread this in the propTypes of components that accept React Native a11y props.
251
- */
252
- types: a11yPropTypes,
253
-
254
- /**
255
- * Filters a props object, returning only recognised React Native accessiblity (a11y) props.
256
- *
257
- * Where components accept React Native a11y props, pass { ...rest } from its props to this,
258
- * then spread the returned object into the component's props (usually its outer container).
259
- */
260
- select: getPropSelector( // Allow all React Native accessibility props
261
- a11yPropTypesByPlatform, // Allow any `aria-*` attribute on web; ignore them on native
262
- Platform.OS === 'web' && /^aria-/, // For the props added and deprecated in React Native Web 0.18, convert them to
263
- // a form that is platform-appropriate and RNW-version safe
264
- (key, value) => {
265
- const rnwPropMapper = rwnPropMappings[key];
266
- return rnwPropMapper ? rnwPropMapper(value) : undefined;
267
- }),
268
-
269
- /**
270
- * Use this to disable focus for elements which are visually hidden but still rendered.
271
- */
272
- nonFocusableProps: {
273
- focusable: false,
274
- // for android, and for keyboard nav in web
275
- ...Platform.select({
276
- web: {
277
- accessibilityHidden: true // web screenreaders
278
-
279
- },
280
- android: {
281
- importantForAccessibility: 'no-hide-descendants'
282
- },
283
- ios: {
284
- accessibilityElementsHidden: true
285
- }
286
- })
287
- },
288
-
289
- /**
290
- * Generates an object of platform-appropriate a11y props describing an item that has an
291
- * ordered position in a set. Examples of usage by accessibility tools includes screenreaders
292
- * saying "Item X of Y" when this item is select.
293
- *
294
- * @param {number} itemsCount - the number of items in the set
295
- * @param {number} index - the current item's index in the set
296
- * @returns {object} - platform-applicable a11y props describing this position (if available)
297
- */
298
- getPositionInSet: (itemsCount, index) => Platform.select({
299
- web: {
300
- // accessibilityPosInSet etc exists in React Native Web main branch
301
- // but not in a release compatible with Expo etc; just use `aria-*`
302
- 'aria-setsize': itemsCount,
303
- 'aria-posinset': index + 1
304
- },
305
- // No equivalents exist on the native side
306
- default: {}
307
- })
308
- };
@@ -1,26 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- const clickHandlerMapping = {
3
- onClick: 'onPress',
4
- onMouseDown: 'onPressIn',
5
- onMouseUp: 'onPressOut'
6
- };
7
- export default {
8
- /**
9
- * Web-oriented HTML click handlers that may be mapped to React Native press handlers
10
- */
11
- types: Object.fromEntries(Object.keys(clickHandlerMapping).map(mouseName => [mouseName, PropTypes.func])),
12
-
13
- /**
14
- * Takes a set of props and converts HTML mouse click oriented event handlers to closest
15
- * equivalent React Native press event handler.
16
- *
17
- * Use this when a component that expects press-oriented props may need to support third-party
18
- * web-oriented tooling that injects web-oriented event handlers directly. For example, for
19
- * to support use with NextJS's 'next/link' component, which injects `onClick` prop into its child.
20
- */
21
- toPressProps: props => Object.fromEntries(Object.entries(props).map(_ref => {
22
- let [originalName, value] = _ref;
23
- const translatedName = clickHandlerMapping[originalName];
24
- return translatedName ? [translatedName, value] : [originalName, value];
25
- }))
26
- };
@@ -1,63 +0,0 @@
1
- /**
2
- * Returns a prop type validator which checks whether a prop is either a component or an array of
3
- * components of a given type, based on their `name` or `displayName` properties.
4
- * Use an array of strings for `passedName` to accept more than one component type.
5
- * For an array the validation fails on the first occurrence of an invalid element.
6
- *
7
- * @param {string|string[]} passedName
8
- * @return {function}
9
- */
10
- export default function componentPropType(passedName) {
11
- const passedNames = typeof passedName === 'string' ? [passedName] : passedName;
12
-
13
- const checkProp = (props, propName, componentName) => {
14
- var _props$propName$type, _props$propName$type2;
15
-
16
- if (props[propName] === undefined || props[propName] === null) {
17
- return undefined;
18
- }
19
-
20
- if (Array.isArray(props[propName])) {
21
- // Iterates through every child and try to find the first element that does not match the passed name
22
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
23
- return props[propName].map((_, index) => checkProp(props[propName], index, componentName)).find(Boolean);
24
- }
25
-
26
- const nameInProp = ((_props$propName$type = props[propName].type) === null || _props$propName$type === void 0 ? void 0 : _props$propName$type.displayName) || ((_props$propName$type2 = props[propName].type) === null || _props$propName$type2 === void 0 ? void 0 : _props$propName$type2.name);
27
-
28
- if (!nameInProp || !passedNames.includes(nameInProp)) {
29
- const propDescription = nameInProp ? "Component ".concat(nameInProp) : typeof props[propName];
30
- return new Error("".concat(componentName, ": ").concat(propDescription, " was passed to `").concat(propName, "` prop; should be ").concat(passedNames.join(' or ')));
31
- }
32
-
33
- return undefined;
34
- };
35
-
36
- const checkRequired = (props, propName, componentName) => {
37
- if (props[propName] === undefined) {
38
- return new Error("The prop `".concat(propName, "` is marked as required in `").concat(componentName, "`, but its value is ").concat(props[propName], "."));
39
- }
40
-
41
- return undefined;
42
- };
43
-
44
- const createValidate = isRequired => {
45
- if (isRequired) {
46
- return (props, propName, componentName) => {
47
- const checkForError = checkProp(props, propName, componentName);
48
-
49
- if (checkForError) {
50
- return checkForError;
51
- }
52
-
53
- return checkRequired(props, propName, componentName);
54
- };
55
- }
56
-
57
- return checkProp;
58
- };
59
-
60
- const validate = createValidate();
61
- validate.isRequired = createValidate(true);
62
- return validate;
63
- }