@telus-uds/components-base 1.96.0 → 1.97.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 (749) hide show
  1. package/CHANGELOG.md +30 -2
  2. package/babel.config.cjs +35 -0
  3. package/{jest.config-android.js → jest.config-android.cjs} +1 -1
  4. package/{jest.config-ios.js → jest.config-ios.cjs} +1 -1
  5. package/{jest.config-web.js → jest.config-web.cjs} +1 -1
  6. package/jest.config.cjs +40 -0
  7. package/lib/A11yInfoProvider/index.js +29 -35
  8. package/lib/A11yText/index.js +16 -24
  9. package/lib/ActionCard/ActionCard.js +47 -55
  10. package/lib/ActionCard/index.js +2 -10
  11. package/lib/ActivityIndicator/Spinner.js +20 -28
  12. package/lib/ActivityIndicator/Spinner.native.js +32 -40
  13. package/lib/ActivityIndicator/index.js +18 -22
  14. package/lib/ActivityIndicator/shared.js +12 -23
  15. package/lib/Autocomplete/Autocomplete.js +90 -99
  16. package/lib/Autocomplete/Loading.js +14 -22
  17. package/lib/Autocomplete/Suggestions.js +23 -31
  18. package/lib/Autocomplete/constants.js +4 -14
  19. package/lib/Autocomplete/dictionary.js +2 -9
  20. package/lib/Autocomplete/index.js +2 -10
  21. package/lib/Badge/Badge.js +18 -26
  22. package/lib/Badge/index.js +2 -10
  23. package/lib/BaseProvider/HydrationContext.js +13 -23
  24. package/lib/BaseProvider/index.js +24 -29
  25. package/lib/Box/Box.js +60 -68
  26. package/lib/Box/backgroundImageStylesMap.js +2 -9
  27. package/lib/Box/index.js +2 -10
  28. package/lib/Button/Button.js +15 -25
  29. package/lib/Button/ButtonBase.js +37 -46
  30. package/lib/Button/ButtonDropdown.js +37 -47
  31. package/lib/Button/ButtonGroup.js +53 -61
  32. package/lib/Button/ButtonLink.js +21 -29
  33. package/lib/Button/index.js +5 -34
  34. package/lib/Button/propTypes.js +16 -25
  35. package/lib/Card/Card.js +47 -55
  36. package/lib/Card/CardBase.js +27 -35
  37. package/lib/Card/PressableCardBase.js +26 -35
  38. package/lib/Card/index.js +4 -33
  39. package/lib/CardGroup/CardGroup.js +45 -55
  40. package/lib/CardGroup/dictionary.js +2 -9
  41. package/lib/CardGroup/index.js +2 -10
  42. package/lib/Carousel/Carousel.js +138 -146
  43. package/lib/Carousel/CarouselContext.js +19 -27
  44. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +15 -22
  45. package/lib/Carousel/CarouselItem/CarouselItem.js +44 -56
  46. package/lib/Carousel/CarouselItem/index.js +2 -10
  47. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +12 -20
  48. package/lib/Carousel/CarouselStepTracker/index.js +2 -10
  49. package/lib/Carousel/CarouselTabs/CarouselTabs.js +16 -23
  50. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +20 -28
  51. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +23 -31
  52. package/lib/Carousel/CarouselTabs/index.js +2 -10
  53. package/lib/Carousel/CarouselThumbnail.js +19 -27
  54. package/lib/Carousel/CarouselThumbnailNavigation.js +22 -30
  55. package/lib/Carousel/dictionary.js +2 -9
  56. package/lib/Carousel/index.js +3 -36
  57. package/lib/Checkbox/Checkbox.js +52 -60
  58. package/lib/Checkbox/CheckboxButton.js +32 -41
  59. package/lib/Checkbox/CheckboxGroup.js +41 -49
  60. package/lib/Checkbox/CheckboxInput.js +15 -21
  61. package/lib/Checkbox/CheckboxInput.native.js +1 -8
  62. package/lib/Checkbox/index.js +3 -17
  63. package/lib/CheckboxCard/CheckboxCard.js +45 -55
  64. package/lib/CheckboxCard/index.js +2 -10
  65. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +42 -52
  66. package/lib/CheckboxCardGroup/index.js +2 -10
  67. package/lib/ColourToggle/ColourBubble.js +23 -31
  68. package/lib/ColourToggle/ColourToggle.js +27 -35
  69. package/lib/ColourToggle/index.js +2 -10
  70. package/lib/Divider/Divider.js +23 -31
  71. package/lib/Divider/index.js +2 -10
  72. package/lib/DownloadApp/DownloadApp.js +32 -40
  73. package/lib/DownloadApp/dictionary.js +2 -9
  74. package/lib/DownloadApp/index.js +2 -10
  75. package/lib/ExpandCollapse/Accordion.js +7 -13
  76. package/lib/ExpandCollapse/Control.js +26 -34
  77. package/lib/ExpandCollapse/ExpandCollapse.js +22 -30
  78. package/lib/ExpandCollapse/Panel.js +43 -51
  79. package/lib/ExpandCollapse/dictionary.js +2 -9
  80. package/lib/ExpandCollapse/index.js +7 -20
  81. package/lib/Feedback/Feedback.js +33 -41
  82. package/lib/Feedback/index.js +2 -10
  83. package/lib/Fieldset/Fieldset.js +37 -43
  84. package/lib/Fieldset/FieldsetContainer.js +17 -25
  85. package/lib/Fieldset/FieldsetContainer.native.js +12 -20
  86. package/lib/Fieldset/Legend.js +10 -16
  87. package/lib/Fieldset/Legend.native.js +11 -17
  88. package/lib/Fieldset/cssReset.js +2 -9
  89. package/lib/Fieldset/index.js +2 -10
  90. package/lib/FileUpload/FileUpload.js +50 -58
  91. package/lib/FileUpload/NotificationContent.js +12 -18
  92. package/lib/FileUpload/dictionary.js +2 -9
  93. package/lib/FileUpload/index.js +2 -10
  94. package/lib/FlexGrid/Col/Col.js +35 -43
  95. package/lib/FlexGrid/Col/index.js +2 -10
  96. package/lib/FlexGrid/FlexGrid.js +38 -46
  97. package/lib/FlexGrid/Row/Row.js +24 -32
  98. package/lib/FlexGrid/Row/index.js +2 -10
  99. package/lib/FlexGrid/helpers/index.js +1 -8
  100. package/lib/FlexGrid/index.js +2 -10
  101. package/lib/FlexGrid/providers/GutterContext.js +3 -11
  102. package/lib/Footnote/Footnote.js +63 -71
  103. package/lib/Footnote/FootnoteLink.js +30 -38
  104. package/lib/Footnote/dictionary.js +2 -9
  105. package/lib/Footnote/index.js +4 -12
  106. package/lib/HorizontalScroll/HorizontalScroll.js +32 -41
  107. package/lib/HorizontalScroll/HorizontalScrollButton.js +25 -33
  108. package/lib/HorizontalScroll/ScrollViewEnd.js +12 -20
  109. package/lib/HorizontalScroll/ScrollViewEnd.native.js +9 -16
  110. package/lib/HorizontalScroll/dictionary.js +2 -9
  111. package/lib/HorizontalScroll/index.js +11 -28
  112. package/lib/HorizontalScroll/itemPositions.js +17 -27
  113. package/lib/Icon/Icon.js +21 -30
  114. package/lib/Icon/IconText.js +29 -39
  115. package/lib/Icon/index.js +4 -25
  116. package/lib/IconButton/IconButton.js +35 -42
  117. package/lib/IconButton/index.js +2 -10
  118. package/lib/InputLabel/InputLabel.js +38 -47
  119. package/lib/InputLabel/LabelContent.js +8 -16
  120. package/lib/InputLabel/LabelContent.native.js +8 -17
  121. package/lib/InputLabel/index.js +2 -10
  122. package/lib/InputSupports/InputSupports.js +27 -35
  123. package/lib/InputSupports/index.js +2 -10
  124. package/lib/InputSupports/useInputSupports.js +5 -13
  125. package/lib/Link/ChevronLink.js +22 -28
  126. package/lib/Link/InlinePressable.js +13 -19
  127. package/lib/Link/InlinePressable.native.js +14 -23
  128. package/lib/Link/Link.js +9 -17
  129. package/lib/Link/LinkBase.js +40 -48
  130. package/lib/Link/TextButton.js +16 -22
  131. package/lib/Link/index.js +5 -34
  132. package/lib/List/List.js +22 -30
  133. package/lib/List/ListItem.js +12 -18
  134. package/lib/List/ListItemBase.js +33 -40
  135. package/lib/List/ListItemContent.js +22 -31
  136. package/lib/List/ListItemMark.js +24 -33
  137. package/lib/List/PressableListItemBase.js +32 -40
  138. package/lib/List/index.js +5 -24
  139. package/lib/Listbox/GroupControl.js +29 -33
  140. package/lib/Listbox/Listbox.js +40 -50
  141. package/lib/Listbox/ListboxContext.js +4 -12
  142. package/lib/Listbox/ListboxGroup.js +31 -40
  143. package/lib/Listbox/ListboxItem.js +23 -31
  144. package/lib/Listbox/ListboxOverlay.js +26 -35
  145. package/lib/Listbox/PressableItem.js +22 -30
  146. package/lib/Listbox/index.js +2 -10
  147. package/lib/Modal/Modal.js +75 -85
  148. package/lib/Modal/ModalContent.js +51 -58
  149. package/lib/Modal/WebModal.js +15 -23
  150. package/lib/Modal/dictionary.js +2 -9
  151. package/lib/Modal/index.js +2 -10
  152. package/lib/MultiSelectFilter/ModalOverlay.js +45 -53
  153. package/lib/MultiSelectFilter/MultiSelectFilter.js +110 -118
  154. package/lib/MultiSelectFilter/dictionary.js +2 -9
  155. package/lib/MultiSelectFilter/index.js +2 -10
  156. package/lib/Notification/Notification.js +59 -67
  157. package/lib/Notification/dictionary.js +2 -9
  158. package/lib/Notification/index.js +2 -10
  159. package/lib/OrderedList/Item.js +31 -39
  160. package/lib/OrderedList/ItemBase.js +13 -22
  161. package/lib/OrderedList/OrderedList.js +17 -25
  162. package/lib/OrderedList/OrderedListBase.js +12 -21
  163. package/lib/OrderedList/index.js +2 -10
  164. package/lib/Pagination/PageButton.js +22 -32
  165. package/lib/Pagination/Pagination.js +48 -51
  166. package/lib/Pagination/SideButton.js +25 -32
  167. package/lib/Pagination/constants.js +3 -0
  168. package/lib/Pagination/dictionary.js +2 -9
  169. package/lib/Pagination/index.js +2 -10
  170. package/lib/Pagination/usePagination.js +14 -12
  171. package/lib/Portal/Portal.js +8 -15
  172. package/lib/Portal/Portal.native.js +2 -9
  173. package/lib/Portal/index.js +2 -10
  174. package/lib/PriceLockup/PriceLockup.js +37 -45
  175. package/lib/PriceLockup/index.js +2 -10
  176. package/lib/PriceLockup/utils/renderFootnoteContent.js +20 -28
  177. package/lib/PriceLockup/utils/renderFootnoteLinks.js +5 -13
  178. package/lib/PriceLockup/utils/renderPrice.js +30 -38
  179. package/lib/PriceLockup/utils/renderTypography.js +5 -13
  180. package/lib/ProductCard/ProductCard.js +62 -70
  181. package/lib/ProductCard/dictionary.js +2 -9
  182. package/lib/ProductCard/index.js +2 -10
  183. package/lib/ProductCardGroup/ProductCardGroup.js +20 -28
  184. package/lib/ProductCardGroup/index.js +2 -10
  185. package/lib/Progress/Progress.js +15 -23
  186. package/lib/Progress/ProgressBar.js +23 -31
  187. package/lib/Progress/ProgressBarBackground.js +10 -18
  188. package/lib/Progress/index.js +4 -12
  189. package/lib/QuickLinks/QuickLinks.js +23 -29
  190. package/lib/QuickLinks/QuickLinksCard.js +14 -20
  191. package/lib/QuickLinks/QuickLinksItem.js +22 -28
  192. package/lib/QuickLinks/index.js +4 -12
  193. package/lib/QuickLinksFeature/QuickLinksFeature.js +20 -27
  194. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +31 -38
  195. package/lib/QuickLinksFeature/index.js +4 -12
  196. package/lib/Radio/Radio.js +43 -53
  197. package/lib/Radio/RadioButton.js +34 -43
  198. package/lib/Radio/RadioGroup.js +43 -51
  199. package/lib/Radio/RadioInput.js +15 -21
  200. package/lib/Radio/RadioInput.native.js +1 -8
  201. package/lib/Radio/index.js +3 -17
  202. package/lib/RadioCard/RadioCard.js +43 -53
  203. package/lib/RadioCard/RadioCardGroup.js +42 -52
  204. package/lib/RadioCard/index.js +3 -17
  205. package/lib/Responsive/Responsive.js +16 -22
  206. package/lib/Responsive/ResponsiveProp.js +13 -21
  207. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +15 -23
  208. package/lib/Responsive/index.js +2 -10
  209. package/lib/Search/Search.js +47 -55
  210. package/lib/Search/dictionary.js +2 -9
  211. package/lib/Search/index.js +2 -10
  212. package/lib/Select/Group.js +9 -17
  213. package/lib/Select/Group.native.js +5 -13
  214. package/lib/Select/Item.js +8 -16
  215. package/lib/Select/Item.native.js +1 -8
  216. package/lib/Select/Picker.js +27 -35
  217. package/lib/Select/Picker.native.js +34 -41
  218. package/lib/Select/Select.js +45 -54
  219. package/lib/Select/constants.js +4 -14
  220. package/lib/Select/index.js +6 -14
  221. package/lib/SideNav/Item.js +29 -37
  222. package/lib/SideNav/ItemContent.js +17 -26
  223. package/lib/SideNav/ItemsGroup.js +25 -32
  224. package/lib/SideNav/SideNav.js +28 -38
  225. package/lib/SideNav/index.js +1 -13
  226. package/lib/Skeleton/Skeleton.js +32 -40
  227. package/lib/Skeleton/index.js +2 -10
  228. package/lib/Skeleton/skeleton.constant.js +2 -10
  229. package/lib/Skeleton/skeletonWebAnimation.js +1 -8
  230. package/lib/Skeleton/useSkeletonNativeAnimation.js +14 -22
  231. package/lib/SkipLink/SkipLink.js +24 -33
  232. package/lib/SkipLink/index.js +2 -10
  233. package/lib/Spacer/Spacer.js +15 -21
  234. package/lib/Spacer/index.js +2 -10
  235. package/lib/StackView/StackView.js +28 -36
  236. package/lib/StackView/StackWrap.js +14 -21
  237. package/lib/StackView/StackWrap.native.js +2 -9
  238. package/lib/StackView/StackWrapBox.js +27 -35
  239. package/lib/StackView/StackWrapGap.js +22 -30
  240. package/lib/StackView/common.js +4 -13
  241. package/lib/StackView/getStackedContent.js +14 -22
  242. package/lib/StackView/index.js +5 -24
  243. package/lib/Status/Status.js +27 -35
  244. package/lib/Status/index.js +2 -10
  245. package/lib/StepTracker/Step.js +35 -43
  246. package/lib/StepTracker/StepTracker.js +38 -46
  247. package/lib/StepTracker/dictionary.js +2 -9
  248. package/lib/StepTracker/index.js +2 -10
  249. package/lib/TabBar/TabBar.js +28 -36
  250. package/lib/TabBar/TabBarItem.js +33 -42
  251. package/lib/TabBar/index.js +2 -10
  252. package/lib/Tabs/Tabs.js +38 -48
  253. package/lib/Tabs/TabsItem.js +45 -53
  254. package/lib/Tabs/index.js +2 -10
  255. package/lib/Tags/Tags.js +47 -55
  256. package/lib/Tags/index.js +2 -10
  257. package/lib/TextInput/TextArea.js +19 -27
  258. package/lib/TextInput/TextInput.js +18 -26
  259. package/lib/TextInput/TextInputBase.js +64 -73
  260. package/lib/TextInput/dictionary.js +2 -9
  261. package/lib/TextInput/index.js +3 -20
  262. package/lib/TextInput/propTypes.js +8 -15
  263. package/lib/ThemeProvider/ThemeProvider.js +25 -36
  264. package/lib/ThemeProvider/index.js +7 -60
  265. package/lib/ThemeProvider/useResponsiveThemeTokens.js +10 -18
  266. package/lib/ThemeProvider/useSetTheme.js +5 -12
  267. package/lib/ThemeProvider/useTheme.js +4 -11
  268. package/lib/ThemeProvider/useThemeTokens.js +15 -24
  269. package/lib/ThemeProvider/utils/index.js +2 -27
  270. package/lib/ThemeProvider/utils/styles.js +12 -24
  271. package/lib/ThemeProvider/utils/theme-tokens.js +19 -34
  272. package/lib/Timeline/Timeline.js +28 -34
  273. package/lib/Timeline/index.js +2 -10
  274. package/lib/ToggleSwitch/ToggleSwitch.js +40 -48
  275. package/lib/ToggleSwitch/ToggleSwitchGroup.js +43 -51
  276. package/lib/ToggleSwitch/index.js +3 -20
  277. package/lib/Tooltip/Backdrop.js +8 -16
  278. package/lib/Tooltip/Backdrop.native.js +16 -22
  279. package/lib/Tooltip/Tooltip.js +42 -50
  280. package/lib/Tooltip/Tooltip.native.js +80 -61
  281. package/lib/Tooltip/dictionary.js +2 -9
  282. package/lib/Tooltip/getTooltipPosition.js +1 -9
  283. package/lib/Tooltip/index.js +5 -13
  284. package/lib/Tooltip/shared.js +17 -20
  285. package/lib/TooltipButton/TooltipButton.js +25 -33
  286. package/lib/TooltipButton/index.js +2 -10
  287. package/lib/Typography/Typography.js +39 -46
  288. package/lib/Typography/index.js +2 -10
  289. package/lib/Validator/Validator.js +42 -50
  290. package/lib/Validator/index.js +2 -10
  291. package/lib/ViewportProvider/ViewportProvider.js +13 -19
  292. package/lib/ViewportProvider/index.js +3 -23
  293. package/lib/ViewportProvider/useViewport.js +3 -11
  294. package/lib/ViewportProvider/useViewportListener.js +10 -17
  295. package/lib/index.js +71 -772
  296. package/lib/server.js +4 -40
  297. package/lib/utils/BaseView/BaseView.js +14 -20
  298. package/lib/utils/BaseView/BaseView.native.js +2 -10
  299. package/lib/utils/BaseView/index.js +2 -10
  300. package/lib/utils/a11y/index.js +2 -27
  301. package/lib/utils/a11y/semantics.js +11 -35
  302. package/lib/utils/a11y/textSize.js +7 -16
  303. package/lib/utils/animation/index.js +2 -13
  304. package/lib/utils/animation/useVerticalExpandAnimation.js +19 -26
  305. package/lib/utils/children.js +12 -20
  306. package/lib/utils/containUniqueFields.js +1 -8
  307. package/lib/utils/convertFromMegaByteToByte.js +1 -7
  308. package/lib/utils/floating-ui/index.js +1 -42
  309. package/lib/utils/floating-ui/index.native.js +1 -42
  310. package/lib/utils/formatImageSource.js +1 -8
  311. package/lib/utils/hasOwnProperty.js +1 -7
  312. package/lib/utils/htmlAttrs.js +11 -19
  313. package/lib/utils/index.js +25 -245
  314. package/lib/utils/info/index.js +6 -13
  315. package/lib/utils/info/platform/index.js +8 -13
  316. package/lib/utils/info/platform/platform.android.js +1 -8
  317. package/lib/utils/info/platform/platform.ios.js +1 -8
  318. package/lib/utils/info/platform/platform.js +1 -8
  319. package/lib/utils/info/platform/platform.native.js +1 -8
  320. package/lib/utils/info/versions.js +4 -11
  321. package/lib/utils/input.js +13 -21
  322. package/lib/utils/pressability.js +14 -22
  323. package/lib/utils/props/a11yProps.js +90 -98
  324. package/lib/utils/props/clickProps.js +4 -12
  325. package/lib/utils/props/componentPropType.js +1 -7
  326. package/lib/utils/props/copyPropTypes.js +2 -10
  327. package/lib/utils/props/getPropSelector.js +6 -11
  328. package/lib/utils/props/handlerProps.js +23 -31
  329. package/lib/utils/props/hrefAttrsProp.js +6 -13
  330. package/lib/utils/props/index.js +19 -168
  331. package/lib/utils/props/inputSupportsProps.js +12 -20
  332. package/lib/utils/props/linkProps.js +16 -24
  333. package/lib/utils/props/paddingProp.js +8 -16
  334. package/lib/utils/props/pressProps.js +22 -31
  335. package/lib/utils/props/rectProp.js +8 -16
  336. package/lib/utils/props/responsiveProps.js +5 -13
  337. package/lib/utils/props/selectSystemProps.js +1 -7
  338. package/lib/utils/props/spacingProps.js +12 -19
  339. package/lib/utils/props/textInputProps.js +56 -62
  340. package/lib/utils/props/textProps.js +18 -24
  341. package/lib/utils/props/tokens.js +16 -26
  342. package/lib/utils/props/variantProp.js +4 -11
  343. package/lib/utils/props/viewProps.js +10 -18
  344. package/lib/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +8 -16
  345. package/lib/utils/ssr-media-query/create-stylesheet/index.android.js +2 -10
  346. package/lib/utils/ssr-media-query/create-stylesheet/index.ios.js +2 -10
  347. package/lib/utils/ssr-media-query/create-stylesheet/index.js +12 -20
  348. package/lib/utils/ssr-media-query/hash.js +1 -7
  349. package/lib/utils/ssr-media-query/index.js +4 -17
  350. package/lib/utils/ssr-media-query/utils/common.js +1 -12
  351. package/lib/utils/ssr-media-query/utils/create-declaration-block.js +6 -14
  352. package/lib/utils/ssr-media-query/utils/create-media-query-styles.js +5 -12
  353. package/lib/utils/ssr-media-query/utils/hyphenate-style-name.js +1 -8
  354. package/lib/utils/ssr-media-query/utils/inject.js +8 -18
  355. package/lib/utils/ssr.js +19 -28
  356. package/lib/utils/transformGradient.js +3 -11
  357. package/lib/utils/useCopy.js +2 -10
  358. package/lib/utils/useHash.js +7 -14
  359. package/lib/utils/useHash.native.js +1 -8
  360. package/lib/utils/useOverlaidPosition.js +17 -25
  361. package/lib/utils/useResponsiveProp.js +10 -19
  362. package/lib/utils/useSafeLayoutEffect.js +6 -13
  363. package/lib/utils/useScrollBlocking.js +10 -17
  364. package/lib/utils/useScrollBlocking.native.js +1 -8
  365. package/lib/utils/useSpacingScale.js +7 -14
  366. package/lib/utils/useUniqueId.js +3 -10
  367. package/lib/utils/withLinkRouter.js +13 -19
  368. package/package.json +20 -25
  369. package/src/A11yInfoProvider/index.jsx +5 -2
  370. package/src/ActivityIndicator/index.jsx +12 -3
  371. package/src/BaseProvider/index.jsx +5 -2
  372. package/src/Carousel/Carousel.jsx +1 -1
  373. package/src/Carousel/CarouselItem/CarouselItem.jsx +16 -22
  374. package/src/Icon/IconText.jsx +0 -1
  375. package/src/InputLabel/InputLabel.jsx +2 -3
  376. package/src/List/ListItemBase.jsx +6 -1
  377. package/src/Listbox/GroupControl.jsx +6 -1
  378. package/src/Modal/ModalContent.jsx +3 -2
  379. package/src/Pagination/Pagination.jsx +9 -2
  380. package/src/Pagination/constants.js +3 -0
  381. package/src/Pagination/usePagination.js +14 -3
  382. package/src/TextInput/TextInputBase.jsx +1 -1
  383. package/src/Timeline/Timeline.jsx +6 -2
  384. package/src/Tooltip/Tooltip.native.jsx +31 -3
  385. package/src/Tooltip/shared.js +5 -0
  386. package/src/index.js +9 -10
  387. package/src/utils/a11y/semantics.js +0 -7
  388. package/types/FileUpload.d.ts +40 -0
  389. package/types/index.d.ts +3 -0
  390. package/lib-module/A11yInfoProvider/index.js +0 -62
  391. package/lib-module/A11yText/index.js +0 -68
  392. package/lib-module/ActionCard/ActionCard.js +0 -343
  393. package/lib-module/ActionCard/index.js +0 -2
  394. package/lib-module/ActivityIndicator/Spinner.js +0 -80
  395. package/lib-module/ActivityIndicator/Spinner.native.js +0 -144
  396. package/lib-module/ActivityIndicator/index.js +0 -44
  397. package/lib-module/ActivityIndicator/shared.js +0 -14
  398. package/lib-module/Autocomplete/Autocomplete.js +0 -481
  399. package/lib-module/Autocomplete/Loading.js +0 -36
  400. package/lib-module/Autocomplete/Suggestions.js +0 -66
  401. package/lib-module/Autocomplete/constants.js +0 -4
  402. package/lib-module/Autocomplete/dictionary.js +0 -12
  403. package/lib-module/Autocomplete/index.js +0 -2
  404. package/lib-module/Badge/Badge.js +0 -102
  405. package/lib-module/Badge/index.js +0 -2
  406. package/lib-module/BaseProvider/HydrationContext.js +0 -48
  407. package/lib-module/BaseProvider/index.js +0 -38
  408. package/lib-module/Box/Box.js +0 -379
  409. package/lib-module/Box/backgroundImageStylesMap.js +0 -94
  410. package/lib-module/Box/index.js +0 -2
  411. package/lib-module/Button/Button.js +0 -34
  412. package/lib-module/Button/ButtonBase.js +0 -347
  413. package/lib-module/Button/ButtonDropdown.js +0 -173
  414. package/lib-module/Button/ButtonGroup.js +0 -272
  415. package/lib-module/Button/ButtonLink.js +0 -50
  416. package/lib-module/Button/index.js +0 -5
  417. package/lib-module/Button/propTypes.js +0 -46
  418. package/lib-module/Card/Card.js +0 -330
  419. package/lib-module/Card/CardBase.js +0 -114
  420. package/lib-module/Card/PressableCardBase.js +0 -112
  421. package/lib-module/Card/index.js +0 -4
  422. package/lib-module/CardGroup/CardGroup.js +0 -210
  423. package/lib-module/CardGroup/dictionary.js +0 -8
  424. package/lib-module/CardGroup/index.js +0 -2
  425. package/lib-module/Carousel/Carousel.js +0 -894
  426. package/lib-module/Carousel/CarouselContext.js +0 -51
  427. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +0 -53
  428. package/lib-module/Carousel/CarouselItem/CarouselItem.js +0 -150
  429. package/lib-module/Carousel/CarouselItem/index.js +0 -2
  430. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -54
  431. package/lib-module/Carousel/CarouselStepTracker/index.js +0 -2
  432. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +0 -50
  433. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +0 -89
  434. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +0 -118
  435. package/lib-module/Carousel/CarouselTabs/index.js +0 -2
  436. package/lib-module/Carousel/CarouselThumbnail.js +0 -113
  437. package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -71
  438. package/lib-module/Carousel/dictionary.js +0 -22
  439. package/lib-module/Carousel/index.js +0 -3
  440. package/lib-module/Checkbox/Checkbox.js +0 -343
  441. package/lib-module/Checkbox/CheckboxButton.js +0 -164
  442. package/lib-module/Checkbox/CheckboxGroup.js +0 -240
  443. package/lib-module/Checkbox/CheckboxInput.js +0 -50
  444. package/lib-module/Checkbox/CheckboxInput.native.js +0 -5
  445. package/lib-module/Checkbox/index.js +0 -3
  446. package/lib-module/CheckboxCard/CheckboxCard.js +0 -183
  447. package/lib-module/CheckboxCard/index.js +0 -2
  448. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +0 -206
  449. package/lib-module/CheckboxCardGroup/index.js +0 -2
  450. package/lib-module/ColourToggle/ColourBubble.js +0 -126
  451. package/lib-module/ColourToggle/ColourToggle.js +0 -92
  452. package/lib-module/ColourToggle/index.js +0 -2
  453. package/lib-module/Divider/Divider.js +0 -133
  454. package/lib-module/Divider/index.js +0 -2
  455. package/lib-module/DownloadApp/DownloadApp.js +0 -160
  456. package/lib-module/DownloadApp/dictionary.js +0 -10
  457. package/lib-module/DownloadApp/index.js +0 -2
  458. package/lib-module/ExpandCollapse/Accordion.js +0 -15
  459. package/lib-module/ExpandCollapse/Control.js +0 -165
  460. package/lib-module/ExpandCollapse/ExpandCollapse.js +0 -98
  461. package/lib-module/ExpandCollapse/Panel.js +0 -242
  462. package/lib-module/ExpandCollapse/dictionary.js +0 -10
  463. package/lib-module/ExpandCollapse/index.js +0 -7
  464. package/lib-module/Feedback/Feedback.js +0 -161
  465. package/lib-module/Feedback/index.js +0 -2
  466. package/lib-module/Fieldset/Fieldset.js +0 -194
  467. package/lib-module/Fieldset/FieldsetContainer.js +0 -48
  468. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -32
  469. package/lib-module/Fieldset/Legend.js +0 -24
  470. package/lib-module/Fieldset/Legend.native.js +0 -31
  471. package/lib-module/Fieldset/cssReset.js +0 -14
  472. package/lib-module/Fieldset/index.js +0 -2
  473. package/lib-module/FileUpload/FileUpload.js +0 -329
  474. package/lib-module/FileUpload/NotificationContent.js +0 -55
  475. package/lib-module/FileUpload/dictionary.js +0 -40
  476. package/lib-module/FileUpload/index.js +0 -2
  477. package/lib-module/FlexGrid/Col/Col.js +0 -257
  478. package/lib-module/FlexGrid/Col/index.js +0 -2
  479. package/lib-module/FlexGrid/FlexGrid.js +0 -158
  480. package/lib-module/FlexGrid/Row/Row.js +0 -181
  481. package/lib-module/FlexGrid/Row/index.js +0 -2
  482. package/lib-module/FlexGrid/helpers/index.js +0 -15
  483. package/lib-module/FlexGrid/index.js +0 -2
  484. package/lib-module/FlexGrid/providers/GutterContext.js +0 -3
  485. package/lib-module/Footnote/Footnote.js +0 -317
  486. package/lib-module/Footnote/FootnoteLink.js +0 -107
  487. package/lib-module/Footnote/dictionary.js +0 -12
  488. package/lib-module/Footnote/index.js +0 -4
  489. package/lib-module/HorizontalScroll/HorizontalScroll.js +0 -165
  490. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +0 -79
  491. package/lib-module/HorizontalScroll/ScrollViewEnd.js +0 -46
  492. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -26
  493. package/lib-module/HorizontalScroll/dictionary.js +0 -11
  494. package/lib-module/HorizontalScroll/index.js +0 -11
  495. package/lib-module/HorizontalScroll/itemPositions.js +0 -113
  496. package/lib-module/Icon/Icon.js +0 -93
  497. package/lib-module/Icon/IconText.js +0 -114
  498. package/lib-module/Icon/index.js +0 -4
  499. package/lib-module/IconButton/IconButton.js +0 -203
  500. package/lib-module/IconButton/index.js +0 -2
  501. package/lib-module/InputLabel/InputLabel.js +0 -146
  502. package/lib-module/InputLabel/LabelContent.js +0 -28
  503. package/lib-module/InputLabel/LabelContent.native.js +0 -18
  504. package/lib-module/InputLabel/index.js +0 -2
  505. package/lib-module/InputSupports/InputSupports.js +0 -108
  506. package/lib-module/InputSupports/index.js +0 -2
  507. package/lib-module/InputSupports/useInputSupports.js +0 -31
  508. package/lib-module/Link/ChevronLink.js +0 -68
  509. package/lib-module/Link/InlinePressable.js +0 -48
  510. package/lib-module/Link/InlinePressable.native.js +0 -87
  511. package/lib-module/Link/Link.js +0 -28
  512. package/lib-module/Link/LinkBase.js +0 -269
  513. package/lib-module/Link/TextButton.js +0 -43
  514. package/lib-module/Link/index.js +0 -5
  515. package/lib-module/List/List.js +0 -77
  516. package/lib-module/List/ListItem.js +0 -32
  517. package/lib-module/List/ListItemBase.js +0 -164
  518. package/lib-module/List/ListItemContent.js +0 -73
  519. package/lib-module/List/ListItemMark.js +0 -126
  520. package/lib-module/List/PressableListItemBase.js +0 -112
  521. package/lib-module/List/index.js +0 -5
  522. package/lib-module/Listbox/GroupControl.js +0 -102
  523. package/lib-module/Listbox/Listbox.js +0 -172
  524. package/lib-module/Listbox/ListboxContext.js +0 -4
  525. package/lib-module/Listbox/ListboxGroup.js +0 -125
  526. package/lib-module/Listbox/ListboxItem.js +0 -76
  527. package/lib-module/Listbox/ListboxOverlay.js +0 -78
  528. package/lib-module/Listbox/PressableItem.js +0 -140
  529. package/lib-module/Listbox/index.js +0 -2
  530. package/lib-module/Modal/Modal.js +0 -373
  531. package/lib-module/Modal/ModalContent.js +0 -179
  532. package/lib-module/Modal/WebModal.js +0 -76
  533. package/lib-module/Modal/dictionary.js +0 -9
  534. package/lib-module/Modal/index.js +0 -2
  535. package/lib-module/MultiSelectFilter/ModalOverlay.js +0 -156
  536. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +0 -526
  537. package/lib-module/MultiSelectFilter/dictionary.js +0 -12
  538. package/lib-module/MultiSelectFilter/index.js +0 -2
  539. package/lib-module/Notification/Notification.js +0 -429
  540. package/lib-module/Notification/dictionary.js +0 -8
  541. package/lib-module/Notification/index.js +0 -2
  542. package/lib-module/OrderedList/Item.js +0 -160
  543. package/lib-module/OrderedList/ItemBase.js +0 -43
  544. package/lib-module/OrderedList/OrderedList.js +0 -64
  545. package/lib-module/OrderedList/OrderedListBase.js +0 -36
  546. package/lib-module/OrderedList/index.js +0 -2
  547. package/lib-module/Pagination/PageButton.js +0 -74
  548. package/lib-module/Pagination/Pagination.js +0 -211
  549. package/lib-module/Pagination/SideButton.js +0 -113
  550. package/lib-module/Pagination/dictionary.js +0 -18
  551. package/lib-module/Pagination/index.js +0 -2
  552. package/lib-module/Pagination/usePagination.js +0 -69
  553. package/lib-module/Portal/Portal.js +0 -50
  554. package/lib-module/Portal/Portal.native.js +0 -2
  555. package/lib-module/Portal/index.js +0 -2
  556. package/lib-module/PriceLockup/PriceLockup.js +0 -225
  557. package/lib-module/PriceLockup/index.js +0 -2
  558. package/lib-module/PriceLockup/utils/renderFootnoteContent.js +0 -87
  559. package/lib-module/PriceLockup/utils/renderFootnoteLinks.js +0 -28
  560. package/lib-module/PriceLockup/utils/renderPrice.js +0 -141
  561. package/lib-module/PriceLockup/utils/renderTypography.js +0 -23
  562. package/lib-module/ProductCard/ProductCard.js +0 -232
  563. package/lib-module/ProductCard/dictionary.js +0 -38
  564. package/lib-module/ProductCard/index.js +0 -2
  565. package/lib-module/ProductCardGroup/ProductCardGroup.js +0 -70
  566. package/lib-module/ProductCardGroup/index.js +0 -2
  567. package/lib-module/Progress/Progress.js +0 -88
  568. package/lib-module/Progress/ProgressBar.js +0 -133
  569. package/lib-module/Progress/ProgressBarBackground.js +0 -40
  570. package/lib-module/Progress/index.js +0 -4
  571. package/lib-module/QuickLinks/QuickLinks.js +0 -78
  572. package/lib-module/QuickLinks/QuickLinksCard.js +0 -33
  573. package/lib-module/QuickLinks/QuickLinksItem.js +0 -51
  574. package/lib-module/QuickLinks/index.js +0 -4
  575. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +0 -69
  576. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +0 -147
  577. package/lib-module/QuickLinksFeature/index.js +0 -4
  578. package/lib-module/Radio/Radio.js +0 -283
  579. package/lib-module/Radio/RadioButton.js +0 -184
  580. package/lib-module/Radio/RadioGroup.js +0 -255
  581. package/lib-module/Radio/RadioInput.js +0 -50
  582. package/lib-module/Radio/RadioInput.native.js +0 -5
  583. package/lib-module/Radio/index.js +0 -3
  584. package/lib-module/RadioCard/RadioCard.js +0 -211
  585. package/lib-module/RadioCard/RadioCardGroup.js +0 -257
  586. package/lib-module/RadioCard/index.js +0 -3
  587. package/lib-module/Responsive/Responsive.js +0 -65
  588. package/lib-module/Responsive/ResponsiveProp.js +0 -39
  589. package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +0 -68
  590. package/lib-module/Responsive/index.js +0 -2
  591. package/lib-module/Search/Search.js +0 -242
  592. package/lib-module/Search/dictionary.js +0 -12
  593. package/lib-module/Search/index.js +0 -2
  594. package/lib-module/Select/Group.js +0 -24
  595. package/lib-module/Select/Group.native.js +0 -16
  596. package/lib-module/Select/Item.js +0 -23
  597. package/lib-module/Select/Item.native.js +0 -2
  598. package/lib-module/Select/Picker.js +0 -97
  599. package/lib-module/Select/Picker.native.js +0 -120
  600. package/lib-module/Select/Select.js +0 -337
  601. package/lib-module/Select/constants.js +0 -5
  602. package/lib-module/Select/index.js +0 -6
  603. package/lib-module/SideNav/Item.js +0 -143
  604. package/lib-module/SideNav/ItemContent.js +0 -50
  605. package/lib-module/SideNav/ItemsGroup.js +0 -121
  606. package/lib-module/SideNav/SideNav.js +0 -131
  607. package/lib-module/SideNav/index.js +0 -1
  608. package/lib-module/Skeleton/Skeleton.js +0 -177
  609. package/lib-module/Skeleton/index.js +0 -2
  610. package/lib-module/Skeleton/skeleton.constant.js +0 -2
  611. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -14
  612. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +0 -28
  613. package/lib-module/SkipLink/SkipLink.js +0 -190
  614. package/lib-module/SkipLink/index.js +0 -2
  615. package/lib-module/Spacer/Spacer.js +0 -95
  616. package/lib-module/Spacer/index.js +0 -2
  617. package/lib-module/StackView/StackView.js +0 -126
  618. package/lib-module/StackView/StackWrap.js +0 -51
  619. package/lib-module/StackView/StackWrap.native.js +0 -4
  620. package/lib-module/StackView/StackWrapBox.js +0 -114
  621. package/lib-module/StackView/StackWrapGap.js +0 -61
  622. package/lib-module/StackView/common.js +0 -35
  623. package/lib-module/StackView/getStackedContent.js +0 -123
  624. package/lib-module/StackView/index.js +0 -5
  625. package/lib-module/Status/Status.js +0 -167
  626. package/lib-module/Status/index.js +0 -2
  627. package/lib-module/StepTracker/Step.js +0 -265
  628. package/lib-module/StepTracker/StepTracker.js +0 -208
  629. package/lib-module/StepTracker/dictionary.js +0 -30
  630. package/lib-module/StepTracker/index.js +0 -2
  631. package/lib-module/TabBar/TabBar.js +0 -125
  632. package/lib-module/TabBar/TabBarItem.js +0 -177
  633. package/lib-module/TabBar/index.js +0 -2
  634. package/lib-module/Tabs/Tabs.js +0 -179
  635. package/lib-module/Tabs/TabsItem.js +0 -239
  636. package/lib-module/Tabs/index.js +0 -2
  637. package/lib-module/Tags/Tags.js +0 -245
  638. package/lib-module/Tags/index.js +0 -2
  639. package/lib-module/TextInput/TextArea.js +0 -97
  640. package/lib-module/TextInput/TextInput.js +0 -80
  641. package/lib-module/TextInput/TextInputBase.js +0 -436
  642. package/lib-module/TextInput/dictionary.js +0 -12
  643. package/lib-module/TextInput/index.js +0 -3
  644. package/lib-module/TextInput/propTypes.js +0 -34
  645. package/lib-module/ThemeProvider/ThemeProvider.js +0 -84
  646. package/lib-module/ThemeProvider/index.js +0 -7
  647. package/lib-module/ThemeProvider/useResponsiveThemeTokens.js +0 -81
  648. package/lib-module/ThemeProvider/useSetTheme.js +0 -24
  649. package/lib-module/ThemeProvider/useTheme.js +0 -11
  650. package/lib-module/ThemeProvider/useThemeTokens.js +0 -109
  651. package/lib-module/ThemeProvider/utils/index.js +0 -2
  652. package/lib-module/ThemeProvider/utils/styles.js +0 -198
  653. package/lib-module/ThemeProvider/utils/theme-tokens.js +0 -160
  654. package/lib-module/Timeline/Timeline.js +0 -168
  655. package/lib-module/Timeline/index.js +0 -2
  656. package/lib-module/ToggleSwitch/ToggleSwitch.js +0 -280
  657. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +0 -208
  658. package/lib-module/ToggleSwitch/index.js +0 -3
  659. package/lib-module/Tooltip/Backdrop.js +0 -50
  660. package/lib-module/Tooltip/Backdrop.native.js +0 -41
  661. package/lib-module/Tooltip/Tooltip.js +0 -280
  662. package/lib-module/Tooltip/Tooltip.native.js +0 -328
  663. package/lib-module/Tooltip/dictionary.js +0 -8
  664. package/lib-module/Tooltip/getTooltipPosition.js +0 -170
  665. package/lib-module/Tooltip/index.js +0 -5
  666. package/lib-module/Tooltip/shared.js +0 -36
  667. package/lib-module/TooltipButton/TooltipButton.js +0 -90
  668. package/lib-module/TooltipButton/index.js +0 -2
  669. package/lib-module/Typography/Typography.js +0 -254
  670. package/lib-module/Typography/index.js +0 -2
  671. package/lib-module/Validator/Validator.js +0 -222
  672. package/lib-module/Validator/index.js +0 -2
  673. package/lib-module/ViewportProvider/ViewportProvider.js +0 -27
  674. package/lib-module/ViewportProvider/index.js +0 -3
  675. package/lib-module/ViewportProvider/useViewport.js +0 -3
  676. package/lib-module/ViewportProvider/useViewportListener.js +0 -37
  677. package/lib-module/index.js +0 -76
  678. package/lib-module/server.js +0 -4
  679. package/lib-module/utils/BaseView/BaseView.js +0 -42
  680. package/lib-module/utils/BaseView/BaseView.native.js +0 -5
  681. package/lib-module/utils/BaseView/index.js +0 -2
  682. package/lib-module/utils/a11y/index.js +0 -2
  683. package/lib-module/utils/a11y/semantics.js +0 -144
  684. package/lib-module/utils/a11y/textSize.js +0 -35
  685. package/lib-module/utils/animation/index.js +0 -2
  686. package/lib-module/utils/animation/useVerticalExpandAnimation.js +0 -86
  687. package/lib-module/utils/children.js +0 -117
  688. package/lib-module/utils/containUniqueFields.js +0 -24
  689. package/lib-module/utils/convertFromMegaByteToByte.js +0 -10
  690. package/lib-module/utils/floating-ui/index.js +0 -1
  691. package/lib-module/utils/floating-ui/index.native.js +0 -1
  692. package/lib-module/utils/formatImageSource.js +0 -27
  693. package/lib-module/utils/hasOwnProperty.js +0 -11
  694. package/lib-module/utils/htmlAttrs.js +0 -23
  695. package/lib-module/utils/index.js +0 -25
  696. package/lib-module/utils/info/index.js +0 -8
  697. package/lib-module/utils/info/platform/index.js +0 -14
  698. package/lib-module/utils/info/platform/platform.android.js +0 -1
  699. package/lib-module/utils/info/platform/platform.ios.js +0 -1
  700. package/lib-module/utils/info/platform/platform.js +0 -1
  701. package/lib-module/utils/info/platform/platform.native.js +0 -4
  702. package/lib-module/utils/info/versions.js +0 -6
  703. package/lib-module/utils/input.js +0 -185
  704. package/lib-module/utils/pressability.js +0 -112
  705. package/lib-module/utils/props/a11yProps.js +0 -310
  706. package/lib-module/utils/props/clickProps.js +0 -25
  707. package/lib-module/utils/props/componentPropType.js +0 -50
  708. package/lib-module/utils/props/copyPropTypes.js +0 -2
  709. package/lib-module/utils/props/getPropSelector.js +0 -52
  710. package/lib-module/utils/props/handlerProps.js +0 -105
  711. package/lib-module/utils/props/hrefAttrsProp.js +0 -33
  712. package/lib-module/utils/props/index.js +0 -19
  713. package/lib-module/utils/props/inputSupportsProps.js +0 -68
  714. package/lib-module/utils/props/linkProps.js +0 -43
  715. package/lib-module/utils/props/paddingProp.js +0 -9
  716. package/lib-module/utils/props/pressProps.js +0 -42
  717. package/lib-module/utils/props/rectProp.js +0 -9
  718. package/lib-module/utils/props/responsiveProps.js +0 -28
  719. package/lib-module/utils/props/selectSystemProps.js +0 -23
  720. package/lib-module/utils/props/spacingProps.js +0 -57
  721. package/lib-module/utils/props/textInputProps.js +0 -188
  722. package/lib-module/utils/props/textProps.js +0 -61
  723. package/lib-module/utils/props/tokens.js +0 -130
  724. package/lib-module/utils/props/variantProp.js +0 -18
  725. package/lib-module/utils/props/viewProps.js +0 -21
  726. package/lib-module/utils/ssr-media-query/create-stylesheet/create-stylesheet-mobile.js +0 -48
  727. package/lib-module/utils/ssr-media-query/create-stylesheet/index.android.js +0 -2
  728. package/lib-module/utils/ssr-media-query/create-stylesheet/index.ios.js +0 -2
  729. package/lib-module/utils/ssr-media-query/create-stylesheet/index.js +0 -36
  730. package/lib-module/utils/ssr-media-query/hash.js +0 -13
  731. package/lib-module/utils/ssr-media-query/index.js +0 -6
  732. package/lib-module/utils/ssr-media-query/utils/common.js +0 -33
  733. package/lib-module/utils/ssr-media-query/utils/create-declaration-block.js +0 -16
  734. package/lib-module/utils/ssr-media-query/utils/create-media-query-styles.js +0 -60
  735. package/lib-module/utils/ssr-media-query/utils/hyphenate-style-name.js +0 -12
  736. package/lib-module/utils/ssr-media-query/utils/inject.js +0 -39
  737. package/lib-module/utils/ssr.js +0 -142
  738. package/lib-module/utils/transformGradient.js +0 -15
  739. package/lib-module/utils/useCopy.js +0 -42
  740. package/lib-module/utils/useHash.js +0 -41
  741. package/lib-module/utils/useHash.native.js +0 -6
  742. package/lib-module/utils/useOverlaidPosition.js +0 -214
  743. package/lib-module/utils/useResponsiveProp.js +0 -45
  744. package/lib-module/utils/useSafeLayoutEffect.js +0 -28
  745. package/lib-module/utils/useScrollBlocking.js +0 -51
  746. package/lib-module/utils/useScrollBlocking.native.js +0 -2
  747. package/lib-module/utils/useSpacingScale.js +0 -123
  748. package/lib-module/utils/useUniqueId.js +0 -11
  749. package/lib-module/utils/withLinkRouter.js +0 -84
