@laerdal/life-react-components 1.9.8-dev.22 → 1.9.8-dev.25

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 (627) hide show
  1. package/README.md +38 -38
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.d.ts +11 -11
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/AccordionMenu.cjs.map +1 -1
  6. package/dist/Accordion/AccordionMenu.d.ts +19 -19
  7. package/dist/Accordion/AccordionMenu.js.map +1 -1
  8. package/dist/Accordion/ContentAccordion.cjs.map +1 -1
  9. package/dist/Accordion/ContentAccordion.d.ts +27 -27
  10. package/dist/Accordion/ContentAccordion.js.map +1 -1
  11. package/dist/Accordion/index.cjs.map +1 -1
  12. package/dist/Accordion/index.d.ts +4 -4
  13. package/dist/Accordion/index.js.map +1 -1
  14. package/dist/Accordion/styles.cjs.map +1 -1
  15. package/dist/Accordion/styles.d.ts +10 -10
  16. package/dist/Accordion/styles.js.map +1 -1
  17. package/dist/AuthPage/AuthPage.cjs +4 -4
  18. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  19. package/dist/AuthPage/AuthPage.d.ts +32 -32
  20. package/dist/AuthPage/AuthPage.js +4 -4
  21. package/dist/AuthPage/AuthPage.js.map +1 -1
  22. package/dist/AuthPage/Information.cjs.map +1 -1
  23. package/dist/AuthPage/Information.d.ts +7 -7
  24. package/dist/AuthPage/Information.js.map +1 -1
  25. package/dist/AuthPage/ScreenSetsContainer.cjs.map +1 -1
  26. package/dist/AuthPage/ScreenSetsContainer.d.ts +4 -4
  27. package/dist/AuthPage/ScreenSetsContainer.js.map +1 -1
  28. package/dist/AuthPage/_AuthPageSection.cjs.map +1 -1
  29. package/dist/AuthPage/_AuthPageSection.d.ts +2 -2
  30. package/dist/AuthPage/_AuthPageSection.js.map +1 -1
  31. package/dist/AuthPage/index.cjs.map +1 -1
  32. package/dist/AuthPage/index.d.ts +5 -5
  33. package/dist/AuthPage/index.js.map +1 -1
  34. package/dist/AuthPage/screenSetsErrorMessages.cjs.map +1 -1
  35. package/dist/AuthPage/screenSetsErrorMessages.d.ts +5 -5
  36. package/dist/AuthPage/screenSetsErrorMessages.js.map +1 -1
  37. package/dist/Banners/Banner.cjs.map +1 -1
  38. package/dist/Banners/Banner.d.ts +17 -17
  39. package/dist/Banners/Banner.js.map +1 -1
  40. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  41. package/dist/Banners/OverviewBanner.d.ts +6 -6
  42. package/dist/Banners/OverviewBanner.js.map +1 -1
  43. package/dist/Banners/index.cjs.map +1 -1
  44. package/dist/Banners/index.d.ts +3 -3
  45. package/dist/Banners/index.js.map +1 -1
  46. package/dist/Banners/styles.cjs.map +1 -1
  47. package/dist/Banners/styles.d.ts +1 -1
  48. package/dist/Banners/styles.js.map +1 -1
  49. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  50. package/dist/Breadcrumb/Breadcrumb.d.ts +12 -12
  51. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  52. package/dist/Breadcrumb/BreadcrumbItem.d.ts +4 -4
  53. package/dist/Breadcrumb/index.cjs.map +1 -1
  54. package/dist/Breadcrumb/index.d.ts +1 -1
  55. package/dist/Breadcrumb/index.js.map +1 -1
  56. package/dist/Button/BackButton.cjs.map +1 -1
  57. package/dist/Button/BackButton.d.ts +8 -8
  58. package/dist/Button/BackButton.js.map +1 -1
  59. package/dist/Button/Button.cjs.map +1 -1
  60. package/dist/Button/Button.d.ts +19 -19
  61. package/dist/Button/Button.js.map +1 -1
  62. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  63. package/dist/Button/DualFunctionButton.d.ts +13 -13
  64. package/dist/Button/DualFunctionButton.js.map +1 -1
  65. package/dist/Button/Iconbutton.cjs.map +1 -1
  66. package/dist/Button/Iconbutton.d.ts +44 -44
  67. package/dist/Button/Iconbutton.js.map +1 -1
  68. package/dist/Button/index.cjs.map +1 -1
  69. package/dist/Button/index.d.ts +4 -4
  70. package/dist/Button/index.js.map +1 -1
  71. package/dist/Card/HorizontalCard/HorizontalCard.cjs.map +1 -1
  72. package/dist/Card/HorizontalCard/HorizontalCard.d.ts +4 -4
  73. package/dist/Card/HorizontalCard/HorizontalCard.js.map +1 -1
  74. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs +8 -2
  75. package/dist/Card/HorizontalCard/HorizontalCardActions.cjs.map +1 -1
  76. package/dist/Card/HorizontalCard/HorizontalCardActions.d.ts +5 -5
  77. package/dist/Card/HorizontalCard/HorizontalCardActions.js +2 -2
  78. package/dist/Card/HorizontalCard/HorizontalCardActions.js.map +1 -1
  79. package/dist/Card/HorizontalCard/HorizontalCardBody.cjs.map +1 -1
  80. package/dist/Card/HorizontalCard/HorizontalCardBody.d.ts +5 -5
  81. package/dist/Card/HorizontalCard/HorizontalCardBody.js.map +1 -1
  82. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.cjs.map +1 -1
  83. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.d.ts +5 -5
  84. package/dist/Card/HorizontalCard/HorizontalCardThumbnail.js.map +1 -1
  85. package/dist/Card/HorizontalCard/index.cjs.map +1 -1
  86. package/dist/Card/HorizontalCard/index.d.ts +2 -2
  87. package/dist/Card/HorizontalCard/index.js.map +1 -1
  88. package/dist/Card/HorizontalCard/types.d.ts +40 -40
  89. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  90. package/dist/Card/VerticalCard/Card.d.ts +16 -16
  91. package/dist/Card/VerticalCard/Card.js.map +1 -1
  92. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  93. package/dist/Card/VerticalCard/CardBottomSection.d.ts +31 -31
  94. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  95. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  96. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +27 -27
  97. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  98. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  99. package/dist/Card/VerticalCard/CardTopSection.d.ts +27 -27
  100. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  101. package/dist/Card/VerticalCard/index.cjs.map +1 -1
  102. package/dist/Card/VerticalCard/index.d.ts +7 -7
  103. package/dist/Card/VerticalCard/index.js.map +1 -1
  104. package/dist/Card/index.cjs.map +1 -1
  105. package/dist/Card/index.d.ts +2 -2
  106. package/dist/Card/index.js.map +1 -1
  107. package/dist/Chips/ActionChip.cjs +8 -8
  108. package/dist/Chips/ActionChip.cjs.map +1 -1
  109. package/dist/Chips/ActionChip.d.ts +10 -10
  110. package/dist/Chips/ActionChip.js +10 -10
  111. package/dist/Chips/ActionChip.js.map +1 -1
  112. package/dist/Chips/ChipStyles.cjs.map +1 -1
  113. package/dist/Chips/ChipStyles.d.ts +3 -3
  114. package/dist/Chips/ChipStyles.js +4 -4
  115. package/dist/Chips/ChipStyles.js.map +1 -1
  116. package/dist/Chips/ChipTypes.d.ts +38 -38
  117. package/dist/Chips/ChoiceChips.cjs +13 -13
  118. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  119. package/dist/Chips/ChoiceChips.d.ts +10 -10
  120. package/dist/Chips/ChoiceChips.js +15 -15
  121. package/dist/Chips/ChoiceChips.js.map +1 -1
  122. package/dist/Chips/FilterChip.cjs +8 -8
  123. package/dist/Chips/FilterChip.cjs.map +1 -1
  124. package/dist/Chips/FilterChip.d.ts +10 -10
  125. package/dist/Chips/FilterChip.js +10 -10
  126. package/dist/Chips/FilterChip.js.map +1 -1
  127. package/dist/Chips/InputChip.cjs +11 -11
  128. package/dist/Chips/InputChip.cjs.map +1 -1
  129. package/dist/Chips/InputChip.d.ts +10 -10
  130. package/dist/Chips/InputChip.js +13 -13
  131. package/dist/Chips/InputChip.js.map +1 -1
  132. package/dist/Chips/index.cjs.map +1 -1
  133. package/dist/Chips/index.d.ts +5 -5
  134. package/dist/Chips/index.js.map +1 -1
  135. package/dist/ChipsInput/ChipDropdownInput.cjs +20 -20
  136. package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
  137. package/dist/ChipsInput/ChipDropdownInput.d.ts +21 -21
  138. package/dist/ChipsInput/ChipDropdownInput.js +26 -26
  139. package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
  140. package/dist/ChipsInput/ChipInput.cjs +16 -16
  141. package/dist/ChipsInput/ChipInput.cjs.map +1 -1
  142. package/dist/ChipsInput/ChipInput.d.ts +7 -7
  143. package/dist/ChipsInput/ChipInput.js +16 -16
  144. package/dist/ChipsInput/ChipInput.js.map +1 -1
  145. package/dist/ChipsInput/ChipInputField.cjs +4 -4
  146. package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
  147. package/dist/ChipsInput/ChipInputField.d.ts +25 -25
  148. package/dist/ChipsInput/ChipInputField.js +4 -4
  149. package/dist/ChipsInput/ChipInputField.js.map +1 -1
  150. package/dist/ChipsInput/ChipInputTypes.d.ts +22 -22
  151. package/dist/ChipsInput/index.cjs.map +1 -1
  152. package/dist/ChipsInput/index.d.ts +1 -1
  153. package/dist/ChipsInput/index.js.map +1 -1
  154. package/dist/Dropdown/BasicDropdown.cjs +57 -67
  155. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  156. package/dist/Dropdown/BasicDropdown.d.ts +35 -42
  157. package/dist/Dropdown/BasicDropdown.js +58 -67
  158. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  159. package/dist/Dropdown/CommonStyling.cjs +1 -1
  160. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  161. package/dist/Dropdown/CommonStyling.d.ts +22 -22
  162. package/dist/Dropdown/CommonStyling.js +1 -1
  163. package/dist/Dropdown/CommonStyling.js.map +1 -1
  164. package/dist/Dropdown/DropdownButton.cjs +3 -3
  165. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  166. package/dist/Dropdown/DropdownButton.d.ts +10 -10
  167. package/dist/Dropdown/DropdownButton.js +9 -9
  168. package/dist/Dropdown/DropdownButton.js.map +1 -1
  169. package/dist/Dropdown/DropdownButtonTypes.d.ts +33 -33
  170. package/dist/Dropdown/DropdownContent.cjs +6 -6
  171. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  172. package/dist/Dropdown/DropdownContent.d.ts +56 -56
  173. package/dist/Dropdown/DropdownContent.js +6 -6
  174. package/dist/Dropdown/DropdownContent.js.map +1 -1
  175. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  176. package/dist/Dropdown/DropdownFilter.d.ts +24 -24
  177. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  178. package/dist/Dropdown/index.cjs.map +1 -1
  179. package/dist/Dropdown/index.d.ts +6 -6
  180. package/dist/Dropdown/index.js.map +1 -1
  181. package/dist/Footer/Components/FooterBottomLinks.cjs.map +1 -1
  182. package/dist/Footer/Components/FooterBottomLinks.d.ts +11 -11
  183. package/dist/Footer/Components/FooterBottomLinks.js.map +1 -1
  184. package/dist/Footer/Components/FooterDropdownLinks.cjs.map +1 -1
  185. package/dist/Footer/Components/FooterDropdownLinks.d.ts +7 -7
  186. package/dist/Footer/Components/FooterDropdownLinks.js.map +1 -1
  187. package/dist/Footer/Components/FooterNavSection.cjs.map +1 -1
  188. package/dist/Footer/Components/FooterNavSection.d.ts +7 -7
  189. package/dist/Footer/Components/FooterNavSection.js.map +1 -1
  190. package/dist/Footer/Components/FooterNewsletterAndSocialSection.cjs.map +1 -1
  191. package/dist/Footer/Components/FooterNewsletterAndSocialSection.d.ts +7 -7
  192. package/dist/Footer/Components/FooterNewsletterAndSocialSection.js.map +1 -1
  193. package/dist/Footer/Components/FooterTop.cjs.map +1 -1
  194. package/dist/Footer/Components/FooterTop.d.ts +7 -7
  195. package/dist/Footer/Components/FooterTop.js.map +1 -1
  196. package/dist/Footer/Footer.cjs.map +1 -1
  197. package/dist/Footer/Footer.d.ts +2 -2
  198. package/dist/Footer/Footer.js.map +1 -1
  199. package/dist/Footer/SiteFooter.cjs.map +1 -1
  200. package/dist/Footer/SiteFooter.d.ts +20 -20
  201. package/dist/Footer/SiteFooter.js +8 -8
  202. package/dist/Footer/SiteFooter.js.map +1 -1
  203. package/dist/Footer/index.cjs.map +1 -1
  204. package/dist/Footer/index.d.ts +2 -2
  205. package/dist/Footer/index.js.map +1 -1
  206. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs +4 -4
  207. package/dist/GlobalNavigationBar/GlobalNavigationBar.cjs.map +1 -1
  208. package/dist/GlobalNavigationBar/GlobalNavigationBar.d.ts +23 -23
  209. package/dist/GlobalNavigationBar/GlobalNavigationBar.js +4 -4
  210. package/dist/GlobalNavigationBar/GlobalNavigationBar.js.map +1 -1
  211. package/dist/GlobalNavigationBar/Logo.cjs.map +1 -1
  212. package/dist/GlobalNavigationBar/Logo.d.ts +14 -14
  213. package/dist/GlobalNavigationBar/Logo.js.map +1 -1
  214. package/dist/GlobalNavigationBar/NavigationHelper.cjs.map +1 -1
  215. package/dist/GlobalNavigationBar/NavigationHelper.d.ts +4 -4
  216. package/dist/GlobalNavigationBar/NavigationHelper.js.map +1 -1
  217. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs +8 -2
  218. package/dist/GlobalNavigationBar/desktop/DesktopActions.cjs.map +1 -1
  219. package/dist/GlobalNavigationBar/desktop/DesktopActions.d.ts +15 -15
  220. package/dist/GlobalNavigationBar/desktop/DesktopActions.js +2 -2
  221. package/dist/GlobalNavigationBar/desktop/DesktopActions.js.map +1 -1
  222. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.cjs.map +1 -1
  223. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.d.ts +7 -7
  224. package/dist/GlobalNavigationBar/desktop/ExtendedMainMenu.js.map +1 -1
  225. package/dist/GlobalNavigationBar/desktop/MainMenu.cjs.map +1 -1
  226. package/dist/GlobalNavigationBar/desktop/MainMenu.d.ts +8 -8
  227. package/dist/GlobalNavigationBar/desktop/MainMenu.js.map +1 -1
  228. package/dist/GlobalNavigationBar/desktop/RightSideNav.cjs.map +1 -1
  229. package/dist/GlobalNavigationBar/desktop/RightSideNav.d.ts +8 -8
  230. package/dist/GlobalNavigationBar/desktop/RightSideNav.js.map +1 -1
  231. package/dist/GlobalNavigationBar/desktop/UserMenu.cjs.map +1 -1
  232. package/dist/GlobalNavigationBar/desktop/UserMenu.d.ts +7 -7
  233. package/dist/GlobalNavigationBar/desktop/UserMenu.js.map +1 -1
  234. package/dist/GlobalNavigationBar/index.cjs.map +1 -1
  235. package/dist/GlobalNavigationBar/index.d.ts +3 -3
  236. package/dist/GlobalNavigationBar/index.js.map +1 -1
  237. package/dist/GlobalNavigationBar/mobile/CommonStyles.cjs.map +1 -1
  238. package/dist/GlobalNavigationBar/mobile/CommonStyles.d.ts +13 -13
  239. package/dist/GlobalNavigationBar/mobile/CommonStyles.js.map +1 -1
  240. package/dist/GlobalNavigationBar/mobile/MobileMenu.cjs.map +1 -1
  241. package/dist/GlobalNavigationBar/mobile/MobileMenu.d.ts +8 -8
  242. package/dist/GlobalNavigationBar/mobile/MobileMenu.js.map +1 -1
  243. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.cjs.map +1 -1
  244. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.d.ts +11 -11
  245. package/dist/GlobalNavigationBar/mobile/MobileMenuContent.js.map +1 -1
  246. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.cjs.map +1 -1
  247. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.d.ts +12 -12
  248. package/dist/GlobalNavigationBar/mobile/MobileMenuHeader.js.map +1 -1
  249. package/dist/GlobalNavigationBar/types.d.ts +120 -120
  250. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  251. package/dist/HyperLink/HyperLink.d.ts +16 -16
  252. package/dist/HyperLink/HyperLink.js.map +1 -1
  253. package/dist/HyperLink/index.cjs.map +1 -1
  254. package/dist/HyperLink/index.d.ts +3 -3
  255. package/dist/HyperLink/index.js.map +1 -1
  256. package/dist/HyperLink/styling.cjs.map +1 -1
  257. package/dist/HyperLink/styling.d.ts +2 -2
  258. package/dist/HyperLink/styling.js.map +1 -1
  259. package/dist/Image/ImageWithFallbacks.cjs.map +1 -1
  260. package/dist/Image/ImageWithFallbacks.d.ts +21 -21
  261. package/dist/Image/ImageWithFallbacks.js.map +1 -1
  262. package/dist/Image/index.cjs.map +1 -1
  263. package/dist/Image/index.d.ts +2 -2
  264. package/dist/Image/index.js.map +1 -1
  265. package/dist/InputFields/Checkbox.cjs.map +1 -1
  266. package/dist/InputFields/Checkbox.d.ts +25 -25
  267. package/dist/InputFields/Checkbox.js.map +1 -1
  268. package/dist/InputFields/DatepickerField.cjs +42 -48
  269. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  270. package/dist/InputFields/DatepickerField.d.ts +23 -20
  271. package/dist/InputFields/DatepickerField.js +32 -45
  272. package/dist/InputFields/DatepickerField.js.map +1 -1
  273. package/dist/InputFields/DatepickerFieldHeader.cjs.map +1 -1
  274. package/dist/InputFields/DatepickerFieldHeader.d.ts +18 -18
  275. package/dist/InputFields/DatepickerFieldHeader.js +2 -2
  276. package/dist/InputFields/DatepickerFieldHeader.js.map +1 -1
  277. package/dist/InputFields/Label.cjs +5 -5
  278. package/dist/InputFields/Label.cjs.map +1 -1
  279. package/dist/InputFields/Label.d.ts +13 -13
  280. package/dist/InputFields/Label.js +11 -11
  281. package/dist/InputFields/Label.js.map +1 -1
  282. package/dist/InputFields/NumberField.cjs +52 -63
  283. package/dist/InputFields/NumberField.cjs.map +1 -1
  284. package/dist/InputFields/NumberField.d.ts +24 -19
  285. package/dist/InputFields/NumberField.js +53 -60
  286. package/dist/InputFields/NumberField.js.map +1 -1
  287. package/dist/InputFields/PasswordField.cjs.map +1 -1
  288. package/dist/InputFields/PasswordField.d.ts +17 -17
  289. package/dist/InputFields/PasswordField.js.map +1 -1
  290. package/dist/InputFields/QuickSearch.cjs.map +1 -1
  291. package/dist/InputFields/QuickSearch.d.ts +18 -18
  292. package/dist/InputFields/QuickSearch.js.map +1 -1
  293. package/dist/InputFields/RadioButton.cjs +1 -1
  294. package/dist/InputFields/RadioButton.cjs.map +1 -1
  295. package/dist/InputFields/RadioButton.d.ts +18 -18
  296. package/dist/InputFields/RadioButton.js +1 -1
  297. package/dist/InputFields/RadioButton.js.map +1 -1
  298. package/dist/InputFields/ResponsiveComponentWrapper.cjs +4 -4
  299. package/dist/InputFields/ResponsiveComponentWrapper.cjs.map +1 -1
  300. package/dist/InputFields/ResponsiveComponentWrapper.d.ts +11 -11
  301. package/dist/InputFields/ResponsiveComponentWrapper.js +4 -4
  302. package/dist/InputFields/ResponsiveComponentWrapper.js.map +1 -1
  303. package/dist/InputFields/SearchBar.cjs.map +1 -1
  304. package/dist/InputFields/SearchBar.d.ts +18 -18
  305. package/dist/InputFields/SearchBar.js.map +1 -1
  306. package/dist/InputFields/TextField.cjs +3 -5
  307. package/dist/InputFields/TextField.cjs.map +1 -1
  308. package/dist/InputFields/TextField.d.ts +23 -24
  309. package/dist/InputFields/TextField.js +4 -5
  310. package/dist/InputFields/TextField.js.map +1 -1
  311. package/dist/InputFields/Textarea.cjs.map +1 -1
  312. package/dist/InputFields/Textarea.d.ts +7 -7
  313. package/dist/InputFields/Textarea.js +8 -8
  314. package/dist/InputFields/Textarea.js.map +1 -1
  315. package/dist/InputFields/components/SearchBarInput.cjs.map +1 -1
  316. package/dist/InputFields/components/SearchBarInput.d.ts +19 -19
  317. package/dist/InputFields/components/SearchBarInput.js.map +1 -1
  318. package/dist/InputFields/components/SearchField.cjs.map +1 -1
  319. package/dist/InputFields/components/SearchField.d.ts +15 -15
  320. package/dist/InputFields/components/SearchField.js.map +1 -1
  321. package/dist/InputFields/index.cjs +0 -26
  322. package/dist/InputFields/index.cjs.map +1 -1
  323. package/dist/InputFields/index.d.ts +11 -12
  324. package/dist/InputFields/index.js +0 -1
  325. package/dist/InputFields/index.js.map +1 -1
  326. package/dist/InputFields/styling.cjs.map +1 -1
  327. package/dist/InputFields/styling.d.ts +24 -24
  328. package/dist/InputFields/styling.js.map +1 -1
  329. package/dist/InputFields/types.d.ts +38 -38
  330. package/dist/Layouts/index.cjs.map +1 -1
  331. package/dist/Layouts/index.d.ts +10 -10
  332. package/dist/Layouts/index.js.map +1 -1
  333. package/dist/LinearProgress/LinearProgress.cjs.map +1 -1
  334. package/dist/LinearProgress/LinearProgress.d.ts +25 -25
  335. package/dist/LinearProgress/LinearProgress.js.map +1 -1
  336. package/dist/LinearProgress/index.cjs.map +1 -1
  337. package/dist/LinearProgress/index.d.ts +3 -3
  338. package/dist/LinearProgress/index.js.map +1 -1
  339. package/dist/List/ListRow.cjs.map +1 -1
  340. package/dist/List/ListRow.d.ts +20 -20
  341. package/dist/List/ListRow.js.map +1 -1
  342. package/dist/List/__tests__/ListRow.tests.d.ts +1 -1
  343. package/dist/List/index.cjs.map +1 -1
  344. package/dist/List/index.d.ts +2 -2
  345. package/dist/List/index.js.map +1 -1
  346. package/dist/LoadingIndicator/LoadingIndicator.cjs.map +1 -1
  347. package/dist/LoadingIndicator/LoadingIndicator.d.ts +8 -8
  348. package/dist/LoadingIndicator/LoadingIndicator.js.map +1 -1
  349. package/dist/LoadingIndicator/index.cjs.map +1 -1
  350. package/dist/LoadingIndicator/index.d.ts +1 -1
  351. package/dist/LoadingIndicator/index.js.map +1 -1
  352. package/dist/LoadingPage/GlobalLoadingPage.cjs.map +1 -1
  353. package/dist/LoadingPage/GlobalLoadingPage.d.ts +7 -7
  354. package/dist/LoadingPage/GlobalLoadingPage.js.map +1 -1
  355. package/dist/LoadingPage/index.cjs.map +1 -1
  356. package/dist/LoadingPage/index.d.ts +1 -1
  357. package/dist/LoadingPage/index.js.map +1 -1
  358. package/dist/MenuItem/MenuItem.cjs.map +1 -1
  359. package/dist/MenuItem/MenuItem.d.ts +25 -25
  360. package/dist/MenuItem/MenuItem.js.map +1 -1
  361. package/dist/MenuItem/index.d.ts +1 -1
  362. package/dist/MiniProductCard/MiniProductCard.cjs.map +1 -1
  363. package/dist/MiniProductCard/MiniProductCard.d.ts +7 -7
  364. package/dist/MiniProductCard/MiniProductCard.js.map +1 -1
  365. package/dist/MiniProductCard/index.cjs.map +1 -1
  366. package/dist/MiniProductCard/index.d.ts +1 -1
  367. package/dist/MiniProductCard/index.js.map +1 -1
  368. package/dist/Modals/Modal.cjs +2 -2
  369. package/dist/Modals/Modal.cjs.map +1 -1
  370. package/dist/Modals/Modal.d.ts +14 -14
  371. package/dist/Modals/Modal.js +2 -2
  372. package/dist/Modals/Modal.js.map +1 -1
  373. package/dist/Modals/ModalContainer.cjs.map +1 -1
  374. package/dist/Modals/ModalContainer.d.ts +32 -32
  375. package/dist/Modals/ModalContainer.js.map +1 -1
  376. package/dist/Modals/ModalContent.cjs.map +1 -1
  377. package/dist/Modals/ModalContent.d.ts +17 -17
  378. package/dist/Modals/ModalContent.js.map +1 -1
  379. package/dist/Modals/ModalDialog.cjs.map +1 -1
  380. package/dist/Modals/ModalDialog.d.ts +28 -28
  381. package/dist/Modals/ModalDialog.js.map +1 -1
  382. package/dist/Modals/ModalNote.cjs.map +1 -1
  383. package/dist/Modals/ModalNote.d.ts +9 -9
  384. package/dist/Modals/ModalNote.js.map +1 -1
  385. package/dist/Modals/ModalStyles.cjs +2 -2
  386. package/dist/Modals/ModalStyles.cjs.map +1 -1
  387. package/dist/Modals/ModalStyles.d.ts +53 -53
  388. package/dist/Modals/ModalStyles.js +2 -2
  389. package/dist/Modals/ModalStyles.js.map +1 -1
  390. package/dist/Modals/ModalTypes.d.ts +23 -23
  391. package/dist/Modals/index.cjs.map +1 -1
  392. package/dist/Modals/index.d.ts +7 -7
  393. package/dist/Modals/index.js.map +1 -1
  394. package/dist/NavItem/NavItem.cjs.map +1 -1
  395. package/dist/NavItem/NavItem.d.ts +2 -2
  396. package/dist/NavItem/NavItem.js.map +1 -1
  397. package/dist/NavItem/index.cjs.map +1 -1
  398. package/dist/NavItem/index.d.ts +1 -1
  399. package/dist/NavItem/index.js.map +1 -1
  400. package/dist/NotificationDot/NotificationDot.cjs.map +1 -1
  401. package/dist/NotificationDot/NotificationDot.d.ts +9 -9
  402. package/dist/NotificationDot/NotificationDot.js.map +1 -1
  403. package/dist/NotificationDot/index.d.ts +1 -1
  404. package/dist/Paginator/Paginator.cjs.map +1 -1
  405. package/dist/Paginator/Paginator.d.ts +8 -8
  406. package/dist/Paginator/Paginator.js.map +1 -1
  407. package/dist/Paginator/index.cjs.map +1 -1
  408. package/dist/Paginator/index.d.ts +2 -2
  409. package/dist/Paginator/index.js.map +1 -1
  410. package/dist/Popover/Popover.cjs.map +1 -1
  411. package/dist/Popover/Popover.d.ts +27 -27
  412. package/dist/Popover/Popover.js.map +1 -1
  413. package/dist/Popover/index.d.ts +1 -1
  414. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  415. package/dist/ProfileButton/ProfileButton.d.ts +14 -14
  416. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  417. package/dist/ProfileButton/index.d.ts +1 -1
  418. package/dist/QuizButton/QuizButton.cjs.map +1 -1
  419. package/dist/QuizButton/QuizButton.d.ts +15 -15
  420. package/dist/QuizButton/QuizButton.js.map +1 -1
  421. package/dist/QuizButton/index.d.ts +1 -1
  422. package/dist/SegmentControl/SegmentControl.cjs.map +1 -1
  423. package/dist/SegmentControl/SegmentControl.d.ts +19 -19
  424. package/dist/SegmentControl/SegmentControl.js.map +1 -1
  425. package/dist/SegmentControl/index.cjs.map +1 -1
  426. package/dist/SegmentControl/index.d.ts +3 -3
  427. package/dist/SegmentControl/index.js.map +1 -1
  428. package/dist/Services/functions.cjs.map +1 -1
  429. package/dist/Services/functions.d.ts +1 -1
  430. package/dist/Services/functions.js.map +1 -1
  431. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  432. package/dist/SkipToContent/SkipToContent.d.ts +4 -4
  433. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  434. package/dist/SkipToContent/index.cjs.map +1 -1
  435. package/dist/SkipToContent/index.d.ts +1 -1
  436. package/dist/SkipToContent/index.js.map +1 -1
  437. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  438. package/dist/Switcher/MobileSwitcherMenu.d.ts +10 -10
  439. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  440. package/dist/Switcher/SwitcherMenuItem.cjs.map +1 -1
  441. package/dist/Switcher/SwitcherMenuItem.d.ts +3 -3
  442. package/dist/Switcher/SwitcherMenuItem.js.map +1 -1
  443. package/dist/Switcher/__tests__/SwitcherMenuItem.d.ts +1 -1
  444. package/dist/Switcher/index.cjs.map +1 -1
  445. package/dist/Switcher/index.d.ts +3 -3
  446. package/dist/Switcher/index.js.map +1 -1
  447. package/dist/Table/Table.cjs +31 -31
  448. package/dist/Table/Table.cjs.map +1 -1
  449. package/dist/Table/Table.d.ts +10 -10
  450. package/dist/Table/Table.js +39 -39
  451. package/dist/Table/Table.js.map +1 -1
  452. package/dist/Table/TableBody.cjs.map +1 -1
  453. package/dist/Table/TableBody.d.ts +9 -9
  454. package/dist/Table/TableBody.js.map +1 -1
  455. package/dist/Table/TableFooter.cjs.map +1 -1
  456. package/dist/Table/TableFooter.d.ts +15 -15
  457. package/dist/Table/TableFooter.js.map +1 -1
  458. package/dist/Table/TableHeaders.cjs.map +1 -1
  459. package/dist/Table/TableHeaders.d.ts +9 -9
  460. package/dist/Table/TableHeaders.js.map +1 -1
  461. package/dist/Table/TableStyles.cjs +2 -2
  462. package/dist/Table/TableStyles.cjs.map +1 -1
  463. package/dist/Table/TableStyles.d.ts +23 -23
  464. package/dist/Table/TableStyles.js +6 -6
  465. package/dist/Table/TableStyles.js.map +1 -1
  466. package/dist/Table/TableTypes.d.ts +56 -56
  467. package/dist/Table/index.cjs.map +1 -1
  468. package/dist/Table/index.d.ts +2 -2
  469. package/dist/Table/index.js.map +1 -1
  470. package/dist/Tabs/HorizontalTabs.cjs +3 -3
  471. package/dist/Tabs/HorizontalTabs.cjs.map +1 -1
  472. package/dist/Tabs/HorizontalTabs.d.ts +16 -16
  473. package/dist/Tabs/HorizontalTabs.js +9 -9
  474. package/dist/Tabs/HorizontalTabs.js.map +1 -1
  475. package/dist/Tabs/TabLink.cjs.map +1 -1
  476. package/dist/Tabs/TabLink.d.ts +16 -16
  477. package/dist/Tabs/TabLink.js.map +1 -1
  478. package/dist/Tabs/Tabs.cjs.map +1 -1
  479. package/dist/Tabs/Tabs.d.ts +8 -8
  480. package/dist/Tabs/Tabs.js.map +1 -1
  481. package/dist/Tabs/VerticalTabs.cjs.map +1 -1
  482. package/dist/Tabs/VerticalTabs.d.ts +20 -20
  483. package/dist/Tabs/VerticalTabs.js.map +1 -1
  484. package/dist/Tabs/__tests__/TabLink.tests.d.ts +1 -1
  485. package/dist/Tabs/index.cjs.map +1 -1
  486. package/dist/Tabs/index.d.ts +5 -5
  487. package/dist/Tabs/index.js.map +1 -1
  488. package/dist/Tag/Tag.cjs.map +1 -1
  489. package/dist/Tag/Tag.d.ts +9 -9
  490. package/dist/Tag/Tag.js.map +1 -1
  491. package/dist/Tag/index.cjs.map +1 -1
  492. package/dist/Tag/index.d.ts +2 -2
  493. package/dist/Tag/index.js.map +1 -1
  494. package/dist/Tile/Tile.cjs.map +1 -1
  495. package/dist/Tile/Tile.d.ts +4 -4
  496. package/dist/Tile/Tile.js.map +1 -1
  497. package/dist/Tile/TileBody.cjs.map +1 -1
  498. package/dist/Tile/TileBody.d.ts +6 -6
  499. package/dist/Tile/TileBody.js.map +1 -1
  500. package/dist/Tile/TileCommonItems.cjs.map +1 -1
  501. package/dist/Tile/TileCommonItems.d.ts +9 -9
  502. package/dist/Tile/TileCommonItems.js.map +1 -1
  503. package/dist/Tile/TileFooter.cjs.map +1 -1
  504. package/dist/Tile/TileFooter.d.ts +7 -7
  505. package/dist/Tile/TileFooter.js.map +1 -1
  506. package/dist/Tile/TileHeader.cjs.map +1 -1
  507. package/dist/Tile/TileHeader.d.ts +7 -7
  508. package/dist/Tile/TileHeader.js.map +1 -1
  509. package/dist/Tile/TileTypes.d.ts +57 -57
  510. package/dist/Tile/index.cjs.map +1 -1
  511. package/dist/Tile/index.d.ts +3 -3
  512. package/dist/Tile/index.js.map +1 -1
  513. package/dist/Toasters/Toast.cjs.map +1 -1
  514. package/dist/Toasters/Toast.d.ts +24 -24
  515. package/dist/Toasters/Toast.js.map +1 -1
  516. package/dist/Toasters/ToastContext.cjs.map +1 -1
  517. package/dist/Toasters/ToastContext.d.ts +18 -18
  518. package/dist/Toasters/ToastContext.js.map +1 -1
  519. package/dist/Toasters/index.cjs.map +1 -1
  520. package/dist/Toasters/index.d.ts +3 -3
  521. package/dist/Toasters/index.js.map +1 -1
  522. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  523. package/dist/Toggles/ToggleButton.d.ts +14 -14
  524. package/dist/Toggles/ToggleButton.js.map +1 -1
  525. package/dist/Toggles/ToggleSwitch.cjs +19 -26
  526. package/dist/Toggles/ToggleSwitch.cjs.map +1 -1
  527. package/dist/Toggles/ToggleSwitch.d.ts +6 -10
  528. package/dist/Toggles/ToggleSwitch.js +20 -29
  529. package/dist/Toggles/ToggleSwitch.js.map +1 -1
  530. package/dist/Toggles/TogglerStyles.cjs.map +1 -1
  531. package/dist/Toggles/TogglerStyles.d.ts +5 -5
  532. package/dist/Toggles/TogglerStyles.js +4 -4
  533. package/dist/Toggles/TogglerStyles.js.map +1 -1
  534. package/dist/Toggles/TogglerTypes.d.ts +13 -13
  535. package/dist/Toggles/index.cjs.map +1 -1
  536. package/dist/Toggles/index.d.ts +3 -3
  537. package/dist/Toggles/index.js.map +1 -1
  538. package/dist/Tooltips/TooltipStyles.cjs.map +1 -1
  539. package/dist/Tooltips/TooltipStyles.d.ts +12 -12
  540. package/dist/Tooltips/TooltipStyles.js.map +1 -1
  541. package/dist/Tooltips/TooltipTypes.cjs +2 -2
  542. package/dist/Tooltips/TooltipTypes.cjs.map +1 -1
  543. package/dist/Tooltips/TooltipTypes.d.ts +16 -16
  544. package/dist/Tooltips/TooltipTypes.js +2 -2
  545. package/dist/Tooltips/TooltipTypes.js.map +1 -1
  546. package/dist/Tooltips/TooltipWrapper.cjs.map +1 -1
  547. package/dist/Tooltips/TooltipWrapper.d.ts +3 -3
  548. package/dist/Tooltips/TooltipWrapper.js.map +1 -1
  549. package/dist/Tooltips/index.cjs.map +1 -1
  550. package/dist/Tooltips/index.d.ts +3 -3
  551. package/dist/Tooltips/index.js.map +1 -1
  552. package/dist/assets/index.cjs.map +1 -1
  553. package/dist/assets/index.d.ts +12 -12
  554. package/dist/assets/index.js.map +1 -1
  555. package/dist/common/ActionWithin.cjs.map +1 -1
  556. package/dist/common/ActionWithin.d.ts +2 -2
  557. package/dist/common/ActionWithin.js.map +1 -1
  558. package/dist/common/ClickOutside.cjs.map +1 -1
  559. package/dist/common/ClickOutside.d.ts +1 -1
  560. package/dist/common/ClickOutside.js.map +1 -1
  561. package/dist/common/EventHandlers.cjs.map +1 -1
  562. package/dist/common/EventHandlers.d.ts +1 -1
  563. package/dist/common/EventHandlers.js.map +1 -1
  564. package/dist/common/FocusOutside.cjs.map +1 -1
  565. package/dist/common/FocusOutside.d.ts +1 -1
  566. package/dist/common/FocusOutside.js.map +1 -1
  567. package/dist/common/FocusVisible.cjs.map +1 -1
  568. package/dist/common/FocusVisible.d.ts +2 -2
  569. package/dist/common/FocusVisible.js.map +1 -1
  570. package/dist/common/InputStyling.cjs.map +1 -1
  571. package/dist/common/InputStyling.d.ts +1 -1
  572. package/dist/common/InputStyling.js.map +1 -1
  573. package/dist/common/StackState.cjs.map +1 -1
  574. package/dist/common/StackState.d.ts +7 -7
  575. package/dist/common/StackState.js.map +1 -1
  576. package/dist/common/index.cjs.map +1 -1
  577. package/dist/common/index.d.ts +6 -6
  578. package/dist/common/index.js.map +1 -1
  579. package/dist/custom.d.ts +4 -4
  580. package/dist/declarations.d.ts +1 -1
  581. package/dist/hooks/useClickOutside.cjs +2 -2
  582. package/dist/hooks/useClickOutside.cjs.map +1 -1
  583. package/dist/hooks/useClickOutside.d.ts +5 -5
  584. package/dist/hooks/useClickOutside.js +2 -2
  585. package/dist/hooks/useClickOutside.js.map +1 -1
  586. package/dist/icons/contenticons/ContentIcons.cjs.map +1 -1
  587. package/dist/icons/contenticons/ContentIcons.d.ts +170 -170
  588. package/dist/icons/contenticons/ContentIcons.js.map +1 -1
  589. package/dist/icons/index.cjs +4 -4
  590. package/dist/icons/index.cjs.map +1 -1
  591. package/dist/icons/index.d.ts +25 -25
  592. package/dist/icons/index.js +4 -4
  593. package/dist/icons/index.js.map +1 -1
  594. package/dist/icons/systemicons/SystemIcons.cjs.map +1 -1
  595. package/dist/icons/systemicons/SystemIcons.d.ts +183 -183
  596. package/dist/icons/systemicons/SystemIcons.js.map +1 -1
  597. package/dist/index.cjs.map +1 -1
  598. package/dist/index.d.ts +43 -43
  599. package/dist/index.js.map +1 -1
  600. package/dist/styles/breakpoints.cjs.map +1 -1
  601. package/dist/styles/breakpoints.d.ts +8 -8
  602. package/dist/styles/breakpoints.js.map +1 -1
  603. package/dist/styles/colors.cjs.map +1 -1
  604. package/dist/styles/colors.d.ts +83 -83
  605. package/dist/styles/colors.js.map +1 -1
  606. package/dist/styles/focus-styles.cjs.map +1 -1
  607. package/dist/styles/focus-styles.d.ts +2 -2
  608. package/dist/styles/focus-styles.js.map +1 -1
  609. package/dist/styles/global.cjs.map +1 -1
  610. package/dist/styles/global.d.ts +2 -2
  611. package/dist/styles/global.js.map +1 -1
  612. package/dist/styles/index.cjs.map +1 -1
  613. package/dist/styles/index.d.ts +23 -23
  614. package/dist/styles/index.js.map +1 -1
  615. package/dist/styles/shadowstyles.cjs.map +1 -1
  616. package/dist/styles/shadowstyles.d.ts +7 -7
  617. package/dist/styles/shadowstyles.js.map +1 -1
  618. package/dist/styles/typography.cjs.map +1 -1
  619. package/dist/styles/typography.d.ts +89 -89
  620. package/dist/styles/typography.js.map +1 -1
  621. package/dist/styles/z-indexes.cjs.map +1 -1
  622. package/dist/styles/z-indexes.d.ts +15 -15
  623. package/dist/styles/z-indexes.js.map +1 -1
  624. package/dist/types.cjs.map +1 -1
  625. package/dist/types.d.ts +70 -70
  626. package/dist/types.js.map +1 -1
  627. package/package.json +107 -107
