@laerdal/life-react-components 1.4.1-dev.9 → 1.5.1-dev.1.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 (367) hide show
  1. package/dist/Accordion/AccordionItem.cjs +77 -0
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -0
  3. package/dist/Accordion/AccordionItem.d.ts +2 -0
  4. package/dist/Accordion/AccordionItem.js +8 -7
  5. package/dist/Accordion/AccordionItem.js.map +1 -1
  6. package/dist/Accordion/AccordionMenu.cjs +105 -0
  7. package/dist/Accordion/AccordionMenu.cjs.map +1 -0
  8. package/dist/Accordion/AccordionMenu.d.ts +2 -0
  9. package/dist/Accordion/AccordionMenu.js +8 -2
  10. package/dist/Accordion/AccordionMenu.js.map +1 -1
  11. package/dist/Accordion/ContentAccordion.cjs +172 -0
  12. package/dist/Accordion/ContentAccordion.cjs.map +1 -0
  13. package/dist/Accordion/index.cjs +38 -0
  14. package/dist/Accordion/index.cjs.map +1 -0
  15. package/dist/Accordion/styles.cjs +45 -0
  16. package/dist/Accordion/styles.cjs.map +1 -0
  17. package/dist/Accordion/styles.d.ts +5 -5
  18. package/dist/Accordion/styles.js +9 -10
  19. package/dist/Accordion/styles.js.map +1 -1
  20. package/dist/AuthPage/AuthPage.cjs +80 -0
  21. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  22. package/dist/AuthPage/Information.cjs +42 -0
  23. package/dist/AuthPage/Information.cjs.map +1 -0
  24. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  25. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  26. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  27. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  28. package/dist/AuthPage/index.cjs +64 -0
  29. package/dist/AuthPage/index.cjs.map +1 -0
  30. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  31. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  32. package/dist/Banners/Banner.cjs +190 -0
  33. package/dist/Banners/Banner.cjs.map +1 -0
  34. package/dist/Banners/Banner.d.ts +1 -0
  35. package/dist/Banners/Banner.js +84 -189
  36. package/dist/Banners/Banner.js.map +1 -1
  37. package/dist/Banners/OverviewBanner.cjs +55 -0
  38. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  39. package/dist/Banners/index.cjs +24 -0
  40. package/dist/Banners/index.cjs.map +1 -0
  41. package/dist/Banners/styles.cjs +73 -0
  42. package/dist/Banners/styles.cjs.map +1 -0
  43. package/dist/Banners/styles.js +44 -7
  44. package/dist/Banners/styles.js.map +1 -1
  45. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  46. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  47. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  48. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  49. package/dist/Breadcrumb/index.cjs +16 -0
  50. package/dist/Breadcrumb/index.cjs.map +1 -0
  51. package/dist/Button/BackButton.cjs +75 -0
  52. package/dist/Button/BackButton.cjs.map +1 -0
  53. package/dist/Button/Button.cjs +266 -0
  54. package/dist/Button/Button.cjs.map +1 -0
  55. package/dist/Button/Button.js +27 -101
  56. package/dist/Button/Button.js.map +1 -1
  57. package/dist/Button/DualFunctionButton.cjs +162 -0
  58. package/dist/Button/DualFunctionButton.cjs.map +1 -0
  59. package/dist/Button/Iconbutton.cjs +195 -0
  60. package/dist/Button/Iconbutton.cjs.map +1 -0
  61. package/dist/Button/Iconbutton.d.ts +13 -0
  62. package/dist/Button/Iconbutton.js +2 -2
  63. package/dist/Button/Iconbutton.js.map +1 -1
  64. package/dist/Button/index.cjs +40 -0
  65. package/dist/Button/index.cjs.map +1 -0
  66. package/dist/Chips/ActionChip.cjs +81 -0
  67. package/dist/Chips/ActionChip.cjs.map +1 -0
  68. package/dist/Chips/ChipInput.cjs +199 -0
  69. package/dist/Chips/ChipInput.cjs.map +1 -0
  70. package/dist/Chips/ChipStyles.cjs +43 -0
  71. package/dist/Chips/ChipStyles.cjs.map +1 -0
  72. package/dist/Chips/ChipTypes.cjs +6 -0
  73. package/dist/Chips/ChipTypes.cjs.map +1 -0
  74. package/dist/Chips/ChoiceChips.cjs +94 -0
  75. package/dist/Chips/ChoiceChips.cjs.map +1 -0
  76. package/dist/Chips/FilterChip.cjs +81 -0
  77. package/dist/Chips/FilterChip.cjs.map +1 -0
  78. package/dist/Chips/InputChip.cjs +109 -0
  79. package/dist/Chips/InputChip.cjs.map +1 -0
  80. package/dist/Chips/index.cjs +48 -0
  81. package/dist/Chips/index.cjs.map +1 -0
  82. package/dist/Dropdown/BasicDropdown.cjs +300 -0
  83. package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
  84. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  85. package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
  86. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  87. package/dist/Dropdown/ChipDropdownInput.js +2 -4
  88. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  89. package/dist/Dropdown/CommonStyling.cjs +81 -0
  90. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  91. package/dist/Dropdown/CommonStyling.d.ts +0 -5
  92. package/dist/Dropdown/CommonStyling.js +3 -10
  93. package/dist/Dropdown/CommonStyling.js.map +1 -1
  94. package/dist/Dropdown/DropdownButton.cjs +161 -0
  95. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  96. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  97. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  98. package/dist/Dropdown/DropdownContent.cjs +566 -0
  99. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  100. package/dist/Dropdown/DropdownContent.js +19 -54
  101. package/dist/Dropdown/DropdownContent.js.map +1 -1
  102. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  103. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  104. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  105. package/dist/Dropdown/index.cjs +40 -0
  106. package/dist/Dropdown/index.cjs.map +1 -0
  107. package/dist/Dropdown/index.d.ts +1 -0
  108. package/dist/Dropdown/index.js.map +1 -1
  109. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  110. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  111. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  112. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  113. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  114. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  115. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  116. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  117. package/dist/Footer/Components/FooterTop.cjs +91 -0
  118. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  119. package/dist/Footer/Footer.cjs +41 -0
  120. package/dist/Footer/Footer.cjs.map +1 -0
  121. package/dist/Footer/SiteFooter.cjs +89 -0
  122. package/dist/Footer/SiteFooter.cjs.map +1 -0
  123. package/dist/Footer/index.cjs +24 -0
  124. package/dist/Footer/index.cjs.map +1 -0
  125. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  126. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  127. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  128. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  129. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  130. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  131. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  132. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  133. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  134. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  135. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  136. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  137. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  138. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  139. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  140. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  141. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  142. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  143. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  144. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  145. package/dist/GlobalNavigationBar/index.cjs +36 -0
  146. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  147. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  148. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  149. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  150. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  151. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  152. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  153. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  154. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  155. package/dist/HyperLink/HyperLink.cjs +72 -0
  156. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  157. package/dist/HyperLink/index.cjs +30 -0
  158. package/dist/HyperLink/index.cjs.map +1 -0
  159. package/dist/HyperLink/styling.cjs +22 -0
  160. package/dist/HyperLink/styling.cjs.map +1 -0
  161. package/dist/InputFields/Checkbox.cjs +126 -0
  162. package/dist/InputFields/Checkbox.cjs.map +1 -0
  163. package/dist/InputFields/DatepickerField.cjs +252 -0
  164. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  165. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  166. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  167. package/dist/InputFields/Label.cjs +104 -0
  168. package/dist/InputFields/Label.cjs.map +1 -0
  169. package/dist/InputFields/PasswordField.cjs +150 -0
  170. package/dist/InputFields/PasswordField.cjs.map +1 -0
  171. package/dist/InputFields/QuickSearch.cjs +201 -0
  172. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  173. package/dist/InputFields/RadioButton.cjs +114 -0
  174. package/dist/InputFields/RadioButton.cjs.map +1 -0
  175. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  176. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  177. package/dist/InputFields/SearchBar.cjs +146 -0
  178. package/dist/InputFields/SearchBar.cjs.map +1 -0
  179. package/dist/InputFields/TextField.cjs +126 -0
  180. package/dist/InputFields/TextField.cjs.map +1 -0
  181. package/dist/InputFields/Textarea.cjs +96 -0
  182. package/dist/InputFields/Textarea.cjs.map +1 -0
  183. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  184. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  185. package/dist/InputFields/components/SearchField.cjs +71 -0
  186. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  187. package/dist/InputFields/index.cjs +80 -0
  188. package/dist/InputFields/index.cjs.map +1 -0
  189. package/dist/InputFields/styling.cjs +76 -0
  190. package/dist/InputFields/styling.cjs.map +1 -0
  191. package/dist/Layouts/index.cjs +56 -0
  192. package/dist/Layouts/index.cjs.map +1 -0
  193. package/dist/List/ListRow.cjs +143 -0
  194. package/dist/List/ListRow.cjs.map +1 -0
  195. package/dist/List/index.cjs +16 -0
  196. package/dist/List/index.cjs.map +1 -0
  197. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  198. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  199. package/dist/LoadingIndicator/index.cjs +16 -0
  200. package/dist/LoadingIndicator/index.cjs.map +1 -0
  201. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  202. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  203. package/dist/LoadingPage/index.cjs +16 -0
  204. package/dist/LoadingPage/index.cjs.map +1 -0
  205. package/dist/MenuItem/MenuItem.cjs +104 -0
  206. package/dist/MenuItem/MenuItem.cjs.map +1 -0
  207. package/dist/MenuItem/MenuItem.d.ts +21 -0
  208. package/dist/MenuItem/MenuItem.js +64 -0
  209. package/dist/MenuItem/MenuItem.js.map +1 -0
  210. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  211. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  212. package/dist/MiniProductCard/index.cjs +16 -0
  213. package/dist/MiniProductCard/index.cjs.map +1 -0
  214. package/dist/Modals/Modal.cjs +92 -0
  215. package/dist/Modals/Modal.cjs.map +1 -0
  216. package/dist/Modals/ModalContainer.cjs +176 -0
  217. package/dist/Modals/ModalContainer.cjs.map +1 -0
  218. package/dist/Modals/ModalContainer.js +1 -1
  219. package/dist/Modals/ModalContainer.js.map +1 -1
  220. package/dist/Modals/ModalDialog.cjs +363 -0
  221. package/dist/Modals/ModalDialog.cjs.map +1 -0
  222. package/dist/Modals/ModalDialog.d.ts +1 -0
  223. package/dist/Modals/ModalDialog.js +16 -2
  224. package/dist/Modals/ModalDialog.js.map +1 -1
  225. package/dist/Modals/ModalNote.cjs +93 -0
  226. package/dist/Modals/ModalNote.cjs.map +1 -0
  227. package/dist/Modals/ModalStyles.cjs +154 -0
  228. package/dist/Modals/ModalStyles.cjs.map +1 -0
  229. package/dist/Modals/ModalStyles.js +1 -1
  230. package/dist/Modals/ModalStyles.js.map +1 -1
  231. package/dist/Modals/ModalTypes.cjs +6 -0
  232. package/dist/Modals/ModalTypes.cjs.map +1 -0
  233. package/dist/Modals/index.cjs +70 -0
  234. package/dist/Modals/index.cjs.map +1 -0
  235. package/dist/Modals/index.d.ts +1 -0
  236. package/dist/Modals/index.js.map +1 -1
  237. package/dist/NavItem/NavItem.cjs +26 -0
  238. package/dist/NavItem/NavItem.cjs.map +1 -0
  239. package/dist/NavItem/index.cjs +16 -0
  240. package/dist/NavItem/index.cjs.map +1 -0
  241. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  242. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  243. package/dist/NotificationDot/index.cjs +16 -0
  244. package/dist/NotificationDot/index.cjs.map +1 -0
  245. package/dist/Paginator/Paginator.cjs +191 -0
  246. package/dist/Paginator/Paginator.cjs.map +1 -0
  247. package/dist/Paginator/index.cjs +16 -0
  248. package/dist/Paginator/index.cjs.map +1 -0
  249. package/dist/QuizButton/QuizButton.cjs +150 -0
  250. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  251. package/dist/QuizButton/QuizButton.js +6 -6
  252. package/dist/QuizButton/QuizButton.js.map +1 -1
  253. package/dist/QuizButton/index.cjs +16 -0
  254. package/dist/QuizButton/index.cjs.map +1 -0
  255. package/dist/Services/functions.cjs +19 -0
  256. package/dist/Services/functions.cjs.map +1 -0
  257. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  258. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  259. package/dist/SkipToContent/index.cjs +16 -0
  260. package/dist/SkipToContent/index.cjs.map +1 -0
  261. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  262. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  263. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  264. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  265. package/dist/Switcher/index.cjs +24 -0
  266. package/dist/Switcher/index.cjs.map +1 -0
  267. package/dist/Table/Table.cjs +463 -0
  268. package/dist/Table/Table.cjs.map +1 -0
  269. package/dist/Table/TableBody.cjs +186 -0
  270. package/dist/Table/TableBody.cjs.map +1 -0
  271. package/dist/Table/TableFooter.cjs +119 -0
  272. package/dist/Table/TableFooter.cjs.map +1 -0
  273. package/dist/Table/TableHeaders.cjs +100 -0
  274. package/dist/Table/TableHeaders.cjs.map +1 -0
  275. package/dist/Table/TableStyles.cjs +104 -0
  276. package/dist/Table/TableStyles.cjs.map +1 -0
  277. package/dist/Table/TableTypes.cjs +6 -0
  278. package/dist/Table/TableTypes.cjs.map +1 -0
  279. package/dist/Table/index.cjs +16 -0
  280. package/dist/Table/index.cjs.map +1 -0
  281. package/dist/Table/index.d.ts +1 -0
  282. package/dist/Table/index.js.map +1 -1
  283. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  284. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  285. package/dist/Tabs/HorizontalTabs.d.ts +1 -1
  286. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  287. package/dist/Tabs/TabLink.cjs +128 -0
  288. package/dist/Tabs/TabLink.cjs.map +1 -0
  289. package/dist/Tabs/Tabs.cjs +121 -0
  290. package/dist/Tabs/Tabs.cjs.map +1 -0
  291. package/dist/Tabs/VerticalTabs.cjs +68 -0
  292. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  293. package/dist/Tabs/index.cjs +24 -0
  294. package/dist/Tabs/index.cjs.map +1 -0
  295. package/dist/Tabs/index.d.ts +2 -0
  296. package/dist/Tabs/index.js.map +1 -1
  297. package/dist/Toasters/Toast.cjs +289 -0
  298. package/dist/Toasters/Toast.cjs.map +1 -0
  299. package/dist/Toasters/ToastContext.cjs +179 -0
  300. package/dist/Toasters/ToastContext.cjs.map +1 -0
  301. package/dist/Toasters/index.cjs +36 -0
  302. package/dist/Toasters/index.cjs.map +1 -0
  303. package/dist/Toggles/ToggleSwitch.cjs +73 -0
  304. package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
  305. package/dist/Toggles/TogglerStyles.cjs +39 -0
  306. package/dist/Toggles/TogglerStyles.cjs.map +1 -0
  307. package/dist/Toggles/TogglerTypes.cjs +6 -0
  308. package/dist/Toggles/TogglerTypes.cjs.map +1 -0
  309. package/dist/Toggles/index.cjs +16 -0
  310. package/dist/Toggles/index.cjs.map +1 -0
  311. package/dist/Tooltips/TooltipStyles.cjs +96 -0
  312. package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
  313. package/dist/Tooltips/TooltipTypes.cjs +11 -0
  314. package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
  315. package/dist/Tooltips/TooltipWrapper.cjs +51 -0
  316. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
  317. package/dist/Tooltips/index.cjs +36 -0
  318. package/dist/Tooltips/index.cjs.map +1 -0
  319. package/dist/Tooltips/index.d.ts +2 -2
  320. package/dist/Tooltips/index.js +2 -2
  321. package/dist/Tooltips/index.js.map +1 -1
  322. package/dist/assets/index.cjs +173 -0
  323. package/dist/assets/index.cjs.map +1 -0
  324. package/dist/common/EventHandlers.cjs +20 -0
  325. package/dist/common/EventHandlers.cjs.map +1 -0
  326. package/dist/common/FocusVisible.cjs +77 -0
  327. package/dist/common/FocusVisible.cjs.map +1 -0
  328. package/dist/common/InputStyling.cjs +20 -0
  329. package/dist/common/InputStyling.cjs.map +1 -0
  330. package/dist/common/index.cjs +30 -0
  331. package/dist/common/index.cjs.map +1 -0
  332. package/dist/common/index.d.ts +1 -0
  333. package/dist/common/index.js +1 -0
  334. package/dist/common/index.js.map +1 -1
  335. package/dist/hooks/useClickOutside.cjs +35 -0
  336. package/dist/hooks/useClickOutside.cjs.map +1 -0
  337. package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
  338. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
  339. package/dist/icons/index.cjs +147 -0
  340. package/dist/icons/index.cjs.map +1 -0
  341. package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
  342. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
  343. package/dist/index.cjs +422 -0
  344. package/dist/index.cjs.map +1 -0
  345. package/dist/index.d.ts +1 -0
  346. package/dist/index.js +1 -0
  347. package/dist/index.js.map +1 -1
  348. package/dist/styles/breakpoints.cjs +16 -0
  349. package/dist/styles/breakpoints.cjs.map +1 -0
  350. package/dist/styles/colors.cjs +108 -0
  351. package/dist/styles/colors.cjs.map +1 -0
  352. package/dist/styles/global.cjs +15 -0
  353. package/dist/styles/global.cjs.map +1 -0
  354. package/dist/styles/index.cjs +288 -0
  355. package/dist/styles/index.cjs.map +1 -0
  356. package/dist/styles/index.d.ts +1 -0
  357. package/dist/styles/index.js +1 -0
  358. package/dist/styles/index.js.map +1 -1
  359. package/dist/styles/shadowstyles.cjs +14 -0
  360. package/dist/styles/shadowstyles.cjs.map +1 -0
  361. package/dist/styles/typography.cjs +640 -0
  362. package/dist/styles/typography.cjs.map +1 -0
  363. package/dist/styles/z-indexes.cjs +22 -0
  364. package/dist/styles/z-indexes.cjs.map +1 -0
  365. package/dist/types.cjs +59 -0
  366. package/dist/types.cjs.map +1 -0
  367. package/package.json +13 -5
