@laerdal/life-react-components 6.0.0-dev.7.full → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (315) hide show
  1. package/README.md +1 -1
  2. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  3. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  4. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  5. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  6. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  7. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  8. package/dist/Button/DualFunctionButton.cjs +4 -4
  9. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  10. package/dist/Button/DualFunctionButton.d.ts +2 -2
  11. package/dist/Button/DualFunctionButton.js +4 -4
  12. package/dist/Button/DualFunctionButton.js.map +1 -1
  13. package/dist/Button/{Button.cjs → TextButton.cjs} +179 -92
  14. package/dist/Button/TextButton.cjs.map +1 -0
  15. package/dist/Button/TextButton.d.ts +70 -0
  16. package/dist/Button/{Button.js → TextButton.js} +178 -91
  17. package/dist/Button/TextButton.js.map +1 -0
  18. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  19. package/dist/Button/__tests__/Button.test.tsx +45 -0
  20. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  21. package/dist/Button/__tests__/TextButton.test.tsx +45 -0
  22. package/dist/Button/index.cjs +11 -11
  23. package/dist/Button/index.cjs.map +1 -1
  24. package/dist/Button/index.d.ts +2 -2
  25. package/dist/Button/index.js +2 -2
  26. package/dist/Button/index.js.map +1 -1
  27. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  28. package/dist/Card/VerticalCard/{Card.cjs → VerticalCard.cjs} +62 -26
  29. package/dist/Card/VerticalCard/VerticalCard.cjs.map +1 -0
  30. package/dist/Card/VerticalCard/VerticalCard.d.ts +25 -0
  31. package/dist/Card/VerticalCard/{Card.js → VerticalCard.js} +62 -26
  32. package/dist/Card/VerticalCard/VerticalCard.js.map +1 -0
  33. package/dist/Card/VerticalCard/{CardBottomSection.cjs → VerticalCardBottomSection.cjs} +45 -27
  34. package/dist/Card/VerticalCard/VerticalCardBottomSection.cjs.map +1 -0
  35. package/dist/Card/VerticalCard/VerticalCardBottomSection.d.ts +53 -0
  36. package/dist/Card/VerticalCard/{CardBottomSection.js → VerticalCardBottomSection.js} +45 -27
  37. package/dist/Card/VerticalCard/VerticalCardBottomSection.js.map +1 -0
  38. package/dist/Card/VerticalCard/{CardMiddleSection.cjs → VerticalCardMiddleSection.cjs} +46 -23
  39. package/dist/Card/VerticalCard/VerticalCardMiddleSection.cjs.map +1 -0
  40. package/dist/Card/VerticalCard/VerticalCardMiddleSection.d.ts +42 -0
  41. package/dist/Card/VerticalCard/{CardMiddleSection.js → VerticalCardMiddleSection.js} +45 -23
  42. package/dist/Card/VerticalCard/VerticalCardMiddleSection.js.map +1 -0
  43. package/dist/Card/VerticalCard/{CardTopSection.cjs → VerticalCardTopSection.cjs} +18 -16
  44. package/dist/Card/VerticalCard/VerticalCardTopSection.cjs.map +1 -0
  45. package/dist/Card/VerticalCard/{CardTopSection.d.ts → VerticalCardTopSection.d.ts} +8 -8
  46. package/dist/Card/VerticalCard/{CardTopSection.js → VerticalCardTopSection.js} +17 -15
  47. package/dist/Card/VerticalCard/VerticalCardTopSection.js.map +1 -0
  48. package/dist/Card/VerticalCard/__tests__/VerticalCard.test.tsx +124 -0
  49. package/dist/Card/VerticalCard/index.cjs +25 -25
  50. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  51. package/dist/Card/VerticalCard/index.d.ts +7 -7
  52. package/dist/Card/VerticalCard/index.js +7 -7
  53. package/dist/Card/VerticalCard/index.js.map +1 -1
  54. package/dist/Chips/ActionChip.cjs +6 -0
  55. package/dist/Chips/ActionChip.cjs.map +1 -1
  56. package/dist/Chips/ActionChip.js +6 -0
  57. package/dist/Chips/ActionChip.js.map +1 -1
  58. package/dist/Chips/ChipStyles.cjs +210 -31
  59. package/dist/Chips/ChipStyles.cjs.map +1 -1
  60. package/dist/Chips/ChipStyles.js +210 -31
  61. package/dist/Chips/ChipStyles.js.map +1 -1
  62. package/dist/Chips/ChoiceChips.cjs +1 -1
  63. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  64. package/dist/Chips/ChoiceChips.js +1 -1
  65. package/dist/Chips/ChoiceChips.js.map +1 -1
  66. package/dist/Chips/FilterChip.cjs +8 -1
  67. package/dist/Chips/FilterChip.cjs.map +1 -1
  68. package/dist/Chips/FilterChip.js +8 -1
  69. package/dist/Chips/FilterChip.js.map +1 -1
  70. package/dist/Chips/InputChip.cjs +14 -0
  71. package/dist/Chips/InputChip.cjs.map +1 -1
  72. package/dist/Chips/InputChip.js +14 -0
  73. package/dist/Chips/InputChip.js.map +1 -1
  74. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  75. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  76. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  77. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  78. package/dist/ChipsInput/ChipInputField.cjs +8 -2
  79. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  80. package/dist/ChipsInput/ChipInputField.js +8 -2
  81. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  82. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  83. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  84. package/dist/Dropdown/DropdownContent.cjs +2 -2
  85. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  86. package/dist/Dropdown/DropdownContent.js +2 -2
  87. package/dist/Dropdown/DropdownContent.js.map +1 -1
  88. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  89. package/dist/Footer/Components/FooterTop.cjs +3 -0
  90. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  91. package/dist/Footer/Components/FooterTop.js +3 -0
  92. package/dist/Footer/Components/FooterTop.js.map +1 -1
  93. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  94. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  95. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  96. package/dist/GlobalNavigationBar/Logo.js +2 -1
  97. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  98. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  99. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  100. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  101. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  102. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  103. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +5 -4
  104. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  105. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +6 -5
  106. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  107. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +1 -1
  108. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  109. package/dist/GlobalNavigationBar/desktop/UserMenu.js +2 -2
  110. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  111. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  112. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  113. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  114. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  115. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  116. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  118. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +1 -1
  119. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
  120. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
  121. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
  122. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  123. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  124. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  125. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  126. package/dist/GlobalNavigationBar/types.d.ts +2 -2
  127. package/dist/GlobalNavigationBar/types.js.map +1 -1
  128. package/dist/HyperLink/HyperLink.cjs +18 -2
  129. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  130. package/dist/HyperLink/HyperLink.d.ts +2 -0
  131. package/dist/HyperLink/HyperLink.js +18 -2
  132. package/dist/HyperLink/HyperLink.js.map +1 -1
  133. package/dist/HyperLink/styling.cjs +4 -0
  134. package/dist/HyperLink/styling.cjs.map +1 -1
  135. package/dist/HyperLink/styling.js +4 -0
  136. package/dist/HyperLink/styling.js.map +1 -1
  137. package/dist/InputFields/DatepickerField.cjs +21 -5
  138. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  139. package/dist/InputFields/DatepickerField.d.ts +1 -1
  140. package/dist/InputFields/DatepickerField.js +21 -5
  141. package/dist/InputFields/DatepickerField.js.map +1 -1
  142. package/dist/InputFields/NumberField.cjs +4 -0
  143. package/dist/InputFields/NumberField.cjs.map +1 -1
  144. package/dist/InputFields/NumberField.js +4 -0
  145. package/dist/InputFields/NumberField.js.map +1 -1
  146. package/dist/InputFields/RadioButton.cjs +2 -2
  147. package/dist/InputFields/RadioButton.cjs.map +1 -1
  148. package/dist/InputFields/RadioButton.d.ts +4 -4
  149. package/dist/InputFields/RadioButton.js +2 -2
  150. package/dist/InputFields/RadioButton.js.map +1 -1
  151. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  152. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  153. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  154. package/dist/InputFields/components/SearchBarInput.cjs +5 -0
  155. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  156. package/dist/InputFields/components/SearchBarInput.js +5 -0
  157. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  158. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  159. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  160. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  161. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  162. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  163. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  164. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  165. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  166. package/dist/Modals/ModalContainer.cjs +102 -83
  167. package/dist/Modals/ModalContainer.cjs.map +1 -1
  168. package/dist/Modals/ModalContainer.d.ts +20 -1
  169. package/dist/Modals/ModalContainer.js +103 -84
  170. package/dist/Modals/ModalContainer.js.map +1 -1
  171. package/dist/Modals/ModalContent.cjs +7 -3
  172. package/dist/Modals/ModalContent.cjs.map +1 -1
  173. package/dist/Modals/ModalContent.js +8 -4
  174. package/dist/Modals/ModalContent.js.map +1 -1
  175. package/dist/Modals/ModalDialog.cjs +2 -2
  176. package/dist/Modals/ModalDialog.cjs.map +1 -1
  177. package/dist/Modals/ModalDialog.js +3 -3
  178. package/dist/Modals/ModalDialog.js.map +1 -1
  179. package/dist/Modals/ModalStyles.cjs +12 -0
  180. package/dist/Modals/ModalStyles.cjs.map +1 -1
  181. package/dist/Modals/ModalStyles.js +12 -0
  182. package/dist/Modals/ModalStyles.js.map +1 -1
  183. package/dist/Modals/ModalTypes.cjs.map +1 -1
  184. package/dist/Modals/ModalTypes.d.ts +3 -3
  185. package/dist/Modals/ModalTypes.js.map +1 -1
  186. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  187. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  188. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  189. package/dist/NavItem/NavItem.cjs +7 -1
  190. package/dist/NavItem/NavItem.cjs.map +1 -1
  191. package/dist/NavItem/NavItem.js +7 -1
  192. package/dist/NavItem/NavItem.js.map +1 -1
  193. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  194. package/dist/Navigation/NavigationProvider.cjs.map +1 -1
  195. package/dist/Navigation/NavigationProvider.d.ts +3 -0
  196. package/dist/Navigation/NavigationProvider.js.map +1 -1
  197. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  198. package/dist/Paginator/Paginator.cjs +18 -14
  199. package/dist/Paginator/Paginator.cjs.map +1 -1
  200. package/dist/Paginator/Paginator.d.ts +1 -5
  201. package/dist/Paginator/Paginator.js +18 -14
  202. package/dist/Paginator/Paginator.js.map +1 -1
  203. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  204. package/dist/Popover/Popover.cjs +1 -1
  205. package/dist/Popover/Popover.cjs.map +1 -1
  206. package/dist/Popover/Popover.js +2 -2
  207. package/dist/Popover/Popover.js.map +1 -1
  208. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  209. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  210. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  211. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  212. package/dist/SideMenu/SideMenuFooter.cjs +1 -1
  213. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  214. package/dist/SideMenu/SideMenuFooter.js +2 -2
  215. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  216. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  217. package/dist/SideMenu/types.cjs.map +1 -1
  218. package/dist/SideMenu/types.d.ts +2 -2
  219. package/dist/SideMenu/types.js.map +1 -1
  220. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  221. package/dist/Table/TableBody.cjs +1 -1
  222. package/dist/Table/TableBody.cjs.map +1 -1
  223. package/dist/Table/TableBody.js +2 -2
  224. package/dist/Table/TableBody.js.map +1 -1
  225. package/dist/Table/TableStyles.cjs +4 -1
  226. package/dist/Table/TableStyles.cjs.map +1 -1
  227. package/dist/Table/TableStyles.js +4 -1
  228. package/dist/Table/TableStyles.js.map +1 -1
  229. package/dist/Table/TableTypes.cjs.map +1 -1
  230. package/dist/Table/TableTypes.d.ts +2 -2
  231. package/dist/Table/TableTypes.js.map +1 -1
  232. package/dist/Table/__tests__/Table.test.tsx +499 -0
  233. package/dist/Tabs/VerticalTabs.cjs +1 -0
  234. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  235. package/dist/Tabs/VerticalTabs.js +1 -0
  236. package/dist/Tabs/VerticalTabs.js.map +1 -1
  237. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  238. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  239. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  240. package/dist/Tag/Tag.cjs +48 -12
  241. package/dist/Tag/Tag.cjs.map +1 -1
  242. package/dist/Tag/Tag.js +48 -12
  243. package/dist/Tag/Tag.js.map +1 -1
  244. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  245. package/dist/Tile/TileCommonItems.cjs +1 -1
  246. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  247. package/dist/Tile/TileCommonItems.js +2 -2
  248. package/dist/Tile/TileCommonItems.js.map +1 -1
  249. package/dist/Tile/TileTypes.cjs.map +1 -1
  250. package/dist/Tile/TileTypes.d.ts +2 -2
  251. package/dist/Tile/TileTypes.js.map +1 -1
  252. package/dist/Toasters/Toast.cjs +1 -2
  253. package/dist/Toasters/Toast.cjs.map +1 -1
  254. package/dist/Toasters/Toast.js +2 -3
  255. package/dist/Toasters/Toast.js.map +1 -1
  256. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  257. package/dist/Toggles/TogglerStyles.cjs +171 -15
  258. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  259. package/dist/Toggles/TogglerStyles.js +171 -15
  260. package/dist/Toggles/TogglerStyles.js.map +1 -1
  261. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  262. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  263. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  264. package/dist/common/NavigationHelper.cjs +0 -28
  265. package/dist/common/NavigationHelper.cjs.map +1 -1
  266. package/dist/common/NavigationHelper.d.ts +0 -4
  267. package/dist/common/NavigationHelper.js +1 -22
  268. package/dist/common/NavigationHelper.js.map +1 -1
  269. package/dist/styles/colors.cjs +6 -0
  270. package/dist/styles/colors.cjs.map +1 -1
  271. package/dist/styles/colors.d.ts +6 -0
  272. package/dist/styles/colors.js +6 -0
  273. package/dist/styles/colors.js.map +1 -1
  274. package/dist/styles/design-tokens/dark/tokens.css +481 -0
  275. package/dist/styles/design-tokens/light/tokens.css +481 -0
  276. package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
  277. package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
  278. package/dist/styles/global.cjs +4 -4
  279. package/dist/styles/global.cjs.map +1 -1
  280. package/dist/styles/global.js +4 -4
  281. package/dist/styles/global.js.map +1 -1
  282. package/dist/styles/react-datepicker.css +766 -0
  283. package/dist/styles/typography.cjs +4 -1
  284. package/dist/styles/typography.cjs.map +1 -1
  285. package/dist/styles/typography.js +4 -1
  286. package/dist/styles/typography.js.map +1 -1
  287. package/dist/test-utils.cjs +7 -1
  288. package/dist/test-utils.cjs.map +1 -1
  289. package/dist/test-utils.js +7 -1
  290. package/dist/test-utils.js.map +1 -1
  291. package/package.json +11 -6
  292. package/dist/Button/Button.cjs.map +0 -1
  293. package/dist/Button/Button.d.ts +0 -70
  294. package/dist/Button/Button.js.map +0 -1
  295. package/dist/Card/VerticalCard/Card.cjs.map +0 -1
  296. package/dist/Card/VerticalCard/Card.d.ts +0 -24
  297. package/dist/Card/VerticalCard/Card.js.map +0 -1
  298. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +0 -1
  299. package/dist/Card/VerticalCard/CardBottomSection.d.ts +0 -49
  300. package/dist/Card/VerticalCard/CardBottomSection.js.map +0 -1
  301. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +0 -1
  302. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +0 -37
  303. package/dist/Card/VerticalCard/CardMiddleSection.js.map +0 -1
  304. package/dist/Card/VerticalCard/CardTopSection.cjs.map +0 -1
  305. package/dist/Card/VerticalCard/CardTopSection.js.map +0 -1
  306. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +0 -1
  307. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +0 -1
  308. package/dist/List/__tests__/ListRow.tests.d.ts +0 -1
  309. package/dist/Tabs/__tests__/TabLink.tests.d.ts +0 -1
  310. package/dist/Tabs/__tests__/Tablist.tests.d.ts +0 -2
  311. package/dist/common/Link.cjs +0 -45
  312. package/dist/common/Link.cjs.map +0 -1
  313. package/dist/common/Link.d.ts +0 -9
  314. package/dist/common/Link.js +0 -37
  315. package/dist/common/Link.js.map +0 -1