@@ -1,3 +1,3 @@
1
- import SwitcherMenuItem from './SwitcherMenuItem';
2
- import MobileSwitcherMenu from './MobileSwitcherMenu';
3
- export { SwitcherMenuItem, MobileSwitcherMenu };
1
+ import SwitcherMenuItem from './SwitcherMenuItem';
2
+ import MobileSwitcherMenu from './MobileSwitcherMenu';
3
+ export { SwitcherMenuItem, MobileSwitcherMenu };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Switcher/index.ts"],"names":["SwitcherMenuItem","MobileSwitcherMenu"],"mappings":"AAAA,OAAOA,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,SAASD,gBAAT,EAA2BC,kBAA3B","sourcesContent":["import SwitcherMenuItem from './SwitcherMenuItem';\r\nimport MobileSwitcherMenu from './MobileSwitcherMenu';\r\n\r\nexport { SwitcherMenuItem, MobileSwitcherMenu };\r\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/Switcher/index.ts"],"names":["SwitcherMenuItem","MobileSwitcherMenu"],"mappings":"AAAA,OAAOA,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,kBAAP,MAA+B,sBAA/B;AAEA,SAASD,gBAAT,EAA2BC,kBAA3B","sourcesContent":["import SwitcherMenuItem from './SwitcherMenuItem';\nimport MobileSwitcherMenu from './MobileSwitcherMenu';\n\nexport { SwitcherMenuItem, MobileSwitcherMenu };\n"],"file":"index.js"}
@@ -126,8 +126,8 @@ var Table = function Table(props) {
126
126
  React.useEffect(function () {
127
127
  setSelected(props.selectedRows || (multiSelect ? [] : undefined));
128
128
  }, [props.selectedRows, multiSelect]);
129
- /**
130
- * update select all checkbox state
129
+ /**
130
+ * update select all checkbox state
131
131
  */
132
132
 
133
133
  React.useEffect(function () {
@@ -141,9 +141,9 @@ var Table = function Table(props) {
141
141
  setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');
142
142
  }
143
143
  }, [currentPageRows, multiSelect, selected, keyExpr]);
144
- /**
145
- * Takes care of remote pagination.
146
- * Works only in case remote pagination is set to true.
144
+ /**
145
+ * Takes care of remote pagination.
146
+ * Works only in case remote pagination is set to true.
147
147
  */
148
148
 
149
149
  React.useEffect(function () {
@@ -157,8 +157,8 @@ var Table = function Table(props) {
157
157
  setRowsPerPage(pagination === null || pagination === void 0 ? void 0 : pagination.rowsPerPage);
158
158
  }
159
159
  }, [remoteOperations, pagination, rows]);
160
- /**
161
- * Sets number of rows to display when accordion.
160
+ /**
161
+ * Sets number of rows to display when accordion.
162
162
  */
163
163
 
164
164
  React.useEffect(function () {
@@ -169,9 +169,9 @@ var Table = function Table(props) {
169
169
  if (!accordion) return;
170
170
  setIsCollapsed(!!collapsed);
171
171
  }, [accordion, collapsed]);
172
- /**
173
- * Filters out a rows by specific column filters and sorts them if any sorting is set.
174
- * @returns Filtered and sorted rows.
172
+ /**
173
+ * Filters out a rows by specific column filters and sorts them if any sorting is set.
174
+ * @returns Filtered and sorted rows.
175
175
  */
176
176
 
177
177
  var filterAndSortRows = function filterAndSortRows() {
@@ -230,9 +230,9 @@ var Table = function Table(props) {
230
230
 
231
231
  return tmpFilteredRows;
232
232
  };
233
- /**
234
- * Takes care of local pagination.
235
- * Works only in case remote pagination is not defined or is set to false.
233
+ /**
234
+ * Takes care of local pagination.
235
+ * Works only in case remote pagination is not defined or is set to false.
236
236
  */
237
237
 
238
238
 
@@ -252,10 +252,10 @@ var Table = function Table(props) {
252
252
  setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));
253
253
  }
254
254
  }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);
