@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,55 +4,30 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireDefault(require("react"));
9
-
10
8
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
11
-
12
9
  var _Animated = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Animated"));
13
-
14
10
  var _PanResponder = _interopRequireDefault(require("react-native-web/dist/cjs/exports/PanResponder"));
15
-
16
11
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
17
-
18
12
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
19
-
20
13
  var _Dimensions = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Dimensions"));
21
-
22
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
15
  var _ThemeProvider = require("../ThemeProvider");
25
-
26
16
  var _ViewportProvider = require("../ViewportProvider");
27
-
28
17
  var _utils = require("../utils");
29
-
30
18
  var _A11yInfoProvider = require("../A11yInfoProvider");
31
-
32
19
  var _CarouselContext = require("./CarouselContext");
33
-
34
20
  var _CarouselItem = _interopRequireDefault(require("./CarouselItem"));
35
-
36
21
  var _IconButton = _interopRequireDefault(require("../IconButton"));
37
-
38
22
  var _SkipLink = _interopRequireDefault(require("../SkipLink"));
39
-
40
23
  var _A11yText = _interopRequireDefault(require("../A11yText"));
41
-
42
24
  var _CarouselStepTracker = _interopRequireDefault(require("./CarouselStepTracker"));
43
-
44
25
  var _CarouselThumbnailNavigation = _interopRequireDefault(require("./CarouselThumbnailNavigation"));
45
-
46
26
  var _CarouselTabsPanel = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanel"));
47
-
48
27
  var _CarouselTabsPanelItem = _interopRequireDefault(require("./CarouselTabs/CarouselTabsPanelItem"));
49
-
50
28
  var _dictionary = _interopRequireDefault(require("./dictionary"));
51
-
52
29
  var _jsxRuntime = require("react/jsx-runtime");
