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

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 (417) hide show
  1. package/dist/Accordion/ContentAccordion.cjs +40 -11
  2. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  3. package/dist/Accordion/ContentAccordion.js +40 -11
  4. package/dist/Accordion/ContentAccordion.js.map +1 -1
  5. package/dist/Accordion/__tests__/AccordionMenu.test.tsx +42 -0
  6. package/dist/Accordion/__tests__/ContentAccordion.test.tsx +150 -0
  7. package/dist/Accordion/styles.cjs +51 -13
  8. package/dist/Accordion/styles.cjs.map +1 -1
  9. package/dist/Accordion/styles.js +51 -13
  10. package/dist/Accordion/styles.js.map +1 -1
  11. package/dist/AuthPage/__tests__/AuthPage.test.tsx +27 -0
  12. package/dist/Banners/Banner.cjs +38 -34
  13. package/dist/Banners/Banner.cjs.map +1 -1
  14. package/dist/Banners/Banner.d.ts +2 -3
  15. package/dist/Banners/Banner.js +38 -34
  16. package/dist/Banners/Banner.js.map +1 -1
  17. package/dist/Banners/__tests__/Banner.test.tsx +47 -0
  18. package/dist/Banners/__tests__/OverviewBanner.test.tsx +20 -0
  19. package/dist/Banners/styles.cjs +8 -16
  20. package/dist/Banners/styles.cjs.map +1 -1
  21. package/dist/Banners/styles.js +8 -16
  22. package/dist/Banners/styles.js.map +1 -1
  23. package/dist/Breadcrumb/Breadcrumb.cjs +8 -2
  24. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  25. package/dist/Breadcrumb/Breadcrumb.js +8 -2
  26. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  27. package/dist/Breadcrumb/__tests__/Breadcrumb.test.tsx +78 -0
  28. package/dist/Breadcrumb/styles.cjs +15 -4
  29. package/dist/Breadcrumb/styles.cjs.map +1 -1
  30. package/dist/Breadcrumb/styles.js +15 -4
  31. package/dist/Breadcrumb/styles.js.map +1 -1
  32. package/dist/Button/BackButton.cjs +27 -6
  33. package/dist/Button/BackButton.cjs.map +1 -1
  34. package/dist/Button/BackButton.js +27 -6
  35. package/dist/Button/BackButton.js.map +1 -1
  36. package/dist/Button/Button.cjs +179 -47
  37. package/dist/Button/Button.cjs.map +1 -1
  38. package/dist/Button/Button.d.ts +2 -0
  39. package/dist/Button/Button.js +179 -47
  40. package/dist/Button/Button.js.map +1 -1
  41. package/dist/Button/Iconbutton.cjs +83 -21
  42. package/dist/Button/Iconbutton.cjs.map +1 -1
  43. package/dist/Button/Iconbutton.js +83 -21
  44. package/dist/Button/Iconbutton.js.map +1 -1
  45. package/dist/Button/__tests__/BackButton.test.tsx +32 -0
  46. package/dist/Button/__tests__/Button.test.tsx +45 -0
  47. package/dist/Button/__tests__/DualButton.test.tsx +119 -0
  48. package/dist/Card/HorizontalCard/HorizontalCard.cjs +20 -5
  49. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  50. package/dist/Card/HorizontalCard/HorizontalCard.js +20 -5
  51. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  52. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs +12 -3
  53. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  54. package/dist/Card/HorizontalCard/HorizontalCardBody.js +12 -3
  55. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  56. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs +8 -2
  57. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  58. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js +8 -2
  59. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  60. package/dist/Card/HorizontalCard/__tests__/HorizontalCard.test.tsx +71 -0
  61. package/dist/Card/HorizontalCard/__tests__/VerticalCard.test.tsx +124 -0
  62. package/dist/Card/VerticalCard/Card.cjs +67 -16
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.d.ts +1 -0
  65. package/dist/Card/VerticalCard/Card.js +67 -16
  66. package/dist/Card/VerticalCard/Card.js.map +1 -1
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs +34 -7
  68. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  69. package/dist/Card/VerticalCard/CardBottomSection.js +34 -7
  70. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs +27 -8
  72. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  73. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +5 -0
  74. package/dist/Card/VerticalCard/CardMiddleSection.js +27 -8
  75. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  76. package/dist/Card/VerticalCard/CardTopSection.cjs +12 -3
  77. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  78. package/dist/Card/VerticalCard/CardTopSection.js +12 -3
  79. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  80. package/dist/Card/__tests__/Card.test.tsx +146 -0
  81. package/dist/Chips/ChipStyles.cjs +4 -1
  82. package/dist/Chips/ChipStyles.cjs.map +1 -1
  83. package/dist/Chips/ChipStyles.js +4 -1
  84. package/dist/Chips/ChipStyles.js.map +1 -1
  85. package/dist/Chips/FilterChip.cjs +1 -0
  86. package/dist/Chips/FilterChip.cjs.map +1 -1
  87. package/dist/Chips/FilterChip.js +1 -0
  88. package/dist/Chips/FilterChip.js.map +1 -1
  89. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  90. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  91. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  92. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  93. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  94. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  95. package/dist/ChipsInput/ChipInputField.js +16 -4
  96. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  97. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  98. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  99. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  100. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  101. package/dist/Dropdown/BasicDropdown.js +12 -3
  102. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  103. package/dist/Dropdown/CommonStyling.cjs +172 -42
  104. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  105. package/dist/Dropdown/CommonStyling.js +172 -42
  106. package/dist/Dropdown/CommonStyling.js.map +1 -1
  107. package/dist/Dropdown/DropdownContent.cjs +36 -10
  108. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  109. package/dist/Dropdown/DropdownContent.js +36 -10
  110. package/dist/Dropdown/DropdownContent.js.map +1 -1
  111. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  112. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  113. package/dist/Dropdown/DropdownFilter.js +12 -3
  114. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  115. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  116. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  117. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  118. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  119. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  120. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  121. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  122. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  123. package/dist/GlobalNavigationBar/Logo.js +2 -1
  124. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  125. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  126. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  127. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  128. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  129. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  130. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -2
  131. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  132. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -2
  133. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  134. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  135. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  136. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  137. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  138. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  139. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  140. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  141. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  142. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  143. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  144. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  145. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  146. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  147. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  148. package/dist/HyperLink/HyperLink.cjs +18 -2
  149. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  150. package/dist/HyperLink/HyperLink.d.ts +2 -0
  151. package/dist/HyperLink/HyperLink.js +18 -2
  152. package/dist/HyperLink/HyperLink.js.map +1 -1
  153. package/dist/HyperLink/styling.cjs +38 -8
  154. package/dist/HyperLink/styling.cjs.map +1 -1
  155. package/dist/HyperLink/styling.js +38 -8
  156. package/dist/HyperLink/styling.js.map +1 -1
  157. package/dist/InputFields/Checkbox.cjs +54 -14
  158. package/dist/InputFields/Checkbox.cjs.map +1 -1
  159. package/dist/InputFields/Checkbox.js +54 -14
  160. package/dist/InputFields/Checkbox.js.map +1 -1
  161. package/dist/InputFields/DatepickerField.cjs +149 -43
  162. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  163. package/dist/InputFields/DatepickerField.d.ts +1 -1
  164. package/dist/InputFields/DatepickerField.js +150 -44
  165. package/dist/InputFields/DatepickerField.js.map +1 -1
  166. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  167. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  168. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  169. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  170. package/dist/InputFields/Label.cjs +38 -11
  171. package/dist/InputFields/Label.cjs.map +1 -1
  172. package/dist/InputFields/Label.js +38 -11
  173. package/dist/InputFields/Label.js.map +1 -1
  174. package/dist/InputFields/NumberField.cjs +66 -16
  175. package/dist/InputFields/NumberField.cjs.map +1 -1
  176. package/dist/InputFields/NumberField.js +66 -16
  177. package/dist/InputFields/NumberField.js.map +1 -1
  178. package/dist/InputFields/PasswordField.cjs +4 -1
  179. package/dist/InputFields/PasswordField.cjs.map +1 -1
  180. package/dist/InputFields/PasswordField.d.ts +1 -1
  181. package/dist/InputFields/PasswordField.js +4 -1
  182. package/dist/InputFields/PasswordField.js.map +1 -1
  183. package/dist/InputFields/QuickSearch.cjs +30 -6
  184. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  185. package/dist/InputFields/QuickSearch.js +30 -6
  186. package/dist/InputFields/QuickSearch.js.map +1 -1
  187. package/dist/InputFields/RadioButton.cjs +63 -15
  188. package/dist/InputFields/RadioButton.cjs.map +1 -1
  189. package/dist/InputFields/RadioButton.js +63 -15
  190. package/dist/InputFields/RadioButton.js.map +1 -1
  191. package/dist/InputFields/RichTextField.cjs +60 -15
  192. package/dist/InputFields/RichTextField.cjs.map +1 -1
  193. package/dist/InputFields/RichTextField.js +60 -15
  194. package/dist/InputFields/RichTextField.js.map +1 -1
  195. package/dist/InputFields/SearchBar.cjs +4 -1
  196. package/dist/InputFields/SearchBar.cjs.map +1 -1
  197. package/dist/InputFields/SearchBar.js +4 -1
  198. package/dist/InputFields/SearchBar.js.map +1 -1
  199. package/dist/InputFields/TextField.cjs +9 -3
  200. package/dist/InputFields/TextField.cjs.map +1 -1
  201. package/dist/InputFields/TextField.d.ts +1 -1
  202. package/dist/InputFields/TextField.js +9 -3
  203. package/dist/InputFields/TextField.js.map +1 -1
  204. package/dist/InputFields/Textarea.cjs +68 -17
  205. package/dist/InputFields/Textarea.cjs.map +1 -1
  206. package/dist/InputFields/Textarea.js +68 -17
  207. package/dist/InputFields/Textarea.js.map +1 -1
  208. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  209. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  210. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  211. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  212. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  213. package/dist/InputFields/components/SearchBarInput.js +28 -7
  214. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  215. package/dist/InputFields/components/SearchField.cjs +60 -15
  216. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  217. package/dist/InputFields/components/SearchField.js +60 -15
  218. package/dist/InputFields/components/SearchField.js.map +1 -1
  219. package/dist/InputFields/styling.cjs +95 -39
  220. package/dist/InputFields/styling.cjs.map +1 -1
  221. package/dist/InputFields/styling.d.ts +1 -2
  222. package/dist/InputFields/styling.js +95 -39
  223. package/dist/InputFields/styling.js.map +1 -1
  224. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  225. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  226. package/dist/LinearProgress/LinearProgress.js +161 -53
  227. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  228. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  229. package/dist/List/ListRow.cjs +36 -9
  230. package/dist/List/ListRow.cjs.map +1 -1
  231. package/dist/List/ListRow.js +36 -9
  232. package/dist/List/ListRow.js.map +1 -1
  233. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  234. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  235. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  236. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  237. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  238. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  239. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  240. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  241. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  242. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  243. package/dist/MenuItem/MenuItem.cjs +101 -26
  244. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  245. package/dist/MenuItem/MenuItem.js +101 -26
  246. package/dist/MenuItem/MenuItem.js.map +1 -1
  247. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  248. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  249. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  250. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  251. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  252. package/dist/Modals/Modal.cjs +4 -1
  253. package/dist/Modals/Modal.cjs.map +1 -1
  254. package/dist/Modals/Modal.js +4 -1
  255. package/dist/Modals/Modal.js.map +1 -1
  256. package/dist/Modals/ModalContent.cjs +24 -6
  257. package/dist/Modals/ModalContent.cjs.map +1 -1
  258. package/dist/Modals/ModalContent.js +24 -6
  259. package/dist/Modals/ModalContent.js.map +1 -1
  260. package/dist/Modals/ModalDialog.cjs +12 -3
  261. package/dist/Modals/ModalDialog.cjs.map +1 -1
  262. package/dist/Modals/ModalDialog.js +12 -3
  263. package/dist/Modals/ModalDialog.js.map +1 -1
  264. package/dist/Modals/ModalNote.cjs +16 -4
  265. package/dist/Modals/ModalNote.cjs.map +1 -1
  266. package/dist/Modals/ModalNote.js +16 -4
  267. package/dist/Modals/ModalNote.js.map +1 -1
  268. package/dist/Modals/ModalStyles.cjs +44 -11
  269. package/dist/Modals/ModalStyles.cjs.map +1 -1
  270. package/dist/Modals/ModalStyles.js +44 -11
  271. package/dist/Modals/ModalStyles.js.map +1 -1
  272. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  273. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  274. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  275. package/dist/NavItem/NavItem.cjs +11 -2
  276. package/dist/NavItem/NavItem.cjs.map +1 -1
  277. package/dist/NavItem/NavItem.js +11 -2
  278. package/dist/NavItem/NavItem.js.map +1 -1
  279. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  280. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  281. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  282. package/dist/NotificationDot/NotificationDot.js +17 -2
  283. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  284. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  285. package/dist/Paginator/Paginator.cjs +86 -35
  286. package/dist/Paginator/Paginator.cjs.map +1 -1
  287. package/dist/Paginator/Paginator.d.ts +1 -5
  288. package/dist/Paginator/Paginator.js +86 -35
  289. package/dist/Paginator/Paginator.js.map +1 -1
  290. package/dist/Paginator/__tests__/Paginator.test.tsx +33 -0
  291. package/dist/Panel/Panel.cjs +4 -1
  292. package/dist/Panel/Panel.cjs.map +1 -1
  293. package/dist/Panel/Panel.js +4 -1
  294. package/dist/Panel/Panel.js.map +1 -1
  295. package/dist/Popover/Popover.cjs +22 -3
  296. package/dist/Popover/Popover.cjs.map +1 -1
  297. package/dist/Popover/Popover.js +22 -3
  298. package/dist/Popover/Popover.js.map +1 -1
  299. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  300. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  301. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  302. package/dist/ProfileButton/ProfileButton.js +9 -2
  303. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  304. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  305. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  306. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  307. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  308. package/dist/SegmentControl/SegmentControl.js +46 -11
  309. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  310. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  311. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  312. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  313. package/dist/SideMenu/SideMenuHeader.js +12 -3
  314. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  315. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  316. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  317. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  318. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  319. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  320. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  321. package/dist/Table/TableFooter.cjs +8 -2
  322. package/dist/Table/TableFooter.cjs.map +1 -1
  323. package/dist/Table/TableFooter.js +8 -2
  324. package/dist/Table/TableFooter.js.map +1 -1
  325. package/dist/Table/TableStyles.cjs +132 -33
  326. package/dist/Table/TableStyles.cjs.map +1 -1
  327. package/dist/Table/TableStyles.js +132 -33
  328. package/dist/Table/TableStyles.js.map +1 -1
  329. package/dist/Table/__tests__/Table.test.tsx +499 -0
  330. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  331. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  332. package/dist/Tabs/HorizontalTabs.js +68 -18
  333. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  334. package/dist/Tabs/TabLink.cjs +4 -1
  335. package/dist/Tabs/TabLink.cjs.map +1 -1
  336. package/dist/Tabs/TabLink.js +4 -1
  337. package/dist/Tabs/TabLink.js.map +1 -1
  338. package/dist/Tabs/VerticalTabs.cjs +1 -0
  339. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  340. package/dist/Tabs/VerticalTabs.js +1 -0
  341. package/dist/Tabs/VerticalTabs.js.map +1 -1
  342. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  343. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  344. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  345. package/dist/Tag/Tag.cjs +2 -2
  346. package/dist/Tag/Tag.cjs.map +1 -1
  347. package/dist/Tag/Tag.js +2 -2
  348. package/dist/Tag/Tag.js.map +1 -1
  349. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  350. package/dist/Tile/Tile.cjs +8 -2
  351. package/dist/Tile/Tile.cjs.map +1 -1
  352. package/dist/Tile/Tile.js +8 -2
  353. package/dist/Tile/Tile.js.map +1 -1
  354. package/dist/Tile/TileCommonItems.cjs +8 -2
  355. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  356. package/dist/Tile/TileCommonItems.js +8 -2
  357. package/dist/Tile/TileCommonItems.js.map +1 -1
  358. package/dist/Tile/TileFooter.cjs +4 -1
  359. package/dist/Tile/TileFooter.cjs.map +1 -1
  360. package/dist/Tile/TileFooter.js +4 -1
  361. package/dist/Tile/TileFooter.js.map +1 -1
  362. package/dist/Tile/TileHeader.cjs +12 -3
  363. package/dist/Tile/TileHeader.cjs.map +1 -1
  364. package/dist/Tile/TileHeader.js +12 -3
  365. package/dist/Tile/TileHeader.js.map +1 -1
  366. package/dist/Toasters/Toast.cjs +62 -13
  367. package/dist/Toasters/Toast.cjs.map +1 -1
  368. package/dist/Toasters/Toast.js +62 -13
  369. package/dist/Toasters/Toast.js.map +1 -1
  370. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  371. package/dist/Toggles/ToggleButton.cjs +9 -3
  372. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  373. package/dist/Toggles/ToggleButton.d.ts +1 -1
  374. package/dist/Toggles/ToggleButton.js +9 -3
  375. package/dist/Toggles/ToggleButton.js.map +1 -1
  376. package/dist/Toggles/TogglerStyles.cjs +22 -8
  377. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  378. package/dist/Toggles/TogglerStyles.js +22 -8
  379. package/dist/Toggles/TogglerStyles.js.map +1 -1
  380. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  381. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  382. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  383. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  384. package/dist/Tooltips/TooltipStyles.js +28 -6
  385. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  386. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  387. package/dist/common/InputStyling.cjs +30 -7
  388. package/dist/common/InputStyling.cjs.map +1 -1
  389. package/dist/common/InputStyling.js +30 -7
  390. package/dist/common/InputStyling.js.map +1 -1
  391. package/dist/custom.d.ts +2 -0
  392. package/dist/styles/colors.cjs +439 -84
  393. package/dist/styles/colors.cjs.map +1 -1
  394. package/dist/styles/colors.d.ts +200 -11
  395. package/dist/styles/colors.js +439 -84
  396. package/dist/styles/colors.js.map +1 -1
  397. package/dist/styles/global.cjs +19 -2
  398. package/dist/styles/global.cjs.map +1 -1
  399. package/dist/styles/global.d.ts +3 -2
  400. package/dist/styles/global.js +18 -3
  401. package/dist/styles/global.js.map +1 -1
  402. package/dist/styles/index.cjs +21 -9
  403. package/dist/styles/index.cjs.map +1 -1
  404. package/dist/styles/index.d.ts +2 -2
  405. package/dist/styles/index.js +18 -6
  406. package/dist/styles/index.js.map +1 -1
  407. package/dist/styles/react-datepicker.css +766 -0
  408. package/dist/test-utils.cjs +7 -1
  409. package/dist/test-utils.cjs.map +1 -1
  410. package/dist/test-utils.js +7 -1
  411. package/dist/test-utils.js.map +1 -1
  412. package/dist/utils/color-tokens.cjs +91 -0
  413. package/dist/utils/color-tokens.cjs.map +1 -0
  414. package/dist/utils/color-tokens.d.ts +19 -0
  415. package/dist/utils/color-tokens.js +82 -0
  416. package/dist/utils/color-tokens.js.map +1 -0
  417. package/package.json +12 -5