255
- /**
256
- * Applies a specific sorting to a column.
257
- * If no sorting exists, then applies ascending initially
258
- * @param column - Column to which sorting should be applied.
255
+ /**
256
+ * Applies a specific sorting to a column.
257
+ * If no sorting exists, then applies ascending initially
258
+ * @param column - Column to which sorting should be applied.
259
259
  */
260
260
 
261
261
  var sortTableColumn = function sortTableColumn(column) {
@@ -305,8 +305,8 @@ var Table = function Table(props) {
305
305
  return tmpColumn;
306
306
  });
307
307
  };
308
- /**
309
- * Navigates user back to the previous page and updates the current table page.
308
+ /**
309
+ * Navigates user back to the previous page and updates the current table page.
310
310
  */
311
311
 
312
312
 
@@ -321,8 +321,8 @@ var Table = function Table(props) {
321
321
  setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);
322
322
  }
323
323
  };
324
- /**
325
- * Navigates user to the next page and updates the current table page.
324
+ /**
325
+ * Navigates user to the next page and updates the current table page.
326
326
  */
327
327
 
328
328
 
@@ -337,9 +337,9 @@ var Table = function Table(props) {
337
337
  setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);
338
338
  }
339
339
  };
340
- /**
341
- * Updates the rows per page value and refreshes the table content accordingly.
342
- * @param value - Newly selected rows per page value.
340
+ /**
341
+ * Updates the rows per page value and refreshes the table content accordingly.
342
+ * @param value - Newly selected rows per page value.
343
343
  */