53
-
54
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
-
56
31
  const staticStyles = _StyleSheet.default.create({
57
32
  root: {
58
33
  backgroundColor: 'transparent',
@@ -63,26 +38,22 @@ const staticStyles = _StyleSheet.default.create({
63
38
  left: 0
64
39
  }
65
40
  });
66
-
67
41
  const selectContainerStyles = width => ({
68
42
  backgroundColor: 'transparent',
69
43
  overflow: 'hidden',
70
44
  width
71
45
  });
72
-
73
46
  const selectSwipeAreaStyles = (count, width) => ({
74
47
  width: width * count,
75
48
  justifyContent: 'space-between',
76
49
  flexDirection: 'row'
77
50
  });
78
-
79
51
  const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWidth, previousNextNavigationPosition, spaceBetweenSlideAndPreviousNextNavigation, isFirstSlide, isLastSlide, areStylesAppliedOnPreviousButton) => {
80
52
  const styles = {
81
53
  zIndex: 1,
82
54
  position: 'absolute'
83
55
  };
84
56
  const dynamicPositionProperty = areStylesAppliedOnPreviousButton ? 'left' : 'right';
85
-
86
57
  if (isFirstSlide) {
87
58
  styles.visibility = areStylesAppliedOnPreviousButton ? 'hidden' : 'visible';
88
59
  } else if (isLastSlide) {
@@ -90,7 +61,6 @@ const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWi
90
61
  } else {
91
62
  styles.visibility = 'visible';
92
63
  }
93
-
94
64
  if (previousNextNavigationPosition === 'edge') {
95
65
  styles[dynamicPositionProperty] = -1 * (previousNextNavigationButtonWidth / 2);
96
66
  } else if (previousNextNavigationPosition === 'inside') {
@@ -98,11 +68,10 @@ const selectPreviousNextNavigationButtonStyles = (previousNextNavigationButtonWi
98
68
  } else if (previousNextNavigationPosition === 'outside') {
99
69
  styles[dynamicPositionProperty] = -1 * (spaceBetweenSlideAndPreviousNextNavigation + previousNextNavigationButtonWidth);
100
70
  }
101
-
102
71
  return styles;
103
72
  };
104
-
105
73
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
74
+
106
75
  /**
107
76
  * Carousel is a general-purpose content slider that can be used to render content in terms of slides.
108
77
 
@@ -157,7 +126,6 @@ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_u
157
126
  - `spaceBetweenSlideAndPreviousNextNavigation` - Horizontal space between slide and previous/next navigational buttons
158
127
  - `spaceBetweenSlideAndPanelNavigation` - Vertical space between slide area and panel navigation area
159
128
  */
160
-
161
129
  const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
162
130
  let {
163
131
  tokens,
@@ -202,32 +170,27 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
202
170
  showPanelTabs,
203
171
  spaceBetweenSlideAndPreviousNextNavigation
204
172
  } = themeTokens;
205
-
206
173
  const [activeIndex, setActiveIndex] = _react.default.useState(0);
207
-
208
174
  const [isAnimating, setIsAnimating] = _react.default.useState(false);
209
-
210
175
  const handleAnimationStart = _react.default.useCallback(function () {
211
176
  if (typeof onAnimationStart === 'function') onAnimationStart(...arguments);
212
177
  setIsAnimating(true);
213
178
  }, [onAnimationStart]);
214
-
215
179
  const handleAnimationEnd = _react.default.useCallback(function () {
216
180
  if (typeof onAnimationEnd === 'function') onAnimationEnd(...arguments);
217
181
  setIsAnimating(false);
218
182
  }, [onAnimationEnd]);
219
-
220
183
  const getCopy = (0, _utils.useCopy)({
221
184
  dictionary: _dictionary.default,
222
185
  copy
223
186
  });
224
- let childrenArray = (0, _utils.unpackFragment)(children); // if `Carousel` only has one `Carousel.Item`, convert this to a single-item array
225
-
187
+ let childrenArray = (0, _utils.unpackFragment)(children);
188
+ // if `Carousel` only has one `Carousel.Item`, convert this to a single-item array
226
189
  if (!Array.isArray(childrenArray)) {
227
190
  childrenArray = [childrenArray];
228
191
  }
229
-
230
- const systemProps = selectProps({ ...rest,
192
+ const systemProps = selectProps({
193
+ ...rest,
231
194
  accessibilityRole,
232
195
  accessibilityLabel,
233
196
  accessibilityValue: {
@@ -239,26 +202,18 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
239
202
  const {
240
203
  reduceMotionEnabled
241
204
  } = (0, _A11yInfoProvider.useA11yInfo)();
242
-
243
205
  const [containerLayout, setContainerLayout] = _react.default.useState({
244
206
  x: 0,
245
207
  y: 0,
246
208
  width: 0
247
209
  });
248
-
249
210
  const [previousNextNavigationButtonWidth, setPreviousNextNavigationButtonWidth] = _react.default.useState(0);
250
-
251
211
  const firstFocusRef = _react.default.useRef(null);
252
-
253
212
  const pan = _react.default.useRef(new _Animated.default.ValueXY()).current;
254
-
255
213
  const animatedX = _react.default.useRef(0);
256
-
257
214
  const animatedY = _react.default.useRef(0);
258
-
259
215
  const isFirstSlide = !activeIndex;
260
216
  const isLastSlide = activeIndex + 1 >= children.length;
261
-
262
217
  const onContainerLayout = _ref2 => {
263
218
  let {
264
219
  nativeEvent: {
@@ -269,13 +224,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
269
224
  }
270
225
  }
271
226
  } = _ref2;
272
- return setContainerLayout(prevState => ({ ...prevState,
227
+ return setContainerLayout(prevState => ({
228
+ ...prevState,
273
229
  x,
274
230
  y,
275
231
  width
276
232
  }));
277
233
  };
278
-
279
234
  const onPreviousNextNavigationButtonLayout = _ref3 => {
280
235
  let {
281
236
  nativeEvent: {
@@ -286,7 +241,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
286
241
  } = _ref3;
287
242
  return setPreviousNextNavigationButtonWidth(width);
288
243
  };
289
-
290
244
  const updateOffset = _react.default.useCallback(() => {
291
245
  animatedX.current = containerLayout.width * activeIndex * -1;
292
246
  animatedY.current = 0;
@@ -299,16 +253,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
299
253
  y: 0
300
254
  });
301
255
  }, [activeIndex, containerLayout.width, pan, animatedX]);
302
-
303
256
  const animate = _react.default.useCallback((toValue, toIndex) => {
304
257
  const handleAnimationEndToIndex = function () {
305
258
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
306
259
  args[_key] = arguments[_key];
307
260
  }
308
-
309
261
  return handleAnimationEnd(toIndex, ...args);
310
262
  };
311
-
312
263
  if (reduceMotionEnabled) {
313
264
  _Animated.default.timing(pan, {
314
265
  toValue,
@@ -316,13 +267,13 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
316
267
  useNativeDriver: false
317
268
  }).start(handleAnimationEndToIndex);
318
269
  } else {
319
- _Animated.default.spring(pan, { ...springConfig,
270
+ _Animated.default.spring(pan, {
271
+ ...springConfig,
320
272
  toValue,
321
273
  useNativeDriver: false
322
274
  }).start(handleAnimationEndToIndex);
323
275
  }
324
276
  }, [pan, springConfig, reduceMotionEnabled, handleAnimationEnd]);
325
-
326
277
  const updateIndex = _react.default.useCallback(function () {
327
278
  let delta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;
328
279
  const toValue = {
@@ -331,7 +282,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
331
282
  };
332
283
  let skipChanges = !delta;
333
284
  let calcDelta = delta;
334
-
335
285
  if (activeIndex <= 0 && delta < 0) {
336
286
  skipChanges = true;
337
287
  calcDelta = children.length + delta;
@@ -339,47 +289,37 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
339
289
  skipChanges = true;
340
290
  calcDelta = -1 * activeIndex + delta - 1;
341
291
  }
342
-
343
292
  const index = activeIndex + calcDelta;
344
-
345
293
  if (skipChanges) {
346
294
  animate(toValue, index);
347
295
  return calcDelta;
348
296
  }
349
-
350
297
  setActiveIndex(index);
351
298
  toValue.x = containerLayout.width * -1 * calcDelta;
352
299
  animate(toValue, index);
353
300
  if (onIndexChanged) onIndexChanged(calcDelta, index);
354
301
  return calcDelta;
355
302
  }, [containerLayout.width, activeIndex, animate, children.length, onIndexChanged]);
356
-
357
303
  const fixOffsetAndGo = _react.default.useCallback(delta => {
358
304
  var _firstFocusRef$curren;
359
-
360
305
  updateOffset();
361
306
  handleAnimationStart(activeIndex);
362
307
  updateIndex(delta);
363
308
  if (refocus) (_firstFocusRef$curren = firstFocusRef.current) === null || _firstFocusRef$curren === void 0 ? void 0 : _firstFocusRef$curren.focus();
364
309
  }, [updateIndex, updateOffset, activeIndex, handleAnimationStart, refocus]);
365
-
366
310
  const goToNeighboring = _react.default.useCallback(function () {
367
311
  let toPrev = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
368
312
  fixOffsetAndGo(toPrev ? -1 : 1);
369
313
  }, [fixOffsetAndGo]);
370
-
371
314
  const isSwipeAllowed = _react.default.useCallback(() => {
372
315
  if (childrenArray.length === 1) {
373
316
  return false;
374
317
  }
375
-
376
318
  if (_Platform.default.OS === 'web') {
377
319
  return !!(viewport === 'xs' || viewport === 'sm');
378
320
  }
379
-
380
321
  return true;
381
322
  }, [viewport, childrenArray.length]);
382
-
383
323
  const panResponder = _react.default.useMemo(() => _PanResponder.default.create({
384
324
  onPanResponderTerminationRequest: () => false,
385
325
  onMoveShouldSetResponderCapture: () => true,
@@ -387,7 +327,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
387
327
  if (!isSwipeAllowed()) {
388
328
  return false;
389
329
  }
390
-
391
330
  handleAnimationStart(activeIndex);
392
331
  return Math.abs(gestureState.dx) > minDistanceToCapture;
393
332
  },
@@ -399,7 +338,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
399
338
  }),
400
339
  onPanResponderRelease: (_, gesture) => {
401
340
  const correction = gesture.moveX - gesture.x0;
402
-
403
341
  if (Math.abs(correction) < containerLayout.width * minDistanceForAction) {
404
342
  animate({
405
343
  x: 0,
@@ -411,7 +349,6 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
411
349
  }
412
350
  }
413
351
  }), [containerLayout.width, updateIndex, updateOffset, animate, isSwipeAllowed, activeIndex, minDistanceForAction, handleAnimationStart, minDistanceToCapture, pan.x]);
414
-
415
352
  _react.default.useEffect(() => {
416
353
  pan.x.addListener(_ref4 => {
417
354
  let {
@@ -430,56 +367,48 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
430
367
  pan.y.removeAllListeners();
431
368
  };
432
369
  }, [pan.x, pan.y]);
433
-
434
370
  _react.default.useEffect(() => {
435
371
  const subscription = _Dimensions.default.addEventListener('change', () => {
436
372
  updateOffset();
437
373
  });
438
-
439
374
  return () => subscription === null || subscription === void 0 ? void 0 : subscription.remove();
440
375
  });
441
-
442
376
  const goToNext = _react.default.useCallback(() => {
443
377
  goToNeighboring();
444
378
  }, [goToNeighboring]);
445
-
446
379
  const goToPrev = _react.default.useCallback(() => {
447
380
  goToNeighboring(true);
448
381
  }, [goToNeighboring]);
449
-
450
382
  const goTo = _react.default.useCallback(function () {
451
383
  let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
452
384
  const delta = index - activeIndex;
453
-
454
385
  if (delta) {
455
386
  fixOffsetAndGo(delta);
456
387
  }
457
- }, [fixOffsetAndGo, activeIndex]); // @TODO: - these are Allium-theme variants and won't have any effect in themes that don't implement them.
388
+ }, [fixOffsetAndGo, activeIndex]);
389
+
390
+ // @TODO: - these are Allium-theme variants and won't have any effect in themes that don't implement them.
458
391
  // Normally we avoid setting variants of subcomponents, however this could be re-considered.
459
392
  // Related discussion - https://github.com/telus/universal-design-system/issues/1549
460
-
461
-
462
393
  const previousNextIconButtonVariants = {
463
394
  size: previousNextIconSize,
464
395
  raised: !(variant !== null && variant !== void 0 && variant.inverse) && true,
465
396
  inverse: variant === null || variant === void 0 ? void 0 : variant.inverse
466
397
  };
467
-
468
398
  const getCopyWithPlaceholders = _react.default.useCallback(copyKey => {
469
- const copyText = getCopy(copyKey).replace(/%\{title\}/g, title).replace(/%\{itemLabel\}/g, itemLabel).replace(/%\{stepNumber\}/g, activeIndex + 1).replace(/%\{stepCount\}/g, childrenArray.length); // First word might be a lowercase placeholder: capitalize the first letter
399
+ const copyText = getCopy(copyKey).replace(/%\{title\}/g, title).replace(/%\{itemLabel\}/g, itemLabel).replace(/%\{stepNumber\}/g, activeIndex + 1).replace(/%\{stepCount\}/g, childrenArray.length);
470
400
 
401
+ // First word might be a lowercase placeholder: capitalize the first letter
471
402
  return `${copyText[0].toUpperCase()}${copyText.slice(1)}`;
472
403
  }, [activeIndex, childrenArray.length, itemLabel, getCopy, title]);
473
-
474
404
  const activePanelNavigation = tabs && showPanelTabs ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_CarouselTabsPanel.default, {
475
405
  items: tabs
476
406
  }) : panelNavigation;
477
407
  const isFirstFocusContainer = Boolean(refocus && !skipLinkHref);
478
-
479
408
  const containerRef = element => {
480
409
  // Apply both firstFocusRef to the container
481
- firstFocusRef.current = element; // Also apply forwarded ref if there is one (which could be a function ref)
482
-
410
+ firstFocusRef.current = element;
411
+ // Also apply forwarded ref if there is one (which could be a function ref)
483
412
  if (ref) {
484
413
  if (typeof ref === 'object') {
485
414
  // eslint-disable-next-line no-param-reassign
@@ -488,10 +417,9 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
488
417
  ref(element);
489
418
  }
490
419
  }
491
- }; // If container isn't used for focus, give it a label of title if none is passed in,
420
+ };
421
+ // If container isn't used for focus, give it a label of title if none is passed in,
492
422
  // otherwise read the current position on focus
493
-
494
-
495
423
  const containerAccessibilityLabel = systemProps.accessibilityLabel ?? isFirstFocusContainer ? `${title ? `${title} ` : ''}${getCopyWithPlaceholders('stepTrackerLabel')}` : title;
496
424
  const containerProps = {
497
425
  accessibilityLabel: containerAccessibilityLabel,
@@ -531,7 +459,8 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
531
459
  ref: firstFocusRef,
532
460
  href: skipLinkHref,
533
461
  children: getCopyWithPlaceholders('skipLink')
534
- }), !isFirstFocusContainer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_A11yText.default // Read the current slide position to screen readers on slide.
462
+ }), !isFirstFocusContainer && /*#__PURE__*/(0, _jsxRuntime.jsx)(_A11yText.default
463
+ // Read the current slide position to screen readers on slide.
535
464
  // If it's set to refocus and doesn't have a SkipLink to focus to, focus this.
536
465
  , {
537
466
  accessibilityLiveRegion: !skipLinkHref && refocus ? undefined : 'polite',
@@ -553,12 +482,10 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
553
482
  accessibilityLiveRegion: accessibilityLiveRegion,
554
483
  children: childrenArray.map((element, index) => {
555
484
  const hidden = !isAnimating && index !== activeIndex;
556
-
557
485
  const clonedElement = /*#__PURE__*/_react.default.cloneElement(element, {
558
486
  elementIndex: index,
559
487
  hidden
560
488
  });
561
-
562
489
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_react.default.Fragment, {
563
490
  children: clonedElement
564
491
  }, index.toFixed(2));
@@ -578,21 +505,18 @@ const Carousel = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
578
505
  }), showPanelNavigation ? activePanelNavigation : null]
579
506
  });
580
507
  });