@@ -0,0 +1,124 @@
1
+ import React from 'react';
2
+ import { fireEvent, render } from '../../../test-utils';
3
+ import 'jest-styled-components';
4
+ import { Card } from '../..';
5
+ import { COLORS } from '../../../styles';
6
+ import { SystemIcons } from '../../../icons';
7
+
8
+
9
+ describe('<Card />',()=>{
10
+ it('renders top section', async () => {
11
+ const{getByTestId} = render(
12
+ <Card topSectionProps={{disabled: false}} disabled/>
13
+ );
14
+
15
+ expect(getByTestId('card-topSection')).toBeDefined();
16
+ });
17
+
18
+ it('renders middle section', async () => {
19
+ const{getByTestId} = render(
20
+ <Card middleSectionProps={{title:'title',disabled:false}} disabled/>
21
+ );
22
+
23
+ expect(getByTestId('card-middleSection')).toBeDefined();
24
+ });
25
+
26
+ it('renders bottom section', async () => {
27
+ const{getByTestId} = render(
28
+ <Card bottomSectionProps={{disabled:false}} disabled/>
29
+ );
30
+
31
+ expect(getByTestId('card-bottomSection')).toBeDefined();
32
+ });
33
+
34
+ it('fires card clicked event on click', async () => {
35
+ const cardClicked = jest.fn();
36
+ const{getByTestId} = render(
37
+ <Card bottomSectionProps={{disabled:false}} disabled={false} onCardClicked={cardClicked}/>
38
+ );
39
+
40
+ fireEvent.click(getByTestId('card-link'));
41
+ expect(cardClicked).toHaveBeenCalled();
42
+ });
43
+
44
+ it('fires card clicked event on keyDown', async () => {
45
+ const cardClicked = jest.fn();
46
+ const{getByTestId} = render(
47
+ <Card bottomSectionProps={{disabled:false}} disabled={false} onCardClicked={cardClicked}/>
48
+ );
49
+
50
+ fireEvent.keyDown(getByTestId('card-wrapper'), {key: 'Enter', code: 'Enter', charCode: 13});
51
+ expect(cardClicked).toHaveBeenCalled();
52
+ });
53
+
54
+ it('renders tag in top section', async () => {
55
+ const{getByText} = render(
56
+ <Card topSectionProps={{disabled: false, tagLabel:'test_label'}} disabled/>
57
+ );
58
+
59
+ expect(getByText('test_label')).toBeDefined();
60
+ });
61
+
62
+ it('renders checkbox in top section', async () => {
63
+ const{getByTestId} = render(
64
+ <Card topSectionProps={{disabled: false, selected: true}} disabled/>
65
+ );
66
+
67
+ expect(getByTestId('card-topSection-checkbox')).toBeDefined();
68
+ });
69
+
70
+ it('renders highlight ribbon in top section', async () => {
71
+ const{getByTestId, getByText} = render(
72
+ <Card topSectionProps={{disabled: false, highlightRibbonText:'testRibbon', highlightRibbonBgColor:'red'}} disabled={false}/>
73
+ );
74
+
75
+ expect(getByText('testRibbon')).toBeDefined();
76
+ expect(getByTestId('card-topSection-ribbon')).toHaveStyleRule('background-color','red');
77
+ });
78
+
79
+ it('renders title ,description and category label in middle section', async () => {
80
+ const{getByText} = render(
81
+ <Card middleSectionProps={{title:'testTitle', disabled: false, description:'testDescription', categoryLabel:'testCatLabel'}} disabled={false}/>
82
+ );
83
+
84
+ expect(getByText('testTitle')).toBeDefined();
85
+ expect(getByText('testDescription')).toBeDefined();
86
+ expect(getByText('testCatLabel')).toBeDefined();
87
+ });
88
+
89
+ it('renders tags in middle section', async () => {
90
+ const{getByText} = render(
91
+ <Card middleSectionProps={{title:'testTitle', disabled: false, tags:[{label:'testTag'}], row2Tags:[{label:'testTag2'}]}} disabled={false}/>
92
+ );
93
+
94
+ expect(getByText('testTitle')).toBeDefined();
95
+ expect(getByText('testTag2')).toBeDefined();
96
+ });
97
+
98
+ it('renders note text in bottom section', async () => {
99
+ const{getByText} = render(
100
+ <Card bottomSectionProps={{disabled: false, noteLeft:'leftNote', noteRight:'rightNote'}} disabled={false}/>
101
+ );
102
+
103
+ expect(getByText('leftNote')).toBeDefined();
104
+ expect(getByText('rightNote')).toBeDefined();
105
+ });
106
+
107
+ it('renders author in bottom section', async () => {
108
+ const{getByText,getByTestId} = render(
109
+ <Card bottomSectionProps={{disabled: true, authorName:'testAuthor'}} disabled={true}/>
110
+ );
111
+
112
+ expect(getByText('testAuthor')).toBeDefined();
113
+ expect(getByTestId('card-bottomSection-author')).toBeDefined();
114
+ });
115
+
116
+ it('renders actions in bottom section', async () => {
117
+ const{getByText,getByTestId} = render(
118
+ <Card bottomSectionProps={{disabled: true, authorName:'testAuthor', actions:[{icon:<SystemIcons.Add/>,onClick:()=>{}}]}} disabled={true}/>
119
+ );
120
+
121
+ expect(getByText('testAuthor')).toBeDefined();
122
+ expect(getByTestId('card-bottomSection-author')).toBeDefined();
123
+ });
124
+ })
@@ -4,7 +4,7 @@ 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.CardTopLevelContainerStyles = exports.CardLink = exports.CardContainerStyles = 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"));
@@ -15,13 +15,16 @@ var _CardMiddleSection = _interopRequireDefault(require("./CardMiddleSection"));
15
15
  var _CardBottomSection = _interopRequireDefault(require("./CardBottomSection"));
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
23
  const CardTopLevelContainerStyles = exports.CardTopLevelContainerStyles = _styledComponents.default.div`
24
- background-color: ${props => _index.COLORS.getColor('white', props.theme)};
24
+ background-color: ${props => _index.COLORS.generateToken({
25
+ componentType: 'bg-surface',
26
+ defaultVariant: 'default'
27
+ }, props.theme)};
25
28
  min-width: 240px;
26
29
  overflow: hidden;
27
30
 
@@ -31,31 +34,61 @@ const CardTopLevelContainerStyles = exports.CardTopLevelContainerStyles = _style
31
34
  box-sizing: border-box;
32
35
  display: flex;
33
36
  flex-direction: column;
37
+ position: relative;
34
38
 
35
39
  .elevated & {
36
40
  box-shadow: ${_index.BOXSHADOWS.BOXSHADOW_L1};
37
41
  }
38
42
 
39
43
  .outline & {
40
- border: 1px solid ${props => _index.COLORS.getColor('neutral_200', props.theme)};
44
+ border: 1px solid ${props => _index.COLORS.generateToken({
45
+ componentType: 'border',
46
+ defaultVariant: 'subtle'
47
+ }, props.theme)};
41
48
  }
42
49
  `;
