@telus-uds/components-base 1.65.0 → 1.67.0

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 (487) hide show
  1. package/CHANGELOG.md +22 -2
  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 +5 -37
  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 +215 -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 +7 -38
  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 +106 -69
  191. package/lib/TextInput/index.js +0 -3
  192. package/lib/TextInput/propTypes.js +4 -7
  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 +11 -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 +5 -23
  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 +205 -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 +7 -25
  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 +107 -51
  416. package/lib-module/TextInput/propTypes.js +7 -6
  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 +14 -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/CheckboxCardGroup/CheckboxCardGroup.jsx +230 -0
  481. package/src/CheckboxCardGroup/index.js +3 -0
  482. package/src/Modal/Modal.jsx +98 -5
  483. package/src/Modal/ModalContent.jsx +171 -0
  484. package/src/TextInput/TextInputBase.jsx +67 -12
  485. package/src/TextInput/propTypes.js +4 -0
  486. package/src/index.js +1 -0
  487. package/src/utils/props/textInputProps.js +1 -0
@@ -8,7 +8,6 @@ import { a11yProps, getTokensPropType, selectSystemProps, variantProp, viewProps
8
8
  import Icon from '../Icon';
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([a11yProps, viewProps]);
11
-
12
11
  const selectInnerContainerStyles = _ref => {
13
12
  let {
14
13
  borderRadius,
@@ -21,7 +20,6 @@ const selectInnerContainerStyles = _ref => {
21
20
  backgroundColor
22
21
  };
23
22
  };
24
-
25
23
  const selectIconTokens = _ref2 => {
26
24
  let {
27
25
  iconSize,
@@ -34,13 +32,12 @@ const selectIconTokens = _ref2 => {
34
32
  scale: iconScale
35
33
  };
36
34
  };
35
+
37
36
  /**
38
37
  * `TooltipButton` is a helper component used as a default control for the `Tooltip` component.
39
38
  * In fact though, it isn't actually a pressable - it's meant to be used as pressable's content.
40
39
  * Due to this any interaction states (e.g. pressed, hover, etc.) has to be passed down to it as a prop.
41
40
  */
42
-
43
-
44
41
  const TooltipButton = _ref3 => {
45
42
  let {
46
43
  pressableState,
@@ -66,17 +63,17 @@ const TooltipButton = _ref3 => {
66
63
  })
67
64
  });
68
65
  };
69
-
70
66
  const staticStyles = StyleSheet.create({
71
- bubblePointerEvents: { ...Platform.select({
67
+ bubblePointerEvents: {
68
+ ...Platform.select({
72
69
  web: {
73
70
  pointerEvents: 'none'
74
71
  }
75
72
  })
76
73
  }
77
74
  });
78
- TooltipButton.propTypes = { ...selectedSystemPropTypes,
79
-
75
+ TooltipButton.propTypes = {
76
+ ...selectedSystemPropTypes,
80
77
  /**
81
78
  * Used as appearances when resolving theme tokens.
82
79
  */
@@ -9,11 +9,9 @@ import { a11yProps, variantProp, getTokensPropType, getMaxFontMultiplier, headin
9
9
  /**
10
10
  * @typedef {import('../utils/a11y/semantics').TextTag} TextTag
11
11
  */
12
-
13
12
  import { jsx as _jsx } from "react/jsx-runtime";
14
13
  const [selectContainerProps, selectedContainerPropTypes] = selectSystemProps([a11yProps, viewProps]);
15
14
  const [selectTextProps, selectedTextPropTypes] = selectSystemProps([textProps]);
16
-
17
15
  const selectTextStyles = (_ref, themeOptions) => {
18
16
  let {
19
17
  fontWeight,
@@ -36,9 +34,9 @@ const selectTextStyles = (_ref, themeOptions) => {
36
34
  textTransform,
37
35
  letterSpacing
38
36
  });
39
- }; // General-purpose flexible theme-neutral base component for text
40
-
37
+ };
41
38
 
39
+ // General-purpose flexible theme-neutral base component for text
42
40
  const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
43
41
  let {
44
42
  children,
@@ -63,8 +61,10 @@ const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
63
61
  const {
64
62
  themeOptions
65
63
  } = useTheme();
66
- const resolvedTextProps = { ...selectTextProps(rest),
67
- style: selectTextStyles(align ? { ...themeTokens,
64
+ const resolvedTextProps = {
65
+ ...selectTextProps(rest),
66
+ style: selectTextStyles(align ? {
67
+ ...themeTokens,
68
68
  textAlign: align
69
69
  } : themeTokens, themeOptions),
70
70
  dataSet,
@@ -75,15 +75,14 @@ const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
75
75
  ...getA11yPropsFromHtmlTag(tag, accessibilityRole),
76
76
  ...selectContainerProps(rest)
77
77
  };
78
-
79
78
  const resetTagStyling = child => {
80
79
  if (typeof child === 'object' && ((child === null || child === void 0 ? void 0 : child.type) === 'sub' || (child === null || child === void 0 ? void 0 : child.type) === 'sup')) {
81
80
  var _child$props;
82
-
83
81
  const childStyles = (child === null || child === void 0 ? void 0 : (_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.style) || {};
84
82
  const supFontSize = childStyles.fontSize ?? superScriptFontSize;
85
83
  const sanitizedChild = /*#__PURE__*/React.cloneElement(child, {
86
- style: { ...childStyles,
84
+ style: {
85
+ ...childStyles,
87
86
  ...(supFontSize ? {
88
87
  fontSize: supFontSize
89
88
  } : {}),
@@ -92,20 +91,17 @@ const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
92
91
  });
93
92
  return sanitizedChild;
94
93
  }
95
-
96
94
  return child;
97
95
  };
98
-
99
96
  const sanitizeChildren = () => {
100
97
  if (Array.isArray(children)) {
101
98
  return children.map(resetTagStyling);
102
99
  }
103
-
104
100
  return resetTagStyling(children);
105
101
  };
106
-
107
102
  const textDecorationLine = strikeThrough ? 'line-through' : 'none';
108
- const textStyles = resolvedTextProps.style ? { ...resolvedTextProps.style,
103
+ const textStyles = resolvedTextProps.style ? {
104
+ ...resolvedTextProps.style,
109
105
  textDecorationLine
110
106
  } : {
111
107
  textDecorationLine
@@ -113,7 +109,8 @@ const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
113
109
  return block ? /*#__PURE__*/_jsx(View, {
114
110
  ref: ref,
115
111
  ...containerProps,
116
- children: /*#__PURE__*/_jsx(Text, { ...resolvedTextProps,
112
+ children: /*#__PURE__*/_jsx(Text, {
113
+ ...resolvedTextProps,
117
114
  style: textStyles,
118
115
  children: sanitizeChildren(children)
119
116
  })
@@ -126,16 +123,15 @@ const Typography = /*#__PURE__*/forwardRef((_ref2, ref) => {
126
123
  });
127
124
  });
128
125
  Typography.displayName = 'Typography';
129
- Typography.propTypes = { ...selectedContainerPropTypes,
126
+ Typography.propTypes = {
127
+ ...selectedContainerPropTypes,
130
128
  ...selectedTextPropTypes,
131
129
  tokens: getTokensPropType('Typography'),
132
130
  variant: variantProp.propType,
133
-
134
131
  /**
135
132
  * Renders the text with "text-decoration: 'line-through'" applied.
136
133
  */
137
134
  strikeThrough: PropTypes.bool,
138
-
139
135
  /**
140
136
  * Renders the text as a semantic heading. If a html heading tag is provided, uses that tag on Web.
141
137
  *
@@ -146,7 +142,6 @@ Typography.propTypes = { ...selectedContainerPropTypes,
146
142
  * is not defined, the accessibilityRole will default to "heading".
147
143
  */
148
144
  heading: PropTypes.oneOf([...headingTags, true]),
149
-
150
145
  /**
151
146
  * Optional semantic HTML tag, to apply to the text on web. Does not change styling.
152
147
  *
@@ -156,18 +151,15 @@ Typography.propTypes = { ...selectedContainerPropTypes,
156
151
  * is not defined, the accessibilityRole will default to "heading".
157
152
  */
158
153
  tag: PropTypes.oneOf(textTags),
159
-
160
154
  /**
161
155
  * If true, forces the element to behave as a View block even if nested in other text
162
156
  */
163
157
  block: PropTypes.bool,
164
-
165
158
  /**
166
159
  * Works the same as css text-align, note that RN doesn't support "start" or "end" (see https://reactnative.dev/docs/text-style-props#textalign)
167
160
  * Justify is known to make text harder to read, especially for people with dyslexia (see https://developer.mozilla.org/en-US/docs/Web/CSS/text-align#accessibility_concerns)
168
161
  */
169
162
  align: PropTypes.oneOf(['auto', 'left', 'right', 'center', 'justify']),
170
-
171
163
  /**
172
164
  * Same children allowed as a React Native <Text> node
173
165
  */
@@ -10,7 +10,6 @@ import InputSupports from '../InputSupports';
10
10
  import { useThemeTokens } from '../ThemeProvider';
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const [selectProps, selectedSystemPropTypes] = selectSystemProps([inputSupportsProps]);
13
-
14
13
  const selectCodeTextInputTokens = _ref => {
15
14
  let {
16
15
  outerBorderColor,
@@ -22,7 +21,6 @@ const selectCodeTextInputTokens = _ref => {
22
21
  icon: null
23
22
  };
24
23
  };
25
-
26
24
  const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
27
25
  let {
28
26
  value = '',
@@ -44,93 +42,72 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
44
42
  const prefix = 'code';
45
43
  const sufixValidation = 'Validation';
46
44
  const [isHover, setIsHover] = useState(false);
47
-
48
45
  const handleMouseOver = () => {
49
46
  setIsHover(true);
50
47
  };
51
-
52
48
  const handleMouseOut = () => {
53
49
  setIsHover(false);
54
50
  };
55
-
56
51
  const themeTokens = useThemeTokens('TextInput', tokens, variant, {
57
52
  hover: isHover
58
53
  });
59
54
  const [codeReferences, singleCodes] = useMemo(() => {
60
55
  const codes = [];
61
56
  const valueCodes = {};
62
-
63
57
  for (let i = 0; validatorsLength && i < validatorsLength; i += 1) {
64
58
  codes[prefix + i] = /*#__PURE__*/createRef();
65
59
  valueCodes[prefix + i] = '';
66
60
  valueCodes[prefix + i + sufixValidation] = '';
67
61
  }
68
-
69
62
  return [codes, valueCodes];
70
63
  }, []);
71
-
72
64
  const handleSingleCodes = (codeId, val, validation) => {
73
65
  singleCodes[codeId] = val;
74
66
  singleCodes[codeId + sufixValidation] = validation;
75
67
  /* eslint-disable no-unused-expressions */
76
-
77
- setIndividualCodes({ ...individualCodes,
68
+ setIndividualCodes({
69
+ ...individualCodes,
78
70
  [codeId]: val
79
71
  });
80
72
  };
81
-
82
73
  const handleChangeCode = () => {
83
74
  let code = '';
84
-
85
75
  for (let i = 0; i < validatorsLength; i += 1) code += singleCodes[prefix + i];
86
-
87
76
  if (typeof onChange === 'function') onChange(code, singleCodes);
88
77
  };
89
-
90
78
  const handleChangeCodeValues = (event, codeId, nextIndex) => {
91
79
  var _codeReferences$codeI, _event$nativeEvent, _event$target, _codeElement$value, _codeElement$value2;
92
-
93
80
  const codeElement = (_codeReferences$codeI = codeReferences[codeId]) === null || _codeReferences$codeI === void 0 ? void 0 : _codeReferences$codeI.current;
94
81
  const val = ((_event$nativeEvent = event.nativeEvent) === null || _event$nativeEvent === void 0 ? void 0 : _event$nativeEvent.value) || ((_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value);
95
-
96
82
  if (Number(val).toString() === 'NaN') {
97
83
  codeElement.value = singleCodes[codeId] ?? '';
98
84
  return;
99
85
  }
100
-
101
86
  if ((codeElement === null || codeElement === void 0 ? void 0 : (_codeElement$value = codeElement.value) === null || _codeElement$value === void 0 ? void 0 : _codeElement$value.length) > 1) {
102
87
  const oldValue = singleCodes[codeId];
103
88
  const newValue = codeElement.value.replace(oldValue, '');
104
89
  codeElement.value = newValue;
105
90
  handleSingleCodes(codeId, codeElement.value, 'success');
106
91
  }
107
-
108
92
  handleSingleCodes(codeId, (codeElement === null || codeElement === void 0 ? void 0 : codeElement.value) ?? singleCodes[codeId], 'success');
109
93
  handleChangeCode();
110
-
111
94
  if (nextIndex === validatorsLength) {
112
95
  codeElement.blur();
113
96
  return;
114
97
  }
115
-
116
98
  if ((codeElement === null || codeElement === void 0 ? void 0 : (_codeElement$value2 = codeElement.value) === null || _codeElement$value2 === void 0 ? void 0 : _codeElement$value2.length) > 0) codeReferences[prefix + nextIndex].current.focus();
117
99
  };
118
-
119
100
  const handleKeyPress = (event, currentIndex, previousIndex) => {
120
101
  if (!(event.keyCode === 8 || event.code === 'Backspace')) return;
121
-
122
102
  if (currentIndex > 0) {
123
103
  codeReferences[prefix + currentIndex].current.value = '';
124
104
  codeReferences[prefix + previousIndex].current.focus();
125
105
  }
126
-
127
106
  handleSingleCodes(prefix + currentIndex, '', '');
128
107
  handleChangeCode();
129
108
  };
130
-
131
109
  const getCodeComponents = () => {
132
110
  const components = [];
133
-
134
111
  for (let i = 0; validatorsLength && i < validatorsLength; i += 1) {
135
112
  const codeId = prefix + i;
136
113
  const codeInputProps = {
@@ -141,7 +118,6 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
141
118
  tokens: selectCodeTextInputTokens(themeTokens),
142
119
  onFocus: () => {
143
120
  var _codeReferences$codeI2, _codeReferences$codeI3;
144
-
145
121
  return ((_codeReferences$codeI2 = codeReferences[codeId]) === null || _codeReferences$codeI2 === void 0 ? void 0 : (_codeReferences$codeI3 = _codeReferences$codeI2.current) === null || _codeReferences$codeI3 === void 0 ? void 0 : _codeReferences$codeI3.select()) ?? null;
146
122
  },
147
123
  onKeyPress: event => handleKeyPress(event, i, i - 1),
@@ -152,44 +128,39 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
152
128
  codeInputProps.validation || delete codeInputProps.validation;
153
129
  components.push( /*#__PURE__*/_jsx(View, {
154
130
  style: staticStyles.codeInputWidth,
155
- children: /*#__PURE__*/_jsx(TextInput, { ...codeInputProps
131
+ children: /*#__PURE__*/_jsx(TextInput, {
132
+ ...codeInputProps
156
133
  })
157
134
  }, codeId));
158
135
  }
159
-
160
136
  return components;
161
137
  };
162
-
163
138
  useEffect(() => {
164
139
  /* eslint-disable no-unused-expressions */
165
140
  if (Number(value).toString() !== 'NaN') setText(value);
166
141
  }, [value]);
167
- /* eslint-disable react-hooks/exhaustive-deps */
168
142
 
143
+ /* eslint-disable react-hooks/exhaustive-deps */
169
144
  useEffect(() => {
170
145
  for (let i = 0; i < validatorsLength; i += 1) {
171
146
  codeReferences[prefix + i].current.value = text[i] ?? '';
172
147
  handleSingleCodes(prefix + i, text[i] ?? '', text[i] ? 'success' : '');
173
148
  }
174
149
  }, [text]);
175
- /* eslint-disable react-hooks/exhaustive-deps */
176
150
 
151
+ /* eslint-disable react-hooks/exhaustive-deps */
177
152
  useEffect(() => {
178
153
  const handlePasteCode = event => {
179
154
  setText('');
180
155
  const clipBoardText = event.clipboardData.getData('text');
181
156
  if (Number(clipBoardText).toString() !== 'NaN') setText(clipBoardText);
182
157
  };
183
-
184
158
  const handleCopy = event => {
185
159
  let clipBoardText = '';
186
-
187
160
  for (let i = 0; i < validatorsLength; i += 1) singleCodes[prefix + i] && (clipBoardText += singleCodes[prefix + i]);
188
-
189
161
  event.clipboardData.setData('text/plain', clipBoardText);
190
162
  event.preventDefault();
191
163
  };
192
-
193
164
  if (Platform.OS === 'web') {
194
165
  for (let i = 0; i < validatorsLength; i += 1) {
195
166
  codeReferences[prefix + i].current.addEventListener('paste', handlePasteCode);
@@ -197,12 +168,10 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
197
168
  codeReferences[prefix + i].current.addEventListener('input', event => handleChangeCodeValues(event, prefix + i, i + 1));
198
169
  }
199
170
  }
200
-
201
171
  return () => {
202
172
  if (Platform.oldValue === 'web') {
203
173
  for (let i = 0; i < validatorsLength; i += 1) {
204
174
  var _codeReferences, _codeReferences$curre, _codeReferences2, _codeReferences2$curr, _codeReferences3, _codeReferences3$curr;
205
-
206
175
  (_codeReferences = codeReferences[prefix + i]) === null || _codeReferences === void 0 ? void 0 : (_codeReferences$curre = _codeReferences.current) === null || _codeReferences$curre === void 0 ? void 0 : _codeReferences$curre.removeEventListener('paste', handlePasteCode);
207
176
  (_codeReferences2 = codeReferences[prefix + i]) === null || _codeReferences2 === void 0 ? void 0 : (_codeReferences2$curr = _codeReferences2.current) === null || _codeReferences2$curr === void 0 ? void 0 : _codeReferences2$curr.removeEventListener('copy', handleCopy);
208
177
  (_codeReferences3 = codeReferences[prefix + i]) === null || _codeReferences3 === void 0 ? void 0 : (_codeReferences3$curr = _codeReferences3.current) === null || _codeReferences3$curr === void 0 ? void 0 : _codeReferences3$curr.removeEventListener('input', event => handleChangeCodeValues(event, prefix + i, i + 1));
@@ -210,7 +179,8 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
210
179
  }
211
180
  };
212
181
  }, []);
213
- return /*#__PURE__*/_jsx(InputSupports, { ...supportsProps,
182
+ return /*#__PURE__*/_jsx(InputSupports, {
183
+ ...supportsProps,
214
184
  children: /*#__PURE__*/_jsx(StackView, {
215
185
  space: 2,
216
186
  direction: "row",
@@ -220,18 +190,16 @@ const Validator = /*#__PURE__*/forwardRef((_ref2, ref) => {
220
190
  });
221
191
  });
222
192
  Validator.displayName = 'Validator';
223
- Validator.propTypes = { ...selectedSystemPropTypes,
224
-
193
+ Validator.propTypes = {
194
+ ...selectedSystemPropTypes,
225
195
  /**
226
196
  * The value is a 6-digit code, may be only numeric characters, non numeric character aren't renderize
227
197
  */
228
198
  value: PropTypes.string,
229
-
230
199
  /**
231
200
  * If true, the component is inactive and non editable.
232
201
  */
233
202
  inactive: PropTypes.bool,
234
-
235
203
  /**
236
204
  * Use to react upon input's value changes. Required when the `value` prop is set. Will receive the input's value as an argument.
237
205
  */
@@ -3,12 +3,11 @@ import PropTypes from 'prop-types';
3
3
  import { viewports } from '@telus-uds/system-constants';
4
4
  import { ViewportContext } from './useViewport';
5
5
  import useViewportListener from './useViewportListener';
6
+
6
7
  /**
7
8
  * Provides an up-to-date viewport value from system-constants, available via the `useViewport` hook
8
9
  */
9
-
10
10
  import { jsx as _jsx } from "react/jsx-runtime";
11
-
12
11
  const ViewportProvider = _ref => {
13
12
  let {
14
13
  children
@@ -22,7 +21,6 @@ const ViewportProvider = _ref => {
22
21
  children: children
23
22
  });
24
23
  };
25
-
26
24
  ViewportProvider.propTypes = {
27
25
  children: PropTypes.node.isRequired
28
26
  };
@@ -1,39 +1,37 @@
1
1
  import Dimensions from "react-native-web/dist/exports/Dimensions";
2
2
  import { viewports } from '@telus-uds/system-constants';
3
- import useSafeLayoutEffect from '../utils/useSafeLayoutEffect'; // Use Dimensions instead of useWindowDimensions because useWindowDimensions forces context
3
+ import useSafeLayoutEffect from '../utils/useSafeLayoutEffect';
4
+
5
+ // Use Dimensions instead of useWindowDimensions because useWindowDimensions forces context
4
6
  // to update on every pixel change during window resize; but we only want rerenders to occur
5
7
  // when a viewport threshold has been crossed.
6
-
7
8
  const lookupViewport = () => viewports.select(Dimensions.get('window').width);
9
+
8
10
  /**
9
11
  * When client-side rendering, immediately set the viewport to the correct value as a layout effect so
10
12
  * if the viewport isn't the smallest, any SSR-rendered components rerender correctly before anything
11
13
  * is shown to the user. Then bind events to update the viewport if it changes.
12
14
  */
13
-
14
-
15
15
  const useViewportListener = setViewport => {
16
16
  useSafeLayoutEffect(() => {
17
17
  setViewport(lookupViewport());
18
-
19
18
  const onChange = _ref => {
20
19
  let {
21
20
  window
22
21
  } = _ref;
23
22
  return setViewport(viewports.select(window.width));
24
23
  };
25
-
26
24
  const listener = Dimensions.addEventListener('change', onChange);
27
25
  return () => {
28
26
  if (typeof (listener === null || listener === void 0 ? void 0 : listener.remove) === 'function') {
29
27
  // Can't just return listener.remove because listener.emitter disappears, causing an internal error.
30
28
  // See https://github.com/facebook/react-native/issues/34508
31
- listener.remove(); // From RN 0.65.0, Dimensions.removeEventListener is deprecated for `remove` on addEventListener return value
29
+ listener.remove();
30
+ // From RN 0.65.0, Dimensions.removeEventListener is deprecated for `remove` on addEventListener return value
32
31
  } else if (typeof Dimensions.removeEventListener === 'function') {
33
32
  Dimensions.removeEventListener('change', onChange);
34
33
  }
35
34
  };
36
35
  }, [setViewport]);
37
36
  };
38
-
39
37
  export default useViewportListener;
@@ -9,6 +9,7 @@ export { default as Listbox } from './Listbox';
9
9
  export { default as Checkbox } from './Checkbox';
10
10
  export * from './Checkbox';
11
11
  export { default as CheckboxCard } from './CheckboxCard';
12
+ export { default as CheckboxCardGroup } from './CheckboxCardGroup';
12
13
  export { default as Divider } from './Divider';
13
14
  export { default as ExpandCollapse, Accordion } from './ExpandCollapse';
14
15
  export { default as Feedback } from './Feedback';
@@ -3,11 +3,11 @@ import NativeView from "react-native-web/dist/exports/View";
3
3
  import StyleSheet from "react-native-web/dist/exports/StyleSheet";
4
4
  import PropTypes from 'prop-types';
5
5
  import { useTheme } from '../../ThemeProvider';
6
+
6
7
  /**
7
8
  * Identical to React Native's View and supporting all the same props, but with:
8
9
  * - a zIndex: 'auto' style added to prevent unexpectedly causing children to overlap other elements from other stacking contexts
9
10
  */
10
-
11
11
  import { jsx as _jsx } from "react/jsx-runtime";
12
12
  const BaseView = /*#__PURE__*/forwardRef((_ref, ref) => {
13
13
  let {
@@ -19,12 +19,11 @@ const BaseView = /*#__PURE__*/forwardRef((_ref, ref) => {
19
19
  themeOptions
20
20
  } = useTheme();
21
21
  const styleProp = Array.isArray(style) ? [...style] : [style];
22
-
23
22
  if (!themeOptions.forceZIndex) {
24
23
  styleProp.unshift(styles.resetZIndex);
25
24
  }
26
-
27
- return /*#__PURE__*/_jsx(NativeView, { ...rest,
25
+ return /*#__PURE__*/_jsx(NativeView, {
26
+ ...rest,
28
27
  style: styleProp,
29
28
  ref: ref,
30
29
  children: children
@@ -2,5 +2,4 @@ import BaseView from "react-native-web/dist/exports/View";
2
2
  /**
3
3
  * Android crashes on non-standard style properties like `zIndex` so adding a `BaseView` for native platforms
4
4
  */
5
-
6
5
  export default BaseView;
@@ -2,7 +2,6 @@ import Platform from "react-native-web/dist/exports/Platform";
2
2
  /**
3
3
  * @typedef {import('react-native').AccessibilityRole} AccessibilityRole
4
4
  */
5
-
6
5
  /**
7
6
  * This is based on the role-to-tag mapping that React Native Web uses to set HTML tags.
8
7
  * It's not exported in any way from RNW, so we need to keep this up-to-date manually.
@@ -23,10 +22,7 @@ import Platform from "react-native-web/dist/exports/Platform";
23
22
  */
24
23
  // Adding `/** @type {const} */ ({...})` denotes object content as `readonly` in many IDEs
25
24
  // eslint-disable-next-line prettier/prettier
26
-
27
- const rolesToTags =
28
- /** @type {const} */
29
- {
25
+ const rolesToTags = /** @type {const} */{
30
26
  article: 'article',
31
27
  banner: 'header',
32
28
  blockquote: 'blockquote',
@@ -45,23 +41,22 @@ const rolesToTags =
45
41
  region: 'section',
46
42
  strong: 'strong',
47
43
  // Add special cases that are in RNW's function logic but not in its mapping object
48
- label: 'label' // eslint-disable-next-line prettier/prettier
49
-
50
- }; // Invert React Native Web's mapping, so a tag gets the role that gets that tag
44
+ label: 'label'
45
+ // eslint-disable-next-line prettier/prettier
46
+ };
51
47
 
48
+ // Invert React Native Web's mapping, so a tag gets the role that gets that tag
52
49
  export const tagsToRoles = Object.fromEntries(Object.entries(rolesToTags).map(_ref => {
53
50
  let [key, value] = _ref;
54
51
  return [value, key];
55
52
  }));
53
+
56
54
  /**
57
55
  * Heading HTML tags map to the "heading" accessibilityRole in native apps, which is similar
58
56
  * to headings on web but without the expectation of a hierarchy of headings within one screen.
59
57
  */
60
58
  // eslint-disable-next-line prettier/prettier
61
-
62
- export const headingTags =
63
- /** @type {const} */
64
- ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
59
+ export const headingTags = /** @type {const} */['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
65
60
  /**
66
61
  * @typedef {typeof headingTags[number]} HeadingTag
67
62
  */
@@ -72,7 +67,6 @@ export const headingTags =
72
67
  *
73
68
  * Of these, only headers (h1, h2, ...h5, h6) set a corresponding accessibilityRole in native apps ("heading").
74
69
  */
75
-
76
70
  export const supportedTags = [...Object.keys(tagsToRoles), ...headingTags];
77
71
  /**
78
72
  * Uses readonly mapping keys/values to generate static types for IDEs that support TS in JSDoc.
@@ -86,10 +80,8 @@ export const supportedTags = [...Object.keys(tagsToRoles), ...headingTags];
86
80
  * Of these, only headers (h1, h2, ...h5, h6) set a corresponding accessibilityRole in native apps ("heading").
87
81
  */
88
82
  // eslint-disable-next-line prettier/prettier
89
-
90
- export const layoutTags =
91
- /** @type {const} */
92
- [...headingTags, 'article', 'aside', 'blockquote', 'footer', 'figure', 'form', 'header', 'ul', 'li', 'main', 'nav', 'section', 'label' // eslint-disable-next-line prettier/prettier
83
+ export const layoutTags = /** @type {const} */[...headingTags, 'article', 'aside', 'blockquote', 'footer', 'figure', 'form', 'header', 'ul', 'li', 'main', 'nav', 'section', 'label'
84
+ // eslint-disable-next-line prettier/prettier
93
85
  ];
94
86
  /**
95
87
  * @typedef {typeof layoutTags[number]} LayoutTag
@@ -101,10 +93,8 @@ export const layoutTags =
101
93
  * Of these, only headers (h1, h2, ...h5, h6) set a corresponding accessibilityRole in native apps ("heading").
102
94
  */
103
95
  // eslint-disable-next-line prettier/prettier
104
-
105
- export const textTags =
106
- /** @type {const} */
107
- [...headingTags, 'blockquote', 'code', 'del', 'em', 'ins', 'li', 'strong', 'label' // eslint-disable-next-line prettier/prettier
96
+ export const textTags = /** @type {const} */[...headingTags, 'blockquote', 'code', 'del', 'em', 'ins', 'li', 'strong', 'label'
97
+ // eslint-disable-next-line prettier/prettier
108
98
  ];
109
99
  /**
110
100
  * @typedef {typeof layoutTags[number]} TextTag
@@ -117,8 +107,8 @@ export const textTags =
117
107
  * @param {string} [tag] - HTML tag string; returns undefined if not a {@link HeadingTag}
118
108
  * @returns {'1' | '2' | '3' | '4' | '5' | '6' | undefined}
119
109
  */
120
-
121
110
  export const getHeadingLevel = tag => headingTags.includes(tag) ? Number(tag[1]) : undefined;
111
+
122
112
  /**
123
113
  * Takes a supported HTML tag, and returns the accessibility props that, on web, make React Native Web
124
114
  * render that tag.
@@ -131,13 +121,11 @@ export const getHeadingLevel = tag => headingTags.includes(tag) ? Number(tag[1])
131
121
  * @param {AccessibilityRole | null} [nativeRole] - optional accessibilityRole for native apps
132
122
  * @returns {{ accessibilityRole: string, accessibilityLevel?: string } | undefined}
133
123
  */
134
-
135
124
  export const getA11yPropsFromHtmlTag = (tag, nativeRole) => {
136
125
  // Allow cross-platform apps to set accessibilityRoles alongside a web tag without conflict
137
126
  if (nativeRole !== undefined && Platform.OS !== 'web') return {
138
127
  accessibilityRole: nativeRole
139
128
  };
140
-
141
129
  if (tag) {
142
130
  // aria roles don't have native counterparts and RN may throw an error if an unrecognised role is passed
143
131
  const ariaRole = Platform.OS === 'web' && tagsToRoles[tag];
@@ -149,9 +137,8 @@ export const getA11yPropsFromHtmlTag = (tag, nativeRole) => {
149
137
  accessibilityRole: 'header',
150
138
  accessibilityLevel
151
139
  };
152
- } // If nothing matches or no tag supplied, return undefined and let component decide how to fall back.
140
+ }
141
+ // If nothing matches or no tag supplied, return undefined and let component decide how to fall back.
153
142
  // Note that return value may always be spread in objects (it is safe to spread undefined like { ...undefined })
154
-
155
-
156
143
  return undefined;
157
144
  };
@@ -7,13 +7,13 @@ import Platform from "react-native-web/dist/exports/Platform";
7
7
  * @param {number} [value] - the value to multiply; defaults to system default font size
8
8
  * @param {number} [maxScale] - the maximum multiplier to apply; defaults to no maximum
9
9
  */
10
-
11
10
  export const scaleWithText = function (value) {
12
11
  let maxScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Infinity;
13
12
  if (!value) return value;
14
13
  const scale = Math.min(PixelRatio.getFontScale(), maxScale) || 1;
15
14
  return value * scale;
16
15
  };
16
+
17
17
  /**
18
18
  * Native only, returns `undefined` on Web.
19
19
  *
@@ -24,7 +24,6 @@ export const scaleWithText = function (value) {
24
24
  * The return value of this function can be used as a React Native `Text` element's
25
25
  * `maxFontSizeMultiplier` prop value.
26
26
  */
27
-
28
27
  export const getMaxFontMultiplier = _ref => {
29
28
  let {
30
29
  fontSize,