581
-
582
- Carousel.propTypes = { ...selectedSystemPropTypes,
508
+ Carousel.propTypes = {
509
+ ...selectedSystemPropTypes,
583
510
  tokens: (0, _utils.getTokensPropType)('Carousel'),
584
511
  variant: _utils.variantProp.propType,
585
-
586
512
  /**
587
513
  * Prop related to StepTracker Variants
588
514
  */
589
515
  stepTrackerVariant: _utils.variantProp.propType,
590
-
591
516
  /**
592
517
  * Slides to render in Carousel. Wrap individual slides in `Carousel.Item`
593
518
  */
594
519
  children: _propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.node), _propTypes.default.node]).isRequired,
595
-
596
520
  /**
597
521
  * Lowercase language-appropriate user-facing description of what each Carousel slide represents.
598
522
  * This is used when generating item labels. For example, if a carousel contains offers,
@@ -600,24 +524,20 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
600
524
  * accessible labels such as "Summer offer 1 of 3" and "Show summer offer 2 of 3".
601
525
  */
602
526
  itemLabel: _propTypes.default.string,
603
-
604
527
  /**
605
528
  * `inside` renders the previous and next buttons inside the slide
606
529
  * `outside` renders the previous and next buttons outside the slide
607
530
  * `edge` renders the previous and next buttons at the edge of the slide
608
531
  */
