@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,52 +0,0 @@
1
- import merge from 'lodash.merge';
2
- import hasOwnProperty from '../hasOwnProperty';
3
-
4
- /**
5
- * @callback PropSelectorCallback - a callback called for each prop passed to a component
6
- * @param {string} key - the key for the prop to be tested
7
- * @param {*} value - the value of the prop being passed in to the component
8
- * @returns {object|undefined}
9
- */
10
-
11
- /**
12
- * @param {PropSelectorCallback} callback
13
- * @param {object} items
14
- * @param {string} key
15
- * @param {*} value
16
- * @returns {object|undefined}
17
- */
18
- const applyCallback = (callback, items, key, value) => {
19
- // If there's no callback, continue and look up keys as normal
20
- if (typeof callback !== 'function') return undefined;
21
- const newItems = callback(key, value);
22
-
23
- // If the callback doesn't return anything, continue and look up keys as normal
24
- if (!newItems) return undefined;
25
-
26
- // If the callback returns items, merge them in, deep merging props that are objects
27
- return merge({}, items, newItems);
28
- };
29
-
30
- /**
31
- * Generates a function to filter an object of props down to a subset of allowed props, with
32
- * optional prop alteration and re-mapping via an optional callback.
33
- *
34
- * @param {object} propTypes - an object where every defined key is a valid prop
35
- * @param {*} [regexp] - an optional regular expression where any match is a valid prop
36
- * @param {PropSelectorCallback} callback - optional function taking `(key, value)` returning either undefined or an object of new props to merge in
37
- * @returns {object} - valid props for this component
38
- */
39
- export default function getPropSelector(propTypes, regexp, callback) {
40
- return props => Object.entries(props).reduce((items, _ref) => {
41
- let [key, value] = _ref;
42
- return (
43
- // If there's a callback and it matches something, applyCallback merges it in; return that
44
- applyCallback(callback, items, key, value) || (
45
- // If there's no callback match, check if this prop is valid and merge it in if it is
46
- hasOwnProperty(propTypes, key) || regexp && regexp.test(key) ? {
47
- ...items,
48
- [key]: value
49
- } : items)
50
- );
51
- }, {});
52
- }
@@ -1,105 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import getPropSelector from './getPropSelector';
4
- const focusHandlerProps = {
5
- types: {
6
- /**
7
- * onBlur handler
8
- */
9
- onBlur: PropTypes.func,
10
- /**
11
- * onFocus handler
12
- */
13
- onFocus: PropTypes.func
14
- }
15
- };
16
- focusHandlerProps.select = getPropSelector(focusHandlerProps.types);
17
- const textInputHandlerProps = {
18
- types: {
19
- /**
20
- * onChange handler
21
- */
22
- onChange: PropTypes.func,
23
- /**
24
- * onChangeText handler
25
- */
26
- onChangeText: PropTypes.func,
27
- /**
28
- * onClear handler
29
- */
30
- onClear: PropTypes.func,
31
- /**
32
- * onSubmit handler
33
- */
34
- onSubmit: PropTypes.func,
35
- /**
36
- * onSubmitEditing handler
37
- */
38
- onSubmitEditing: PropTypes.func,
39
- /**
40
- * onContentSizeChange handler
41
- */
42
- onContentSizeChange: PropTypes.func,
43
- /**
44
- * onEndEditing handler
45
- */
46
- onEndEditing: PropTypes.func,
47
- /**
48
- * onScroll handler
49
- */
50
- onScroll: PropTypes.func,
51
- /**
52
- * onSelectionChange handler
53
- */
54
- onSelectionChange: PropTypes.func,
55
- /**
56
- * onKeyPress handler
57
- */
58
- onKeyPress: PropTypes.func,
59
- /**
60
- * onKeyUp handler (only supported on Web)
61
- */
62
- onKeyUp: PropTypes.func,
63
- /**
64
- * onKeyDown handler (only supported on Web)
65
- */
66
- onMouseOver: PropTypes.func,
67
- /**
68
- * onKeyDown handler (only supported on Web)
69
- */
70
- onMouseOut: PropTypes.func
71
- }
72
- };
73
- const selectTextInputHandlers = getPropSelector(textInputHandlerProps.types);
74
- textInputHandlerProps.select = props => {
75
- // Support for onKeyPress/onKeyUp/onKeyDown is inconsistent between React Native and React Native Web
76
- const {
77
- onKeyPress,
78
- onKeyUp,
79
- onKeyDown,
80
- ...resolvedProps
81
- } = selectTextInputHandlers(props);
82
- if (onKeyPress || onKeyUp || onKeyDown) {
83
- if (Platform.OS !== 'web') {
84
- // React Native only supports onKeyPress. Call any key handlers supplied in expected order.
85
- resolvedProps.onKeyPress = event => {
86
- if (typeof onKeyDown === 'function') onKeyDown(event);
87
- if (typeof onKeyPress === 'function') onKeyPress(event);
88
- if (typeof onKeyUp === 'function') onKeyUp(event);
89
- };
90
- } else {
91
- // React Native Web supports onKeyUp the normal way.
92
- if (onKeyUp) resolvedProps.onKeyUp = onKeyUp;
93
- // React Native Web doesn't support the `onKeyDown` prop name, but maps a supplied onKeyPress handler
94
- // to the onKeyDown event and calls it with a keydown event. Make React Native Web call either or both.
95
- if (onKeyPress || onKeyDown) {
96
- resolvedProps.onKeyPress = event => {
97
- if (typeof onKeyDown === 'function') onKeyDown(event);
98
- if (typeof onKeyPress === 'function') onKeyPress(event);
99
- };
100
- }
101
- }
102
- }
103
- return resolvedProps;
104
- };
105
- export { focusHandlerProps, textInputHandlerProps };
@@ -1,33 +0,0 @@
1
- import PropTypes from 'prop-types';
2
-
3
- // Props related to HTML <a> anchor link attributes.
4
- const targetValues = ['_self', '_blank', '_parent', '_top'];
5
- export default {
6
- types: {
7
- // React Native Web >= 0.15.0 supports hrefAttrs prop with only these properties
8
- // and passes them to <a> if an element has a href prop or accessibilityRole "link"
9
- download: PropTypes.string,
10
- rel: PropTypes.string,
11
- target: PropTypes.oneOf(targetValues)
12
- },
13
- /**
14
- * Takes a props object, bundles any hrefAttrs props present into one object
15
- * and returns that keyed as `hrefAttrs` and non-hrefAttrs props keyed as `rest`
16
- */
17
- bundle: _ref => {
18
- let {
19
- download,
20
- rel,
21
- target,
22
- ...rest
23
- } = _ref;
24
- return {
25
- hrefAttrs: {
26
- download,
27
- rel,
28
- target
29
- },
30
- rest
31
- };
32
- }
33
- };
@@ -1,19 +0,0 @@
1
- export * from './tokens';
2
- export * from './handlerProps';
3
- export { default as a11yProps } from './a11yProps';
4
- export { default as clickProps } from './clickProps';
5
- export { default as copyPropTypes } from './copyPropTypes';
6
- export { default as componentPropType } from './componentPropType';
7
- export { default as hrefAttrsProp } from './hrefAttrsProp';
8
- export { default as inputSupportsProps } from './inputSupportsProps';
9
- export { default as linkProps } from './linkProps';
10
- export { default as pressProps } from './pressProps';
11
- export { default as paddingProp } from './paddingProp';
12
- export { default as rectProp } from './rectProp';
13
- export { default as responsiveProps } from './responsiveProps';
14
- export { default as spacingProps } from './spacingProps';
15
- export { default as selectSystemProps } from './selectSystemProps';
16
- export { default as textInputProps } from './textInputProps';
17
- export { default as textProps } from './textProps';
18
- export { default as variantProp } from './variantProp';
19
- export { default as viewProps } from './viewProps';
@@ -1,68 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export default {
3
- types: {
4
- /**
5
- * Whether the English or French copy will be used (e.g. for accessibility labels).
6
- */
7
- copy: PropTypes.oneOf(['en', 'fr']),
8
- /**
9
- * The input label.
10
- */
11
- label: PropTypes.string,
12
- /**
13
- * A short description of the expected input.
14
- */
15
- hint: PropTypes.string,
16
- /**
17
- * Position of the hint relative to label. Use `below` to display a larger hint below the label.
18
- */
19
- hintPosition: PropTypes.oneOf(['inline', 'below']),
20
- /**
21
- * A detailed description of validation error/success or additional instructions.
22
- * Visual variant is determined based on the `validation` prop.
23
- */
24
- feedback: PropTypes.string,
25
- /**
26
- * Tokens to be passed to the feedback component.
27
- */
28
- feedbackTokens: PropTypes.object,
29
- /**
30
- * Props to be passed to the feedback component.
31
- */
32
- feedbackProps: PropTypes.object,
33
- /**
34
- * Content of an optional `Tooltip`. If set, a tooltip button will be shown next to the label.
35
- */
36
- tooltip: PropTypes.string,
37
- /**
38
- * Use to visually mark an input as valid or invalid.
39
- */
40
- validation: PropTypes.oneOf(['error', 'success'])
41
- },
42
- select: _ref => {
43
- let {
44
- copy,
45
- label,
46
- hint,
47
- hintPosition,
48
- feedback,
49
- feedbackTokens,
50
- feedbackProps,
51
- tooltip,
52
- validation
53
- } = _ref;
54
- return {
55
- supportsProps: {
56
- copy,
57
- label,
58
- hint,
59
- hintPosition,
60
- feedback,
61
- feedbackTokens,
62
- feedbackProps,
63
- tooltip,
64
- validation
65
- }
66
- };
67
- }
68
- };
@@ -1,43 +0,0 @@
1
- import Linking from "react-native-web/dist/exports/Linking";
2
- import Platform from "react-native-web/dist/exports/Platform";
3
- import PropTypes from 'prop-types';
4
- import { pressPropTypes } from './pressProps';
5
- import a11yProps from './a11yProps';
6
- import hrefAttrsProp from './hrefAttrsProp';
7
- import getPropSelector from './getPropSelector';
8
- const linkPropTypes = {
9
- ...pressPropTypes,
10
- href: PropTypes.string,
11
- hrefAttrs: PropTypes.shape(hrefAttrsProp.types),
12
- ...a11yProps.types
13
- };
14
- export default {
15
- /**
16
- * Proptypes for components that, on Web, can output <a href="..."> link elements
17
- */
18
- types: linkPropTypes,
19
- /**
20
- * Filters a props object, returning only the platform-relevant link props defined above
21
- */
22
- select: getPropSelector(linkPropTypes),
23
- /**
24
- * Turn hrefs into press handlers that open links on Native.
25
- *
26
- * @param {({ onPress?: () => void, href?: string })}
27
- * @returns {(() => void)|undefined} Returns a press handler, or undefined on web if no press
28
- * handler is provided (expects calling component to render as `<a href={href}>` on web).
29
- */
30
- handleHref: _ref => {
31
- let {
32
- onPress,
33
- href
34
- } = _ref;
35
- return Platform.select({
36
- web: onPress,
37
- default: function () {
38
- if (onPress) onPress(...arguments);
39
- if (href) Linking.openURL(href);
40
- }
41
- });
42
- }
43
- };
@@ -1,9 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export default {
3
- propType: PropTypes.shape({
4
- paddingBottom: PropTypes.number,
5
- paddingLeft: PropTypes.number,
6
- paddingRight: PropTypes.number,
7
- paddingTop: PropTypes.number
8
- })
9
- };
@@ -1,42 +0,0 @@
1
- import Platform from "react-native-web/dist/exports/Platform";
2
- import PropTypes from 'prop-types';
3
- import rectProp from './rectProp';
4
- import getPropSelector from './getPropSelector';
5
- const pressHandlerPropTypes = {
6
- onPress: PropTypes.func,
7
- onPressIn: PropTypes.func,
8
- onPressOut: PropTypes.func,
9
- ...Platform.select({
10
- web: {
11
- onMouseEnter: PropTypes.func,
12
- onMouseLeave: PropTypes.func,
13
- onFocus: PropTypes.func,
14
- onBlur: PropTypes.func
15
- },
16
- default: {
17
- onLongPress: PropTypes.func
18
- }
19
- })
20
- };
21
- export const pressPropTypes = {
22
- ...pressHandlerPropTypes,
23
- disabled: PropTypes.bool,
24
- ...Platform.select({
25
- web: {},
26
- default: {
27
- hitSlop: PropTypes.number,
28
- pressRetentionOffset: PropTypes.oneOfType([PropTypes.number, rectProp.propType])
29
- }
30
- })
31
- };
32
- export default {
33
- /**
34
- * Proptypes for clickable or pressable components, including web-only props
35
- */
36
- types: pressPropTypes,
37
- /**
38
- * Filters a props object, returning only the platform-relevant press props defined above
39
- */
40
- select: getPropSelector(pressPropTypes),
41
- selectHandlers: getPropSelector(pressHandlerPropTypes)
42
- };
@@ -1,9 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- export default {
3
- propType: PropTypes.shape({
4
- bottom: PropTypes.number,
5
- left: PropTypes.number,
6
- right: PropTypes.number,
7
- top: PropTypes.number
8
- })
9
- };
@@ -1,28 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- const getByViewport = propType => ({
3
- xs: propType,
4
- sm: propType,
5
- md: propType,
6
- lg: propType,
7
- xl: propType
8
- });
9
-
10
- /**
11
- * Utilities for props that allow different values to be applied at different viewports.
12
- *
13
- * These should apply viewport inheritance such that if a viewport is undefined, the value is
14
- * taken from the next smallest viewport for which a value is available. For example, a
15
- * responsive prop { xs: 2, lg: 3 } should apply 2 at sizes sm and md, and 3 at size xl.
16
- *
17
- * @property {Function} getByViewport - returns an object where each each viewport has a key
18
- * containing the provided argument.
19
- * @property {Function} getTypeByViewport - returns a PropTypes shape validator for an object where
20
- * each viewport has a key containing the provided proptype.
21
- * @property {Function} getTypeOptionallyByViewport - returns a PropTypes validator that accepts
22
- * either the provided proptype on its own, or the output of getTypeByViewport
23
- */
24
- export default {
25
- getByViewport,
26
- getTypeByViewport: propType => PropTypes.shape(getByViewport(propType)),
27
- getTypeOptionallyByViewport: propType => PropTypes.oneOfType([propType, PropTypes.shape(getByViewport(propType))])
28
- };
@@ -1,23 +0,0 @@
1
- // Returns a selector for requested prop kinds as well as the propTypes for
2
- // those props merged into one object
3
- export default function selectSystemProps(systemPropHelpers) {
4
- const selectProps = props => systemPropHelpers.reduce((acc, propHelper) => {
5
- if (typeof (propHelper === null || propHelper === void 0 ? void 0 : propHelper.select) !== 'function') {
6
- throw new Error(`An invalid system prop helper has been passed to 'selectSystemProps': prop selector ('.select') is missing in ${propHelper}`);
7
- }
8
- return {
9
- ...acc,
10
- ...propHelper.select(props)
11
- };
12
- }, {});
13
- const selectedPropTypes = systemPropHelpers.reduce((acc, propHelper) => {
14
- if (!(propHelper !== null && propHelper !== void 0 && propHelper.types)) {
15
- throw new Error(`An invalid system prop helper has been passed to 'selectSystemProps': types selector ('.types') is missing in ${propHelper}`);
16
- }
17
- return {
18
- ...acc,
19
- ...propHelper.types
20
- };
21
- }, {});
22
- return [selectProps, selectedPropTypes];
23
- }
@@ -1,57 +0,0 @@
1
- import PropTypes from 'prop-types';
2
- import responsiveProps from './responsiveProps';
3
- import variantProp from './variantProp';
4
-
5
- /**
6
- * @typedef {0|1|2|3|4|5|6|7|8|9|10|11} SpacingIndex - value used to select a size on the spacing scale
7
- *
8
- * @typedef SpacingOptions
9
- * @property {VariantProp} [SpacingOptions.variant] - optional theme scale variants e.g. compact, wide
10
- * @property {number} [SpacingOptions.size] - optional override to force a particular pixel size
11
- * @property {number} [SpacingOptions.subtract] - optional number to subtract from final pixel size
12
- *
13
- * @typedef SpacingObject
14
- * @property {SpacingIndex} [SpacingObject.xs] - space scale index to use above xs viewport
15
- * @property {SpacingIndex} [SpacingObject.sm] - space scale index to use above sm viewport
16
- * @property {SpacingIndex} [SpacingObject.md] - space scale index to use above md viewport
17
- * @property {SpacingIndex} [SpacingObject.lg] - space scale index to use above lg viewport
18
- * @property {SpacingIndex} [SpacingObject.xl] - space scale index to use above xl viewport
19
- * @property {SpacingIndex} [SpacingObject.space] - space scale index to use at all viewports
20
- * @property {SpacingOptions} [SpacingObject.options] - optional options for this spacing
21
- *
22
- * @typedef {SpacingIndex|SpacingObject} SpacingValue
23
- */
24
- const spacingScale = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
25
- const spacingIndexPropType = PropTypes.oneOf(spacingScale);
26
- const spacingObjectPropType = PropTypes.shape({
27
- ...responsiveProps.getByViewport(spacingIndexPropType),
28
- space: spacingIndexPropType,
29
- options: PropTypes.shape({
30
- variant: variantProp.propType,
31
- size: PropTypes.number
32
- })
33
- });
34
-
35
- /**
36
- * Components and utilities that assign fixed space between components use a theme-defined spacing scale.
37
- *
38
- * They typically take one or more props of the {@link SpacingValue} type and turn it into a pixel size value
39
- * using the hook `useSpacingScale`, which resolves any options or responsive behaviour and returns the
40
- * appropriate value from the theme spacing scale.
41
- *
42
- * - see /ADRs/inter-component-spacing/README.md - ADR on this structure
43
- * - see /src/utils/spacing/useSpacingScale.js - hook that processes spacing values
44
- * - @see {@link SpacingIndex} - themes provide spacing scales of up to 12 sizes with optional theme rules.
45
- * - @see {@link SpacingValue} - either a simple number referencing an index position on the spacing
46
- * scale, or an object with an optional `options` key and one or more spacing indexes keyed either by
47
- * viewports or `space` to apply at all viewports.
48
- */
49
- export default {
50
- scale: spacingScale,
51
- types: {
52
- spacingIndex: spacingIndexPropType,
53
- spacingObject: spacingObjectPropType,
54
- // Most spacing components and utilities take this prop / arg type:
55
- spacingValue: PropTypes.oneOfType([spacingIndexPropType, spacingObjectPropType])
56
- }
57
- };
@@ -1,188 +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
- // This file contains common props for components that render a React Native TextInput
6
- // It excludes interaction handler functions which are in `./handlerProps.js`
7
-
8
- /**
9
- * TextInput (web and native) supports some common React Native props
10
- * shared with React Native's Text component.
11
- */
12
- const textProps = {
13
- maxFontSizeMultiplier: PropTypes.number,
14
- nativeId: PropTypes.string,
15
- onLayout: PropTypes.func
16
- };
17
-
18
- /**
19
- * UDS text inputs accept props related to UDS's useInputValue hook
20
- */
21
- const inputValueProps = {
22
- value: PropTypes.string,
23
- type: PropTypes.string,
24
- initialValue: PropTypes.string,
25
- readOnly: PropTypes.bool,
26
- inactive: PropTypes.bool
27
- };
28
-
29
- /**
30
- * This collection adds props that can be passed through to both React Native's
31
- * and React Native Web's implementations of the React Native TextInput component.
32
- */
33
- const crossPlatform = {
34
- ...textProps,
35
- ...inputValueProps,
36
- /**
37
- * Web and Android; 'off' disables device autocomplete, other strings are platform-specific.
38
- * Valid values on Native: https://reactnative.dev/docs/textinput#autocomplete-android
39
- * Valid values on Web: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
40
- */
41
- autoComplete: PropTypes.string,
42
- /**
43
- * On Native, default is `true`, passing `false` disables autoCorrect.
44
- * On web, only supported by Safari and expects "on" or "off" strings.
45
- */
46
- autoCorrect: PropTypes.oneOf([true, false, 'on', 'off']),
47
- /**
48
- * Focuses the element on mount. On Web, only the first form element with autoFocus is focussed.
49
- */
50
- autoFocus: PropTypes.bool,
51
- /**
52
- * Default is `true` for single line, `false` for multi-line
53
- */
54
- blurOnSubmit: PropTypes.bool,
55
- /**
56
- * iOS and Web only, no effect on Android
57
- */
58
- clearTextOnFocus: PropTypes.bool,
59
- /**
60
- * Default is `true`. On web, this works by mapping to input's `readonly` attribute
61
- */
62
- editable: PropTypes.bool,
63
- /**
64
- * See documentation for allowed values (varies between Web, Android and iOS) and important notes:
65
- * - Native: https://reactnative.dev/docs/textinput#keyboardtype
66
- * - Web: equivalent to `inputmode` but see https://necolas.github.io/react-native-web/docs/text-input/
67
- */
68
- keyboardType: PropTypes.string,
69
- /**
70
- * Uses native tools (no flicker) to cap the maximum number of characters.
71
- * On Web, works via `maxlength` attr.
72
- */
73
- maxLength: PropTypes.number,
74
- /**
75
- * If passed as true, the text input can be multiple lines.
76
- *
77
- * > It is important to note that this aligns the text to the top on iOS, and centers it on Android.
78
- * > Use with textAlignVertical set to top for the same behavior in both platforms.
79
- */
80
- multiline: PropTypes.bool,
81
- /**
82
- * Web and Android only, requires `multiline` to be `true`.
83
- */
84
- numberOfLines: PropTypes.number,
85
- /**
86
- * Text to display when no value set.
87
- * Accesibility guidelines recommend using labels to describe the input and using
88
- * placeholders rarely and sparingly to prompt a particular format.
89
- */
90
- placeholder: PropTypes.string,
91
- /**
92
- * Sets placeholder colour. On Web, uses `::placeholder { color: ... }` selector.
93
- */
94
- placeholderTextColor: PropTypes.string,
95
- /**
96
- * One of a subset of platform-specific options that controls labelling and presentation
97
- * in on-screen keyboards and accessibility tools. Uses `enterkeyhint` attr on Web.
98
- *
99
- * 'done', 'go', 'next', 'search', and 'send' are available for Web, Android and iOS.
100
- */
101
- returnKeyType: PropTypes.string,
102
- /**
103
- * Obscures passwords and similar. Equivalent to type="password" on Web.
104
- * Does not work if multiline is true.
105
- */
106
- secureTextEntry: PropTypes.bool,
107
- /**
108
- * If true, all text will automatically be selected on focus.
109
- */
110
- selectTextOnFocus: PropTypes.bool,
111
- /**
112
- * Web and iOS. On iOS, default inherits from `autoCorrect`.
113
- * On Web, equivalent to `spellcheck` attr.
114
- */
115
- spellCheck: PropTypes.bool
116
- };
117
-
118
- /**
119
- * These web-only props all control HTML `input` attributes of the same name.
120
- * Refer to general HTML documentation for more details.
121
- */
122
- const webOnly = {
123
- disabled: PropTypes.bool,
124
- dir: PropTypes.oneOf(['auto', 'ltr', 'rtl']),
125
- lang: PropTypes.string,
126
- /**
127
- * Sets the HTML input `pattern` attr. Not supported by React Native Web, but is supported by UDS.
128
- * Must also pass in a ref and check validity by calling the HTML element's checkValidity method:
129
- * https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/checkValidity
130
- */
131
- pattern: PropTypes.string
132
- };
133
-
134
- /**
135
- * These props are supported in React Native but not React Native Web.
136
- *
137
- * React Native text inputs can be quirky, so a full set of props should be allowed to handle edge cases.
138
- * Refer to React Native documentation for details, allowed values, and Android/iOS support and versions:
139
- * https://reactnative.dev/docs/textinput
140
- *
141
- * Beware that many React Native text input props apply via complicated logic that chooses a built-in
142
- * native component based on the values of multiple boolean flags, and may sometimes appear to pick an
143
- * option that is inappropriate for one flag based on the values of one or more other other flags.
144
- */
145
- const nativeOnly = {
146
- caretHidden: PropTypes.bool,
147
- clearButtonMode: PropTypes.string,
148
- contextMenuHidden: PropTypes.bool,
149
- dataDetectorTypes: PropTypes.string,
150
- disableFullscreenUI: PropTypes.bool,
151
- enablesReturnKeyAutomatically: PropTypes.bool,
152
- importantForAutofill: PropTypes.string,
153
- inlineImageLeft: PropTypes.string,
154
- keyboardAppearance: PropTypes.string,
155
- returnKeyLabel: PropTypes.string,
156
- rejectResponderTermination: PropTypes.bool,
157
- scrollEnabled: PropTypes.bool,
158
- selection: PropTypes.object,
159
- selectionColor: PropTypes.string,
160
- showSoftInputOnFocus: PropTypes.bool,
161
- textAlign: PropTypes.string,
162
- textContentType: PropTypes.string,
163
- passwordRules: PropTypes.string,
164
- textBreakStrategy: PropTypes.string,
165
- underlineColorAndroid: PropTypes.string
166
- };
167
- export default {
168
- /**
169
- * Subset of proptypes that can be passed down to a React Native or React Native Web
170
- * `TextInput` component. Allow regardless of platform, so cross-platform apps don't warn.
171
- */
172
- types: {
173
- ...crossPlatform,
174
- ...webOnly,
175
- ...nativeOnly
176
- },
177
- /**
178
- * Filters a props object. Return only platform-appropriate TextInput props, native inputs
179
- * may throw errors on receiving unknown props.
180
- */
181
- select: getPropSelector({
182
- ...crossPlatform,
183
- ...Platform.select({
184
- web: webOnly,
185
- default: nativeOnly
186
- })
187
- })
188
- };