@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,185 +0,0 @@
1
- import { useCallback, useRef, useState } from 'react';
2
- /**
3
- * @typedef {import('react').SyntheticEvent} Event
4
- */
5
-
6
- const pluralHooks = ['useMultipleInputValues'];
7
- const validateProps = (_ref, _ref2, hookName) => {
8
- let {
9
- value,
10
- onChange,
11
- readOnly,
12
- initialValue
13
- } = _ref;
14
- let {
15
- isCurrentlyControlled,
16
- isControlled
17
- } = _ref2;
18
- const s = pluralHooks.includes(hookName) ? 's' : '';
19
- const usageError = error => {
20
- // Errors inside hooks in React Native get incomplete stack traces pointing at parent component only.
21
- // Help devs out by telling them exactly which hook threw the error as well as why.
22
- throw new Error(`${hookName} ${error}.
23
-
24
- Consumers of this hook must be one of:
25
- 1. An "uncontrolled" component responding directly to user actions, with an optional \`initialValue${s}\` but no \`value${s}\` prop,
26
- 2. A "controlled" component where an always-defined \`value${s}\` prop is managed by an \`onChange\` handler, with no \`initialValue${s}\`,
27
- 3. A "read-only" component, with \`readOnly\` prop set as \`true\`.
28
- `);
29
- };
30
- if (value && !onChange && !readOnly) {
31
- usageError(`has \`value${s}\` prop without \`onChange\` or \`readOnly\``);
32
- }
33
- if (initialValue && value) {
34
- usageError(`has both \`initialValue${s}\` and \`value${s}\``);
35
- }
36
- if (isControlled && !isCurrentlyControlled) {
37
- usageError(`stopped receiving \`value${s}\` from parent after delegating state management`);
38
- }
39
- if (!isControlled && isCurrentlyControlled) {
40
- usageError(`started receiving \`value${s}\` from parent after starting managing own state`);
41
- }
42
- };
43
-
44
- /**
45
- * Hook used for controlling the input state of input components that have a singular value.
46
- * If `value` prop is passed in, this delegates state management to a parent using a passed-in `onChange` prop.
47
- * If `value` prop is undefined, the hook manages its own state.
48
- *
49
- * TODO: when implementing full UDS forms, integrate validation support etc and test alongside common forms
50
- * management tools such as Formik and React Hooks Form.
51
- *
52
- * @param {object} props
53
- * @param {string|number|null} [props.value] - for a controlled input, the active values as set by a parent
54
- * @param {string|number} [props.initialValue] - for an uncontrolled input, the default active values
55
- * @param {function} [props.onChange] - function called when values change (required for controlled inputs)
56
- * @param {boolean} [props.readOnly] - if true, stops the input values from changing
57
- *
58
- * @param {string} hookName - optional, used for tailoring error messages
59
- *
60
- * @returns {{
61
- * currentValue: string|number|null
62
- * setValue: (newValue: string|number|null|(oldValue: string|number) => string|number, event: Event) => void
63
- * resetValue: () => void
64
- * isControlled: bool
65
- * }}
66
- */
67
- export const useInputValue = function () {
68
- let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
69
- let hookName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'useInputValue';
70
- const isCurrentlyControlled = props.value !== undefined;
71
- const [isControlled] = useState(isCurrentlyControlled);
72
- validateProps(props, {
73
- isControlled,
74
- isCurrentlyControlled
75
- }, hookName);
76
- const {
77
- value,
78
- initialValue,
79
- inputRef,
80
- onChange,
81
- readOnly = false
82
- } = props;
83
- const [ownValue, setOwnValue] = useState(!isControlled && initialValue);
84
- const currentValue = isControlled ? value : ownValue;
85
-
86
- // Store the first valid value, for resetting input to default. If behaviour like Formik's `enableReinitialize`
87
- // is needed, add useEffect calling a set fn if !deepEqual(initializedValues, initialValues)
88
- const valueRef = useRef({
89
- initial: currentValue,
90
- value: currentValue
91
- });
92
- // Make current value accessible inside useCallback without rememoizing every time the value changes
93
- valueRef.current.value = currentValue;
94
- const isDirty = currentValue !== valueRef.current.initial;
95
- const setValue = useCallback((arg, event) => {
96
- if (readOnly) return;
97
- const newValue = typeof arg === 'function' ? arg(valueRef.current.value) : arg;
98
- if (!isControlled) {
99
- setOwnValue(newValue);
100
- if (inputRef !== null && inputRef !== void 0 && inputRef.current) inputRef.current.value = newValue ?? '';
101
- }
102
- // Call onChange handler if there's something for it to handle (event or a changed value)
103
- if (onChange && (event || valueRef.current.value !== newValue)) onChange(newValue, event);
104
- }, [inputRef, isControlled, onChange, readOnly]);
105
- const resetValue = useCallback(event => setValue(valueRef.current.initial, event), [setValue]);
106
- return {
107
- currentValue,
108
- setValue,
109
- resetValue,
110
- isControlled,
111
- isDirty
112
- };
113
- };
114
-
115
- /**
116
- * Hook used for controlling the input state of input components that have multiple named on/off states.
117
- * If `values` are passed in, this delegates state management to a parent using a passed-in `onChange` prop.
118
- * If `values` prop is not passed in, the hook manages its own state.
119
- *
120
- * TODO: when implementing full UDS forms, integrate validation support etc and test alongside common forms
121
- * management tools such as Formik and React Hooks Form.
122
- *
123
- * @param {object} props
124
- * @param {string[]|number[]} [props.values] - for a controlled input, the active values as set by a parent
125
- * @param {string[]|number[]} [props.initialValues] - for an uncontrolled input, the default active values
126
- * @param {number?} [props.maxValues] - maximum number of values that may be selected at once (no limit if null)
127
- * @param {function} [props.onChange] - function called when values change (required for controlled inputs)
128
- * @param {boolean} [props.readOnly] - if true, stops the input values from changing
129
- *
130
- * @param {string} componentName - optional, used in error messages
131
- *
132
- * @returns {{
133
- * currentValues: any
134
- * resetValues: () => void
135
- * setValues: (newValues: string[]|number[]|(oldValues: string[]|number[]) => string[]|number[], event: Event) => void
136
- * toggleOneValue: (value: string|number) => void
137
- * unsetValues: () => void
138
- * }}
139
- */
140
- export const useMultipleInputValues = function () {
141
- let {
142
- values,
143
- initialValues,
144
- maxValues,
145
- onChange,
146
- readOnly
147
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
148
- const {
149
- currentValue,
150
- setValue,
151
- resetValue
152
- } = useInputValue({
153
- readOnly,
154
- onChange,
155
- value: values,
156
- // if we're controlling our own state, always start with an array
157
- initialValue: initialValues ?? (values === undefined ? [] : undefined)
158
- }, 'useMultipleInputValues');
159
- const enforceMaxValues = useCallback(newValues => {
160
- if (!maxValues) return newValues;
161
- const excess = newValues.length - maxValues;
162
- return excess > 0 ? newValues.slice(excess) : newValues;
163
- }, [maxValues]);
164
- const currentValues = enforceMaxValues(currentValue);
165
- const setValues = useCallback((newValues, event) => {
166
- const validNewValues = enforceMaxValues(newValues);
167
- setValue(validNewValues, event);
168
- }, [setValue, enforceMaxValues]);
169
- const resetValues = resetValue;
170
- const unsetValues = useCallback(event => setValues([], event), [setValues]);
171
- const toggleOneValue = useCallback((newValue, event) => {
172
- if (readOnly) return;
173
- // This will only work with primitive values (e.g. strings, numbers), swap for .some() and
174
- // a deepEqual() function if there's any use case for toggling stored objects or arrays.
175
- const newValues = currentValues.includes(newValue) ? currentValues.filter(oldValue => oldValue !== newValue) : [...currentValues, newValue];
176
- setValues(newValues, event);
177
- }, [currentValues, readOnly, setValues]);
178
- return {
179
- currentValues,
180
- resetValues,
181
- setValues,
182
- toggleOneValue,
183
- unsetValues
184
- };
185
- };
@@ -1,112 +0,0 @@
1
- import Platform from "react-native-web/dist/exports/Platform";
2
- import StyleSheet from "react-native-web/dist/exports/StyleSheet";
3
- import pressProps from './props/pressProps';
4
-
5
- /**
6
- * @typedef {import('react').ReactNode} ReactNode
7
- */
8
-
9
- // These roles should result in cursor: pointer but don't in current RNW releases
10
- const shouldUseCursor = ['checkbox', 'radio', 'switch'];
11
-
12
- /**
13
- * React Native Web has some built-in logic for applying cursor styles based on accessibility roles;
14
- * however, it misses certain cases. This fills in known cases where widely used versions of RNW
15
- * fail to apply an expected cursor style.
16
- *
17
- * @param {object} props
18
- * @param {boolean} [props.inactive]
19
- * @param {boolean} [props.disabled]
20
- * @param {string} [props.accessibilityRole]
21
- * @returns
22
- */
23
- export const getCursorStyle = _ref => {
24
- let {
25
- inactive,
26
- disabled,
27
- accessibilityRole
28
- } = _ref;
29
- if (Platform.OS !== 'web') return undefined;
30
- if (inactive || disabled) return staticStyles.notAllowed;
31
- if (shouldUseCursor.includes(accessibilityRole)) return staticStyles.pointer;
32
- return undefined; // allows React Native Web's built-in logic to apply
33
- };
34
-
35
- /**
36
- * @typedef {{ pressed: boolean, focused: boolean, hovered?: boolean }} PressableState
37
- */
38
-
39
- /**
40
- * Maps the state object given by the React Native `Pressable` component to the set of
41
- * equivalent appearance names used in UDS.
42
- *
43
- * @param {PressableState} pressableState - state object passed by React Native's `<Pressable>` into
44
- * render functions passed to its `style` or `children` props.
45
- * @param {object} [additionalState] - properties specific to the current component,
46
- * such as `inactive`, `selected`, etc.
47
- * @returns {object}
48
- */
49
- export const resolvePressableState = function () {
50
- let {
51
- pressed = false,
52
- focused = false,
53
- hovered = false
54
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
55
- let additionalState = arguments.length > 1 ? arguments[1] : undefined;
56
- return {
57
- ...additionalState,
58
- focus: focused,
59
- hover: hovered,
60
- pressed
61
- };
62
- };
63
-
64
- /**
65
- * Takes a UDS `tokens` prop and, if it is a function, resolves it based on a state
66
- * object passed from the React Native `Pressable` component and optional extra properties.
67
- *
68
- * @param {object|function} tokens - UDS system tokens prop
69
- * @param {PressableState} pressableState - state object passed by React Native's `<Pressable>`
70
- * @param {object} [additionalState] - properties specific to the current component
71
- * @returns {object} - resolved tokens object
72
- */
73
- export const resolvePressableTokens = (tokens, pressableState, additionalState) => {
74
- if (typeof tokens !== 'function') return tokens;
75
- const udsPressableState = resolvePressableState(pressableState, additionalState);
76
- return tokens(udsPressableState);
77
- };
78
- const staticStyles = StyleSheet.create(Platform.select({
79
- web: {
80
- notAllowed: {
81
- cursor: 'not-allowed'
82
- },
83
- pointer: {
84
- cursor: 'pointer'
85
- }
86
- },
87
- default: {}
88
- }));
89
-
90
- /**
91
- * From an object of props, extracts any platform-appropriate press handler functions and wraps
92
- * them in a function that passes in some provided args. Allows components containing a Pressable
93
- * to pass in press handlers that are then called with state or values that is otherwise internal.
94
- */
95
- export const getPressHandlersWithArgs = function () {
96
- let pressableProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
97
- let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
98
- // Allow handlers to be passed down for blur, hover, focus, pressIn, etc
99
- const pressHandlers = Object.fromEntries(Object.entries(pressProps.selectHandlers(pressableProps)).map(_ref2 => {
100
- let [key, handler] = _ref2;
101
- return {
102
- [key]: function () {
103
- for (var _len = arguments.length, defaultArgs = new Array(_len), _key = 0; _key < _len; _key++) {
104
- defaultArgs[_key] = arguments[_key];
105
- }
106
- // Pass each handler data on this button and current selection
107
- handler(...args, ...defaultArgs);
108
- }
109
- };
110
- }));
111
- return pressHandlers;
112
- };
@@ -1,310 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import getPropSelector from './getPropSelector';
4
-
5
- // React Native exports a11y prop definitions as TypeScript Interfaces, but no longer exports PropTypes
6
- // so we have to define them ourselves.
7
- const nativeA11yPropTypes = {
8
- accessible: PropTypes.bool,
9
- focusable: PropTypes.bool,
10
- accessibilityElementsHidden: PropTypes.bool,
11
- accessibilityHint: PropTypes.string,
12
- // react-native-web ignores `accessibilityHint`
13
- accessibilityIgnoresInvertColors: PropTypes.bool,
14
- accessibilityLabel: PropTypes.string,
15
- accessibilityRole: PropTypes.string,
16
- accessibilityActions: PropTypes.arrayOf(PropTypes.shape({
17
- name: PropTypes.string.isRequired,
18
- label: PropTypes.string
19
- })),
20
- accessibilityLiveRegion: PropTypes.oneOf(['none', 'polite', 'assertive']),
21
- accessibilityState: PropTypes.shape({
22
- disabled: PropTypes.bool,
23
- selected: PropTypes.bool,
24
- checked: PropTypes.oneOf([true, false, 'mixed']),
25
- busy: PropTypes.bool,
26
- expanded: PropTypes.bool
27
- }),
28
- accessibilityValue: PropTypes.shape({
29
- min: PropTypes.number,
30
- max: PropTypes.number,
31
- now: PropTypes.number,
32
- text: PropTypes.string
33
- }),
34
- accessibilityViewIsModal: PropTypes.bool,
35
- importantForAccessibility: PropTypes.oneOf(['auto', 'yes', 'no', 'no-hide-descendants']),
36
- onAccessibilityAction: PropTypes.func,
37
- onAccessibilityEscape: PropTypes.func,
38
- onAccessibilityTap: PropTypes.func
39
- };
40
- const a11yPropTypes = {
41
- ...nativeA11yPropTypes,
42
- // React Native Web adds many a11y props that alias aria-* attributes
43
- // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
44
- accessibilityActiveDescendant: PropTypes.string,
45
- accessibilityAtomic: PropTypes.bool,
46
- accessibilityAutoComplete: PropTypes.string,
47
- accessibilityBusy: PropTypes.bool,
48
- accessibilityChecked: PropTypes.oneOf([true, false, 'mixed']),
49
- accessibilityColumnCount: PropTypes.number,
50
- accessibilityColumnIndex: PropTypes.number,
51
- accessibilityColumnSpan: PropTypes.number,
52
- accessibilityControls: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
53
- accessibilityCurrent: PropTypes.oneOf([true, false, 'page', 'step', 'location', 'date', 'time']),
54
- accessibilityDescribedBy: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
55
- accessibilityDetails: PropTypes.string,
56
- accessibilityDisabled: PropTypes.bool,
57
- accessibilityErrorMessage: PropTypes.string,
58
- accessibilityExpanded: PropTypes.bool,
59
- accessibilityFlowTo: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
60
- accessibilityHasPopup: PropTypes.string,
61
- accessibilityHidden: PropTypes.bool,
62
- accessibilityInvalid: PropTypes.bool,
63
- accessibilityKeyShortcuts: PropTypes.string,
64
- accessibilityLabelledBy: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
65
- accessibilityLevel: PropTypes.number,
66
- accessibilityModal: PropTypes.bool,
67
- accessibilityMultiline: PropTypes.bool,
68
- accessibilityMultiSelectable: PropTypes.bool,
69
- accessibilityOrientation: PropTypes.oneOf(['horizontal', 'vertical']),
70
- accessibilityOwns: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]),
71
- accessibilityPlaceholder: PropTypes.string,
72
- accessibilityPosInSet: PropTypes.number,
73
- accessibilityPressed: PropTypes.bool,
74
- accessibilityReadOnly: PropTypes.bool,
75
- accessibilityRequired: PropTypes.bool,
76
- accessibilityRoleDescription: PropTypes.string,
77
- accessibilityRowCount: PropTypes.number,
78
- accessibilityRowIndex: PropTypes.number,
79
- accessibilityRowSpan: PropTypes.number,
80
- accessibilitySelected: PropTypes.bool,
81
- accessibilitySetSize: PropTypes.number,
82
- accessibilitySort: PropTypes.oneOf(['ascending', 'descending', 'none', 'other']),
83
- accessibilityValueMax: PropTypes.number,
84
- accessibilityValueMin: PropTypes.number,
85
- accessibilityValueNow: PropTypes.number,
86
- accessibilityValueText: PropTypes.string
87
- };
88
- const a11yPropTypesByPlatform = Platform.select({
89
- // React Native Web adds many a11y props that alias aria-* attributes
90
- // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
91
- web: a11yPropTypes,
92
- // Ignore web-only props in native builds
93
- default: nativeA11yPropTypes
94
- });
95
-
96
- // These RNW-only props only exist in RNW >=0.18. Catch them and map them according to platform
97
- // so all props work on RN, RNW >=0.18 and RNW <=0.18, regardless of which they were written for:
98
- // - On native, bundle them into objects, like `accessibilityValue: { max: 100 }`
99
- // - On web, split them into both of:
100
- // - The appropriate aria-* attr, like `aria-valuenow`, which will work regardless of RNW version
101
- // - The corresponding RNW >=0.18 prop, like `accessibilityValueNow`, which in some cases does more
102
- // than just add the aria-* (e.g. `accessibilityDisabled` adds `disabled` if element supports it,
103
- // and future releases might add more features here).
104
- const rwnPropMappings = {
105
- // Former accessibilityValue props.
106
- accessibilityValueMax: value => Platform.select({
107
- web: {
108
- 'aria-valuemax': value,
109
- accessibilityValueMax: value
110
- },
111
- default: {
112
- accessibilityValue: {
113
- max: value
114
- }
115
- }
116
- }),
117
- accessibilityValueMin: value => Platform.select({
118
- web: {
119
- 'aria-valuemin': value,
120
- accessibilityValueMin: value
121
- },
122
- default: {
123
- accessibilityValue: {
124
- min: value
125
- }
126
- }
127
- }),
128
- accessibilityValueNow: value => Platform.select({
129
- web: {
130
- 'aria-valuenow': value,
131
- accessibilityValueNow: value
132
- },
133
- default: {
134
- accessibilityValue: {
135
- now: value
136
- }
137
- }
138
- }),
139
- accessibilityValueText: value => Platform.select({
140
- web: {
141
- 'aria-valuetext': value,
142
- accessibilityValueText: value
143
- },
144
- default: {
145
- accessibilityValue: {
146
- text: value
147
- }
148
- }
149
- }),
150
- // Former accessibilityState props
151
- accessibilityBusy: value => Platform.select({
152
- web: {
153
- 'aria-busy': value,
154
- accessibilityBusy: value
155
- },
156
- default: {
157
- accessibilityState: {
158
- busy: value
159
- }
160
- }
161
- }),
162
- accessibilityChecked: value => Platform.select({
163
- web: {
164
- 'aria-checked': value,
165
- accessibilityChecked: value
166
- },
167
- default: {
168
- accessibilityState: {
169
- checked: value
170
- }
171
- }
172
- }),
173
- accessibilityDisabled: value => Platform.select({
174
- web: {
175
- 'aria-disabled': value,
176
- // RNW >= 0.18 maps `accessibilityDisabled` to `disabled` attr if element supports it
177
- accessibilityDisabled: value,
178
- // As of RNW 0.18.9, Pressable doesn't support `accessibilityDisabled`, only `disabled`,
179
- // but everything else supports `accessibilityDisabled` but not `disabled`.
180
- disabled: value
181
- },
182
- default: {
183
- accessibilityState: {
184
- disabled: value
185
- }
186
- }
187
- }),
188
- accessibilityExpanded: value => Platform.select({
189
- web: {
190
- 'aria-expanded': value,
191
- accessibilityExpanded: value
192
- },
193
- default: {
194
- accessibilityState: {
195
- expanded: value
196
- }
197
- }
198
- }),
199
- accessibilitySelected: value => Platform.select({
200
- web: {
201
- 'aria-selected': value,
202
- accessibilitySelected: value
203
- },
204
- default: {
205
- accessibilityState: {
206
- selected: value
207
- }
208
- }
209
- })
210
- };
211
- if (Platform.OS === 'web') {
212
- const mapIfDefined = (value, fn) => value === undefined ? undefined : fn(value);
213
-
214
- // On Web only, these React Native object props need manual mapping in RNW >=0.18
215
- // which dropped support for the React Native shape of these props.
216
- // Re-use our RNW 0.18 prop mappings to support both RNW <0.18 (aria-*) and
217
- // new features added in >=0.18 (e.g. for accessibilityDisabled).
218
- rwnPropMappings.accessibilityValue = function () {
219
- let {
220
- max,
221
- min,
222
- now,
223
- text
224
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
225
- return {
226
- ...mapIfDefined(max, rwnPropMappings.accessibilityValueMax),
227
- ...mapIfDefined(min, rwnPropMappings.accessibilityValueMin),
228
- ...mapIfDefined(now, rwnPropMappings.accessibilityValueNow),
229
- ...mapIfDefined(text, rwnPropMappings.accessibilityValueText)
230
- };
231
- };
232
- rwnPropMappings.accessibilityState = function () {
233
- let {
234
- busy,
235
- checked,
236
- disabled,
237
- expanded,
238
- selected
239
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
240
- return {
241
- ...mapIfDefined(busy, rwnPropMappings.accessibilityBusy),
242
- ...mapIfDefined(checked, rwnPropMappings.accessibilityChecked),
243
- ...mapIfDefined(disabled, rwnPropMappings.accessibilityDisabled),
244
- ...mapIfDefined(expanded, rwnPropMappings.accessibilityExpanded),
245
- ...mapIfDefined(selected, rwnPropMappings.accessibilitySelected)
246
- };
247
- };
248
- }
249
- export default {
250
- /**
251
- * Proptypes for recognised React Native accessiblity (a11y) props.
252
- * Spread this in the propTypes of components that accept React Native a11y props.
253
- */
254
- types: a11yPropTypes,
255
- /**
256
- * Filters a props object, returning only recognised React Native accessiblity (a11y) props.
257
- *
258
- * Where components accept React Native a11y props, pass { ...rest } from its props to this,
259
- * then spread the returned object into the component's props (usually its outer container).
260
- */
261
- select: getPropSelector(
262
- // Allow all React Native accessibility props
263
- a11yPropTypesByPlatform,
264
- // Allow any `aria-*` attribute on web; ignore them on native
265
- Platform.OS === 'web' && /^aria-/,
266
- // For the props added and deprecated in React Native Web 0.18, convert them to
267
- // a form that is platform-appropriate and RNW-version safe
268
- (key, value) => {
269
- const rnwPropMapper = rwnPropMappings[key];
270
- return rnwPropMapper ? rnwPropMapper(value) : undefined;
271
- }),
272
- /**
273
- * Use this to disable focus for elements which are visually hidden but still rendered.
274
- */
275
- nonFocusableProps: {
276
- focusable: false,
277
- // for android, and for keyboard nav in web
278
- ...Platform.select({
279
- web: {
280
- accessibilityHidden: true // web screenreaders
281
- },
282
-
283
- android: {
284
- importantForAccessibility: 'no-hide-descendants'
285
- },
286
- ios: {
287
- accessibilityElementsHidden: true
288
- }
289
- })
290
- },
291
- /**
292
- * Generates an object of platform-appropriate a11y props describing an item that has an
293
- * ordered position in a set. Examples of usage by accessibility tools includes screenreaders
294
- * saying "Item X of Y" when this item is select.
295
- *
296
- * @param {number} itemsCount - the number of items in the set
297
- * @param {number} index - the current item's index in the set
298
- * @returns {object} - platform-applicable a11y props describing this position (if available)
299
- */
300
- getPositionInSet: (itemsCount, index) => Platform.select({
301
- web: {
302
- // accessibilityPosInSet etc exists in React Native Web main branch
303
- // but not in a release compatible with Expo etc; just use `aria-*`
304
- 'aria-setsize': itemsCount,
305
- 'aria-posinset': index + 1
306
- },
307
- // No equivalents exist on the native side
308
- default: {}
309
- })
310
- };
@@ -1,25 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- const clickHandlerMapping = {
3
- onClick: 'onPress',
4
- onMouseDown: 'onPressIn',
5
- onMouseUp: 'onPressOut'
6
- };
7
- export default {
8
- /**
9
- * Web-oriented HTML click handlers that may be mapped to React Native press handlers
10
- */
11
- types: Object.fromEntries(Object.keys(clickHandlerMapping).map(mouseName => [mouseName, PropTypes.func])),
12
- /**
13
- * Takes a set of props and converts HTML mouse click oriented event handlers to closest
14
- * equivalent React Native press event handler.
15
- *
16
- * Use this when a component that expects press-oriented props may need to support third-party
17
- * web-oriented tooling that injects web-oriented event handlers directly. For example, for
18
- * to support use with NextJS's 'next/link' component, which injects `onClick` prop into its child.
19
- */
20
- toPressProps: props => Object.fromEntries(Object.entries(props).map(_ref => {
21
- let [originalName, value] = _ref;
22
- const translatedName = clickHandlerMapping[originalName];
23
- return translatedName ? [translatedName, value] : [originalName, value];
24
- }))
25
- };
@@ -1,50 +0,0 @@
1
- /**
2
- * Returns a prop type validator which checks whether a prop is either a component or an array of
3
- * components of a given type, based on their `name` or `displayName` properties.
4
- * Use an array of strings for `passedName` to accept more than one component type.
5
- * For an array the validation fails on the first occurrence of an invalid element.
6
- *
7
- * @param {string|string[]} passedName
8
- * @return {function}
9
- */
10
- export default function componentPropType(passedName) {
11
- const passedNames = typeof passedName === 'string' ? [passedName] : passedName;
12
- const checkProp = (props, propName, componentName) => {
13
- var _props$propName$type, _props$propName$type2;
14
- if (props[propName] === undefined || props[propName] === null) {
15
- return undefined;
16
- }
17
- if (Array.isArray(props[propName])) {
18
- // Iterates through every child and try to find the first element that does not match the passed name
19
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
20
- return props[propName].map((_, index) => checkProp(props[propName], index, componentName)).find(Boolean);
21
- }
22
- const nameInProp = ((_props$propName$type = props[propName].type) === null || _props$propName$type === void 0 ? void 0 : _props$propName$type.displayName) || ((_props$propName$type2 = props[propName].type) === null || _props$propName$type2 === void 0 ? void 0 : _props$propName$type2.name);
23
- if (!nameInProp || !passedNames.includes(nameInProp)) {
24
- const propDescription = nameInProp ? `Component ${nameInProp}` : typeof props[propName];
25
- return new Error(`${componentName}: ${propDescription} was passed to \`${propName}\` prop; should be ${passedNames.join(' or ')}`);
26
- }
27
- return undefined;
28
- };
29
- const checkRequired = (props, propName, componentName) => {
30
- if (props[propName] === undefined) {
31
- return new Error(`The prop \`${propName}\` is marked as required in \`${componentName}\`, but its value is ${props[propName]}.`);
32
- }
33
- return undefined;
34
- };
35
- const createValidate = isRequired => {
36
- if (isRequired) {
37
- return (props, propName, componentName) => {
38
- const checkForError = checkProp(props, propName, componentName);
39
- if (checkForError) {
40
- return checkForError;
41
- }
42
- return checkRequired(props, propName, componentName);
43
- };
44
- }
45
- return checkProp;
46
- };
47
- const validate = createValidate();
48
- validate.isRequired = createValidate(true);
49
- return validate;
50
- }
@@ -1,2 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export default PropTypes.oneOf(['en', 'fr']);