609
532
  previousNextNavigationPosition: _propTypes.default.oneOf(['inside', 'outside', 'edge']),
610
-
611
533
  /**
612
534
  * Defines the size of the `IconButton` which is being used to render next and previous buttons
613
535
  */
614
536
  previousNextIconSize: _propTypes.default.oneOf(['default', 'small', 'large']),
615
-
616
537
  /**
617
538
  * Carousel uses `Animated.spring` to animate slide changes, use this option to pass custom animation configuration
618
539
  */
619
540
  springConfig: _propTypes.default.object,
620
-
621
541
  /**
622
542
  * An array of objects containing information on the thumbnails to be rendered as navigation panel
623
543
  */
@@ -626,18 +546,15 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
626
546
  alt: _propTypes.default.string,
627
547
  src: _propTypes.default.string
628
548
  })),
629
-
630
549
  /**
631
550
  * Minimal part of slide width must be swiped for changing index.
632
551
  * Otherwise animation restore current slide. Default value 0.2 means that 20% must be swiped for change index
633
552
  */
634
553
  minDistanceForAction: _propTypes.default.number,
635
-
636
554
  /**
637
555
  * Initiate animation after swipe this distance.
638
556
  */
639
557
  minDistanceToCapture: _propTypes.default.number,
640
-
641
558
  /**
642
559
  * Called when active index changed
643
560
  * This function is also provided with a parameter indicating changed index (either 1, or -1)
@@ -655,20 +572,17 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
655
572
  * Caution: Always consider wrapping your callback for `onIndexChanged` in `useCallback` in order to avoid bugs and performance issues
656
573
  */