344
344
 
345
345
 
@@ -358,9 +358,9 @@ var Table = function Table(props) {
358
358
 
359
359
  setRowsPerPage(value);
360
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.
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
364
  */
365
365
 
366
366
 
@@ -388,8 +388,8 @@ var Table = function Table(props) {
388
388
  props.onSelectionChange && props.onSelectionChange(currentSelection);
389
389
  }
390
390
  };
391
- /**
392
- * Function which is called when user clicks checkbox to select or deselect all rows.
391
+ /**
392
+ * Function which is called when user clicks checkbox to select or deselect all rows.
393
393
  */
394
394
 
395
395
 
@@ -419,8 +419,8 @@ var Table = function Table(props) {
419
419
  break;
420
420
  }
421
421
  };
422
- /**
423
- * Return Table component.
422
+ /**
423
+ * Return Table component.
424
424
  */
425
425
 
426
426
 
@@ -1 +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","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Size","Medium"],"mappings":"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","sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {Size} from '../types'\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\r\n\r\n/**\r\n * Import custom types.\r\n */\r\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport TableHeader from './TableHeaders';\r\nimport TableFooter from './TableFooter';\r\nimport TableBody from './TableBody';\r\n\r\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\r\n let {\r\n onPreviousPageClick,\r\n onNextPageClick,\r\n onRowsPerPageChange,\r\n onTriggerSortingChange,\r\n columns,\r\n rows,\r\n remoteOperations,\r\n pagination,\r\n showLoadingIndicator,\r\n selectable,\r\n multiSelect,\r\n keyExpr,\r\n accordion,\r\n collapsed = true,\r\n collapsedRows\r\n } = props;\r\n\r\n // States used within the component\r\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\r\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\r\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\r\n const [currentPage, setCurrentPage] = React.useState<number>(1);\r\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\r\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\r\n const [from, setFrom] = React.useState<number>();\r\n const [to, setTo] = React.useState<number>();\r\n const [total, setTotal] = React.useState<number>();\r\n\r\n const [isCollapsed, setIsCollapsed] = React.useState(true);\r\n\r\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\r\n\r\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\r\n\r\n React.useEffect(() => {\r\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\r\n }, [props.selectedRows, multiSelect])\r\n\r\n /**\r\n * update select all checkbox state\r\n */\r\n React.useEffect(() => {\r\n if (multiSelect) {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n const count = selected.filter((item: any) => currentList.includes(item)).length;\r\n\r\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\r\n }\r\n }, [currentPageRows, multiSelect, selected, keyExpr])\r\n\r\n /**\r\n * Takes care of remote pagination.\r\n * Works only in case remote pagination is set to true.\r\n */\r\n React.useEffect(() => {\r\n if (remoteOperations) {\r\n setCurrentPageRows(rows);\r\n\r\n // Let's assign pagination values\r\n setFrom(pagination?.from);\r\n setTo(pagination?.to);\r\n setTotal(pagination?.total);\r\n setCurrentPage(pagination?.currentPage!);\r\n setRowsPerPage(pagination?.rowsPerPage!);\r\n }\r\n }, [remoteOperations, pagination, rows]);\r\n\r\n /**\r\n * Sets number of rows to display when accordion.\r\n */\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\r\n }, [rows, accordion, collapsedRows, isCollapsed])\r\n\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setIsCollapsed(!!collapsed);\r\n }, [ accordion, collapsed])\r\n\r\n /**\r\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\r\n * @returns Filtered and sorted rows.\r\n */\r\n const filterAndSortRows = (): any[] => {\r\n let tmpFilteredRows = rows.filter((row) => {\r\n // Let's start with matched filter criteria\r\n let matchFilterCriteria = true;\r\n\r\n // Let's go through columns\r\n for (const column of columns) {\r\n // Let's check if filter value is specified for the column\r\n // And if it doesn't match the current row column value\r\n // Then let's update match filter criteria to failed\r\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\r\n matchFilterCriteria = false;\r\n }\r\n }\r\n\r\n // Let's return row only in case match filter criteria succeeds\r\n if (matchFilterCriteria) {\r\n return row;\r\n }\r\n });\r\n\r\n // Let's apply sorting if needed\r\n if (columns.some((column) => column.sortingDirection)) {\r\n // Let's find the sorting column\r\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\r\n\r\n // Update sorted column data\r\n setSortedDirection(sortingColumn.sortingDirection!);\r\n setSortedColumn(sortingColumn.key!);\r\n\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\r\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n // Let's return filtered rows\r\n return tmpFilteredRows;\r\n };\r\n\r\n /**\r\n * Takes care of local pagination.\r\n * Works only in case remote pagination is not defined or is set to false.\r\n */\r\n React.useEffect(() => {\r\n if (!remoteOperations) {\r\n // Let's retrieve temporary filtered rows and update globally filtered rows\r\n const tmpFilteredRows = filterAndSortRows();\r\n setFilteredRows(tmpFilteredRows);\r\n setTotal(tmpFilteredRows.length);\r\n \r\n // Assign rows from and rows to\r\n const rowsFrom = (currentPage - 1) * rowsPerPage;\r\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\r\n \r\n // Set from and to values\r\n setFrom(rowsFrom + 1);\r\n setTo(rowsTo);\r\n \r\n // Filter out the rows\r\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\r\n }\r\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\r\n \r\n\r\n /**\r\n * Applies a specific sorting to a column.\r\n * If no sorting exists, then applies ascending initially\r\n * @param column - Column to which sorting should be applied.\r\n */\r\n const sortTableColumn = (column: TableColumn): void => {\r\n // Let's remove any active sorting\r\n columns = columns.map((tmpColumn: TableColumn) => {\r\n // Let's apply new sorting\r\n // Let's check if it is the column for which we have to apply sorting\r\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\r\n // Let's check if sorting is not defined\r\n // If so, let's toggle the sorting direction\r\n if (tmpColumn.sortingDirection !== undefined) {\r\n if (tmpColumn.sortingDirection === 'asc') {\r\n tmpColumn.sortingDirection = 'desc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('desc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'desc');\r\n }\r\n } else {\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else {\r\n // Let's apply the initial sorting\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else if (tmpColumn.sortingDirection !== undefined) {\r\n // Let's remove sorting\r\n tmpColumn.sortingDirection = undefined;\r\n }\r\n\r\n return tmpColumn;\r\n });\r\n };\r\n\r\n /**\r\n * Navigates user back to the previous page and updates the current table page.\r\n */\r\n const previousPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onPreviousPageClick) {\r\n onPreviousPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\r\n }\r\n };\r\n\r\n /**\r\n * Navigates user to the next page and updates the current table page.\r\n */\r\n const nextPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onNextPageClick) {\r\n onNextPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\r\n }\r\n };\r\n\r\n /**\r\n * Updates the rows per page value and refreshes the table content accordingly.\r\n * @param value - Newly selected rows per page value.\r\n */\r\n const changeRowsPerPage = (value: number) => {\r\n // Let's check if we are using remote pagination\r\n if (remoteOperations) {\r\n // Inform parent component about rows per page change\r\n if (onRowsPerPageChange) {\r\n onRowsPerPageChange(value);\r\n }\r\n } else {\r\n // Let's reset current page to 1\r\n setCurrentPage(1);\r\n }\r\n\r\n // Let's set rows per page\r\n setRowsPerPage(value);\r\n };\r\n\r\n\r\n /**\r\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\r\n * @param row - Row in which the link is located.\r\n */\r\n const onRowClick = (row: any): void => {\r\n const selectedText = window?.getSelection()?.toString();\r\n\r\n if (selectedText?.length === 0 && selectable) {\r\n const value = keyExpr ? row[keyExpr] : row;\r\n let currentSelection = value;\r\n if (!!multiSelect) {\r\n const existing = selected?.indexOf(value);\r\n if (existing > -1) {\r\n currentSelection = [...selected];\r\n currentSelection.splice(existing, 1);\r\n } else {\r\n currentSelection = [...selected, currentSelection];\r\n }\r\n }\r\n\r\n setSelected(currentSelection)\r\n props.onSelectionChange && props.onSelectionChange(currentSelection);\r\n }\r\n };\r\n\r\n /**\r\n * Function which is called when user clicks checkbox to select or deselect all rows.\r\n */\r\n const onSelectAllClick = () => {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n\r\n switch (selectAllState) {\r\n case 'all':\r\n setSelected([...selected].filter(item => !currentList.includes(item)));\r\n setSelectAllState('none');\r\n break;\r\n case 'none':\r\n setSelected([...selected, ...currentList]);\r\n setSelectAllState('all');\r\n break;\r\n case 'some':\r\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\r\n setSelectAllState('all');\r\n break;\r\n }\r\n };\r\n\r\n /**\r\n * Return Table component.\r\n */\r\n return (\r\n <TableWrapper>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <TableHeader {...props}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n selectAllState={selectAllState}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}/>\r\n <TableFooter {...props}\r\n onRowsPerPageChange={changeRowsPerPage}\r\n rowsPerPage={rowsPerPage}\r\n setIsCollapsed={setIsCollapsed}\r\n isCollapsed={isCollapsed}\r\n from={from}\r\n to={to}\r\n total={total}\r\n nextPage={nextPage}\r\n prevPage={previousPage}/>\r\n </StyledTable>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner>\r\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"file":"Table.cjs"}
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","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","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 * 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 * 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 /**\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 ${props.layout || ''}`}>\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"}
@@ -1,10 +1,10 @@
1
- /**
2
- * Import React libraries.
3
- */
4
- import * as React from 'react';
5
- /**
6
- * Import custom types.
7
- */
8
- import { TableProps } from './TableTypes';
9
- declare const Table: React.FunctionComponent<TableProps>;
10
- export default Table;
1
+ /**
2
+ * Import React libraries.
3
+ */
4
+ import * as React from 'react';
5
+ /**
6
+ * Import custom types.
7
+ */
8
+ import { TableProps } from './TableTypes';
9
+ declare const Table: React.FunctionComponent<TableProps>;
10
+ export default Table;
@@ -12,22 +12,22 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
12
12
 
