@telus-uds/components-base 1.84.0 → 1.85.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 (471) hide show
  1. package/CHANGELOG.md +26 -2
  2. package/lib/A11yInfoProvider/index.js +8 -10
  3. package/lib/A11yText/index.js +2 -4
  4. package/lib/ActivityIndicator/Spinner.js +3 -4
  5. package/lib/ActivityIndicator/Spinner.native.js +2 -4
  6. package/lib/Autocomplete/Autocomplete.js +13 -17
  7. package/lib/Autocomplete/Loading.js +4 -2
  8. package/lib/Autocomplete/Suggestions.js +2 -4
  9. package/lib/Badge/Badge.js +2 -4
  10. package/lib/BaseProvider/HydrationContext.js +5 -7
  11. package/lib/Box/Box.js +5 -7
  12. package/lib/Button/Button.js +3 -3
  13. package/lib/Button/ButtonBase.js +2 -7
  14. package/lib/Button/ButtonDropdown.js +3 -3
  15. package/lib/Button/ButtonGroup.js +2 -4
  16. package/lib/Button/ButtonLink.js +3 -3
  17. package/lib/Card/Card.js +159 -16
  18. package/lib/Card/CardBase.js +2 -4
  19. package/lib/Card/PressableCardBase.js +3 -5
  20. package/lib/CardGroup/CardGroup.js +220 -0
  21. package/lib/CardGroup/dictionary.js +15 -0
  22. package/lib/CardGroup/index.js +10 -0
  23. package/lib/Carousel/Carousel.js +67 -57
  24. package/lib/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -4
  25. package/lib/Carousel/CarouselItem/CarouselItem.js +3 -2
  26. package/lib/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
  27. package/lib/Carousel/CarouselTabs/CarouselTabs.js +2 -4
  28. package/lib/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -8
  29. package/lib/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -5
  30. package/lib/Carousel/CarouselThumbnail.js +4 -2
  31. package/lib/Carousel/CarouselThumbnailNavigation.js +2 -4
  32. package/lib/Checkbox/Checkbox.js +2 -4
  33. package/lib/Checkbox/CheckboxButton.js +3 -5
  34. package/lib/Checkbox/CheckboxGroup.js +2 -4
  35. package/lib/Checkbox/CheckboxInput.js +4 -14
  36. package/lib/CheckboxCard/CheckboxCard.js +3 -3
  37. package/lib/CheckboxCardGroup/CheckboxCardGroup.js +3 -3
  38. package/lib/ColourToggle/ColourBubble.js +5 -6
  39. package/lib/ColourToggle/ColourToggle.js +3 -5
  40. package/lib/Divider/Divider.js +2 -4
  41. package/lib/ExpandCollapse/Accordion.js +2 -4
  42. package/lib/ExpandCollapse/Control.js +2 -4
  43. package/lib/ExpandCollapse/ExpandCollapse.js +2 -4
  44. package/lib/ExpandCollapse/Panel.js +3 -5
  45. package/lib/Feedback/Feedback.js +2 -4
  46. package/lib/Fieldset/Fieldset.js +2 -4
  47. package/lib/Fieldset/FieldsetContainer.js +2 -4
  48. package/lib/Fieldset/FieldsetContainer.native.js +2 -4
  49. package/lib/Fieldset/Legend.js +2 -4
  50. package/lib/Fieldset/Legend.native.js +2 -4
  51. package/lib/FlexGrid/Col/Col.js +3 -5
  52. package/lib/FlexGrid/FlexGrid.js +2 -4
  53. package/lib/FlexGrid/Row/Row.js +2 -4
  54. package/lib/Footnote/Footnote.js +9 -9
  55. package/lib/Footnote/FootnoteLink.js +9 -3
  56. package/lib/HorizontalScroll/HorizontalScroll.js +8 -10
  57. package/lib/HorizontalScroll/HorizontalScrollButton.js +2 -4
  58. package/lib/HorizontalScroll/ScrollViewEnd.js +5 -10
  59. package/lib/HorizontalScroll/ScrollViewEnd.native.js +2 -4
  60. package/lib/Icon/Icon.js +2 -4
  61. package/lib/Icon/IconText.js +3 -3
  62. package/lib/IconButton/IconButton.js +2 -4
  63. package/lib/InputLabel/InputLabel.js +2 -4
  64. package/lib/InputLabel/LabelContent.js +2 -4
  65. package/lib/InputLabel/LabelContent.native.js +2 -4
  66. package/lib/InputSupports/InputSupports.js +4 -5
  67. package/lib/Link/ChevronLink.js +2 -4
  68. package/lib/Link/InlinePressable.js +8 -7
  69. package/lib/Link/InlinePressable.native.js +10 -8
  70. package/lib/Link/Link.js +2 -4
  71. package/lib/Link/LinkBase.js +2 -4
  72. package/lib/Link/TextButton.js +2 -4
  73. package/lib/List/List.js +13 -11
  74. package/lib/List/ListItem.js +2 -4
  75. package/lib/List/ListItemBase.js +6 -10
  76. package/lib/List/ListItemContent.js +4 -2
  77. package/lib/List/ListItemMark.js +4 -2
  78. package/lib/List/PressableListItemBase.js +2 -4
  79. package/lib/Listbox/GroupControl.js +4 -2
  80. package/lib/Listbox/Listbox.js +6 -6
  81. package/lib/Listbox/ListboxContext.js +3 -4
  82. package/lib/Listbox/ListboxGroup.js +2 -4
  83. package/lib/Listbox/ListboxItem.js +2 -6
  84. package/lib/Listbox/ListboxOverlay.js +2 -6
  85. package/lib/Listbox/PressableItem.js +2 -6
  86. package/lib/Modal/Modal.js +5 -7
  87. package/lib/Modal/ModalContent.js +7 -7
  88. package/lib/Modal/WebModal.js +16 -9
  89. package/lib/MultiSelectFilter/ModalOverlay.js +2 -4
  90. package/lib/MultiSelectFilter/MultiSelectFilter.js +10 -10
  91. package/lib/Notification/Notification.js +5 -7
  92. package/lib/OrderedList/Item.js +4 -10
  93. package/lib/OrderedList/ItemBase.js +2 -4
  94. package/lib/OrderedList/OrderedList.js +5 -13
  95. package/lib/OrderedList/OrderedListBase.js +2 -4
  96. package/lib/Pagination/PageButton.js +1 -1
  97. package/lib/Pagination/Pagination.js +1 -1
  98. package/lib/Pagination/SideButton.js +2 -4
  99. package/lib/PriceLockup/PriceLockup.js +5 -5
  100. package/lib/ProductCard/ProductCard.js +3 -2
  101. package/lib/ProductCardGroup/ProductCardGroup.js +5 -6
  102. package/lib/Progress/Progress.js +2 -4
  103. package/lib/Progress/ProgressBar.js +2 -4
  104. package/lib/Progress/ProgressBarBackground.js +2 -4
  105. package/lib/QuickLinks/QuickLinks.js +2 -4
  106. package/lib/QuickLinks/QuickLinksCard.js +4 -2
  107. package/lib/QuickLinks/QuickLinksItem.js +2 -4
  108. package/lib/QuickLinksFeature/QuickLinksFeature.js +9 -7
  109. package/lib/QuickLinksFeature/QuickLinksFeatureItem.js +10 -12
  110. package/lib/Radio/Radio.js +3 -3
  111. package/lib/Radio/RadioButton.js +61 -15
  112. package/lib/Radio/RadioGroup.js +2 -4
  113. package/lib/Radio/RadioInput.js +6 -18
  114. package/lib/RadioCard/RadioCard.js +3 -3
  115. package/lib/RadioCard/RadioCardGroup.js +3 -3
  116. package/lib/Responsive/Responsive.js +3 -2
  117. package/lib/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  118. package/lib/Search/Search.js +2 -4
  119. package/lib/Select/Group.js +4 -2
  120. package/lib/Select/Item.js +4 -2
  121. package/lib/Select/Picker.js +2 -4
  122. package/lib/Select/Picker.native.js +3 -5
  123. package/lib/Select/Select.js +4 -6
  124. package/lib/SideNav/Item.js +2 -4
  125. package/lib/SideNav/ItemContent.js +4 -2
  126. package/lib/SideNav/ItemsGroup.js +2 -4
  127. package/lib/SideNav/SideNav.js +2 -2
  128. package/lib/Skeleton/Skeleton.js +2 -4
  129. package/lib/SkipLink/SkipLink.js +2 -4
  130. package/lib/Spacer/Spacer.js +2 -4
  131. package/lib/StackView/StackView.js +2 -4
  132. package/lib/StackView/StackWrap.js +3 -5
  133. package/lib/StackView/StackWrapBox.js +2 -4
  134. package/lib/StackView/StackWrapGap.js +2 -4
  135. package/lib/StackView/getStackedContent.js +3 -3
  136. package/lib/StepTracker/Step.js +4 -2
  137. package/lib/StepTracker/StepTracker.js +2 -4
  138. package/lib/Tabs/Tabs.js +4 -4
  139. package/lib/Tabs/TabsItem.js +3 -5
  140. package/lib/Tags/Tags.js +2 -4
  141. package/lib/TextInput/TextArea.js +3 -5
  142. package/lib/TextInput/TextInput.js +2 -4
  143. package/lib/TextInput/TextInputBase.js +7 -9
  144. package/lib/ThemeProvider/ThemeProvider.js +5 -7
  145. package/lib/Timeline/Timeline.js +2 -4
  146. package/lib/ToggleSwitch/ToggleSwitch.js +2 -4
  147. package/lib/ToggleSwitch/ToggleSwitchGroup.js +2 -4
  148. package/lib/Tooltip/Tooltip.js +6 -8
  149. package/lib/Tooltip/Tooltip.native.js +12 -14
  150. package/lib/TooltipButton/TooltipButton.js +4 -2
  151. package/lib/Typography/Typography.js +2 -4
  152. package/lib/Validator/Validator.js +11 -13
  153. package/lib/ViewportProvider/ViewportProvider.js +2 -4
  154. package/lib/index.js +8 -0
  155. package/lib/utils/BaseView/BaseView.js +2 -4
  156. package/lib/utils/children.js +4 -6
  157. package/lib/utils/withLinkRouter.js +3 -5
  158. package/lib-module/A11yInfoProvider/index.js +8 -8
  159. package/lib-module/A11yText/index.js +2 -2
  160. package/lib-module/ActivityIndicator/Spinner.js +2 -2
  161. package/lib-module/ActivityIndicator/Spinner.native.js +2 -2
  162. package/lib-module/Autocomplete/Autocomplete.js +13 -14
  163. package/lib-module/Autocomplete/Loading.js +4 -2
  164. package/lib-module/Autocomplete/Suggestions.js +2 -2
  165. package/lib-module/Badge/Badge.js +2 -2
  166. package/lib-module/BaseProvider/HydrationContext.js +5 -5
  167. package/lib-module/Box/Box.js +5 -5
  168. package/lib-module/Button/Button.js +2 -2
  169. package/lib-module/Button/ButtonBase.js +2 -5
  170. package/lib-module/Button/ButtonDropdown.js +2 -2
  171. package/lib-module/Button/ButtonGroup.js +2 -2
  172. package/lib-module/Button/ButtonLink.js +2 -2
  173. package/lib-module/Card/Card.js +159 -14
  174. package/lib-module/Card/CardBase.js +2 -2
  175. package/lib-module/Card/PressableCardBase.js +4 -4
  176. package/lib-module/CardGroup/CardGroup.js +210 -0
  177. package/lib-module/CardGroup/dictionary.js +8 -0
  178. package/lib-module/CardGroup/index.js +2 -0
  179. package/lib-module/Carousel/Carousel.js +67 -55
  180. package/lib-module/Carousel/CarouselFirstFocus/CarouselFirstFocus.js +2 -2
  181. package/lib-module/Carousel/CarouselItem/CarouselItem.js +3 -2
  182. package/lib-module/Carousel/CarouselStepTracker/CarouselStepTracker.js +4 -2
  183. package/lib-module/Carousel/CarouselTabs/CarouselTabs.js +2 -2
  184. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanel.js +6 -6
  185. package/lib-module/Carousel/CarouselTabs/CarouselTabsPanelItem.js +3 -3
  186. package/lib-module/Carousel/CarouselThumbnail.js +4 -2
  187. package/lib-module/Carousel/CarouselThumbnailNavigation.js +2 -2
  188. package/lib-module/Checkbox/Checkbox.js +2 -2
  189. package/lib-module/Checkbox/CheckboxButton.js +3 -3
  190. package/lib-module/Checkbox/CheckboxGroup.js +2 -2
  191. package/lib-module/Checkbox/CheckboxInput.js +4 -12
  192. package/lib-module/CheckboxCard/CheckboxCard.js +2 -2
  193. package/lib-module/CheckboxCardGroup/CheckboxCardGroup.js +2 -2
  194. package/lib-module/ColourToggle/ColourBubble.js +5 -4
  195. package/lib-module/ColourToggle/ColourToggle.js +3 -3
  196. package/lib-module/Divider/Divider.js +2 -2
  197. package/lib-module/ExpandCollapse/Accordion.js +2 -2
  198. package/lib-module/ExpandCollapse/Control.js +2 -2
  199. package/lib-module/ExpandCollapse/ExpandCollapse.js +2 -2
  200. package/lib-module/ExpandCollapse/Panel.js +3 -3
  201. package/lib-module/Feedback/Feedback.js +2 -2
  202. package/lib-module/Fieldset/Fieldset.js +2 -2
  203. package/lib-module/Fieldset/FieldsetContainer.js +2 -2
  204. package/lib-module/Fieldset/FieldsetContainer.native.js +2 -2
  205. package/lib-module/Fieldset/Legend.js +2 -2
  206. package/lib-module/Fieldset/Legend.native.js +2 -2
  207. package/lib-module/FlexGrid/Col/Col.js +3 -3
  208. package/lib-module/FlexGrid/FlexGrid.js +2 -2
  209. package/lib-module/FlexGrid/Row/Row.js +2 -2
  210. package/lib-module/Footnote/Footnote.js +9 -7
  211. package/lib-module/Footnote/FootnoteLink.js +9 -4
  212. package/lib-module/HorizontalScroll/HorizontalScroll.js +8 -8
  213. package/lib-module/HorizontalScroll/HorizontalScrollButton.js +2 -2
  214. package/lib-module/HorizontalScroll/ScrollViewEnd.js +5 -8
  215. package/lib-module/HorizontalScroll/ScrollViewEnd.native.js +2 -2
  216. package/lib-module/Icon/Icon.js +2 -2
  217. package/lib-module/Icon/IconText.js +2 -2
  218. package/lib-module/IconButton/IconButton.js +2 -2
  219. package/lib-module/InputLabel/InputLabel.js +2 -2
  220. package/lib-module/InputLabel/LabelContent.js +2 -2
  221. package/lib-module/InputLabel/LabelContent.native.js +2 -2
  222. package/lib-module/InputSupports/InputSupports.js +4 -3
  223. package/lib-module/Link/ChevronLink.js +2 -2
  224. package/lib-module/Link/InlinePressable.js +10 -4
  225. package/lib-module/Link/InlinePressable.native.js +12 -6
  226. package/lib-module/Link/Link.js +2 -2
  227. package/lib-module/Link/LinkBase.js +2 -2
  228. package/lib-module/Link/TextButton.js +2 -2
  229. package/lib-module/List/List.js +13 -9
  230. package/lib-module/List/ListItem.js +2 -2
  231. package/lib-module/List/ListItemBase.js +6 -8
  232. package/lib-module/List/ListItemContent.js +4 -2
  233. package/lib-module/List/ListItemMark.js +4 -2
  234. package/lib-module/List/PressableListItemBase.js +2 -2
  235. package/lib-module/Listbox/GroupControl.js +4 -2
  236. package/lib-module/Listbox/Listbox.js +7 -7
  237. package/lib-module/Listbox/ListboxContext.js +2 -2
  238. package/lib-module/Listbox/ListboxGroup.js +2 -2
  239. package/lib-module/Listbox/ListboxItem.js +2 -3
  240. package/lib-module/Listbox/ListboxOverlay.js +2 -3
  241. package/lib-module/Listbox/PressableItem.js +2 -3
  242. package/lib-module/Modal/Modal.js +5 -5
  243. package/lib-module/Modal/ModalContent.js +7 -5
  244. package/lib-module/Modal/WebModal.js +16 -9
  245. package/lib-module/MultiSelectFilter/ModalOverlay.js +2 -2
  246. package/lib-module/MultiSelectFilter/MultiSelectFilter.js +10 -8
  247. package/lib-module/Notification/Notification.js +5 -5
  248. package/lib-module/OrderedList/Item.js +4 -8
  249. package/lib-module/OrderedList/ItemBase.js +2 -2
  250. package/lib-module/OrderedList/OrderedList.js +6 -12
  251. package/lib-module/OrderedList/OrderedListBase.js +2 -2
  252. package/lib-module/Pagination/PageButton.js +2 -2
  253. package/lib-module/Pagination/Pagination.js +2 -2
  254. package/lib-module/Pagination/SideButton.js +2 -2
  255. package/lib-module/PriceLockup/PriceLockup.js +5 -5
  256. package/lib-module/ProductCard/ProductCard.js +3 -2
  257. package/lib-module/ProductCardGroup/ProductCardGroup.js +5 -4
  258. package/lib-module/Progress/Progress.js +2 -2
  259. package/lib-module/Progress/ProgressBar.js +2 -2
  260. package/lib-module/Progress/ProgressBarBackground.js +2 -2
  261. package/lib-module/QuickLinks/QuickLinks.js +2 -2
  262. package/lib-module/QuickLinks/QuickLinksCard.js +4 -2
  263. package/lib-module/QuickLinks/QuickLinksItem.js +2 -2
  264. package/lib-module/QuickLinksFeature/QuickLinksFeature.js +9 -5
  265. package/lib-module/QuickLinksFeature/QuickLinksFeatureItem.js +10 -10
  266. package/lib-module/Radio/Radio.js +2 -2
  267. package/lib-module/Radio/RadioButton.js +62 -14
  268. package/lib-module/Radio/RadioGroup.js +2 -2
  269. package/lib-module/Radio/RadioInput.js +6 -16
  270. package/lib-module/RadioCard/RadioCard.js +2 -2
  271. package/lib-module/RadioCard/RadioCardGroup.js +2 -2
  272. package/lib-module/Responsive/Responsive.js +3 -2
  273. package/lib-module/Responsive/ResponsiveWithMediaQueryStyleSheet.js +3 -2
  274. package/lib-module/Search/Search.js +2 -2
  275. package/lib-module/Select/Group.js +4 -2
  276. package/lib-module/Select/Item.js +4 -2
  277. package/lib-module/Select/Picker.js +2 -2
  278. package/lib-module/Select/Picker.native.js +3 -3
  279. package/lib-module/Select/Select.js +4 -4
  280. package/lib-module/SideNav/Item.js +2 -2
  281. package/lib-module/SideNav/ItemContent.js +4 -2
  282. package/lib-module/SideNav/ItemsGroup.js +2 -2
  283. package/lib-module/SideNav/SideNav.js +3 -3
  284. package/lib-module/Skeleton/Skeleton.js +2 -2
  285. package/lib-module/SkipLink/SkipLink.js +2 -2
  286. package/lib-module/Spacer/Spacer.js +2 -2
  287. package/lib-module/StackView/StackView.js +2 -2
  288. package/lib-module/StackView/StackWrap.js +3 -3
  289. package/lib-module/StackView/StackWrapBox.js +2 -2
  290. package/lib-module/StackView/StackWrapGap.js +2 -2
  291. package/lib-module/StackView/getStackedContent.js +4 -4
  292. package/lib-module/StepTracker/Step.js +4 -2
  293. package/lib-module/StepTracker/StepTracker.js +2 -2
  294. package/lib-module/Tabs/Tabs.js +3 -3
  295. package/lib-module/Tabs/TabsItem.js +3 -3
  296. package/lib-module/Tags/Tags.js +2 -2
  297. package/lib-module/TextInput/TextArea.js +3 -3
  298. package/lib-module/TextInput/TextInput.js +2 -2
  299. package/lib-module/TextInput/TextInputBase.js +7 -7
  300. package/lib-module/ThemeProvider/ThemeProvider.js +5 -5
  301. package/lib-module/Timeline/Timeline.js +2 -2
  302. package/lib-module/ToggleSwitch/ToggleSwitch.js +2 -2
  303. package/lib-module/ToggleSwitch/ToggleSwitchGroup.js +2 -2
  304. package/lib-module/Tooltip/Tooltip.js +6 -6
  305. package/lib-module/Tooltip/Tooltip.native.js +12 -12
  306. package/lib-module/TooltipButton/TooltipButton.js +4 -2
  307. package/lib-module/Typography/Typography.js +2 -2
  308. package/lib-module/Validator/Validator.js +11 -11
  309. package/lib-module/ViewportProvider/ViewportProvider.js +2 -2
  310. package/lib-module/index.js +1 -0
  311. package/lib-module/utils/BaseView/BaseView.js +2 -2
  312. package/lib-module/utils/children.js +4 -4
  313. package/lib-module/utils/withLinkRouter.js +3 -3
  314. package/package.json +2 -2
  315. package/src/A11yInfoProvider/index.jsx +8 -8
  316. package/src/A11yText/index.jsx +2 -2
  317. package/src/ActivityIndicator/Spinner.jsx +2 -2
  318. package/src/ActivityIndicator/Spinner.native.jsx +2 -2
  319. package/src/Autocomplete/Autocomplete.jsx +15 -14
  320. package/src/Autocomplete/Loading.jsx +6 -3
  321. package/src/Autocomplete/Suggestions.jsx +2 -2
  322. package/src/Badge/Badge.jsx +2 -2
  323. package/src/BaseProvider/HydrationContext.jsx +5 -5
  324. package/src/Box/Box.jsx +5 -5
  325. package/src/Button/Button.jsx +11 -9
  326. package/src/Button/ButtonBase.jsx +2 -3
  327. package/src/Button/ButtonDropdown.jsx +2 -2
  328. package/src/Button/ButtonGroup.jsx +2 -2
  329. package/src/Button/ButtonLink.jsx +2 -2
  330. package/src/Card/Card.jsx +151 -11
  331. package/src/Card/CardBase.jsx +2 -2
  332. package/src/Card/PressableCardBase.jsx +18 -4
  333. package/src/CardGroup/CardGroup.jsx +249 -0
  334. package/src/CardGroup/dictionary.js +8 -0
  335. package/src/CardGroup/index.js +3 -0
  336. package/src/Carousel/Carousel.jsx +69 -53
  337. package/src/Carousel/CarouselFirstFocus/CarouselFirstFocus.jsx +2 -2
  338. package/src/Carousel/CarouselItem/CarouselItem.jsx +19 -17
  339. package/src/Carousel/CarouselStepTracker/CarouselStepTracker.jsx +5 -3
  340. package/src/Carousel/CarouselTabs/CarouselTabs.jsx +2 -2
  341. package/src/Carousel/CarouselTabs/CarouselTabsPanel.jsx +6 -6
  342. package/src/Carousel/CarouselTabs/CarouselTabsPanelItem.jsx +3 -3
  343. package/src/Carousel/CarouselThumbnail.jsx +6 -2
  344. package/src/Carousel/CarouselThumbnailNavigation.jsx +2 -2
  345. package/src/Checkbox/Checkbox.jsx +2 -2
  346. package/src/Checkbox/CheckboxButton.jsx +5 -7
  347. package/src/Checkbox/CheckboxGroup.jsx +2 -2
  348. package/src/Checkbox/CheckboxInput.jsx +15 -12
  349. package/src/CheckboxCard/CheckboxCard.jsx +2 -2
  350. package/src/CheckboxCardGroup/CheckboxCardGroup.jsx +2 -2
  351. package/src/ColourToggle/ColourBubble.jsx +5 -4
  352. package/src/ColourToggle/ColourToggle.jsx +3 -3
  353. package/src/Divider/Divider.jsx +2 -2
  354. package/src/ExpandCollapse/Accordion.jsx +4 -2
  355. package/src/ExpandCollapse/Control.jsx +2 -2
  356. package/src/ExpandCollapse/ExpandCollapse.jsx +2 -2
  357. package/src/ExpandCollapse/Panel.jsx +3 -3
  358. package/src/Feedback/Feedback.jsx +2 -2
  359. package/src/Fieldset/Fieldset.jsx +2 -2
  360. package/src/Fieldset/FieldsetContainer.jsx +2 -2
  361. package/src/Fieldset/FieldsetContainer.native.jsx +2 -2
  362. package/src/Fieldset/Legend.jsx +2 -2
  363. package/src/Fieldset/Legend.native.jsx +2 -2
  364. package/src/FlexGrid/Col/Col.jsx +3 -3
  365. package/src/FlexGrid/FlexGrid.jsx +2 -2
  366. package/src/FlexGrid/Row/Row.jsx +2 -2
  367. package/src/Footnote/Footnote.jsx +111 -98
  368. package/src/Footnote/FootnoteLink.jsx +38 -31
  369. package/src/HorizontalScroll/HorizontalScroll.jsx +8 -8
  370. package/src/HorizontalScroll/HorizontalScrollButton.jsx +2 -2
  371. package/src/HorizontalScroll/ScrollViewEnd.jsx +4 -8
  372. package/src/HorizontalScroll/ScrollViewEnd.native.jsx +2 -2
  373. package/src/Icon/Icon.jsx +2 -2
  374. package/src/Icon/IconText.jsx +2 -2
  375. package/src/IconButton/IconButton.jsx +2 -2
  376. package/src/InputLabel/InputLabel.jsx +2 -2
  377. package/src/InputLabel/LabelContent.jsx +2 -2
  378. package/src/InputLabel/LabelContent.native.jsx +2 -2
  379. package/src/InputSupports/InputSupports.jsx +4 -3
  380. package/src/Link/ChevronLink.jsx +2 -2
  381. package/src/Link/InlinePressable.jsx +22 -15
  382. package/src/Link/InlinePressable.native.jsx +12 -6
  383. package/src/Link/Link.jsx +2 -2
  384. package/src/Link/LinkBase.jsx +2 -2
  385. package/src/Link/TextButton.jsx +2 -2
  386. package/src/List/List.jsx +15 -7
  387. package/src/List/ListItem.jsx +2 -2
  388. package/src/List/ListItemBase.jsx +6 -12
  389. package/src/List/ListItemContent.jsx +5 -2
  390. package/src/List/ListItemMark.jsx +5 -3
  391. package/src/List/PressableListItemBase.jsx +2 -2
  392. package/src/Listbox/GroupControl.jsx +5 -2
  393. package/src/Listbox/Listbox.jsx +7 -7
  394. package/src/Listbox/ListboxContext.js +2 -2
  395. package/src/Listbox/ListboxGroup.jsx +2 -2
  396. package/src/Listbox/ListboxItem.jsx +2 -3
  397. package/src/Listbox/ListboxOverlay.jsx +2 -3
  398. package/src/Listbox/PressableItem.jsx +2 -3
  399. package/src/Modal/Modal.jsx +5 -5
  400. package/src/Modal/ModalContent.jsx +132 -125
  401. package/src/Modal/WebModal.jsx +13 -8
  402. package/src/MultiSelectFilter/ModalOverlay.jsx +2 -2
  403. package/src/MultiSelectFilter/MultiSelectFilter.jsx +263 -252
  404. package/src/Notification/Notification.jsx +5 -5
  405. package/src/OrderedList/Item.jsx +4 -6
  406. package/src/OrderedList/ItemBase.jsx +2 -2
  407. package/src/OrderedList/OrderedList.jsx +4 -7
  408. package/src/OrderedList/OrderedListBase.jsx +2 -2
  409. package/src/Pagination/PageButton.jsx +2 -2
  410. package/src/Pagination/Pagination.jsx +2 -2
  411. package/src/Pagination/SideButton.jsx +2 -2
  412. package/src/PriceLockup/PriceLockup.jsx +93 -88
  413. package/src/ProductCard/ProductCard.jsx +90 -84
  414. package/src/ProductCardGroup/ProductCardGroup.jsx +5 -5
  415. package/src/Progress/Progress.jsx +2 -2
  416. package/src/Progress/ProgressBar.jsx +2 -2
  417. package/src/Progress/ProgressBarBackground.jsx +4 -2
  418. package/src/QuickLinks/QuickLinks.jsx +2 -2
  419. package/src/QuickLinks/QuickLinksCard.jsx +9 -3
  420. package/src/QuickLinks/QuickLinksItem.jsx +2 -2
  421. package/src/QuickLinksFeature/QuickLinksFeature.jsx +31 -27
  422. package/src/QuickLinksFeature/QuickLinksFeatureItem.jsx +3 -3
  423. package/src/Radio/Radio.jsx +2 -2
  424. package/src/Radio/RadioButton.jsx +58 -6
  425. package/src/Radio/RadioGroup.jsx +2 -2
  426. package/src/Radio/RadioInput.jsx +15 -14
  427. package/src/RadioCard/RadioCard.jsx +2 -2
  428. package/src/RadioCard/RadioCardGroup.jsx +2 -2
  429. package/src/Responsive/Responsive.jsx +8 -3
  430. package/src/Responsive/ResponsiveWithMediaQueryStyleSheet.jsx +23 -16
  431. package/src/Search/Search.jsx +2 -2
  432. package/src/Select/Group.jsx +9 -3
  433. package/src/Select/Item.jsx +7 -1
  434. package/src/Select/Picker.jsx +2 -2
  435. package/src/Select/Picker.native.jsx +3 -3
  436. package/src/Select/Select.jsx +4 -4
  437. package/src/SideNav/Item.jsx +2 -2
  438. package/src/SideNav/ItemContent.jsx +7 -3
  439. package/src/SideNav/ItemsGroup.jsx +2 -2
  440. package/src/SideNav/SideNav.jsx +3 -3
  441. package/src/Skeleton/Skeleton.jsx +2 -2
  442. package/src/SkipLink/SkipLink.jsx +2 -2
  443. package/src/Spacer/Spacer.jsx +2 -2
  444. package/src/StackView/StackView.jsx +2 -2
  445. package/src/StackView/StackWrap.jsx +3 -3
  446. package/src/StackView/StackWrapBox.jsx +2 -2
  447. package/src/StackView/StackWrapGap.jsx +2 -2
  448. package/src/StackView/getStackedContent.jsx +4 -4
  449. package/src/StepTracker/Step.jsx +75 -67
  450. package/src/StepTracker/StepTracker.jsx +2 -2
  451. package/src/Tabs/Tabs.jsx +3 -3
  452. package/src/Tabs/TabsItem.jsx +3 -3
  453. package/src/Tags/Tags.jsx +2 -2
  454. package/src/TextInput/TextArea.jsx +3 -3
  455. package/src/TextInput/TextInput.jsx +2 -2
  456. package/src/TextInput/TextInputBase.jsx +7 -7
  457. package/src/ThemeProvider/ThemeProvider.jsx +5 -5
  458. package/src/Timeline/Timeline.jsx +2 -2
  459. package/src/ToggleSwitch/ToggleSwitch.jsx +2 -2
  460. package/src/ToggleSwitch/ToggleSwitchGroup.jsx +2 -2
  461. package/src/Tooltip/Tooltip.jsx +6 -6
  462. package/src/Tooltip/Tooltip.native.jsx +12 -12
  463. package/src/TooltipButton/TooltipButton.jsx +5 -2
  464. package/src/Typography/Typography.jsx +2 -2
  465. package/src/Validator/Validator.jsx +11 -11
  466. package/src/ViewportProvider/ViewportProvider.jsx +2 -2
  467. package/src/index.js +1 -0
  468. package/src/utils/BaseView/BaseView.jsx +2 -2
  469. package/src/utils/children.jsx +4 -4
  470. package/src/utils/withLinkRouter.jsx +3 -3
  471. package/types/ExpandCollapse.d.ts +1 -1