657
574
  onIndexChanged: _propTypes.default.func,
658
-
659
575
  /**
660
576
  * If this is a complex carousel with a lot of focusable content, pass a href for a skip link. Typically, this will be an anchor link
661
577
  * with the ID of a focusable element immediately after the Carousel, e.g. `'#section-2-heading'`.
662
578
  */
663
579
  skipLinkHref: _propTypes.default.string,
664
-
665
580
  /**
666
581
  * If provided, defaults the navigation panel to a CarouselTabsPanel element passing each item as props for one tab.
667
582
  *
668
583
  * Be careful to ensure that the order of each element in the items array matches the order of each child in the Carousel.
669
584
  */
670
585
  tabs: _propTypes.default.arrayOf(_propTypes.default.shape(_CarouselTabsPanelItem.default.propTypes || {})),
671
-
672
586
  /**
673
587
  * If true, whenever a new slide comes into view, the focus of the Carousel switches to the start.
674
588
  *
@@ -677,7 +591,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
677
591
  * If skipLinkHref is passed, the focus target will be the SkipLink; if not, it'll be an empty element before the slide content.
678
592
  */
679
593
  refocus: _propTypes.default.bool,
680
-
681
594
  /**
682
595
  * Use this to render a custom panel navigation element instead of the default StepTracker's based navigation
683
596
  * You can make use of `useCarousel` within your custom panel navigation component to hook into various Carousel states such as:
@@ -693,7 +606,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
693
606
  * ```
694
607
  */