@@ -0,0 +1,463 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+
18
+ var React = _interopRequireWildcard(require("react"));
19
+
20
+ var _types = require("../types");
21
+
22
+ var _TableStyles = require("./TableStyles");
23
+
24
+ var _LoadingIndicator = require("../LoadingIndicator");
25
+
26
+ var _TableHeaders = _interopRequireDefault(require("./TableHeaders"));
27
+
28
+ var _TableFooter = _interopRequireDefault(require("./TableFooter"));
29
+
30
+ var _TableBody = _interopRequireDefault(require("./TableBody"));
31
+
32
+ var _jsxRuntime = require("react/jsx-runtime");
33
+
34
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
+
36
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
+
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
39
+
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
+
42
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
43
+
44
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
45
+
46
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
47
+
48
+ var Table = function Table(props) {
49
+ var onPreviousPageClick = props.onPreviousPageClick,
50
+ onNextPageClick = props.onNextPageClick,
51
+ onRowsPerPageChange = props.onRowsPerPageChange,
52
+ onTriggerSortingChange = props.onTriggerSortingChange,
53
+ columns = props.columns,
54
+ rows = props.rows,
55
+ remoteOperations = props.remoteOperations,
56
+ pagination = props.pagination,
57
+ showLoadingIndicator = props.showLoadingIndicator,
58
+ selectable = props.selectable,
59
+ multiSelect = props.multiSelect,
60
+ keyExpr = props.keyExpr,
61
+ accordion = props.accordion,
62
+ _props$collapsed = props.collapsed,
63
+ collapsed = _props$collapsed === void 0 ? true : _props$collapsed,
64
+ collapsedRows = props.collapsedRows; // States used within the component
65
+
66
+ var _React$useState = React.useState(10),
67
+ _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
68
+ rowsPerPage = _React$useState2[0],
69
+ setRowsPerPage = _React$useState2[1];
70
+
71
+ var _React$useState3 = React.useState([]),
72
+ _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2),
73
+ filteredRows = _React$useState4[0],
74
+ setFilteredRows = _React$useState4[1];
75
+
76
+ var _React$useState5 = React.useState([]),
77
+ _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2),
78
+ currentPageRows = _React$useState6[0],
79
+ setCurrentPageRows = _React$useState6[1];
80
+
81
+ var _React$useState7 = React.useState(1),
82
+ _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
83
+ currentPage = _React$useState8[0],
84
+ setCurrentPage = _React$useState8[1];
85
+
86
+ var _React$useState9 = React.useState(''),
87
+ _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
88
+ sortedColumn = _React$useState10[0],
89
+ setSortedColumn = _React$useState10[1];
90
+
91
+ var _React$useState11 = React.useState('asc'),
92
+ _React$useState12 = (0, _slicedToArray2.default)(_React$useState11, 2),
93
+ sortedDirection = _React$useState12[0],
94
+ setSortedDirection = _React$useState12[1];
95
+
96
+ var _React$useState13 = React.useState(),
97
+ _React$useState14 = (0, _slicedToArray2.default)(_React$useState13, 2),
98
+ from = _React$useState14[0],
99
+ setFrom = _React$useState14[1];
100
+
101
+ var _React$useState15 = React.useState(),
102
+ _React$useState16 = (0, _slicedToArray2.default)(_React$useState15, 2),
103
+ to = _React$useState16[0],
104
+ setTo = _React$useState16[1];
105
+
106
+ var _React$useState17 = React.useState(),
107
+ _React$useState18 = (0, _slicedToArray2.default)(_React$useState17, 2),
108
+ total = _React$useState18[0],
109
+ setTotal = _React$useState18[1];
110
+
111
+ var _React$useState19 = React.useState(true),
112
+ _React$useState20 = (0, _slicedToArray2.default)(_React$useState19, 2),
113
+ isCollapsed = _React$useState20[0],
114
+ setIsCollapsed = _React$useState20[1];
115
+
116
+ var _React$useState21 = React.useState('none'),
117
+ _React$useState22 = (0, _slicedToArray2.default)(_React$useState21, 2),
118
+ selectAllState = _React$useState22[0],
119
+ setSelectAllState = _React$useState22[1];
120
+
121
+ var _React$useState23 = React.useState(multiSelect ? [] : undefined),
122
+ _React$useState24 = (0, _slicedToArray2.default)(_React$useState23, 2),
123
+ selected = _React$useState24[0],
124
+ setSelected = _React$useState24[1];
125
+
126
+ React.useEffect(function () {
127
+ setSelected(props.selectedRows || (multiSelect ? [] : undefined));
128
+ }, [props.selectedRows, multiSelect]);
129
+ /**
130
+ * update select all checkbox state
131
+ */
132
+
133
+ React.useEffect(function () {
134
+ if (multiSelect) {
135
+ var currentList = currentPageRows.map(function (row) {
136
+ return keyExpr ? row[keyExpr] : row;
137
+ });
138
+ var count = selected.filter(function (item) {
139
+ return currentList.includes(item);
140
+ }).length;
141
+ setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');
142
+ }
143
+ }, [currentPageRows, multiSelect, selected, keyExpr]);
144
+ /**
145
+ * Takes care of local pagination.
146
+ * Works only in case remote pagination is not defined or is set to false.
147
+ */
148
+
149
+ React.useEffect(function () {
150
+ if (!remoteOperations) {
151
+ // Let's retrieve temporary filtered rows and update globally filtered rows
152
+ var tmpFilteredRows = filterAndSortRows();
153
+ setFilteredRows(tmpFilteredRows);
154
+ setTotal(tmpFilteredRows.length); // Assign rows from and rows to
155
+
156
+ var rowsFrom = (currentPage - 1) * rowsPerPage;
157
+ var rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage; // Set from and to values
158
+
159
+ setFrom(rowsFrom + 1);
160
+ setTo(rowsTo); // Filter out the rows
161
+
162
+ setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));
163
+ }
164
+ }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);
165
+ /**
166
+ * Takes care of remote pagination.
167
+ * Works only in case remote pagination is set to true.
168
+ */
169
+
170
+ React.useEffect(function () {
171
+ if (remoteOperations) {
172
+ setCurrentPageRows(rows); // Let's assign pagination values
173
+
174
+ setFrom(pagination === null || pagination === void 0 ? void 0 : pagination.from);
175
+ setTo(pagination === null || pagination === void 0 ? void 0 : pagination.to);
176
+ setTotal(pagination === null || pagination === void 0 ? void 0 : pagination.total);
177
+ setCurrentPage(pagination === null || pagination === void 0 ? void 0 : pagination.currentPage);
178
+ setRowsPerPage(pagination === null || pagination === void 0 ? void 0 : pagination.rowsPerPage);
179
+ }
180
+ }, [remoteOperations, pagination, rows]);
181
+ /**
182
+ * Sets number of rows to display when accordion.
183
+ */
184
+
185
+ React.useEffect(function () {
186
+ if (!accordion) return;
187
+ setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length);
188
+ }, [rows, accordion, collapsedRows, isCollapsed]);
189
+ React.useEffect(function () {
190
+ if (!accordion) return;
191
+ setIsCollapsed(!!collapsed);
192
+ }, [accordion, collapsed]);
193
+ /**
194
+ * Filters out a rows by specific column filters and sorts them if any sorting is set.
195
+ * @returns Filtered and sorted rows.
196
+ */
197
+
198
+ var filterAndSortRows = function filterAndSortRows() {
199
+ var tmpFilteredRows = rows.filter(function (row) {
200
+ // Let's start with matched filter criteria
201
+ var matchFilterCriteria = true; // Let's go through columns
202
+
203
+ var _iterator = _createForOfIteratorHelper(columns),
204
+ _step;
205
+
206
+ try {
207
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
208
+ var column = _step.value;
209
+
210
+ // Let's check if filter value is specified for the column
211
+ // And if it doesn't match the current row column value
212
+ // Then let's update match filter criteria to failed
213
+ if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {
214
+ matchFilterCriteria = false;
215
+ }
216
+ } // Let's return row only in case match filter criteria succeeds
217
+
218
+ } catch (err) {
219
+ _iterator.e(err);
220
+ } finally {
221
+ _iterator.f();
222
+ }
223
+
224
+ if (matchFilterCriteria) {
225
+ return row;
226
+ }
227
+ }); // Let's apply sorting if needed
228
+
229
+ if (columns.some(function (column) {
230
+ return column.sortingDirection;
231
+ })) {
232
+ // Let's find the sorting column
233
+ var sortingColumn = columns.find(function (column) {
234
+ return column.sortingDirection;
235
+ }); // Update sorted column data
236
+
237
+ setSortedDirection(sortingColumn.sortingDirection);
238
+ setSortedColumn(sortingColumn.key); // Let's sort the rows
239
+
240
+ tmpFilteredRows.sort(function (a, b) {
241
+ if (a[sortingColumn.key] > b[sortingColumn.key]) {
242
+ return sortingColumn.sortingDirection === 'asc' ? 1 : -1;
243
+ } else if (a[sortingColumn.key] < b[sortingColumn.key]) {
244
+ return sortingColumn.sortingDirection === 'asc' ? -1 : 1;
245
+ } else {
246
+ return 0;
247
+ }
248
+ });
249
+ } // Let's return filtered rows
250
+
251
+
252
+ return tmpFilteredRows;
253
+ };
254
+ /**
255
+ * Applies a specific sorting to a column.
256
+ * If no sorting exists, then applies ascending initially
257
+ * @param column - Column to which sorting should be applied.
258
+ */
259
+
260
+
261
+ var sortTableColumn = function sortTableColumn(column) {
262
+ // Let's remove any active sorting
263
+ columns = columns.map(function (tmpColumn) {
264
+ // Let's apply new sorting
265
+ // Let's check if it is the column for which we have to apply sorting
266
+ if (column.key === tmpColumn.key && tmpColumn.sortable) {
267
+ // Let's check if sorting is not defined
268
+ // If so, let's toggle the sorting direction
269
+ if (tmpColumn.sortingDirection !== undefined) {
270
+ if (tmpColumn.sortingDirection === 'asc') {
271
+ tmpColumn.sortingDirection = 'desc'; // Update sorted column and direction
272
+
273
+ setSortedColumn(column.key);
274
+ setSortedDirection('desc'); // Let's trigger remote sorting trigger function
275
+
276
+ if (remoteOperations && onTriggerSortingChange) {
277
+ onTriggerSortingChange(column.key, 'desc');
278
+ }
279
+ } else {
280
+ tmpColumn.sortingDirection = 'asc'; // Update sorted column and direction
281
+
282
+ setSortedColumn(column.key);
283
+ setSortedDirection('asc'); // Let's trigger remote sorting trigger function
284
+
285
+ if (remoteOperations && onTriggerSortingChange) {
286
+ onTriggerSortingChange(column.key, 'asc');
287
+ }
288
+ }
289
+ } else {
290
+ // Let's apply the initial sorting
291
+ tmpColumn.sortingDirection = 'asc'; // Update sorted column and direction
292
+
293
+ setSortedColumn(column.key);
294
+ setSortedDirection('asc'); // Let's trigger remote sorting trigger function
295
+
296
+ if (remoteOperations && onTriggerSortingChange) {
297
+ onTriggerSortingChange(column.key, 'asc');
298
+ }
299
+ }
300
+ } else if (tmpColumn.sortingDirection !== undefined) {
301
+ // Let's remove sorting
302
+ tmpColumn.sortingDirection = undefined;
303
+ }
304
+
305
+ return tmpColumn;
306
+ });
307
+ };
308
+ /**
309
+ * Navigates user back to the previous page and updates the current table page.
310
+ */
311
+
312
+
313
+ var previousPage = function previousPage() {
314
+ if (remoteOperations) {
315
+ // Let's inform parent component about page change
316
+ if (onPreviousPageClick) {
317
+ onPreviousPageClick();
318
+ }
319
+ } else {
320
+ // Let's change the page within the component
321
+ setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);
322
+ }
323
+ };
324
+ /**
325
+ * Navigates user to the next page and updates the current table page.
326
+ */
327
+
328
+
329
+ var nextPage = function nextPage() {
330
+ if (remoteOperations) {
331
+ // Let's inform parent component about page change
332
+ if (onNextPageClick) {
333
+ onNextPageClick();
334
+ }
335
+ } else {
336
+ // Let's change the page within the component
337
+ setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);
338
+ }
339
+ };
340
+ /**
341
+ * Updates the rows per page value and refreshes the table content accordingly.
342
+ * @param value - Newly selected rows per page value.
343
+ */
344
+
345
+
346
+ var changeRowsPerPage = function changeRowsPerPage(value) {
347
+ // Let's check if we are using remote pagination
348
+ if (remoteOperations) {
349
+ // Inform parent component about rows per page change
350
+ if (onRowsPerPageChange) {
351
+ onRowsPerPageChange(value);
352
+ }
353
+ } else {
354
+ // Let's reset current page to 1
355
+ setCurrentPage(1);
356
+ } // Let's set rows per page
357
+
358
+
359
+ setRowsPerPage(value);
360
+ };
361
+ /**
362
+ * Function which is called when a mouse click happens on a row to pass data to the parent component.
363
+ * @param row - Row in which the link is located.
364
+ */
365
+
366
+
367
+ var onRowClick = function onRowClick(row) {
368
+ var _window, _window$getSelection;
369
+
370
+ var selectedText = (_window = window) === null || _window === void 0 ? void 0 : (_window$getSelection = _window.getSelection()) === null || _window$getSelection === void 0 ? void 0 : _window$getSelection.toString();
371
+
372
+ if ((selectedText === null || selectedText === void 0 ? void 0 : selectedText.length) === 0 && selectable) {
373
+ var value = keyExpr ? row[keyExpr] : row;
374
+ var currentSelection = value;
375
+
376
+ if (!!multiSelect) {
377
+ var existing = selected === null || selected === void 0 ? void 0 : selected.indexOf(value);
378
+
379
+ if (existing > -1) {
380
+ currentSelection = (0, _toConsumableArray2.default)(selected);
381
+ currentSelection.splice(existing, 1);
382
+ } else {
383
+ currentSelection = [].concat((0, _toConsumableArray2.default)(selected), [currentSelection]);
384
+ }
385
+ }
386
+
387
+ setSelected(currentSelection);
388
+ props.onSelectionChange && props.onSelectionChange(currentSelection);
389
+ }
390
+ };
391
+ /**
392
+ * Function which is called when user clicks checkbox to select or deselect all rows.
393
+ */
394
+
395
+
396
+ var onSelectAllClick = function onSelectAllClick() {
397
+ var currentList = currentPageRows.map(function (row) {
398
+ return keyExpr ? row[keyExpr] : row;
399
+ });
400
+
401
+ switch (selectAllState) {
402
+ case 'all':
403
+ setSelected((0, _toConsumableArray2.default)(selected).filter(function (item) {
404
+ return !currentList.includes(item);
405
+ }));
406
+ setSelectAllState('none');
407
+ break;
408
+
409
+ case 'none':
410
+ setSelected([].concat((0, _toConsumableArray2.default)(selected), (0, _toConsumableArray2.default)(currentList)));
411
+ setSelectAllState('all');
412
+ break;
413
+
414
+ case 'some':
415
+ setSelected([].concat((0, _toConsumableArray2.default)(selected), (0, _toConsumableArray2.default)(currentList.filter(function (item) {
416
+ return !selected.includes(item);
417
+ }))));
418
+ setSelectAllState('all');
419
+ break;
420
+ }
421
+ };
422
+ /**
423
+ * Return Table component.
424
+ */
425
+
426
+
427
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.TableWrapper, {
428
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTable, {
429
+ cellPadding: "0",
430
+ cellSpacing: "0",
431
+ "data-testid": "TestTable",
432
+ className: 'table',
433
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_TableHeaders.default, _objectSpread(_objectSpread({}, props), {}, {
434
+ sortByColumn: sortTableColumn,
435
+ onSelectAllClick: onSelectAllClick,
436
+ selectAllState: selectAllState
437
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableBody.default, _objectSpread(_objectSpread({}, props), {}, {
438
+ currentPageRows: currentPageRows,
439
+ selected: selected,
440
+ onRowClick: onRowClick
441
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableFooter.default, _objectSpread(_objectSpread({}, props), {}, {
442
+ onRowsPerPageChange: changeRowsPerPage,
443
+ rowsPerPage: rowsPerPage,
444
+ setIsCollapsed: setIsCollapsed,
445
+ isCollapsed: isCollapsed,
446
+ from: from,
447
+ to: to,
448
+ total: total,
449
+ nextPage: nextPage,
450
+ prevPage: previousPage
451
+ }))]
452
+ }), showLoadingIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableSpinner, {
453
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
454
+ size: _types.Size.Medium,
455
+ color: "#ffffff"
456
+ })
457
+ })]
458
+ });
459
+ };
460
+
461
+ var _default = Table;
462
+ exports.default = _default;
463
+ //# sourceMappingURL=Table.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sortedColumn","setSortedColumn","sortedDirection","setSortedDirection","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","selectedRows","currentList","map","row","count","filter","item","includes","length","tmpFilteredRows","filterAndSortRows","rowsFrom","rowsTo","slice","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","Size","Medium"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types'\n\n/**\n * Import custom styles.\n */\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\n\n/**\n * Import custom types.\n */\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\nimport {LoadingIndicator} from '../LoadingIndicator';\nimport TableHeader from './TableHeaders';\nimport TableFooter from './TableFooter';\nimport TableBody from './TableBody';\n\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\n let {\n onPreviousPageClick,\n onNextPageClick,\n onRowsPerPageChange,\n onTriggerSortingChange,\n columns,\n rows,\n remoteOperations,\n pagination,\n showLoadingIndicator,\n selectable,\n multiSelect,\n keyExpr,\n accordion,\n collapsed = true,\n collapsedRows\n } = props;\n\n // States used within the component\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\n const [currentPage, setCurrentPage] = React.useState<number>(1);\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\n const [from, setFrom] = React.useState<number>();\n const [to, setTo] = React.useState<number>();\n const [total, setTotal] = React.useState<number>();\n\n const [isCollapsed, setIsCollapsed] = React.useState(true);\n\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\n\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\n\n React.useEffect(() => {\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\n }, [props.selectedRows, multiSelect])\n\n /**\n * update select all checkbox state\n */\n React.useEffect(() => {\n if (multiSelect) {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n const count = selected.filter((item: any) => currentList.includes(item)).length;\n\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\n }\n }, [currentPageRows, multiSelect, selected, keyExpr])\n\n\n /**\n * Takes care of local pagination.\n * Works only in case remote pagination is not defined or is set to false.\n */\n React.useEffect(() => {\n if (!remoteOperations) {\n // Let's retrieve temporary filtered rows and update globally filtered rows\n const tmpFilteredRows = filterAndSortRows();\n setFilteredRows(tmpFilteredRows);\n setTotal(tmpFilteredRows.length);\n\n // Assign rows from and rows to\n const rowsFrom = (currentPage - 1) * rowsPerPage;\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\n\n // Set from and to values\n setFrom(rowsFrom + 1);\n setTo(rowsTo);\n\n // Filter out the rows\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\n }\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\n\n /**\n * Takes care of remote pagination.\n * Works only in case remote pagination is set to true.\n */\n React.useEffect(() => {\n if (remoteOperations) {\n setCurrentPageRows(rows);\n\n // Let's assign pagination values\n setFrom(pagination?.from);\n setTo(pagination?.to);\n setTotal(pagination?.total);\n setCurrentPage(pagination?.currentPage!);\n setRowsPerPage(pagination?.rowsPerPage!);\n }\n }, [remoteOperations, pagination, rows]);\n\n /**\n * Sets number of rows to display when accordion.\n */\n React.useEffect(() => {\n if (!accordion) return;\n\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\n }, [rows, accordion, collapsedRows, isCollapsed])\n\n React.useEffect(() => {\n if (!accordion) return;\n\n setIsCollapsed(!!collapsed);\n }, [ accordion, collapsed])\n\n /**\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\n * @returns Filtered and sorted rows.\n */\n const filterAndSortRows = (): any[] => {\n let tmpFilteredRows = rows.filter((row) => {\n // Let's start with matched filter criteria\n let matchFilterCriteria = true;\n\n // Let's go through columns\n for (const column of columns) {\n // Let's check if filter value is specified for the column\n // And if it doesn't match the current row column value\n // Then let's update match filter criteria to failed\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\n matchFilterCriteria = false;\n }\n }\n\n // Let's return row only in case match filter criteria succeeds\n if (matchFilterCriteria) {\n return row;\n }\n });\n\n // Let's apply sorting if needed\n if (columns.some((column) => column.sortingDirection)) {\n // Let's find the sorting column\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\n\n // Update sorted column data\n setSortedDirection(sortingColumn.sortingDirection!);\n setSortedColumn(sortingColumn.key!);\n\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\n } else {\n return 0;\n }\n });\n }\n\n // Let's return filtered rows\n return tmpFilteredRows;\n };\n\n /**\n * Applies a specific sorting to a column.\n * If no sorting exists, then applies ascending initially\n * @param column - Column to which sorting should be applied.\n */\n const sortTableColumn = (column: TableColumn): void => {\n // Let's remove any active sorting\n columns = columns.map((tmpColumn: TableColumn) => {\n // Let's apply new sorting\n // Let's check if it is the column for which we have to apply sorting\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\n // Let's check if sorting is not defined\n // If so, let's toggle the sorting direction\n if (tmpColumn.sortingDirection !== undefined) {\n if (tmpColumn.sortingDirection === 'asc') {\n tmpColumn.sortingDirection = 'desc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('desc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'desc');\n }\n } else {\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else {\n // Let's apply the initial sorting\n tmpColumn.sortingDirection = 'asc';\n\n // Update sorted column and direction\n setSortedColumn(column.key);\n setSortedDirection('asc');\n\n // Let's trigger remote sorting trigger function\n if (remoteOperations && onTriggerSortingChange) {\n onTriggerSortingChange(column.key, 'asc');\n }\n }\n } else if (tmpColumn.sortingDirection !== undefined) {\n // Let's remove sorting\n tmpColumn.sortingDirection = undefined;\n }\n\n return tmpColumn;\n });\n };\n\n /**\n * Navigates user back to the previous page and updates the current table page.\n */\n const previousPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onPreviousPageClick) {\n onPreviousPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\n }\n };\n\n /**\n * Navigates user to the next page and updates the current table page.\n */\n const nextPage = () => {\n if (remoteOperations) {\n // Let's inform parent component about page change\n if (onNextPageClick) {\n onNextPageClick();\n }\n } else {\n // Let's change the page within the component\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\n }\n };\n\n /**\n * Updates the rows per page value and refreshes the table content accordingly.\n * @param value - Newly selected rows per page value.\n */\n const changeRowsPerPage = (value: number) => {\n // Let's check if we are using remote pagination\n if (remoteOperations) {\n // Inform parent component about rows per page change\n if (onRowsPerPageChange) {\n onRowsPerPageChange(value);\n }\n } else {\n // Let's reset current page to 1\n setCurrentPage(1);\n }\n\n // Let's set rows per page\n setRowsPerPage(value);\n };\n\n\n /**\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\n * @param row - Row in which the link is located.\n */\n const onRowClick = (row: any): void => {\n const selectedText = window?.getSelection()?.toString();\n\n if (selectedText?.length === 0 && selectable) {\n const value = keyExpr ? row[keyExpr] : row;\n let currentSelection = value;\n if (!!multiSelect) {\n const existing = selected?.indexOf(value);\n if (existing > -1) {\n currentSelection = [...selected];\n currentSelection.splice(existing, 1);\n } else {\n currentSelection = [...selected, currentSelection];\n }\n }\n\n setSelected(currentSelection)\n props.onSelectionChange && props.onSelectionChange(currentSelection);\n }\n };\n\n /**\n * Function which is called when user clicks checkbox to select or deselect all rows.\n */\n const onSelectAllClick = () => {\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\n\n switch (selectAllState) {\n case 'all':\n setSelected([...selected].filter(item => !currentList.includes(item)));\n setSelectAllState('none');\n break;\n case 'none':\n setSelected([...selected, ...currentList]);\n setSelectAllState('all');\n break;\n case 'some':\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\n setSelectAllState('all');\n break;\n }\n };\n\n /**\n * Return Table component.\n */\n return (\n <TableWrapper>\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={'table'}>\n <TableHeader {...props}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n selectAllState={selectAllState}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}/>\n <TableFooter {...props}\n onRowsPerPageChange={changeRowsPerPage}\n rowsPerPage={rowsPerPage}\n setIsCollapsed={setIsCollapsed}\n isCollapsed={isCollapsed}\n from={from}\n to={to}\n total={total}\n nextPage={nextPage}\n prevPage={previousPage}/>\n </StyledTable>\n {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"file":"Table.cjs"}