package/lib/Card/Card.js CHANGED
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
10
10
  var _ThemeProvider = require("../ThemeProvider");
@@ -13,11 +13,51 @@ var _ViewportProvider = require("../ViewportProvider");
13
13
  var _props = require("../utils/props");
14
14
  var _CardBase = _interopRequireDefault(require("./CardBase"));
15
15
  var _PressableCardBase = _interopRequireDefault(require("./PressableCardBase"));
16
+ var _CheckboxButton = _interopRequireDefault(require("../Checkbox/CheckboxButton"));
17
+ var _RadioButton = _interopRequireDefault(require("../Radio/RadioButton"));
16
18
  var _jsxRuntime = require("react/jsx-runtime");
17
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- 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); }
19
- 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; }
20
20
  const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
21
+ const SelectionType = {
22
+ Checkbox: 'checkbox',
23
+ Radio: 'radiogroup',
24
+ None: undefined
25
+ };
26
+ const selectInputStyle = _ref => {
27
+ let {
28
+ paddingTop,
29
+ paddingRight
30
+ } = _ref;
31
+ return {
32
+ position: 'absolute',
33
+ top: paddingTop,
34
+ right: paddingRight
35
+ };
36
+ };
37
+ const getInputProps = _ref2 => {
38
+ let {
39
+ id,
40
+ checkColor,
41
+ boxBackgroundColor,
42
+ checkBackgroundColor,
43
+ isControlled,
44
+ isChecked,
45
+ isInactive,
46
+ handleChange
47
+ } = _ref2;
48
+ return {
49
+ inputId: id,
50
+ tokens: {
51
+ iconColor: checkColor,
52
+ inputBackgroundColor: boxBackgroundColor,
53
+ iconBackgroundColor: checkBackgroundColor
54
+ },
55
+ isControlled,
56
+ isChecked,
57
+ inactive: isInactive,
58
+ handleChange
59
+ };
60
+ };
21
61
 