695
608
  panelNavigation: _propTypes.default.element,
696
-
697
609
  /**
698
610
  * When slide animation start
699
611
  * This function is also provided with a parameter indicating the current slide index before animation starts
@@ -711,7 +623,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
711
623
  * Caution: Always consider wrapping your callback for `onAnimationStart` in `useCallback` in order to avoid bugs and performance issues
712
624
  */
713
625
  onAnimationStart: _propTypes.default.func,
714
-
715
626
  /**
716
627
  * When slide animation end with parameter of current index (after animation ends)
717
628
  * This function is also provided with a parameter indicating the updated slide index after animation ends
@@ -729,7 +640,6 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
729
640
  * Caution: Always consider wrapping your callback for `onAnimationEnd` in `useCallback` in order to avoid bugs and performance issues
730
641
  */
731
642
  onAnimationEnd: _propTypes.default.func,
732
-
733
643
  /**
734
644
  * Use this to override the default text for panel navigation
735
645
  */
@@ -741,17 +651,14 @@ Carousel.propTypes = { ...selectedSystemPropTypes,
741
651
  stepTrackerLabel: _propTypes.default.string.isRequired
742
652
  })
743
653
  }),
744
-
745
654
  /**
746
655
  * Provide custom accessibilityRole for Carousel container
747
656
  */
748
657
  accessibilityRole: _propTypes.default.string,
749
-
750
658
  /**
751
659
  * Provide custom accessibilityLabel for Carousel container
752
660
  */
753
661
  accessibilityLabel: _propTypes.default.string,