13
13
  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; }
14
14
 
15
- /**
16
- * Import React libraries.
15
+ /**
16
+ * Import React libraries.
17
17
  */
18
18
  import * as React from 'react';
19
- /**
20
- * Import custom components.
19
+ /**
20
+ * Import custom components.
21
21
  */
22
22
 
23
23
  import { Size } from '../types';
24
- /**
25
- * Import custom styles.
24
+ /**
25
+ * Import custom styles.
26
26
  */
27
27
 
28
28
  import { StyledTable, StyledTableSpinner, TableWrapper } from './TableStyles';
29
- /**
30
- * Import custom types.
29
+ /**
30
+ * Import custom types.
31
31
  */
32
32
 
33
33
  import { LoadingIndicator } from '../LoadingIndicator';
@@ -118,8 +118,8 @@ var Table = function Table(props) {
118
118
  React.useEffect(function () {
119
119
  setSelected(props.selectedRows || (multiSelect ? [] : undefined));
120
120
  }, [props.selectedRows, multiSelect]);
121
- /**
122
- * update select all checkbox state
121
+ /**
122
+ * update select all checkbox state
123
123
  */
124
124
 
125
125
  React.useEffect(function () {
@@ -133,9 +133,9 @@ var Table = function Table(props) {
133
133
  setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');
134
134
  }
135
135
  }, [currentPageRows, multiSelect, selected, keyExpr]);
136
- /**
137
- * Takes care of remote pagination.
138
- * Works only in case remote pagination is set to true.
136
+ /**
137
+ * Takes care of remote pagination.
138
+ * Works only in case remote pagination is set to true.
139
139
  */
140
140
 
141
141
  React.useEffect(function () {
@@ -149,8 +149,8 @@ var Table = function Table(props) {
149
149
  setRowsPerPage(pagination === null || pagination === void 0 ? void 0 : pagination.rowsPerPage);
150
150
  }
151
151
  }, [remoteOperations, pagination, rows]);
152
- /**
153
- * Sets number of rows to display when accordion.
152
+ /**
153
+ * Sets number of rows to display when accordion.
154
154
  */
155
155
 
156
156
  React.useEffect(function () {
@@ -161,9 +161,9 @@ var Table = function Table(props) {
161
161
  if (!accordion) return;
162
162
  setIsCollapsed(!!collapsed);
163
163
  }, [accordion, collapsed]);
164
- /**
165
- * Filters out a rows by specific column filters and sorts them if any sorting is set.
166
- * @returns Filtered and sorted rows.
164
+ /**
165
+ * Filters out a rows by specific column filters and sorts them if any sorting is set.
166
+ * @returns Filtered and sorted rows.
167
167
  */
168
168
 
169
169
  var filterAndSortRows = function filterAndSortRows() {
@@ -222,9 +222,9 @@ var Table = function Table(props) {
222
222
 
223
223
  return tmpFilteredRows;
224
224
  };
225
- /**
226
- * Takes care of local pagination.
227
- * Works only in case remote pagination is not defined or is set to false.
225
+ /**
226
+ * Takes care of local pagination.
227
+ * Works only in case remote pagination is not defined or is set to false.
228
228
  */
229
229
 
230
230
 
@@ -244,10 +244,10 @@ var Table = function Table(props) {
244
244
  setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));
245
245
  }
246
246
  }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);
