@laerdal/life-react-components 6.0.0-dev.2.full → 6.0.0-dev.20.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 (421) 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 +20 -5
  63. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  64. package/dist/Card/VerticalCard/Card.js +20 -5
  65. package/dist/Card/VerticalCard/Card.js.map +1 -1
  66. package/dist/Card/VerticalCard/CardBottomSection.cjs +28 -7
  67. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  68. package/dist/Card/VerticalCard/CardBottomSection.js +28 -7
  69. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  70. package/dist/Card/VerticalCard/CardMiddleSection.cjs +19 -4
  71. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  72. package/dist/Card/VerticalCard/CardMiddleSection.js +19 -4
  73. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  74. package/dist/Card/VerticalCard/CardTopSection.cjs +9 -2
  75. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  76. package/dist/Card/VerticalCard/CardTopSection.js +9 -2
  77. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  78. package/dist/Card/__tests__/Card.test.tsx +146 -0
  79. package/dist/Chips/ChipStyles.cjs +4 -1
  80. package/dist/Chips/ChipStyles.cjs.map +1 -1
  81. package/dist/Chips/ChipStyles.js +4 -1
  82. package/dist/Chips/ChipStyles.js.map +1 -1
  83. package/dist/Chips/__tests__/ActionChip.test.tsx +94 -0
  84. package/dist/Chips/__tests__/ChoiceChips.test.tsx +79 -0
  85. package/dist/Chips/__tests__/FilterChip.test.tsx +95 -0
  86. package/dist/Chips/__tests__/InputChip.test.tsx +155 -0
  87. package/dist/ChipsInput/ChipInputField.cjs +16 -4
  88. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  89. package/dist/ChipsInput/ChipInputField.js +16 -4
  90. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  91. package/dist/ChipsInput/__tests__/ChipDropdownInput.test.tsx +100 -0
  92. package/dist/ChipsInput/__tests__/ChipInputFields.test.tsx +155 -0
  93. package/dist/Dropdown/BasicDropdown.cjs +12 -3
  94. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  95. package/dist/Dropdown/BasicDropdown.js +12 -3
  96. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  97. package/dist/Dropdown/CommonStyling.cjs +172 -42
  98. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  99. package/dist/Dropdown/CommonStyling.js +172 -42
  100. package/dist/Dropdown/CommonStyling.js.map +1 -1
  101. package/dist/Dropdown/DropdownContent.cjs +36 -10
  102. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  103. package/dist/Dropdown/DropdownContent.js +36 -10
  104. package/dist/Dropdown/DropdownContent.js.map +1 -1
  105. package/dist/Dropdown/DropdownFilter.cjs +12 -3
  106. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  107. package/dist/Dropdown/DropdownFilter.js +12 -3
  108. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  109. package/dist/Dropdown/__tests__/DropdownFilter.test.tsx +39 -0
  110. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +4 -1
  111. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  112. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js +4 -1
  113. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  114. package/dist/Footer/__tests__/Footer.test.tsx +182 -0
  115. package/dist/GlobalNavigationBar/Logo.cjs +2 -1
  116. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  117. package/dist/GlobalNavigationBar/Logo.js +2 -1
  118. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  119. package/dist/GlobalNavigationBar/__tests__/GlobalNavigationBar.tests.d.ts +1 -0
  120. package/dist/GlobalNavigationBar/__tests__/Logo.test.tsx +39 -0
  121. package/dist/GlobalNavigationBar/__tests__/Logo.tests.d.ts +1 -0
  122. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs +10 -1
  123. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  124. package/dist/GlobalNavigationBar/desktop/MainMenu.js +10 -1
  125. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  126. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs +3 -2
  127. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  128. package/dist/GlobalNavigationBar/desktop/RightSideNav.js +3 -2
  129. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  130. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs +4 -1
  131. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  132. package/dist/GlobalNavigationBar/desktop/UserMenu.js +4 -1
  133. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  134. package/dist/GlobalNavigationBar/desktop/__tests__/DesktopActions.test.tsx +108 -0
  135. package/dist/GlobalNavigationBar/desktop/__tests__/ExtendedMainMenu.test.tsx +28 -0
  136. package/dist/GlobalNavigationBar/desktop/__tests__/MainMenu.test.tsx +55 -0
  137. package/dist/GlobalNavigationBar/desktop/__tests__/RightSideNav.test.tsx +45 -0
  138. package/dist/GlobalNavigationBar/desktop/__tests__/UserMenu.test.tsx +125 -0
  139. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  140. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  141. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenu.test.tsx +317 -0
  142. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuContent.test.tsx +294 -0
  143. package/dist/GlobalNavigationBar/mobile/__tests__/MobileMenuHeader.test.tsx +195 -0
  144. package/dist/HyperLink/HyperLink.cjs +18 -2
  145. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  146. package/dist/HyperLink/HyperLink.d.ts +2 -0
  147. package/dist/HyperLink/HyperLink.js +18 -2
  148. package/dist/HyperLink/HyperLink.js.map +1 -1
  149. package/dist/HyperLink/styling.cjs +38 -8
  150. package/dist/HyperLink/styling.cjs.map +1 -1
  151. package/dist/HyperLink/styling.js +38 -8
  152. package/dist/HyperLink/styling.js.map +1 -1
  153. package/dist/InputFields/Checkbox.cjs +54 -14
  154. package/dist/InputFields/Checkbox.cjs.map +1 -1
  155. package/dist/InputFields/Checkbox.js +54 -14
  156. package/dist/InputFields/Checkbox.js.map +1 -1
  157. package/dist/InputFields/DatepickerField.cjs +149 -43
  158. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  159. package/dist/InputFields/DatepickerField.d.ts +1 -1
  160. package/dist/InputFields/DatepickerField.js +150 -44
  161. package/dist/InputFields/DatepickerField.js.map +1 -1
  162. package/dist/InputFields/DatepickerFieldHeader.cjs +20 -5
  163. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  164. package/dist/InputFields/DatepickerFieldHeader.js +20 -5
  165. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  166. package/dist/InputFields/Label.cjs +38 -11
  167. package/dist/InputFields/Label.cjs.map +1 -1
  168. package/dist/InputFields/Label.js +38 -11
  169. package/dist/InputFields/Label.js.map +1 -1
  170. package/dist/InputFields/NumberField.cjs +66 -16
  171. package/dist/InputFields/NumberField.cjs.map +1 -1
  172. package/dist/InputFields/NumberField.js +66 -16
  173. package/dist/InputFields/NumberField.js.map +1 -1
  174. package/dist/InputFields/PasswordField.cjs +4 -1
  175. package/dist/InputFields/PasswordField.cjs.map +1 -1
  176. package/dist/InputFields/PasswordField.d.ts +1 -1
  177. package/dist/InputFields/PasswordField.js +4 -1
  178. package/dist/InputFields/PasswordField.js.map +1 -1
  179. package/dist/InputFields/QuickSearch.cjs +30 -6
  180. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  181. package/dist/InputFields/QuickSearch.js +30 -6
  182. package/dist/InputFields/QuickSearch.js.map +1 -1
  183. package/dist/InputFields/RadioButton.cjs +63 -15
  184. package/dist/InputFields/RadioButton.cjs.map +1 -1
  185. package/dist/InputFields/RadioButton.js +63 -15
  186. package/dist/InputFields/RadioButton.js.map +1 -1
  187. package/dist/InputFields/RichTextField.cjs +60 -15
  188. package/dist/InputFields/RichTextField.cjs.map +1 -1
  189. package/dist/InputFields/RichTextField.js +60 -15
  190. package/dist/InputFields/RichTextField.js.map +1 -1
  191. package/dist/InputFields/SearchBar.cjs +4 -1
  192. package/dist/InputFields/SearchBar.cjs.map +1 -1
  193. package/dist/InputFields/SearchBar.js +4 -1
  194. package/dist/InputFields/SearchBar.js.map +1 -1
  195. package/dist/InputFields/TextField.cjs +9 -3
  196. package/dist/InputFields/TextField.cjs.map +1 -1
  197. package/dist/InputFields/TextField.d.ts +1 -1
  198. package/dist/InputFields/TextField.js +9 -3
  199. package/dist/InputFields/TextField.js.map +1 -1
  200. package/dist/InputFields/Textarea.cjs +68 -17
  201. package/dist/InputFields/Textarea.cjs.map +1 -1
  202. package/dist/InputFields/Textarea.js +68 -17
  203. package/dist/InputFields/Textarea.js.map +1 -1
  204. package/dist/InputFields/__tests__/NumberField.test.tsx +67 -0
  205. package/dist/InputFields/__tests__/NumberInput.test.tsx +68 -0
  206. package/dist/InputFields/__tests__/QuickSearch.test.tsx +42 -0
  207. package/dist/InputFields/components/SearchBarInput.cjs +28 -7
  208. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  209. package/dist/InputFields/components/SearchBarInput.js +28 -7
  210. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  211. package/dist/InputFields/components/SearchField.cjs +60 -15
  212. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  213. package/dist/InputFields/components/SearchField.js +60 -15
  214. package/dist/InputFields/components/SearchField.js.map +1 -1
  215. package/dist/InputFields/styling.cjs +95 -39
  216. package/dist/InputFields/styling.cjs.map +1 -1
  217. package/dist/InputFields/styling.d.ts +1 -2
  218. package/dist/InputFields/styling.js +95 -39
  219. package/dist/InputFields/styling.js.map +1 -1
  220. package/dist/LinearProgress/LinearProgress.cjs +161 -53
  221. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  222. package/dist/LinearProgress/LinearProgress.js +161 -53
  223. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  224. package/dist/LinearProgress/__tests__/LinearProgress.test.tsx +25 -0
  225. package/dist/List/ListRow.cjs +36 -9
  226. package/dist/List/ListRow.cjs.map +1 -1
  227. package/dist/List/ListRow.js +36 -9
  228. package/dist/List/ListRow.js.map +1 -1
  229. package/dist/List/__tests__/ListRow.test.tsx +18 -0
  230. package/dist/List/__tests__/ListRow.tests.d.ts +1 -0
  231. package/dist/LoadingIndicator/LoadingIndicator.cjs +4 -1
  232. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  233. package/dist/LoadingIndicator/LoadingIndicator.js +4 -1
  234. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  235. package/dist/LoadingPage/GlobalLoadingPage.cjs +4 -1
  236. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  237. package/dist/LoadingPage/GlobalLoadingPage.js +4 -1
  238. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  239. package/dist/LoadingPage/__tests__/GlobalLoadingPage.test.tsx +23 -0
  240. package/dist/MenuItem/MenuItem.cjs +101 -26
  241. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  242. package/dist/MenuItem/MenuItem.js +101 -26
  243. package/dist/MenuItem/MenuItem.js.map +1 -1
  244. package/dist/MiniProductCard/MiniProductCard.cjs +15 -1
  245. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  246. package/dist/MiniProductCard/MiniProductCard.d.ts +1 -0
  247. package/dist/MiniProductCard/MiniProductCard.js +15 -1
  248. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  249. package/dist/Modals/Modal.cjs +4 -1
  250. package/dist/Modals/Modal.cjs.map +1 -1
  251. package/dist/Modals/Modal.js +4 -1
  252. package/dist/Modals/Modal.js.map +1 -1
  253. package/dist/Modals/ModalContent.cjs +24 -6
  254. package/dist/Modals/ModalContent.cjs.map +1 -1
  255. package/dist/Modals/ModalContent.js +24 -6
  256. package/dist/Modals/ModalContent.js.map +1 -1
  257. package/dist/Modals/ModalDialog.cjs +12 -3
  258. package/dist/Modals/ModalDialog.cjs.map +1 -1
  259. package/dist/Modals/ModalDialog.js +12 -3
  260. package/dist/Modals/ModalDialog.js.map +1 -1
  261. package/dist/Modals/ModalNote.cjs +16 -4
  262. package/dist/Modals/ModalNote.cjs.map +1 -1
  263. package/dist/Modals/ModalNote.js +16 -4
  264. package/dist/Modals/ModalNote.js.map +1 -1
  265. package/dist/Modals/ModalStyles.cjs +44 -11
  266. package/dist/Modals/ModalStyles.cjs.map +1 -1
  267. package/dist/Modals/ModalStyles.js +44 -11
  268. package/dist/Modals/ModalStyles.js.map +1 -1
  269. package/dist/Modals/__tests__/Modal.test.tsx +169 -0
  270. package/dist/Modals/__tests__/ModalContainer.test.tsx +77 -0
  271. package/dist/Modals/__tests__/ModalContent.test.tsx +126 -0
  272. package/dist/NavItem/NavItem.cjs +11 -2
  273. package/dist/NavItem/NavItem.cjs.map +1 -1
  274. package/dist/NavItem/NavItem.js +11 -2
  275. package/dist/NavItem/NavItem.js.map +1 -1
  276. package/dist/NavItem/__tests__/NavItem.test.ts +6 -0
  277. package/dist/NotificationDot/NotificationDot.cjs +17 -2
  278. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  279. package/dist/NotificationDot/NotificationDot.js +17 -2
  280. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  281. package/dist/NotificationDot/__tests__/NotificationDot.test.tsx +33 -0
  282. package/dist/Paginator/Paginator.cjs +76 -29
  283. package/dist/Paginator/Paginator.cjs.map +1 -1
  284. package/dist/Paginator/Paginator.js +76 -29
  285. package/dist/Paginator/Paginator.js.map +1 -1
  286. package/dist/Paginator/__tests__/Paginator.test.tsx +39 -0
  287. package/dist/Panel/Panel.cjs +4 -1
  288. package/dist/Panel/Panel.cjs.map +1 -1
  289. package/dist/Panel/Panel.js +4 -1
  290. package/dist/Panel/Panel.js.map +1 -1
  291. package/dist/Popover/Popover.cjs +22 -3
  292. package/dist/Popover/Popover.cjs.map +1 -1
  293. package/dist/Popover/Popover.js +22 -3
  294. package/dist/Popover/Popover.js.map +1 -1
  295. package/dist/Popover/__tests__/Popover.test.tsx +64 -0
  296. package/dist/ProfileButton/ProfileButton.cjs +9 -2
  297. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  298. package/dist/ProfileButton/ProfileButton.js +9 -2
  299. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  300. package/dist/ProfileButton/__tests__/ProfileButton.test.tsx +31 -0
  301. package/dist/QuizButton/__tests__/QuizButton.test.tsx +53 -0
  302. package/dist/SegmentControl/SegmentControl.cjs +46 -11
  303. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  304. package/dist/SegmentControl/SegmentControl.js +46 -11
  305. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  306. package/dist/SegmentControl/__tests__/SegmentControl.test.tsx +145 -0
  307. package/dist/SideMenu/SideMenuHeader.cjs +12 -3
  308. package/dist/SideMenu/SideMenuHeader.cjs.map +1 -1
  309. package/dist/SideMenu/SideMenuHeader.js +12 -3
  310. package/dist/SideMenu/SideMenuHeader.js.map +1 -1
  311. package/dist/SideMenu/__tests__/SideMenu.test.tsx +99 -0
  312. package/dist/Switcher/SwitcherMenuItem.cjs +4 -1
  313. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  314. package/dist/Switcher/SwitcherMenuItem.js +4 -1
  315. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  316. package/dist/Switcher/__tests__/SwitcherMenuItem.tsx +14 -0
  317. package/dist/Table/TableFooter.cjs +8 -2
  318. package/dist/Table/TableFooter.cjs.map +1 -1
  319. package/dist/Table/TableFooter.js +8 -2
  320. package/dist/Table/TableFooter.js.map +1 -1
  321. package/dist/Table/TableStyles.cjs +132 -33
  322. package/dist/Table/TableStyles.cjs.map +1 -1
  323. package/dist/Table/TableStyles.js +132 -33
  324. package/dist/Table/TableStyles.js.map +1 -1
  325. package/dist/Table/__tests__/Table.test.tsx +499 -0
  326. package/dist/Tabs/HorizontalTabs.cjs +68 -18
  327. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  328. package/dist/Tabs/HorizontalTabs.js +68 -18
  329. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  330. package/dist/Tabs/TabLink.cjs +4 -1
  331. package/dist/Tabs/TabLink.cjs.map +1 -1
  332. package/dist/Tabs/TabLink.js +4 -1
  333. package/dist/Tabs/TabLink.js.map +1 -1
  334. package/dist/Tabs/VerticalTabs.cjs +1 -0
  335. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  336. package/dist/Tabs/VerticalTabs.js +1 -0
  337. package/dist/Tabs/VerticalTabs.js.map +1 -1
  338. package/dist/Tabs/__tests__/HorizontalTabs.test.tsx +95 -0
  339. package/dist/Tabs/__tests__/TabLink.test.tsx +40 -0
  340. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -0
  341. package/dist/Tabs/__tests__/Tablist.test.tsx +37 -0
  342. package/dist/Tabs/__tests__/Tablist.tests.d.ts +2 -0
  343. package/dist/Tag/Tag.cjs +2 -2
  344. package/dist/Tag/Tag.cjs.map +1 -1
  345. package/dist/Tag/Tag.js +2 -2
  346. package/dist/Tag/Tag.js.map +1 -1
  347. package/dist/Tag/__tests__/Tag.test.tsx +86 -0
  348. package/dist/Tile/Tile.cjs +8 -2
  349. package/dist/Tile/Tile.cjs.map +1 -1
  350. package/dist/Tile/Tile.js +8 -2
  351. package/dist/Tile/Tile.js.map +1 -1
  352. package/dist/Tile/TileCommonItems.cjs +8 -2
  353. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  354. package/dist/Tile/TileCommonItems.js +8 -2
  355. package/dist/Tile/TileCommonItems.js.map +1 -1
  356. package/dist/Tile/TileFooter.cjs +4 -1
  357. package/dist/Tile/TileFooter.cjs.map +1 -1
  358. package/dist/Tile/TileFooter.js +4 -1
  359. package/dist/Tile/TileFooter.js.map +1 -1
  360. package/dist/Tile/TileHeader.cjs +12 -3
  361. package/dist/Tile/TileHeader.cjs.map +1 -1
  362. package/dist/Tile/TileHeader.js +12 -3
  363. package/dist/Tile/TileHeader.js.map +1 -1
  364. package/dist/Toasters/Toast.cjs +62 -13
  365. package/dist/Toasters/Toast.cjs.map +1 -1
  366. package/dist/Toasters/Toast.js +62 -13
  367. package/dist/Toasters/Toast.js.map +1 -1
  368. package/dist/Toasters/__tests__/Toast.test.tsx +74 -0
  369. package/dist/Toggles/ToggleButton.cjs +9 -3
  370. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  371. package/dist/Toggles/ToggleButton.d.ts +1 -1
  372. package/dist/Toggles/ToggleButton.js +9 -3
  373. package/dist/Toggles/ToggleButton.js.map +1 -1
  374. package/dist/Toggles/TogglerStyles.cjs +22 -8
  375. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  376. package/dist/Toggles/TogglerStyles.js +22 -8
  377. package/dist/Toggles/TogglerStyles.js.map +1 -1
  378. package/dist/Toggles/__tests__/ToggleButton.test.tsx +53 -0
  379. package/dist/Toggles/__tests__/ToggleSwitch.test.tsx +87 -0
  380. package/dist/Tooltips/TooltipStyles.cjs +28 -6
  381. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  382. package/dist/Tooltips/TooltipStyles.js +28 -6
  383. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  384. package/dist/Tooltips/__tests__/TooltipWrapper.test.tsx +16 -0
  385. package/dist/common/InputStyling.cjs +30 -7
  386. package/dist/common/InputStyling.cjs.map +1 -1
  387. package/dist/common/InputStyling.js +30 -7
  388. package/dist/common/InputStyling.js.map +1 -1
  389. package/dist/common/Link.cjs +45 -0
  390. package/dist/common/Link.cjs.map +1 -0
  391. package/dist/common/Link.d.ts +9 -0
  392. package/dist/common/Link.js +37 -0
  393. package/dist/common/Link.js.map +1 -0
  394. package/dist/common/NavigationHelper.cjs +30 -0
  395. package/dist/common/NavigationHelper.cjs.map +1 -0
  396. package/dist/common/NavigationHelper.d.ts +4 -0
  397. package/dist/common/NavigationHelper.js +23 -0
  398. package/dist/common/NavigationHelper.js.map +1 -0
  399. package/dist/custom.d.ts +2 -0
  400. package/dist/styles/colors.cjs +439 -84
  401. package/dist/styles/colors.cjs.map +1 -1
  402. package/dist/styles/colors.d.ts +200 -11
  403. package/dist/styles/colors.js +439 -84
  404. package/dist/styles/colors.js.map +1 -1
  405. package/dist/styles/global.cjs +19 -2
  406. package/dist/styles/global.cjs.map +1 -1
  407. package/dist/styles/global.d.ts +3 -2
  408. package/dist/styles/global.js +18 -3
  409. package/dist/styles/global.js.map +1 -1
  410. package/dist/styles/index.cjs +21 -9
  411. package/dist/styles/index.cjs.map +1 -1
  412. package/dist/styles/index.d.ts +2 -2
  413. package/dist/styles/index.js +18 -6
  414. package/dist/styles/index.js.map +1 -1
  415. package/dist/styles/react-datepicker.css +766 -0
  416. package/dist/utils/color-tokens.cjs +91 -0
  417. package/dist/utils/color-tokens.cjs.map +1 -0
  418. package/dist/utils/color-tokens.d.ts +19 -0
  419. package/dist/utils/color-tokens.js +82 -0
  420. package/dist/utils/color-tokens.js.map +1 -0
  421. package/package.json +144 -141
