@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,272 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import ABBPropTypes from 'airbnb-prop-types';
4
- import Platform from "react-native-web/dist/exports/Platform";
5
- import ButtonBase from './ButtonBase';
6
- import { StackWrap } from '../StackView';
7
- import Fieldset from '../Fieldset';
8
- import { useViewport } from '../ViewportProvider';
9
- import { useThemeTokens, useThemeTokensCallback } from '../ThemeProvider';
10
- import { a11yProps, containUniqueFields, focusHandlerProps, pressProps, getTokensPropType, selectSystemProps, selectTokens, useMultipleInputValues, variantProp, viewProps } from '../utils';
11
- import { getPressHandlersWithArgs } from '../utils/pressability';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
14
- const [selectItemProps, selectedItemPropTypes] = selectSystemProps([a11yProps, focusHandlerProps, pressProps, viewProps]);
15
- const ButtonGroup = /*#__PURE__*/React.forwardRef((_ref, ref) => {
16
- let {
17
- variant,
18
- buttonVariant,
19
- tokens,
20
- items = [],
21
- values,
22
- initialValues,
23
- maxValues = 1,
24
- onChange,
25
- readOnly = false,
26
- inactive = false,
27
- legend,
28
- tooltip,
29
- hint,
30
- hintPosition = 'inline',
31
- validation,
32
- feedback,
33
- name: inputGroupName,
34
- copy,
35
- iconPosition,
36
- accessibilityRole = maxValues === 1 ? 'radiogroup' // radiogroup is cross-platform; only web aria has generic groups
37
- : Platform.select({
38
- web: 'group',
39
- default: 'none'
40
- }),
41
- ...rest
42
- } = _ref;
43
- const viewport = useViewport();
44
- const themeTokens = useThemeTokens('ButtonGroup', tokens, variant, {
45
- viewport
46
- });
47
- const stackTokens = selectTokens('StackView', themeTokens);
48
- const {
49
- direction,
50
- space,
51
- fieldSpace,
52
- borderRadius,
53
- backgroundColor,
54
- padding,
55
- gap
56
- } = themeTokens;
57
- const getButtonTokens = useThemeTokensCallback('ButtonGroupItem', tokens, variant);
58
- const {
59
- currentValues,
60
- toggleOneValue
61
- } = useMultipleInputValues({
62
- initialValues,
63
- values,
64
- maxValues,
65
- onChange,
66
- readOnly
67
- });
68
- const systemProps = selectProps({
69
- accessibilityRole,
70
- ...rest
71
- });
72
- const itemA11yRole = systemProps.accessibilityRole === 'radiogroup' ? 'radio' : 'checkbox';
73
- const uniqueFields = ['id', 'label'];
74
- if (!containUniqueFields(items, uniqueFields)) {
75
- throw new Error(`ButtonGroup items must have unique ${uniqueFields.join(', ')}`);
76
- }
77
-
78
- // Some web screenreaders e.g. MacOS Voiceover don't handle radiogroups properly unless radio is direct child of radiogroup
79
- const innerRole = Platform.OS === 'web' && accessibilityRole === 'radiogroup' ? accessibilityRole : undefined;
80
- return /*#__PURE__*/_jsx(Fieldset, {
81
- ...systemProps,
82
- ref: ref,
83
- name: inputGroupName,
84
- legend: legend,
85
- tooltip: tooltip,
86
- hint: hint,
87
- hintPosition: hintPosition,
88
- space: fieldSpace,
89
- feedback: feedback,
90
- readOnly: readOnly,
91
- inactive: inactive,
92
- validation: validation,
93
- accessibilityRole: accessibilityRole,
94
- style: {
95
- borderRadius,
96
- backgroundColor,
97
- padding,
98
- ...(Platform.OS === 'web' ? {
99
- gap,
100
- width: 'fit-content'
101
- } : {
102
- alignSelf: 'flex-start'
103
- })
104
- },
105
- ...selectProps(rest),
106
- children: /*#__PURE__*/_jsx(StackWrap, {
107
- accessibilityRole: innerRole,
108
- space: space,
109
- direction: direction,
110
- tokens: stackTokens,
111
- gap: gap,
112
- ref: ref,
113
- children: items.map((_ref2, index) => {
114
- let {
115
- label,
116
- id = label,
117
- accessibilityLabel,
118
- ref: itemRef,
119
- ...itemRest
120
- } = _ref2;
121
- const isSelected = currentValues.includes(id);
122
-
123
- // Pass an object of relevant component state as first argument for any passed-in press handlers
124
- const pressHandlers = getPressHandlersWithArgs(rest, [{
125
- id,
126
- label,
127
- currentValues
128
- }]);
129
- const handlePress = event => {
130
- if (pressHandlers.onPress) pressHandlers.onPress(event);
131
- toggleOneValue(id, event);
132
- };
133
- const iconProp = itemRest.icon || undefined;
134
- const itemA11y = {
135
- accessibilityState: {
136
- checked: isSelected
137
- },
138
- accessibilityRole: itemA11yRole,
139
- accessibilityLabel,
140
- ...a11yProps.getPositionInSet(items.length, index)
141
- };
142
-
143
- // Ensure button is direct child of group as MacOS voiceover only applies "X of Y" to
144
- // "radio" if it's a direct child of "radiogroup", even if aria-posinset etc exists
145
- return /*#__PURE__*/_jsx(ButtonBase, {
146
- ref: itemRef,
147
- variant: buttonVariant,
148
- ...pressHandlers,
149
- onPress: handlePress,
150
- tokens: getButtonTokens,
151
- selected: isSelected,
152
- inactive: inactive,
153
- icon: iconProp,
154
- ...selectItemProps({
155
- ...itemRest,
156
- ...itemA11y
157
- }),
158
- iconPosition: iconPosition,
159
- children: label
160
- }, id);
161
- })
162
- })
163
- });
164
- });
165
- ButtonGroup.displayName = 'ButtonGroup';
166
- ButtonGroup.propTypes = {
167
- ...selectedSystemPropTypes,
168
- tokens: getTokensPropType('ButtonGroup'),
169
- /**
170
- * To allow Button specific variant
171
- */
172
- buttonVariant: variantProp.propType,
173
- /**
174
- * Default variant prop
175
- */
176
- variant: variantProp.propType,
177
- /**
178
- * The maximum number of items a user may select at once. Defaults to 1 and behaves
179
- * like radio buttons. To have no limit and allow any number of selections, pass `null`.
180
- */
181
- maxValues: PropTypes.number,
182
- /**
183
- * The options a user may select
184
- */
185
- items: PropTypes.arrayOf(PropTypes.shape({
186
- ...selectedItemPropTypes,
187
- /**
188
- * The text displayed to the user in the button, describing this option,
189
- * passed to the button as its child.
190
- */
191
- label: PropTypes.string.isRequired,
192
- /**
193
- * An optional accessibility label may be passed to ButtonGroup Buttons
194
- * which is applied as normal for a React Native accessibilityLabel prop.
195
- */
196
- accessibilityLabel: PropTypes.string,
197
- /**
198
- * An optional unique string may be provided to identify this option,
199
- * which will be used in code and passed to any onChange function.
200
- * If not provided, the label is used.
201
- */
202
- id: PropTypes.string,
203
- /**
204
- * An optional ref for one individual button in the ButtonGroup
205
- */
206
- ref: ABBPropTypes.ref()
207
- })),
208
- /**
209
- * If provided, this function is called when the current selection is changed
210
- * and is passed an array of the `id`s of all currently selected `items`.
211
- */
212
- onChange: PropTypes.func,
213
- /**
214
- * If the selected item(s) in the button group are to be controlled externally by
215
- * a parent component, pass an array of strings as well as an `onChange` handler.
216
- * Passing an array for "values" makes the ButtonGroup a "controlled" component that
217
- * expects its state to be handled via `onChange` and so doesn't handle it itself.
218
- */
219
- values: PropTypes.arrayOf(PropTypes.string),
220
- /**
221
- * If `values` is not passed, making the ButtonGroup an "uncontrolled" component
222
- * managing its own selected state, a default set of selections may be provided.
223
- * Changing the `initialValues` does not change the user's selections.
224
- */
225
- initialValues: PropTypes.arrayOf(PropTypes.string),
226
- /**
227
- * Defines if the icon will be displayed on the right or left side of the label.
228
- */
229
- iconPosition: PropTypes.oneOf(['left', 'right']),
230
- /**
231
- * Main text used to describe this group, used in Fieldset's Legend element.
232
- */
233
- legend: PropTypes.string,
234
- /**
235
- * Optional additional text giving more detail to help a user make a choice.
236
- */
237
- hint: PropTypes.string,
238
- /**
239
- * Position of the hint relative to label. Use `below` to display a larger hint below the label.
240
- */
241
- hintPosition: PropTypes.oneOf(['inline', 'below']),
242
- /**
243
- * Optional tooltip text content to include alongside the legend and hint.
244
- */
245
- tooltip: PropTypes.string,
246
- /**
247
- * Current validation status of the group, passed to the feedback element if there is one.
248
- */
249
- validation: PropTypes.oneOf(['error', 'success']),
250
- /**
251
- * If provided, a Feedback element is rendered containing this text.
252
- */
253
- feedback: PropTypes.string,
254
- /**
255
- * If true, the buttons cannot be selected by the user and simply show their current state.
256
- */
257
- readOnly: PropTypes.bool,
258
- /**
259
- * If true, the buttons cannot be interacted with, elements are set as `disabled` and if the
260
- * theme supports `inactive` appearances rules, these are applied.
261
- */
262
- inactive: PropTypes.bool,
263
- /**
264
- * On Web, this is passed to the `name` attribute of the fieldset.
265
- */
266
- name: PropTypes.string,
267
- /**
268
- * Sets the language of microcopy in subcomponents (e.g. Tooltip's default accessibility label).
269
- */
270
- copy: PropTypes.oneOf(['en', 'fr'])
271
- };
272
- export default ButtonGroup;
@@ -1,50 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import ButtonBase from './ButtonBase';
4
- import buttonPropTypes, { textAndA11yText } from './propTypes';
5
- import { a11yProps, hrefAttrsProp, linkProps } from '../utils/props';
6
- import { useThemeTokensCallback } from '../ThemeProvider';
7
- import { useViewport } from '../ViewportProvider';
8
-
9
- /**
10
- * `ButtonLink` is a component with the semantics and behaviour of a link, but with the visual appearance of a button.
11
- * ButtonLink is a block-level component and should not be used inline.
12
- */
13
- import { jsx as _jsx } from "react/jsx-runtime";
14
- const ButtonLink = /*#__PURE__*/React.forwardRef((_ref, ref) => {
15
- let {
16
- accessibilityRole = 'link',
17
- tokens,
18
- variant,
19
- dataSet,
20
- ...props
21
- } = _ref;
22
- const {
23
- hrefAttrs,
24
- rest
25
- } = hrefAttrsProp.bundle(props);
26
- const viewport = useViewport();
27
- const buttonVariant = {
28
- viewport,
29
- ...variant
30
- };
31
- const getTokens = useThemeTokensCallback('Button', tokens, buttonVariant);
32
- return /*#__PURE__*/_jsx(ButtonBase, {
33
- ref: ref,
34
- accessibilityRole: accessibilityRole,
35
- tokens: getTokens,
36
- hrefAttrs: hrefAttrs,
37
- dataSet: dataSet,
38
- ...rest
39
- });
40
- });
41
- ButtonLink.displayName = 'ButtonLink';
42
- ButtonLink.propTypes = {
43
- ...a11yProps.types,
44
- ...buttonPropTypes,
45
- ...linkProps.types,
46
- children: textAndA11yText,
47
- dataSet: PropTypes.object,
48
- accessibilityRole: PropTypes.string
49
- };
50
- export default ButtonLink;
@@ -1,5 +0,0 @@
1
- import Button from './Button';
2
- import ButtonLink from './ButtonLink';
3
- import ButtonGroup from './ButtonGroup';
4
- import ButtonDropdown from './ButtonDropdown';
5
- export { Button, ButtonDropdown, ButtonGroup, ButtonLink };
@@ -1,46 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import ABBPropTypes from 'airbnb-prop-types';
3
- import { variantProp, getTokensPropType } from '../utils/props';
4
- import A11yText from '../A11yText';
5
- import { iconComponentPropTypes } from '../Icon';
6
- export const textAndA11yText = ABBPropTypes.childrenOf(PropTypes.oneOfType([ABBPropTypes.elementType(A11yText), PropTypes.string]));
7
- const buttonPropTypes = {
8
- tokens: getTokensPropType('Button'),
9
- /**
10
- * If true, prevents the button from being pressed, changes the cursor (on web) and accessibility
11
- * attributes to communicate this to the user, and applies `inactive: true` appearances from the theme
12
- */
13
- inactive: PropTypes.bool,
14
- /**
15
- * Alias for `inactive`
16
- */
17
- disabled: PropTypes.bool,
18
- /**
19
- * Button's children must be either:
20
- * - One or more text strings and / or A11yText components
21
- * - A render function with contents that responds to current button state by being passed an object of:
22
- * ```
23
- * { hovered<bool>, focused<bool>, pressed<bool>, inactive<bool>, selected<bool>, textStyles<RNStyle> }
24
- * ```
25
- */
26
- children: PropTypes.oneOfType([PropTypes.func, textAndA11yText]).isRequired,
27
- /**
28
- * Function called when the button is pressed. Required unless the button has a href.
29
- */
30
- onPress: PropTypes.func,
31
- /**
32
- * Optional variant that may be passed down to the link's icon if there is one
33
- */
34
- iconProps: PropTypes.exact(iconComponentPropTypes),
35
- /**
36
- * When `icon` is provided, use `iconPosition` to place the Icon to the left or right side of the button.
37
- */
38
- iconPosition: PropTypes.oneOf(['left', 'right']),
39
- /**
40
- * A function component for an SVG icon to render inside the link. Inherits size and color from
41
- * the link and any Typography the link is nested inside.
42
- */
43
- icon: PropTypes.func,
44
- variant: variantProp.propType
45
- };
46
- export default buttonPropTypes;
@@ -1,330 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import View from "react-native-web/dist/exports/View";
4
- import { useThemeTokens, useThemeTokensCallback, useResponsiveThemeTokens, useTheme } from '../ThemeProvider';
5
- import { getTokensPropType, variantProp, StyleSheet, createMediaQueryStyles } from '../utils';
6
- import { useViewport } from '../ViewportProvider';
7
- import { a11yProps, linkProps, selectSystemProps, viewProps, responsiveProps } from '../utils/props';
8
- import CardBase from './CardBase';
9
- import PressableCardBase from './PressableCardBase';
10
- import CheckboxButton from '../Checkbox/CheckboxButton';
11
- import RadioButton from '../Radio/RadioButton';
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { Fragment as _Fragment } from "react/jsx-runtime";
14
- import { jsxs as _jsxs } from "react/jsx-runtime";
15
- const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps, linkProps]);
16
- const SelectionType = {
17
- Checkbox: 'checkbox',
18
- Radio: 'radiogroup',
19
- None: undefined
20
- };
21
- const selectInputStyle = _ref => {
22
- let {
23
- paddingTop,
24
- paddingRight
25
- } = _ref;
26
- return {
27
- position: 'absolute',
28
- top: paddingTop,
29
- right: paddingRight
30
- };
31
- };
32
- const getInputProps = _ref2 => {
33
- let {
34
- id,
35
- checkColor,
36
- boxBackgroundColor,
37
- checkBackgroundColor,
38
- isControlled,
39
- isChecked,
40
- isInactive,
41
- handleChange
42
- } = _ref2;
43
- return {
44
- inputId: id,
45
- tokens: {
46
- iconColor: checkColor,
47
- inputBackgroundColor: boxBackgroundColor,
48
- iconBackgroundColor: checkBackgroundColor
49
- },
50
- isControlled,
51
- isChecked,
52
- inactive: isInactive,
53
- handleChange
54
- };
55
- };
56
-
57
- /**
58
- * A basic card component, unstyled by default.
59
- *
60
- * ## Component API
61
- *
62
- * ### Background
63
- *
64
- * In order to control the background of a card, the following tokens are currently
65
- * supported:
66
- *
67
- * - `backgroundColor`
68
- *
69
- * ### Border
70
- *
71
- * The following border tokens can be used:
72
- *
73
- * - `borderColor`
74
- * - `borderRadius`
75
- * - `borderWidth`
76
- *
77
- * ### Padding
78
- *
79
- * Please use the following tokens to control the padding:
80
- *
81
- * - `paddingBottom`
82
- * - `paddingLeft`
83
- * - `paddingRight`
84
- * - `paddingTop`
85
- *
86
- * Note that various viewport sizes are supported as well.
87
- *
88
- * ### Shadow
89
- *
90
- * Feel free to use the following properties within the `shadow` token:
91
- *
92
- * - `inset`: boolean
93
- * - `color`: string
94
- * - `offsetX`: number
95
- * - `offsetY`: number
96
- * - `blur`: number
97
- * - `spread`: number
98
- *
99
- * ## Accessibility
100
- *
101
- * Card supports all the common a11y props. Please remember that by marking a card as `accessible`
102
- * you automatically make inaccessible its children, which may or may not be appropriate
103
- * depending on what you are trying to achieve.
104
- */
105
- const Card = /*#__PURE__*/React.forwardRef((_ref3, ref) => {
106
- var _interactiveCard$vari, _interactiveCard$vari2;
107
- let {
108
- children,
109
- tokens,
110
- variant,
111
- dataSet,
112
- onPress,
113
- id,
114
- interactiveCard,
115
- backgroundImage,
116
- ...rest
117
- } = _ref3;
118
- const viewport = useViewport();
119
- const {
120
- themeOptions
121
- } = useTheme();
122
- const {
123
- enableMediaQueryStyleSheet
124
- } = themeOptions;
125
- const useTokens = enableMediaQueryStyleSheet ? useResponsiveThemeTokens : useThemeTokens;
126
- const themeTokens = useTokens('Card', tokens, variant, !enableMediaQueryStyleSheet && {
127
- viewport
128
- });
129
- const selected = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari = interactiveCard.variant) === null || _interactiveCard$vari === void 0 ? void 0 : _interactiveCard$vari.selected;
130
- const inactive = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari2 = interactiveCard.variant) === null || _interactiveCard$vari2 === void 0 ? void 0 : _interactiveCard$vari2.inactive;
131
- const selectionType = interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.selectionType;
132
- const getThemeTokens = useThemeTokensCallback('Card', interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens, {
133
- interactive: true,
134
- ...((interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.variant) || {})
135
- });
136
- // When interactive area is present, spacing tokens should only be applied
137
- // to individual Card sections, not Card as a whole
138
- const {
139
- paddingTop,
140
- paddingBottom,
141
- paddingLeft,
142
- paddingRight,
143
- ...restOfTokens
144
- } = selectionType ? getThemeTokens() : themeTokens;
145
- const {
146
- inputBackgroundColor,
147
- iconBackgroundColor,
148
- iconColor,
149
- icon,
150
- inputBorderRadius,
151
- inputHeight,
152
- inputWidth,
153
- iconSize,
154
- inputShadow,
155
- inputBorderWidth,
156
- inputBorderColor
157
- } = getThemeTokens();
158
- const checkboxTokens = {
159
- inputBackgroundColor,
160
- iconBackgroundColor,
161
- icon,
162
- iconColor,
163
- inputBorderRadius,
164
- inputHeight,
165
- inputWidth,
166
- iconSize,
167
- inputShadow,
168
- inputBorderWidth,
169
- inputBorderColor
170
- };
171
- const radioTokens = {
172
- iconBackgroundColor,
173
- iconColor,
174
- containerShadow: inputShadow,
175
- icon,
176
- inputBackgroundColor,
177
- inputBorderRadius,
178
- inputSize: inputHeight,
179
- checkedSize: iconSize,
180
- inputBorderWidth,
181
- inputBorderColor
182
- };
183
- let cardStyles;
184
- let mediaIds;
185
- if (enableMediaQueryStyleSheet) {
186
- const mediaQueryStyleSheet = createMediaQueryStyles(themeTokens);
187
- const {
188
- ids,
189
- styles
190
- } = StyleSheet.create({
191
- card: mediaQueryStyleSheet
192
- });
193
- cardStyles = styles.card;
194
- mediaIds = ids.card;
195
- } else {
196
- cardStyles = themeTokens;
197
- }
198
- const renderInputPerSelectionType = props => {
199
- switch (selectionType) {
200
- case SelectionType.Checkbox:
201
- return /*#__PURE__*/_jsx(View, {
202
- style: selectInputStyle(getThemeTokens()),
203
- children: /*#__PURE__*/_jsx(CheckboxButton, {
204
- ...props,
205
- tokens: {
206
- ...checkboxTokens,
207
- ...(props === null || props === void 0 ? void 0 : props.tokens)
208
- }
209
- })
210
- });
211
- case SelectionType.Radio:
212
- return /*#__PURE__*/_jsx(View, {
213
- style: selectInputStyle(getThemeTokens()),
214
- children: /*#__PURE__*/_jsx(RadioButton, {
215
- ...props,
216
- tokens: {
217
- ...radioTokens,
218
- ...(props === null || props === void 0 ? void 0 : props.tokens)
219
- }
220
- })
221
- });
222
- default:
223
- return null;
224
- }
225
- };
226
- const renderNoSelectionView = () => /*#__PURE__*/_jsx(View, {
227
- style: {
228
- paddingTop,
229
- paddingBottom,
230
- paddingLeft,
231
- paddingRight
232
- },
233
- children: children
234
- });
235
- return /*#__PURE__*/_jsx(_Fragment, {
236
- children: /*#__PURE__*/_jsx(CardBase, {
237
- ref: ref,
238
- tokens: interactiveCard !== null && interactiveCard !== void 0 && interactiveCard.body ? restOfTokens : cardStyles,
239
- backgroundImage: backgroundImage,
240
- dataSet: mediaIds && {
241
- media: mediaIds
242
- },
243
- ...selectProps(rest),
244
- children: interactiveCard !== null && interactiveCard !== void 0 && interactiveCard.body ? /*#__PURE__*/_jsxs(_Fragment, {
245
- children: [/*#__PURE__*/_jsx(PressableCardBase, {
246
- ref: ref,
247
- tokens: getThemeTokens,
248
- dataSet: dataSet,
249
- onPress: onPress,
250
- ...selectProps(rest),
251
- children: cardState => {
252
- const {
253
- iconColor: checkColor,
254
- inputBackgroundColor: boxBackgroundColor,
255
- iconBackgroundColor: checkBackgroundColor
256
- } = getThemeTokens({
257
- ...cardState,
258
- selected,
259
- interactive: true,
260
- isControl: true
261
- }, interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens);
262
- return /*#__PURE__*/_jsxs(_Fragment, {
263
- children: [renderInputPerSelectionType(getInputProps({
264
- id,
265
- checkColor,
266
- boxBackgroundColor,
267
- checkBackgroundColor,
268
- isControlled: true,
269
- isChecked: selected || (cardState === null || cardState === void 0 ? void 0 : cardState.hover),
270
- isInactive: inactive,
271
- onPress
272
- })), typeof (interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.body) === 'function' ? interactiveCard.body(cardState) : interactiveCard.body]
273
- });
274
- }
275
- }), children && selectionType !== SelectionType.None ? renderNoSelectionView() : null]
276
- }) : children
277
- })
278
- });
279
- });
280
- Card.displayName = 'Card';
281
- Card.propTypes = {
282
- ...selectedSystemPropTypes,
283
- /**
284
- * Card content.
285
- */
286
- children: PropTypes.node,
287
- /**
288
- * Card tokens.
289
- */
290
- tokens: getTokensPropType('Card'),
291
- /**
292
- * Card variant.
293
- */
294
- variant: variantProp.propType,
295
- /**
296
- * Function to call on pressing the card.
297
- * Note: This is only available when `interactiveCard` prop is used.
298
- */
299
- onPress: PropTypes.func,
300
- /**
301
- * Card ID.
302
- */
303
- id: PropTypes.string,
304
- /**
305
- * Object to set interactive card's properties
306
- * - body: The body of the interactive card, can be any renderable node
307
- * - tokens: The tokens to be used for the interactive card
308
- * - selectionType: If the card has `isControl` variant set to `true`, the selectionType can have one of the following options:
309
- - `radiogroup`
310
- - `checkbox`
311
- * - variant: The variant to be used for the interactive card
312
- */
313
- interactiveCard: PropTypes.shape({
314
- body: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
315
- tokens: getTokensPropType('Card'),
316
- selectionType: PropTypes.oneOf(Object.values(SelectionType)),
317
- variant: variantProp.propType
318
- }),
319
- /**
320
- * Apply background image to the card.
321
- */
322
- backgroundImage: PropTypes.shape({
323
- // The image src is either a URI string or a number (when a local image src is bundled in IOS or Android app)
324
- // src is an object when used responsively to provide different image sources for different screen sizes
325
- src: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).isRequired,
326
- alt: PropTypes.string,
327
- resizeMode: responsiveProps.getTypeOptionallyByViewport(PropTypes.oneOf(['cover', 'contain', 'stretch', 'repeat', 'center']))
328
- })
329
- };
330
- export default Card;