22
62
  /**
23
63
  * A basic card component, unstyled by default.
@@ -67,16 +107,18 @@ const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_p
67
107
  * you automatically make inaccessible its children, which may or may not be appropriate
68
108
  * depending on what you are trying to achieve.
69
109
  */
70
- const Card = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
110
+ const Card = /*#__PURE__*/_react.default.forwardRef((_ref3, ref) => {
111
+ var _interactiveCard$vari, _interactiveCard$vari2;
71
112
  let {
72
113
  children,
73
114
  tokens,
74
115
  variant,
75
116
  dataSet,
76
117
  onPress,
118
+ id,
77
119
  interactiveCard,
78
120
  ...rest
79
- } = _ref;
121
+ } = _ref3;
80
122
  const viewport = (0, _ViewportProvider.useViewport)();
81
123
  const {
82
124
  themeOptions
@@ -88,6 +130,9 @@ const Card = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
88
130
  const themeTokens = useTokens('Card', tokens, variant, !enableMediaQueryStyleSheet && {
89
131
  viewport
90
132
  });
133
+ const selected = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari = interactiveCard.variant) === null || _interactiveCard$vari === void 0 ? void 0 : _interactiveCard$vari.selected;
134
+ const inactive = interactiveCard === null || interactiveCard === void 0 ? void 0 : (_interactiveCard$vari2 = interactiveCard.variant) === null || _interactiveCard$vari2 === void 0 ? void 0 : _interactiveCard$vari2.inactive;
135
+ const selectionType = interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.selectionType;
91
136
  const getThemeTokens = (0, _ThemeProvider.useThemeTokensCallback)('Card', interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens, {
92
137
  interactive: true,
93
138
  ...((interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.variant) || {})
@@ -100,7 +145,45 @@ const Card = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
100
145
  paddingLeft,
101
146
  paddingRight,
102
147
  ...restOfTokens
103
- } = themeTokens;
148
+ } = selectionType ? getThemeTokens() : themeTokens;
149
+ const {
150
+ inputBackgroundColor,
151
+ iconBackgroundColor,
152
+ iconColor,
153
+ icon,
154
+ inputBorderRadius,
155
+ inputHeight,
156
+ inputWidth,
157
+ iconSize,
158
+ inputShadow,
159
+ inputBorderWidth,
160
+ inputBorderColor
161
+ } = getThemeTokens();
162
+ const checkboxTokens = {
163
+ inputBackgroundColor,
164
+ iconBackgroundColor,
165
+ icon,
166
+ iconColor,
167
+ inputBorderRadius,
168
+ inputHeight,
169
+ inputWidth,
170
+ iconSize,
171
+ inputShadow,
172
+ inputBorderWidth,
173
+ inputBorderColor
174
+ };
175
+ const radioTokens = {
176
+ iconBackgroundColor,
177
+ iconColor,
178
+ containerShadow: inputShadow,
179
+ icon,
180
+ inputBackgroundColor,
181
+ inputBorderRadius,
182
+ inputSize: inputHeight,
183
+ checkedSize: iconSize,
184
+ inputBorderWidth,
185
+ inputBorderColor
186
+ };
104
187
  let cardStyles;
105
188
  let mediaIds;
106
189
  if (enableMediaQueryStyleSheet) {
@@ -116,6 +199,43 @@ const Card = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
116
199
  } else {
117
200
  cardStyles = themeTokens;
118
201
  }
202
+ const renderInputPerSelectionType = props => {
203
+ switch (selectionType) {
204
+ case SelectionType.Checkbox:
205
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
206
+ style: selectInputStyle(getThemeTokens()),
207
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CheckboxButton.default, {
208
+ ...props,
209
+ tokens: {
210
+ ...checkboxTokens,
211
+ ...(props === null || props === void 0 ? void 0 : props.tokens)
212
+ }
213
+ })
214
+ });
215
+ case SelectionType.Radio:
216
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
217
+ style: selectInputStyle(getThemeTokens()),
218
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioButton.default, {
219
+ ...props,
220
+ tokens: {
221
+ ...radioTokens,
222
+ ...(props === null || props === void 0 ? void 0 : props.tokens)
223
+ }
224
+ })
225
+ });
226
+ default:
227
+ return null;
228
+ }
229
+ };
230
+ const renderNoSelectionView = () => /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
231
+ style: {
232
+ paddingTop,
233
+ paddingBottom,
234
+ paddingLeft,
235
+ paddingRight
236
+ },
237
+ children: children
238
+ });
119
239
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
120
240
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBase.default, {
121
241
  ref: ref,
@@ -131,16 +251,31 @@ const Card = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
131
251
  dataSet: dataSet,
132
252
  onPress: onPress,
133
253
  ...selectProps(rest),
134
- children: interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.body
135
- }), children ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
136
- style: {
137
- paddingTop,
138
- paddingBottom,
139
- paddingLeft,
140
- paddingRight
141
- },
142
- children: children
143
- }) : null]
254
+ children: cardState => {
255
+ const {
256
+ iconColor: checkColor,
257
+ inputBackgroundColor: boxBackgroundColor,
258
+ iconBackgroundColor: checkBackgroundColor
259
+ } = getThemeTokens({
260
+ ...cardState,
261
+ selected,
262
+ interactive: true,
263
+ isControl: true
264
+ }, interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens);
265
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
266
+ children: [renderInputPerSelectionType(getInputProps({
267
+ id,
268
+ checkColor,
269
+ boxBackgroundColor,
270
+ checkBackgroundColor,
271
+ isControlled: true,
272
+ isChecked: selected || (cardState === null || cardState === void 0 ? void 0 : cardState.hover),
273
+ isInactive: inactive,
274
+ onPress
275
+ })), interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.body]
276
+ });
277
+ }
278
+ }), children && selectionType !== SelectionType.None ? renderNoSelectionView() : null]
144
279
  }) : children