@@ -24,12 +24,21 @@ const ContentAccordionItemHeader = exports.ContentAccordionItemHeader = _styledC
24
24
  align-items: center;
25
25
  box-sizing: border-box;
26
26
  min-height: 48px;
27
- color: ${props => _styles.COLORS.getColor('neutral_600', props.theme)};
27
+ color: ${props => _styles.COLORS.generateToken({
28
+ componentType: 'text',
29
+ defaultVariant: 'subtle'
30
+ }, props.theme)};
28
31
  cursor: pointer;
29
32
 
30
33
  &:hover {
31
- color: ${props => _styles.COLORS.getColor('primary_700', props.theme)};
32
- background-color: ${props => _styles.COLORS.getColor('primary_20', props.theme)};
34
+ color: ${props => _styles.COLORS.generateToken({
35
+ componentType: 'text',
36
+ state: 'hover'
37
+ }, props.theme)};
38
+ background-color: ${props => _styles.COLORS.generateToken({
39
+ componentType: 'bg-surface',
40
+ state: 'hover'
41
+ }, props.theme)};
33
42
  z-index: ${_styles.Z_INDEXES.hover};
34
43
  }
35
44
 
@@ -38,8 +47,14 @@ const ContentAccordionItemHeader = exports.ContentAccordionItemHeader = _styledC
38
47
  }
