@laerdal/life-react-components 6.0.0-dev.8.full → 6.0.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 (329) 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/FooterNewsletterAndSocialSection.cjs +0 -1
  90. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  91. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +0 -1
  92. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  93. package/dist/Footer/Components/FooterTop.cjs +3 -0
  94. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  95. package/dist/Footer/Components/FooterTop.js +3 -0
  96. package/dist/Footer/Components/FooterTop.js.map +1 -1
  97. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  98. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  99. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  100. package/dist/GlobalNavigationBar/Logo.js +2 -1
  101. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  102. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  103. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  104. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  105. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  106. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  107. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +5 -4
  108. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  109. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +6 -5
  110. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  111. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +1 -1
  112. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  113. package/dist/GlobalNavigationBar/desktop/UserMenu.js +2 -2
  114. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  115. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  116. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  117. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  118. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  119. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  120. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  121. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  122. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs +1 -1
  123. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.cjs.map +1 -1
  124. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js +2 -2
  125. package/dist/GlobalNavigationBar/mobile/MobileActionContainer.js.map +1 -1
  126. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  127. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  128. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  129. package/dist/GlobalNavigationBar/types.cjs.map +1 -1
  130. package/dist/GlobalNavigationBar/types.d.ts +2 -2
  131. package/dist/GlobalNavigationBar/types.js.map +1 -1
  132. package/dist/HyperLink/HyperLink.cjs +18 -2
  133. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  134. package/dist/HyperLink/HyperLink.d.ts +2 -0
  135. package/dist/HyperLink/HyperLink.js +18 -2
  136. package/dist/HyperLink/HyperLink.js.map +1 -1
  137. package/dist/HyperLink/styling.cjs +4 -0
  138. package/dist/HyperLink/styling.cjs.map +1 -1
  139. package/dist/HyperLink/styling.js +4 -0
  140. package/dist/HyperLink/styling.js.map +1 -1
  141. package/dist/InputFields/DatepickerField.cjs +21 -5
  142. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  143. package/dist/InputFields/DatepickerField.d.ts +1 -1
  144. package/dist/InputFields/DatepickerField.js +21 -5
  145. package/dist/InputFields/DatepickerField.js.map +1 -1
  146. package/dist/InputFields/NumberField.cjs +4 -0
  147. package/dist/InputFields/NumberField.cjs.map +1 -1
  148. package/dist/InputFields/NumberField.js +4 -0
  149. package/dist/InputFields/NumberField.js.map +1 -1
  150. package/dist/InputFields/RadioButton.cjs +2 -2
  151. package/dist/InputFields/RadioButton.cjs.map +1 -1
  152. package/dist/InputFields/RadioButton.d.ts +4 -4
  153. package/dist/InputFields/RadioButton.js +2 -2
  154. package/dist/InputFields/RadioButton.js.map +1 -1
  155. package/dist/InputFields/TextField.cjs +2 -5
  156. package/dist/InputFields/TextField.cjs.map +1 -1
  157. package/dist/InputFields/TextField.d.ts +0 -8
  158. package/dist/InputFields/TextField.js +2 -5
  159. package/dist/InputFields/TextField.js.map +1 -1
  160. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  161. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  162. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  163. package/dist/InputFields/components/SearchBarInput.cjs +5 -0
  164. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  165. package/dist/InputFields/components/SearchBarInput.js +5 -0
  166. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  167. package/dist/InputFields/styling.cjs +1 -4
  168. package/dist/InputFields/styling.cjs.map +1 -1
  169. package/dist/InputFields/styling.d.ts +0 -1
  170. package/dist/InputFields/styling.js +1 -4
  171. package/dist/InputFields/styling.js.map +1 -1
  172. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  173. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  174. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  175. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  176. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  177. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  178. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  179. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  180. package/dist/Modals/ModalContainer.cjs +102 -83
  181. package/dist/Modals/ModalContainer.cjs.map +1 -1
  182. package/dist/Modals/ModalContainer.d.ts +20 -1
  183. package/dist/Modals/ModalContainer.js +103 -84
  184. package/dist/Modals/ModalContainer.js.map +1 -1
  185. package/dist/Modals/ModalContent.cjs +7 -3
  186. package/dist/Modals/ModalContent.cjs.map +1 -1
  187. package/dist/Modals/ModalContent.js +8 -4
  188. package/dist/Modals/ModalContent.js.map +1 -1
  189. package/dist/Modals/ModalDialog.cjs +2 -2
  190. package/dist/Modals/ModalDialog.cjs.map +1 -1
  191. package/dist/Modals/ModalDialog.js +3 -3
  192. package/dist/Modals/ModalDialog.js.map +1 -1
  193. package/dist/Modals/ModalStyles.cjs +12 -0
  194. package/dist/Modals/ModalStyles.cjs.map +1 -1
  195. package/dist/Modals/ModalStyles.js +12 -0
  196. package/dist/Modals/ModalStyles.js.map +1 -1
  197. package/dist/Modals/ModalTypes.cjs.map +1 -1
  198. package/dist/Modals/ModalTypes.d.ts +3 -3
  199. package/dist/Modals/ModalTypes.js.map +1 -1
  200. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  201. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  202. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  203. package/dist/NavItem/NavItem.cjs +7 -1
  204. package/dist/NavItem/NavItem.cjs.map +1 -1
  205. package/dist/NavItem/NavItem.js +7 -1
  206. package/dist/NavItem/NavItem.js.map +1 -1
  207. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  208. package/dist/Navigation/NavigationProvider.cjs.map +1 -1
  209. package/dist/Navigation/NavigationProvider.d.ts +3 -0
  210. package/dist/Navigation/NavigationProvider.js.map +1 -1
  211. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  212. package/dist/Paginator/Paginator.cjs +18 -14
  213. package/dist/Paginator/Paginator.cjs.map +1 -1
  214. package/dist/Paginator/Paginator.d.ts +1 -5
  215. package/dist/Paginator/Paginator.js +18 -14
  216. package/dist/Paginator/Paginator.js.map +1 -1
  217. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  218. package/dist/Popover/Popover.cjs +1 -1
  219. package/dist/Popover/Popover.cjs.map +1 -1
  220. package/dist/Popover/Popover.js +2 -2
  221. package/dist/Popover/Popover.js.map +1 -1
  222. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  223. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  224. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  225. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  226. package/dist/SideMenu/SideMenuFooter.cjs +1 -1
  227. package/dist/SideMenu/SideMenuFooter.cjs.map +1 -1
  228. package/dist/SideMenu/SideMenuFooter.js +2 -2
  229. package/dist/SideMenu/SideMenuFooter.js.map +1 -1
  230. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  231. package/dist/SideMenu/types.cjs.map +1 -1
  232. package/dist/SideMenu/types.d.ts +2 -2
  233. package/dist/SideMenu/types.js.map +1 -1
  234. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  235. package/dist/Table/TableBody.cjs +1 -1
  236. package/dist/Table/TableBody.cjs.map +1 -1
  237. package/dist/Table/TableBody.js +2 -2
  238. package/dist/Table/TableBody.js.map +1 -1
  239. package/dist/Table/TableStyles.cjs +4 -1
  240. package/dist/Table/TableStyles.cjs.map +1 -1
  241. package/dist/Table/TableStyles.js +4 -1
  242. package/dist/Table/TableStyles.js.map +1 -1
  243. package/dist/Table/TableTypes.cjs.map +1 -1
  244. package/dist/Table/TableTypes.d.ts +2 -2
  245. package/dist/Table/TableTypes.js.map +1 -1
  246. package/dist/Table/__tests__/Table.test.tsx +499 -0
  247. package/dist/Tabs/VerticalTabs.cjs +1 -0
  248. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  249. package/dist/Tabs/VerticalTabs.js +1 -0
  250. package/dist/Tabs/VerticalTabs.js.map +1 -1
  251. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  252. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  253. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  254. package/dist/Tag/Tag.cjs +48 -12
  255. package/dist/Tag/Tag.cjs.map +1 -1
  256. package/dist/Tag/Tag.js +48 -12
  257. package/dist/Tag/Tag.js.map +1 -1
  258. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  259. package/dist/Tile/TileCommonItems.cjs +1 -1
  260. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  261. package/dist/Tile/TileCommonItems.js +2 -2
  262. package/dist/Tile/TileCommonItems.js.map +1 -1
  263. package/dist/Tile/TileTypes.cjs.map +1 -1
  264. package/dist/Tile/TileTypes.d.ts +2 -2
  265. package/dist/Tile/TileTypes.js.map +1 -1
  266. package/dist/Toasters/Toast.cjs +1 -2
  267. package/dist/Toasters/Toast.cjs.map +1 -1
  268. package/dist/Toasters/Toast.js +2 -3
  269. package/dist/Toasters/Toast.js.map +1 -1
  270. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  271. package/dist/Toggles/TogglerStyles.cjs +171 -15
  272. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  273. package/dist/Toggles/TogglerStyles.js +171 -15
  274. package/dist/Toggles/TogglerStyles.js.map +1 -1
  275. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  276. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  277. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  278. package/dist/common/NavigationHelper.cjs +0 -28
  279. package/dist/common/NavigationHelper.cjs.map +1 -1
  280. package/dist/common/NavigationHelper.d.ts +0 -4
  281. package/dist/common/NavigationHelper.js +1 -22
  282. package/dist/common/NavigationHelper.js.map +1 -1
  283. package/dist/styles/colors.cjs +6 -0
  284. package/dist/styles/colors.cjs.map +1 -1
  285. package/dist/styles/colors.d.ts +6 -0
  286. package/dist/styles/colors.js +6 -0
  287. package/dist/styles/colors.js.map +1 -1
  288. package/dist/styles/design-tokens/dark/tokens.css +481 -0
  289. package/dist/styles/design-tokens/light/tokens.css +481 -0
  290. package/dist/styles/design-tokens/rqi_dark/tokens.css +481 -0
  291. package/dist/styles/design-tokens/rqi_light/tokens.css +481 -0
  292. package/dist/styles/global.cjs +4 -4
  293. package/dist/styles/global.cjs.map +1 -1
  294. package/dist/styles/global.js +4 -4
  295. package/dist/styles/global.js.map +1 -1
  296. package/dist/styles/react-datepicker.css +766 -0
  297. package/dist/styles/typography.cjs +4 -1
  298. package/dist/styles/typography.cjs.map +1 -1
  299. package/dist/styles/typography.js +4 -1
  300. package/dist/styles/typography.js.map +1 -1
  301. package/dist/test-utils.cjs +7 -1
  302. package/dist/test-utils.cjs.map +1 -1
  303. package/dist/test-utils.js +7 -1
  304. package/dist/test-utils.js.map +1 -1
  305. package/package.json +11 -6
  306. package/dist/Button/Button.cjs.map +0 -1
  307. package/dist/Button/Button.d.ts +0 -70
  308. package/dist/Button/Button.js.map +0 -1
  309. package/dist/Card/VerticalCard/Card.cjs.map +0 -1
  310. package/dist/Card/VerticalCard/Card.d.ts +0 -24
  311. package/dist/Card/VerticalCard/Card.js.map +0 -1
  312. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +0 -1
  313. package/dist/Card/VerticalCard/CardBottomSection.d.ts +0 -49
  314. package/dist/Card/VerticalCard/CardBottomSection.js.map +0 -1
  315. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +0 -1
  316. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +0 -37
  317. package/dist/Card/VerticalCard/CardMiddleSection.js.map +0 -1
  318. package/dist/Card/VerticalCard/CardTopSection.cjs.map +0 -1
  319. package/dist/Card/VerticalCard/CardTopSection.js.map +0 -1
  320. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +0 -1
  321. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +0 -1
  322. package/dist/List/__tests__/ListRow.tests.d.ts +0 -1
  323. package/dist/Tabs/__tests__/TabLink.tests.d.ts +0 -1
  324. package/dist/Tabs/__tests__/Tablist.tests.d.ts +0 -2
  325. package/dist/common/Link.cjs +0 -45
  326. package/dist/common/Link.cjs.map +0 -1
  327. package/dist/common/Link.d.ts +0 -9
  328. package/dist/common/Link.js +0 -37
  329. 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":[]}