@telus-uds/components-base 1.66.0 → 1.67.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 (486) hide show
  1. package/CHANGELOG.md +23 -3
  2. package/lib/A11yInfoProvider/index.js +5 -20
  3. package/lib/A11yText/index.js +3 -17
  4. package/lib/ActivityIndicator/Spinner.js +2 -9
  5. package/lib/ActivityIndicator/Spinner.native.js +4 -27
  6. package/lib/ActivityIndicator/index.js +1 -13
  7. package/lib/ActivityIndicator/shared.js +0 -3
  8. package/lib/Autocomplete/Autocomplete.js +34 -85
  9. package/lib/Autocomplete/Loading.js +0 -10
  10. package/lib/Autocomplete/Suggestions.js +0 -11
  11. package/lib/Autocomplete/index.js +0 -3
  12. package/lib/BaseProvider/HydrationContext.js +4 -18
  13. package/lib/BaseProvider/index.js +0 -12
  14. package/lib/Box/Box.js +10 -35
  15. package/lib/Box/index.js +0 -3
  16. package/lib/Button/Button.js +4 -13
  17. package/lib/Button/ButtonBase.js +23 -55
  18. package/lib/Button/ButtonDropdown.js +7 -32
  19. package/lib/Button/ButtonGroup.js +15 -48
  20. package/lib/Button/ButtonLink.js +3 -17
  21. package/lib/Button/index.js +0 -5
  22. package/lib/Button/propTypes.js +0 -15
  23. package/lib/Card/Card.js +3 -14
  24. package/lib/Card/CardBase.js +5 -16
  25. package/lib/Card/PressableCardBase.js +7 -30
  26. package/lib/Card/index.js +0 -7
  27. package/lib/Carousel/Carousel.js +22 -115
  28. package/lib/Carousel/CarouselContext.js +0 -14
  29. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +6 -18
  30. package/lib/Carousel/CarouselItem/CarouselItem.js +5 -20
  31. package/lib/Carousel/CarouselItem/index.js +0 -3
  32. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -9
  33. package/lib/Carousel/CarouselStepTracker/index.js +0 -3
  34. package/lib/Carousel/CarouselTabs/CarouselTabs.js +5 -15
  35. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -16
  36. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -22
  37. package/lib/Carousel/CarouselTabs/index.js +0 -3
  38. package/lib/Carousel/CarouselThumbnail.js +1 -16
  39. package/lib/Carousel/CarouselThumbnailNavigation.js +0 -15
  40. package/lib/Carousel/index.js +0 -5
  41. package/lib/Checkbox/Checkbox.js +5 -44
  42. package/lib/Checkbox/CheckboxButton.js +7 -33
  43. package/lib/Checkbox/CheckboxGroup.js +14 -45
  44. package/lib/Checkbox/CheckboxInput.js +1 -11
  45. package/lib/Checkbox/CheckboxInput.native.js +0 -2
  46. package/lib/Checkbox/index.js +0 -4
  47. package/lib/CheckboxCard/CheckboxCard.js +4 -37
  48. package/lib/CheckboxCard/index.js +0 -3
  49. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +216 -0
  50. package/lib/CheckboxCardGroup/index.js +10 -0
  51. package/lib/Divider/Divider.js +13 -24
  52. package/lib/Divider/index.js +0 -3
  53. package/lib/ExpandCollapse/Accordion.js +1 -9
  54. package/lib/ExpandCollapse/Control.js +10 -32
  55. package/lib/ExpandCollapse/ExpandCollapse.js +3 -19
  56. package/lib/ExpandCollapse/Panel.js +13 -38
  57. package/lib/ExpandCollapse/index.js +0 -5
  58. package/lib/Feedback/Feedback.js +13 -30
  59. package/lib/Feedback/index.js +0 -3
  60. package/lib/Fieldset/Fieldset.js +6 -37
  61. package/lib/Fieldset/FieldsetContainer.js +1 -10
  62. package/lib/Fieldset/FieldsetContainer.native.js +0 -8
  63. package/lib/Fieldset/Legend.js +1 -10
  64. package/lib/Fieldset/Legend.native.js +1 -13
  65. package/lib/Fieldset/index.js +0 -3
  66. package/lib/FlexGrid/Col/Col.js +10 -53
  67. package/lib/FlexGrid/Col/index.js +0 -3
  68. package/lib/FlexGrid/FlexGrid.js +3 -34
  69. package/lib/FlexGrid/Row/Row.js +0 -38
  70. package/lib/FlexGrid/Row/index.js +0 -3
  71. package/lib/FlexGrid/helpers/index.js +0 -4
  72. package/lib/FlexGrid/index.js +0 -3
  73. package/lib/FlexGrid/providers/GutterContext.js +0 -4
  74. package/lib/HorizontalScroll/HorizontalScroll.js +17 -45
  75. package/lib/HorizontalScroll/HorizontalScrollButton.js +1 -17
  76. package/lib/HorizontalScroll/ScrollViewEnd.js +5 -13
  77. package/lib/HorizontalScroll/ScrollViewEnd.native.js +1 -10
  78. package/lib/HorizontalScroll/index.js +0 -7
  79. package/lib/HorizontalScroll/itemPositions.js +8 -19
  80. package/lib/Icon/Icon.js +4 -17
  81. package/lib/Icon/IconText.js +5 -25
  82. package/lib/Icon/index.js +0 -6
  83. package/lib/IconButton/IconButton.js +5 -37
  84. package/lib/IconButton/index.js +0 -3
  85. package/lib/InputLabel/InputLabel.js +4 -28
  86. package/lib/InputLabel/LabelContent.js +2 -8
  87. package/lib/InputLabel/LabelContent.native.js +0 -8
  88. package/lib/InputLabel/index.js +0 -3
  89. package/lib/InputSupports/InputSupports.js +0 -21
  90. package/lib/InputSupports/index.js +0 -3
  91. package/lib/InputSupports/useInputSupports.js +2 -6
  92. package/lib/Link/ChevronLink.js +7 -18
  93. package/lib/Link/InlinePressable.js +0 -10
  94. package/lib/Link/InlinePressable.native.js +5 -18
  95. package/lib/Link/Link.js +0 -8
  96. package/lib/Link/LinkBase.js +17 -47
  97. package/lib/Link/TextButton.js +3 -16
  98. package/lib/Link/index.js +0 -5
  99. package/lib/List/List.js +5 -21
  100. package/lib/List/ListItem.js +1 -11
  101. package/lib/List/ListItemBase.js +5 -34
  102. package/lib/List/ListItemContent.js +1 -14
  103. package/lib/List/ListItemMark.js +3 -23
  104. package/lib/List/PressableListItemBase.js +2 -28
  105. package/lib/List/index.js +0 -4
  106. package/lib/Listbox/GroupControl.js +0 -14
  107. package/lib/Listbox/Listbox.js +15 -40
  108. package/lib/Listbox/ListboxContext.js +0 -7
  109. package/lib/Listbox/ListboxGroup.js +7 -19
  110. package/lib/Listbox/ListboxItem.js +3 -17
  111. package/lib/Listbox/ListboxOverlay.js +4 -20
  112. package/lib/Listbox/PressableItem.js +3 -18
  113. package/lib/Listbox/index.js +0 -3
  114. package/lib/Modal/Modal.js +94 -45
  115. package/lib/Modal/ModalContent.js +184 -0
  116. package/lib/Modal/index.js +0 -3
  117. package/lib/MultiSelectFilter/ModalOverlay.js +1 -20
  118. package/lib/MultiSelectFilter/MultiSelectFilter.js +20 -69
  119. package/lib/MultiSelectFilter/index.js +0 -3
  120. package/lib/Notification/Notification.js +11 -38
  121. package/lib/Notification/index.js +0 -3
  122. package/lib/Pagination/PageButton.js +2 -22
  123. package/lib/Pagination/Pagination.js +21 -42
  124. package/lib/Pagination/SideButton.js +0 -24
  125. package/lib/Pagination/index.js +0 -3
  126. package/lib/Pagination/usePagination.js +4 -9
  127. package/lib/Progress/Progress.js +3 -17
  128. package/lib/Progress/ProgressBar.js +3 -25
  129. package/lib/Progress/ProgressBarBackground.js +0 -12
  130. package/lib/Progress/index.js +0 -4
  131. package/lib/QuickLinks/QuickLinks.js +1 -18
  132. package/lib/QuickLinks/QuickLinksCard.js +1 -11
  133. package/lib/QuickLinks/QuickLinksItem.js +3 -17
  134. package/lib/QuickLinks/index.js +0 -4
  135. package/lib/QuickLinksFeature/QuickLinksFeature.js +3 -20
  136. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +7 -30
  137. package/lib/QuickLinksFeature/index.js +0 -4
  138. package/lib/Radio/Radio.js +5 -39
  139. package/lib/Radio/RadioButton.js +7 -26
  140. package/lib/Radio/RadioGroup.js +6 -39
  141. package/lib/Radio/RadioInput.js +1 -11
  142. package/lib/Radio/RadioInput.native.js +0 -2
  143. package/lib/Radio/index.js +0 -4
  144. package/lib/RadioCard/RadioCard.js +5 -38
  145. package/lib/RadioCard/RadioCardGroup.js +25 -40
  146. package/lib/RadioCard/index.js +0 -4
  147. package/lib/Responsive/Responsive.js +1 -14
  148. package/lib/Responsive/index.js +0 -3
  149. package/lib/Search/Search.js +22 -45
  150. package/lib/Search/index.js +0 -3
  151. package/lib/Select/Group.js +0 -8
  152. package/lib/Select/Group.native.js +0 -6
  153. package/lib/Select/Item.js +0 -7
  154. package/lib/Select/Item.native.js +0 -2
  155. package/lib/Select/Picker.js +0 -8
  156. package/lib/Select/Picker.native.js +6 -22
  157. package/lib/Select/Select.js +9 -52
  158. package/lib/Select/index.js +0 -5
  159. package/lib/SideNav/Item.js +5 -29
  160. package/lib/SideNav/ItemContent.js +1 -14
  161. package/lib/SideNav/ItemsGroup.js +9 -31
  162. package/lib/SideNav/SideNav.js +9 -33
  163. package/lib/SideNav/index.js +0 -2
  164. package/lib/Skeleton/Skeleton.js +10 -42
  165. package/lib/Skeleton/index.js +0 -3
  166. package/lib/Skeleton/skeletonWebAnimation.js +0 -2
  167. package/lib/Skeleton/useSkeletonNativeAnimation.js +1 -9
  168. package/lib/SkipLink/SkipLink.js +7 -27
  169. package/lib/SkipLink/index.js +0 -3
  170. package/lib/Spacer/Spacer.js +4 -20
  171. package/lib/Spacer/index.js +0 -3
  172. package/lib/StackView/StackView.js +3 -21
  173. package/lib/StackView/StackWrap.js +11 -21
  174. package/lib/StackView/StackWrap.native.js +0 -3
  175. package/lib/StackView/StackWrapBox.js +5 -21
  176. package/lib/StackView/StackWrapGap.js +1 -14
  177. package/lib/StackView/common.js +0 -6
  178. package/lib/StackView/getStackedContent.js +10 -21
  179. package/lib/StackView/index.js +0 -5
  180. package/lib/StepTracker/Step.js +3 -27
  181. package/lib/StepTracker/StepTracker.js +5 -32
  182. package/lib/StepTracker/index.js +0 -3
  183. package/lib/Tabs/Tabs.js +7 -30
  184. package/lib/Tabs/TabsItem.js +13 -38
  185. package/lib/Tabs/index.js +0 -3
  186. package/lib/Tags/Tags.js +9 -42
  187. package/lib/Tags/index.js +0 -3
  188. package/lib/TextInput/TextArea.js +11 -20
  189. package/lib/TextInput/TextInput.js +7 -16
  190. package/lib/TextInput/TextInputBase.js +12 -58
  191. package/lib/TextInput/index.js +0 -3
  192. package/lib/TextInput/propTypes.js +0 -8
  193. package/lib/ThemeProvider/ThemeProvider.js +10 -18
  194. package/lib/ThemeProvider/index.js +0 -9
  195. package/lib/ThemeProvider/useSetTheme.js +6 -9
  196. package/lib/ThemeProvider/useTheme.js +2 -7
  197. package/lib/ThemeProvider/useThemeTokens.js +1 -9
  198. package/lib/ThemeProvider/utils/index.js +0 -4
  199. package/lib/ThemeProvider/utils/styles.js +14 -35
  200. package/lib/ThemeProvider/utils/theme-tokens.js +15 -43
  201. package/lib/Timeline/Timeline.js +11 -27
  202. package/lib/Timeline/index.js +0 -3
  203. package/lib/ToggleSwitch/ToggleSwitch.js +12 -43
  204. package/lib/ToggleSwitch/ToggleSwitchGroup.js +4 -38
  205. package/lib/ToggleSwitch/index.js +0 -3
  206. package/lib/Tooltip/Backdrop.js +4 -11
  207. package/lib/Tooltip/Backdrop.native.js +1 -14
  208. package/lib/Tooltip/Tooltip.js +9 -37
  209. package/lib/Tooltip/Tooltip.native.js +14 -45
  210. package/lib/Tooltip/getTooltipPosition.js +26 -31
  211. package/lib/Tooltip/index.js +0 -5
  212. package/lib/Tooltip/shared.js +0 -10
  213. package/lib/TooltipButton/TooltipButton.js +5 -20
  214. package/lib/TooltipButton/index.js +0 -3
  215. package/lib/Typography/Typography.js +15 -38
  216. package/lib/Typography/index.js +0 -3
  217. package/lib/Validator/Validator.js +10 -58
  218. package/lib/Validator/index.js +0 -3
  219. package/lib/ViewportProvider/ViewportProvider.js +1 -13
  220. package/lib/ViewportProvider/index.js +0 -5
  221. package/lib/ViewportProvider/useViewport.js +0 -4
  222. package/lib/ViewportProvider/useViewportListener.js +3 -12
  223. package/lib/index.js +8 -71
  224. package/lib/utils/BaseView/BaseView.js +3 -17
  225. package/lib/utils/BaseView/BaseView.native.js +0 -3
  226. package/lib/utils/BaseView/index.js +0 -3
  227. package/lib/utils/a11y/index.js +0 -4
  228. package/lib/utils/a11y/semantics.js +14 -32
  229. package/lib/utils/a11y/textSize.js +1 -8
  230. package/lib/utils/animation/index.js +0 -2
  231. package/lib/utils/animation/useVerticalExpandAnimation.js +5 -18
  232. package/lib/utils/children.js +16 -28
  233. package/lib/utils/containUniqueFields.js +2 -5
  234. package/lib/utils/floating-ui/index.js +0 -1
  235. package/lib/utils/floating-ui/index.native.js +0 -1
  236. package/lib/utils/hasOwnProperty.js +0 -1
  237. package/lib/utils/htmlAttrs.js +2 -4
  238. package/lib/utils/index.js +0 -31
  239. package/lib/utils/info/index.js +0 -4
  240. package/lib/utils/info/platform/index.js +0 -4
  241. package/lib/utils/info/versions.js +0 -3
  242. package/lib/utils/input.js +12 -24
  243. package/lib/utils/pressability.js +7 -21
  244. package/lib/utils/props/a11yProps.js +19 -25
  245. package/lib/utils/props/clickProps.js +0 -4
  246. package/lib/utils/props/componentPropType.js +0 -14
  247. package/lib/utils/props/copyPropTypes.js +0 -4
  248. package/lib/utils/props/getPropSelector.js +11 -12
  249. package/lib/utils/props/handlerProps.js +2 -23
  250. package/lib/utils/props/hrefAttrsProp.js +0 -4
  251. package/lib/utils/props/index.js +0 -22
  252. package/lib/utils/props/inputSupportsProps.js +0 -9
  253. package/lib/utils/props/linkProps.js +2 -12
  254. package/lib/utils/props/paddingProp.js +0 -3
  255. package/lib/utils/props/pressProps.js +2 -8
  256. package/lib/utils/props/rectProp.js +0 -3
  257. package/lib/utils/props/responsiveProps.js +1 -5
  258. package/lib/utils/props/selectSystemProps.js +4 -6
  259. package/lib/utils/props/spacingProps.js +3 -10
  260. package/lib/utils/props/textInputProps.js +10 -31
  261. package/lib/utils/props/textProps.js +6 -11
  262. package/lib/utils/props/tokens.js +7 -26
  263. package/lib/utils/props/variantProp.js +0 -3
  264. package/lib/utils/props/viewProps.js +0 -5
  265. package/lib/utils/ssr.js +13 -33
  266. package/lib/utils/useCopy.js +3 -6
  267. package/lib/utils/useHash.js +5 -10
  268. package/lib/utils/useHash.native.js +0 -2
  269. package/lib/utils/useOverlaidPosition.js +6 -29
  270. package/lib/utils/useResponsiveProp.js +6 -13
  271. package/lib/utils/useSafeLayoutEffect.js +5 -10
  272. package/lib/utils/useScrollBlocking.js +3 -11
  273. package/lib/utils/useScrollBlocking.native.js +0 -2
  274. package/lib/utils/useSpacingScale.js +5 -8
  275. package/lib/utils/useUniqueId.js +0 -4
  276. package/lib/utils/withLinkRouter.js +13 -18
  277. package/lib-module/A11yInfoProvider/index.js +5 -9
  278. package/lib-module/A11yText/index.js +3 -4
  279. package/lib-module/ActivityIndicator/Spinner.js +2 -2
  280. package/lib-module/ActivityIndicator/Spinner.native.js +4 -6
  281. package/lib-module/ActivityIndicator/index.js +1 -5
  282. package/lib-module/ActivityIndicator/shared.js +2 -1
  283. package/lib-module/Autocomplete/Autocomplete.js +34 -59
  284. package/lib-module/Autocomplete/Loading.js +0 -2
  285. package/lib-module/BaseProvider/HydrationContext.js +4 -7
  286. package/lib-module/BaseProvider/index.js +0 -3
  287. package/lib-module/Box/Box.js +10 -24
  288. package/lib-module/Button/Button.js +4 -2
  289. package/lib-module/Button/ButtonBase.js +23 -35
  290. package/lib-module/Button/ButtonDropdown.js +7 -16
  291. package/lib-module/Button/ButtonGroup.js +15 -32
  292. package/lib-module/Button/ButtonLink.js +3 -2
  293. package/lib-module/Button/propTypes.js +0 -7
  294. package/lib-module/Card/Card.js +3 -2
  295. package/lib-module/Card/CardBase.js +5 -4
  296. package/lib-module/Card/PressableCardBase.js +7 -11
  297. package/lib-module/Carousel/Carousel.js +22 -60
  298. package/lib-module/Carousel/CarouselContext.js +0 -5
  299. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +7 -5
  300. package/lib-module/Carousel/CarouselItem/CarouselItem.js +5 -11
  301. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +0 -2
  302. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +3 -4
  303. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +7 -6
  304. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +2 -10
  305. package/lib-module/Carousel/CarouselThumbnail.js +1 -7
  306. package/lib-module/Carousel/CarouselThumbnailNavigation.js +0 -2
  307. package/lib-module/Checkbox/Checkbox.js +5 -23
  308. package/lib-module/Checkbox/CheckboxButton.js +7 -17
  309. package/lib-module/Checkbox/CheckboxGroup.js +14 -31
  310. package/lib-module/Checkbox/CheckboxInput.js +1 -3
  311. package/lib-module/Checkbox/CheckboxInput.native.js +0 -1
  312. package/lib-module/CheckboxCard/CheckboxCard.js +4 -21
  313. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +206 -0
  314. package/lib-module/CheckboxCardGroup/index.js +2 -0
  315. package/lib-module/Divider/Divider.js +13 -11
  316. package/lib-module/ExpandCollapse/Accordion.js +1 -1
  317. package/lib-module/ExpandCollapse/Control.js +10 -17
  318. package/lib-module/ExpandCollapse/ExpandCollapse.js +3 -9
  319. package/lib-module/ExpandCollapse/Panel.js +13 -23
  320. package/lib-module/Feedback/Feedback.js +13 -16
  321. package/lib-module/Fieldset/Fieldset.js +6 -25
  322. package/lib-module/Fieldset/FieldsetContainer.js +1 -1
  323. package/lib-module/Fieldset/FieldsetContainer.native.js +0 -1
  324. package/lib-module/Fieldset/Legend.js +1 -1
  325. package/lib-module/Fieldset/Legend.native.js +1 -1
  326. package/lib-module/FlexGrid/Col/Col.js +10 -37
  327. package/lib-module/FlexGrid/FlexGrid.js +3 -17
  328. package/lib-module/FlexGrid/Row/Row.js +0 -25
  329. package/lib-module/FlexGrid/helpers/index.js +0 -3
  330. package/lib-module/HorizontalScroll/HorizontalScroll.js +17 -27
  331. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +1 -3
  332. package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -4
  333. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +0 -1
  334. package/lib-module/HorizontalScroll/itemPositions.js +11 -10
  335. package/lib-module/Icon/Icon.js +4 -8
  336. package/lib-module/Icon/IconText.js +6 -17
  337. package/lib-module/IconButton/IconButton.js +7 -20
  338. package/lib-module/InputLabel/InputLabel.js +4 -13
  339. package/lib-module/InputLabel/LabelContent.js +2 -1
  340. package/lib-module/InputLabel/LabelContent.native.js +0 -1
  341. package/lib-module/InputSupports/InputSupports.js +0 -9
  342. package/lib-module/InputSupports/useInputSupports.js +2 -4
  343. package/lib-module/Link/ChevronLink.js +7 -7
  344. package/lib-module/Link/InlinePressable.js +0 -2
  345. package/lib-module/Link/InlinePressable.native.js +4 -12
  346. package/lib-module/Link/LinkBase.js +17 -25
  347. package/lib-module/Link/TextButton.js +3 -5
  348. package/lib-module/List/List.js +5 -9
  349. package/lib-module/List/ListItem.js +1 -1
  350. package/lib-module/List/ListItemBase.js +5 -17
  351. package/lib-module/List/ListItemContent.js +1 -4
  352. package/lib-module/List/ListItemMark.js +3 -16
  353. package/lib-module/List/PressableListItemBase.js +2 -6
  354. package/lib-module/Listbox/GroupControl.js +0 -2
  355. package/lib-module/Listbox/Listbox.js +15 -23
  356. package/lib-module/Listbox/ListboxContext.js +0 -2
  357. package/lib-module/Listbox/ListboxGroup.js +6 -4
  358. package/lib-module/Listbox/ListboxItem.js +2 -1
  359. package/lib-module/Listbox/ListboxOverlay.js +3 -4
  360. package/lib-module/Listbox/PressableItem.js +2 -7
  361. package/lib-module/Modal/Modal.js +94 -25
  362. package/lib-module/Modal/ModalContent.js +175 -0
  363. package/lib-module/MultiSelectFilter/ModalOverlay.js +1 -4
  364. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +20 -42
  365. package/lib-module/Notification/Notification.js +11 -22
  366. package/lib-module/Pagination/PageButton.js +2 -6
  367. package/lib-module/Pagination/Pagination.js +21 -21
  368. package/lib-module/Pagination/SideButton.js +3 -8
  369. package/lib-module/Pagination/usePagination.js +4 -8
  370. package/lib-module/Progress/Progress.js +3 -7
  371. package/lib-module/Progress/ProgressBar.js +3 -11
  372. package/lib-module/Progress/ProgressBarBackground.js +0 -2
  373. package/lib-module/QuickLinks/QuickLinks.js +1 -6
  374. package/lib-module/QuickLinks/QuickLinksCard.js +1 -3
  375. package/lib-module/QuickLinks/QuickLinksItem.js +3 -2
  376. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +5 -9
  377. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +9 -13
  378. package/lib-module/Radio/Radio.js +5 -22
  379. package/lib-module/Radio/RadioButton.js +8 -10
  380. package/lib-module/Radio/RadioGroup.js +6 -25
  381. package/lib-module/Radio/RadioInput.js +1 -3
  382. package/lib-module/Radio/RadioInput.native.js +0 -1
  383. package/lib-module/RadioCard/RadioCard.js +5 -21
  384. package/lib-module/RadioCard/RadioCardGroup.js +25 -27
  385. package/lib-module/Responsive/Responsive.js +1 -6
  386. package/lib-module/Search/Search.js +22 -31
  387. package/lib-module/Select/Group.js +0 -3
  388. package/lib-module/Select/Group.native.js +0 -3
  389. package/lib-module/Select/Item.js +0 -3
  390. package/lib-module/Select/Item.native.js +0 -1
  391. package/lib-module/Select/Picker.native.js +8 -10
  392. package/lib-module/Select/Select.js +10 -35
  393. package/lib-module/SideNav/Item.js +5 -16
  394. package/lib-module/SideNav/ItemContent.js +1 -2
  395. package/lib-module/SideNav/ItemsGroup.js +9 -19
  396. package/lib-module/SideNav/SideNav.js +9 -22
  397. package/lib-module/Skeleton/Skeleton.js +10 -25
  398. package/lib-module/Skeleton/skeletonWebAnimation.js +0 -1
  399. package/lib-module/Skeleton/useSkeletonNativeAnimation.js +1 -3
  400. package/lib-module/SkipLink/SkipLink.js +7 -9
  401. package/lib-module/Spacer/Spacer.js +4 -7
  402. package/lib-module/StackView/StackView.js +3 -7
  403. package/lib-module/StackView/StackWrap.js +13 -13
  404. package/lib-module/StackView/StackWrap.native.js +2 -1
  405. package/lib-module/StackView/StackWrapBox.js +5 -8
  406. package/lib-module/StackView/StackWrapGap.js +1 -1
  407. package/lib-module/StackView/getStackedContent.js +10 -10
  408. package/lib-module/StepTracker/Step.js +3 -14
  409. package/lib-module/StepTracker/StepTracker.js +5 -13
  410. package/lib-module/Tabs/Tabs.js +7 -16
  411. package/lib-module/Tabs/TabsItem.js +13 -16
  412. package/lib-module/Tags/Tags.js +9 -26
  413. package/lib-module/TextInput/TextArea.js +11 -8
  414. package/lib-module/TextInput/TextInput.js +7 -5
  415. package/lib-module/TextInput/TextInputBase.js +13 -39
  416. package/lib-module/TextInput/propTypes.js +3 -7
  417. package/lib-module/ThemeProvider/ThemeProvider.js +10 -9
  418. package/lib-module/ThemeProvider/useSetTheme.js +6 -7
  419. package/lib-module/ThemeProvider/useTheme.js +2 -5
  420. package/lib-module/ThemeProvider/useThemeTokens.js +1 -2
  421. package/lib-module/ThemeProvider/utils/styles.js +15 -27
  422. package/lib-module/ThemeProvider/utils/theme-tokens.js +15 -20
  423. package/lib-module/Timeline/Timeline.js +11 -17
  424. package/lib-module/ToggleSwitch/ToggleSwitch.js +13 -26
  425. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +4 -23
  426. package/lib-module/Tooltip/Backdrop.js +4 -7
  427. package/lib-module/Tooltip/Backdrop.native.js +1 -4
  428. package/lib-module/Tooltip/Tooltip.js +9 -18
  429. package/lib-module/Tooltip/Tooltip.native.js +14 -23
  430. package/lib-module/Tooltip/getTooltipPosition.js +26 -30
  431. package/lib-module/Tooltip/shared.js +0 -6
  432. package/lib-module/TooltipButton/TooltipButton.js +5 -8
  433. package/lib-module/Typography/Typography.js +14 -22
  434. package/lib-module/Validator/Validator.js +10 -42
  435. package/lib-module/ViewportProvider/ViewportProvider.js +1 -3
  436. package/lib-module/ViewportProvider/useViewportListener.js +6 -8
  437. package/lib-module/index.js +1 -0
  438. package/lib-module/utils/BaseView/BaseView.js +3 -4
  439. package/lib-module/utils/BaseView/BaseView.native.js +0 -1
  440. package/lib-module/utils/a11y/semantics.js +14 -27
  441. package/lib-module/utils/a11y/textSize.js +1 -2
  442. package/lib-module/utils/animation/useVerticalExpandAnimation.js +8 -11
  443. package/lib-module/utils/children.js +17 -19
  444. package/lib-module/utils/containUniqueFields.js +2 -4
  445. package/lib-module/utils/htmlAttrs.js +2 -1
  446. package/lib-module/utils/info/index.js +2 -1
  447. package/lib-module/utils/info/platform/index.js +4 -1
  448. package/lib-module/utils/info/versions.js +2 -1
  449. package/lib-module/utils/input.js +11 -19
  450. package/lib-module/utils/pressability.js +8 -7
  451. package/lib-module/utils/props/a11yProps.js +22 -20
  452. package/lib-module/utils/props/clickProps.js +0 -1
  453. package/lib-module/utils/props/componentPropType.js +0 -13
  454. package/lib-module/utils/props/getPropSelector.js +12 -8
  455. package/lib-module/utils/props/handlerProps.js +2 -19
  456. package/lib-module/utils/props/hrefAttrsProp.js +2 -2
  457. package/lib-module/utils/props/inputSupportsProps.js +0 -6
  458. package/lib-module/utils/props/linkProps.js +2 -3
  459. package/lib-module/utils/props/pressProps.js +2 -2
  460. package/lib-module/utils/props/responsiveProps.js +1 -3
  461. package/lib-module/utils/props/selectSystemProps.js +4 -5
  462. package/lib-module/utils/props/spacingProps.js +4 -3
  463. package/lib-module/utils/props/textInputProps.js +13 -27
  464. package/lib-module/utils/props/textProps.js +9 -7
  465. package/lib-module/utils/props/tokens.js +10 -13
  466. package/lib-module/utils/props/variantProp.js +1 -1
  467. package/lib-module/utils/props/viewProps.js +0 -1
  468. package/lib-module/utils/ssr.js +14 -18
  469. package/lib-module/utils/useCopy.js +3 -5
  470. package/lib-module/utils/useHash.js +5 -9
  471. package/lib-module/utils/useHash.native.js +0 -1
  472. package/lib-module/utils/useOverlaidPosition.js +6 -25
  473. package/lib-module/utils/useResponsiveProp.js +6 -7
  474. package/lib-module/utils/useSafeLayoutEffect.js +5 -7
  475. package/lib-module/utils/useScrollBlocking.js +3 -10
  476. package/lib-module/utils/useSpacingScale.js +4 -4
  477. package/lib-module/utils/useUniqueId.js +0 -2
  478. package/lib-module/utils/withLinkRouter.js +13 -10
  479. package/package.json +2 -2
  480. package/src/Checkbox/CheckboxGroup.jsx +10 -8
  481. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +231 -0
  482. package/src/CheckboxCardGroup/index.js +3 -0
  483. package/src/Modal/Modal.jsx +98 -5
  484. package/src/Modal/ModalContent.jsx +171 -0
  485. package/src/RadioCard/RadioCardGroup.jsx +23 -2
  486. package/src/index.js +1 -0
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _platform = _interopRequireDefault(require("./platform"));
9
-
10
8
  var _versions = _interopRequireDefault(require("./versions"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // export an object accessed like info.platform.OS, info.version.uds, etc
15
11
  var _default = {
16
12
  platform: _platform.default,
@@ -4,13 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
9
-
10
8
  var _platform = _interopRequireDefault(require("./platform"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  // Allows consuming libraries that might not have a direct dependency on
15
11
  // React Native to check what the current platform is.
16
12
  // Particularly useful for validating Jest config: it is possible for Jest to
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _package = _interopRequireDefault(require("../../../package.json"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  // Add more versions if they are useful e.g. theme schema version
13
10
  var _default = {
14
11
  uds: _package.default.version
@@ -4,14 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useMultipleInputValues = exports.useInputValue = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  /**
11
9
  * @typedef {import('react').SyntheticEvent} Event
12
10
  */
13
- const pluralHooks = ['useMultipleInputValues'];
14
11
 
12
+ const pluralHooks = ['useMultipleInputValues'];
15
13
  const validateProps = (_ref, _ref2, hookName) => {
16
14
  let {
17
15
  value,
@@ -24,7 +22,6 @@ const validateProps = (_ref, _ref2, hookName) => {
24
22
  isControlled
25
23
  } = _ref2;
26
24
  const s = pluralHooks.includes(hookName) ? 's' : '';
27
-
28
25
  const usageError = error => {
29
26
  // Errors inside hooks in React Native get incomplete stack traces pointing at parent component only.
30
27
  // Help devs out by telling them exactly which hook threw the error as well as why.
@@ -36,23 +33,20 @@ Consumers of this hook must be one of:
36
33
  3. A "read-only" component, with \`readOnly\` prop set as \`true\`.
37
34
  `);
38
35
  };
39
-
40
36
  if (value && !onChange && !readOnly) {
41
37
  usageError(`has \`value${s}\` prop without \`onChange\` or \`readOnly\``);
42
38
  }
43
-
44
39
  if (initialValue && value) {
45
40
  usageError(`has both \`initialValue${s}\` and \`value${s}\``);
46
41
  }
47
-
48
42
  if (isControlled && !isCurrentlyControlled) {
49
43
  usageError(`stopped receiving \`value${s}\` from parent after delegating state management`);
50
44
  }
51
-
52
45
  if (!isControlled && isCurrentlyControlled) {
53
46
  usageError(`started receiving \`value${s}\` from parent after starting managing own state`);
54
47
  }
55
48
  };
49
+
56
50
  /**
57
51
  * Hook used for controlling the input state of input components that have a singular value.
58
52
  * If `value` prop is passed in, this delegates state management to a parent using a passed-in `onChange` prop.
@@ -76,8 +70,6 @@ Consumers of this hook must be one of:
76
70
  * isControlled: bool
77
71
  * }}
78
72
  */
79
-
80
-
81
73
  const useInputValue = function () {
82
74
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
83
75
  let hookName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'useInputValue';
@@ -95,26 +87,25 @@ const useInputValue = function () {
95
87
  readOnly = false
96
88
  } = props;
97
89
  const [ownValue, setOwnValue] = (0, _react.useState)(!isControlled && initialValue);
98
- const currentValue = isControlled ? value : ownValue; // Store the first valid value, for resetting input to default. If behaviour like Formik's `enableReinitialize`
99
- // is needed, add useEffect calling a set fn if !deepEqual(initializedValues, initialValues)
90
+ const currentValue = isControlled ? value : ownValue;
100
91
 
92
+ // Store the first valid value, for resetting input to default. If behaviour like Formik's `enableReinitialize`
93
+ // is needed, add useEffect calling a set fn if !deepEqual(initializedValues, initialValues)
101
94
  const valueRef = (0, _react.useRef)({
102
95
  initial: currentValue,
103
96
  value: currentValue
104
- }); // Make current value accessible inside useCallback without rememoizing every time the value changes
105
-
97
+ });
98
+ // Make current value accessible inside useCallback without rememoizing every time the value changes
106
99
  valueRef.current.value = currentValue;
107
100
  const isDirty = currentValue !== valueRef.current.initial;
108
101
  const setValue = (0, _react.useCallback)((arg, event) => {
109
102
  if (readOnly) return;
110
103
  const newValue = typeof arg === 'function' ? arg(valueRef.current.value) : arg;
111
-
112
104
  if (!isControlled) {
113
105
  setOwnValue(newValue);
114
106
  if (inputRef !== null && inputRef !== void 0 && inputRef.current) inputRef.current.value = newValue ?? '';
115
- } // Call onChange handler if there's something for it to handle (event or a changed value)
116
-
117
-
107
+ }
108
+ // Call onChange handler if there's something for it to handle (event or a changed value)
118
109
  if (onChange && (event || valueRef.current.value !== newValue)) onChange(newValue, event);
119
110
  }, [inputRef, isControlled, onChange, readOnly]);
120
111
  const resetValue = (0, _react.useCallback)(event => setValue(valueRef.current.initial, event), [setValue]);
@@ -126,6 +117,7 @@ const useInputValue = function () {
126
117
  isDirty
127
118
  };
128
119
  };
120
+
129
121
  /**
130
122
  * Hook used for controlling the input state of input components that have multiple named on/off states.
131
123
  * If `values` are passed in, this delegates state management to a parent using a passed-in `onChange` prop.
@@ -151,10 +143,7 @@ const useInputValue = function () {
151
143
  * unsetValues: () => void
152
144
  * }}
153
145
  */
154
-
155
-
156
146
  exports.useInputValue = useInputValue;
157
-
158
147
  const useMultipleInputValues = function () {
159
148
  let {
160
149
  values,
@@ -187,9 +176,9 @@ const useMultipleInputValues = function () {
187
176
  const resetValues = resetValue;
188
177
  const unsetValues = (0, _react.useCallback)(event => setValues([], event), [setValues]);
189
178
  const toggleOneValue = (0, _react.useCallback)((newValue, event) => {
190
- if (readOnly) return; // This will only work with primitive values (e.g. strings, numbers), swap for .some() and
179
+ if (readOnly) return;
180
+ // This will only work with primitive values (e.g. strings, numbers), swap for .some() and
191
181
  // a deepEqual() function if there's any use case for toggling stored objects or arrays.
192
-
193
182
  const newValues = currentValues.includes(newValue) ? currentValues.filter(oldValue => oldValue !== newValue) : [...currentValues, newValue];
194
183
  setValues(newValues, event);
195
184
  }, [currentValues, readOnly, setValues]);
@@ -201,5 +190,4 @@ const useMultipleInputValues = function () {
201
190
  unsetValues
202
191
  };
203
192
  };
204
-
205
193
  exports.useMultipleInputValues = useMultipleInputValues;
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.resolvePressableTokens = exports.resolvePressableState = exports.getPressHandlersWithArgs = exports.getCursorStyle = void 0;
7
-
8
7
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
9
-
10
8
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
11
-
12
9
  var _pressProps = _interopRequireDefault(require("./props/pressProps"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  /**
17
12
  * @typedef {import('react').ReactNode} ReactNode
18
- */
19
- // These roles should result in cursor: pointer but don't in current RNW releases
13
+ */ // These roles should result in cursor: pointer but don't in current RNW releases
20
14
  const shouldUseCursor = ['checkbox', 'radio', 'switch'];
15
+
21
16
  /**
22
17
  * React Native Web has some built-in logic for applying cursor styles based on accessibility roles;
23
18
  * however, it misses certain cases. This fills in known cases where widely used versions of RNW
@@ -29,7 +24,6 @@ const shouldUseCursor = ['checkbox', 'radio', 'switch'];
29
24
  * @param {string} [props.accessibilityRole]
30
25
  * @returns
31
26
  */
32
-
33
27
  const getCursorStyle = _ref => {
34
28
  let {
35
29
  inactive,
@@ -41,6 +35,7 @@ const getCursorStyle = _ref => {
41
35
  if (shouldUseCursor.includes(accessibilityRole)) return staticStyles.pointer;
42
36
  return undefined; // allows React Native Web's built-in logic to apply
43
37
  };
38
+
44
39
  /**
45
40
  * @typedef {{ pressed: boolean, focused: boolean, hovered?: boolean }} PressableState
46
41
  */
@@ -55,10 +50,7 @@ const getCursorStyle = _ref => {
55
50
  * such as `inactive`, `selected`, etc.
56
51
  * @returns {object}
57
52
  */
58
-
59
-
60
53
  exports.getCursorStyle = getCursorStyle;
61
-
62
54
  const resolvePressableState = function () {
63
55
  let {
64
56
  pressed = false,
@@ -66,12 +58,14 @@ const resolvePressableState = function () {
66
58
  hovered = false
67
59
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
68
60
  let additionalState = arguments.length > 1 ? arguments[1] : undefined;
69
- return { ...additionalState,
61
+ return {
62
+ ...additionalState,
70
63
  focus: focused,
71
64
  hover: hovered,
72
65
  pressed
73
66
  };
74
67
  };
68
+
75
69
  /**
76
70
  * Takes a UDS `tokens` prop and, if it is a function, resolves it based on a state
77
71
  * object passed from the React Native `Pressable` component and optional extra properties.
@@ -81,18 +75,13 @@ const resolvePressableState = function () {
81
75
  * @param {object} [additionalState] - properties specific to the current component
82
76
  * @returns {object} - resolved tokens object
83
77
  */
84
-
85
-
86
78
  exports.resolvePressableState = resolvePressableState;
87
-
88
79
  const resolvePressableTokens = (tokens, pressableState, additionalState) => {
89
80
  if (typeof tokens !== 'function') return tokens;
90
81
  const udsPressableState = resolvePressableState(pressableState, additionalState);
91
82
  return tokens(udsPressableState);
92
83
  };
93
-
94
84
  exports.resolvePressableTokens = resolvePressableTokens;
95
-
96
85
  const staticStyles = _StyleSheet.default.create(_Platform.default.select({
97
86
  web: {
98
87
  notAllowed: {
@@ -104,13 +93,12 @@ const staticStyles = _StyleSheet.default.create(_Platform.default.select({
104
93
  },
105
94
  default: {}
106
95
  }));
96
+
107
97
  /**
108
98
  * From an object of props, extracts any platform-appropriate press handler functions and wraps
109
99
  * them in a function that passes in some provided args. Allows components containing a Pressable
110
100
  * to pass in press handlers that are then called with state or values that is otherwise internal.
111
101
  */
112
-
113
-
114
102
  const getPressHandlersWithArgs = function () {
115
103
  let pressableProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
116
104
  let args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -122,7 +110,6 @@ const getPressHandlersWithArgs = function () {
122
110
  for (var _len = arguments.length, defaultArgs = new Array(_len), _key = 0; _key < _len; _key++) {
123
111
  defaultArgs[_key] = arguments[_key];
124
112
  }
125
-
126
113
  // Pass each handler data on this button and current selection
127
114
  handler(...args, ...defaultArgs);
128
115
  }
@@ -130,5 +117,4 @@ const getPressHandlersWithArgs = function () {
130
117
  }));
131
118
  return pressHandlers;
132
119
  };
133
-
134
120
  exports.getPressHandlersWithArgs = getPressHandlersWithArgs;
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
11
-
12
9
  var _getPropSelector = _interopRequireDefault(require("./getPropSelector"));
13
-
14
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
11
  // React Native exports a11y prop definitions as TypeScript Interfaces, but no longer exports PropTypes
17
12
  // so we have to define them ourselves.
18
13
  const nativeA11yPropTypes = {
@@ -48,7 +43,8 @@ const nativeA11yPropTypes = {
48
43
  onAccessibilityEscape: _propTypes.default.func,
49
44
  onAccessibilityTap: _propTypes.default.func
50
45
  };
51
- const a11yPropTypes = { ...nativeA11yPropTypes,
46
+ const a11yPropTypes = {
47
+ ...nativeA11yPropTypes,
52
48
  // React Native Web adds many a11y props that alias aria-* attributes
53
49
  // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
54
50
  accessibilityActiveDescendant: _propTypes.default.string,
@@ -95,14 +91,15 @@ const a11yPropTypes = { ...nativeA11yPropTypes,
95
91
  accessibilityValueNow: _propTypes.default.number,
96
92
  accessibilityValueText: _propTypes.default.string
97
93
  };
98
-
99
94
  const a11yPropTypesByPlatform = _Platform.default.select({
100
95
  // React Native Web adds many a11y props that alias aria-* attributes
101
96
  // Types based on https://necolas.github.io/react-native-web/docs/accessibility/
102
97
  web: a11yPropTypes,
103
98
  // Ignore web-only props in native builds
104
99
  default: nativeA11yPropTypes
105
- }); // These RNW-only props only exist in RNW >=0.18. Catch them and map them according to platform
100
+ });
101
+
102
+ // These RNW-only props only exist in RNW >=0.18. Catch them and map them according to platform
106
103
  // so all props work on RN, RNW >=0.18 and RNW <=0.18, regardless of which they were written for:
107
104
  // - On native, bundle them into objects, like `accessibilityValue: { max: 100 }`
108
105
  // - On web, split them into both of:
@@ -110,8 +107,6 @@ const a11yPropTypesByPlatform = _Platform.default.select({
110
107
  // - The corresponding RNW >=0.18 prop, like `accessibilityValueNow`, which in some cases does more
111
108
  // than just add the aria-* (e.g. `accessibilityDisabled` adds `disabled` if element supports it,
112
109
  // and future releases might add more features here).
113
-
114
-
115
110
  const rwnPropMappings = {
116
111
  // Former accessibilityValue props.
117
112
  accessibilityValueMax: value => _Platform.default.select({
@@ -219,14 +214,13 @@ const rwnPropMappings = {
219
214
  }
220
215
  })
221
216
  };
222
-
223
217
  if (_Platform.default.OS === 'web') {
224
- const mapIfDefined = (value, fn) => value === undefined ? undefined : fn(value); // On Web only, these React Native object props need manual mapping in RNW >=0.18
218
+ const mapIfDefined = (value, fn) => value === undefined ? undefined : fn(value);
219
+
220
+ // On Web only, these React Native object props need manual mapping in RNW >=0.18
225
221
  // which dropped support for the React Native shape of these props.
226
222
  // Re-use our RNW 0.18 prop mappings to support both RNW <0.18 (aria-*) and
227
223
  // new features added in >=0.18 (e.g. for accessibilityDisabled).
228
-
229
-
230
224
  rwnPropMappings.accessibilityValue = function () {
231
225
  let {
232
226
  max,
@@ -234,13 +228,13 @@ if (_Platform.default.OS === 'web') {
234
228
  now,
235
229
  text
236
230
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
237
- return { ...mapIfDefined(max, rwnPropMappings.accessibilityValueMax),
231
+ return {
232
+ ...mapIfDefined(max, rwnPropMappings.accessibilityValueMax),
238
233
  ...mapIfDefined(min, rwnPropMappings.accessibilityValueMin),
239
234
  ...mapIfDefined(now, rwnPropMappings.accessibilityValueNow),
240
235
  ...mapIfDefined(text, rwnPropMappings.accessibilityValueText)
241
236
  };
242
237
  };
243
-
244
238
  rwnPropMappings.accessibilityState = function () {
245
239
  let {
246
240
  busy,
@@ -249,7 +243,8 @@ if (_Platform.default.OS === 'web') {
249
243
  expanded,
250
244
  selected
251
245
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
252
- return { ...mapIfDefined(busy, rwnPropMappings.accessibilityBusy),
246
+ return {
247
+ ...mapIfDefined(busy, rwnPropMappings.accessibilityBusy),
253
248
  ...mapIfDefined(checked, rwnPropMappings.accessibilityChecked),
254
249
  ...mapIfDefined(disabled, rwnPropMappings.accessibilityDisabled),
255
250
  ...mapIfDefined(expanded, rwnPropMappings.accessibilityExpanded),
@@ -257,29 +252,29 @@ if (_Platform.default.OS === 'web') {
257
252
  };
258
253
  };
259
254
  }
260
-
261
255
  var _default = {
262
256
  /**
263
257
  * Proptypes for recognised React Native accessiblity (a11y) props.
264
258
  * Spread this in the propTypes of components that accept React Native a11y props.
265
259
  */
266
260
  types: a11yPropTypes,
267
-
268
261
  /**
269
262
  * Filters a props object, returning only recognised React Native accessiblity (a11y) props.
270
263
  *
271
264
  * Where components accept React Native a11y props, pass { ...rest } from its props to this,
272
265
  * then spread the returned object into the component's props (usually its outer container).
273
266
  */
274
- select: (0, _getPropSelector.default)( // Allow all React Native accessibility props
275
- a11yPropTypesByPlatform, // Allow any `aria-*` attribute on web; ignore them on native
276
- _Platform.default.OS === 'web' && /^aria-/, // For the props added and deprecated in React Native Web 0.18, convert them to
267
+ select: (0, _getPropSelector.default)(
268
+ // Allow all React Native accessibility props
269
+ a11yPropTypesByPlatform,
270
+ // Allow any `aria-*` attribute on web; ignore them on native
271
+ _Platform.default.OS === 'web' && /^aria-/,
272
+ // For the props added and deprecated in React Native Web 0.18, convert them to
277
273
  // a form that is platform-appropriate and RNW-version safe
278
274
  (key, value) => {
279
275
  const rnwPropMapper = rwnPropMappings[key];
280
276
  return rnwPropMapper ? rnwPropMapper(value) : undefined;
281
277
  }),
282
-
283
278
  /**
284
279
  * Use this to disable focus for elements which are visually hidden but still rendered.
285
280
  */
@@ -289,8 +284,8 @@ var _default = {
289
284
  ..._Platform.default.select({
290
285
  web: {
291
286
  accessibilityHidden: true // web screenreaders
292
-
293
287
  },
288
+
294
289
  android: {
295
290
  importantForAccessibility: 'no-hide-descendants'
296
291
  },
@@ -299,7 +294,6 @@ var _default = {
299
294
  }
300
295
  })
301
296
  },
302
-
303
297
  /**
304
298
  * Generates an object of platform-appropriate a11y props describing an item that has an
305
299
  * ordered position in a set. Examples of usage by accessibility tools includes screenreaders
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  const clickHandlerMapping = {
13
10
  onClick: 'onPress',
14
11
  onMouseDown: 'onPressIn',
@@ -19,7 +16,6 @@ var _default = {
19
16
  * Web-oriented HTML click handlers that may be mapped to React Native press handlers
20
17
  */
21
18
  types: Object.fromEntries(Object.keys(clickHandlerMapping).map(mouseName => [mouseName, _propTypes.default.func])),
22
-
23
19
  /**
24
20
  * Takes a set of props and converts HTML mouse click oriented event handlers to closest
25
21
  * equivalent React Native press event handler.
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = componentPropType;
7
-
8
7
  /**
9
8
  * Returns a prop type validator which checks whether a prop is either a component or an array of
10
9
  * components of a given type, based on their `name` or `displayName` properties.
@@ -16,54 +15,41 @@ exports.default = componentPropType;
16
15
  */
17
16
  function componentPropType(passedName) {
18
17
  const passedNames = typeof passedName === 'string' ? [passedName] : passedName;
19
-
20
18
  const checkProp = (props, propName, componentName) => {
21
19
  var _props$propName$type, _props$propName$type2;
22
-
23
20
  if (props[propName] === undefined || props[propName] === null) {
24
21
  return undefined;
25
22
  }
26
-
27
23
  if (Array.isArray(props[propName])) {
28
24
  // Iterates through every child and try to find the first element that does not match the passed name
29
25
  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean
30
26
  return props[propName].map((_, index) => checkProp(props[propName], index, componentName)).find(Boolean);
31
27
  }
32
-
33
28
  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);
34
-
35
29
  if (!nameInProp || !passedNames.includes(nameInProp)) {
36
30
  const propDescription = nameInProp ? `Component ${nameInProp}` : typeof props[propName];
37
31
  return new Error(`${componentName}: ${propDescription} was passed to \`${propName}\` prop; should be ${passedNames.join(' or ')}`);
38
32
  }
39
-
40
33
  return undefined;
41
34
  };
42
-
43
35
  const checkRequired = (props, propName, componentName) => {
44
36
  if (props[propName] === undefined) {
45
37
  return new Error(`The prop \`${propName}\` is marked as required in \`${componentName}\`, but its value is ${props[propName]}.`);
46
38
  }
47
-
48
39
  return undefined;
49
40
  };
50
-
51
41
  const createValidate = isRequired => {
52
42
  if (isRequired) {
53
43
  return (props, propName, componentName) => {
54
44
  const checkForError = checkProp(props, propName, componentName);
55
-
56
45
  if (checkForError) {
57
46
  return checkForError;
58
47
  }
59
-
60
48
  return checkRequired(props, propName, componentName);
61
49
  };
62
50
  }
63
-
64
51
  return checkProp;
65
52
  };
66
-
67
53
  const validate = createValidate();
68
54
  validate.isRequired = createValidate(true);
69
55
  return validate;
@@ -4,11 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var _default = _propTypes.default.oneOf(['en', 'fr']);
13
-
14
10
  exports.default = _default;
@@ -4,20 +4,15 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = getPropSelector;
7
-
8
7
  var _lodash = _interopRequireDefault(require("lodash.merge"));
9
-
10
8
  var _hasOwnProperty = _interopRequireDefault(require("../hasOwnProperty"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  /**
15
11
  * @callback PropSelectorCallback - a callback called for each prop passed to a component
16
12
  * @param {string} key - the key for the prop to be tested
17
13
  * @param {*} value - the value of the prop being passed in to the component
18
14
  * @returns {object|undefined}
19
15
  */
20
-
21
16
  /**
22
17
  * @param {PropSelectorCallback} callback
23
18
  * @param {object} items
@@ -28,12 +23,15 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
28
23
  const applyCallback = (callback, items, key, value) => {
29
24
  // If there's no callback, continue and look up keys as normal
30
25
  if (typeof callback !== 'function') return undefined;
31
- const newItems = callback(key, value); // If the callback doesn't return anything, continue and look up keys as normal
26
+ const newItems = callback(key, value);
32
27
 
33
- if (!newItems) return undefined; // If the callback returns items, merge them in, deep merging props that are objects
28
+ // If the callback doesn't return anything, continue and look up keys as normal
29
+ if (!newItems) return undefined;
34
30
 
31
+ // If the callback returns items, merge them in, deep merging props that are objects
35
32
  return (0, _lodash.default)({}, items, newItems);
36
33
  };
34
+
37
35
  /**
38
36
  * Generates a function to filter an object of props down to a subset of allowed props, with
39
37
  * optional prop alteration and re-mapping via an optional callback.
@@ -43,14 +41,15 @@ const applyCallback = (callback, items, key, value) => {
43
41
  * @param {PropSelectorCallback} callback - optional function taking `(key, value)` returning either undefined or an object of new props to merge in
44
42
  * @returns {object} - valid props for this component
45
43
  */
46
-
47
-
48
44
  function getPropSelector(propTypes, regexp, callback) {
49
45
  return props => Object.entries(props).reduce((items, _ref) => {
50
46
  let [key, value] = _ref;
51
- return (// If there's a callback and it matches something, applyCallback merges it in; return that
52
- applyCallback(callback, items, key, value) || ( // If there's no callback match, check if this prop is valid and merge it in if it is
53
- (0, _hasOwnProperty.default)(propTypes, key) || regexp && regexp.test(key) ? { ...items,
47
+ return (
48
+ // If there's a callback and it matches something, applyCallback merges it in; return that
49
+ applyCallback(callback, items, key, value) || (
50
+ // If there's no callback match, check if this prop is valid and merge it in if it is
51
+ (0, _hasOwnProperty.default)(propTypes, key) || regexp && regexp.test(key) ? {
52
+ ...items,
54
53
  [key]: value
55
54
  } : items)
56
55
  );