754
-
755
662
  /**
756
663
  * HTML tag to use for the Carousel item's immediate parent. Defaults to `'ul'` so that
757
664
  * assistive technology tools know to intepret the carousel as a list.
@@ -5,19 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CarouselProvider = void 0;
7
7
  exports.useCarousel = useCarousel;
8
-
9
8
  var _react = _interopRequireDefault(require("react"));
10
-
11
9
  var _propTypes = _interopRequireDefault(require("prop-types"));
12
-
13
10
  var _utils = require("../utils");
14
-
15
11
  var _jsxRuntime = require("react/jsx-runtime");
16
-
17
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
-
19
13
  const CarouselContext = /*#__PURE__*/_react.default.createContext();
20
-
21
14
  const CarouselProvider = _ref => {
22
15
  let {
23
16
  activeIndex,
@@ -30,7 +23,6 @@ const CarouselProvider = _ref => {
30
23
  totalItems,
31
24
  width
32
25
  } = _ref;
33
-
34
26
  const value = _react.default.useMemo(() => ({
35
27
  activeIndex,
36
28
  goTo,
@@ -41,25 +33,19 @@ const CarouselProvider = _ref => {
41
33
  totalItems,
42
34
  width
43
35
  }), [activeIndex, goTo, getCopyWithPlaceholders, itemLabel, refocus, totalItems, themeTokens, width]);
44
-
45
36
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(CarouselContext.Provider, {
46
37
  value: value,
47
38
  children: children
48
39
  });
49
40
  };
50
-
51
41
  exports.CarouselProvider = CarouselProvider;
52
-
53
42
  function useCarousel() {
54
43
  const context = _react.default.useContext(CarouselContext);
55
-
56
44
  if (context === undefined) {
57
45
  throw new Error(`'useCarousel' must be used within a 'CarouselProvider'`);
58
46
  }
59
-
60
47
  return context;
61
48
  }
62
-
63
49
  CarouselProvider.propTypes = {
64
50
  children: _propTypes.default.arrayOf(_propTypes.default.element).isRequired,
65
51
  activeIndex: _propTypes.default.number.isRequired,
@@ -4,52 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _react = _interopRequireWildcard(require("react"));
9
-
10
8
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
11
-
12
9
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
-
14
10
  var _StyleSheet = _interopRequireDefault(require("react-native-web/dist/cjs/exports/StyleSheet"));
15
-
16
11
  var _propTypes = require("prop-types");
17
-
18
12
  var _CarouselContext = require("../CarouselContext");
19
-
20
13
  var _jsxRuntime = require("react/jsx-runtime");
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  /**
29
18
  * Focus target so that when a new slide is shown, the user can tab into
30
19
  * its content using the keyboard.
31
20
  *
32
21
  * @TODO rework this after integrating with SkipLink when available.
33
- */
34
- const CarouselFirstFocus = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
22
+ */const CarouselFirstFocus = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
35
23
  let {
36
24
  title
37
25
  } = _ref;
38
26
  const {
39
27
  getCopyWithPlaceholders
40
- } = (0, _CarouselContext.useCarousel)(); // TODO: integrate skip link description if behaving as skip link.
41
- // Consider moving this content to aria-live area while only the skip link is focused.
28
+ } = (0, _CarouselContext.useCarousel)();
42
29
 
30
+ // TODO: integrate skip link description if behaving as skip link.
31
+ // Consider moving this content to aria-live area while only the skip link is focused.
43
32
  const accessibilityLabel = `${title}, ${getCopyWithPlaceholders('stepTrackerLabel')}`;
44
-
45
33
  const accessibilityRole = _Platform.default.select({
46
34
  web: 'link',
47
35
  // The focused item will ultimately be a skip link.
48
36
  default: 'button' // 'link' role usually denotes opening browser on Native.
49
-
50
37
  });
51
38
 
52
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default // TODO: integrate skip link functionality, jump focus to after Carousel
39
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Pressable.default
40
+ // TODO: integrate skip link functionality, jump focus to after Carousel
53
41
  , {
54
42
  onPress: undefined,
55
43
  ref: ref,