39
48
 
40
49
  &:active {
41
- color: ${props => _styles.COLORS.getColor('primary_800', props.theme)};
42
- background-color: ${props => _styles.COLORS.getColor('primary_100', props.theme)};
50
+ color: ${props => _styles.COLORS.generateToken({
51
+ componentType: 'text',
52
+ state: 'active'
53
+ }, props.theme)};
54
+ background-color: ${props => _styles.COLORS.generateToken({
55
+ componentType: 'bg-surface',
56
+ state: 'active'
57
+ }, props.theme)};
43
58
  z-index: ${_styles.Z_INDEXES.active};
44
59
  }
45
60
  `;
@@ -56,6 +71,11 @@ const ContentAccordionItemHeaderText = exports.ContentAccordionItemHeaderText =
56
71
  const ContentAccordionItemContent = exports.ContentAccordionItemContent = _styledComponents.default.div`
57
72
  display: none;
58
73
  flex-direction: column;
74
+ color: ${props => _styles.COLORS.generateToken({
75
+ componentType: 'text',
76
+ defaultVariant: 'default'
77
+ }, props.theme)};
78
+
59
79
  `;
60
80
  const ContentAccordionItemContentHeader = exports.ContentAccordionItemContentHeader = _styledComponents.default.div``;
61
81
  const ContentAccordionItemContentBody = exports.ContentAccordionItemContentBody = _styledComponents.default.p``;
@@ -63,7 +83,10 @@ const ContentAccordionItemContentFooter = exports.ContentAccordionItemContentFoo
63
83
  const ContentAccordionItem = exports.ContentAccordionItem = _styledComponents.default.div`
64
84
  display: flex;
65
85
  flex-direction: column;
66
- border-top: 1px solid ${props => _styles.COLORS.getColor('neutral_100', props.theme)};
86
+ border-top: 1px solid ${props => _styles.COLORS.generateToken({
87
+ componentType: 'border',
88
+ defaultVariant: 'subtle'
89
+ }, props.theme)};
67
90
 