@@ -4,23 +4,23 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.default = exports.CardTopLevelContainerStyles = exports.CardContainerStyles = void 0;
7
+ exports.default = exports.VerticalCardTopLevelContainerStyles = exports.VerticalCardLink = exports.VerticalCardContainerStyles = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
  var React = _interopRequireWildcard(require("react"));
12
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
13
- var _CardTopSection = _interopRequireDefault(require("./CardTopSection"));
14
- var _CardMiddleSection = _interopRequireDefault(require("./CardMiddleSection"));
15
- var _CardBottomSection = _interopRequireDefault(require("./CardBottomSection"));
13
+ var _VerticalCardTopSection = _interopRequireDefault(require("./VerticalCardTopSection"));
14
+ var _VerticalCardMiddleSection = _interopRequireDefault(require("./VerticalCardMiddleSection"));
15
+ var _VerticalCardBottomSection = _interopRequireDefault(require("./VerticalCardBottomSection"));
16
16
  var _index = require("../../index");
17
17
  var _jsxRuntime = require("react/jsx-runtime");
18
- const _excluded = ["onCardClicked", "topSectionProps", "middleSectionProps", "bottomSectionProps", "disabled", "variant", "className", "maxWidth"];
18
+ const _excluded = ["onCardClicked", "topSectionProps", "middleSectionProps", "bottomSectionProps", "disabled", "variant", "className", "id", "maxWidth"];
19
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
20
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
- const CardTopLevelContainerStyles = exports.CardTopLevelContainerStyles = _styledComponents.default.div`
23
+ const VerticalCardTopLevelContainerStyles = exports.VerticalCardTopLevelContainerStyles = _styledComponents.default.div`
24
24
  background-color: ${props => _index.COLORS.generateToken({
25
25
  componentType: 'bg-surface',
26
26
  defaultVariant: 'default'
@@ -34,6 +34,7 @@ const CardTopLevelContainerStyles = exports.CardTopLevelContainerStyles = _style
34
34
  box-sizing: border-box;
35
35
  display: flex;
36
36
  flex-direction: column;
37
+ position: relative;
37
38
 
38
39
  .elevated & {
39
40
  box-shadow: ${_index.BOXSHADOWS.BOXSHADOW_L1};
@@ -46,16 +47,36 @@ const CardTopLevelContainerStyles = exports.CardTopLevelContainerStyles = _style
46
47
  }, props.theme)};
47
48
  }
