@laerdal/life-react-components 1.4.1-dev.9.full → 1.5.1-dev.2

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 (385) 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/ContentAccordion.js +2 -3
  14. package/dist/Accordion/ContentAccordion.js.map +1 -1
  15. package/dist/Accordion/index.cjs +38 -0
  16. package/dist/Accordion/index.cjs.map +1 -0
  17. package/dist/Accordion/styles.cjs +45 -0
  18. package/dist/Accordion/styles.cjs.map +1 -0
  19. package/dist/Accordion/styles.d.ts +5 -5
  20. package/dist/Accordion/styles.js +9 -10
  21. package/dist/Accordion/styles.js.map +1 -1
  22. package/dist/AuthPage/AuthPage.cjs +80 -0
  23. package/dist/AuthPage/AuthPage.cjs.map +1 -0
  24. package/dist/AuthPage/Information.cjs +42 -0
  25. package/dist/AuthPage/Information.cjs.map +1 -0
  26. package/dist/AuthPage/ScreenSetsContainer.cjs +25 -0
  27. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -0
  28. package/dist/AuthPage/_AuthPageSection.cjs +22 -0
  29. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -0
  30. package/dist/AuthPage/index.cjs +64 -0
  31. package/dist/AuthPage/index.cjs.map +1 -0
  32. package/dist/AuthPage/screenSetsErrorMessages.cjs +13 -0
  33. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -0
  34. package/dist/Banners/Banner.cjs +190 -0
  35. package/dist/Banners/Banner.cjs.map +1 -0
  36. package/dist/Banners/Banner.d.ts +1 -0
  37. package/dist/Banners/Banner.js +84 -189
  38. package/dist/Banners/Banner.js.map +1 -1
  39. package/dist/Banners/OverviewBanner.cjs +55 -0
  40. package/dist/Banners/OverviewBanner.cjs.map +1 -0
  41. package/dist/Banners/index.cjs +24 -0
  42. package/dist/Banners/index.cjs.map +1 -0
  43. package/dist/Banners/styles.cjs +73 -0
  44. package/dist/Banners/styles.cjs.map +1 -0
  45. package/dist/Banners/styles.js +44 -7
  46. package/dist/Banners/styles.js.map +1 -1
  47. package/dist/Breadcrumb/Breadcrumb.cjs +169 -0
  48. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -0
  49. package/dist/Breadcrumb/BreadcrumbItem.cjs +6 -0
  50. package/dist/Breadcrumb/BreadcrumbItem.cjs.map +1 -0
  51. package/dist/Breadcrumb/index.cjs +16 -0
  52. package/dist/Breadcrumb/index.cjs.map +1 -0
  53. package/dist/Button/BackButton.cjs +75 -0
  54. package/dist/Button/BackButton.cjs.map +1 -0
  55. package/dist/Button/Button.cjs +266 -0
  56. package/dist/Button/Button.cjs.map +1 -0
  57. package/dist/Button/Button.js +27 -101
  58. package/dist/Button/Button.js.map +1 -1
  59. package/dist/Button/DualFunctionButton.cjs +162 -0
  60. package/dist/Button/DualFunctionButton.cjs.map +1 -0
  61. package/dist/Button/Iconbutton.cjs +195 -0
  62. package/dist/Button/Iconbutton.cjs.map +1 -0
  63. package/dist/Button/Iconbutton.d.ts +13 -0
  64. package/dist/Button/Iconbutton.js +2 -2
  65. package/dist/Button/Iconbutton.js.map +1 -1
  66. package/dist/Button/index.cjs +40 -0
  67. package/dist/Button/index.cjs.map +1 -0
  68. package/dist/Chips/ActionChip.cjs +81 -0
  69. package/dist/Chips/ActionChip.cjs.map +1 -0
  70. package/dist/Chips/ChipInput.cjs +199 -0
  71. package/dist/Chips/ChipInput.cjs.map +1 -0
  72. package/dist/Chips/ChipStyles.cjs +43 -0
  73. package/dist/Chips/ChipStyles.cjs.map +1 -0
  74. package/dist/Chips/ChipTypes.cjs +6 -0
  75. package/dist/Chips/ChipTypes.cjs.map +1 -0
  76. package/dist/Chips/ChoiceChips.cjs +94 -0
  77. package/dist/Chips/ChoiceChips.cjs.map +1 -0
  78. package/dist/Chips/FilterChip.cjs +81 -0
  79. package/dist/Chips/FilterChip.cjs.map +1 -0
  80. package/dist/Chips/InputChip.cjs +109 -0
  81. package/dist/Chips/InputChip.cjs.map +1 -0
  82. package/dist/Chips/index.cjs +48 -0
  83. package/dist/Chips/index.cjs.map +1 -0
  84. package/dist/Dropdown/BasicDropdown.cjs +300 -0
  85. package/dist/Dropdown/BasicDropdown.cjs.map +1 -0
  86. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  87. package/dist/Dropdown/ChipDropdownInput.cjs +431 -0
  88. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -0
  89. package/dist/Dropdown/ChipDropdownInput.js +2 -4
  90. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  91. package/dist/Dropdown/CommonStyling.cjs +81 -0
  92. package/dist/Dropdown/CommonStyling.cjs.map +1 -0
  93. package/dist/Dropdown/CommonStyling.d.ts +0 -5
  94. package/dist/Dropdown/CommonStyling.js +3 -10
  95. package/dist/Dropdown/CommonStyling.js.map +1 -1
  96. package/dist/Dropdown/DropdownButton.cjs +161 -0
  97. package/dist/Dropdown/DropdownButton.cjs.map +1 -0
  98. package/dist/Dropdown/DropdownButtonTypes.cjs +6 -0
  99. package/dist/Dropdown/DropdownButtonTypes.cjs.map +1 -0
  100. package/dist/Dropdown/DropdownContent.cjs +566 -0
  101. package/dist/Dropdown/DropdownContent.cjs.map +1 -0
  102. package/dist/Dropdown/DropdownContent.js +19 -54
  103. package/dist/Dropdown/DropdownContent.js.map +1 -1
  104. package/dist/Dropdown/DropdownFilter.cjs +357 -0
  105. package/dist/Dropdown/DropdownFilter.cjs.map +1 -0
  106. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  107. package/dist/Dropdown/index.cjs +40 -0
  108. package/dist/Dropdown/index.cjs.map +1 -0
  109. package/dist/Dropdown/index.d.ts +1 -0
  110. package/dist/Dropdown/index.js.map +1 -1
  111. package/dist/Footer/Components/FooterBottomLinks.cjs +69 -0
  112. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -0
  113. package/dist/Footer/Components/FooterDropdownLinks.cjs +91 -0
  114. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -0
  115. package/dist/Footer/Components/FooterNavSection.cjs +90 -0
  116. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -0
  117. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs +129 -0
  118. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -0
  119. package/dist/Footer/Components/FooterTop.cjs +91 -0
  120. package/dist/Footer/Components/FooterTop.cjs.map +1 -0
  121. package/dist/Footer/Footer.cjs +41 -0
  122. package/dist/Footer/Footer.cjs.map +1 -0
  123. package/dist/Footer/SiteFooter.cjs +89 -0
  124. package/dist/Footer/SiteFooter.cjs.map +1 -0
  125. package/dist/Footer/index.cjs +24 -0
  126. package/dist/Footer/index.cjs.map +1 -0
  127. package/dist/GlobalNavigationBar/Actions.cjs +185 -0
  128. package/dist/GlobalNavigationBar/Actions.cjs.map +1 -0
  129. package/dist/GlobalNavigationBar/Avatar.cjs +106 -0
  130. package/dist/GlobalNavigationBar/Avatar.cjs.map +1 -0
  131. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs +100 -0
  132. package/dist/GlobalNavigationBar/ExtendedMainMenu.cjs.map +1 -0
  133. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +303 -0
  134. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -0
  135. package/dist/GlobalNavigationBar/Logo.cjs +102 -0
  136. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -0
  137. package/dist/GlobalNavigationBar/MainMenu.cjs +169 -0
  138. package/dist/GlobalNavigationBar/MainMenu.cjs.map +1 -0
  139. package/dist/GlobalNavigationBar/RightSideNav.cjs +89 -0
  140. package/dist/GlobalNavigationBar/RightSideNav.cjs.map +1 -0
  141. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs +108 -0
  142. package/dist/GlobalNavigationBar/UserMenu/MenuLink.cjs.map +1 -0
  143. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +176 -0
  144. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -0
  145. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs +168 -0
  146. package/dist/GlobalNavigationBar/UserMenu/UserMenu.cjs.map +1 -0
  147. package/dist/GlobalNavigationBar/index.cjs +36 -0
  148. package/dist/GlobalNavigationBar/index.cjs.map +1 -0
  149. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs +71 -0
  150. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -0
  151. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs +49 -0
  152. package/dist/GlobalNavigationBar/mobile/ExitMenuButton.cjs.map +1 -0
  153. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs +91 -0
  154. package/dist/GlobalNavigationBar/mobile/MobileActionMenu.cjs.map +1 -0
  155. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs +290 -0
  156. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -0
  157. package/dist/HyperLink/HyperLink.cjs +72 -0
  158. package/dist/HyperLink/HyperLink.cjs.map +1 -0
  159. package/dist/HyperLink/index.cjs +30 -0
  160. package/dist/HyperLink/index.cjs.map +1 -0
  161. package/dist/HyperLink/styling.cjs +22 -0
  162. package/dist/HyperLink/styling.cjs.map +1 -0
  163. package/dist/InputFields/Checkbox.cjs +127 -0
  164. package/dist/InputFields/Checkbox.cjs.map +1 -0
  165. package/dist/InputFields/Checkbox.d.ts +6 -0
  166. package/dist/InputFields/Checkbox.js +3 -4
  167. package/dist/InputFields/Checkbox.js.map +1 -1
  168. package/dist/InputFields/DatepickerField.cjs +252 -0
  169. package/dist/InputFields/DatepickerField.cjs.map +1 -0
  170. package/dist/InputFields/DatepickerFieldHeader.cjs +107 -0
  171. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -0
  172. package/dist/InputFields/Label.cjs +104 -0
  173. package/dist/InputFields/Label.cjs.map +1 -0
  174. package/dist/InputFields/PasswordField.cjs +150 -0
  175. package/dist/InputFields/PasswordField.cjs.map +1 -0
  176. package/dist/InputFields/QuickSearch.cjs +201 -0
  177. package/dist/InputFields/QuickSearch.cjs.map +1 -0
  178. package/dist/InputFields/RadioButton.cjs +114 -0
  179. package/dist/InputFields/RadioButton.cjs.map +1 -0
  180. package/dist/InputFields/RadioButton.js +2 -3
  181. package/dist/InputFields/RadioButton.js.map +1 -1
  182. package/dist/InputFields/ResponsiveComponentWrapper.cjs +72 -0
  183. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -0
  184. package/dist/InputFields/SearchBar.cjs +146 -0
  185. package/dist/InputFields/SearchBar.cjs.map +1 -0
  186. package/dist/InputFields/TextField.cjs +126 -0
  187. package/dist/InputFields/TextField.cjs.map +1 -0
  188. package/dist/InputFields/Textarea.cjs +96 -0
  189. package/dist/InputFields/Textarea.cjs.map +1 -0
  190. package/dist/InputFields/components/SearchBarInput.cjs +99 -0
  191. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -0
  192. package/dist/InputFields/components/SearchField.cjs +71 -0
  193. package/dist/InputFields/components/SearchField.cjs.map +1 -0
  194. package/dist/InputFields/index.cjs +80 -0
  195. package/dist/InputFields/index.cjs.map +1 -0
  196. package/dist/InputFields/styling.cjs +76 -0
  197. package/dist/InputFields/styling.cjs.map +1 -0
  198. package/dist/Layouts/index.cjs +56 -0
  199. package/dist/Layouts/index.cjs.map +1 -0
  200. package/dist/List/ListRow.cjs +143 -0
  201. package/dist/List/ListRow.cjs.map +1 -0
  202. package/dist/List/index.cjs +16 -0
  203. package/dist/List/index.cjs.map +1 -0
  204. package/dist/LoadingIndicator/LoadingIndicator.cjs +71 -0
  205. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -0
  206. package/dist/LoadingIndicator/index.cjs +16 -0
  207. package/dist/LoadingIndicator/index.cjs.map +1 -0
  208. package/dist/LoadingPage/GlobalLoadingPage.cjs +66 -0
  209. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -0
  210. package/dist/LoadingPage/index.cjs +16 -0
  211. package/dist/LoadingPage/index.cjs.map +1 -0
  212. package/dist/MenuItem/MenuItem.cjs +104 -0
  213. package/dist/MenuItem/MenuItem.cjs.map +1 -0
  214. package/dist/MenuItem/MenuItem.d.ts +21 -0
  215. package/dist/MenuItem/MenuItem.js +64 -0
  216. package/dist/MenuItem/MenuItem.js.map +1 -0
  217. package/dist/MiniProductCard/MiniProductCard.cjs +80 -0
  218. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -0
  219. package/dist/MiniProductCard/index.cjs +16 -0
  220. package/dist/MiniProductCard/index.cjs.map +1 -0
  221. package/dist/Modals/Modal.cjs +92 -0
  222. package/dist/Modals/Modal.cjs.map +1 -0
  223. package/dist/Modals/ModalContainer.cjs +176 -0
  224. package/dist/Modals/ModalContainer.cjs.map +1 -0
  225. package/dist/Modals/ModalContainer.js +1 -1
  226. package/dist/Modals/ModalContainer.js.map +1 -1
  227. package/dist/Modals/ModalDialog.cjs +363 -0
  228. package/dist/Modals/ModalDialog.cjs.map +1 -0
  229. package/dist/Modals/ModalDialog.d.ts +1 -0
  230. package/dist/Modals/ModalDialog.js +16 -2
  231. package/dist/Modals/ModalDialog.js.map +1 -1
  232. package/dist/Modals/ModalNote.cjs +93 -0
  233. package/dist/Modals/ModalNote.cjs.map +1 -0
  234. package/dist/Modals/ModalStyles.cjs +154 -0
  235. package/dist/Modals/ModalStyles.cjs.map +1 -0
  236. package/dist/Modals/ModalStyles.js +1 -1
  237. package/dist/Modals/ModalStyles.js.map +1 -1
  238. package/dist/Modals/ModalTypes.cjs +6 -0
  239. package/dist/Modals/ModalTypes.cjs.map +1 -0
  240. package/dist/Modals/index.cjs +70 -0
  241. package/dist/Modals/index.cjs.map +1 -0
  242. package/dist/Modals/index.d.ts +1 -0
  243. package/dist/Modals/index.js.map +1 -1
  244. package/dist/NavItem/NavItem.cjs +26 -0
  245. package/dist/NavItem/NavItem.cjs.map +1 -0
  246. package/dist/NavItem/index.cjs +16 -0
  247. package/dist/NavItem/index.cjs.map +1 -0
  248. package/dist/NotificationDot/NotificationDot.cjs +74 -0
  249. package/dist/NotificationDot/NotificationDot.cjs.map +1 -0
  250. package/dist/NotificationDot/index.cjs +16 -0
  251. package/dist/NotificationDot/index.cjs.map +1 -0
  252. package/dist/Paginator/Paginator.cjs +191 -0
  253. package/dist/Paginator/Paginator.cjs.map +1 -0
  254. package/dist/Paginator/index.cjs +16 -0
  255. package/dist/Paginator/index.cjs.map +1 -0
  256. package/dist/QuizButton/QuizButton.cjs +148 -0
  257. package/dist/QuizButton/QuizButton.cjs.map +1 -0
  258. package/dist/QuizButton/QuizButton.js +8 -10
  259. package/dist/QuizButton/QuizButton.js.map +1 -1
  260. package/dist/QuizButton/index.cjs +16 -0
  261. package/dist/QuizButton/index.cjs.map +1 -0
  262. package/dist/Services/functions.cjs +19 -0
  263. package/dist/Services/functions.cjs.map +1 -0
  264. package/dist/SkipToContent/SkipToContent.cjs +46 -0
  265. package/dist/SkipToContent/SkipToContent.cjs.map +1 -0
  266. package/dist/SkipToContent/index.cjs +16 -0
  267. package/dist/SkipToContent/index.cjs.map +1 -0
  268. package/dist/Switcher/MobileSwitcherMenu.cjs +120 -0
  269. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -0
  270. package/dist/Switcher/SwitcherMenuItem.cjs +62 -0
  271. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -0
  272. package/dist/Switcher/index.cjs +24 -0
  273. package/dist/Switcher/index.cjs.map +1 -0
  274. package/dist/Table/Table.cjs +463 -0
  275. package/dist/Table/Table.cjs.map +1 -0
  276. package/dist/Table/Table.js +1 -1
  277. package/dist/Table/Table.js.map +1 -1
  278. package/dist/Table/TableBody.cjs +192 -0
  279. package/dist/Table/TableBody.cjs.map +1 -0
  280. package/dist/Table/TableBody.js +26 -21
  281. package/dist/Table/TableBody.js.map +1 -1
  282. package/dist/Table/TableFooter.cjs +120 -0
  283. package/dist/Table/TableFooter.cjs.map +1 -0
  284. package/dist/Table/TableFooter.js +6 -6
  285. package/dist/Table/TableFooter.js.map +1 -1
  286. package/dist/Table/TableHeaders.cjs +102 -0
  287. package/dist/Table/TableHeaders.cjs.map +1 -0
  288. package/dist/Table/TableHeaders.js +5 -4
  289. package/dist/Table/TableHeaders.js.map +1 -1
  290. package/dist/Table/TableStyles.cjs +106 -0
  291. package/dist/Table/TableStyles.cjs.map +1 -0
  292. package/dist/Table/TableStyles.js +8 -7
  293. package/dist/Table/TableStyles.js.map +1 -1
  294. package/dist/Table/TableTypes.cjs +6 -0
  295. package/dist/Table/TableTypes.cjs.map +1 -0
  296. package/dist/Table/TableTypes.d.ts +2 -0
  297. package/dist/Table/index.cjs +16 -0
  298. package/dist/Table/index.cjs.map +1 -0
  299. package/dist/Table/index.d.ts +1 -0
  300. package/dist/Table/index.js.map +1 -1
  301. package/dist/Tabs/HorizontalTabs.cjs +98 -0
  302. package/dist/Tabs/HorizontalTabs.cjs.map +1 -0
  303. package/dist/Tabs/HorizontalTabs.d.ts +1 -1
  304. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  305. package/dist/Tabs/TabLink.cjs +128 -0
  306. package/dist/Tabs/TabLink.cjs.map +1 -0
  307. package/dist/Tabs/Tabs.cjs +121 -0
  308. package/dist/Tabs/Tabs.cjs.map +1 -0
  309. package/dist/Tabs/VerticalTabs.cjs +68 -0
  310. package/dist/Tabs/VerticalTabs.cjs.map +1 -0
  311. package/dist/Tabs/index.cjs +24 -0
  312. package/dist/Tabs/index.cjs.map +1 -0
  313. package/dist/Tabs/index.d.ts +2 -0
  314. package/dist/Tabs/index.js.map +1 -1
  315. package/dist/Toasters/Toast.cjs +289 -0
  316. package/dist/Toasters/Toast.cjs.map +1 -0
  317. package/dist/Toasters/ToastContext.cjs +179 -0
  318. package/dist/Toasters/ToastContext.cjs.map +1 -0
  319. package/dist/Toasters/index.cjs +36 -0
  320. package/dist/Toasters/index.cjs.map +1 -0
  321. package/dist/Toggles/ToggleSwitch.cjs +73 -0
  322. package/dist/Toggles/ToggleSwitch.cjs.map +1 -0
  323. package/dist/Toggles/TogglerStyles.cjs +39 -0
  324. package/dist/Toggles/TogglerStyles.cjs.map +1 -0
  325. package/dist/Toggles/TogglerTypes.cjs +6 -0
  326. package/dist/Toggles/TogglerTypes.cjs.map +1 -0
  327. package/dist/Toggles/index.cjs +16 -0
  328. package/dist/Toggles/index.cjs.map +1 -0
  329. package/dist/Tooltips/TooltipStyles.cjs +96 -0
  330. package/dist/Tooltips/TooltipStyles.cjs.map +1 -0
  331. package/dist/Tooltips/TooltipTypes.cjs +11 -0
  332. package/dist/Tooltips/TooltipTypes.cjs.map +1 -0
  333. package/dist/Tooltips/TooltipWrapper.cjs +51 -0
  334. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -0
  335. package/dist/Tooltips/index.cjs +36 -0
  336. package/dist/Tooltips/index.cjs.map +1 -0
  337. package/dist/Tooltips/index.d.ts +2 -2
  338. package/dist/Tooltips/index.js +2 -2
  339. package/dist/Tooltips/index.js.map +1 -1
  340. package/dist/assets/index.cjs +173 -0
  341. package/dist/assets/index.cjs.map +1 -0
  342. package/dist/common/EventHandlers.cjs +20 -0
  343. package/dist/common/EventHandlers.cjs.map +1 -0
  344. package/dist/common/FocusVisible.cjs +77 -0
  345. package/dist/common/FocusVisible.cjs.map +1 -0
  346. package/dist/common/InputStyling.cjs +20 -0
  347. package/dist/common/InputStyling.cjs.map +1 -0
  348. package/dist/common/index.cjs +30 -0
  349. package/dist/common/index.cjs.map +1 -0
  350. package/dist/common/index.d.ts +1 -0
  351. package/dist/common/index.js +1 -0
  352. package/dist/common/index.js.map +1 -1
  353. package/dist/hooks/useClickOutside.cjs +35 -0
  354. package/dist/hooks/useClickOutside.cjs.map +1 -0
  355. package/dist/icons/contenticons/ContentIcons.cjs +4530 -0
  356. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -0
  357. package/dist/icons/index.cjs +147 -0
  358. package/dist/icons/index.cjs.map +1 -0
  359. package/dist/icons/systemicons/SystemIcons.cjs +4134 -0
  360. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -0
  361. package/dist/index.cjs +422 -0
  362. package/dist/index.cjs.map +1 -0
  363. package/dist/index.d.ts +1 -0
  364. package/dist/index.js +1 -0
  365. package/dist/index.js.map +1 -1
  366. package/dist/styles/breakpoints.cjs +16 -0
  367. package/dist/styles/breakpoints.cjs.map +1 -0
  368. package/dist/styles/colors.cjs +108 -0
  369. package/dist/styles/colors.cjs.map +1 -0
  370. package/dist/styles/global.cjs +15 -0
  371. package/dist/styles/global.cjs.map +1 -0
  372. package/dist/styles/index.cjs +288 -0
  373. package/dist/styles/index.cjs.map +1 -0
  374. package/dist/styles/index.d.ts +1 -0
  375. package/dist/styles/index.js +1 -0
  376. package/dist/styles/index.js.map +1 -1
  377. package/dist/styles/shadowstyles.cjs +14 -0
  378. package/dist/styles/shadowstyles.cjs.map +1 -0
  379. package/dist/styles/typography.cjs +640 -0
  380. package/dist/styles/typography.cjs.map +1 -0
  381. package/dist/styles/z-indexes.cjs +22 -0
  382. package/dist/styles/z-indexes.cjs.map +1 -0
  383. package/dist/types.cjs +59 -0
  384. package/dist/types.cjs.map +1 -0
  385. package/package.json +13 -5