247
- /**
248
- * Applies a specific sorting to a column.
249
- * If no sorting exists, then applies ascending initially
250
- * @param column - Column to which sorting should be applied.
247
+ /**
248
+ * Applies a specific sorting to a column.
249
+ * If no sorting exists, then applies ascending initially
250
+ * @param column - Column to which sorting should be applied.
251
251
  */
252
252
 
253
253
  var sortTableColumn = function sortTableColumn(column) {
@@ -297,8 +297,8 @@ var Table = function Table(props) {
297
297
  return tmpColumn;
298
298
  });
299
299
  };
300
- /**
301
- * Navigates user back to the previous page and updates the current table page.
300
+ /**
301
+ * Navigates user back to the previous page and updates the current table page.
302
302
  */
303
303
 
304
304
 
@@ -313,8 +313,8 @@ var Table = function Table(props) {
313
313
  setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);
314
314
  }
315
315
  };
316
- /**
317
- * Navigates user to the next page and updates the current table page.
316
+ /**
317
+ * Navigates user to the next page and updates the current table page.
318
318
  */
319
319
 
320
320
 
@@ -329,9 +329,9 @@ var Table = function Table(props) {
329
329
  setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);
330
330
  }
331
331
  };
332
- /**
333
- * Updates the rows per page value and refreshes the table content accordingly.
334
- * @param value - Newly selected rows per page value.
332
+ /**
333
+ * Updates the rows per page value and refreshes the table content accordingly.
334
+ * @param value - Newly selected rows per page value.
335
335
  */