145
280
  })
146
281
  });
@@ -165,15 +300,23 @@ Card.propTypes = {
165
300
  * Note: This is only available when `interactiveCard` prop is used.
166
301
  */
167
302
  onPress: _propTypes.default.func,
303
+ /**
304
+ * Card ID.
305
+ */
306
+ id: _propTypes.default.string,
168
307
  /**
169
308
  * Object to set interactive card's properties
170
309
  * - body: The body of the interactive card, can be any renderable node
171
310
  * - tokens: The tokens to be used for the interactive card
311
+ * - selectionType: If the card has `isControl` variant set to `true`, the selectionType can have one of the following options:
312
+ - `radiogroup`
313
+ - `checkbox`
172
314
  * - variant: The variant to be used for the interactive card
173
315
  */
174
316
  interactiveCard: _propTypes.default.shape({
175
317
  body: _propTypes.default.node,
176
318
  tokens: (0, _utils.getTokensPropType)('Card'),
319
+ selectionType: _propTypes.default.oneOf(Object.values(SelectionType)),
177
320
  variant: _utils.variantProp.propType
178
321
  })
179
322
  };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _View = _interopRequireDefault(require("react-native-web/dist/cjs/exports/View"));
10
10
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
@@ -13,8 +13,6 @@ var _utils = require("../utils");
13
13
  var _props = require("../utils/props");
