@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
package/lib/Box/Box.js CHANGED
@@ -4,28 +4,18 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
13
-
14
10
  var _ScrollView = _interopRequireDefault(require("react-native-web/dist/cjs/exports/ScrollView"));
15
-
16
11
  var _ThemeProvider = require("../ThemeProvider");
17
-
18
12
  var _utils = require("../utils");
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
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
18
+
29
19
  /**
30
20
  * @typedef {import('../utils/props/spacingProps.js').SpacingValue} SpacingValue
31
21
  * @typedef {import('../utils/props/spacingProps.js').SpacingIndex} SpacingIndex
@@ -54,7 +44,6 @@ const selectBoxStyles = _ref => {
54
44
  borderBottomLeftRadius,
55
45
  borderBottomRightRadius
56
46
  };
57
-
58
47
  if (gradient) {
59
48
  const {
60
49
  angle,
@@ -62,9 +51,8 @@ const selectBoxStyles = _ref => {
62
51
  } = gradient;
63
52
  styles.backgroundImage = `linear-gradient(${angle}deg, ${stopOne.color}, 75% , ${stopTwo.color})`;
64
53
  }
65
-
66
- const paddings = ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom']; // Only set on styles if token provided because we spread this object after the spacing scale values
67
-
54
+ const paddings = ['paddingLeft', 'paddingRight', 'paddingTop', 'paddingBottom'];
55
+ // Only set on styles if token provided because we spread this object after the spacing scale values
68
56
  paddings.forEach(side => {
69
57
  if (rest[side]) {
70
58
  styles[side] = rest[side];
@@ -72,6 +60,7 @@ const selectBoxStyles = _ref => {
72
60
  });
73
61
  return styles;
74
62
  };
63
+
75
64
  /**
76
65
  * A layout utility component. Use Box to create space (padding) around content.
77
66
  *
@@ -137,8 +126,6 @@ const selectBoxStyles = _ref => {
137
126
  * text content is inside a scrollable box, as screens are not scrollable by default and even very
138
127
  * short text will require scrolling on small devices at the highest accessibility text scaling settings.
139
128
  */
140
-
141
-
142
129
  const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
143
130
  let {
144
131
  space,
@@ -173,11 +160,11 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
173
160
  paddingBottom: (0, _utils.useSpacingScale)(bottom),
174
161
  ...selectBoxStyles(themeTokens)
175
162
  };
176
-
177
163
  if (scroll) {
178
164
  const scrollProps = typeof scroll === 'object' ? scroll : {};
179
165
  scrollProps.contentContainerStyle = [styles, scrollProps.contentContainerStyle];
180
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollView.default, { ...scrollProps,
166
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ScrollView.default, {
167
+ ...scrollProps,
181
168
  ...props,
182
169
  testID: testID,
183
170
  dataSet: dataSet,
@@ -185,8 +172,8 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
185
172
  children: children
186
173
  });
187
174
  }
188
-
189
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, { ...props,
175
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
176
+ ...props,
190
177
  style: styles,
191
178
  testID: testID,
192
179
  dataSet: dataSet,
@@ -195,59 +182,52 @@ const Box = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
195
182
  });
196
183
  });
197
184
  Box.displayName = 'Box';