336
336
 
337
337
 
@@ -350,9 +350,9 @@ var Table = function Table(props) {
350
350
 
351
351
  setRowsPerPage(value);
352
352
  };
353
- /**
354
- * Function which is called when a mouse click happens on a row to pass data to the parent component.
355
- * @param row - Row in which the link is located.
353
+ /**
354
+ * Function which is called when a mouse click happens on a row to pass data to the parent component.
355
+ * @param row - Row in which the link is located.
356
356
  */
357
357
 
358
358
 
@@ -380,8 +380,8 @@ var Table = function Table(props) {
380
380
  props.onSelectionChange && props.onSelectionChange(currentSelection);
381
381
  }
382
382
  };
383
- /**
384
- * Function which is called when user clicks checkbox to select or deselect all rows.
383
+ /**
384
+ * Function which is called when user clicks checkbox to select or deselect all rows.
385
385
  */
386
386
 
387
387
 
@@ -411,8 +411,8 @@ var Table = function Table(props) {
411
411
  break;
412
412
  }
413
413
  };
414
- /**
415
- * Return Table component.
414
+ /**
415
+ * Return Table component.
416
416
  */
417
417
 
418
418
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","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","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","Medium"],"mappings":"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","sourcesContent":["/**\r\n * Import React libraries.\r\n */\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Import custom components.\r\n */\r\nimport {Size} from '../types'\r\n\r\n/**\r\n * Import custom styles.\r\n */\r\nimport {StyledTable, StyledTableSpinner, TableWrapper} from './TableStyles';\r\n\r\n/**\r\n * Import custom types.\r\n */\r\nimport {TableProps, TableColumn, TableSortingDirection} from './TableTypes';\r\nimport {LoadingIndicator} from '../LoadingIndicator';\r\nimport TableHeader from './TableHeaders';\r\nimport TableFooter from './TableFooter';\r\nimport TableBody from './TableBody';\r\n\r\nconst Table: React.FunctionComponent<TableProps> = (props: TableProps) => {\r\n let {\r\n onPreviousPageClick,\r\n onNextPageClick,\r\n onRowsPerPageChange,\r\n onTriggerSortingChange,\r\n columns,\r\n rows,\r\n remoteOperations,\r\n pagination,\r\n showLoadingIndicator,\r\n selectable,\r\n multiSelect,\r\n keyExpr,\r\n accordion,\r\n collapsed = true,\r\n collapsedRows\r\n } = props;\r\n\r\n // States used within the component\r\n const [rowsPerPage, setRowsPerPage] = React.useState<number>(10);\r\n const [filteredRows, setFilteredRows] = React.useState<any[]>([]);\r\n const [currentPageRows, setCurrentPageRows] = React.useState<any[]>([]);\r\n const [currentPage, setCurrentPage] = React.useState<number>(1);\r\n const [sortedColumn, setSortedColumn] = React.useState<string>('');\r\n const [sortedDirection, setSortedDirection] = React.useState<TableSortingDirection>('asc');\r\n const [from, setFrom] = React.useState<number>();\r\n const [to, setTo] = React.useState<number>();\r\n const [total, setTotal] = React.useState<number>();\r\n\r\n const [isCollapsed, setIsCollapsed] = React.useState(true);\r\n\r\n const [selectAllState, setSelectAllState] = React.useState<'all' | 'some' | 'none'>('none');\r\n\r\n const [selected, setSelected] = React.useState<any | any[]>(multiSelect ? [] : undefined);\r\n\r\n React.useEffect(() => {\r\n setSelected(props.selectedRows || (multiSelect ? [] : undefined))\r\n }, [props.selectedRows, multiSelect])\r\n\r\n /**\r\n * update select all checkbox state\r\n */\r\n React.useEffect(() => {\r\n if (multiSelect) {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n const count = selected.filter((item: any) => currentList.includes(item)).length;\r\n\r\n setSelectAllState(count === currentList.length ? 'all' : count > 0 ? 'some' : 'none');\r\n }\r\n }, [currentPageRows, multiSelect, selected, keyExpr])\r\n\r\n /**\r\n * Takes care of remote pagination.\r\n * Works only in case remote pagination is set to true.\r\n */\r\n React.useEffect(() => {\r\n if (remoteOperations) {\r\n setCurrentPageRows(rows);\r\n\r\n // Let's assign pagination values\r\n setFrom(pagination?.from);\r\n setTo(pagination?.to);\r\n setTotal(pagination?.total);\r\n setCurrentPage(pagination?.currentPage!);\r\n setRowsPerPage(pagination?.rowsPerPage!);\r\n }\r\n }, [remoteOperations, pagination, rows]);\r\n\r\n /**\r\n * Sets number of rows to display when accordion.\r\n */\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setRowsPerPage(isCollapsed ? collapsedRows || 10 : rows.length );\r\n }, [rows, accordion, collapsedRows, isCollapsed])\r\n\r\n React.useEffect(() => {\r\n if (!accordion) return;\r\n\r\n setIsCollapsed(!!collapsed);\r\n }, [ accordion, collapsed])\r\n\r\n /**\r\n * Filters out a rows by specific column filters and sorts them if any sorting is set.\r\n * @returns Filtered and sorted rows.\r\n */\r\n const filterAndSortRows = (): any[] => {\r\n let tmpFilteredRows = rows.filter((row) => {\r\n // Let's start with matched filter criteria\r\n let matchFilterCriteria = true;\r\n\r\n // Let's go through columns\r\n for (const column of columns) {\r\n // Let's check if filter value is specified for the column\r\n // And if it doesn't match the current row column value\r\n // Then let's update match filter criteria to failed\r\n if (column.filterValue && row[column.key].toLowerCase().indexOf(column.filterValue.toLowerCase()) === -1) {\r\n matchFilterCriteria = false;\r\n }\r\n }\r\n\r\n // Let's return row only in case match filter criteria succeeds\r\n if (matchFilterCriteria) {\r\n return row;\r\n }\r\n });\r\n\r\n // Let's apply sorting if needed\r\n if (columns.some((column) => column.sortingDirection)) {\r\n // Let's find the sorting column\r\n const sortingColumn = columns.find((column) => column.sortingDirection)!;\r\n\r\n // Update sorted column data\r\n setSortedDirection(sortingColumn.sortingDirection!);\r\n setSortedColumn(sortingColumn.key!);\r\n\r\n // Let's sort the rows\r\n tmpFilteredRows.sort((a, b) => {\r\n if (a[sortingColumn.key] > b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? 1 : -1;\r\n } else if (a[sortingColumn.key] < b[sortingColumn.key]) {\r\n return sortingColumn.sortingDirection === 'asc' ? -1 : 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n // Let's return filtered rows\r\n return tmpFilteredRows;\r\n };\r\n\r\n /**\r\n * Takes care of local pagination.\r\n * Works only in case remote pagination is not defined or is set to false.\r\n */\r\n React.useEffect(() => {\r\n if (!remoteOperations) {\r\n // Let's retrieve temporary filtered rows and update globally filtered rows\r\n const tmpFilteredRows = filterAndSortRows();\r\n setFilteredRows(tmpFilteredRows);\r\n setTotal(tmpFilteredRows.length);\r\n \r\n // Assign rows from and rows to\r\n const rowsFrom = (currentPage - 1) * rowsPerPage;\r\n const rowsTo = rowsFrom + rowsPerPage >= tmpFilteredRows.length ? tmpFilteredRows.length : rowsFrom + rowsPerPage;\r\n \r\n // Set from and to values\r\n setFrom(rowsFrom + 1);\r\n setTo(rowsTo);\r\n \r\n // Filter out the rows\r\n setCurrentPageRows(tmpFilteredRows.slice(rowsFrom, rowsTo));\r\n }\r\n }, [rowsPerPage, rows, currentPage, columns, sortedColumn, sortedDirection, remoteOperations]);\r\n \r\n\r\n /**\r\n * Applies a specific sorting to a column.\r\n * If no sorting exists, then applies ascending initially\r\n * @param column - Column to which sorting should be applied.\r\n */\r\n const sortTableColumn = (column: TableColumn): void => {\r\n // Let's remove any active sorting\r\n columns = columns.map((tmpColumn: TableColumn) => {\r\n // Let's apply new sorting\r\n // Let's check if it is the column for which we have to apply sorting\r\n if (column.key === tmpColumn.key && tmpColumn.sortable) {\r\n // Let's check if sorting is not defined\r\n // If so, let's toggle the sorting direction\r\n if (tmpColumn.sortingDirection !== undefined) {\r\n if (tmpColumn.sortingDirection === 'asc') {\r\n tmpColumn.sortingDirection = 'desc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('desc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'desc');\r\n }\r\n } else {\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else {\r\n // Let's apply the initial sorting\r\n tmpColumn.sortingDirection = 'asc';\r\n\r\n // Update sorted column and direction\r\n setSortedColumn(column.key);\r\n setSortedDirection('asc');\r\n\r\n // Let's trigger remote sorting trigger function\r\n if (remoteOperations && onTriggerSortingChange) {\r\n onTriggerSortingChange(column.key, 'asc');\r\n }\r\n }\r\n } else if (tmpColumn.sortingDirection !== undefined) {\r\n // Let's remove sorting\r\n tmpColumn.sortingDirection = undefined;\r\n }\r\n\r\n return tmpColumn;\r\n });\r\n };\r\n\r\n /**\r\n * Navigates user back to the previous page and updates the current table page.\r\n */\r\n const previousPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onPreviousPageClick) {\r\n onPreviousPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage > 1 ? currentPage - 1 : 1);\r\n }\r\n };\r\n\r\n /**\r\n * Navigates user to the next page and updates the current table page.\r\n */\r\n const nextPage = () => {\r\n if (remoteOperations) {\r\n // Let's inform parent component about page change\r\n if (onNextPageClick) {\r\n onNextPageClick();\r\n }\r\n } else {\r\n // Let's change the page within the component\r\n setCurrentPage(currentPage * rowsPerPage >= filteredRows.length ? currentPage : currentPage + 1);\r\n }\r\n };\r\n\r\n /**\r\n * Updates the rows per page value and refreshes the table content accordingly.\r\n * @param value - Newly selected rows per page value.\r\n */\r\n const changeRowsPerPage = (value: number) => {\r\n // Let's check if we are using remote pagination\r\n if (remoteOperations) {\r\n // Inform parent component about rows per page change\r\n if (onRowsPerPageChange) {\r\n onRowsPerPageChange(value);\r\n }\r\n } else {\r\n // Let's reset current page to 1\r\n setCurrentPage(1);\r\n }\r\n\r\n // Let's set rows per page\r\n setRowsPerPage(value);\r\n };\r\n\r\n\r\n /**\r\n * Function which is called when a mouse click happens on a row to pass data to the parent component.\r\n * @param row - Row in which the link is located.\r\n */\r\n const onRowClick = (row: any): void => {\r\n const selectedText = window?.getSelection()?.toString();\r\n\r\n if (selectedText?.length === 0 && selectable) {\r\n const value = keyExpr ? row[keyExpr] : row;\r\n let currentSelection = value;\r\n if (!!multiSelect) {\r\n const existing = selected?.indexOf(value);\r\n if (existing > -1) {\r\n currentSelection = [...selected];\r\n currentSelection.splice(existing, 1);\r\n } else {\r\n currentSelection = [...selected, currentSelection];\r\n }\r\n }\r\n\r\n setSelected(currentSelection)\r\n props.onSelectionChange && props.onSelectionChange(currentSelection);\r\n }\r\n };\r\n\r\n /**\r\n * Function which is called when user clicks checkbox to select or deselect all rows.\r\n */\r\n const onSelectAllClick = () => {\r\n const currentList = currentPageRows.map(row => keyExpr ? row[keyExpr] : row);\r\n\r\n switch (selectAllState) {\r\n case 'all':\r\n setSelected([...selected].filter(item => !currentList.includes(item)));\r\n setSelectAllState('none');\r\n break;\r\n case 'none':\r\n setSelected([...selected, ...currentList]);\r\n setSelectAllState('all');\r\n break;\r\n case 'some':\r\n setSelected([...selected, ...currentList.filter(item => !selected.includes(item))]);\r\n setSelectAllState('all');\r\n break;\r\n }\r\n };\r\n\r\n /**\r\n * Return Table component.\r\n */\r\n return (\r\n <TableWrapper>\r\n <StyledTable cellPadding=\"0\" cellSpacing=\"0\" data-testid=\"TestTable\" className={`table ${props.layout || ''}`}>\r\n <TableHeader {...props}\r\n sortByColumn={sortTableColumn}\r\n onSelectAllClick={onSelectAllClick}\r\n selectAllState={selectAllState}/>\r\n <TableBody {...props}\r\n currentPageRows={currentPageRows}\r\n selected={selected}\r\n onRowClick={onRowClick}/>\r\n <TableFooter {...props}\r\n onRowsPerPageChange={changeRowsPerPage}\r\n rowsPerPage={rowsPerPage}\r\n setIsCollapsed={setIsCollapsed}\r\n isCollapsed={isCollapsed}\r\n from={from}\r\n to={to}\r\n total={total}\r\n nextPage={nextPage}\r\n prevPage={previousPage}/>\r\n </StyledTable>\r\n {showLoadingIndicator && (\r\n <StyledTableSpinner>\r\n <LoadingIndicator size={Size.Medium} color=\"#ffffff\"/>\r\n </StyledTableSpinner>\r\n )}\r\n </TableWrapper>\r\n );\r\n};\r\n\r\nexport default Table;\r\n"],"file":"Table.js"}
1
+ {"version":3,"sources":["../../src/Table/Table.tsx"],"names":["React","Size","StyledTable","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","accordion","collapsed","collapsedRows","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","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","column","filterValue","key","toLowerCase","indexOf","some","sortingDirection","sortingColumn","find","sort","a","b","rowsFrom","rowsTo","slice","sortTableColumn","tmpColumn","sortable","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","layout","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 * 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 * 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 /**\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 ${props.layout || ''}`}>\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.js"}