14
14
  var _jsxRuntime = require("react/jsx-runtime");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- 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); }
17
- 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; }
18
16
  const [selectProps, selectedSystemPropTypes] = (0, _props.selectSystemProps)([_props.a11yProps, _props.viewProps]);
19
17
 
20
18
  // Ensure explicit selection of tokens
@@ -58,7 +56,7 @@ const selectStyles = _ref => {
58
56
  * A themeless base component for Card which components can apply theme tokens to. Not
59
57
  * intended to be used in apps or sites directly: build themed components on top of this.
60
58
  */
61
- const CardBase = /*#__PURE__*/(0, _react.forwardRef)((_ref2, ref) => {
59
+ const CardBase = /*#__PURE__*/_react.default.forwardRef((_ref2, ref) => {
62
60
  let {
63
61
  children,
64
62
  tokens,
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.selectPressableCardTokens = exports.default = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
7
+ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _Pressable = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Pressable"));
10
10
  var _Platform = _interopRequireDefault(require("react-native-web/dist/cjs/exports/Platform"));
@@ -14,10 +14,8 @@ var _utils = require("../utils");
14
14
  var _CardBase = _interopRequireDefault(require("./CardBase"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- 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); }
18
- 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; }
19
17
  const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
20
- const tokenKeys = [...(0, _utils.getTokenNames)('Card'),
18
+ const tokenKeys = ['flex', 'backgroundColor', 'borderColor', 'gradient', 'borderRadius', 'borderWidth', 'paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop', 'minWidth', 'shadow', 'contentAlignItems', 'contentJustifyContent', 'contentFlexGrow', 'contentFlexShrink',
21
19
  // Outer border tokens. TODO: centralise common token sets like these as part of
22
20
  // https://github.com/telus/universal-design-system/issues/782
23
21
  'outerBorderColor', 'outerBorderWidth', 'outerBorderGap'];
@@ -29,7 +27,7 @@ const selectPressableCardTokens = tokens => Object.fromEntries(tokenKeys.map(key
29
27
  * apps or sites directly: build themed components on top of this.
30
28
  */
31
29
  exports.selectPressableCardTokens = selectPressableCardTokens;
32
- const PressableCardBase = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
30
+ const PressableCardBase = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
33
31
  let {
34
32
  children,
35
33
  tokens,
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _utils = require("../utils");
10
+ var _dictionary = _interopRequireDefault(require("./dictionary"));
11
+ var _ViewportProvider = require("../ViewportProvider");
12
+ var _ThemeProvider = require("../ThemeProvider");
13
+ var _StackView = _interopRequireWildcard(require("../StackView"));
14
+ var _Card = _interopRequireDefault(require("../Card"));
15
+ var _Fieldset = _interopRequireDefault(require("../Fieldset"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ 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); }
18
+ 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; }
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+ const [selectProps, selectedSystemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.viewProps]);
21
+ const [selectItemProps, selectedItemPropTypes] = (0, _utils.selectSystemProps)([_utils.a11yProps, _utils.focusHandlerProps, _utils.viewProps]);
22
+ const uniqueFields = ['id'];
23
+ const CardGroup = /*#__PURE__*/_react.default.forwardRef((_ref, ref) => {
24
+ let {
25
+ copy = 'en',
26
+ tokens = {},
27
+ variant = {},
28
+ items = [],
29
+ validation,
30
+ feedback,
31
+ initialCheckedIds,
32
+ checkedIds,
33
+ onChange,
34
+ role = 'radiogroup',
35
+ isInactive,
36
+ name: inputGroupName,
37
+ dictionary = _dictionary.default,
38
+ ...rest
39
+ } = _ref;
40
+ const getCopy = (0, _utils.useCopy)({
41
+ dictionary,
42
+ copy
43
+ });
44
+ const viewport = (0, _ViewportProvider.useViewport)();
45
+ const cardGroupTokens = (0, _ThemeProvider.useThemeTokens)('CardGroup', tokens, variant, {
46
+ viewport
47
+ });
48
+ const {
49
+ space,
50
+ fieldSpace,
51
+ direction,
52
+ showIcon,
53
+ outlineWidth,
54
+ borderTopLeftRadius,
55
+ borderTopRightRadius,
56
+ borderBottomLeftRadius,
57
+ borderBottomRightRadius,
58
+ outlineOffset,
59
+ paddingTop,
60
+ paddingBottom,
61
+ paddingLeft,
62
+ paddingRight
63
+ } = cardGroupTokens;
64
+ const borderTokens = {
65
+ outlineWidth,
66
+ borderTopLeftRadius,
67
+ borderTopRightRadius,
68
+ borderBottomLeftRadius,
69
+ borderBottomRightRadius,
70
+ outlineOffset
71
+ };
72
+ const singleSelection = role === 'radiogroup';
73
+ const inputControl = {
74
+ value: checkedIds,
75
+ initialValue: initialCheckedIds,
76
+ onChange,
77
+ readOnly: isInactive
78
+ };
79
+ const singleInputValue = (0, _utils.useInputValue)(inputControl);
80
+ const multipleInputValues = (0, _utils.useMultipleInputValues)(inputControl);
81
+ const StackContainer = direction === 'row' ? _StackView.StackWrap : _StackView.default;
82
+ if (!(0, _utils.containUniqueFields)(items, uniqueFields)) {
83
+ throw new Error(`CardGroup items must have unique ${uniqueFields.join(', ')}`);
84
+ }
85
+ const handleChange = _react.default.useCallback((checked, event, cardId, itemOnChange) => {
86
+ if (checked && singleSelection) {
87
+ singleInputValue.setValue(cardId, event);
88
+ } else {
89
+ multipleInputValues.toggleOneValue(cardId, event);
90
+ }
91
+ return itemOnChange === null || itemOnChange === void 0 ? void 0 : itemOnChange(checked, event);
92
+ }, [singleInputValue, multipleInputValues, singleSelection]);
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Fieldset.default, {
94
+ copy: copy,
95
+ ref: ref,
96
+ name: inputGroupName,
97
+ space: fieldSpace,
98
+ feedback: feedback,
99
+ validation: validation,
100
+ tokens: borderTokens,
101
+ inactive: isInactive,
102
+ showErrorBorder: true,
103
+ showIcon: showIcon,
104
+ accessibilityRole: role,
105
+ ...selectProps(rest),
106
+ children: props => /*#__PURE__*/(0, _jsxRuntime.jsx)(StackContainer, {
107
+ space: space,
108
+ children: items.map((_ref2, index) => {
109
+ let {
110
+ id,
111
+ interactiveCard,
112
+ card,
113
+ onPress: itemOnChange,
114
+ ...itemRest
115
+ } = _ref2;
116
+ const cardId = id || `${getCopy('prefixId')}[${index}]`;
117
+ const itemHandleChange = (checked, event) => handleChange(checked, event, cardId, itemOnChange);
118
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.default, {
119
+ id: cardId,
120
+ onPress: itemHandleChange,
121
+ interactiveCard: {
122
+ ...interactiveCard,
123
+ tokens: {
124
+ paddingTop,
125
+ paddingBottom,
126
+ paddingLeft,
127
+ paddingRight,
128
+ ...(interactiveCard === null || interactiveCard === void 0 ? void 0 : interactiveCard.tokens)
129
+ },
130
+ variant: {
131
+ isControl: true,
132
+ selected: singleSelection ? singleInputValue.currentValue === cardId : multipleInputValues.currentValues.includes(cardId),
133
+ inactive: isInactive
134
+ },
135
+ selectionType: role
136
+ },
137
+ ...selectItemProps(itemRest),
138
+ ...props,
139
+ children: card === null || card === void 0 ? void 0 : card.body
140
+ }, cardId);
141
+ })
142
+ })
143
+ });
144
+ });
145
+ CardGroup.displayName = 'CardGroup';
146
+ const dictionaryContentShape = _propTypes.default.shape({
147
+ prefixId: _propTypes.default.string.isRequired
148
+ });
149
+ CardGroup.propTypes = {
150
+ ...selectedSystemPropTypes,
151
+ copy: _utils.copyPropTypes,
152
+ /**
153
+ * Override the default dictionary, by passing the complete dictionary object for `en` and `fr`
154
+ */
155
+ dictionary: _propTypes.default.shape({
156
+ en: dictionaryContentShape,
157
+ fr: dictionaryContentShape
158
+ }),
159
+ /**
160
+ * Optional theme token overrides for the outer RadioCardGroup component
161
+ */
162
+ tokens: (0, _utils.getTokensPropType)('CardGroup'),
163
+ /**
164
+ * Theme variants, shared between both RadioCardGroup and RadioCard
165
+ */
166
+ variant: _utils.variantProp.propType,
167
+ /**
168
+ * Array of objects containing specifics for each Card to be rendered in the group.
169
+ */
170
+ items: _propTypes.default.arrayOf(_propTypes.default.exact({
171
+ ...selectedItemPropTypes,
172
+ id: _propTypes.default.string,
173
+ interactiveCard: _propTypes.default.object,
174
+ card: _propTypes.default.object,
175
+ onPress: _propTypes.default.func
176
+ })),
177
+ /**
178
+ * Current validation status of the group, passed to the feedback element if there is one.
179
+ */
180
+ validation: _propTypes.default.oneOf(['error', 'success']),
181
+ /**
182
+ * If provided, a Feedback element is rendered containing this text.
183
+ */
184
+ feedback: _propTypes.default.string,
185
+ /**
186
+ * If provided, the card with this id is selected on first render.
187
+ * If the role is radiogroup, it's a string
188
+ * If the role is checkbox, it's a array of string.
189
+ * Can have 'null' as value
190
+ */
191
+ initialCheckedIds: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
192
+ /**
193
+ * If not undefined, the card with this id is selected (or none is selected if `null`), and the
194
+ * element's selection state will be controlled by its parent using the `onChange` function.
195
+ * If the role is radiogroup, it's a string
196
+ * If the role is checkbox, it's a array of string.
197
+ * Can have 'null' as value
198
+ */
199
+ checkedIds: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.arrayOf(_propTypes.default.string)]),
200
+ /**
201
+ * Function to call on change in selection state. Is required if the selection state is controlled
202
+ * by a parent using checkedId and the input is not readOnly.
203
+ */
204
+ onChange: _propTypes.default.func,
205
+ /**
206
+ * Renders the card group like a radio card group or a checkbox card group
207
+ */
208
+ role: _propTypes.default.oneOf(['radiogroup', 'checkbox']),
209
+ /**
210
+ * If true, the card cannot be interacted with, elements are set as `disabled` and if the
211
+ * theme supports `inactive` appearances rules, these are applied.
212
+ */
213
+ isInactive: _propTypes.default.bool,
214
+ /**
215
+ * On Web, this is passed to the `name` attribute of the fieldset and each input.
216
+ */
217
+ name: _propTypes.default.string
218
+ };
219
+ var _default = CardGroup;
220
+ exports.default = _default;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = {
8
+ en: {
9
+ prefixId: 'Card'
10
+ },
11
+ fr: {
12
+ prefixId: 'Carte'
13
+ }
14
+ };
15
+ exports.default = _default;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _CardGroup = _interopRequireDefault(require("./CardGroup"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ var _default = _CardGroup.default;
10
+ exports.default = _default;