68
91
  &.active {
69
92
  ${ContentAccordionItemContent} {
@@ -73,7 +96,10 @@ const ContentAccordionItem = exports.ContentAccordionItem = _styledComponents.de
73
96
 
74
97
  &.disabled {
75
98
  ${ContentAccordionItemHeader} {
76
- color: ${props => _styles.COLORS.getColor('neutral_300', props.theme)};
99
+ color: ${props => _styles.COLORS.generateToken({
100
+ componentType: 'text',
101
+ state: 'disabled'
102
+ }, props.theme)};
77
103
  cursor: not-allowed;
78
104
  pointer-events: none;
79
105
  }
@@ -84,7 +110,10 @@ const ContentAccordionWrapper = exports.ContentAccordionWrapper = _styledCompone
84
110
  position: relative;
85
111
 
86
112
  ${ContentAccordionItem}:last-child {
87
- border-bottom: 1px solid ${props => _styles.COLORS.getColor('neutral_100', props.theme)};
113
+ border-bottom: 1px solid ${props => _styles.COLORS.generateToken({
114
+ componentType: 'border',
115
+ defaultVariant: 'subtle'
116
+ }, props.theme)};
88
117
  }
89
118
 
90
119
  &.small {
@@ -102,7 +131,7 @@ const ContentAccordionWrapper = exports.ContentAccordionWrapper = _styledCompone
102
131
  gap: 8px;
103
132
 
104
133
  ${ContentAccordionItemContentHeader} {
105
- ${props => (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('black', props.theme))}
134
+ ${(0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, null)}
106
135
  }
107
136
 
108
137
  ${ContentAccordionItemContentBody} {
@@ -126,7 +155,7 @@ const ContentAccordionWrapper = exports.ContentAccordionWrapper = _styledCompone
126
155
  gap: 12px;
127
156
 
128
157
  ${ContentAccordionItemContentHeader} {
129
- ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('black', props.theme))}
158
+ ${props => (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, null)}
130
159
  }
131
160
 
132
161
  ${ContentAccordionItemContentBody} {
@@ -150,7 +179,7 @@ const ContentAccordionWrapper = exports.ContentAccordionWrapper = _styledCompone
150
179
  gap: 16px;
151
180
 
152
181
  ${ContentAccordionItemContentHeader} {
153
- ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.getColor('black', props.theme))}
182
+ ${props => (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, null)}
154
183
  }
155
184
 
156
185
  ${ContentAccordionItemContentBody} {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentAccordion.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_types","_icons","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ContentAccordionItemHeader","exports","styled","div","props","COLORS","getColor","theme","Z_INDEXES","hover","focusStyles","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","p","ContentAccordionItemContentFooter","ContentAccordionItem","ContentAccordionWrapper","ComponentSStyling","ComponentTextStyle","Regular","Bold","ComponentMStyling","ComponentLStyling","ContentAccordion","_ref","items","multi","size","Size","Medium","className","onItemStateChanged","rest","_objectWithoutProperties2","opened","setOpened","React","useState","useEffect","item","map","id","find","onItemClick","disabled","includes","newOpened","key","renderItem","title","header","body","footer","isActive","jsxs","concat","children","role","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","onClick","onKeyDown","event","jsx","SystemIcons","Minus","Plus","ChevronDown","ChevronRight","cls","trim","propTypes","_propTypes","arrayOf","shape","string","isRequired","any","bool","func","_default"],"sources":["../../src/Accordion/ContentAccordion.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Size} from '../types';\r\nimport {SystemIcons} from '../icons';\r\nimport {\r\n COLORS,\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n Z_INDEXES,\r\n} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nexport const ContentAccordionItemHeader = styled.div`\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 48px;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderIcon = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderText = styled.div``;\r\n\r\nexport const ContentAccordionItemContent = styled.div`\r\n display: none;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const ContentAccordionItemContentHeader = styled.div``;\r\n\r\nexport const ContentAccordionItemContentBody = styled.p``;\r\n\r\nexport const ContentAccordionItemContentFooter = styled.div``;\r\n\r\nexport const ContentAccordionItem = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n\r\n &.active {\r\n ${ContentAccordionItemContent} {\r\n display: flex;\r\n }\r\n }\r\n\r\n &.disabled {\r\n ${ContentAccordionItemHeader} {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n }\r\n`;\r\n\r\nexport const ContentAccordionWrapper = styled.div`\r\n width: 100%;\r\n position: relative;\r\n\r\n ${ContentAccordionItem}:last-child {\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &.small {\r\n min-width: 320px;\r\n max-width: 528px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 8px;\r\n padding: 0 8px;\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 0 8px 16px 40px;\r\n gap: 8px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.medium {\r\n min-width: 344px;\r\n max-width: 584px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 12px;\r\n padding: 0 12px;\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 8px 12px 24px 48px;\r\n gap: 12px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.large {\r\n min-width: 384px;\r\n max-width: 656px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 16px;\r\n padding: 0 16px;\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 16px 16px 32px 56px;\r\n gap: 16px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\r\n /** Id of the section. Should be unique. */\r\n id: string;\r\n /** Title of the section. */\r\n title: string;\r\n /** Header that will be shown in the content area of the item. */\r\n header?: string;\r\n /** Body that will be shown in the content area of the item */\r\n body: any;\r\n /** Footer that will be shown in the content area of the item */\r\n footer?: any;\r\n /** User can not expand the section if it is disabled */\r\n disabled?: boolean;\r\n /** Initial state of the item (expanded/collapsed) */\r\n active?: boolean;\r\n}\r\n\r\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** List of the content items */\r\n items: ContentAccordionItem[];\r\n /** Allow keeping multiple content sections open */\r\n multi?: boolean;\r\n /** Size of the whole component */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Callback that is called when section is collapsed/expanded. */\r\n onItemStateChanged?: (opened: string[]) => void; \r\n}\r\n\r\n/**\r\n * ContentAccordion component that is capable of displaying multiple collapsable sections with content.\r\n */\r\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\r\n items,\r\n multi = false,\r\n size = Size.Medium,\r\n className,\r\n onItemStateChanged,\r\n ...rest\r\n }) => {\r\n const [opened, setOpened] = React.useState<string[]>([]);\r\n\r\n React.useEffect(() => {\r\n if (multi) {\r\n setOpened(items.filter((item) => item.active).map((item) => item.id));\r\n } else {\r\n let active = items.find((item) => !!item.active)?.id;\r\n if (active) {\r\n setOpened([active]);\r\n }\r\n }\r\n }, [items, multi]);\r\n\r\n const onItemClick = (item: ContentAccordionItem) => {\r\n if (item.disabled) return;\r\n if (opened.includes(item.id)) {\r\n const newOpened = opened.filter((key) => key !== item.id);\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n if (multi) {\r\n const newOpened = [...opened, item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n const newOpened = [item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n }\r\n }\r\n };\r\n\r\n const renderItem = (item: ContentAccordionItem) => {\r\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\r\n const isActive = opened.includes(id);\r\n\r\n return (\r\n <ContentAccordionItem key={id} id={`item_${id}`}\r\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\r\n <ContentAccordionItemHeader\r\n role=\"button\"\r\n id={`headerFor_${id}`}\r\n aria-expanded={isActive}\r\n aria-controls={`itemContentFor_${id}`}\r\n tabIndex={!disabled ? 0 : undefined}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={() => !disabled && onItemClick(item)}\r\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\r\n {...rest}>\r\n <ContentAccordionItemHeaderIcon>\r\n {multi ? isActive ? <SystemIcons.Minus aria-hidden=\"true\" /> : <SystemIcons.Plus aria-hidden=\"true\" /> : isActive ?\r\n <SystemIcons.ChevronDown aria-hidden=\"true\" /> : <SystemIcons.ChevronRight aria-hidden=\"true\" />}\r\n </ContentAccordionItemHeaderIcon>\r\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\r\n </ContentAccordionItemHeader>\r\n <ContentAccordionItemContent id={`itemContentFor_${id}`}>\r\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\r\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\r\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\r\n </ContentAccordionItemContent>\r\n </ContentAccordionItem>\r\n );\r\n };\r\n\r\n const cls = `${size} ${className ?? ''}`.trim();\r\n\r\n return <ContentAccordionWrapper className={cls}>\r\n {items.map((item) => renderItem(item))}\r\n </ContentAccordionWrapper>;\r\n};\r\n\r\nexport default ContentAccordion;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentAccordion.cjs","names":["_react","_interopRequireDefault","require","_styledComponents","_types","_icons","_styles","_common","_jsxRuntime","_excluded","_excluded2","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ContentAccordionItemHeader","exports","styled","div","props","COLORS","generateToken","componentType","defaultVariant","theme","state","Z_INDEXES","hover","focusStyles","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","p","ContentAccordionItemContentFooter","ContentAccordionItem","ContentAccordionWrapper","ComponentSStyling","ComponentTextStyle","Regular","Bold","ComponentMStyling","ComponentLStyling","ContentAccordion","_ref","items","multi","size","Size","Medium","className","onItemStateChanged","rest","_objectWithoutProperties2","opened","setOpened","React","useState","useEffect","item","map","id","find","onItemClick","disabled","includes","newOpened","key","renderItem","title","header","body","footer","isActive","jsxs","concat","children","role","tabIndex","undefined","onMouseDown","defaultOnMouseDownHandler","onClick","onKeyDown","event","jsx","SystemIcons","Minus","Plus","ChevronDown","ChevronRight","cls","trim","propTypes","_propTypes","arrayOf","shape","string","isRequired","any","bool","func","_default"],"sources":["../../src/Accordion/ContentAccordion.tsx"],"sourcesContent":["import React, { ComponentState } from 'react';\r\nimport styled from 'styled-components';\r\nimport {Size} from '../types';\r\nimport {SystemIcons} from '../icons';\r\nimport {\r\n COLORS,\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n Z_INDEXES,\r\n} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nexport const ContentAccordionItemHeader = styled.div`\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 48px;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderIcon = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderText = styled.div``;\r\n\r\nexport const ContentAccordionItemContent = styled.div`\r\n display: none;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n\r\n`;\r\n\r\nexport const ContentAccordionItemContentHeader = styled.div``;\r\n\r\nexport const ContentAccordionItemContentBody = styled.p``;\r\n\r\nexport const ContentAccordionItemContentFooter = styled.div``;\r\n\r\nexport const ContentAccordionItem = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-top: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n\r\n &.active {\r\n ${ContentAccordionItemContent} {\r\n display: flex;\r\n }\r\n }\r\n\r\n &.disabled {\r\n ${ContentAccordionItemHeader} {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n }\r\n`;\r\n\r\nexport const ContentAccordionWrapper = styled.div`\r\n width: 100%;\r\n position: relative;\r\n\r\n ${ContentAccordionItem}:last-child {\r\n border-bottom: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.small {\r\n min-width: 320px;\r\n max-width: 528px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 8px;\r\n padding: 0 8px;\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 0 8px 16px 40px;\r\n gap: 8px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.medium {\r\n min-width: 344px;\r\n max-width: 584px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 12px;\r\n padding: 0 12px;\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 8px 12px 24px 48px;\r\n gap: 12px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.large {\r\n min-width: 384px;\r\n max-width: 656px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 16px;\r\n padding: 0 16px;\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 16px 16px 32px 56px;\r\n gap: 16px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\r\n /** Id of the section. Should be unique. */\r\n id: string;\r\n /** Title of the section. */\r\n title: string;\r\n /** Header that will be shown in the content area of the item. */\r\n header?: string;\r\n /** Body that will be shown in the content area of the item */\r\n body: any;\r\n /** Footer that will be shown in the content area of the item */\r\n footer?: any;\r\n /** User can not expand the section if it is disabled */\r\n disabled?: boolean;\r\n /** Initial state of the item (expanded/collapsed) */\r\n active?: boolean;\r\n}\r\n\r\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** List of the content items */\r\n items: ContentAccordionItem[];\r\n /** Allow keeping multiple content sections open */\r\n multi?: boolean;\r\n /** Size of the whole component */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Callback that is called when section is collapsed/expanded. */\r\n onItemStateChanged?: (opened: string[]) => void; \r\n}\r\n\r\n/**\r\n * ContentAccordion component that is capable of displaying multiple collapsable sections with content.\r\n */\r\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\r\n items,\r\n multi = false,\r\n size = Size.Medium,\r\n className,\r\n onItemStateChanged,\r\n ...rest\r\n }) => {\r\n const [opened, setOpened] = React.useState<string[]>([]);\r\n\r\n React.useEffect(() => {\r\n if (multi) {\r\n setOpened(items.filter((item) => item.active).map((item) => item.id));\r\n } else {\r\n let active = items.find((item) => !!item.active)?.id;\r\n if (active) {\r\n setOpened([active]);\r\n }\r\n }\r\n }, [items, multi]);\r\n\r\n const onItemClick = (item: ContentAccordionItem) => {\r\n if (item.disabled) return;\r\n if (opened.includes(item.id)) {\r\n const newOpened = opened.filter((key) => key !== item.id);\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n if (multi) {\r\n const newOpened = [...opened, item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n const newOpened = [item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n }\r\n }\r\n };\r\n\r\n const renderItem = (item: ContentAccordionItem) => {\r\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\r\n const isActive = opened.includes(id);\r\n\r\n return (\r\n <ContentAccordionItem key={id} id={`item_${id}`}\r\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\r\n <ContentAccordionItemHeader\r\n role=\"button\"\r\n id={`headerFor_${id}`}\r\n aria-expanded={isActive}\r\n aria-controls={`itemContentFor_${id}`}\r\n tabIndex={!disabled ? 0 : undefined}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={() => !disabled && onItemClick(item)}\r\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\r\n {...rest}>\r\n <ContentAccordionItemHeaderIcon>\r\n {multi ? isActive ? <SystemIcons.Minus aria-hidden=\"true\" /> : <SystemIcons.Plus aria-hidden=\"true\" /> : isActive ?\r\n <SystemIcons.ChevronDown aria-hidden=\"true\" /> : <SystemIcons.ChevronRight aria-hidden=\"true\" />}\r\n </ContentAccordionItemHeaderIcon>\r\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\r\n </ContentAccordionItemHeader>\r\n <ContentAccordionItemContent id={`itemContentFor_${id}`}>\r\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\r\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\r\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\r\n </ContentAccordionItemContent>\r\n </ContentAccordionItem>\r\n );\r\n };\r\n\r\n const cls = `${size} ${className ?? ''}`.trim();\r\n\r\n return <ContentAccordionWrapper className={cls}>\r\n {items.map((item) => renderItem(item))}\r\n </ContentAccordionWrapper>;\r\n};\r\n\r\nexport default ContentAccordion;\r\n"],"mappings":"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","ignoreList":[]}
@@ -17,12 +17,21 @@ export const ContentAccordionItemHeader = styled.div`
17
17
  align-items: center;
18
18
  box-sizing: border-box;
19
19
  min-height: 48px;
20
- color: ${props => COLORS.getColor('neutral_600', props.theme)};
20
+ color: ${props => COLORS.generateToken({
21
+ componentType: 'text',
22
+ defaultVariant: 'subtle'
23
+ }, props.theme)};
21
24
  cursor: pointer;
22
25
 
23
26
  &:hover {
24
- color: ${props => COLORS.getColor('primary_700', props.theme)};
25
- background-color: ${props => COLORS.getColor('primary_20', props.theme)};
27
+ color: ${props => COLORS.generateToken({
28
+ componentType: 'text',
29
+ state: 'hover'
30
+ }, props.theme)};
31
+ background-color: ${props => COLORS.generateToken({
32
+ componentType: 'bg-surface',
33
+ state: 'hover'
34
+ }, props.theme)};
26
35
  z-index: ${Z_INDEXES.hover};
27
36
  }
28
37
 
@@ -31,8 +40,14 @@ export const ContentAccordionItemHeader = styled.div`
31
40
  }
32
41
 
33
42
  &:active {
34
- color: ${props => COLORS.getColor('primary_800', props.theme)};
35
- background-color: ${props => COLORS.getColor('primary_100', props.theme)};
43
+ color: ${props => COLORS.generateToken({
44
+ componentType: 'text',
45
+ state: 'active'
46
+ }, props.theme)};
47
+ background-color: ${props => COLORS.generateToken({
48
+ componentType: 'bg-surface',
49
+ state: 'active'
50
+ }, props.theme)};
36
51
  z-index: ${Z_INDEXES.active};
37
52
  }
38
53
  `;
@@ -49,6 +64,11 @@ export const ContentAccordionItemHeaderText = styled.div``;
49
64
  export const ContentAccordionItemContent = styled.div`
50
65
  display: none;
51
66
  flex-direction: column;
67
+ color: ${props => COLORS.generateToken({
68
+ componentType: 'text',
69
+ defaultVariant: 'default'
70
+ }, props.theme)};
71
+
52
72
  `;
53
73
  export const ContentAccordionItemContentHeader = styled.div``;
54
74
  export const ContentAccordionItemContentBody = styled.p``;
@@ -56,7 +76,10 @@ export const ContentAccordionItemContentFooter = styled.div``;
56
76
  export const ContentAccordionItem = styled.div`
57
77
  display: flex;
58
78
  flex-direction: column;
59
- border-top: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
79
+ border-top: 1px solid ${props => COLORS.generateToken({
80
+ componentType: 'border',
81
+ defaultVariant: 'subtle'
82
+ }, props.theme)};
60
83
 
61
84
  &.active {
62
85
  ${ContentAccordionItemContent} {
@@ -66,7 +89,10 @@ export const ContentAccordionItem = styled.div`
66
89
 
67
90
  &.disabled {
68
91
  ${ContentAccordionItemHeader} {
69
- color: ${props => COLORS.getColor('neutral_300', props.theme)};
92
+ color: ${props => COLORS.generateToken({
93
+ componentType: 'text',
94
+ state: 'disabled'
95
+ }, props.theme)};
70
96
  cursor: not-allowed;
71
97
  pointer-events: none;
72
98
  }
@@ -77,7 +103,10 @@ export const ContentAccordionWrapper = styled.div`
77
103
  position: relative;
78
104
 
79
105
  ${ContentAccordionItem}:last-child {
80
- border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};
106
+ border-bottom: 1px solid ${props => COLORS.generateToken({
107
+ componentType: 'border',
108
+ defaultVariant: 'subtle'
109
+ }, props.theme)};
81
110
  }
82
111
 
83
112
  &.small {
@@ -95,7 +124,7 @@ export const ContentAccordionWrapper = styled.div`
95
124
  gap: 8px;
96
125
 
97
126
  ${ContentAccordionItemContentHeader} {
98
- ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}
127
+ ${ComponentSStyling(ComponentTextStyle.Bold, null)}
99
128
  }
100
129
 
101
130
  ${ContentAccordionItemContentBody} {
@@ -119,7 +148,7 @@ export const ContentAccordionWrapper = styled.div`
119
148
  gap: 12px;
120
149
 
121
150
  ${ContentAccordionItemContentHeader} {
122
- ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}
151
+ ${props => ComponentMStyling(ComponentTextStyle.Bold, null)}
123
152
  }
124
153
 
125
154
  ${ContentAccordionItemContentBody} {
@@ -143,7 +172,7 @@ export const ContentAccordionWrapper = styled.div`
143
172
  gap: 16px;
144
173
 
145
174
  ${ContentAccordionItemContentHeader} {
146
- ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}
175
+ ${props => ComponentLStyling(ComponentTextStyle.Bold, null)}
147
176
  }
148
177
 
149
178
  ${ContentAccordionItemContentBody} {
@@ -1 +1 @@
1
- {"version":3,"file":"ContentAccordion.js","names":["React","styled","Size","SystemIcons","COLORS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","jsxs","_jsxs","ContentAccordionItemHeader","div","props","getColor","theme","hover","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","p","ContentAccordionItemContentFooter","ContentAccordionItem","ContentAccordionWrapper","Regular","Bold","ContentAccordion","_ref","items","multi","size","Medium","className","onItemStateChanged","rest","_objectWithoutProperties","_excluded","opened","setOpened","useState","useEffect","filter","item","map","id","find","onItemClick","disabled","includes","newOpened","key","renderItem","title","header","body","footer","_excluded2","isActive","concat","children","_objectSpread","role","tabIndex","undefined","onMouseDown","onClick","onKeyDown","event","Minus","Plus","ChevronDown","ChevronRight","cls","trim","propTypes","_pt","arrayOf","shape","string","isRequired","any","bool","func"],"sources":["../../src/Accordion/ContentAccordion.tsx"],"sourcesContent":["import React from 'react';\r\nimport styled from 'styled-components';\r\nimport {Size} from '../types';\r\nimport {SystemIcons} from '../icons';\r\nimport {\r\n COLORS,\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n Z_INDEXES,\r\n} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nexport const ContentAccordionItemHeader = styled.div`\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 48px;\r\n color: ${props => COLORS.getColor('neutral_600', props.theme)};\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: ${props => COLORS.getColor('primary_700', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_20', props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:active {\r\n color: ${props => COLORS.getColor('primary_800', props.theme)};\r\n background-color: ${props => COLORS.getColor('primary_100', props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderIcon = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderText = styled.div``;\r\n\r\nexport const ContentAccordionItemContent = styled.div`\r\n display: none;\r\n flex-direction: column;\r\n`;\r\n\r\nexport const ContentAccordionItemContentHeader = styled.div``;\r\n\r\nexport const ContentAccordionItemContentBody = styled.p``;\r\n\r\nexport const ContentAccordionItemContentFooter = styled.div``;\r\n\r\nexport const ContentAccordionItem = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-top: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n\r\n &.active {\r\n ${ContentAccordionItemContent} {\r\n display: flex;\r\n }\r\n }\r\n\r\n &.disabled {\r\n ${ContentAccordionItemHeader} {\r\n color: ${props => COLORS.getColor('neutral_300', props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n }\r\n`;\r\n\r\nexport const ContentAccordionWrapper = styled.div`\r\n width: 100%;\r\n position: relative;\r\n\r\n ${ContentAccordionItem}:last-child {\r\n border-bottom: 1px solid ${props => COLORS.getColor('neutral_100', props.theme)};\r\n }\r\n\r\n &.small {\r\n min-width: 320px;\r\n max-width: 528px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 8px;\r\n padding: 0 8px;\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 0 8px 16px 40px;\r\n gap: 8px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentSStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.medium {\r\n min-width: 344px;\r\n max-width: 584px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 12px;\r\n padding: 0 12px;\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 8px 12px 24px 48px;\r\n gap: 12px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.large {\r\n min-width: 384px;\r\n max-width: 656px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 16px;\r\n padding: 0 16px;\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 16px 16px 32px 56px;\r\n gap: 16px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, COLORS.getColor('black', props.theme))}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\r\n /** Id of the section. Should be unique. */\r\n id: string;\r\n /** Title of the section. */\r\n title: string;\r\n /** Header that will be shown in the content area of the item. */\r\n header?: string;\r\n /** Body that will be shown in the content area of the item */\r\n body: any;\r\n /** Footer that will be shown in the content area of the item */\r\n footer?: any;\r\n /** User can not expand the section if it is disabled */\r\n disabled?: boolean;\r\n /** Initial state of the item (expanded/collapsed) */\r\n active?: boolean;\r\n}\r\n\r\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** List of the content items */\r\n items: ContentAccordionItem[];\r\n /** Allow keeping multiple content sections open */\r\n multi?: boolean;\r\n /** Size of the whole component */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Callback that is called when section is collapsed/expanded. */\r\n onItemStateChanged?: (opened: string[]) => void; \r\n}\r\n\r\n/**\r\n * ContentAccordion component that is capable of displaying multiple collapsable sections with content.\r\n */\r\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\r\n items,\r\n multi = false,\r\n size = Size.Medium,\r\n className,\r\n onItemStateChanged,\r\n ...rest\r\n }) => {\r\n const [opened, setOpened] = React.useState<string[]>([]);\r\n\r\n React.useEffect(() => {\r\n if (multi) {\r\n setOpened(items.filter((item) => item.active).map((item) => item.id));\r\n } else {\r\n let active = items.find((item) => !!item.active)?.id;\r\n if (active) {\r\n setOpened([active]);\r\n }\r\n }\r\n }, [items, multi]);\r\n\r\n const onItemClick = (item: ContentAccordionItem) => {\r\n if (item.disabled) return;\r\n if (opened.includes(item.id)) {\r\n const newOpened = opened.filter((key) => key !== item.id);\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n if (multi) {\r\n const newOpened = [...opened, item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n const newOpened = [item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n }\r\n }\r\n };\r\n\r\n const renderItem = (item: ContentAccordionItem) => {\r\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\r\n const isActive = opened.includes(id);\r\n\r\n return (\r\n <ContentAccordionItem key={id} id={`item_${id}`}\r\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\r\n <ContentAccordionItemHeader\r\n role=\"button\"\r\n id={`headerFor_${id}`}\r\n aria-expanded={isActive}\r\n aria-controls={`itemContentFor_${id}`}\r\n tabIndex={!disabled ? 0 : undefined}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={() => !disabled && onItemClick(item)}\r\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\r\n {...rest}>\r\n <ContentAccordionItemHeaderIcon>\r\n {multi ? isActive ? <SystemIcons.Minus aria-hidden=\"true\" /> : <SystemIcons.Plus aria-hidden=\"true\" /> : isActive ?\r\n <SystemIcons.ChevronDown aria-hidden=\"true\" /> : <SystemIcons.ChevronRight aria-hidden=\"true\" />}\r\n </ContentAccordionItemHeaderIcon>\r\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\r\n </ContentAccordionItemHeader>\r\n <ContentAccordionItemContent id={`itemContentFor_${id}`}>\r\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\r\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\r\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\r\n </ContentAccordionItemContent>\r\n </ContentAccordionItem>\r\n );\r\n };\r\n\r\n const cls = `${size} ${className ?? ''}`.trim();\r\n\r\n return <ContentAccordionWrapper className={cls}>\r\n {items.map((item) => renderItem(item))}\r\n </ContentAccordionWrapper>;\r\n};\r\n\r\nexport default ContentAccordion;\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ContentAccordion.js","names":["React","styled","Size","SystemIcons","COLORS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","focusStyles","Z_INDEXES","defaultOnMouseDownHandler","jsx","_jsx","jsxs","_jsxs","ContentAccordionItemHeader","div","props","generateToken","componentType","defaultVariant","theme","state","hover","active","ContentAccordionItemHeaderIcon","ContentAccordionItemHeaderText","ContentAccordionItemContent","ContentAccordionItemContentHeader","ContentAccordionItemContentBody","p","ContentAccordionItemContentFooter","ContentAccordionItem","ContentAccordionWrapper","Regular","Bold","ContentAccordion","_ref","items","multi","size","Medium","className","onItemStateChanged","rest","_objectWithoutProperties","_excluded","opened","setOpened","useState","useEffect","filter","item","map","id","find","onItemClick","disabled","includes","newOpened","key","renderItem","title","header","body","footer","_excluded2","isActive","concat","children","_objectSpread","role","tabIndex","undefined","onMouseDown","onClick","onKeyDown","event","Minus","Plus","ChevronDown","ChevronRight","cls","trim","propTypes","_pt","arrayOf","shape","string","isRequired","any","bool","func"],"sources":["../../src/Accordion/ContentAccordion.tsx"],"sourcesContent":["import React, { ComponentState } from 'react';\r\nimport styled from 'styled-components';\r\nimport {Size} from '../types';\r\nimport {SystemIcons} from '../icons';\r\nimport {\r\n COLORS,\r\n ComponentLStyling,\r\n ComponentMStyling,\r\n ComponentSStyling,\r\n ComponentTextStyle,\r\n focusStyles,\r\n Z_INDEXES,\r\n} from '../styles';\r\nimport {defaultOnMouseDownHandler} from '../common';\r\n\r\nexport const ContentAccordionItemHeader = styled.div`\r\n display: flex;\r\n align-items: center;\r\n box-sizing: border-box;\r\n min-height: 48px;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'subtle' }, props.theme)};\r\n cursor: pointer;\r\n\r\n &:hover {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'hover' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'hover' }, props.theme)};\r\n z-index: ${Z_INDEXES.hover};\r\n }\r\n\r\n &:focus {\r\n ${focusStyles}\r\n }\r\n\r\n &:active {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'active' }, props.theme)};\r\n background-color: ${props => COLORS.generateToken({ componentType: 'bg-surface', state: 'active' }, props.theme)};\r\n z-index: ${Z_INDEXES.active};\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderIcon = styled.div`\r\n width: 24px;\r\n height: 24px;\r\n\r\n svg {\r\n width: 24px;\r\n height: 24px;\r\n }\r\n`;\r\n\r\nexport const ContentAccordionItemHeaderText = styled.div``;\r\n\r\nexport const ContentAccordionItemContent = styled.div`\r\n display: none;\r\n flex-direction: column;\r\n color: ${props => COLORS.generateToken({ componentType: 'text', defaultVariant: 'default' }, props.theme)};\r\n\r\n`;\r\n\r\nexport const ContentAccordionItemContentHeader = styled.div``;\r\n\r\nexport const ContentAccordionItemContentBody = styled.p``;\r\n\r\nexport const ContentAccordionItemContentFooter = styled.div``;\r\n\r\nexport const ContentAccordionItem = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n border-top: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n\r\n &.active {\r\n ${ContentAccordionItemContent} {\r\n display: flex;\r\n }\r\n }\r\n\r\n &.disabled {\r\n ${ContentAccordionItemHeader} {\r\n color: ${props => COLORS.generateToken({ componentType: 'text', state: 'disabled' }, props.theme)};\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n }\r\n }\r\n`;\r\n\r\nexport const ContentAccordionWrapper = styled.div`\r\n width: 100%;\r\n position: relative;\r\n\r\n ${ContentAccordionItem}:last-child {\r\n border-bottom: 1px solid ${props => COLORS.generateToken({ componentType: 'border', defaultVariant: 'subtle' }, props.theme)};\r\n }\r\n\r\n &.small {\r\n min-width: 320px;\r\n max-width: 528px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 8px;\r\n padding: 0 8px;\r\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 0 8px 16px 40px;\r\n gap: 8px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.medium {\r\n min-width: 344px;\r\n max-width: 584px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 12px;\r\n padding: 0 12px;\r\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 8px 12px 24px 48px;\r\n gap: 12px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentMStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n\r\n &.large {\r\n min-width: 384px;\r\n max-width: 656px;\r\n\r\n ${ContentAccordionItemHeader} {\r\n gap: 16px;\r\n padding: 0 16px;\r\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\r\n }\r\n\r\n ${ContentAccordionItemContent} {\r\n padding: 16px 16px 32px 56px;\r\n gap: 16px;\r\n\r\n ${ContentAccordionItemContentHeader} {\r\n ${props => ComponentLStyling(ComponentTextStyle.Bold, null)}\r\n }\r\n\r\n ${ContentAccordionItemContentBody} {\r\n //TODO\r\n }\r\n }\r\n }\r\n`;\r\n\r\nexport interface ContentAccordionItem extends Omit<React.HTMLAttributes<HTMLDivElement>, 'id' | 'onMouseDown' | 'onClick' | 'onKeyDown'> {\r\n /** Id of the section. Should be unique. */\r\n id: string;\r\n /** Title of the section. */\r\n title: string;\r\n /** Header that will be shown in the content area of the item. */\r\n header?: string;\r\n /** Body that will be shown in the content area of the item */\r\n body: any;\r\n /** Footer that will be shown in the content area of the item */\r\n footer?: any;\r\n /** User can not expand the section if it is disabled */\r\n disabled?: boolean;\r\n /** Initial state of the item (expanded/collapsed) */\r\n active?: boolean;\r\n}\r\n\r\nexport interface ContentAccordionProps extends React.HTMLAttributes<HTMLDivElement> {\r\n /** List of the content items */\r\n items: ContentAccordionItem[];\r\n /** Allow keeping multiple content sections open */\r\n multi?: boolean;\r\n /** Size of the whole component */\r\n size?: Size.Small | Size.Medium | Size.Large;\r\n /** Callback that is called when section is collapsed/expanded. */\r\n onItemStateChanged?: (opened: string[]) => void; \r\n}\r\n\r\n/**\r\n * ContentAccordion component that is capable of displaying multiple collapsable sections with content.\r\n */\r\nexport const ContentAccordion: React.FunctionComponent<ContentAccordionProps> = ({\r\n items,\r\n multi = false,\r\n size = Size.Medium,\r\n className,\r\n onItemStateChanged,\r\n ...rest\r\n }) => {\r\n const [opened, setOpened] = React.useState<string[]>([]);\r\n\r\n React.useEffect(() => {\r\n if (multi) {\r\n setOpened(items.filter((item) => item.active).map((item) => item.id));\r\n } else {\r\n let active = items.find((item) => !!item.active)?.id;\r\n if (active) {\r\n setOpened([active]);\r\n }\r\n }\r\n }, [items, multi]);\r\n\r\n const onItemClick = (item: ContentAccordionItem) => {\r\n if (item.disabled) return;\r\n if (opened.includes(item.id)) {\r\n const newOpened = opened.filter((key) => key !== item.id);\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n if (multi) {\r\n const newOpened = [...opened, item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n } else {\r\n const newOpened = [item.id];\r\n setOpened(newOpened);\r\n onItemStateChanged && onItemStateChanged(newOpened);\r\n }\r\n }\r\n };\r\n\r\n const renderItem = (item: ContentAccordionItem) => {\r\n const {id, title, header, body, footer, disabled, active, ...rest} = item;\r\n const isActive = opened.includes(id);\r\n\r\n return (\r\n <ContentAccordionItem key={id} id={`item_${id}`}\r\n className={''.concat(isActive ? ' active' : '').concat(item.disabled ? ' disabled' : '')}>\r\n <ContentAccordionItemHeader\r\n role=\"button\"\r\n id={`headerFor_${id}`}\r\n aria-expanded={isActive}\r\n aria-controls={`itemContentFor_${id}`}\r\n tabIndex={!disabled ? 0 : undefined}\r\n onMouseDown={defaultOnMouseDownHandler}\r\n onClick={() => !disabled && onItemClick(item)}\r\n onKeyDown={(event) => event.key === 'Enter' && onItemClick(item)}\r\n {...rest}>\r\n <ContentAccordionItemHeaderIcon>\r\n {multi ? isActive ? <SystemIcons.Minus aria-hidden=\"true\" /> : <SystemIcons.Plus aria-hidden=\"true\" /> : isActive ?\r\n <SystemIcons.ChevronDown aria-hidden=\"true\" /> : <SystemIcons.ChevronRight aria-hidden=\"true\" />}\r\n </ContentAccordionItemHeaderIcon>\r\n <ContentAccordionItemHeaderText>{title}</ContentAccordionItemHeaderText>\r\n </ContentAccordionItemHeader>\r\n <ContentAccordionItemContent id={`itemContentFor_${id}`}>\r\n {header && <ContentAccordionItemContentHeader>{header}</ContentAccordionItemContentHeader>}\r\n <ContentAccordionItemContentBody>{body}</ContentAccordionItemContentBody>\r\n {footer && <ContentAccordionItemContentFooter>{footer}</ContentAccordionItemContentFooter>}\r\n </ContentAccordionItemContent>\r\n </ContentAccordionItem>\r\n );\r\n };\r\n\r\n const cls = `${size} ${className ?? ''}`.trim();\r\n\r\n return <ContentAccordionWrapper className={cls}>\r\n {items.map((item) => renderItem(item))}\r\n </ContentAccordionWrapper>;\r\n};\r\n\r\nexport default ContentAccordion;\r\n"],"mappings":";;;;;;;AAAA,OAAOA,KAAK,MAA0B,OAAO;AAC7C,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,IAAI,QAAO,UAAU;AAC7B,SAAQC,WAAW,QAAO,UAAU;AACpC,SACEC,MAAM,EACNC,iBAAiB,EACjBC,iBAAiB,EACjBC,iBAAiB,EACjBC,kBAAkB,EAClBC,WAAW,EACXC,SAAS,QACJ,WAAW;AAClB,SAAQC,yBAAyB,QAAO,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEpD,OAAO,MAAMC,0BAA0B,GAAGf,MAAM,CAACgB,GAAG;AACpD;AACA;AACA;AACA;AACA,WAAWC,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEH,KAAK,CAACI,KAAK,CAAC;AAC1G;AACA;AACA;AACA,aAAaJ,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEG,KAAK,EAAE;AAAQ,CAAC,EAAEL,KAAK,CAACI,KAAK,CAAC;AAClG,wBAAwBJ,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEG,KAAK,EAAE;AAAQ,CAAC,EAAEL,KAAK,CAACI,KAAK,CAAC;AACnH,eAAeZ,SAAS,CAACc,KAAK;AAC9B;AACA;AACA;AACA,MAAMf,WAAW;AACjB;AACA;AACA;AACA,aAAaS,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEG,KAAK,EAAE;AAAS,CAAC,EAAEL,KAAK,CAACI,KAAK,CAAC;AACnG,wBAAwBJ,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,YAAY;EAAEG,KAAK,EAAE;AAAS,CAAC,EAAEL,KAAK,CAACI,KAAK,CAAC;AACpH,eAAeZ,SAAS,CAACe,MAAM;AAC/B;AACA,CAAC;AAED,OAAO,MAAMC,8BAA8B,GAAGzB,MAAM,CAACgB,GAAG;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMU,8BAA8B,GAAG1B,MAAM,CAACgB,GAAG,EAAE;AAE1D,OAAO,MAAMW,2BAA2B,GAAG3B,MAAM,CAACgB,GAAG;AACrD;AACA;AACA,WAAWC,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEC,cAAc,EAAE;AAAU,CAAC,EAAEH,KAAK,CAACI,KAAK,CAAC;AAC3G;AACA,CAAC;AAED,OAAO,MAAMO,iCAAiC,GAAG5B,MAAM,CAACgB,GAAG,EAAE;AAE7D,OAAO,MAAMa,+BAA+B,GAAG7B,MAAM,CAAC8B,CAAC,EAAE;AAEzD,OAAO,MAAMC,iCAAiC,GAAG/B,MAAM,CAACgB,GAAG,EAAE;AAE7D,OAAO,MAAMgB,oBAAoB,GAAGhC,MAAM,CAACgB,GAAG;AAC9C;AACA;AACA,0BAA0BC,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEH,KAAK,CAACI,KAAK,CAAC;AAC3H;AACA;AACA,MAAMM,2BAA2B;AACjC;AACA;AACA;AACA;AACA;AACA,MAAMZ,0BAA0B;AAChC,eAAeE,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,MAAM;EAAEG,KAAK,EAAE;AAAW,CAAC,EAAEL,KAAK,CAACI,KAAK,CAAC;AACvG;AACA;AACA;AACA;AACA,CAAC;AAED,OAAO,MAAMY,uBAAuB,GAAGjC,MAAM,CAACgB,GAAG;AACjD;AACA;AACA;AACA,IAAIgB,oBAAoB;AACxB,+BAA+Bf,KAAK,IAAId,MAAM,CAACe,aAAa,CAAC;EAAEC,aAAa,EAAE,QAAQ;EAAEC,cAAc,EAAE;AAAS,CAAC,EAAEH,KAAK,CAACI,KAAK,CAAC;AAChI;AACA;AACA;AACA;AACA;AACA;AACA,MAAMN,0BAA0B;AAChC;AACA;AACA,QAAQT,iBAAiB,CAACC,kBAAkB,CAAC2B,OAAO,EAAE,IAAI,CAAC;AAC3D;AACA;AACA,MAAMP,2BAA2B;AACjC;AACA;AACA;AACA,QAAQC,iCAAiC;AACzC,UAAUtB,iBAAiB,CAACC,kBAAkB,CAAC4B,IAAI,EAAE,IAAI,CAAC;AAC1D;AACA;AACA,QAAQN,+BAA+B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMd,0BAA0B;AAChC;AACA;AACA,QAAQV,iBAAiB,CAACE,kBAAkB,CAAC2B,OAAO,EAAE,IAAI,CAAC;AAC3D;AACA;AACA,MAAMP,2BAA2B;AACjC;AACA;AACA;AACA,QAAQC,iCAAiC;AACzC,UAAUX,KAAK,IAAIZ,iBAAiB,CAACE,kBAAkB,CAAC4B,IAAI,EAAE,IAAI,CAAC;AACnE;AACA;AACA,QAAQN,+BAA+B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMd,0BAA0B;AAChC;AACA;AACA,QAAQX,iBAAiB,CAACG,kBAAkB,CAAC2B,OAAO,EAAE,IAAI,CAAC;AAC3D;AACA;AACA,MAAMP,2BAA2B;AACjC;AACA;AACA;AACA,QAAQC,iCAAiC;AACzC,UAAUX,KAAK,IAAIb,iBAAiB,CAACG,kBAAkB,CAAC4B,IAAI,EAAE,IAAI,CAAC;AACnE;AACA;AACA,QAAQN,+BAA+B;AACvC;AACA;AACA;AACA;AACA,CAAC;AA8BD;AACA;AACA;AACA,OAAO,MAAMO,gBAAgE,GAAGC,IAAA,IAOO;EAAA,IAPN;MACEC,KAAK;MACLC,KAAK,GAAG,KAAK;MACbC,IAAI,GAAGvC,IAAI,CAACwC,MAAM;MAClBC,SAAS;MACTC;IAEF,CAAC,GAAAN,IAAA;IADIO,IAAI,GAAAC,wBAAA,CAAAR,IAAA,EAAAS,SAAA;EAExF,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGjD,KAAK,CAACkD,QAAQ,CAAW,EAAE,CAAC;EAExDlD,KAAK,CAACmD,SAAS,CAAC,MAAM;IACpB,IAAIX,KAAK,EAAE;MACTS,SAAS,CAACV,KAAK,CAACa,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAAC5B,MAAM,CAAC,CAAC6B,GAAG,CAAED,IAAI,IAAKA,IAAI,CAACE,EAAE,CAAC,CAAC;IACvE,CAAC,MAAM;MACL,IAAI9B,MAAM,GAAGc,KAAK,CAACiB,IAAI,CAAEH,IAAI,IAAK,CAAC,CAACA,IAAI,CAAC5B,MAAM,CAAC,EAAE8B,EAAE;MACpD,IAAI9B,MAAM,EAAE;QACVwB,SAAS,CAAC,CAACxB,MAAM,CAAC,CAAC;MACrB;IACF;EACF,CAAC,EAAE,CAACc,KAAK,EAAEC,KAAK,CAAC,CAAC;EAElB,MAAMiB,WAAW,GAAIJ,IAA0B,IAAK;IAClD,IAAIA,IAAI,CAACK,QAAQ,EAAE;IACnB,IAAIV,MAAM,CAACW,QAAQ,CAACN,IAAI,CAACE,EAAE,CAAC,EAAE;MAC5B,MAAMK,SAAS,GAAGZ,MAAM,CAACI,MAAM,CAAES,GAAG,IAAKA,GAAG,KAAKR,IAAI,CAACE,EAAE,CAAC;MACzDN,SAAS,CAACW,SAAS,CAAC;MACpBhB,kBAAkB,IAAIA,kBAAkB,CAACgB,SAAS,CAAC;IACrD,CAAC,MAAM;MACL,IAAIpB,KAAK,EAAE;QACT,MAAMoB,SAAS,GAAG,CAAC,GAAGZ,MAAM,EAAEK,IAAI,CAACE,EAAE,CAAC;QACtCN,SAAS,CAACW,SAAS,CAAC;QACpBhB,kBAAkB,IAAIA,kBAAkB,CAACgB,SAAS,CAAC;MACrD,CAAC,MAAM;QACL,MAAMA,SAAS,GAAG,CAACP,IAAI,CAACE,EAAE,CAAC;QAC3BN,SAAS,CAACW,SAAS,CAAC;QACpBhB,kBAAkB,IAAIA,kBAAkB,CAACgB,SAAS,CAAC;MACrD;IACF;EACF,CAAC;EAED,MAAME,UAAU,GAAIT,IAA0B,IAAK;IACjD,MAAM;QAACE,EAAE;QAAEQ,KAAK;QAAEC,MAAM;QAAEC,IAAI;QAAEC,MAAM;QAAER,QAAQ;QAAEjC;MAAe,CAAC,GAAG4B,IAAI;MAAZR,IAAI,GAAAC,wBAAA,CAAIO,IAAI,EAAAc,UAAA;IACzE,MAAMC,QAAQ,GAAGpB,MAAM,CAACW,QAAQ,CAACJ,EAAE,CAAC;IAEpC,oBACExC,KAAA,CAACkB,oBAAoB;MAAUsB,EAAE,EAAE,QAAQA,EAAE,EAAG;MAC1BZ,SAAS,EAAE,EAAE,CAAC0B,MAAM,CAACD,QAAQ,GAAG,SAAS,GAAG,EAAE,CAAC,CAACC,MAAM,CAAChB,IAAI,CAACK,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAE;MAAAY,QAAA,gBAC7GvD,KAAA,CAACC,0BAA0B,EAAAuD,aAAA,CAAAA,aAAA;QACzBC,IAAI,EAAC,QAAQ;QACbjB,EAAE,EAAE,aAAaA,EAAE,EAAG;QACtB,iBAAea,QAAS;QACxB,iBAAe,kBAAkBb,EAAE,EAAG;QACtCkB,QAAQ,EAAE,CAACf,QAAQ,GAAG,CAAC,GAAGgB,SAAU;QACpCC,WAAW,EAAEhE,yBAA0B;QACvCiE,OAAO,EAAEA,CAAA,KAAM,CAAClB,QAAQ,IAAID,WAAW,CAACJ,IAAI,CAAE;QAC9CwB,SAAS,EAAGC,KAAK,IAAKA,KAAK,CAACjB,GAAG,KAAK,OAAO,IAAIJ,WAAW,CAACJ,IAAI;MAAE,GAC7DR,IAAI;QAAAyB,QAAA,gBACRzD,IAAA,CAACa,8BAA8B;UAAA4C,QAAA,EAC5B9B,KAAK,GAAG4B,QAAQ,gBAAGvD,IAAA,CAACV,WAAW,CAAC4E,KAAK;YAAC,eAAY;UAAM,CAAE,CAAC,gBAAGlE,IAAA,CAACV,WAAW,CAAC6E,IAAI;YAAC,eAAY;UAAM,CAAE,CAAC,GAAGZ,QAAQ,gBAC/GvD,IAAA,CAACV,WAAW,CAAC8E,WAAW;YAAC,eAAY;UAAM,CAAE,CAAC,gBAAGpE,IAAA,CAACV,WAAW,CAAC+E,YAAY;YAAC,eAAY;UAAM,CAAE;QAAC,CACpE,CAAC,eACjCrE,IAAA,CAACc,8BAA8B;UAAA2C,QAAA,EAAEP;QAAK,CAAiC,CAAC;MAAA,EAC9C,CAAC,eAC7BhD,KAAA,CAACa,2BAA2B;QAAC2B,EAAE,EAAE,kBAAkBA,EAAE,EAAG;QAAAe,QAAA,GACrDN,MAAM,iBAAInD,IAAA,CAACgB,iCAAiC;UAAAyC,QAAA,EAAEN;QAAM,CAAoC,CAAC,eAC1FnD,IAAA,CAACiB,+BAA+B;UAAAwC,QAAA,EAAEL;QAAI,CAAkC,CAAC,EACxEC,MAAM,iBAAIrD,IAAA,CAACmB,iCAAiC;UAAAsC,QAAA,EAAEJ;QAAM,CAAoC,CAAC;MAAA,CAC/D,CAAC;IAAA,GAtBLX,EAuBL,CAAC;EAE3B,CAAC;EAED,MAAM4B,GAAG,GAAG,GAAG1C,IAAI,IAAIE,SAAS,IAAI,EAAE,EAAE,CAACyC,IAAI,CAAC,CAAC;EAE/C,oBAAOvE,IAAA,CAACqB,uBAAuB;IAACS,SAAS,EAAEwC,GAAI;IAAAb,QAAA,EAC5C/B,KAAK,CAACe,GAAG,CAAED,IAAI,IAAKS,UAAU,CAACT,IAAI,CAAC;EAAC,CACf,CAAC;AAC5B,CAAC;AAAChB,gBAAA,CAAAgD,SAAA;EAzFA9C,KAAK,EAAA+C,GAAA,CAAAC,OAAA,CAAAD,GAAA,CAAAE,KAAA;IAjBLjC,EAAE,EAAA+B,GAAA,CAAAG,MAAA,CAAAC,UAAA;IAEF3B,KAAK,EAAAuB,GAAA,CAAAG,MAAA,CAAAC,UAAA;IAEL1B,MAAM,EAAAsB,GAAA,CAAAG,MAAA;IAENxB,IAAI,EAAAqB,GAAA,CAAAK,GAAA,CAAAD,UAAA;IAEJxB,MAAM,EAAAoB,GAAA,CAAAK,GAAA;IAENjC,QAAQ,EAAA4B,GAAA,CAAAM,IAAA;IAERnE,MAAM,EAAA6D,GAAA,CAAAM;EAAA,IAAAF,UAAA;EAONlD,KAAK,EAAA8C,GAAA,CAAAM,IAAA;EAILhD,kBAAkB,EAAA0C,GAAA,CAAAO;AAAA;AAqFpB,eAAexD,gBAAgB","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { render } from '../../test-utils';
3
+ import 'jest-styled-components';
4
+ import { COLORS } from '../../styles';
5
+ import AccordionMenu from '../AccordionMenu';
6
+
7
+ const accordionItems = [
8
+ {
9
+ id: 'test1_id',
10
+ title: 'Item label with text 1',
11
+ children: <div>content test1</div>,
12
+ },
13
+ {
14
+ id: 'test2_id',
15
+ title: 'Item label with text 2',
16
+ children: <div>content test2</div>,
17
+ },
18
+ ];
19
+
20
+ describe('<AccordionMenu />', () => {
21
+ it('Check correct text placed on labels', async () => {
22
+ const { queryByText } = render(<AccordionMenu items={accordionItems} onSelect={() => {}}></AccordionMenu>);
23
+ expect(queryByText('Item label with text 1')).toBeDefined();
24
+ expect(queryByText('Item label with text 2')).toBeDefined();
25
+ expect(queryByText('content test1')).toBeNull();
26
+ });
27
+
28
+ it('Check item label element color and label', async () => {
29
+ const { container } = render(<AccordionMenu items={accordionItems} onSelect={() => {}}></AccordionMenu>);
30
+ const headerItem = container.querySelector('#test2_id');
31
+ expect(headerItem).toBeDefined();
32
+ expect(headerItem?.textContent).toContain('Item label with text 2');
33
+ });
34
+
35
+ it('Check expanded item text', async () => {
36
+ const { container } = render(<AccordionMenu items={accordionItems} onSelect={() => {}} selectedItems={['test1_id']}></AccordionMenu>);
37
+ const headerItem = container.querySelector('#test1_id');
38
+ //check item expanded
39
+ expect(headerItem?.children[1]).toBeDefined();
40
+ expect(headerItem?.children[1]?.textContent).toContain('content test1');
41
+ });
42
+ });
@@ -0,0 +1,150 @@
1
+ import React from 'react';
2
+ import ContentAccordion, {
3
+ ContentAccordionItem,
4
+ ContentAccordionItemContentBody, ContentAccordionItemContentFooter,
5
+ ContentAccordionItemContentHeader, ContentAccordionItemHeader, ContentAccordionWrapper
6
+ } from '../ContentAccordion';
7
+ import {fireEvent, render} from '../../test-utils';
8
+ import {Size} from '../../types';
9
+
10
+ describe('ContentAccordion', () => {
11
+ const contentAccordionItemsWithBody = [
12
+ {
13
+ id: '1',
14
+ title: 'Item 1',
15
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
16
+ },
17
+ {
18
+ id: '2',
19
+ title: 'Item 2',
20
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
21
+ active: true
22
+ },
23
+ {
24
+ id: '3',
25
+ title: 'Item 3',
26
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
27
+ disabled: true
28
+ },
29
+ {
30
+ id: '4',
31
+ title: 'Item 4',
32
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.'
33
+ }
34
+ ];
35
+
36
+ const contentAccordionItemsWithBodyAndHeaderAndFooter = [
37
+ {
38
+ id: '1',
39
+ title: 'Item 1',
40
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
41
+ header: 'Header 1',
42
+ footer: <span/>,
43
+ },
44
+ {
45
+ id: '2',
46
+ title: 'Item 2',
47
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
48
+ header: 'Header 2',
49
+ footer: <span/>,
50
+ },
51
+ {
52
+ id: '3',
53
+ title: 'Item 3',
54
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
55
+ header: 'Header 3',
56
+ footer: <span/>,
57
+ disabled: true
58
+ },
59
+ {
60
+ id: '4',
61
+ title: 'Item 4',
62
+ body: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
63
+ header: 'Header 4',
64
+ footer: <span/>,
65
+ }
66
+ ];
67
+
68
+ it('should render items in correct state', () => {
69
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody}/>);
70
+
71
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}`).length).toBe(4);
72
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.disabled`).length).toBe(1);
73
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.disabled`)[0].id).toBe('item_3');
74
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`).length).toBe(1);
75
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`)[0].id).toBe('item_2');
76
+ });
77
+
78
+ it('should not render header if not provided', () => {
79
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody}/>);
80
+
81
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentBody}`).length).toBe(4);
82
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentHeader}`).length).toBe(0);
83
+ });
84
+
85
+ it('should not render footer if not provided', () => {
86
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody}/>);
87
+
88
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentBody}`).length).toBe(4);
89
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentFooter}`).length).toBe(0);
90
+ });
91
+
92
+ it('should render body, header, and footer if all are provided', () => {
93
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBodyAndHeaderAndFooter}/>);
94
+
95
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}`).length).toBe(4);
96
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentBody}`).length).toBe(4);
97
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentHeader}`).length).toBe(4);
98
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItemContentFooter}`).length).toBe(4);
99
+ });
100
+
101
+ it('should set correct size class name for small accordion', () => {
102
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBodyAndHeaderAndFooter}
103
+ size={Size.Small}/>);
104
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionWrapper}.small`).length).toBe(1);
105
+ });
106
+
107
+ it('should set correct size class name for medium accordion', () => {
108
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBodyAndHeaderAndFooter}
109
+ size={Size.Medium}/>);
110
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionWrapper}.medium`).length).toBe(1);
111
+ });
112
+
113
+ it('should set correct size class name for large accordion', () => {
114
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBodyAndHeaderAndFooter}
115
+ size={Size.Large}/>);
116
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionWrapper}.large`).length).toBe(1);
117
+ });
118
+
119
+ it('should change active state when item header is clicked', () => {
120
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody} multi={false}/>);
121
+ const itemHeader = wrapper.container.querySelectorAll(`${ContentAccordionItemHeader}`)[3];
122
+
123
+ fireEvent.click(itemHeader);
124
+
125
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`).length).toBe(1);
126
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`)[0].id).toBe('item_4');
127
+ });
128
+
129
+ it('should not change active state when disabled item header is clicked', () => {
130
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody} multi={false}/>);
131
+ const itemHeader = wrapper.container.querySelectorAll(`${ContentAccordionItemHeader}`)[2];
132
+
133
+ fireEvent.click(itemHeader);
134
+
135
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`).length).toBe(1);
136
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`)[0].id).toBe('item_2');
137
+ });
138
+
139
+ it('should append active items if multi property is true', () => {
140
+ const wrapper = render(<ContentAccordion items={contentAccordionItemsWithBody} multi={true}/>);
141
+ const itemHeader = wrapper.container.querySelectorAll(`${ContentAccordionItemHeader}`)[3];
142
+
143
+ fireEvent.click(itemHeader);
144
+
145
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`).length).toBe(2);
146
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`)[0].id).toBe('item_2');
147
+ expect(wrapper.container.querySelectorAll(`${ContentAccordionItem}.active`)[1].id).toBe('item_4');
148
+ });
149
+
150
+ });