@@ -0,0 +1,192 @@
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 _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _Button = require("../Button");
17
+
18
+ var _types = require("../types");
19
+
20
+ var React = _interopRequireWildcard(require("react"));
21
+
22
+ var _InputFields = require("../InputFields");
23
+
24
+ var _Iconbutton = _interopRequireDefault(require("../Button/Iconbutton"));
25
+
26
+ var _HyperLink = require("../HyperLink");
27
+
28
+ var _TableStyles = require("./TableStyles");
29
+
30
+ var _common = require("../common");
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
+ var TableBody = function TableBody(props) {
43
+ var renderCellBody = function renderCellBody(column, row) {
44
+ switch (column.type) {
45
+ case 'link':
46
+ {
47
+ var tmp = _objectSpread({
48
+ variant: 'default',
49
+ href: '#',
50
+ tabIndex: props.showLoadingIndicator ? -1 : 0
51
+ }, column.additionalProps);
52
+
53
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_HyperLink.HyperLink, _objectSpread(_objectSpread({
54
+ style: column.colorFn && {
55
+ color: column.colorFn(row, column.key)
56
+ }
57
+ }, tmp), {}, {
58
+ onClick: function onClick(e) {
59
+ e.preventDefault();
60
+ e.stopPropagation();
61
+ column.action && column.action(row, e);
62
+ },
63
+ children: row[column.key]
64
+ }));
65
+ }
66
+
67
+ case 'icon':
68
+ {
69
+ var _tmp = _objectSpread({
70
+ iconColor: column.colorFn && column.colorFn(row, column.key),
71
+ variant: 'secondary',
72
+ shape: 'circular',
73
+ tabIndex: props.showLoadingIndicator ? -1 : 0,
74
+ useTransparentBackground: true
75
+ }, column.additionalProps);
76
+
77
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Iconbutton.default, _objectSpread(_objectSpread({}, _tmp), {}, {
78
+ action: function action(e) {
79
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
80
+ column.action && column.action(row, e);
81
+ },
82
+ children: column.icon
83
+ }));
84
+ }
85
+
86
+ case 'button':
87
+ {
88
+ var _tmp2 = _objectSpread({
89
+ variant: 'tertiary',
90
+ size: _types.Size.Small,
91
+ tabIndex: props.showLoadingIndicator ? -1 : 0
92
+ }, column.additionalProps);
93
+
94
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({
95
+ style: column.colorFn && {
96
+ color: column.colorFn(row, column.key)
97
+ }
98
+ }, _tmp2), {}, {
99
+ onClick: function onClick(e) {
100
+ e === null || e === void 0 ? void 0 : e.stopPropagation();
101
+ column.action && column.action(row, e);
102
+ },
103
+ children: row[column.key]
104
+ }));
105
+ }
106
+
107
+ case 'boolean':
108
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
109
+ selected: !!row[column.key],
110
+ readonly: true
111
+ });
112
+
113
+ case 'custom':
114
+ return column.customContent && column.customContent(row, column.key);
115
+
116
+ case 'number':
117
+ case 'text':
118
+ default:
119
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
120
+ children: [column.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCellIcon, {
121
+ children: column.icon
122
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCellText, {
123
+ children: row[column.key]
124
+ })]
125
+ });
126
+ }
127
+ };
128
+
129
+ var isSelected = function isSelected(row) {
130
+ var _props$selected;
131
+
132
+ return props.multiSelect && ((_props$selected = props.selected) === null || _props$selected === void 0 ? void 0 : _props$selected.indexOf(props.keyExpr ? row[props.keyExpr] : row)) > -1 || !props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row);
133
+ };
134
+
135
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableBody, {
136
+ children: props.currentPageRows.length > 0 ? props.currentPageRows.map(function (row, index) {
137
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableBodyRow, {
138
+ className: "".concat(props.selectable ? 'selectable' : '', " ").concat(isSelected(row) ? 'selected' : ''),
139
+ onClick: function onClick() {
140
+ return props.onRowClick && props.onRowClick(row);
141
+ },
142
+ onMouseDown: _common.defaultOnMouseDownHandler,
143
+ onKeyPress: function onKeyPress(e) {
144
+ if (e.key === 'Enter') {
145
+ props.onRowClick && props.onRowClick(row);
146
+ }
147
+ },
148
+ tabIndex: props.selectable && !props.showLoadingIndicator ? 0 : undefined,
149
+ "data-testid": "TestTableDataRow",
150
+ children: [props.multiSelect && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCell, {
151
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCellContent, {
152
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_InputFields.Checkbox, {
153
+ selected: isSelected(row)
154
+ })
155
+ })
156
+ }), props.columns.map(function (column) {
157
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCell, {
158
+ style: {
159
+ maxWidth: column.width
160
+ },
161
+ title: column.shortenText && row[column.key],
162
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCellContent, {
163
+ className: "".concat(column.shortenText ? "truncate-text" : '', " ").concat(column.justify || ''),
164
+ style: {
165
+ color: column.colorFn && column.colorFn(row, column.key)
166
+ },
167
+ children: renderCellBody(column, row)
168
+ })
169
+ }, "row_".concat(index, "_").concat(column.key));
170
+ })]
171
+ }, "row_".concat(index));
172
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableBodyRow, {
173
+ "data-testid": "TestTableNoDataRow",
174
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCell, {
175
+ colSpan: props.columns.length + (props.multiSelect ? 1 : 0),
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableCellContent, {
177
+ className: 'center',
178
+ children: "There are no rows to display"
179
+ })
180
+ })
181
+ })
182
+ });
183
+ };
184
+
185
+ TableBody.propTypes = {
186
+ currentPageRows: _propTypes.default.arrayOf(_propTypes.default.any).isRequired,
187
+ onRowClick: _propTypes.default.func,
188
+ selected: _propTypes.default.any
189
+ };
190
+ var _default = TableBody;
191
+ exports.default = _default;
192
+ //# sourceMappingURL=TableBody.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","defaultOnMouseDownHandler","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n\n const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.cjs"}
@@ -12,6 +12,7 @@ import { Checkbox } from '../InputFields';
12
12
  import IconButton from '../Button/Iconbutton';