48
49
  `;
49
- const CardContainerStyles = exports.CardContainerStyles = _styledComponents.default.div`
50
- &.interactive:focus {
50
+
51
+ // Full-card link that covers the entire card area
52
+ const VerticalCardLink = exports.VerticalCardLink = _styledComponents.default.a`
53
+ position: absolute;
54
+ top: 0;
55
+ left: 0;
56
+ right: 0;
57
+ bottom: 0;
58
+ z-index: 100;
59
+ text-decoration: none;
60
+ color: inherit;
61
+ pointer-events: auto;
62
+ cursor: pointer;
63
+
64
+ &:focus {
65
+ outline: none;
66
+ }
67
+
68
+ &:focus-visible {
51
69
  ${_index.focusStyles}
52
70
  }
53
-
71
+ `;
72
+ const VerticalCardContainerStyles = exports.VerticalCardContainerStyles = _styledComponents.default.div`
54
73
  &.interactive:not(.disabled) {
55
- cursor: pointer;
74
+ &:focus {
75
+ ${_index.focusStyles}
76
+ }
56
77
 
57
- &.outline:not(.action-within) {
58
- ${CardTopLevelContainerStyles} {
78
+ &:not(.action-within) {
79
+ ${VerticalCardTopLevelContainerStyles} {
59
80
  &:hover {
60
81
  background-color: ${props => _index.COLORS.generateToken({
61
82
  componentType: 'bg-surface',
@@ -73,7 +94,7 @@ const CardContainerStyles = exports.CardContainerStyles = _styledComponents.defa
73
94
  }
74
95
 
75
96
  &.elevated:not(.action-within) {
76
- ${CardTopLevelContainerStyles} {
97
+ ${VerticalCardTopLevelContainerStyles} {
77
98
  &:hover {
78
99
  box-shadow: ${_index.BOXSHADOWS.BOXSHADOW_L3};
79
100
  }
@@ -87,7 +108,7 @@ const CardContainerStyles = exports.CardContainerStyles = _styledComponents.defa
87
108
 
88
109
  &.disabled {
89
110
  cursor: not-allowed;
90
- ${CardTopLevelContainerStyles}{
111
+ ${VerticalCardTopLevelContainerStyles}{
91
112
  border: 1px solid ${props => _index.COLORS.generateToken({
92
113
  componentType: 'border',
93
114
  state: 'disabled'
@@ -95,7 +116,7 @@ const CardContainerStyles = exports.CardContainerStyles = _styledComponents.defa
95
116
  }
96
117
  }
97
118
  `;
98
- const Card = _ref => {
119
+ const VerticalCard = _ref => {
99
120
  let {
100
121
  onCardClicked,
101
122
  topSectionProps,
@@ -104,34 +125,49 @@ const Card = _ref => {
104
125
  disabled,
105
126
  variant = 'elevated',
106
127
  className,
128
+ id,
107
129
  maxWidth = 560
108
130
  } = _ref,
109
131
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
110
132
  const [actionsRefs, setActionsRefs] = React.useState([]);
111
133
  const checkBoxRef = React.useRef(null);
112
134
  const containerRef = React.useRef(null);
135
+ const autoId = React.useId();
113
136
  (0, _index.useActionWithin)(containerRef, [...actionsRefs, checkBoxRef]);
114
137
  const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;
115
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(CardContainerStyles, _objectSpread(_objectSpread({
138
+ const handleCardClick = e => {
139
+ e.preventDefault();
140
+ if (!disabled && onCardClicked) {
141
+ onCardClicked();
142
+ }
143
+ };
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(VerticalCardContainerStyles, _objectSpread(_objectSpread({
116
145
  ref: containerRef,
146
+ role: "group",
117
147
  className: cls,
148
+ "aria-labelledby": `${autoId}-title`,
118
149
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
119
- onMouseDown: _index.defaultOnMouseDownHandler,
120
- onKeyDown: a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
121
- onClick: e => !disabled && onCardClicked && onCardClicked(),
150
+ onKeyDown: e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
122
151
  "data-testid": 'card-wrapper'
123
152
  }, rest), {}, {
124
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardTopLevelContainerStyles, {
153
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(VerticalCardTopLevelContainerStyles, {
125
154
  style: {
126
155
  maxWidth: maxWidth
127
156
  },
128
- children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({
157
+ children: [onCardClicked && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(VerticalCardLink, {
158
+ href: '#',
159
+ "data-testid": 'card-link',
160
+ onClick: handleCardClick,
161
+ "aria-labelledby": `${autoId}-title`,
162
+ tabIndex: -1
163
+ }), topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_VerticalCardTopSection.default, _objectSpread(_objectSpread({
129
164
  ref: checkBoxRef
130
165
  }, topSectionProps), {}, {
131
166
  disabled: disabled
132
- })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
167
+ })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_VerticalCardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
168
+ componentId: autoId,
133
169
  disabled: disabled
134
- })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({
170
+ })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_VerticalCardBottomSection.default, _objectSpread(_objectSpread({
135
171
  ref: instance => {
136
172
  setActionsRefs(instance ?? []);
137
173
  }
@@ -141,11 +177,11 @@ const Card = _ref => {
141
177
  })
142
178
  }));
143
179
  };
144
- Card.propTypes = {
180
+ VerticalCard.propTypes = {
145
181
  onCardClicked: _propTypes.default.func,
146
182
  disabled: _propTypes.default.bool,
147
183
  maxWidth: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]),
148
184
  variant: _propTypes.default.oneOf(['outline', 'elevated'])
149
185
  };
150
- var _default = exports.default = Card;
151
- //# sourceMappingURL=Card.cjs.map
186
+ var _default = exports.default = VerticalCard;
187
+ //# sourceMappingURL=VerticalCard.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalCard.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_VerticalCardTopSection","_VerticalCardMiddleSection","_VerticalCardBottomSection","_index","_jsxRuntime","_excluded","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","VerticalCardTopLevelContainerStyles","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","BOXSHADOWS","BOXSHADOW_L1","VerticalCardLink","focusStyles","VerticalCardContainerStyles","state","BOXSHADOW_L3","BOXSHADOW_L2","VerticalCard","_ref","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","className","id","maxWidth","rest","_objectWithoutProperties2","actionsRefs","setActionsRefs","useState","checkBoxRef","useRef","containerRef","autoId","useId","useActionWithin","cls","handleCardClick","preventDefault","jsx","ref","role","tabIndex","onKeyDown","key","children","jsxs","style","href","onClick","componentId","instance","propTypes","_propTypes","func","bool","oneOfType","number","string","oneOf","_default"],"sources":["../../../src/Card/VerticalCard/VerticalCard.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport VerticalCardTopSection, {VerticalCardTopSectionProps} from './VerticalCardTopSection';\r\nimport VerticalCardMiddleSection, {VerticalCardMiddleSectionProps} from './VerticalCardMiddleSection';\r\nimport VerticalCardBottomSection, {VerticalCardBottomSectionProps} from './VerticalCardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const VerticalCardTopLevelContainerStyles = styled.div`\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, props.theme)};\r\n min-width: 240px;\r\n overflow: hidden;\r\n\r\n border-radius: 8px;\r\n\r\n background-clip: padding-box;\r\n box-sizing: border-box;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n\r\n .elevated & {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\r\n }\r\n\r\n .outline & {\r\n border: 1px solid ${props => COLORS.generateToken({componentType:'border', defaultVariant: 'subtle'}, props.theme)};\r\n }\r\n`;\r\n\r\n// Full-card link that covers the entire card area\r\nexport const VerticalCardLink = styled.a`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 100;\r\n text-decoration: none;\r\n color: inherit;\r\n pointer-events: auto;\r\n cursor: pointer;\r\n \r\n &:focus {\r\n outline: none;\r\n }\r\n \r\n &:focus-visible {\r\n ${focusStyles}\r\n }\r\n`;\r\n\r\nexport const VerticalCardContainerStyles = styled.div`\r\n &.interactive:not(.disabled) {\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.action-within) {\r\n ${VerticalCardTopLevelContainerStyles} {\r\n &:hover {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', state:'hover'}, props.theme)};\r\n }\r\n\r\n &:active, &.active-state {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', state:'active'}, props.theme)};\r\n }\r\n }\r\n }\r\n\r\n &.elevated:not(.action-within) {\r\n ${VerticalCardTopLevelContainerStyles} {\r\n &:hover {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L3};\r\n }\r\n\r\n &:active, &.active-state {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n ${VerticalCardTopLevelContainerStyles}{\r\n border: 1px solid ${props => COLORS.generateToken({componentType:'border', state:'disabled'}, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface VerticalCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /** Action to be executed when Card is clicked. */\r\n onCardClicked?: () => void;\r\n /** If disabled then users can not click on the card, also styles are greyed out.*/\r\n disabled?: boolean;\r\n /** Maximum width of the card. */\r\n maxWidth?: number | string;\r\n /** Properties of Card top section. */\r\n topSectionProps?: VerticalCardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: VerticalCardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: VerticalCardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst VerticalCard: React.FunctionComponent<VerticalCardProps> = ({\r\n onCardClicked,\r\n topSectionProps,\r\n middleSectionProps,\r\n bottomSectionProps,\r\n disabled,\r\n variant = 'elevated',\r\n className,\r\n id,\r\n maxWidth = 560,\r\n ...rest\r\n }: VerticalCardProps) => {\r\n\r\n\r\n const [actionsRefs, setActionsRefs] = React.useState<React.RefObject<HTMLElement | null>[]>([]);\r\n const checkBoxRef = React.useRef<HTMLDivElement>(null);\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const autoId = React.useId();\r\n\r\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\r\n\r\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;\r\n\r\n const handleCardClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n if (!disabled && onCardClicked) {\r\n onCardClicked();\r\n }\r\n };\r\n\r\n return (\r\n <VerticalCardContainerStyles ref={containerRef}\r\n role=\"group\"\r\n className={cls}\r\n aria-labelledby={`${autoId}-title`}\r\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\r\n onKeyDown={e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\r\n data-testid={'card-wrapper'}\r\n {...rest}>\r\n <VerticalCardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {/* Full-card link for accessibility */}\r\n {onCardClicked && !disabled && (\r\n <VerticalCardLink\r\n href={'#'}\r\n data-testid={'card-link'}\r\n onClick={handleCardClick}\r\n aria-labelledby={`${autoId}-title`}\r\n tabIndex={-1}\r\n />\r\n )}\r\n \r\n {\r\n topSectionProps &&\r\n <VerticalCardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <VerticalCardMiddleSection {...middleSectionProps} componentId={autoId} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <VerticalCardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </VerticalCardTopLevelContainerStyles>\r\n </VerticalCardContainerStyles>\r\n );\r\n};\r\n\r\nexport default VerticalCard;\r\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import { VerticalCardTopSectionProps } from './VerticalCardTopSection';
3
+ import { VerticalCardMiddleSectionProps } from './VerticalCardMiddleSection';
4
+ import { VerticalCardBottomSectionProps } from './VerticalCardBottomSection';
5
+ export declare const VerticalCardTopLevelContainerStyles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ export declare const VerticalCardLink: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, never>> & string;
7
+ export declare const VerticalCardContainerStyles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
8
+ export interface VerticalCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {
9
+ /** Action to be executed when Card is clicked. */
10
+ onCardClicked?: () => void;
11
+ /** If disabled then users can not click on the card, also styles are greyed out.*/
12
+ disabled?: boolean;
13
+ /** Maximum width of the card. */
14
+ maxWidth?: number | string;
15
+ /** Properties of Card top section. */
16
+ topSectionProps?: VerticalCardTopSectionProps;
17
+ /** Properties of Card middle section. */
18
+ middleSectionProps?: VerticalCardMiddleSectionProps;
19
+ /** Properties of Card bottom section. */
20
+ bottomSectionProps?: VerticalCardBottomSectionProps;
21
+ /** Card container style variant. */
22
+ variant?: 'outline' | 'elevated';
23
+ }
24
+ declare const VerticalCard: React.FunctionComponent<VerticalCardProps>;
25
+ export default VerticalCard;
@@ -1,17 +1,17 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
3
  import _pt from "prop-types";
4
- const _excluded = ["onCardClicked", "topSectionProps", "middleSectionProps", "bottomSectionProps", "disabled", "variant", "className", "maxWidth"];
4
+ const _excluded = ["onCardClicked", "topSectionProps", "middleSectionProps", "bottomSectionProps", "disabled", "variant", "className", "id", "maxWidth"];
5
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
7
7
  import * as React from 'react';
8
8
  import styled from 'styled-components';
9
- import CardTopSection from './CardTopSection';
10
- import CardMiddleSection from './CardMiddleSection';
11
- import CardBottomSection from './CardBottomSection';
12
- import { BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin } from '../../index';
9
+ import VerticalCardTopSection from './VerticalCardTopSection';
10
+ import VerticalCardMiddleSection from './VerticalCardMiddleSection';
11
+ import VerticalCardBottomSection from './VerticalCardBottomSection';
12
+ import { BOXSHADOWS, COLORS, focusStyles, useActionWithin } from '../../index';
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
- export const CardTopLevelContainerStyles = styled.div`
14
+ export const VerticalCardTopLevelContainerStyles = styled.div`
15
15
  background-color: ${props => COLORS.generateToken({
16
16
  componentType: 'bg-surface',
17
17
  defaultVariant: 'default'
@@ -25,6 +25,7 @@ export const CardTopLevelContainerStyles = styled.div`
25
25
  box-sizing: border-box;
26
26
  display: flex;
27
27
  flex-direction: column;
28
+ position: relative;
28
29
 
29
30
  .elevated & {
30
31
  box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};
@@ -37,16 +38,36 @@ export const CardTopLevelContainerStyles = styled.div`
37
38
  }, props.theme)};
38
39
  }
39
40
  `;
40
- export const CardContainerStyles = styled.div`
41
- &.interactive:focus {
41
+
42
+ // Full-card link that covers the entire card area
43
+ export const VerticalCardLink = styled.a`
44
+ position: absolute;
45
+ top: 0;
46
+ left: 0;
47
+ right: 0;
48
+ bottom: 0;
49
+ z-index: 100;
50
+ text-decoration: none;
51
+ color: inherit;
52
+ pointer-events: auto;
53
+ cursor: pointer;
54
+
55
+ &:focus {
56
+ outline: none;
57
+ }
58
+
59
+ &:focus-visible {
42
60
  ${focusStyles}
43
61
  }
44
-
62
+ `;
63
+ export const VerticalCardContainerStyles = styled.div`
45
64
  &.interactive:not(.disabled) {
46
- cursor: pointer;
65
+ &:focus {
66
+ ${focusStyles}
67
+ }
47
68
 
48
- &.outline:not(.action-within) {
49
- ${CardTopLevelContainerStyles} {
69
+ &:not(.action-within) {
70
+ ${VerticalCardTopLevelContainerStyles} {
50
71
  &:hover {
51
72
  background-color: ${props => COLORS.generateToken({
52
73
  componentType: 'bg-surface',
@@ -64,7 +85,7 @@ export const CardContainerStyles = styled.div`
64
85
  }
65
86
 
66
87
  &.elevated:not(.action-within) {
67
- ${CardTopLevelContainerStyles} {
88
+ ${VerticalCardTopLevelContainerStyles} {
68
89
  &:hover {
69
90
  box-shadow: ${BOXSHADOWS.BOXSHADOW_L3};
70
91
  }
@@ -78,7 +99,7 @@ export const CardContainerStyles = styled.div`
78
99
 
79
100
  &.disabled {
80
101
  cursor: not-allowed;
81
- ${CardTopLevelContainerStyles}{
102
+ ${VerticalCardTopLevelContainerStyles}{
82
103
  border: 1px solid ${props => COLORS.generateToken({
83
104
  componentType: 'border',
84
105
  state: 'disabled'
@@ -86,7 +107,7 @@ export const CardContainerStyles = styled.div`
86
107
  }
87
108
  }
88
109
  `;
89
- const Card = _ref => {
110
+ const VerticalCard = _ref => {
90
111
  let {
91
112
  onCardClicked,
92
113
  topSectionProps,
@@ -95,34 +116,49 @@ const Card = _ref => {
95
116
  disabled,
96
117
  variant = 'elevated',
97
118
  className,
119
+ id,
98
120
  maxWidth = 560
99
121
  } = _ref,
100
122
  rest = _objectWithoutProperties(_ref, _excluded);
101
123
  const [actionsRefs, setActionsRefs] = React.useState([]);
102
124
  const checkBoxRef = React.useRef(null);
103
125
  const containerRef = React.useRef(null);
126
+ const autoId = React.useId();
104
127
  useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);
105
128
  const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;
106
- return /*#__PURE__*/_jsx(CardContainerStyles, _objectSpread(_objectSpread({
129
+ const handleCardClick = e => {
130
+ e.preventDefault();
131
+ if (!disabled && onCardClicked) {
132
+ onCardClicked();
133
+ }
134
+ };
135
+ return /*#__PURE__*/_jsx(VerticalCardContainerStyles, _objectSpread(_objectSpread({
107
136
  ref: containerRef,
137
+ role: "group",
108
138
  className: cls,
139
+ "aria-labelledby": `${autoId}-title`,
109
140
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
110
- onMouseDown: defaultOnMouseDownHandler,
111
- onKeyDown: a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
112
- onClick: e => !disabled && onCardClicked && onCardClicked(),
141
+ onKeyDown: e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
113
142
  "data-testid": 'card-wrapper'
114
143
  }, rest), {}, {
115
- children: /*#__PURE__*/_jsxs(CardTopLevelContainerStyles, {
144
+ children: /*#__PURE__*/_jsxs(VerticalCardTopLevelContainerStyles, {
116
145
  style: {
117
146
  maxWidth: maxWidth
118
147
  },
119
- children: [topSectionProps && /*#__PURE__*/_jsx(CardTopSection, _objectSpread(_objectSpread({
148
+ children: [onCardClicked && !disabled && /*#__PURE__*/_jsx(VerticalCardLink, {
149
+ href: '#',
150
+ "data-testid": 'card-link',
151
+ onClick: handleCardClick,
152
+ "aria-labelledby": `${autoId}-title`,
153
+ tabIndex: -1
154
+ }), topSectionProps && /*#__PURE__*/_jsx(VerticalCardTopSection, _objectSpread(_objectSpread({
120
155
  ref: checkBoxRef
121
156
  }, topSectionProps), {}, {
122
157
  disabled: disabled
123
- })), middleSectionProps && /*#__PURE__*/_jsx(CardMiddleSection, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
158
+ })), middleSectionProps && /*#__PURE__*/_jsx(VerticalCardMiddleSection, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
159
+ componentId: autoId,
124
160
  disabled: disabled
125
- })), bottomSectionProps && /*#__PURE__*/_jsx(CardBottomSection, _objectSpread(_objectSpread({
161
+ })), bottomSectionProps && /*#__PURE__*/_jsx(VerticalCardBottomSection, _objectSpread(_objectSpread({
126
162
  ref: instance => {
127
163
  setActionsRefs(instance ?? []);
128
164
  }
@@ -132,11 +168,11 @@ const Card = _ref => {
132
168
  })
133
169
  }));
134
170
  };
135
- Card.propTypes = {
171
+ VerticalCard.propTypes = {
136
172
  onCardClicked: _pt.func,
137
173
  disabled: _pt.bool,
138
174
  maxWidth: _pt.oneOfType([_pt.number, _pt.string]),
139
175
  variant: _pt.oneOf(['outline', 'elevated'])
140
176
  };
141
- export default Card;
142
- //# sourceMappingURL=Card.js.map
177
+ export default VerticalCard;
178
+ //# sourceMappingURL=VerticalCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VerticalCard.js","names":["React","styled","VerticalCardTopSection","VerticalCardMiddleSection","VerticalCardBottomSection","BOXSHADOWS","COLORS","focusStyles","useActionWithin","jsx","_jsx","jsxs","_jsxs","VerticalCardTopLevelContainerStyles","div","props","generateToken","componentType","defaultVariant","theme","BOXSHADOW_L1","VerticalCardLink","a","VerticalCardContainerStyles","state","BOXSHADOW_L3","BOXSHADOW_L2","VerticalCard","_ref","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","className","id","maxWidth","rest","_objectWithoutProperties","_excluded","actionsRefs","setActionsRefs","useState","checkBoxRef","useRef","containerRef","autoId","useId","cls","handleCardClick","e","preventDefault","_objectSpread","ref","role","tabIndex","onKeyDown","key","children","style","href","onClick","componentId","instance","propTypes","_pt","func","bool","oneOfType","number","string","oneOf"],"sources":["../../../src/Card/VerticalCard/VerticalCard.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport VerticalCardTopSection, {VerticalCardTopSectionProps} from './VerticalCardTopSection';\r\nimport VerticalCardMiddleSection, {VerticalCardMiddleSectionProps} from './VerticalCardMiddleSection';\r\nimport VerticalCardBottomSection, {VerticalCardBottomSectionProps} from './VerticalCardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const VerticalCardTopLevelContainerStyles = styled.div`\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', defaultVariant:'default'}, props.theme)};\r\n min-width: 240px;\r\n overflow: hidden;\r\n\r\n border-radius: 8px;\r\n\r\n background-clip: padding-box;\r\n box-sizing: border-box;\r\n display: flex;\r\n flex-direction: column;\r\n position: relative;\r\n\r\n .elevated & {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\r\n }\r\n\r\n .outline & {\r\n border: 1px solid ${props => COLORS.generateToken({componentType:'border', defaultVariant: 'subtle'}, props.theme)};\r\n }\r\n`;\r\n\r\n// Full-card link that covers the entire card area\r\nexport const VerticalCardLink = styled.a`\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n right: 0;\r\n bottom: 0;\r\n z-index: 100;\r\n text-decoration: none;\r\n color: inherit;\r\n pointer-events: auto;\r\n cursor: pointer;\r\n \r\n &:focus {\r\n outline: none;\r\n }\r\n \r\n &:focus-visible {\r\n ${focusStyles}\r\n }\r\n`;\r\n\r\nexport const VerticalCardContainerStyles = styled.div`\r\n &.interactive:not(.disabled) {\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.action-within) {\r\n ${VerticalCardTopLevelContainerStyles} {\r\n &:hover {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', state:'hover'}, props.theme)};\r\n }\r\n\r\n &:active, &.active-state {\r\n background-color: ${props => COLORS.generateToken({componentType:'bg-surface', state:'active'}, props.theme)};\r\n }\r\n }\r\n }\r\n\r\n &.elevated:not(.action-within) {\r\n ${VerticalCardTopLevelContainerStyles} {\r\n &:hover {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L3};\r\n }\r\n\r\n &:active, &.active-state {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\r\n }\r\n }\r\n }\r\n }\r\n\r\n &.disabled {\r\n cursor: not-allowed;\r\n ${VerticalCardTopLevelContainerStyles}{\r\n border: 1px solid ${props => COLORS.generateToken({componentType:'border', state:'disabled'}, props.theme)};\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface VerticalCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {\r\n /** Action to be executed when Card is clicked. */\r\n onCardClicked?: () => void;\r\n /** If disabled then users can not click on the card, also styles are greyed out.*/\r\n disabled?: boolean;\r\n /** Maximum width of the card. */\r\n maxWidth?: number | string;\r\n /** Properties of Card top section. */\r\n topSectionProps?: VerticalCardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: VerticalCardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: VerticalCardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst VerticalCard: React.FunctionComponent<VerticalCardProps> = ({\r\n onCardClicked,\r\n topSectionProps,\r\n middleSectionProps,\r\n bottomSectionProps,\r\n disabled,\r\n variant = 'elevated',\r\n className,\r\n id,\r\n maxWidth = 560,\r\n ...rest\r\n }: VerticalCardProps) => {\r\n\r\n\r\n const [actionsRefs, setActionsRefs] = React.useState<React.RefObject<HTMLElement | null>[]>([]);\r\n const checkBoxRef = React.useRef<HTMLDivElement>(null);\r\n const containerRef = React.useRef<HTMLDivElement>(null);\r\n const autoId = React.useId();\r\n\r\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\r\n\r\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;\r\n\r\n const handleCardClick = (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n if (!disabled && onCardClicked) {\r\n onCardClicked();\r\n }\r\n };\r\n\r\n return (\r\n <VerticalCardContainerStyles ref={containerRef}\r\n role=\"group\"\r\n className={cls}\r\n aria-labelledby={`${autoId}-title`}\r\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\r\n onKeyDown={e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\r\n data-testid={'card-wrapper'}\r\n {...rest}>\r\n <VerticalCardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {/* Full-card link for accessibility */}\r\n {onCardClicked && !disabled && (\r\n <VerticalCardLink\r\n href={'#'}\r\n data-testid={'card-link'}\r\n onClick={handleCardClick}\r\n aria-labelledby={`${autoId}-title`}\r\n tabIndex={-1}\r\n />\r\n )}\r\n \r\n {\r\n topSectionProps &&\r\n <VerticalCardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <VerticalCardMiddleSection {...middleSectionProps} componentId={autoId} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <VerticalCardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </VerticalCardTopLevelContainerStyles>\r\n </VerticalCardContainerStyles>\r\n );\r\n};\r\n\r\nexport default VerticalCard;\r\n"],"mappings":"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","ignoreList":[]}