43
- const CardContainerStyles = exports.CardContainerStyles = _styledComponents.default.div`
44
- &.interactive:focus {
50
+
51
+ // Full-card link that covers the entire card area
52
+ const CardLink = exports.CardLink = _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 {
45
69
  ${_index.focusStyles}
46
70
  }
47
-
71
+ `;
72
+ const CardContainerStyles = exports.CardContainerStyles = _styledComponents.default.div`
48
73
  &.interactive:not(.disabled) {
49
- cursor: pointer;
74
+ &:focus {
75
+ ${_index.focusStyles}
76
+ }
50
77
 
51
- &.outline:not(.action-within) {
78
+ &:not(.action-within) {
52
79
  ${CardTopLevelContainerStyles} {
53
80
  &:hover {
54
- background-color: ${props => _index.COLORS.getColor('primary_20', props.theme)};
81
+ background-color: ${props => _index.COLORS.generateToken({
82
+ componentType: 'bg-surface',
83
+ state: 'hover'
84
+ }, props.theme)};
55
85
  }
56
86
 
57
87
  &:active, &.active-state {
58
- background-color: ${props => _index.COLORS.getColor('primary_100', props.theme)};
88
+ background-color: ${props => _index.COLORS.generateToken({
89
+ componentType: 'bg-surface',
90
+ state: 'active'
91
+ }, props.theme)};
59
92
  }
60
93
  }
61
94
  }
@@ -76,7 +109,10 @@ const CardContainerStyles = exports.CardContainerStyles = _styledComponents.defa
76
109
  &.disabled {
77
110
  cursor: not-allowed;
78
111
  ${CardTopLevelContainerStyles}{
79
- border: 1px solid ${props => _index.COLORS.getColor('neutral_100', props.theme)};
112
+ border: 1px solid ${props => _index.COLORS.generateToken({
113
+ componentType: 'border',
114
+ state: 'disabled'
115
+ }, props.theme)};
80
116
  }
81
117
  }
82
118
  `;