@@ -1,84 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { validateThemeTokensVersion } from './utils';
4
- import responsiveProps from '../utils/props/responsiveProps';
5
- import { jsx as _jsx } from "react/jsx-runtime";
6
- export const uninitialisedError = new Error('Theme context used outside of ThemeProvider');
7
- export const ThemeContext = /*#__PURE__*/React.createContext(uninitialisedError);
8
- export const ThemeSetterContext = /*#__PURE__*/React.createContext(uninitialisedError);
9
-
10
- // These options default to `true` in v1.x to match legacy defaults and avoid breaking changes.
11
- // This should change in future major releases to become "opt-in" legacy support.
12
- const defaultThemeOptions = {
13
- // TODO: switch `forceAbsoluteFontSizing` to be false by default in the next major version
14
- forceAbsoluteFontSizing: true,
15
- // TODO: switch `forceZIndex` to be false by default in the next major version
16
- forceZIndex: true,
17
- // TODO: switch `enableHelmetSSR` to be false by default in the next major version
18
- enableHelmetSSR: true,
19
- enableMediaQueryStyleSheet: false
20
- };
21
- const ThemeProvider = _ref => {
22
- let {
23
- children,
24
- defaultTheme,
25
- themeOptions = {}
26
- } = _ref;
27
- const [theme, setTheme] = React.useState(defaultTheme);
28
- React.useEffect(() => {
29
- if (theme.metadata.name !== defaultTheme.metadata.name) {
30
- setTheme(defaultTheme);
31
- }
32
- }, [theme.metadata.name, defaultTheme]);
33
- const appliedThemeOptions = {
34
- ...defaultThemeOptions,
35
- ...themeOptions
36
- };
37
-
38
- // Validate the theme tokens version on every render.
39
- // This will intentionally break the application when attempting to use an invalid theme.
40
- // This will surface an incompatibility quickly rather than allowing the potential for strange bugs due to missing or incompatible tokens.
41
- validateThemeTokensVersion(theme);
42
- return /*#__PURE__*/_jsx(ThemeSetterContext.Provider, {
43
- value: setTheme,
44
- children: /*#__PURE__*/_jsx(ThemeContext.Provider, {
45
- value: {
46
- ...theme,
47
- themeOptions: appliedThemeOptions
48
- },
49
- children: children
50
- })
51
- });
52
- };
53
- ThemeProvider.propTypes = {
54
- children: PropTypes.node.isRequired,
55
- defaultTheme: PropTypes.shape({
56
- metadata: PropTypes.shape({
57
- themeTokensVersion: PropTypes.string.isRequired,
58
- name: PropTypes.string.isRequired
59
- }).isRequired
60
- }).isRequired,
61
- /**
62
- * An object containing options allowing to customize the theming experience:
63
- *
64
- * - `forceAbsoluteFontSizing`: available on web only; when set to true, allows
65
- * using absolute font sizing (in pixels, doesn't scale) instead of the
66
- * relative sizing (in `rem`, scales depending on the browser settings)
67
- * - `contentMaxWidth`: allows configuration of the content max width to be used in components
68
- * such as Footnote and Notification to avoid content to stretch width more then the page's width
69
- * - `forceZIndex`: available on web only, when set to false, sets zIndex on `View` to be `auto`
70
- * and when true, sets zIndex to be `0` (the default from `react-native-web`)
71
- * - `enableHelmetSSR`: on Web SSR, allows React Helmet to run during server-side rendering. This should be
72
- * disabled unless a web app has been specifically configured to stop React Helmet accumulating
73
- * instances (which may cause a memory leak). See React Helmet's docs: https://github.com/nfl/react-helmet
74
- * - `enableMediaQueryStyleSheet`: enables the use of Media Query StyleSheet.
75
- */
76
- themeOptions: PropTypes.shape({
77
- forceAbsoluteFontSizing: PropTypes.bool,
78
- forceZIndex: PropTypes.bool,
79
- enableHelmetSSR: PropTypes.bool,
80
- contentMaxWidth: responsiveProps.getTypeOptionallyByViewport(PropTypes.number),
81
- enableMediaQueryStyleSheet: PropTypes.bool
82
- })
83
- };
84
- export default ThemeProvider;
@@ -1,7 +0,0 @@
1
- import ThemeProvider from './ThemeProvider';
2
- export { default as useTheme } from './useTheme';
3
- export { default as useSetTheme } from './useSetTheme';
4
- export { default as useResponsiveThemeTokens } from './useResponsiveThemeTokens';
5
- export * from './useThemeTokens';
6
- export * from './utils';
7
- export default ThemeProvider;
@@ -1,81 +0,0 @@
1
- import { viewports } from '@telus-uds/system-constants';
2
- import useTheme from './useTheme';
3
- import { getComponentTheme, mergeAppearances, resolveThemeTokens } from './utils';
4
- const getResponsiveThemeTokens = function (_ref, tokensProp) {
5
- let {
6
- rules = [],
7
- tokens: defaultThemeTokens = {}
8
- } = _ref;
9
- let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
10
- let states = arguments.length > 3 ? arguments[3] : undefined;
11
- const appearances = mergeAppearances(variants, states);
12
- const tokensByViewport = Object.fromEntries(viewports.keys.map(viewport => [viewport, {
13
- ...defaultThemeTokens
14
- }]));
15
-
16
- // Go through each rule and collect them for the corresponding viewport if they apply
17
- rules.forEach(rule => {
18
- if (doesRuleApply(rule, appearances)) {
19
- // If the rule does not have a viewport specified, we collect it in all viewports
20
- let targetViewports = rule.if.viewport || viewports.keys;
21
- if (!Array.isArray(targetViewports)) {
22
- targetViewports = [targetViewports];
23
- }
24
- targetViewports.forEach(viewport => {
25
- tokensByViewport[viewport] = {
26
- ...tokensByViewport[viewport],
27
- ...rule.tokens
28
- };
29
- });
30
- }
31
- });
32
- Object.keys(tokensByViewport).forEach(viewport => {
33
- tokensByViewport[viewport] = resolveThemeTokens(tokensByViewport[viewport], appearances, tokensProp);
34
- });
35
- return tokensByViewport;
36
- };
37
- const doesRuleApply = (rule, appearances) => Object.entries(rule.if).every(condition => doesConditionApply(condition, appearances));
38
- const doesConditionApply = (_ref2, appearances) => {
39
- let [key, value] = _ref2;
40
- if (key === 'viewport') {
41
- return true;
42
- }
43
- // use null rather than undefined so we can serialise the value in themes
44
- const appearanceValue = appearances[key] ?? null;
45
- return Array.isArray(value) ? value.includes(appearanceValue) : value === appearanceValue;
46
- };
47
-
48
- /**
49
- * @typedef {import('../utils/props/tokens.js').TokensSet} TokensSet
50
- * @typedef {import('../utils/props/tokens.js').TokensProp} TokensProp
51
- * @typedef {import('../utils/props/variantProp').AppearanceSet} AppearanceSet
52
- *
53
- * Returns a complete set of tokens for a component for each viewport based on which of the
54
- * component's theme rules apply to the current set of theme appearances.
55
- * Pass the returned output to createMediaQueryStyles to generate media query styles for use inside
56
- * the media query stylesheet from './utils/ssr-media-query'.
57
- *
58
- * @typedef {Object} ResponsiveObject
59
- * @property {TokensSet} xs
60
- * @property {TokensSet} sm
61
- * @property {TokensSet} md
62
- * @property {TokensSet} lg
63
- * @property {TokensSet} xl
64
- *
65
- * @param { string } componentName
66
- * @param { TokensProp } tokens
67
- * @param { AppearanceSet } variants
68
- * @param { AppearanceSet } states
69
- * @returns { ResponsiveObject }
70
- */
71
-
72
- const useResponsiveThemeTokens = function (componentName) {
73
- let tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
74
- let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
75
- let states = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
76
- const theme = useTheme();
77
- const componentTheme = getComponentTheme(theme, componentName);
78
- const themeTokens = getResponsiveThemeTokens(componentTheme, tokens, variants, states);
79
- return themeTokens;
80
- };
81
- export default useResponsiveThemeTokens;
@@ -1,24 +0,0 @@
1
- import { useCallback, useContext } from 'react';
2
- import { ThemeSetterContext } from './ThemeProvider';
3
- const useSetTheme = () => {
4
- // Replace current theme with provided object
5
- const setTheme = useContext(ThemeSetterContext);
6
- // Fail fast if dev uses useSetTheme outside of ThemeProvider
7
- if (setTheme instanceof Error) {
8
- throw setTheme;
9
- }
10
-
11
- // Merge provided object into current theme
12
- const editTheme = useCallback(newTheme => setTheme(function () {
13
- let oldTheme = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
14
- return {
15
- ...oldTheme,
16
- ...newTheme
17
- };
18
- }), [setTheme]);
19
- return {
20
- setTheme,
21
- editTheme
22
- };
23
- };
24
- export default useSetTheme;
@@ -1,11 +0,0 @@
1
- import { useContext } from 'react';
2
- import { ThemeContext } from './ThemeProvider';
3
- const useTheme = () => {
4
- const theme = useContext(ThemeContext);
5
- // Fail fast if dev uses useTheme outside of ThemeProvider
6
- if (theme instanceof Error) {
7
- throw theme;
8
- }
9
- return theme;
10
- };
11
- export default useTheme;
@@ -1,109 +0,0 @@
1
- import { useCallback } from 'react';
2
- import useTheme from './useTheme';
3
- import { getComponentTheme, getThemeTokens, resolveThemeTokens, mergeAppearances } from './utils';
4
- /**
5
- * @typedef {import('../utils/props/variantProp.js').AppearanceSet} AppearanceSet
6
- * @typedef {import('../utils/props/tokens.js').TokensProp} TokensProp
7
- * @typedef {import('../utils/props/tokens.js').TokensSet} TokensSet
8
- */
9
-
10
- /**
11
- * Returns a complete set of theme tokens for a component based on which of the
12
- * component's theme rules apply to the current set of theme appearances.
13
- *
14
- * When applying theme tokens as styles to a component, don't spread the theme tokens
15
- * object, explicitly select each property. This way, if new theme tokens are added to the
16
- * component's theme in a minor or patch release of the theme package, the appearance
17
- * of the component in sites and apps will only change when the component itself is updated.
18
- *
19
- * @example
20
- * const seletContainerTokens = ({ color, width, height }) => ({
21
- * backgroundColor: color, width, height
22
- * })
23
- * const MyComponent = ({ tokens, variant, children }) => {
24
- * const viewport = useViewport()
25
- * const themeTokens = useThemeTokens('MyComponent', tokens, variant, { viewport })
26
- * const style = seletContainerTokens(themeTokens)
27
- * return <View style={style}>{children}</View>
28
- * }
29
- *
30
- * @param {string} componentName - the name as defined in the theme schema of the component whose theme is to be used
31
- * @param {TokensProp} [tokens] - every themed component should accept an optional `tokens` prop allowing theme tokens to be overridden
32
- * @param {AppearanceSet} [variants] - every themed component should accept an optional `variants` prop specifying theme variants
33
- * @param {AppearanceSet} [states] - optional object containing current theme appearances dictated by user action or context
34
- * @returns {TokensSet} - the currently-applicable resolved set of theme tokens to apply
35
- */
36
- export const useThemeTokens = function (componentName) {
37
- let tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
38
- let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
39
- let states = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
40
- const theme = useTheme();
41
- const componentTheme = getComponentTheme(theme, componentName);
42
- const themeTokens = getThemeTokens(componentTheme, tokens, variants, states);
43
- return themeTokens;
44
- };
45
-
46
- /**
47
- * Returns a memoised tokens getter function that gets tokens similar to calling useThemeTokens.
48
- * Scenarios where `useThemeTokensCallback` should be used instead of `useThemeTokens` include:
49
- *
50
- * - Where tokens are to be obtained from state that is accessible only in scopes like callbacks
51
- * and render functions, where calling useThemeTokens directly would be disallowed by React's hook rules.
52
- * - Passing a tokens getter down via a child component's `tokens` prop, applying rules using the
53
- * child component's current state. Consider wrapping the returned tokens in `selectTokens()`.
54
- *
55
- * The function returned by `useThemeTokens` may be called with an object of state appearances to get an object
56
- * of tokens, or may be passed as a `tokens` prop to other themed components or `useThemeTokens`/`useThemeTokensCallback`
57
- * hooks.
58
- *
59
- * @example
60
- * // Resolving tokens inside Pressable's style function, based on Pressable state
61
- * const PressMe = ({ tokens, variant, children }) => {
62
- * const getTokens = useThemeTokensCallback('PressMe', tokens, variant)
63
- * const getPressableStyle = ({ pressed }) => {
64
- * const { color, width, height } = getTokens({ pressed })
65
- * return { backgroundColor: color, width, height }
66
- * }
67
- * return <Pressable style={getPressableStyle}>{children}</Pressable>
68
- * }
69
- *
70
- * @example
71
- * // Setting the theme in a parent and resolving it in a child based on child's state
72
- * const MenuButton = ({ tokens, variant, ...buttonProps }) => {
73
- * // Define what theme, variant etc we want in this component...
74
- * const getTokens = useThemeTokensCallback('Button', tokens, variant)
75
- * // ...resolve them in another component based on its state (e.g. press, hover...)
76
- * return <ButtonBase tokens={getTokens} accessibilityRole="menuitem" {...buttonProps} />
77
- * }
78
- *
79
- * @example
80
- * // Chaining multiple themes together, sharing the same variants and state
81
- * const GlowingLink = ({ tokens, variant, children }) => {
82
- * // applies a small theme for a glowing effect, using same variants and states as "link"
83
- * const getGlowTokens = useThemeCallback('GlowingLink', tokens, variant)
84
- * // applies link state to get "Link" theme tokens and merge "GlowingLink" tokens on top
85
- * const getTokens = useThemeCallback('Link', getGlowTokens, variant)
86
- * // renders a link with both themes applied, both based on current link state
87
- * return <LinkBase tokens={getTokens}>{children}</LinkBase>
88
- * }
89
- *
90
- * @param {string} componentName - the name as defined in the theme schema of the component whose theme is to be used
91
- * @param {TokensProp} [tokens] - every themed component should accept a `tokens` prop allowing theme tokens to be overridden
92
- * @param {AppearanceSet} [variants] - variants passed in as props that don't change dynamically
93
- * @returns {(states: AppearanceSet, tokenOverrides?: TokensProp) => TokensSet}
94
- * - callback function that returning an overridable tokens set for current state. Only pass
95
- * tokenOverrides in rare cases where tokens overrides are also generated outside hook scope,
96
- * e.g. if one theme tokens callback needs to pass certain token overrides to another.
97
- */
98
- export const useThemeTokensCallback = function (componentName) {
99
- let tokens = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
100
- let variants = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
101
- const theme = useTheme();
102
- const componentTheme = getComponentTheme(theme, componentName);
103
- const getThemeTokensCallback = useCallback((states, tokenOverrides) => {
104
- const appearances = mergeAppearances(variants, states);
105
- const resolvedTokens = resolveThemeTokens(tokens, appearances, tokenOverrides);
106
- return getThemeTokens(componentTheme, resolvedTokens, appearances);
107
- }, [componentTheme, tokens, variants]);
108
- return getThemeTokensCallback;
109
- };
@@ -1,2 +0,0 @@
1
- export * from './styles';
2
- export * from './theme-tokens';
@@ -1,198 +0,0 @@
1
- /**
2
- * React-Native specific implementations of style patterns that
3
- * don't map directly to cross-platform design token values.
4
- */
5
- import Platform from "react-native-web/dist/exports/Platform";
6
- import { fontBasePixels } from '@telus-uds/system-constants';
7
-
8
- // Make design tokens fit React Native's text styles' specific requirements and quirks
9
- export function applyTextStyles(_ref) {
10
- let {
11
- fontColor,
12
- fontSize,
13
- fontScaleCap,
14
- lineHeight,
15
- letterSpacing,
16
- fontWeight = '400',
17
- fontName,
18
- fontStyle = 'normal',
19
- themeOptions = {
20
- // TODO: switch `forceAbsoluteFontSizing` to be false by default in the next major version
21
- forceAbsoluteFontSizing: true
22
- },
23
- ...rest
24
- } = _ref;
25
- const styles = {
26
- ...rest
27
- };
28
- const {
29
- forceAbsoluteFontSizing
30
- } = themeOptions;
31
- if (fontSize) {
32
- // If relative font sizes are needed, catch and calculate them here
33
- styles.fontSize = Platform.OS === 'web' && !forceAbsoluteFontSizing ? `${fontSize / fontBasePixels}rem` : fontSize;
34
- }
35
- if (typeof lineHeight === 'number') {
36
- // React Native expects absolute line heights but multipliers are better as design tokens
37
- styles.lineHeight = lineHeight * (fontSize || fontBasePixels);
38
- }
39
- if (typeof letterSpacing === 'number' && letterSpacing) {
40
- // Same as for line heights - React Native expects absolute letter spacing value
41
- styles.letterSpacing = letterSpacing * (fontSize || fontBasePixels);
42
- }
43
- if (fontName) {
44
- // Don't set undefined font families. May need some validation here that the font is available.
45
- // Android doesn't recognise font weights natively so apply custom font weights via `fontFamily`.
46
- styles.fontFamily = `${fontName}${fontWeight}${fontStyle}`;
47
- } else if (fontWeight) {
48
- // If using system default font, apply the font weight directly.
49
- // Font weight support in Android is limited to 'bold' or anything else === 'normal'.
50
- styles.fontWeight = Platform.OS === 'android' && Number(fontWeight) > 400 ? 'bold' : fontWeight;
51
- }
52
- if (fontColor) {
53
- styles.color = fontColor;
54
- }
55
-
56
- // TODO: look into calculating typographic spacing with PixelRatio.getFontScale()
57
- // Do while implementing advanced typography e.g. paragraph etc
58
- // https://github.com/telus/universal-design-system/issues/89
59
-
60
- return styles;
61
- }
62
-
63
- /**
64
- * React Native's in-built shadow support is limited. Take an object describing an ideal shadow and
65
- * return a platform-appropriate implementation that gets close to the described effect.
66
- *
67
- * @param {object} shadowToken
68
- * @param {boolean} shadowToken.inset
69
- * @param {color} shadowToken.string
70
- * @param {number} shadowToken.offsetX
71
- * @param {number} shadowToken.offsetY
72
- * @param {number} shadowToken.blur
73
- * @param {number} shadowToken.spread
74
- * @return {object}
75
- */
76
- export function applyShadowToken(shadowToken) {
77
- if (!shadowToken) return {};
78
- const applyShadow = Platform.select({
79
- web: () => applyWebShadow(shadowToken),
80
- ios: () => applyIosShadow(shadowToken),
81
- android: () => applyAndroidShadow(shadowToken)
82
- });
83
- return applyShadow();
84
- }
85
- function applyWebShadow(_ref2) {
86
- let {
87
- inset,
88
- color = '',
89
- offsetX = 0,
90
- offsetY = 0,
91
- blur = 0,
92
- spread = 0
93
- } = _ref2;
94
- const insetString = inset ? 'inset ' : '';
95
- const boxShadow = {
96
- boxShadow: `${insetString}${offsetX}px ${offsetY}px ${blur}px ${spread}px ${color}`
97
- };
98
- return boxShadow;
99
- }
100
- function applyAndroidShadow(shadowToken) {
101
- const {
102
- color,
103
- inset,
104
- spread,
105
- offsetY,
106
- offsetX
107
- } = shadowToken;
108
- // Android shadows are very limited and workarounds are hacky. Use the built-in `elevation` API unless
109
- // shadow design is radically different to a simple top-down shadow (e.g. horizontal, upward, or inset)
110
- if (!inset && offsetY >= 0 && offsetY >= offsetX) {
111
- return {
112
- // Can't match other platforms, but can give longer shadows to elements designed for longer shadows
113
- elevation: spread + offsetY,
114
- shadowColor: color // Only applies on Android >= 9 and React Native >= 0.64.0
115
- };
116
- }
117
- // TODO: maybe use a library or workaround to increase capabilities.
118
- // https://github.com/telus/universal-design-system/issues/535
119
- return {};
120
- }
121
- function applyIosShadow(_ref3) {
122
- let {
123
- inset,
124
- color,
125
- offsetX,
126
- offsetY,
127
- spread,
128
- blur
129
- } = _ref3;
130
- // React Native iOS doesn't support inset shadows.
131
- // TODO: maybe use a library or workaround for inset shadows. This is a sizable task and would
132
- // involve changing component implementations to use a custom view, can't be done with styles alone.
133
- // https://github.com/telus/universal-design-system/issues/535
134
- if (inset) return {};
135
-
136
- // React Native iOS doesn't support spread. Where there's an offset, can approximate positive spread by
137
- // increasing the (positive or negative) offset by the spread. This makes the shadow reach the point it
138
- // would if spread was supported (with a side effect that its start is further "under" the element).
139
- const nudgeBySpread = offset => {
140
- if (!offset || spread <= 0) return 0;
141
- return offset > 0 ? spread : spread * -1;
142
- };
143
- return {
144
- shadowColor: color,
145
- shadowOffset: {
146
- width: offsetX + nudgeBySpread(offsetX),
147
- height: offsetY + nudgeBySpread(offsetY)
148
- },
149
- shadowRadius: blur,
150
- shadowOpacity: 1 // opacity is applied via RGBA in the `color` token
151
- };
152
- }
153
-
154
- const verticalAlignToFlexRowAlign = {
155
- top: 'flex-start',
156
- middle: 'center',
157
- bottom: 'flex-end'
158
- };
159
- export function verticalAlignRow(verticalAlign) {
160
- let reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
161
- return {
162
- flexDirection: reverse ? 'row-reverse' : 'row',
163
- alignItems: verticalAlignToFlexRowAlign[verticalAlign]
164
- };
165
- }
166
- const calculateBorderRadius = (borderRadius, outerBorderGap, outerBorderWidth) => {
167
- if (borderRadius) {
168
- return borderRadius + outerBorderGap + outerBorderWidth;
169
- }
170
- return null;
171
- };
172
- /**
173
- * Use on an outer container to create an outer border with an optional gap around it
174
- * that matches the border radius of any inner border.
175
- */
176
- export const applyOuterBorder = _ref4 => {
177
- let {
178
- outerBorderColor,
179
- outerBorderWidth = 0,
180
- outerBorderGap = 0,
181
- borderRadius,
182
- borderTopLeftRadius,
183
- borderTopRightRadius,
184
- borderBottomLeftRadius,
185
- borderBottomRightRadius
186
- } = _ref4;
187
- return {
188
- margin: 0 - outerBorderWidth - outerBorderGap,
189
- padding: outerBorderGap,
190
- borderRadius: calculateBorderRadius(borderRadius, outerBorderGap, outerBorderWidth),
191
- borderTopLeftRadius: calculateBorderRadius(borderTopLeftRadius, outerBorderGap, outerBorderWidth),
192
- borderTopRightRadius: calculateBorderRadius(borderTopRightRadius, outerBorderGap, outerBorderWidth),
193
- borderBottomLeftRadius: calculateBorderRadius(borderBottomLeftRadius, outerBorderGap, outerBorderWidth),
194
- borderBottomRightRadius: calculateBorderRadius(borderBottomRightRadius, outerBorderGap, outerBorderWidth),
195
- borderWidth: outerBorderWidth,
196
- borderColor: outerBorderColor
197
- };
198
- };