13
13
  import { HyperLink } from '../HyperLink';
14
14
  import { StyledTableBody, StyledTableBodyRow, StyledTableCell, StyledTableCellContent, StyledTableCellIcon, StyledTableCellText } from './TableStyles';
15
+ import { defaultOnMouseDownHandler } from '../common';
15
16
  import { jsx as _jsx } from "react/jsx-runtime";
16
17
  import { Fragment as _Fragment } from "react/jsx-runtime";
17
18
  import { jsxs as _jsxs } from "react/jsx-runtime";
@@ -21,16 +22,17 @@ var TableBody = function TableBody(props) {
21
22
  switch (column.type) {
22
23
  case 'link':
23
24
  {
24
- var _props = _objectSpread({
25
+ var tmp = _objectSpread({
25
26
  variant: 'default',
26
- href: '#'
27
+ href: '#',
28
+ tabIndex: props.showLoadingIndicator ? -1 : 0
27
29
  }, column.additionalProps);
28
30
 
29
31
  return /*#__PURE__*/_jsx(HyperLink, _objectSpread(_objectSpread({
30
32
  style: column.colorFn && {
31
33
  color: column.colorFn(row, column.key)
32
34
  }
33
- }, _props), {}, {
35
+ }, tmp), {}, {
34
36
  onClick: function onClick(e) {
35
37
  e.preventDefault();
36
38
  e.stopPropagation();
@@ -42,14 +44,15 @@ var TableBody = function TableBody(props) {
42
44
 
43
45
  case 'icon':
44
46
  {
45
- var _props2 = _objectSpread({
47
+ var _tmp = _objectSpread({
46
48
  iconColor: column.colorFn && column.colorFn(row, column.key),
47
49
  variant: 'secondary',
48
50
  shape: 'circular',
51
+ tabIndex: props.showLoadingIndicator ? -1 : 0,
49
52
  useTransparentBackground: true
50
53
  }, column.additionalProps);
51
54
 
52
- return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({}, _props2), {}, {
55
+ return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({}, _tmp), {}, {
53
56
  action: function action(e) {
54
57
  e === null || e === void 0 ? void 0 : e.stopPropagation();
55
58
  column.action && column.action(row, e);
@@ -60,16 +63,17 @@ var TableBody = function TableBody(props) {
60
63
 
61
64
  case 'button':
62
65
  {
63
- var _props3 = _objectSpread({
66
+ var _tmp2 = _objectSpread({
64
67
  variant: 'tertiary',
65
- size: Size.Small
68
+ size: Size.Small,
69
+ tabIndex: props.showLoadingIndicator ? -1 : 0
66
70
  }, column.additionalProps);
67
71
 
68
72
  return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({
69
73
  style: column.colorFn && {
70
74
  color: column.colorFn(row, column.key)
71
75
  }
72
- }, _props3), {}, {
76
+ }, _tmp2), {}, {
73
77
  onClick: function onClick(e) {
74
78
  e === null || e === void 0 ? void 0 : e.stopPropagation();
75
79
  column.action && column.action(row, e);
@@ -100,43 +104,44 @@ var TableBody = function TableBody(props) {
100
104
  }
101
105
  };
102
106
 
107
+ var isSelected = function isSelected(row) {
108
+ var _props$selected;
109
+
110
+ return props.multiSelect && ((_props$selected = props.selected) === null || _props$selected === void 0 ? void 0 : _props$selected.indexOf(props.keyExpr ? row[props.keyExpr] : row)) > -1 || !props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row);
111
+ };
112
+
103
113
  return /*#__PURE__*/_jsx(StyledTableBody, {
104
114
  children: props.currentPageRows.length > 0 ? props.currentPageRows.map(function (row, index) {
105
- var _props$selected;
106
-
107
115
  return /*#__PURE__*/_jsxs(StyledTableBodyRow, {
108
- className: props.selectable ? 'selectable' : '',
116
+ className: "".concat(props.selectable ? 'selectable' : '', " ").concat(isSelected(row) ? 'selected' : ''),
109
117
  onClick: function onClick() {
110
118
  return props.onRowClick && props.onRowClick(row);
111
119
  },
112
- onMouseDown: function onMouseDown(event) {
113
- return event.preventDefault();
114
- },
120
+ onMouseDown: defaultOnMouseDownHandler,
115
121
  onKeyPress: function onKeyPress(e) {
116
122
  if (e.key === 'Enter') {
117
123
  props.onRowClick && props.onRowClick(row);
118
124
  }
119
125
  },
120
- tabIndex: props.selectable ? 0 : undefined,
126
+ tabIndex: props.selectable && !props.showLoadingIndicator ? 0 : undefined,
121
127
  "data-testid": "TestTableDataRow",
122
128
  children: [props.multiSelect && /*#__PURE__*/_jsx(StyledTableCell, {
123
129
  children: /*#__PURE__*/_jsx(StyledTableCellContent, {
124
130
  children: /*#__PURE__*/_jsx(Checkbox, {
125
- selected: ((_props$selected = props.selected) === null || _props$selected === void 0 ? void 0 : _props$selected.indexOf(props.keyExpr ? row[props.keyExpr] : row)) > -1,
126
- readonly: true
131
+ selected: isSelected(row)
127
132
  })
128
133
  })
129
134
  }), props.columns.map(function (column) {
130
135
  return /*#__PURE__*/_jsx(StyledTableCell, {
131
- style: column.colorFn ? {
132
- color: column.colorFn(row, column.key),
133
- maxWidth: column.width
134
- } : {
136
+ style: {
135
137
  maxWidth: column.width
136
138
  },
137
139
  title: column.shortenText && row[column.key],
138
140
  children: /*#__PURE__*/_jsx(StyledTableCellContent, {
139
141
  className: "".concat(column.shortenText ? "truncate-text" : '', " ").concat(column.justify || ''),
142
+ style: {
143
+ color: column.colorFn && column.colorFn(row, column.key)
144
+ },
140
145
  children: renderCellBody(column, row)
141
146
  })
142
147
  }, "row_".concat(index, "_").concat(column.key));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","TableBody","props","renderCellBody","column","row","type","variant","href","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","currentPageRows","length","map","index","selectable","onRowClick","event","undefined","multiSelect","selected","indexOf","keyExpr","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const props = ({variant: 'default', href: '#', ...column.additionalProps}) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const props = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...props}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const props = ({\n variant: 'tertiary',\n size: Size.Small,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...props}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={props.selectable ? 'selectable' : ''}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={(event) => event.preventDefault()}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1}\n readonly={true}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={column.colorFn ? {\n color: column.colorFn(row, column.key),\n maxWidth: column.width\n } : {maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
1
+ {"version":3,"sources":["../../src/Table/TableBody.tsx"],"names":["Button","Size","React","Checkbox","IconButton","HyperLink","StyledTableBody","StyledTableBodyRow","StyledTableCell","StyledTableCellContent","StyledTableCellIcon","StyledTableCellText","defaultOnMouseDownHandler","TableBody","props","renderCellBody","column","row","type","tmp","variant","href","tabIndex","showLoadingIndicator","additionalProps","colorFn","color","key","e","preventDefault","stopPropagation","action","iconColor","shape","useTransparentBackground","icon","size","Small","customContent","isSelected","multiSelect","selected","indexOf","keyExpr","currentPageRows","length","map","index","selectable","onRowClick","undefined","columns","maxWidth","width","shortenText","justify"],"mappings":"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","sourcesContent":["import {TableColumn, TableProps} from './TableTypes';\nimport {Button} from '../Button';\nimport {Size} from '../types';\nimport * as React from 'react';\nimport {Checkbox} from '../InputFields';\nimport {ButtonProps} from '../Button/Button';\nimport IconButton, {IconButtonProps} from '../Button/Iconbutton';\nimport {HyperlinkProps} from '../HyperLink/HyperLink';\nimport {HyperLink} from '../HyperLink';\nimport {\n StyledTableBody,\n StyledTableBodyRow,\n StyledTableCell,\n StyledTableCellContent,\n StyledTableCellIcon, StyledTableCellText\n} from './TableStyles';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableBodyProps extends TableProps {\n currentPageRows: any[];\n onRowClick?: (row: any) => void;\n selected?: any | any[];\n}\n\nconst TableBody: React.FC<TableBodyProps> = (props) => {\n\n const renderCellBody = (column: TableColumn, row: any) => {\n switch (column.type) {\n case 'link': {\n const tmp = ({\n variant: 'default',\n href: '#',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as HyperlinkProps;\n return (\n <HyperLink style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </HyperLink>\n );\n }\n case 'icon': {\n const tmp = ({\n iconColor: column.colorFn && column.colorFn(row, column.key),\n variant: 'secondary',\n shape: 'circular',\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n useTransparentBackground: true,\n ...column.additionalProps\n }) as IconButtonProps;\n return <IconButton {...tmp}\n action={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {column.icon}\n </IconButton>\n }\n case 'button': {\n const tmp = ({\n variant: 'tertiary',\n size: Size.Small,\n tabIndex: props.showLoadingIndicator ? -1 : 0,\n ...column.additionalProps\n }) as ButtonProps;\n return <Button style={column.colorFn && {color: column.colorFn(row, column.key)}}\n {...tmp}\n onClick={(e) => {\n e?.stopPropagation();\n column.action && column.action(row, e);\n }}>\n {row[column.key]}\n </Button>\n }\n case 'boolean':\n return <Checkbox selected={!!row[column.key]} readonly={true}/>;\n case 'custom':\n return column.customContent && column.customContent(row, column.key);\n case 'number':\n case 'text':\n default:\n return (\n <>\n {\n column.icon &&\n <StyledTableCellIcon>{column.icon}</StyledTableCellIcon>\n }\n <StyledTableCellText>{row[column.key]}</StyledTableCellText>\n </>\n );\n }\n }\n\n\n const isSelected = (row: any) => {\n return (props.multiSelect && props.selected?.indexOf(props.keyExpr ? row[props.keyExpr] : row) > -1) ||\n (!props.multiSelect && props.selected === (props.keyExpr ? row[props.keyExpr] : row));\n }\n\n return (\n <StyledTableBody>\n {props.currentPageRows.length > 0 ? (\n props.currentPageRows.map((row: any, index: number) => (\n <StyledTableBodyRow key={`row_${index}`}\n className={`${props.selectable ? 'selectable' : ''} ${ isSelected(row) ? 'selected' : ''}`}\n onClick={() => props.onRowClick && props.onRowClick(row)}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyPress={(e) => {\n if (e.key === 'Enter') {\n props.onRowClick && props.onRowClick(row);\n }\n }}\n tabIndex={props.selectable && !props.showLoadingIndicator ? 0 : undefined}\n data-testid=\"TestTableDataRow\">\n {\n props.multiSelect &&\n <StyledTableCell>\n <StyledTableCellContent>\n <Checkbox selected={isSelected(row)}/>\n </StyledTableCellContent>\n </StyledTableCell>\n }\n {props.columns.map((column: TableColumn) => (\n <StyledTableCell key={`row_${index}_${column.key}`}\n style={{maxWidth: column.width}}\n title={column.shortenText && row[column.key]}>\n <StyledTableCellContent\n className={`${column.shortenText ? `truncate-text` : ''} ${column.justify || ''}`}\n style={{\n color: column.colorFn && column.colorFn(row, column.key),\n }}>\n {renderCellBody(column, row)}\n </StyledTableCellContent>\n </StyledTableCell>\n ))}\n </StyledTableBodyRow>\n ))\n ) : (\n <StyledTableBodyRow data-testid=\"TestTableNoDataRow\">\n <StyledTableCell colSpan={props.columns.length + (props.multiSelect ? 1 : 0)}>\n <StyledTableCellContent className={'center'}>\n There are no rows to display\n </StyledTableCellContent>\n </StyledTableCell>\n </StyledTableBodyRow>\n )}\n\n </StyledTableBody>\n );\n }\n;\n\nexport default TableBody;\n"],"file":"TableBody.js"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _Dropdown = require("../Dropdown");
15
+
16
+ var _Button = require("../Button");
17
+
18
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
19
+
20
+ var _styles = require("../styles");
21
+
22
+ var _TableStyles = require("./TableStyles");
23
+
24
+ var _icons = require("../icons");
25
+
26
+ var _common = require("../common");
27
+
28
+ var _jsxRuntime = require("react/jsx-runtime");
29
+
30
+ var TableFooter = function TableFooter(props) {
31
+ var rowsPerPageValues = [{
32
+ label: '10'
33
+ }, {
34
+ label: '20'
35
+ }, {
36
+ label: '50'
37
+ }, {
38
+ label: '100'
39
+ }];
40
+ var dropDownText = "Rows per page: ".concat(props.rowsPerPage);
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableFooter, {
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)("tr", {
43
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("td", {
44
+ colSpan: props.columns.length + (props.multiSelect ? 1 : 0),
45
+ "data-testid": "TestTableFooterRow",
46
+ children: [props.accordion && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableFooterCollapseButton, {
47
+ onClick: function onClick() {
48
+ return props.setIsCollapsed(!props.isCollapsed);
49
+ },
50
+ onMouseDown: _common.defaultOnMouseDownHandler,
51
+ disabled: props.isCollapsed && props.rows.length <= props.rowsPerPage,
52
+ children: [props.isCollapsed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
54
+ children: ["Show more (", props.rows.length - props.rowsPerPage, ")"]
55
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropDown, {})]
56
+ }), !props.isCollapsed && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
57
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
58
+ children: "Show less"
59
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.SystemIcons.ArrowDropUp, {})]
60
+ })]
61
+ }), !props.accordion && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableFooterContent, {
62
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropdown.DropdownFilter, {
63
+ id: "rows-per-page",
64
+ list: rowsPerPageValues,
65
+ margin: '0',
66
+ disableSorting: true,
67
+ disabled: props.showLoadingIndicator,
68
+ onSelect: function onSelect(value) {
69
+ return props.onRowsPerPageChange(+value);
70
+ },
71
+ initalValue: dropDownText,
72
+ keepInitialValue: true,
73
+ isButton: true
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableFooterCurrentInfo, {
75
+ children: [props.total === 0 ? 0 : props.from, "-", props.to, " of ", props.total]
76
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_TableStyles.StyledTableFooterControls, {
77
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
78
+ variant: "secondary",
79
+ shape: "circular",
80
+ action: function action() {
81
+ return props.prevPage();
82
+ },
83
+ disabled: props.from === 1 || props.showLoadingIndicator,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ChevronLeft, {
85
+ size: "24",
86
+ color: _styles.COLORS.neutral_600
87
+ })
88
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
89
+ variant: "secondary",
90
+ shape: "circular",
91
+ action: function action() {
92
+ return props.nextPage();
93
+ },
94
+ disabled: props.to === props.total || props.showLoadingIndicator,
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.ChevronRight, {
96
+ size: "24",
97
+ color: _styles.COLORS.neutral_600
98
+ })
99
+ })]
100
+ })]
101
+ })]
102
+ })
103
+ })
104
+ });
105
+ };
106
+
107
+ TableFooter.propTypes = {
108
+ onRowsPerPageChange: _propTypes.default.func.isRequired,
109
+ rowsPerPage: _propTypes.default.number.isRequired,
110
+ from: _propTypes.default.number,
111
+ to: _propTypes.default.number,
112
+ total: _propTypes.default.number,
113
+ nextPage: _propTypes.default.func.isRequired,
114
+ prevPage: _propTypes.default.func.isRequired,
115
+ setIsCollapsed: _propTypes.default.func.isRequired,
116
+ isCollapsed: _propTypes.default.bool.isRequired
117
+ };
118
+ var _default = TableFooter;
119
+ exports.default = _default;
120
+ //# sourceMappingURL=TableFooter.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["TableFooter","props","rowsPerPageValues","label","dropDownText","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","defaultOnMouseDownHandler","rows","showLoadingIndicator","value","onRowsPerPageChange","total","from","to","prevPage","COLORS","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>Show more ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>Show less</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n margin={'0'}\n disableSorting={true}\n disabled={props.showLoadingIndicator}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.cjs"}
@@ -6,6 +6,7 @@ import { ChevronLeft, ChevronRight } from '../icons/systemicons/SystemIcons';
6
6
  import { COLORS } from '../styles';
7
7
  import { StyledTableFooter, StyledTableFooterCollapseButton, StyledTableFooterContent, StyledTableFooterControls, StyledTableFooterCurrentInfo } from './TableStyles';
8
8
  import { SystemIcons } from '../icons';
9
+ import { defaultOnMouseDownHandler } from '../common';
9
10
  import { jsxs as _jsxs } from "react/jsx-runtime";
10
11
  import { jsx as _jsx } from "react/jsx-runtime";
11
12
  import { Fragment as _Fragment } from "react/jsx-runtime";
@@ -30,13 +31,11 @@ var TableFooter = function TableFooter(props) {
30
31
  onClick: function onClick() {
31
32
  return props.setIsCollapsed(!props.isCollapsed);
32
33
  },
33
- onMouseDown: function onMouseDown(e) {
34
- return e.preventDefault();
35
- },
34
+ onMouseDown: defaultOnMouseDownHandler,
36
35
  disabled: props.isCollapsed && props.rows.length <= props.rowsPerPage,
37
36
  children: [props.isCollapsed && /*#__PURE__*/_jsxs(_Fragment, {
38
37
  children: [/*#__PURE__*/_jsxs("span", {
39
- children: ["Show more(", props.rows.length - props.rowsPerPage, ")"]
38
+ children: ["Show more (", props.rows.length - props.rowsPerPage, ")"]
40
39
  }), /*#__PURE__*/_jsx(SystemIcons.ArrowDropDown, {})]
41
40
  }), !props.isCollapsed && /*#__PURE__*/_jsxs(_Fragment, {
42
41
  children: [/*#__PURE__*/_jsx("span", {
@@ -49,6 +48,7 @@ var TableFooter = function TableFooter(props) {
49
48
  list: rowsPerPageValues,
50
49
  margin: '0',
51
50
  disableSorting: true,
51
+ disabled: props.showLoadingIndicator,
52
52
  onSelect: function onSelect(value) {
53
53
  return props.onRowsPerPageChange(+value);
54
54
  },
@@ -64,7 +64,7 @@ var TableFooter = function TableFooter(props) {
64
64
  action: function action() {
65
65
  return props.prevPage();
66
66
  },
67
- disabled: props.from === 1,
67
+ disabled: props.from === 1 || props.showLoadingIndicator,
68
68
  children: /*#__PURE__*/_jsx(ChevronLeft, {
69
69
  size: "24",
70
70
  color: COLORS.neutral_600
@@ -75,7 +75,7 @@ var TableFooter = function TableFooter(props) {
75
75
  action: function action() {
76
76
  return props.nextPage();
77
77
  },
78
- disabled: props.to === props.total,
78
+ disabled: props.to === props.total || props.showLoadingIndicator,
79
79
  children: /*#__PURE__*/_jsx(ChevronRight, {
80
80
  size: "24",
81
81
  color: COLORS.neutral_600
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownFilter","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","TableFooter","props","rowsPerPageValues","label","dropDownText","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","e","preventDefault","rows","value","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":";AAAA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAAQC,cAAR,QAA6B,aAA7B;AACA,SAAQC,UAAR,QAAyB,WAAzB;AACA,SAAQC,WAAR,EAAqBC,YAArB,QAAwC,kCAAxC;AACA,SAAQC,MAAR,QAAqB,WAArB;AAEA,SACEC,iBADF,EACqBC,+BADrB,EAEEC,wBAFF,EAGEC,yBAHF,EAIEC,4BAJF,QAKO,eALP;AAMA,SAAQC,WAAR,QAA0B,UAA1B;;;;;AAeA,IAAMC,WAAsD,GAAG,SAAzDA,WAAyD,CAACC,KAAD,EAAW;AACxE,MAAMC,iBAAuC,GAAG,CAAC;AAACC,IAAAA,KAAK,EAAE;AAAR,GAAD,EAAgB;AAACA,IAAAA,KAAK,EAAE;AAAR,GAAhB,EAA+B;AAACA,IAAAA,KAAK,EAAE;AAAR,GAA/B,EAA8C;AAACA,IAAAA,KAAK,EAAE;AAAR,GAA9C,CAAhD;AAEA,MAAMC,YAAY,4BAAqBH,KAAK,CAACI,WAA3B,CAAlB;AAEA,sBACE,KAAC,iBAAD;AAAA,2BACE;AAAA,6BACE;AAAI,QAAA,OAAO,EAAEJ,KAAK,CAACK,OAAN,CAAcC,MAAd,IAAwBN,KAAK,CAACO,WAAN,GAAoB,CAApB,GAAwB,CAAhD,CAAb;AAAiE,uBAAY,oBAA7E;AAAA,mBAEIP,KAAK,CAACQ,SAAN,iBACA,MAAC,+BAAD;AAAiC,UAAA,OAAO,EAAE;AAAA,mBAAMR,KAAK,CAACS,cAAN,CAAqB,CAACT,KAAK,CAACU,WAA5B,CAAN;AAAA,WAA1C;AACiC,UAAA,WAAW,EAAE,qBAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACC,cAAF,EAAJ;AAAA,WAD/C;AAEiC,UAAA,QAAQ,EAAEZ,KAAK,CAACU,WAAN,IAAqBV,KAAK,CAACa,IAAN,CAAWP,MAAX,IAAqBN,KAAK,CAACI,WAF3F;AAAA,qBAIIJ,KAAK,CAACU,WAAN,iBACA;AAAA,oCACE;AAAA,uCAAiBV,KAAK,CAACa,IAAN,CAAWP,MAAX,GAAoBN,KAAK,CAACI,WAA3C;AAAA,cADF,eAEE,KAAC,WAAD,CAAa,aAAb,KAFF;AAAA,YALJ,EAWI,CAACJ,KAAK,CAACU,WAAP,iBACA;AAAA,oCACE;AAAA;AAAA,cADF,eAEE,KAAC,WAAD,CAAa,WAAb,KAFF;AAAA,YAZJ;AAAA,UAHJ,EAuBI,CAACV,KAAK,CAACQ,SAAP,iBACA,MAAC,wBAAD;AAAA,kCACE,KAAC,cAAD;AACE,YAAA,EAAE,EAAC,eADL;AAEE,YAAA,IAAI,EAAEP,iBAFR;AAGE,YAAA,MAAM,EAAE,GAHV;AAIE,YAAA,cAAc,EAAE,IAJlB;AAKE,YAAA,QAAQ,EAAE,kBAACa,KAAD;AAAA,qBAAWd,KAAK,CAACe,mBAAN,CAA0B,CAACD,KAA3B,CAAX;AAAA,aALZ;AAME,YAAA,WAAW,EAAEX,YANf;AAOE,YAAA,gBAAgB,EAAE,IAPpB;AAQE,YAAA,QAAQ,EAAE;AARZ,YADF,eAWE,MAAC,4BAAD;AAAA,uBACGH,KAAK,CAACgB,KAAN,KAAgB,CAAhB,GAAoB,CAApB,GAAwBhB,KAAK,CAACiB,IADjC,OACwCjB,KAAK,CAACkB,EAD9C,UACsDlB,KAAK,CAACgB,KAD5D;AAAA,YAXF,eAcE,MAAC,yBAAD;AAAA,oCACE,KAAC,UAAD;AAAY,cAAA,OAAO,EAAC,WAApB;AAAgC,cAAA,KAAK,EAAC,UAAtC;AAAiD,cAAA,MAAM,EAAE;AAAA,uBAAMhB,KAAK,CAACmB,QAAN,EAAN;AAAA,eAAzD;AACY,cAAA,QAAQ,EAAEnB,KAAK,CAACiB,IAAN,KAAe,CADrC;AAAA,qCAEE,KAAC,WAAD;AAAa,gBAAA,IAAI,EAAC,IAAlB;AAAuB,gBAAA,KAAK,EAAEzB,MAAM,CAAC4B;AAArC;AAFF,cADF,eAKE,KAAC,UAAD;AAAY,cAAA,OAAO,EAAC,WAApB;AAAgC,cAAA,KAAK,EAAC,UAAtC;AAAiD,cAAA,MAAM,EAAE;AAAA,uBAAMpB,KAAK,CAACqB,QAAN,EAAN;AAAA,eAAzD;AACY,cAAA,QAAQ,EAAErB,KAAK,CAACkB,EAAN,KAAalB,KAAK,CAACgB,KADzC;AAAA,qCAEE,KAAC,YAAD;AAAc,gBAAA,IAAI,EAAC,IAAnB;AAAwB,gBAAA,KAAK,EAAExB,MAAM,CAAC4B;AAAtC;AAFF,cALF;AAAA,YAdF;AAAA,UAxBJ;AAAA;AADF;AADF,IADF;AAyDD,CA9DD;;;AAXEL,EAAAA,mB;AACAX,EAAAA,W;AACAa,EAAAA,I;AACAC,EAAAA,E;AACAF,EAAAA,K;AACAK,EAAAA,Q;AACAF,EAAAA,Q;AACAV,EAAAA,c;AACAC,EAAAA,W;;AAoEF,eAAeX,WAAf","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={e => e.preventDefault()}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>Show more({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>Show less</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n margin={'0'}\n disableSorting={true}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}
1
+ {"version":3,"sources":["../../src/Table/TableFooter.tsx"],"names":["React","DropdownFilter","IconButton","ChevronLeft","ChevronRight","COLORS","StyledTableFooter","StyledTableFooterCollapseButton","StyledTableFooterContent","StyledTableFooterControls","StyledTableFooterCurrentInfo","SystemIcons","defaultOnMouseDownHandler","TableFooter","props","rowsPerPageValues","label","dropDownText","rowsPerPage","columns","length","multiSelect","accordion","setIsCollapsed","isCollapsed","rows","showLoadingIndicator","value","onRowsPerPageChange","total","from","to","prevPage","neutral_600","nextPage"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {TableProps} from './TableTypes';\nimport {DropdownFilter} from '../Dropdown';\nimport {IconButton} from '../Button';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {COLORS} from '../styles';\nimport {DropdownFilterItem} from '../Dropdown/DropdownFilter';\nimport {\n StyledTableFooter, StyledTableFooterCollapseButton,\n StyledTableFooterContent,\n StyledTableFooterControls,\n StyledTableFooterCurrentInfo\n} from './TableStyles';\nimport {SystemIcons} from '../icons';\nimport {defaultOnMouseDownHandler} from '../common';\n\n\ninterface TableFooterProps extends TableProps {\n onRowsPerPageChange: (value: number) => void;\n rowsPerPage: number;\n from?: number;\n to?: number;\n total?: number;\n nextPage: () => void;\n prevPage: () => void;\n setIsCollapsed: (isCollapsed: boolean) => void;\n isCollapsed: boolean;\n}\n\nconst TableFooter: React.FunctionComponent<TableFooterProps> = (props) => {\n const rowsPerPageValues: DropdownFilterItem[] = [{label: '10'}, {label: '20'}, {label: '50'}, {label: '100'}];\n\n const dropDownText = `Rows per page: ${props.rowsPerPage}`;\n\n return (\n <StyledTableFooter>\n <tr>\n <td colSpan={props.columns.length + (props.multiSelect ? 1 : 0)} data-testid=\"TestTableFooterRow\">\n {\n props.accordion &&\n <StyledTableFooterCollapseButton onClick={() => props.setIsCollapsed(!props.isCollapsed)}\n onMouseDown={defaultOnMouseDownHandler}\n disabled={props.isCollapsed && props.rows.length <= props.rowsPerPage}>\n {\n props.isCollapsed &&\n <>\n <span>Show more ({props.rows.length - props.rowsPerPage})</span>\n <SystemIcons.ArrowDropDown/>\n </>\n }\n {\n !props.isCollapsed &&\n <>\n <span>Show less</span>\n <SystemIcons.ArrowDropUp/>\n </>\n }\n </StyledTableFooterCollapseButton>\n }\n {\n !props.accordion &&\n <StyledTableFooterContent>\n <DropdownFilter\n id=\"rows-per-page\"\n list={rowsPerPageValues}\n margin={'0'}\n disableSorting={true}\n disabled={props.showLoadingIndicator}\n onSelect={(value) => props.onRowsPerPageChange(+value)}\n initalValue={dropDownText}\n keepInitialValue={true}\n isButton={true}\n />\n <StyledTableFooterCurrentInfo>\n {props.total === 0 ? 0 : props.from}-{props.to} of {props.total}\n </StyledTableFooterCurrentInfo>\n <StyledTableFooterControls>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.prevPage()}\n disabled={props.from === 1 || props.showLoadingIndicator}>\n <ChevronLeft size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => props.nextPage()}\n disabled={props.to === props.total || props.showLoadingIndicator}>\n <ChevronRight size=\"24\" color={COLORS.neutral_600}/>\n </IconButton>\n </StyledTableFooterControls>\n </StyledTableFooterContent>\n }\n </td>\n </tr>\n </StyledTableFooter>\n );\n};\n\n\nexport default TableFooter;\n"],"file":"TableFooter.js"}