198
- Box.propTypes = { ...selectedSystemPropTypes,
185
+ Box.propTypes = {
186
+ ...selectedSystemPropTypes,
199
187
  variant: _utils.variantProp.propType,
200
188
  tokens: (0, _utils.getTokensPropType)('Box'),
201
-
202
189
  /**
203
190
  * Sets default padding on all sides of the box using the theme's spacing scale.
204
191
  *
205
192
  * @see {@link SpacingValue}
206
193
  */
207
194
  space: _utils.spacingProps.types.spacingValue,
208
-
209
195
  /**
210
196
  * Sets top and bottom padding using the theme's spacing scale.
211
197
  *
212
198
  * @see {@link SpacingValue}
213
199
  */
214
200
  vertical: _utils.spacingProps.types.spacingValue,
215
-
216
201
  /**
217
202
  * Sets left and right padding using the theme's spacing scale.
218
203
  *
219
204
  * @see {@link SpacingValue}
220
205
  */
221
206
  horizontal: _utils.spacingProps.types.spacingValue,
222
-
223
207
  /**
224
208
  * Sets bottom padding using the theme's spacing scale.
225
209
  *
226
210
  * @see {@link SpacingValue}
227
211
  */
228
212
  bottom: _utils.spacingProps.types.spacingValue,
229
-
230
213
  /**
231
214
  * Sets left padding using the theme's spacing scale.
232
215
  *
233
216
  * @see {@link SpacingValue}
234
217
  */
235
218
  left: _utils.spacingProps.types.spacingValue,
236
-
237
219
  /**
238
220
  * Sets right padding using the theme's spacing scale.
239
221
  *
240
222
  * @see {@link SpacingValue}
241
223
  */
242
224
  right: _utils.spacingProps.types.spacingValue,
243
-
244
225
  /**
245
226
  * Sets top padding using the theme's spacing scale.
246
227
  *
247
228
  * @see {@link SpacingValue}
248
229
  */
249
230
  top: _utils.spacingProps.types.spacingValue,
250
-
251
231
  /**
252
232
  * Sets the `flex` style, which controls `flexGrow`, `flexShrink` and `flexBasis` styles.
253
233
  *
@@ -257,14 +237,12 @@ Box.propTypes = { ...selectedSystemPropTypes,
257
237
  * With the default `0`, the box takes its minimum width from its content.
258
238
  */
259
239
  flex: _propTypes.default.number,
260
-
261
240
  /**
262
241
  * Renders a scrollable ScrollView instead of an unscrollable View.
263
242
  *
264
243
  * May take an object of ScrollView props which are passed to the rendered ScrollView.
265
244
  */
266
245
  scroll: _propTypes.default.oneOfType([_propTypes.default.bool, _ScrollView.default.propTypes ? _propTypes.default.shape(_ScrollView.default.propTypes) : _propTypes.default.object]),
267
-
268
246
  /**
269
247
  * Optional semantic HTML tag, to apply to the container on web. Does not change styling.
270
248
  *
@@ -272,18 +250,15 @@ Box.propTypes = { ...selectedSystemPropTypes,
272
250
  * is not defined, the accessibilityRole will default to "heading".
273
251
  */
274
252
  tag: _propTypes.default.oneOf(_utils.layoutTags),
275
-
276
253
  /**
277
254
  * Use in tests if the box itself needs to be targetted and no other way of selecting the
278
255
  * box is available (e.g. it cannot be targetted using an appropriate `accessibilityRole`).
279
256
  */
280
257
  testID: _propTypes.default.string,
281
-
282
258
  /**
283
259
  * @ignore
284
260
  */
285
261
  dataSet: _propTypes.default.object,
286
-
287
262
  /**
288
263
  * Box accepts any content as children.
289
264
  */
package/lib/Box/index.js CHANGED
@@ -4,10 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var _Box = _interopRequireDefault(require("./Box"));
9
-
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
9
  var _default = _Box.default;
13
10
  exports.default = _default;
@@ -4,27 +4,16 @@ 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 _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
11
-
12
9
  var _propTypes = _interopRequireWildcard(require("./propTypes"));
13
-
14
10
  var _ThemeProvider = require("../ThemeProvider");
15
-
16
11
  var _props = require("../utils/props");
17
-
18
12
  var _ViewportProvider = require("../ViewportProvider");
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
  const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
29
18
  let {
30
19
  accessibilityRole = 'button',
@@ -38,14 +27,16 @@ const Button = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
38
27
  ...variant
39
28
  };
40
29
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('Button', tokens, buttonVariant);
41
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, { ...props,
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
31
+ ...props,
42
32
  tokens: getTokens,
43
33
  accessibilityRole: accessibilityRole,
44
34
  ref: ref
45
35
  });
46
36
  });
47
37
  Button.displayName = 'Button';