@@ -89,32 +125,47 @@ const Card = _ref => {
89
125
  disabled,
90
126
  variant = 'elevated',
91
127
  className,
128
+ id,
92
129
  maxWidth = 560
93
130
  } = _ref,
94
131
  rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
95
132
  const [actionsRefs, setActionsRefs] = React.useState([]);
96
133
  const checkBoxRef = React.useRef(null);
97
134
  const containerRef = React.useRef(null);
135
+ const autoId = React.useId();
98
136
  (0, _index.useActionWithin)(containerRef, [...actionsRefs, checkBoxRef]);
99
137
  const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;
138
+ const handleCardClick = e => {
139
+ e.preventDefault();
140
+ if (!disabled && onCardClicked) {
141
+ onCardClicked();
142
+ }
143
+ };
100
144
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(CardContainerStyles, _objectSpread(_objectSpread({
101
145
  ref: containerRef,
146
+ role: "group",
102
147
  className: cls,
148
+ "aria-labelledby": `${autoId}-title`,
103
149
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
104
- onMouseDown: _index.defaultOnMouseDownHandler,
105
- onKeyDown: a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
106
- onClick: e => !disabled && onCardClicked && onCardClicked(),
150
+ onKeyDown: e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
107
151
  "data-testid": 'card-wrapper'
108
152
  }, rest), {}, {
109
153
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(CardTopLevelContainerStyles, {
110
154
  style: {
111
155
  maxWidth: maxWidth
112
156
  },
113
- children: [topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({
157
+ children: [onCardClicked && !disabled && /*#__PURE__*/(0, _jsxRuntime.jsx)(CardLink, {
158
+ href: '#',
159
+ "data-testid": 'card-link',
160
+ onClick: handleCardClick,
161
+ "aria-labelledby": `${autoId}-title`,
162
+ tabIndex: -1
163
+ }), topSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardTopSection.default, _objectSpread(_objectSpread({
114
164
  ref: checkBoxRef
115
165
  }, topSectionProps), {}, {
116
166
  disabled: disabled
117
167
  })), middleSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardMiddleSection.default, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
168
+ componentId: autoId,
118
169
  disabled: disabled
119
170
  })), bottomSectionProps && /*#__PURE__*/(0, _jsxRuntime.jsx)(_CardBottomSection.default, _objectSpread(_objectSpread({
120
171
  ref: instance => {
@@ -1 +1 @@
1
- {"version":3,"file":"Card.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_CardTopSection","_CardMiddleSection","_CardBottomSection","_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","CardTopLevelContainerStyles","exports","styled","div","props","COLORS","getColor","theme","BOXSHADOWS","BOXSHADOW_L1","CardContainerStyles","focusStyles","BOXSHADOW_L3","BOXSHADOW_L2","Card","_ref","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","className","maxWidth","rest","_objectWithoutProperties2","actionsRefs","setActionsRefs","useState","checkBoxRef","useRef","containerRef","useActionWithin","cls","jsx","ref","tabIndex","onMouseDown","defaultOnMouseDownHandler","onKeyDown","key","onClick","children","jsxs","style","instance","propTypes","_propTypes","func","bool","oneOfType","number","string","oneOf","_default"],"sources":["../../../src/Card/VerticalCard/Card.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\r\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\r\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const CardTopLevelContainerStyles = styled.div`\r\n background-color: ${props => COLORS.getColor('white', 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\r\n .elevated & {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\r\n }\r\n\r\n .outline & {\r\n border: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n }\r\n`;\r\n\r\n\r\nexport const CardContainerStyles = styled.div`\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.interactive:not(.disabled) {\r\n cursor: pointer;\r\n\r\n &.outline:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:active, &.active-state {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n }\r\n\r\n &.elevated:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles}{\r\n border: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface CardProps 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?: CardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: CardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: CardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst Card: React.FunctionComponent<CardProps> = ({\r\n onCardClicked,\r\n topSectionProps,\r\n middleSectionProps,\r\n bottomSectionProps,\r\n disabled,\r\n variant = 'elevated',\r\n className,\r\n maxWidth = 560,\r\n ...rest\r\n }: CardProps) => {\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\r\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\r\n\r\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;\r\n\r\n return (\r\n <CardContainerStyles ref={containerRef}\r\n className={cls}\r\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\r\n onClick={e => !disabled && onCardClicked && onCardClicked()}\r\n data-testid={'card-wrapper'}\r\n {...rest}>\r\n <CardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {\r\n topSectionProps &&\r\n <CardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <CardMiddleSection {...middleSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <CardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </CardTopLevelContainerStyles>\r\n </CardContainerStyles>\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Card.cjs","names":["React","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","_CardTopSection","_CardMiddleSection","_CardBottomSection","_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","CardTopLevelContainerStyles","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","BOXSHADOWS","BOXSHADOW_L1","CardLink","focusStyles","CardContainerStyles","state","BOXSHADOW_L3","BOXSHADOW_L2","Card","_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/Card.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\r\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\r\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const CardTopLevelContainerStyles = 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 CardLink = 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 CardContainerStyles = styled.div`\r\n &.interactive:not(.disabled) {\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles}{\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 CardProps 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?: CardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: CardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: CardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst Card: React.FunctionComponent<CardProps> = ({\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 }: CardProps) => {\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 <CardContainerStyles 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 <CardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {/* Full-card link for accessibility */}\r\n {onCardClicked && !disabled && (\r\n <CardLink\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 <CardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <CardMiddleSection {...middleSectionProps} componentId={autoId} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <CardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </CardTopLevelContainerStyles>\r\n </CardContainerStyles>\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import { CardTopSectionProps } from './CardTopSection';
3
3
  import { CardMiddleSectionProps } from './CardMiddleSection';
4
4
  import { CardBottomSectionProps } from './CardBottomSection';
5
5
  export declare const CardTopLevelContainerStyles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
+ export declare const CardLink: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, never>> & string;
6
7
  export declare const CardContainerStyles: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
8
  export interface CardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'tabIndex' | 'onMouseDown' | 'onKeyDown' | 'onClick'> {
8
9
  /** Action to be executed when Card is clicked. */
@@ -1,7 +1,7 @@
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';
@@ -9,10 +9,13 @@ import styled from 'styled-components';
9
9
  import CardTopSection from './CardTopSection';
10
10
  import CardMiddleSection from './CardMiddleSection';
11
11
  import CardBottomSection from './CardBottomSection';
12
- import { BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin } from '../../index';
12
+ import { BOXSHADOWS, COLORS, focusStyles, useActionWithin } from '../../index';
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
14
14
  export const CardTopLevelContainerStyles = styled.div`
15
- background-color: ${props => COLORS.getColor('white', props.theme)};
15
+ background-color: ${props => COLORS.generateToken({
16
+ componentType: 'bg-surface',
17
+ defaultVariant: 'default'
18
+ }, props.theme)};
16
19
  min-width: 240px;
17
20
  overflow: hidden;
18
21
 
@@ -22,31 +25,61 @@ export const CardTopLevelContainerStyles = styled.div`
22
25
  box-sizing: border-box;
23
26
  display: flex;
24
27
  flex-direction: column;
28
+ position: relative;
25
29
 
26
30
  .elevated & {
27
31
  box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};
28
32
  }
29
33
 
30
34
  .outline & {
31
- border: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};
35
+ border: 1px solid ${props => COLORS.generateToken({
36
+ componentType: 'border',
37
+ defaultVariant: 'subtle'
38
+ }, props.theme)};
32
39
  }
33
40
  `;
34
- export const CardContainerStyles = styled.div`
35
- &.interactive:focus {
41
+
42
+ // Full-card link that covers the entire card area
43
+ export const CardLink = 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 {
36
60
  ${focusStyles}
37
61
  }
38
-
62
+ `;
63
+ export const CardContainerStyles = styled.div`
39
64
  &.interactive:not(.disabled) {
40
- cursor: pointer;
65
+ &:focus {
66
+ ${focusStyles}
67
+ }
41
68
 
42
- &.outline:not(.action-within) {
69
+ &:not(.action-within) {
43
70
  ${CardTopLevelContainerStyles} {
44
71
  &:hover {
45
- background-color: ${props => COLORS.getColor('primary_20', props.theme)};
72
+ background-color: ${props => COLORS.generateToken({
73
+ componentType: 'bg-surface',
74
+ state: 'hover'
75
+ }, props.theme)};
46
76
  }
47
77
 
48
78
  &:active, &.active-state {
49
- background-color: ${props => COLORS.getColor('primary_100', props.theme)};
79
+ background-color: ${props => COLORS.generateToken({
80
+ componentType: 'bg-surface',
81
+ state: 'active'
82
+ }, props.theme)};
50
83
  }
51
84
  }
52
85
  }
@@ -67,7 +100,10 @@ export const CardContainerStyles = styled.div`
67
100
  &.disabled {
68
101
  cursor: not-allowed;
69
102
  ${CardTopLevelContainerStyles}{
70
- border: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
103
+ border: 1px solid ${props => COLORS.generateToken({
104
+ componentType: 'border',
105
+ state: 'disabled'
106
+ }, props.theme)};
71
107
  }
72
108
  }
73
109
  `;
@@ -80,32 +116,47 @@ const Card = _ref => {
80
116
  disabled,
81
117
  variant = 'elevated',
82
118
  className,
119
+ id,
83
120
  maxWidth = 560
84
121
  } = _ref,
85
122
  rest = _objectWithoutProperties(_ref, _excluded);
86
123
  const [actionsRefs, setActionsRefs] = React.useState([]);
87
124
  const checkBoxRef = React.useRef(null);
88
125
  const containerRef = React.useRef(null);
126
+ const autoId = React.useId();
89
127
  useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);
90
128
  const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;
129
+ const handleCardClick = e => {
130
+ e.preventDefault();
131
+ if (!disabled && onCardClicked) {
132
+ onCardClicked();
133
+ }
134
+ };
91
135
  return /*#__PURE__*/_jsx(CardContainerStyles, _objectSpread(_objectSpread({
92
136
  ref: containerRef,
137
+ role: "group",
93
138
  className: cls,
139
+ "aria-labelledby": `${autoId}-title`,
94
140
  tabIndex: !!onCardClicked && !disabled ? 0 : -1,
95
- onMouseDown: defaultOnMouseDownHandler,
96
- onKeyDown: a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
97
- onClick: e => !disabled && onCardClicked && onCardClicked(),
141
+ onKeyDown: e => e.key === 'Enter' && !disabled && onCardClicked && onCardClicked(),
98
142
  "data-testid": 'card-wrapper'
99
143
  }, rest), {}, {
100
144
  children: /*#__PURE__*/_jsxs(CardTopLevelContainerStyles, {
101
145
  style: {
102
146
  maxWidth: maxWidth
103
147
  },
104
- children: [topSectionProps && /*#__PURE__*/_jsx(CardTopSection, _objectSpread(_objectSpread({
148
+ children: [onCardClicked && !disabled && /*#__PURE__*/_jsx(CardLink, {
149
+ href: '#',
150
+ "data-testid": 'card-link',
151
+ onClick: handleCardClick,
152
+ "aria-labelledby": `${autoId}-title`,
153
+ tabIndex: -1
154
+ }), topSectionProps && /*#__PURE__*/_jsx(CardTopSection, _objectSpread(_objectSpread({
105
155
  ref: checkBoxRef
106
156
  }, topSectionProps), {}, {
107
157
  disabled: disabled
108
158
  })), middleSectionProps && /*#__PURE__*/_jsx(CardMiddleSection, _objectSpread(_objectSpread({}, middleSectionProps), {}, {
159
+ componentId: autoId,
109
160
  disabled: disabled
110
161
  })), bottomSectionProps && /*#__PURE__*/_jsx(CardBottomSection, _objectSpread(_objectSpread({
111
162
  ref: instance => {
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","names":["React","styled","CardTopSection","CardMiddleSection","CardBottomSection","BOXSHADOWS","COLORS","defaultOnMouseDownHandler","focusStyles","useActionWithin","jsx","_jsx","jsxs","_jsxs","CardTopLevelContainerStyles","div","props","getColor","theme","BOXSHADOW_L1","CardContainerStyles","BOXSHADOW_L3","BOXSHADOW_L2","Card","_ref","onCardClicked","topSectionProps","middleSectionProps","bottomSectionProps","disabled","variant","className","maxWidth","rest","_objectWithoutProperties","_excluded","actionsRefs","setActionsRefs","useState","checkBoxRef","useRef","containerRef","cls","_objectSpread","ref","tabIndex","onMouseDown","onKeyDown","a","key","onClick","e","children","style","instance","propTypes","_pt","func","bool","oneOfType","number","string","oneOf"],"sources":["../../../src/Card/VerticalCard/Card.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\r\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\r\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const CardTopLevelContainerStyles = styled.div`\r\n background-color: ${props => COLORS.getColor('white', 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\r\n .elevated & {\r\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L1};\r\n }\r\n\r\n .outline & {\r\n border: 1px solid ${props => COLORS.getColor('neutral_200', props.theme)};\r\n }\r\n`;\r\n\r\n\r\nexport const CardContainerStyles = styled.div`\r\n &.interactive:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &.interactive:not(.disabled) {\r\n cursor: pointer;\r\n\r\n &.outline:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\r\n &:hover {\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n }\r\n\r\n &:active, &.active-state {\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n }\r\n }\r\n }\r\n\r\n &.elevated:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles}{\r\n border: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport interface CardProps 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?: CardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: CardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: CardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst Card: React.FunctionComponent<CardProps> = ({\r\n onCardClicked,\r\n topSectionProps,\r\n middleSectionProps,\r\n bottomSectionProps,\r\n disabled,\r\n variant = 'elevated',\r\n className,\r\n maxWidth = 560,\r\n ...rest\r\n }: CardProps) => {\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\r\n useActionWithin(containerRef, [...actionsRefs, checkBoxRef]);\r\n\r\n const cls = `${!!onCardClicked ? 'interactive' : ''} ${disabled ? 'disabled' : ''} ${variant} ${className || ''}`;\r\n\r\n return (\r\n <CardContainerStyles ref={containerRef}\r\n className={cls}\r\n tabIndex={!!onCardClicked && !disabled ? 0 : -1}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onKeyDown={a => a.key === 'Enter' && !disabled && onCardClicked && onCardClicked()}\r\n onClick={e => !disabled && onCardClicked && onCardClicked()}\r\n data-testid={'card-wrapper'}\r\n {...rest}>\r\n <CardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {\r\n topSectionProps &&\r\n <CardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <CardMiddleSection {...middleSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <CardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </CardTopLevelContainerStyles>\r\n </CardContainerStyles>\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Card.js","names":["React","styled","CardTopSection","CardMiddleSection","CardBottomSection","BOXSHADOWS","COLORS","focusStyles","useActionWithin","jsx","_jsx","jsxs","_jsxs","CardTopLevelContainerStyles","div","props","generateToken","componentType","defaultVariant","theme","BOXSHADOW_L1","CardLink","a","CardContainerStyles","state","BOXSHADOW_L3","BOXSHADOW_L2","Card","_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/Card.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport CardTopSection, {CardTopSectionProps} from './CardTopSection';\r\nimport CardMiddleSection, {CardMiddleSectionProps} from './CardMiddleSection';\r\nimport CardBottomSection, {CardBottomSectionProps} from './CardBottomSection';\r\nimport {BOXSHADOWS, COLORS, defaultOnMouseDownHandler, focusStyles, useActionWithin} from '../../index';\r\n\r\nexport const CardTopLevelContainerStyles = 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 CardLink = 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 CardContainerStyles = styled.div`\r\n &.interactive:not(.disabled) {\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:not(.action-within) {\r\n ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles} {\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 ${CardTopLevelContainerStyles}{\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 CardProps 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?: CardTopSectionProps;\r\n /** Properties of Card middle section. */\r\n middleSectionProps?: CardMiddleSectionProps;\r\n /** Properties of Card bottom section. */\r\n bottomSectionProps?: CardBottomSectionProps;\r\n /** Card container style variant. */\r\n variant?: 'outline' | 'elevated';\r\n}\r\n\r\nconst Card: React.FunctionComponent<CardProps> = ({\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 }: CardProps) => {\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 <CardContainerStyles 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 <CardTopLevelContainerStyles style={{maxWidth: maxWidth}}>\r\n {/* Full-card link for accessibility */}\r\n {onCardClicked && !disabled && (\r\n <CardLink\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 <CardTopSection ref={checkBoxRef}\r\n {...topSectionProps} disabled={disabled}/>\r\n }\r\n {\r\n middleSectionProps &&\r\n <CardMiddleSection {...middleSectionProps} componentId={autoId} disabled={disabled}/>\r\n }\r\n {\r\n bottomSectionProps &&\r\n <CardBottomSection ref={instance => {\r\n setActionsRefs(instance ?? []);\r\n }}\r\n {...bottomSectionProps} disabled={disabled}/>\r\n }\r\n </CardTopLevelContainerStyles>\r\n </CardContainerStyles>\r\n );\r\n};\r\n\r\nexport default Card;\r\n"],"mappings":"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","ignoreList":[]}