48
- Button.propTypes = { ..._props.a11yProps.types,
38
+ Button.propTypes = {
39
+ ..._props.a11yProps.types,
49
40
  ..._propTypes.default,
50
41
  children: _propTypes.textAndA11yText
51
42
  };
@@ -4,37 +4,21 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
13
-
14
10
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
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 _ThemeProvider = require("../ThemeProvider");
21
-
22
14
  var _propTypes2 = _interopRequireDefault(require("./propTypes"));
23
-
24
15
  var _utils = require("../utils");
25
-
26
16
  var _Icon = require("../Icon");
27
-
28
17
  var _jsxRuntime = require("react/jsx-runtime");
29
-
30
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
-
32
19
  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); }
33
-
34
20
  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; }
35
-
36
21
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.linkProps, _utils.viewProps]);
37
-
38
22
  const getOuterBorderOffset = _ref => {
39
23
  let {
40
24
  outerBorderGap = 0,
@@ -42,7 +26,6 @@ const getOuterBorderOffset = _ref => {
42
26
  } = _ref;
43
27
  return outerBorderGap + outerBorderWidth;
44
28
  };
45
-
46
29
  const selectOuterContainerStyles = _ref2 => {
47
30
  let {
48
31
  opacity,
@@ -52,7 +35,8 @@ const selectOuterContainerStyles = _ref2 => {
52
35
  borderRadius,
53
36
  outerBackgroundColor
54
37
  } = _ref2;
55
- return { ..._Platform.default.select({
38
+ return {
39
+ ..._Platform.default.select({
56
40
  native: {
57
41
  alignSelf: 'flex-start'
58
42
  }
@@ -67,7 +51,6 @@ const selectOuterContainerStyles = _ref2 => {
67
51
  })
68
52
  };
69
53
  };
70
-
71
54
  const selectOuterSizeStyles = _ref3 => {
72
55
  let {
73
56
  outerBorderGap,
@@ -81,16 +64,16 @@ const selectOuterSizeStyles = _ref3 => {
81
64
  outerBorderGap,
82
65
  outerBorderWidth
83
66
  });
84
- const sizeStyles = {}; // Apply width/height tokens: number === pixels, string === explicit units e.g. %
85
-
67
+ const sizeStyles = {};
68
+ // Apply width/height tokens: number === pixels, string === explicit units e.g. %
86
69
  if (typeof width === 'number' && width > 0 || typeof height === 'number' && height > 0) {
87
70
  sizeStyles.width = width ? width + outerBorderOffset * 2 : width;
88
71
  sizeStyles.height = height ? height + outerBorderOffset * 2 : height;
89
72
  return sizeStyles;
90
73
  }
91
-
92
74
  if (!width) {
93
- return { ...sizeStyles,
75
+ return {
76
+ ...sizeStyles,
94
77
  // Wrap content, stopping a flex parent's default align-items: stretch stretching focus ring beyond content
95
78
  ..._Platform.default.select({
96
79
  // width: fit-content isn't supported on Firefox; can't cascade props like CSS `width: fit-content; width: --moz-fit-content;`
@@ -99,28 +82,26 @@ const selectOuterSizeStyles = _ref3 => {
99
82
  }
100
83
  })
101
84
  };
102
- } // Ensure the negative margin doesn't make element off-centre
103
-
85
+ }
104
86
 
87
+ // Ensure the negative margin doesn't make element off-centre
105
88
  if (_Platform.default.OS === 'web') {
106
89
  sizeStyles.width = `calc(${width} + ${outerBorderOffset * 2}px)`;
107
90
  sizeStyles.height = `calc(${height} + ${outerBorderOffset * 2}px)`;
108
91
  return sizeStyles;
109
- } // Can't use calc() on native but (unlike on web) flexGrow fills the container width here
110
-
111
-
92
+ }
93
+ // Can't use calc() on native but (unlike on web) flexGrow fills the container width here
112
94
  if (width === '100%') {
113
95
  sizeStyles.flexGrow = 1;
114
96
  return sizeStyles;
115
- } // Slight offset not such a concern if % width < 100%, as the button isn't centered anyway.
116
- // If centering support is added (e.g. alignSelf: center), set marginHorizontal 0 when centered.
117
-
97
+ }
118
98
 
99
+ // Slight offset not such a concern if % width < 100%, as the button isn't centered anyway.
100
+ // If centering support is added (e.g. alignSelf: center), set marginHorizontal 0 when centered.
119
101
  sizeStyles.width = width;
120
102
  sizeStyles.height = height;
121
103
  return sizeStyles;
122
104
  };
123
-
124
105
  const selectInnerContainerStyles = _ref4 => {
125
106
  let {
126
107
  backgroundColor,
@@ -136,7 +117,6 @@ const selectInnerContainerStyles = _ref4 => {
136
117
  borderBottomWidth,
137
118
  minWidth
138
119
  } = _ref4;
139
-
140
120
  // Subtract border width from padding so overall button width/height doesn't
141
121
  // jump around if the border width changes (avoiding NaN and negative padding)
142
122
  const offsetBorder = _ref5 => {
@@ -146,7 +126,6 @@ const selectInnerContainerStyles = _ref4 => {
146
126
  } = _ref5;
147
127
  return typeof value === 'number' && typeof borderSize === 'number' ? Math.max(0, value - borderSize) : value;
148
128
  };
149
-
150
129
  return {
151
130
  paddingLeft: offsetBorder({
152
131
  value: paddingLeft,
@@ -169,7 +148,6 @@ const selectInnerContainerStyles = _ref4 => {
169
148
  ...(0, _ThemeProvider.applyShadowToken)(shadow)
170
149
  };
171
150
  };
172
-
173
151
  const selectBorderStyles = _ref6 => {
174
152
  let {
175
153
  borderColor,
@@ -190,7 +168,6 @@ const selectBorderStyles = _ref6 => {
190
168
  borderBottomWidth
191
169
  };
192
170
  };
193
-
194
171
  const selectTextStyles = (_ref7, themeOptions) => {
195
172
  let {
196
173
  fontSize,
@@ -214,7 +191,6 @@ const selectTextStyles = (_ref7, themeOptions) => {
214
191
  textDecorationStyle: textLineStyle
215
192
  });
216
193
  };
217
-
218
194
  const selectWebOnlyStyles = (inactive, themeTokens, _ref8) => {
219
195
  let {
220
196
  accessibilityRole
@@ -231,7 +207,6 @@ const selectWebOnlyStyles = (inactive, themeTokens, _ref8) => {
231
207
  default: {}
232
208
  });
233
209
  };
234
-
235
210
  const selectButtonStyles = _ref9 => {
236
211
  let {
237
212
  textAlign
@@ -241,7 +216,6 @@ const selectButtonStyles = _ref9 => {
241
216
  justifyContent: textAlign
242
217
  };
243
218
  };
244
-
245
219
  const selectItemIconTokens = _ref10 => {
246
220
  let {
247
221
  color,
@@ -253,7 +227,6 @@ const selectItemIconTokens = _ref10 => {
253
227
  color: iconColor || color
254
228
  };
255
229
  };
256
-
257
230
  const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
258
231
  let {
259
232
  id,
@@ -270,27 +243,21 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
270
243
  iconProps,
271
244
  ...rawRest
272
245
  } = _ref11;
273
-
274
246
  const {
275
247
  onPress,
276
248
  ...rest
277
249
  } = _utils.clickProps.toPressProps(rawRest);
278
-
279
250
  const extraButtonState = {
280
251
  inactive,
281
252
  selected,
282
253
  iconPosition
283
254
  };
284
-
285
255
  const resolveButtonTokens = pressableState => (0, _utils.resolvePressableTokens)(tokens, pressableState, extraButtonState);
286
-
287
256
  const systemProps = selectProps(rest);
288
-
289
257
  const getPressableStyle = pressableState => {
290
258
  const themeTokens = resolveButtonTokens(pressableState);
291
259
  return [staticStyles.row, selectWebOnlyStyles(inactive, themeTokens, systemProps), selectOuterContainerStyles(themeTokens), selectOuterSizeStyles(themeTokens)];
292
260
  };
293
-
294
261
  const {
295
262
  themeOptions
296
263
  } = (0, _ThemeProvider.useTheme)();
@@ -312,15 +279,16 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
312
279
  const textStyles = [selectTextStyles(themeTokens, themeOptions), staticStyles.text, _Platform.default.select({
313
280
  web: {
314
281
  pointerEvents: 'none' // bubbles press event to parent `Pressable`
315
-
316
282
  }
317
283
  })];
284
+
318
285
  const iconTokens = selectItemIconTokens(themeTokens);
319
286
  const {
320
287
  iconSpace
321
- } = themeTokens; // If the container has a width set, fill it instead of sizing from content.
322
- // If in future we support text alignments other than center, add here.
288
+ } = themeTokens;
323
289
 
290
+ // If the container has a width set, fill it instead of sizing from content.
291
+ // If in future we support text alignments other than center, add here.
324
292
  const stretchStyles = themeTokens.width ? staticStyles.stretch : staticStyles.align;
325
293
  const IconComponent = icon || themeTokens.icon;
326
294
  const rowStyles = selectButtonStyles(themeTokens);
@@ -341,10 +309,12 @@ const ButtonBase = /*#__PURE__*/(0, _react.forwardRef)((_ref11, ref) => {
341
309
  icon: IconComponent,
342
310
  iconPosition: iconPosition,
343
311
  space: iconSpace,
344
- iconProps: { ...iconProps,
312
+ iconProps: {
313
+ ...iconProps,
345
314
  tokens: iconTokens
346
315
  },
347
- children: (0, _utils.wrapStringsInText)(typeof children === 'function' ? children({ ...(0, _utils.resolvePressableState)(pressableState, extraButtonState),
316
+ children: (0, _utils.wrapStringsInText)(typeof children === 'function' ? children({
317
+ ...(0, _utils.resolvePressableState)(pressableState, extraButtonState),
348
318
  textStyles
349
319
  }) : children, {
350
320
  style: textStyles
@@ -363,14 +333,14 @@ ButtonBase.propTypes = {
363
333
  ButtonBase.defaultProps = {
364
334
  id: undefined
365
335
  };
366
-
367
336
  const staticStyles = _StyleSheet.default.create({
368
337
  row: {
369
338
  // Apply all button alignment horizontally; no vertical stacking within a button
370
339
  flexDirection: 'row',
371
340
  justifyContent: 'center'
372
341
  },
373
- text: { ..._Platform.default.select({
342
+ text: {
343
+ ..._Platform.default.select({
374
344
  // TODO: https://github.com/telus/universal-design-system/issues/487
375
345
  web: {
376
346
  transition: 'color 200ms'
@@ -386,7 +356,5 @@ const staticStyles = _StyleSheet.default.create({
386
356
  justifyContent: 'center'
387
357
  }
388
358
  });
389
-
390
359
  var _default = (0, _utils.withLinkRouter)(ButtonBase);
391
-
392
360
  exports.default = _default;
@@ -4,39 +4,22 @@ 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 _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
9
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
13
-
14
10
  var _Text = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Text"));
15
-
16
11
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
17
-
18
12
  var _propTypes2 = _interopRequireWildcard(require("./propTypes"));
19
-
20
13
  var _ButtonBase = _interopRequireDefault(require("./ButtonBase"));
21
-
22
14
  var _ThemeProvider = require("../ThemeProvider");
23
-
24
15
  var _utils = require("../utils");
25
-
26
16
  var _Icon = _interopRequireDefault(require("../Icon"));
27
-
28
17
  var _StackView = require("../StackView");
29
-
30
18
  var _pressability = require("../utils/pressability");
31
-
32
19
  var _jsxRuntime = require("react/jsx-runtime");
33
-
34
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
35
-
36
21
  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); }
37
-
38
22
  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; }
39
-
40
23
  const selectIconTokens = _ref => {
41
24
  let {
42
25
  icon,
@@ -75,7 +58,6 @@ const selectIconTokens = _ref => {
75
58
  }
76
59
  };
77
60
  };
78
-
79
61
  const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
80
62
  let {
81
63
  value,
@@ -105,22 +87,19 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
105
87
  ...variant
106
88
  };
107
89
  const getTokens = (0, _ThemeProvider.useThemeTokensCallback)('ButtonDropdown', tokens, extraState);
90
+ const getButtonTokens = buttonState => (0, _utils.selectTokens)('Button', getTokens(buttonState));
108
91
 
109
- const getButtonTokens = buttonState => (0, _utils.selectTokens)('Button', getTokens(buttonState)); // Pass an object of relevant component state as first argument for any passed-in press handlers
110
-
111
-
92
+ // Pass an object of relevant component state as first argument for any passed-in press handlers
112
93
  const pressHandlers = (0, _pressability.getPressHandlersWithArgs)(props, [{
113
94
  label,
114
95
  open: isOpen
115
96
  }]);
116
-
117
97
  const handlePress = event => {
118
98
  if (!inactive) {
119
99
  if (pressHandlers.onPress) pressHandlers === null || pressHandlers === void 0 ? void 0 : pressHandlers.onPress(event);
120
100
  setIsOpen(!isOpen, event);
121
101
  }
122
102
  };
123
-
124
103
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ButtonBase.default, {
125
104
  ref: ref,
126
105
  ...pressHandlers,
@@ -140,6 +119,7 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
140
119
  // - Icon: https://github.com/telus/universal-design-system/issues/327
141
120
  // - IconButton: https://github.com/telus/universal-design-system/issues/281
142
121
  // - Token sets: https://github.com/telus/universal-design-system/issues/782
122
+
143
123
  const itemTokens = getTokens(buttonState);
144
124
  const {
145
125
  iconTokens,
@@ -155,11 +135,10 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
155
135
  tokens: iconTokens
156
136
  })
157
137
  }) : null;
158
-
159
- const childrenContent = () => typeof children === 'function' ? children({ ...(0, _utils.resolvePressableState)(buttonState, extraState),
138
+ const childrenContent = () => typeof children === 'function' ? children({
139
+ ...(0, _utils.resolvePressableState)(buttonState, extraState),
160
140
  textStyles
161
141
  }) : children;
162
-
163
142
  const content = children ? childrenContent() : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.default, {
164
143
  style: textStyles,
165
144
  children: label
@@ -172,33 +151,29 @@ const ButtonDropdown = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
172
151
  });
173
152
  });
174
153
  ButtonDropdown.displayName = 'ButtonDropdown';
175
- ButtonDropdown.propTypes = { ..._utils.a11yProps.types,
154
+ ButtonDropdown.propTypes = {
155
+ ..._utils.a11yProps.types,
176
156
  ..._utils.focusHandlerProps.types,
177
157
  ..._propTypes2.default,
178
158
  children: _propTypes2.textAndA11yText,
179
159
  tokens: (0, _utils.getTokensPropType)('ButtonDropdown'),
180
-
181
160
  /**
182
161
  * Callback called when a controlled ButtonDropdown gets interacted with.
183
162
  */
184
163
  onChange: _propTypes.default.func,
185
-
186
164
  /**
187
165
  * `value` prop is being used to set the 'open' state of ButtonDropdown. Use it for
188
166
  * controlled ButtonDropdown. For uncontrolled ButtonDropdown, use `initialValue`.
189
167
  */
190
168
  value: _propTypes.default.bool,
191
-
192
169
  /**
193
170
  * Use `initialValue` to provide the initial value for an uncontrolled version.
194
171
  */
195
172
  initialValue: _propTypes.default.bool,
196
-
197
173
  /**
198
174
  * The label of ButtonDropdown.
199
175
  */
200
176
  label: _propTypes.default.string,
201
-
202
177
  /**
203
178
  * By default, `ButtonDropdown` is treated by accessibility tools as a radio button.
204
179
  */