@laerdal/life-react-components 3.0.1-dev.13.full → 3.0.1-dev.14.full

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/dist/Accordion/AccordionItem.cjs +2 -2
  2. package/dist/Accordion/AccordionItem.cjs.map +1 -1
  3. package/dist/Accordion/AccordionItem.js +3 -3
  4. package/dist/Accordion/AccordionItem.js.map +1 -1
  5. package/dist/Accordion/index.cjs +46 -4
  6. package/dist/Accordion/index.cjs.map +1 -1
  7. package/dist/Accordion/index.d.ts +4 -1
  8. package/dist/Accordion/index.js +4 -1
  9. package/dist/Accordion/index.js.map +1 -1
  10. package/dist/Accordion/styles.cjs +6 -6
  11. package/dist/Accordion/styles.cjs.map +1 -1
  12. package/dist/Accordion/styles.d.ts +2 -2
  13. package/dist/Accordion/styles.js +3 -3
  14. package/dist/Accordion/styles.js.map +1 -1
  15. package/dist/AuthPage/AuthPage.cjs +4 -3
  16. package/dist/AuthPage/AuthPage.cjs.map +1 -1
  17. package/dist/AuthPage/AuthPage.d.ts +2 -1
  18. package/dist/AuthPage/AuthPage.js +2 -2
  19. package/dist/AuthPage/AuthPage.js.map +1 -1
  20. package/dist/AuthPage/index.cjs +31 -3
  21. package/dist/AuthPage/index.cjs.map +1 -1
  22. package/dist/AuthPage/index.d.ts +4 -3
  23. package/dist/AuthPage/index.js +4 -3
  24. package/dist/AuthPage/index.js.map +1 -1
  25. package/dist/Banners/Banner.cjs +16 -11
  26. package/dist/Banners/Banner.cjs.map +1 -1
  27. package/dist/Banners/Banner.d.ts +33 -1
  28. package/dist/Banners/Banner.js +10 -10
  29. package/dist/Banners/Banner.js.map +1 -1
  30. package/dist/Banners/OverviewBanner.cjs +7 -5
  31. package/dist/Banners/OverviewBanner.cjs.map +1 -1
  32. package/dist/Banners/OverviewBanner.d.ts +8 -2
  33. package/dist/Banners/OverviewBanner.js +4 -4
  34. package/dist/Banners/OverviewBanner.js.map +1 -1
  35. package/dist/Banners/index.cjs +31 -3
  36. package/dist/Banners/index.cjs.map +1 -1
  37. package/dist/Banners/index.d.ts +4 -3
  38. package/dist/Banners/index.js +4 -5
  39. package/dist/Banners/index.js.map +1 -1
  40. package/dist/Breadcrumb/Breadcrumb.cjs +2 -2
  41. package/dist/Breadcrumb/Breadcrumb.cjs.map +1 -1
  42. package/dist/Breadcrumb/Breadcrumb.d.ts +1 -1
  43. package/dist/Breadcrumb/Breadcrumb.js +3 -3
  44. package/dist/Breadcrumb/Breadcrumb.js.map +1 -1
  45. package/dist/Breadcrumb/index.cjs +42 -2
  46. package/dist/Breadcrumb/index.cjs.map +1 -1
  47. package/dist/Breadcrumb/index.d.ts +3 -0
  48. package/dist/Breadcrumb/index.js +3 -0
  49. package/dist/Breadcrumb/index.js.map +1 -1
  50. package/dist/Breadcrumb/styles.cjs +5 -5
  51. package/dist/Breadcrumb/styles.cjs.map +1 -1
  52. package/dist/Breadcrumb/styles.d.ts +2 -2
  53. package/dist/Breadcrumb/styles.js +2 -2
  54. package/dist/Breadcrumb/styles.js.map +1 -1
  55. package/dist/Button/BackButton.cjs +2 -2
  56. package/dist/Button/BackButton.cjs.map +1 -1
  57. package/dist/Button/BackButton.d.ts +1 -1
  58. package/dist/Button/BackButton.js +2 -2
  59. package/dist/Button/BackButton.js.map +1 -1
  60. package/dist/Button/DualFunctionButton.cjs +3 -3
  61. package/dist/Button/DualFunctionButton.cjs.map +1 -1
  62. package/dist/Button/DualFunctionButton.js +4 -4
  63. package/dist/Button/DualFunctionButton.js.map +1 -1
  64. package/dist/Button/Iconbutton.cjs +10 -10
  65. package/dist/Button/Iconbutton.cjs.map +1 -1
  66. package/dist/Button/Iconbutton.d.ts +1 -1
  67. package/dist/Button/Iconbutton.js +8 -8
  68. package/dist/Button/Iconbutton.js.map +1 -1
  69. package/dist/Button/index.cjs +57 -5
  70. package/dist/Button/index.cjs.map +1 -1
  71. package/dist/Button/index.d.ts +4 -0
  72. package/dist/Button/index.js +4 -0
  73. package/dist/Button/index.js.map +1 -1
  74. package/dist/Card/VerticalCard/Card.cjs +7 -7
  75. package/dist/Card/VerticalCard/Card.cjs.map +1 -1
  76. package/dist/Card/VerticalCard/Card.d.ts +2 -2
  77. package/dist/Card/VerticalCard/Card.js +4 -4
  78. package/dist/Card/VerticalCard/Card.js.map +1 -1
  79. package/dist/Card/VerticalCard/CardBottomSection.cjs +21 -21
  80. package/dist/Card/VerticalCard/CardBottomSection.cjs.map +1 -1
  81. package/dist/Card/VerticalCard/CardBottomSection.d.ts +7 -7
  82. package/dist/Card/VerticalCard/CardBottomSection.js +13 -13
  83. package/dist/Card/VerticalCard/CardBottomSection.js.map +1 -1
  84. package/dist/Card/VerticalCard/CardMiddleSection.cjs +11 -11
  85. package/dist/Card/VerticalCard/CardMiddleSection.cjs.map +1 -1
  86. package/dist/Card/VerticalCard/CardMiddleSection.d.ts +3 -3
  87. package/dist/Card/VerticalCard/CardMiddleSection.js +7 -7
  88. package/dist/Card/VerticalCard/CardMiddleSection.js.map +1 -1
  89. package/dist/Card/VerticalCard/CardTopSection.cjs +13 -13
  90. package/dist/Card/VerticalCard/CardTopSection.cjs.map +1 -1
  91. package/dist/Card/VerticalCard/CardTopSection.d.ts +4 -4
  92. package/dist/Card/VerticalCard/CardTopSection.js +8 -8
  93. package/dist/Card/VerticalCard/CardTopSection.js.map +1 -1
  94. package/dist/Chips/index.cjs +19 -0
  95. package/dist/Chips/index.cjs.map +1 -1
  96. package/dist/Chips/index.d.ts +1 -0
  97. package/dist/Chips/index.js +1 -0
  98. package/dist/Chips/index.js.map +1 -1
  99. package/dist/Dropdown/BasicDropdown.cjs +3 -3
  100. package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
  101. package/dist/Dropdown/BasicDropdown.d.ts +5 -5
  102. package/dist/Dropdown/BasicDropdown.js +4 -4
  103. package/dist/Dropdown/BasicDropdown.js.map +1 -1
  104. package/dist/Dropdown/CommonStyling.cjs +19 -19
  105. package/dist/Dropdown/CommonStyling.cjs.map +1 -1
  106. package/dist/Dropdown/CommonStyling.d.ts +9 -9
  107. package/dist/Dropdown/CommonStyling.js +9 -9
  108. package/dist/Dropdown/CommonStyling.js.map +1 -1
  109. package/dist/Dropdown/DropdownButton.cjs +9 -8
  110. package/dist/Dropdown/DropdownButton.cjs.map +1 -1
  111. package/dist/Dropdown/DropdownButton.d.ts +1 -0
  112. package/dist/Dropdown/DropdownButton.js +8 -8
  113. package/dist/Dropdown/DropdownButton.js.map +1 -1
  114. package/dist/Dropdown/DropdownContent.cjs +18 -16
  115. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  116. package/dist/Dropdown/DropdownContent.d.ts +10 -1
  117. package/dist/Dropdown/DropdownContent.js +15 -15
  118. package/dist/Dropdown/DropdownContent.js.map +1 -1
  119. package/dist/Dropdown/DropdownFilter.cjs +3 -3
  120. package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
  121. package/dist/Dropdown/DropdownFilter.d.ts +1 -1
  122. package/dist/Dropdown/DropdownFilter.js +4 -4
  123. package/dist/Dropdown/DropdownFilter.js.map +1 -1
  124. package/dist/Dropdown/index.cjs +57 -5
  125. package/dist/Dropdown/index.cjs.map +1 -1
  126. package/dist/Dropdown/index.d.ts +4 -0
  127. package/dist/Dropdown/index.js +4 -0
  128. package/dist/Dropdown/index.js.map +1 -1
  129. package/dist/ProfileButton/ProfileButton.cjs +1 -1
  130. package/dist/ProfileButton/ProfileButton.cjs.map +1 -1
  131. package/dist/ProfileButton/ProfileButton.js +2 -2
  132. package/dist/ProfileButton/ProfileButton.js.map +1 -1
  133. package/dist/Table/Table.cjs +18 -6
  134. package/dist/Table/Table.cjs.map +1 -1
  135. package/dist/Table/Table.js +18 -6
  136. package/dist/Table/Table.js.map +1 -1
  137. package/dist/Table/TableStyles.cjs +4 -1
  138. package/dist/Table/TableStyles.cjs.map +1 -1
  139. package/dist/Table/TableStyles.d.ts +3 -1
  140. package/dist/Table/TableStyles.js +4 -1
  141. package/dist/Table/TableStyles.js.map +1 -1
  142. package/dist/Table/TableTypes.cjs.map +1 -1
  143. package/dist/Table/TableTypes.d.ts +2 -0
  144. package/dist/Table/TableTypes.js.map +1 -1
  145. package/dist/Toggles/ToggleButton.cjs +1 -1
  146. package/dist/Toggles/ToggleButton.cjs.map +1 -1
  147. package/dist/Toggles/ToggleButton.js +2 -2
  148. package/dist/Toggles/ToggleButton.js.map +1 -1
  149. package/dist/styles/z-indexes.cjs +1 -0
  150. package/dist/styles/z-indexes.cjs.map +1 -1
  151. package/dist/styles/z-indexes.d.ts +1 -0
  152. package/dist/styles/z-indexes.js +1 -0
  153. package/dist/styles/z-indexes.js.map +1 -1
  154. package/package.json +1 -1
@@ -1,9 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ var _exportNames = {
8
+ DropdownContent: true,
9
+ DropdownButton: true,
10
+ DropdownFilter: true,
11
+ BasicDropdown: true
12
+ };
7
13
  Object.defineProperty(exports, "BasicDropdown", {
8
14
  enumerable: true,
9
15
  get: function get() {
@@ -28,8 +34,54 @@ Object.defineProperty(exports, "DropdownFilter", {
28
34
  return _DropdownFilter.default;
29
35
  }
30
36
  });
31
- var _DropdownContent = _interopRequireDefault(require("./DropdownContent"));
32
- var _DropdownButton = _interopRequireDefault(require("./DropdownButton"));
33
- var _DropdownFilter = _interopRequireDefault(require("./DropdownFilter"));
34
- var _BasicDropdown = _interopRequireDefault(require("./BasicDropdown"));
37
+ var _DropdownContent = _interopRequireWildcard(require("./DropdownContent"));
38
+ Object.keys(_DropdownContent).forEach(function (key) {
39
+ if (key === "default" || key === "__esModule") return;
40
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
41
+ if (key in exports && exports[key] === _DropdownContent[key]) return;
42
+ Object.defineProperty(exports, key, {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _DropdownContent[key];
46
+ }
47
+ });
48
+ });
49
+ var _DropdownButton = _interopRequireWildcard(require("./DropdownButton"));
50
+ Object.keys(_DropdownButton).forEach(function (key) {
51
+ if (key === "default" || key === "__esModule") return;
52
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
53
+ if (key in exports && exports[key] === _DropdownButton[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _DropdownButton[key];
58
+ }
59
+ });
60
+ });
61
+ var _DropdownFilter = _interopRequireWildcard(require("./DropdownFilter"));
62
+ Object.keys(_DropdownFilter).forEach(function (key) {
63
+ if (key === "default" || key === "__esModule") return;
64
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
65
+ if (key in exports && exports[key] === _DropdownFilter[key]) return;
66
+ Object.defineProperty(exports, key, {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _DropdownFilter[key];
70
+ }
71
+ });
72
+ });
73
+ var _BasicDropdown = _interopRequireWildcard(require("./BasicDropdown"));
74
+ Object.keys(_BasicDropdown).forEach(function (key) {
75
+ if (key === "default" || key === "__esModule") return;
76
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
77
+ if (key in exports && exports[key] === _BasicDropdown[key]) return;
78
+ Object.defineProperty(exports, key, {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _BasicDropdown[key];
82
+ }
83
+ });
84
+ });
85
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
86
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
87
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../../src/Dropdown/index.ts"],"sourcesContent":["export type { DropdownItem } from './DropdownContent';\n\nexport { default as DropdownContent } from './DropdownContent';\nexport { default as DropdownButton } from './DropdownButton';\nexport { default as DropdownFilter } from './DropdownFilter';\nexport { default as BasicDropdown } from './BasicDropdown';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../../src/Dropdown/index.ts"],"sourcesContent":["export type { DropdownItem } from './DropdownContent';\n\nexport { default as DropdownContent } from './DropdownContent';\nexport * from './DropdownContent';\n\nexport { default as DropdownButton } from './DropdownButton';\nexport * from './DropdownButton';\n\nexport { default as DropdownFilter } from './DropdownFilter';\nexport * from './DropdownFilter';\n\nexport { default as BasicDropdown } from './BasicDropdown';\nexport * from './BasicDropdown';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAEA;AACA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AAAgC;AAAA"}
@@ -1,5 +1,9 @@
1
1
  export type { DropdownItem } from './DropdownContent';
2
2
  export { default as DropdownContent } from './DropdownContent';
3
+ export * from './DropdownContent';
3
4
  export { default as DropdownButton } from './DropdownButton';
5
+ export * from './DropdownButton';
4
6
  export { default as DropdownFilter } from './DropdownFilter';
7
+ export * from './DropdownFilter';
5
8
  export { default as BasicDropdown } from './BasicDropdown';
9
+ export * from './BasicDropdown';
@@ -1,5 +1,9 @@
1
1
  export { default as DropdownContent } from './DropdownContent';
2
+ export * from './DropdownContent';
2
3
  export { default as DropdownButton } from './DropdownButton';
4
+ export * from './DropdownButton';
3
5
  export { default as DropdownFilter } from './DropdownFilter';
6
+ export * from './DropdownFilter';
4
7
  export { default as BasicDropdown } from './BasicDropdown';
8
+ export * from './BasicDropdown';
5
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","DropdownContent","DropdownButton","DropdownFilter","BasicDropdown"],"sources":["../../src/Dropdown/index.ts"],"sourcesContent":["export type { DropdownItem } from './DropdownContent';\n\nexport { default as DropdownContent } from './DropdownContent';\nexport { default as DropdownButton } from './DropdownButton';\nexport { default as DropdownFilter } from './DropdownFilter';\nexport { default as BasicDropdown } from './BasicDropdown';\n"],"mappings":"AAEA,SAASA,OAAO,IAAIC,eAAe,QAAQ,mBAAmB;AAC9D,SAASD,OAAO,IAAIE,cAAc,QAAQ,kBAAkB;AAC5D,SAASF,OAAO,IAAIG,cAAc,QAAQ,kBAAkB;AAC5D,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB"}
1
+ {"version":3,"file":"index.js","names":["default","DropdownContent","DropdownButton","DropdownFilter","BasicDropdown"],"sources":["../../src/Dropdown/index.ts"],"sourcesContent":["export type { DropdownItem } from './DropdownContent';\n\nexport { default as DropdownContent } from './DropdownContent';\nexport * from './DropdownContent';\n\nexport { default as DropdownButton } from './DropdownButton';\nexport * from './DropdownButton';\n\nexport { default as DropdownFilter } from './DropdownFilter';\nexport * from './DropdownFilter';\n\nexport { default as BasicDropdown } from './BasicDropdown';\nexport * from './BasicDropdown';\n"],"mappings":"AAEA,SAASA,OAAO,IAAIC,eAAe,QAAQ,mBAAmB;AAC9D,cAAc,mBAAmB;AAEjC,SAASD,OAAO,IAAIE,cAAc,QAAQ,kBAAkB;AAC5D,cAAc,kBAAkB;AAEhC,SAASF,OAAO,IAAIG,cAAc,QAAQ,kBAAkB;AAC5D,cAAc,kBAAkB;AAEhC,SAASH,OAAO,IAAII,aAAa,QAAQ,iBAAiB;AAC1D,cAAc,iBAAiB"}
@@ -26,7 +26,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
26
26
  var PortraitOverlay = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n"])), _.COLORS.black);
27
27
  var ProfileButtonContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ", " {\n display: ", ";\n\n ", " {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ", " {\n background-color: ", ";\n\n svg, svg path {\n fill: ", ";\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ", " {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ", " {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n"])), _Iconbutton.StyledPrimaryIconButton, function (props) {
28
28
  return props.hideOnLowWidth ? 'none' : 'inline';
29
- }, _styles.BREAKPOINTS.MEDIUM, _Iconbutton.IconButtonContent, _.COLORS.neutral_100, _.COLORS.neutral_300, PortraitOverlay, PortraitOverlay);
29
+ }, _styles.BREAKPOINTS.MEDIUM, _Iconbutton.IconButtonContentStyles, _.COLORS.neutral_100, _.COLORS.neutral_300, PortraitOverlay, PortraitOverlay);
30
30
  exports.ProfileButtonContainer = ProfileButtonContainer;
31
31
  var NotificationContainer = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n position: absolute;\n left: 30px;\n bottom: 30px;\n"])));
32
32
  var ImageWrapper = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n"])));
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileButton.cjs","names":["PortraitOverlay","styled","div","COLORS","black","ProfileButtonContainer","StyledPrimaryIconButton","props","hideOnLowWidth","BREAKPOINTS","MEDIUM","IconButtonContent","neutral_100","neutral_300","NotificationContainer","ImageWrapper","ProfileButton","React","forwardRef","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","renderIcon","ComponentTextStyle","Bold","white","Size","Medium"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, IconButton, Size} from '..';\nimport {IconButtonContent, StyledPrimaryIconButton} from '../Button/Iconbutton';\nimport {NotificationDot} from '../NotificationDot';\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\n\nexport type ProfileButtonProps = {\n portraitSrc?: string;\n icon?: React.ReactNode;\n initials?: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n notificationVariant?: 'positive' | 'critical';\n hideOnLowWidth?: boolean;\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\n\nconst PortraitOverlay = styled.div`\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ${COLORS.black};\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n`;\n\nexport const ProfileButtonContainer = styled.div<{ hideOnLowWidth?: boolean }>`\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ${StyledPrimaryIconButton} {\n display: ${props => (props.hideOnLowWidth ? 'none' : 'inline')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_100};\n\n svg, svg path {\n fill: ${COLORS.neutral_300};\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ${PortraitOverlay} {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ${PortraitOverlay} {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n`;\n\nconst NotificationContainer = styled.div`\n position: absolute;\n left: 30px;\n bottom: 30px;\n`;\n\nconst ImageWrapper = styled.div`\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\n portraitSrc,\n icon,\n initials,\n onClick,\n hideOnLowWidth,\n disabled,\n notificationVariant,\n className,\n tabIndex,\n ...rest\n }, ref) => {\n const renderIcon = () => {\n return (\n (portraitSrc && (\n <ImageWrapper>\n <img src={portraitSrc}/>\n <PortraitOverlay/>\n </ImageWrapper>\n )) ||\n (initials && (\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\n color={disabled ? COLORS.neutral_300 : COLORS.white}>\n {initials}\n </ComponentS>\n )) || <>{icon}</>\n );\n };\n\n return (\n <ProfileButtonContainer hideOnLowWidth={hideOnLowWidth}>\n <IconButton ref={ref}\n className={className}\n disabled={disabled}\n action={onClick}\n variant=\"primary\"\n tabIndex={tabIndex}\n shape=\"circular\"\n hideOnLowWidth={hideOnLowWidth}\n {...rest}>\n {renderIcon()}\n {notificationVariant && (\n <NotificationContainer>\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\n </NotificationContainer>\n )}\n </IconButton>\n </ProfileButtonContainer>\n );\n});\n\nexport default ProfileButton;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAsE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWtE,IAAMA,eAAe,GAAGC,yBAAM,CAACC,GAAG,0OAIZC,QAAM,CAACC,KAAK,CAKjC;AAEM,IAAMC,sBAAsB,GAAGJ,yBAAM,CAACC,GAAG,8vBAM5CI,mCAAuB,EACZ,UAAAC,KAAK;EAAA,OAAKA,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,QAAQ;AAAA,CAAC,EAE5DC,mBAAW,CAACC,MAAM,EAShBC,6BAAiB,EACGR,QAAM,CAACS,WAAW,EAG5BT,QAAM,CAACU,WAAW,EAO5Bb,eAAe,EAQfA,eAAe,CAMtB;AAAC;AAEF,IAAMc,qBAAqB,GAAGb,yBAAM,CAACC,GAAG,8IAIvC;AAED,IAAMa,YAAY,GAAGd,yBAAM,CAACC,GAAG,qPAW9B;AAED,IAAMc,aAAa,gBAAGC,KAAK,CAACC,UAAU,CAAwC,gBAWIC,GAAG,EAAK;EAAA,IAVTC,WAAW,QAAXA,WAAW;IACXC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPf,cAAc,QAAdA,cAAc;IACdgB,QAAQ,QAARA,QAAQ;IACRC,mBAAmB,QAAnBA,mBAAmB;IACnBC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEtF,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,OACGT,WAAW,iBACV,sBAAC,YAAY;MAAA,wBACX;QAAK,GAAG,EAAEA;MAAY,EAAE,eACxB,qBAAC,eAAe,KAAE;IAAA,EAErB,IACAE,QAAQ,iBACP,qBAAC,kBAAU;MAAC,SAAS,EAAC,UAAU;MAAC,SAAS,EAAEQ,0BAAkB,CAACC,IAAK;MACxD,KAAK,EAAEP,QAAQ,GAAGrB,QAAM,CAACU,WAAW,GAAGV,QAAM,CAAC6B,KAAM;MAAA,UAC7DV;IAAQ,EAEX,iBAAI;MAAA,UAAGD;IAAI,EAAI;EAErB,CAAC;EAED,oBACE,qBAAC,sBAAsB;IAAC,cAAc,EAAEb,cAAe;IAAA,uBACrD,sBAAC,YAAU;MAAC,GAAG,EAAEW,GAAI;MACT,SAAS,EAAEO,SAAU;MACrB,QAAQ,EAAEF,QAAS;MACnB,MAAM,EAAED,OAAQ;MAChB,OAAO,EAAC,SAAS;MACjB,QAAQ,EAAEI,QAAS;MACnB,KAAK,EAAC,UAAU;MAChB,cAAc,EAAEnB;IAAe,GAC3BoB,IAAI;MAAA,WACjBC,UAAU,EAAE,EACZJ,mBAAmB,iBAClB,qBAAC,qBAAqB;QAAA,uBACpB,qBAAC,gCAAe;UAAC,IAAI,EAAEQ,MAAI,CAACC,MAAO;UAAC,OAAO,EAAET;QAAoB;MAAE,EAEtE;IAAA;EACU,EACU;AAE7B,CAAC,CAAC;AAAC;EApIDL,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPE,mBAAmB,4BAAG,UAAU,EAAG,UAAU;EAC7CjB,cAAc;AAAA;AAAA,eAiIDQ,aAAa;AAAA"}
1
+ {"version":3,"file":"ProfileButton.cjs","names":["PortraitOverlay","styled","div","COLORS","black","ProfileButtonContainer","StyledPrimaryIconButton","props","hideOnLowWidth","BREAKPOINTS","MEDIUM","IconButtonContentStyles","neutral_100","neutral_300","NotificationContainer","ImageWrapper","ProfileButton","React","forwardRef","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","renderIcon","ComponentTextStyle","Bold","white","Size","Medium"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, IconButton, Size} from '..';\nimport {IconButtonContentStyles, StyledPrimaryIconButton} from '../Button/Iconbutton';\nimport {NotificationDot} from '../NotificationDot';\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\n\nexport type ProfileButtonProps = {\n portraitSrc?: string;\n icon?: React.ReactNode;\n initials?: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n notificationVariant?: 'positive' | 'critical';\n hideOnLowWidth?: boolean;\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\n\nconst PortraitOverlay = styled.div`\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ${COLORS.black};\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n`;\n\nexport const ProfileButtonContainer = styled.div<{ hideOnLowWidth?: boolean }>`\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ${StyledPrimaryIconButton} {\n display: ${props => (props.hideOnLowWidth ? 'none' : 'inline')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ${IconButtonContentStyles} {\n background-color: ${COLORS.neutral_100};\n\n svg, svg path {\n fill: ${COLORS.neutral_300};\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ${PortraitOverlay} {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ${PortraitOverlay} {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n`;\n\nconst NotificationContainer = styled.div`\n position: absolute;\n left: 30px;\n bottom: 30px;\n`;\n\nconst ImageWrapper = styled.div`\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\n portraitSrc,\n icon,\n initials,\n onClick,\n hideOnLowWidth,\n disabled,\n notificationVariant,\n className,\n tabIndex,\n ...rest\n }, ref) => {\n const renderIcon = () => {\n return (\n (portraitSrc && (\n <ImageWrapper>\n <img src={portraitSrc}/>\n <PortraitOverlay/>\n </ImageWrapper>\n )) ||\n (initials && (\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\n color={disabled ? COLORS.neutral_300 : COLORS.white}>\n {initials}\n </ComponentS>\n )) || <>{icon}</>\n );\n };\n\n return (\n <ProfileButtonContainer hideOnLowWidth={hideOnLowWidth}>\n <IconButton ref={ref}\n className={className}\n disabled={disabled}\n action={onClick}\n variant=\"primary\"\n tabIndex={tabIndex}\n shape=\"circular\"\n hideOnLowWidth={hideOnLowWidth}\n {...rest}>\n {renderIcon()}\n {notificationVariant && (\n <NotificationContainer>\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\n </NotificationContainer>\n )}\n </IconButton>\n </ProfileButtonContainer>\n );\n});\n\nexport default ProfileButton;\n"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAAsE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWtE,IAAMA,eAAe,GAAGC,yBAAM,CAACC,GAAG,0OAIZC,QAAM,CAACC,KAAK,CAKjC;AAEM,IAAMC,sBAAsB,GAAGJ,yBAAM,CAACC,GAAG,8vBAM5CI,mCAAuB,EACZ,UAAAC,KAAK;EAAA,OAAKA,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,QAAQ;AAAA,CAAC,EAE5DC,mBAAW,CAACC,MAAM,EAShBC,mCAAuB,EACHR,QAAM,CAACS,WAAW,EAG5BT,QAAM,CAACU,WAAW,EAO5Bb,eAAe,EAQfA,eAAe,CAMtB;AAAC;AAEF,IAAMc,qBAAqB,GAAGb,yBAAM,CAACC,GAAG,8IAIvC;AAED,IAAMa,YAAY,GAAGd,yBAAM,CAACC,GAAG,qPAW9B;AAED,IAAMc,aAAa,gBAAGC,KAAK,CAACC,UAAU,CAAwC,gBAWIC,GAAG,EAAK;EAAA,IAVTC,WAAW,QAAXA,WAAW;IACXC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPf,cAAc,QAAdA,cAAc;IACdgB,QAAQ,QAARA,QAAQ;IACRC,mBAAmB,QAAnBA,mBAAmB;IACnBC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEtF,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,OACGT,WAAW,iBACV,sBAAC,YAAY;MAAA,wBACX;QAAK,GAAG,EAAEA;MAAY,EAAE,eACxB,qBAAC,eAAe,KAAE;IAAA,EAErB,IACAE,QAAQ,iBACP,qBAAC,kBAAU;MAAC,SAAS,EAAC,UAAU;MAAC,SAAS,EAAEQ,0BAAkB,CAACC,IAAK;MACxD,KAAK,EAAEP,QAAQ,GAAGrB,QAAM,CAACU,WAAW,GAAGV,QAAM,CAAC6B,KAAM;MAAA,UAC7DV;IAAQ,EAEX,iBAAI;MAAA,UAAGD;IAAI,EAAI;EAErB,CAAC;EAED,oBACE,qBAAC,sBAAsB;IAAC,cAAc,EAAEb,cAAe;IAAA,uBACrD,sBAAC,YAAU;MAAC,GAAG,EAAEW,GAAI;MACT,SAAS,EAAEO,SAAU;MACrB,QAAQ,EAAEF,QAAS;MACnB,MAAM,EAAED,OAAQ;MAChB,OAAO,EAAC,SAAS;MACjB,QAAQ,EAAEI,QAAS;MACnB,KAAK,EAAC,UAAU;MAChB,cAAc,EAAEnB;IAAe,GAC3BoB,IAAI;MAAA,WACjBC,UAAU,EAAE,EACZJ,mBAAmB,iBAClB,qBAAC,qBAAqB;QAAA,uBACpB,qBAAC,gCAAe;UAAC,IAAI,EAAEQ,MAAI,CAACC,MAAO;UAAC,OAAO,EAAET;QAAoB;MAAE,EAEtE;IAAA;EACU,EACU;AAE7B,CAAC,CAAC;AAAC;EApIDL,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPE,mBAAmB,4BAAG,UAAU,EAAG,UAAU;EAC7CjB,cAAc;AAAA;AAAA,eAiIDQ,aAAa;AAAA"}
@@ -9,7 +9,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
9
9
  import * as React from 'react';
10
10
  import styled from 'styled-components';
11
11
  import { COLORS, IconButton, Size } from '..';
12
- import { IconButtonContent, StyledPrimaryIconButton } from '../Button/Iconbutton';
12
+ import { IconButtonContentStyles, StyledPrimaryIconButton } from '../Button/Iconbutton';
13
13
  import { NotificationDot } from '../NotificationDot';
14
14
  import { BREAKPOINTS, ComponentS, ComponentTextStyle } from '../styles';
15
15
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -18,7 +18,7 @@ import { Fragment as _Fragment } from "react/jsx-runtime";
18
18
  var PortraitOverlay = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ", ";\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n"])), COLORS.black);
19
19
  export var ProfileButtonContainer = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ", " {\n display: ", ";\n\n ", " {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ", " {\n background-color: ", ";\n\n svg, svg path {\n fill: ", ";\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ", " {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ", " {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n"])), StyledPrimaryIconButton, function (props) {
20
20
  return props.hideOnLowWidth ? 'none' : 'inline';
21
- }, BREAKPOINTS.MEDIUM, IconButtonContent, COLORS.neutral_100, COLORS.neutral_300, PortraitOverlay, PortraitOverlay);
21
+ }, BREAKPOINTS.MEDIUM, IconButtonContentStyles, COLORS.neutral_100, COLORS.neutral_300, PortraitOverlay, PortraitOverlay);
22
22
  var NotificationContainer = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n position: absolute;\n left: 30px;\n bottom: 30px;\n"])));
23
23
  var ImageWrapper = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n"])));
24
24
  var ProfileButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProfileButton.js","names":["React","styled","COLORS","IconButton","Size","IconButtonContent","StyledPrimaryIconButton","NotificationDot","BREAKPOINTS","ComponentS","ComponentTextStyle","PortraitOverlay","div","black","ProfileButtonContainer","props","hideOnLowWidth","MEDIUM","neutral_100","neutral_300","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","renderIcon","Bold","white","Medium"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, IconButton, Size} from '..';\nimport {IconButtonContent, StyledPrimaryIconButton} from '../Button/Iconbutton';\nimport {NotificationDot} from '../NotificationDot';\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\n\nexport type ProfileButtonProps = {\n portraitSrc?: string;\n icon?: React.ReactNode;\n initials?: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n notificationVariant?: 'positive' | 'critical';\n hideOnLowWidth?: boolean;\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\n\nconst PortraitOverlay = styled.div`\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ${COLORS.black};\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n`;\n\nexport const ProfileButtonContainer = styled.div<{ hideOnLowWidth?: boolean }>`\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ${StyledPrimaryIconButton} {\n display: ${props => (props.hideOnLowWidth ? 'none' : 'inline')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ${IconButtonContent} {\n background-color: ${COLORS.neutral_100};\n\n svg, svg path {\n fill: ${COLORS.neutral_300};\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ${PortraitOverlay} {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ${PortraitOverlay} {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n`;\n\nconst NotificationContainer = styled.div`\n position: absolute;\n left: 30px;\n bottom: 30px;\n`;\n\nconst ImageWrapper = styled.div`\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\n portraitSrc,\n icon,\n initials,\n onClick,\n hideOnLowWidth,\n disabled,\n notificationVariant,\n className,\n tabIndex,\n ...rest\n }, ref) => {\n const renderIcon = () => {\n return (\n (portraitSrc && (\n <ImageWrapper>\n <img src={portraitSrc}/>\n <PortraitOverlay/>\n </ImageWrapper>\n )) ||\n (initials && (\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\n color={disabled ? COLORS.neutral_300 : COLORS.white}>\n {initials}\n </ComponentS>\n )) || <>{icon}</>\n );\n };\n\n return (\n <ProfileButtonContainer hideOnLowWidth={hideOnLowWidth}>\n <IconButton ref={ref}\n className={className}\n disabled={disabled}\n action={onClick}\n variant=\"primary\"\n tabIndex={tabIndex}\n shape=\"circular\"\n hideOnLowWidth={hideOnLowWidth}\n {...rest}>\n {renderIcon()}\n {notificationVariant && (\n <NotificationContainer>\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\n </NotificationContainer>\n )}\n </IconButton>\n </ProfileButtonContainer>\n );\n});\n\nexport default ProfileButton;\n"],"mappings":";;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,MAAM,EAAEC,UAAU,EAAEC,IAAI,QAAO,IAAI;AAC3C,SAAQC,iBAAiB,EAAEC,uBAAuB,QAAO,sBAAsB;AAC/E,SAAQC,eAAe,QAAO,oBAAoB;AAClD,SAAQC,WAAW,EAAEC,UAAU,EAAEC,kBAAkB,QAAO,WAAW;AAAC;AAAA;AAAA;AAWtE,IAAMC,eAAe,GAAGV,MAAM,CAACW,GAAG,4NAIZV,MAAM,CAACW,KAAK,CAKjC;AAED,OAAO,IAAMC,sBAAsB,GAAGb,MAAM,CAACW,GAAG,gvBAM5CN,uBAAuB,EACZ,UAAAS,KAAK;EAAA,OAAKA,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,QAAQ;AAAA,CAAC,EAE5DR,WAAW,CAACS,MAAM,EAShBZ,iBAAiB,EACGH,MAAM,CAACgB,WAAW,EAG5BhB,MAAM,CAACiB,WAAW,EAO5BR,eAAe,EAQfA,eAAe,CAMtB;AAED,IAAMS,qBAAqB,GAAGnB,MAAM,CAACW,GAAG,gIAIvC;AAED,IAAMS,YAAY,GAAGpB,MAAM,CAACW,GAAG,uOAW9B;AAED,IAAMU,aAAa,gBAAGtB,KAAK,CAACuB,UAAU,CAAwC,gBAWIC,GAAG,EAAK;EAAA,IAVTC,WAAW,QAAXA,WAAW;IACXC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPZ,cAAc,QAAdA,cAAc;IACda,QAAQ,QAARA,QAAQ;IACRC,mBAAmB,QAAnBA,mBAAmB;IACnBC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEtF,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,OACGT,WAAW,iBACV,MAAC,YAAY;MAAA,wBACX;QAAK,GAAG,EAAEA;MAAY,EAAE,eACxB,KAAC,eAAe,KAAE;IAAA,EAErB,IACAE,QAAQ,iBACP,KAAC,UAAU;MAAC,SAAS,EAAC,UAAU;MAAC,SAAS,EAAEjB,kBAAkB,CAACyB,IAAK;MACxD,KAAK,EAAEN,QAAQ,GAAG3B,MAAM,CAACiB,WAAW,GAAGjB,MAAM,CAACkC,KAAM;MAAA,UAC7DT;IAAQ,EAEX,iBAAI;MAAA,UAAGD;IAAI,EAAI;EAErB,CAAC;EAED,oBACE,KAAC,sBAAsB;IAAC,cAAc,EAAEV,cAAe;IAAA,uBACrD,MAAC,UAAU;MAAC,GAAG,EAAEQ,GAAI;MACT,SAAS,EAAEO,SAAU;MACrB,QAAQ,EAAEF,QAAS;MACnB,MAAM,EAAED,OAAQ;MAChB,OAAO,EAAC,SAAS;MACjB,QAAQ,EAAEI,QAAS;MACnB,KAAK,EAAC,UAAU;MAChB,cAAc,EAAEhB;IAAe,GAC3BiB,IAAI;MAAA,WACjBC,UAAU,EAAE,EACZJ,mBAAmB,iBAClB,KAAC,qBAAqB;QAAA,uBACpB,KAAC,eAAe;UAAC,IAAI,EAAE1B,IAAI,CAACiC,MAAO;UAAC,OAAO,EAAEP;QAAoB;MAAE,EAEtE;IAAA;EACU,EACU;AAE7B,CAAC,CAAC;AAAC;EApIDL,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPE,mBAAmB,aAAG,UAAU,EAAG,UAAU;EAC7Cd,cAAc;AAAA;AAiIhB,eAAeM,aAAa"}
1
+ {"version":3,"file":"ProfileButton.js","names":["React","styled","COLORS","IconButton","Size","IconButtonContentStyles","StyledPrimaryIconButton","NotificationDot","BREAKPOINTS","ComponentS","ComponentTextStyle","PortraitOverlay","div","black","ProfileButtonContainer","props","hideOnLowWidth","MEDIUM","neutral_100","neutral_300","NotificationContainer","ImageWrapper","ProfileButton","forwardRef","ref","portraitSrc","icon","initials","onClick","disabled","notificationVariant","className","tabIndex","rest","renderIcon","Bold","white","Medium"],"sources":["../../src/ProfileButton/ProfileButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, IconButton, Size} from '..';\nimport {IconButtonContentStyles, StyledPrimaryIconButton} from '../Button/Iconbutton';\nimport {NotificationDot} from '../NotificationDot';\nimport {BREAKPOINTS, ComponentS, ComponentTextStyle} from '../styles';\n\nexport type ProfileButtonProps = {\n portraitSrc?: string;\n icon?: React.ReactNode;\n initials?: string;\n onClick: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n notificationVariant?: 'positive' | 'critical';\n hideOnLowWidth?: boolean;\n} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> ;\n\nconst PortraitOverlay = styled.div`\n width: 100%;\n height: 100%;\n border-radius: 50%;\n background-color: ${COLORS.black};\n opacity: 0;\n position: absolute;\n top: 0px;\n left: 0px;\n`;\n\nexport const ProfileButtonContainer = styled.div<{ hideOnLowWidth?: boolean }>`\n width: 48px;\n height: 48px;\n display: inline;\n user-select: none;\n \n ${StyledPrimaryIconButton} {\n display: ${props => (props.hideOnLowWidth ? 'none' : 'inline')};\n\n ${BREAKPOINTS.MEDIUM} {\n display: inline;\n }\n\n :disabled {\n img {\n filter: grayscale(100%);\n }\n\n ${IconButtonContentStyles} {\n background-color: ${COLORS.neutral_100};\n\n svg, svg path {\n fill: ${COLORS.neutral_300};\n }\n }\n }\n\n :hover:not(:disabled):not(:active),\n &.hover-state {\n ${PortraitOverlay} {\n opacity: 0.25;\n transition: opacity 100ms ease-in-out;\n }\n }\n\n :active:not(:disabled),\n &.active-state {\n ${PortraitOverlay} {\n opacity: 0.5;\n transition: opacity 0ms ease-in-out;\n }\n }\n }\n`;\n\nconst NotificationContainer = styled.div`\n position: absolute;\n left: 30px;\n bottom: 30px;\n`;\n\nconst ImageWrapper = styled.div`\n width: 36px;\n height: 36px;\n position: relative;\n\n img {\n width: 100%;\n height: 100%;\n border-radius: 50%;\n object-fit: cover;\n }\n`;\n\nconst ProfileButton = React.forwardRef<HTMLButtonElement, ProfileButtonProps>(({\n portraitSrc,\n icon,\n initials,\n onClick,\n hideOnLowWidth,\n disabled,\n notificationVariant,\n className,\n tabIndex,\n ...rest\n }, ref) => {\n const renderIcon = () => {\n return (\n (portraitSrc && (\n <ImageWrapper>\n <img src={portraitSrc}/>\n <PortraitOverlay/>\n </ImageWrapper>\n )) ||\n (initials && (\n <ComponentS className=\"initials\" textStyle={ComponentTextStyle.Bold}\n color={disabled ? COLORS.neutral_300 : COLORS.white}>\n {initials}\n </ComponentS>\n )) || <>{icon}</>\n );\n };\n\n return (\n <ProfileButtonContainer hideOnLowWidth={hideOnLowWidth}>\n <IconButton ref={ref}\n className={className}\n disabled={disabled}\n action={onClick}\n variant=\"primary\"\n tabIndex={tabIndex}\n shape=\"circular\"\n hideOnLowWidth={hideOnLowWidth}\n {...rest}>\n {renderIcon()}\n {notificationVariant && (\n <NotificationContainer>\n <NotificationDot size={Size.Medium} variant={notificationVariant}/>\n </NotificationContainer>\n )}\n </IconButton>\n </ProfileButtonContainer>\n );\n});\n\nexport default ProfileButton;\n"],"mappings":";;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,MAAM,MAAM,mBAAmB;AACtC,SAAQC,MAAM,EAAEC,UAAU,EAAEC,IAAI,QAAO,IAAI;AAC3C,SAAQC,uBAAuB,EAAEC,uBAAuB,QAAO,sBAAsB;AACrF,SAAQC,eAAe,QAAO,oBAAoB;AAClD,SAAQC,WAAW,EAAEC,UAAU,EAAEC,kBAAkB,QAAO,WAAW;AAAC;AAAA;AAAA;AAWtE,IAAMC,eAAe,GAAGV,MAAM,CAACW,GAAG,4NAIZV,MAAM,CAACW,KAAK,CAKjC;AAED,OAAO,IAAMC,sBAAsB,GAAGb,MAAM,CAACW,GAAG,gvBAM5CN,uBAAuB,EACZ,UAAAS,KAAK;EAAA,OAAKA,KAAK,CAACC,cAAc,GAAG,MAAM,GAAG,QAAQ;AAAA,CAAC,EAE5DR,WAAW,CAACS,MAAM,EAShBZ,uBAAuB,EACHH,MAAM,CAACgB,WAAW,EAG5BhB,MAAM,CAACiB,WAAW,EAO5BR,eAAe,EAQfA,eAAe,CAMtB;AAED,IAAMS,qBAAqB,GAAGnB,MAAM,CAACW,GAAG,gIAIvC;AAED,IAAMS,YAAY,GAAGpB,MAAM,CAACW,GAAG,uOAW9B;AAED,IAAMU,aAAa,gBAAGtB,KAAK,CAACuB,UAAU,CAAwC,gBAWIC,GAAG,EAAK;EAAA,IAVTC,WAAW,QAAXA,WAAW;IACXC,IAAI,QAAJA,IAAI;IACJC,QAAQ,QAARA,QAAQ;IACRC,OAAO,QAAPA,OAAO;IACPZ,cAAc,QAAdA,cAAc;IACda,QAAQ,QAARA,QAAQ;IACRC,mBAAmB,QAAnBA,mBAAmB;IACnBC,SAAS,QAATA,SAAS;IACTC,QAAQ,QAARA,QAAQ;IACLC,IAAI;EAEtF,IAAMC,UAAU,GAAG,SAAbA,UAAU,GAAS;IACvB,OACGT,WAAW,iBACV,MAAC,YAAY;MAAA,wBACX;QAAK,GAAG,EAAEA;MAAY,EAAE,eACxB,KAAC,eAAe,KAAE;IAAA,EAErB,IACAE,QAAQ,iBACP,KAAC,UAAU;MAAC,SAAS,EAAC,UAAU;MAAC,SAAS,EAAEjB,kBAAkB,CAACyB,IAAK;MACxD,KAAK,EAAEN,QAAQ,GAAG3B,MAAM,CAACiB,WAAW,GAAGjB,MAAM,CAACkC,KAAM;MAAA,UAC7DT;IAAQ,EAEX,iBAAI;MAAA,UAAGD;IAAI,EAAI;EAErB,CAAC;EAED,oBACE,KAAC,sBAAsB;IAAC,cAAc,EAAEV,cAAe;IAAA,uBACrD,MAAC,UAAU;MAAC,GAAG,EAAEQ,GAAI;MACT,SAAS,EAAEO,SAAU;MACrB,QAAQ,EAAEF,QAAS;MACnB,MAAM,EAAED,OAAQ;MAChB,OAAO,EAAC,SAAS;MACjB,QAAQ,EAAEI,QAAS;MACnB,KAAK,EAAC,UAAU;MAChB,cAAc,EAAEhB;IAAe,GAC3BiB,IAAI;MAAA,WACjBC,UAAU,EAAE,EACZJ,mBAAmB,iBAClB,KAAC,qBAAqB;QAAA,uBACpB,KAAC,eAAe;UAAC,IAAI,EAAE1B,IAAI,CAACiC,MAAO;UAAC,OAAO,EAAEP;QAAoB;MAAE,EAEtE;IAAA;EACU,EACU;AAE7B,CAAC,CAAC;AAAC;EApIDL,WAAW;EACXC,IAAI;EACJC,QAAQ;EACRC,OAAO;EACPE,mBAAmB,aAAG,UAAU,EAAG,UAAU;EAC7Cd,cAAc;AAAA;AAiIhB,eAAeM,aAAa"}
@@ -42,7 +42,8 @@ var Table = function Table(props) {
42
42
  _props$collapsed = props.collapsed,
43
43
  collapsed = _props$collapsed === void 0 ? true : _props$collapsed,
44
44
  collapsedRows = props.collapsedRows,
45
- rowsPerPageLabel = props.rowsPerPageLabel;
45
+ rowsPerPageLabel = props.rowsPerPageLabel,
46
+ loaderZIndex = props.loaderZIndex;
46
47
 
47
48
  // States used within the component
48
49
  var _React$useState = React.useState(10),
@@ -61,7 +62,7 @@ var Table = function Table(props) {
61
62
  _React$useState8 = (0, _slicedToArray2.default)(_React$useState7, 2),
62
63
  currentPage = _React$useState8[0],
63
64
  setCurrentPage = _React$useState8[1];
64
- var _React$useState9 = React.useState(sortProps),
65
+ var _React$useState9 = React.useState(),
65
66
  _React$useState10 = (0, _slicedToArray2.default)(_React$useState9, 2),
66
67
  sort = _React$useState10[0],
67
68
  setSort = _React$useState10[1];
@@ -90,7 +91,12 @@ var Table = function Table(props) {
90
91
  selected = _React$useState22[0],
91
92
  setSelected = _React$useState22[1];
92
93
  React.useEffect(function () {
93
- setSort(sortProps);
94
+ var _sortProps$column, _sortProps$direction;
95
+ setSort({
96
+ column: (_sortProps$column = sortProps === null || sortProps === void 0 ? void 0 : sortProps.column) !== null && _sortProps$column !== void 0 ? _sortProps$column : '',
97
+ direction: (_sortProps$direction = sortProps === null || sortProps === void 0 ? void 0 : sortProps.direction) !== null && _sortProps$direction !== void 0 ? _sortProps$direction : 'asc',
98
+ allowClearingSort: (sortProps === null || sortProps === void 0 ? void 0 : sortProps.allowClearingSort) === undefined ? true : sortProps.allowClearingSort
99
+ });
94
100
  }, [sortProps]);
95
101
  React.useEffect(function () {
96
102
  setSelected(props.selectedRows || (multiSelect ? [] : undefined));
@@ -228,7 +234,7 @@ var Table = function Table(props) {
228
234
  columnKey = column.key;
229
235
  sortDirection = 'asc';
230
236
  } else {
231
- if ((sort === null || sort === void 0 ? void 0 : sort.direction) === 'desc') {
237
+ if ((sort === null || sort === void 0 ? void 0 : sort.direction) === 'desc' && sort !== null && sort !== void 0 && sort.allowClearingSort) {
232
238
  columnKey = '';
233
239
  sortDirection = undefined;
234
240
  } else {
@@ -236,9 +242,14 @@ var Table = function Table(props) {
236
242
  sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';
237
243
  }
238
244
  }
239
- if (columnKey == '') setSort(undefined);else setSort({
245
+ if (columnKey == '') setSort({
246
+ column: '',
247
+ direction: 'asc',
248
+ allowClearingSort: sort === null || sort === void 0 ? void 0 : sort.allowClearingSort
249
+ });else setSort({
240
250
  column: columnKey,
241
- direction: sortDirection
251
+ direction: sortDirection,
252
+ allowClearingSort: sort === null || sort === void 0 ? void 0 : sort.allowClearingSort
242
253
  });
243
254
  remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);
244
255
  };
@@ -368,6 +379,7 @@ var Table = function Table(props) {
368
379
  nextPage: nextPage,
369
380
  prevPage: previousPage
370
381
  })), showLoadingIndicator && /*#__PURE__*/(0, _jsxRuntime.jsx)(_TableStyles.StyledTableSpinner, {
382
+ zindex: loaderZIndex,
371
383
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_LoadingIndicator.LoadingIndicator, {
372
384
  size: _types.Size.Medium
373
385
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Table.cjs","names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","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","direction","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Size","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\n accordion,\n collapsed = true,\n collapsedRows,\n rowsPerPageLabel\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 [sort, setSort] = React.useState<TableSortProps | undefined>(sortProps);\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 setSort(sortProps);\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc') {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort(undefined);\n else\n setSort({column: columnKey, direction: sortDirection!});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.cjs","names":["Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","loaderZIndex","React","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","column","direction","allowClearingSort","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","filterValue","key","toLowerCase","indexOf","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Size","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\n accordion,\n collapsed = true,\n\n collapsedRows,\n rowsPerPageLabel,\n loaderZIndex\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 [sort, setSort] = React.useState<TableSortProps | undefined>();\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 setSort({\n column: sortProps?.column ?? '', \n direction: sortProps?.direction ?? 'asc', \n allowClearingSort: sortProps?.allowClearingSort === undefined ? true : sortProps.allowClearingSort\n });\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc' && sort?.allowClearingSort) {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort({ column: '', direction: 'asc', allowClearingSort: sort?.allowClearingSort});\n else\n setSort({column: columnKey, direction: sortDirection!, allowClearingSort: sort?.allowClearingSort});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner zindex={loaderZIndex}>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":";;;;;;;;;;;AAGA;AAKA;AAKA;AAMA;AACA;AACA;AACA;AAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEpC,IAAMA,KAA0C,GAAG,SAA7CA,KAA0C,CAAIC,KAAiB,EAAK;EACxE,IACEC,mBAAmB,GAmBjBD,KAAK,CAnBPC,mBAAmB;IACnBC,eAAe,GAkBbF,KAAK,CAlBPE,eAAe;IACfC,mBAAmB,GAiBjBH,KAAK,CAjBPG,mBAAmB;IACnBC,sBAAsB,GAgBpBJ,KAAK,CAhBPI,sBAAsB;IACtBC,OAAO,GAeLL,KAAK,CAfPK,OAAO;IACPC,IAAI,GAcFN,KAAK,CAdPM,IAAI;IACJC,gBAAgB,GAadP,KAAK,CAbPO,gBAAgB;IAChBC,UAAU,GAYRR,KAAK,CAZPQ,UAAU;IACVC,oBAAoB,GAWlBT,KAAK,CAXPS,oBAAoB;IACpBC,UAAU,GAURV,KAAK,CAVPU,UAAU;IACVC,WAAW,GASTX,KAAK,CATPW,WAAW;IACXC,OAAO,GAQLZ,KAAK,CARPY,OAAO;IACPC,SAAS,GAOPb,KAAK,CAPPa,SAAS;IACTC,SAAS,GAMPd,KAAK,CANPc,SAAS;IAAA,mBAMPd,KAAK,CALPe,SAAS;IAATA,SAAS,iCAAG,IAAI;IAEhBC,aAAa,GAGXhB,KAAK,CAHPgB,aAAa;IACbC,gBAAgB,GAEdjB,KAAK,CAFPiB,gBAAgB;IAChBC,YAAY,GACVlB,KAAK,CADPkB,YAAY;;EAGd;EACA,sBAAsCC,KAAK,CAACC,QAAQ,CAAS,EAAE,CAAC;IAAA;IAAzDC,WAAW;IAAEC,cAAc;EAClC,uBAAwCH,KAAK,CAACC,QAAQ,CAAQ,EAAE,CAAC;IAAA;IAA1DG,YAAY;IAAEC,eAAe;EACpC,uBAA8CL,KAAK,CAACC,QAAQ,CAAQ,EAAE,CAAC;IAAA;IAAhEK,eAAe;IAAEC,kBAAkB;EAC1C,uBAAsCP,KAAK,CAACC,QAAQ,CAAS,CAAC,CAAC;IAAA;IAAxDO,WAAW;IAAEC,cAAc;EAClC,uBAAwBT,KAAK,CAACC,QAAQ,EAA8B;IAAA;IAA7DS,IAAI;IAAEC,OAAO;EACpB,wBAAwBX,KAAK,CAACC,QAAQ,EAAU;IAAA;IAAzCW,IAAI;IAAEC,OAAO;EACpB,wBAAoBb,KAAK,CAACC,QAAQ,EAAU;IAAA;IAArCa,EAAE;IAAEC,KAAK;EAChB,wBAA0Bf,KAAK,CAACC,QAAQ,EAAU;IAAA;IAA3Ce,KAAK;IAAEC,QAAQ;EAEtB,wBAAsCjB,KAAK,CAACC,QAAQ,CAAC,IAAI,CAAC;IAAA;IAAnDiB,WAAW;IAAEC,cAAc;EAElC,wBAA4CnB,KAAK,CAACC,QAAQ,CAA0B,MAAM,CAAC;IAAA;IAApFmB,cAAc;IAAEC,iBAAiB;EAExC,wBAAgCrB,KAAK,CAACC,QAAQ,CAAcT,WAAW,GAAG,EAAE,GAAG8B,SAAS,CAAC;IAAA;IAAlFC,QAAQ;IAAEC,WAAW;EAE5BxB,KAAK,CAACyB,SAAS,CAAC,YAAM;IAAA;IACpBd,OAAO,CAAC;MACNe,MAAM,uBAAEhC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgC,MAAM,iEAAI,EAAE;MAC/BC,SAAS,0BAAEjC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiC,SAAS,uEAAI,KAAK;MACxCC,iBAAiB,EAAE,CAAAlC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEkC,iBAAiB,MAAKN,SAAS,GAAG,IAAI,GAAG5B,SAAS,CAACkC;IACnF,CAAC,CAAC;EACJ,CAAC,EAAE,CAAClC,SAAS,CAAC,CAAC;EAEfM,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpBD,WAAW,CAAC3C,KAAK,CAACgD,YAAY,KAAKrC,WAAW,GAAG,EAAE,GAAG8B,SAAS,CAAC,CAAC;EACnE,CAAC,EAAE,CAACzC,KAAK,CAACgD,YAAY,EAAErC,WAAW,CAAC,CAAC;;EAErC;AACF;AACA;EACEQ,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpB,IAAIjC,WAAW,EAAE;MACf,IAAMsC,WAAW,GAAGxB,eAAe,CAACyB,GAAG,CAAC,UAAAC,GAAG;QAAA,OAAIvC,OAAO,GAAGuC,GAAG,CAACvC,OAAO,CAAC,GAAGuC,GAAG;MAAA,EAAC;MAC5E,IAAMC,KAAK,GAAGV,QAAQ,CAACW,MAAM,CAAC,UAACC,IAAS;QAAA,OAAKL,WAAW,CAACM,QAAQ,CAACD,IAAI,CAAC;MAAA,EAAC,CAACE,MAAM;MAE/EhB,iBAAiB,CAACY,KAAK,KAAKH,WAAW,CAACO,MAAM,GAAG,KAAK,GAAGJ,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;IACvF;EACF,CAAC,EAAE,CAAC3B,eAAe,EAAEd,WAAW,EAAE+B,QAAQ,EAAE9B,OAAO,CAAC,CAAC;;EAErD;AACF;AACA;AACA;EACEO,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpB,IAAIrC,gBAAgB,EAAE;MACpBmB,kBAAkB,CAACpB,IAAI,CAAC;;MAExB;MACA0B,OAAO,CAACxB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEuB,IAAI,CAAC;MACzBG,KAAK,CAAC1B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEyB,EAAE,CAAC;MACrBG,QAAQ,CAAC5B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE2B,KAAK,CAAC;MAC3BP,cAAc,CAACpB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmB,WAAW,CAAE;MACxCL,cAAc,CAACd,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEa,WAAW,CAAE;IAC1C;EACF,CAAC,EAAE,CAACd,gBAAgB,EAAEC,UAAU,EAAEF,IAAI,CAAC,CAAC;;EAExC;AACF;AACA;EACEa,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpB,IAAI,CAAC9B,SAAS,EAAE;IAEhBQ,cAAc,CAACe,WAAW,GAAGrB,aAAa,IAAI,EAAE,GAAGV,IAAI,CAACkD,MAAM,CAAC;EACjE,CAAC,EAAE,CAAClD,IAAI,EAAEQ,SAAS,EAAEE,aAAa,EAAEqB,WAAW,CAAC,CAAC;EAEjDlB,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpB,IAAI,CAAC9B,SAAS,EAAE;IAEhBwB,cAAc,CAAC,CAAC,CAACvB,SAAS,CAAC;EAC7B,CAAC,EAAE,CAACD,SAAS,EAAEC,SAAS,CAAC,CAAC;;EAE1B;AACF;AACA;AACA;EACE,IAAM0C,iBAAiB,GAAG,SAApBA,iBAAiB,GAAgB;IACrC,IAAIC,eAAe,GAAGpD,IAAI,CAAC+C,MAAM,CAAC,UAACF,GAAG,EAAK;MACzC;MACA,IAAIQ,mBAAmB,GAAG,IAAI;;MAE9B;MAAA,2CACqBtD,OAAO;QAAA;MAAA;QAA5B,oDAA8B;UAAA,IAAnBwC,MAAM;UACf;UACA;UACA;UACA,IAAIA,MAAM,CAACe,WAAW,IAAIT,GAAG,CAACN,MAAM,CAACgB,GAAG,CAAC,CAACC,WAAW,EAAE,CAACC,OAAO,CAAClB,MAAM,CAACe,WAAW,CAACE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;YACxGH,mBAAmB,GAAG,KAAK;UAC7B;QACF;;QAEA;MAAA;QAAA;MAAA;QAAA;MAAA;MACA,IAAIA,mBAAmB,EAAE;QACvB,OAAOR,GAAG;MACZ;IACF,CAAC,CAAC;;IAEF;IACA,IAAI,CAAC,EAACtB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgB,MAAM,KAAI,CAAC,EAAChB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEiB,SAAS,GAAE;MACvC;MACAY,eAAe,CAAC7B,IAAI,CAAC,UAACmC,CAAC,EAAEC,CAAC,EAAK;QAC7B,IAAID,CAAC,CAACnC,IAAI,CAACgB,MAAM,CAAE,GAAGoB,CAAC,CAACpC,IAAI,CAACgB,MAAM,CAAE,EAAE;UACrC,OAAOhB,IAAI,CAACiB,SAAS,KAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,MAAM,IAAIkB,CAAC,CAACnC,IAAI,CAACgB,MAAM,CAAE,GAAGoB,CAAC,CAACpC,IAAI,CAACgB,MAAM,CAAE,EAAE;UAC5C,OAAOhB,IAAI,CAACiB,SAAS,KAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAC3C,CAAC,MAAM;UACL,OAAO,CAAC;QACV;MACF,CAAC,CAAC;IACJ;;IAEA;IACA,OAAOY,eAAe;EACxB,CAAC;;EAED;AACF;AACA;AACA;EACEvC,KAAK,CAACyB,SAAS,CAAC,YAAM;IACpB,IAAI,CAACrC,gBAAgB,EAAE;MACrB;MACA,IAAMmD,eAAe,GAAGD,iBAAiB,EAAE;MAC3CjC,eAAe,CAACkC,eAAe,CAAC;MAChCtB,QAAQ,CAACsB,eAAe,CAACF,MAAM,CAAC;;MAEhC;MACA,IAAMU,QAAQ,GAAG,CAACvC,WAAW,GAAG,CAAC,IAAIN,WAAW;MAChD,IAAM8C,MAAM,GAAGD,QAAQ,GAAG7C,WAAW,IAAIqC,eAAe,CAACF,MAAM,GAAGE,eAAe,CAACF,MAAM,GAAGU,QAAQ,GAAG7C,WAAW;;MAEjH;MACAW,OAAO,CAACkC,QAAQ,GAAG,CAAC,CAAC;MACrBhC,KAAK,CAACiC,MAAM,CAAC;;MAEb;MACAzC,kBAAkB,CAACgC,eAAe,CAACU,KAAK,CAACF,QAAQ,EAAEC,MAAM,CAAC,CAAC;IAC7D;EACF,CAAC,EAAE,CAAC9C,WAAW,EAAEf,IAAI,EAAEqB,WAAW,EAAEtB,OAAO,EAAEwB,IAAI,EAAEtB,gBAAgB,CAAC,CAAC;;EAGrE;AACF;AACA;AACA;AACA;EACE,IAAM8D,eAAe,GAAG,SAAlBA,eAAe,CAAIxB,MAAmB,EAAW;IACrD,IAAIyB,SAAS,GAAG,EAAE;IAClB,IAAIC,aAAgD,GAAG9B,SAAS;IAEhE,IAAI,CAAAZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgB,MAAM,MAAKA,MAAM,CAACgB,GAAG,EAAE;MAC/BS,SAAS,GAAGzB,MAAM,CAACgB,GAAG;MACtBU,aAAa,GAAG,KAAK;IACvB,CAAC,MAAM;MACL,IAAI,CAAA1C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,SAAS,MAAK,MAAM,IAAIjB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEkB,iBAAiB,EAAE;QACzDuB,SAAS,GAAG,EAAE;QACdC,aAAa,GAAG9B,SAAS;MAC3B,CAAC,MAAM;QACL6B,SAAS,GAAGzC,IAAI,CAACgB,MAAM;QACvB0B,aAAa,GAAG1C,IAAI,CAACiB,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;MAC3D;IACF;IAEA,IAAGwB,SAAS,IAAI,EAAE,EAChBxC,OAAO,CAAC;MAAEe,MAAM,EAAE,EAAE;MAAEC,SAAS,EAAE,KAAK;MAAEC,iBAAiB,EAAElB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkB;IAAiB,CAAC,CAAC,CAAC,KAErFjB,OAAO,CAAC;MAACe,MAAM,EAAEyB,SAAS;MAAExB,SAAS,EAAEyB,aAAc;MAAExB,iBAAiB,EAAElB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkB;IAAiB,CAAC,CAAC;IAErGxC,gBAAgB,IAAIH,sBAAsB,IAAIA,sBAAsB,CAACkE,SAAS,EAAEC,aAAa,CAAC;EAChG,CAAC;;EAED;AACF;AACA;EACE,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzB,IAAIjE,gBAAgB,EAAE;MACpB;MACA,IAAIN,mBAAmB,EAAE;QACvBA,mBAAmB,EAAE;MACvB;IACF,CAAC,MAAM;MACL;MACA2B,cAAc,CAACD,WAAW,GAAG,CAAC,GAAGA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD;EACF,CAAC;;EAED;AACF;AACA;EACE,IAAM8C,QAAQ,GAAG,SAAXA,QAAQ,GAAS;IACrB,IAAIlE,gBAAgB,EAAE;MACpB;MACA,IAAIL,eAAe,EAAE;QACnBA,eAAe,EAAE;MACnB;IACF,CAAC,MAAM;MACL;MACA0B,cAAc,CAACD,WAAW,GAAGN,WAAW,IAAIE,YAAY,CAACiC,MAAM,GAAG7B,WAAW,GAAGA,WAAW,GAAG,CAAC,CAAC;IAClG;EACF,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAM+C,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,KAAa,EAAK;IAC3C;IACA,IAAIpE,gBAAgB,EAAE;MACpB;MACA,IAAIJ,mBAAmB,EAAE;QACvBA,mBAAmB,CAACwE,KAAK,CAAC;MAC5B;IACF,CAAC,MAAM;MACL;MACA/C,cAAc,CAAC,CAAC,CAAC;IACnB;;IAEA;IACAN,cAAc,CAACqD,KAAK,CAAC;EACvB,CAAC;;EAGD;AACF;AACA;AACA;EACE,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAIzB,GAAQ,EAAW;IAAA;IACrC,IAAM0B,YAAY,cAAGC,MAAM,oEAAN,QAAQC,YAAY,EAAE,yDAAtB,qBAAwBC,QAAQ,EAAE;IAEvD,IAAI,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAErB,MAAM,MAAK,CAAC,IAAI9C,UAAU,EAAE;MAC5C,IAAMiE,KAAK,GAAG/D,OAAO,GAAGuC,GAAG,CAACvC,OAAO,CAAC,GAAGuC,GAAG;MAC1C,IAAI8B,gBAAgB,GAAGN,KAAK;MAC5B,IAAI,CAAC,CAAChE,WAAW,EAAE;QACjB,IAAMuE,QAAQ,GAAGxC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqB,OAAO,CAACY,KAAK,CAAC;QACzC,IAAIO,QAAQ,GAAG,CAAC,CAAC,EAAE;UACjBD,gBAAgB,oCAAOvC,QAAQ,CAAC;UAChCuC,gBAAgB,CAACE,MAAM,CAACD,QAAQ,EAAE,CAAC,CAAC;QACtC,CAAC,MAAM;UACLD,gBAAgB,8CAAOvC,QAAQ,IAAEuC,gBAAgB,EAAC;QACpD;MACF;MAEAtC,WAAW,CAACsC,gBAAgB,CAAC;MAC7BjF,KAAK,CAACoF,iBAAiB,IAAIpF,KAAK,CAACoF,iBAAiB,CAACH,gBAAgB,CAAC;IACtE;EACF,CAAC;;EAED;AACF;AACA;EACE,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgB,GAAS;IAC7B,IAAMpC,WAAW,GAAGxB,eAAe,CAACyB,GAAG,CAAC,UAAAC,GAAG;MAAA,OAAIvC,OAAO,GAAGuC,GAAG,CAACvC,OAAO,CAAC,GAAGuC,GAAG;IAAA,EAAC;IAE5E,QAAQZ,cAAc;MACpB,KAAK,KAAK;QACRI,WAAW,CAAC,iCAAID,QAAQ,EAAEW,MAAM,CAAC,UAAAC,IAAI;UAAA,OAAI,CAACL,WAAW,CAACM,QAAQ,CAACD,IAAI,CAAC;QAAA,EAAC,CAAC;QACtEd,iBAAiB,CAAC,MAAM,CAAC;QACzB;MACF,KAAK,MAAM;QACTG,WAAW,4CAAKD,QAAQ,oCAAKO,WAAW,GAAE;QAC1CT,iBAAiB,CAAC,KAAK,CAAC;QACxB;MACF,KAAK,MAAM;QACTG,WAAW,4CAAKD,QAAQ,oCAAKO,WAAW,CAACI,MAAM,CAAC,UAAAC,IAAI;UAAA,OAAI,CAACZ,QAAQ,CAACa,QAAQ,CAACD,IAAI,CAAC;QAAA,EAAC,GAAE;QACnFd,iBAAiB,CAAC,KAAK,CAAC;QACxB;IAAM;EAEZ,CAAC;;EAED;AACF;AACA;EACE,oBACE,sBAAC,yBAAY;IAAC,SAAS,EAAExC,KAAK,CAACsF,MAAM,GAAG,QAAQ,GAAG7C,SAAU;IAAA,wBAC3D,qBAAC,qBAAW,oBAAKzC,KAAK,EAAG,eACzB,qBAAC,kBAAS,kCAAKA,KAAK;MACT,eAAe,EAAEyB,eAAgB;MACjC,QAAQ,EAAEiB,QAAS;MACnB,UAAU,EAAEkC,UAAW;MACvB,YAAY,EAAEP,eAAgB;MAC9B,gBAAgB,EAAEgB,gBAAiB;MACnC,SAAS,EAAExD,IAAK;MAChB,cAAc,EAAEU;IAAe,GAAE,eAC5C,qBAAC,oBAAW,kCAAKvC,KAAK;MACT,mBAAmB,EAAE0E,iBAAkB;MACvC,WAAW,EAAErD,WAAY;MACzB,cAAc,EAAEiB,cAAe;MAC/B,WAAW,EAAED,WAAY;MACzB,IAAI,EAAEN,IAAK;MACX,EAAE,EAAEE,EAAG;MACP,KAAK,EAAEE,KAAM;MACb,QAAQ,EAAEsC,QAAS;MACnB,QAAQ,EAAED;IAAa,GAAE,EACrC/D,oBAAoB,iBACnB,qBAAC,+BAAkB;MAAC,MAAM,EAAES,YAAa;MAAA,uBACvC,qBAAC,kCAAgB;QAAC,IAAI,EAAEqE,WAAI,CAACC;MAAO;IAAE,EAEzC;EAAA,EACY;AAEnB,CAAC;AAAC,eAEazF,KAAK;AAAA"}
@@ -49,7 +49,8 @@ var Table = function Table(props) {
49
49
  _props$collapsed = props.collapsed,
50
50
  collapsed = _props$collapsed === void 0 ? true : _props$collapsed,
51
51
  collapsedRows = props.collapsedRows,
52
- rowsPerPageLabel = props.rowsPerPageLabel;
52
+ rowsPerPageLabel = props.rowsPerPageLabel,
53
+ loaderZIndex = props.loaderZIndex;
53
54
 
54
55
  // States used within the component
55
56
  var _React$useState = React.useState(10),
@@ -68,7 +69,7 @@ var Table = function Table(props) {
68
69
  _React$useState8 = _slicedToArray(_React$useState7, 2),
69
70
  currentPage = _React$useState8[0],
70
71
  setCurrentPage = _React$useState8[1];
71
- var _React$useState9 = React.useState(sortProps),
72
+ var _React$useState9 = React.useState(),
72
73
  _React$useState10 = _slicedToArray(_React$useState9, 2),
73
74
  sort = _React$useState10[0],
74
75
  setSort = _React$useState10[1];
@@ -97,7 +98,12 @@ var Table = function Table(props) {
97
98
  selected = _React$useState22[0],
98
99
  setSelected = _React$useState22[1];
99
100
  React.useEffect(function () {
100
- setSort(sortProps);
101
+ var _sortProps$column, _sortProps$direction;
102
+ setSort({
103
+ column: (_sortProps$column = sortProps === null || sortProps === void 0 ? void 0 : sortProps.column) !== null && _sortProps$column !== void 0 ? _sortProps$column : '',
104
+ direction: (_sortProps$direction = sortProps === null || sortProps === void 0 ? void 0 : sortProps.direction) !== null && _sortProps$direction !== void 0 ? _sortProps$direction : 'asc',
105
+ allowClearingSort: (sortProps === null || sortProps === void 0 ? void 0 : sortProps.allowClearingSort) === undefined ? true : sortProps.allowClearingSort
106
+ });
101
107
  }, [sortProps]);
102
108
  React.useEffect(function () {
103
109
  setSelected(props.selectedRows || (multiSelect ? [] : undefined));
@@ -235,7 +241,7 @@ var Table = function Table(props) {
235
241
  columnKey = column.key;
236
242
  sortDirection = 'asc';
237
243
  } else {
238
- if ((sort === null || sort === void 0 ? void 0 : sort.direction) === 'desc') {
244
+ if ((sort === null || sort === void 0 ? void 0 : sort.direction) === 'desc' && sort !== null && sort !== void 0 && sort.allowClearingSort) {
239
245
  columnKey = '';
240
246
  sortDirection = undefined;
241
247
  } else {
@@ -243,9 +249,14 @@ var Table = function Table(props) {
243
249
  sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';
244
250
  }
245
251
  }
246
- if (columnKey == '') setSort(undefined);else setSort({
252
+ if (columnKey == '') setSort({
253
+ column: '',
254
+ direction: 'asc',
255
+ allowClearingSort: sort === null || sort === void 0 ? void 0 : sort.allowClearingSort
256
+ });else setSort({
247
257
  column: columnKey,
248
- direction: sortDirection
258
+ direction: sortDirection,
259
+ allowClearingSort: sort === null || sort === void 0 ? void 0 : sort.allowClearingSort
249
260
  });
250
261
  remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);
251
262
  };
@@ -375,6 +386,7 @@ var Table = function Table(props) {
375
386
  nextPage: nextPage,
376
387
  prevPage: previousPage
377
388
  })), showLoadingIndicator && /*#__PURE__*/_jsx(StyledTableSpinner, {
389
+ zindex: loaderZIndex,
378
390
  children: /*#__PURE__*/_jsx(LoadingIndicator, {
379
391
  size: Size.Medium
380
392
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","names":["React","Size","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","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","direction","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\n accordion,\n collapsed = true,\n collapsedRows,\n rowsPerPageLabel\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 [sort, setSort] = React.useState<TableSortProps | undefined>(sortProps);\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 setSort(sortProps);\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc') {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort(undefined);\n else\n setSort({column: columnKey, direction: sortDirection!});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Table.js","names":["React","Size","StyledTableSpinner","TableWrapper","LoadingIndicator","TableHeader","TableFooter","TableBody","Table","props","onPreviousPageClick","onNextPageClick","onRowsPerPageChange","onTriggerSortingChange","columns","rows","remoteOperations","pagination","showLoadingIndicator","selectable","multiSelect","keyExpr","sortProps","accordion","collapsed","collapsedRows","rowsPerPageLabel","loaderZIndex","useState","rowsPerPage","setRowsPerPage","filteredRows","setFilteredRows","currentPageRows","setCurrentPageRows","currentPage","setCurrentPage","sort","setSort","from","setFrom","to","setTo","total","setTotal","isCollapsed","setIsCollapsed","selectAllState","setSelectAllState","undefined","selected","setSelected","useEffect","column","direction","allowClearingSort","selectedRows","currentList","map","row","count","filter","item","includes","length","filterAndSortRows","tmpFilteredRows","matchFilterCriteria","filterValue","key","toLowerCase","indexOf","a","b","rowsFrom","rowsTo","slice","sortTableColumn","columnKey","sortDirection","previousPage","nextPage","changeRowsPerPage","value","onRowClick","selectedText","window","getSelection","toString","currentSelection","existing","splice","onSelectionChange","onSelectAllClick","border","Medium"],"sources":["../../src/Table/Table.tsx"],"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, TableSortProps} 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 sortProps,\n accordion,\n collapsed = true,\n\n collapsedRows,\n rowsPerPageLabel,\n loaderZIndex\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 [sort, setSort] = React.useState<TableSortProps | undefined>();\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 setSort({\n column: sortProps?.column ?? '', \n direction: sortProps?.direction ?? 'asc', \n allowClearingSort: sortProps?.allowClearingSort === undefined ? true : sortProps.allowClearingSort\n });\n }, [sortProps])\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 (!!sort?.column && !!sort?.direction) {\n // Let's sort the rows\n tmpFilteredRows.sort((a, b) => {\n if (a[sort.column!] > b[sort.column!]) {\n return sort.direction! === 'asc' ? 1 : -1;\n } else if (a[sort.column!] < b[sort.column!]) {\n return sort.direction! === '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, sort, 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 columnKey = '';\n let sortDirection: TableSortingDirection | undefined = undefined;\n\n if (sort?.column !== column.key) {\n columnKey = column.key;\n sortDirection = 'asc';\n } else {\n if (sort?.direction === 'desc' && sort?.allowClearingSort) {\n columnKey = '';\n sortDirection = undefined;\n } else {\n columnKey = sort.column;\n sortDirection = sort.direction === 'asc' ? 'desc' : 'asc';\n }\n }\n\n if(columnKey == '')\n setSort({ column: '', direction: 'asc', allowClearingSort: sort?.allowClearingSort});\n else\n setSort({column: columnKey, direction: sortDirection!, allowClearingSort: sort?.allowClearingSort});\n\n remoteOperations && onTriggerSortingChange && onTriggerSortingChange(columnKey, sortDirection);\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 className={props.border ? 'border' : undefined}>\n <TableHeader {...props}/>\n <TableBody {...props}\n currentPageRows={currentPageRows}\n selected={selected}\n onRowClick={onRowClick}\n sortByColumn={sortTableColumn}\n onSelectAllClick={onSelectAllClick}\n sortProps={sort}\n selectAllState={selectAllState}/>\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 {showLoadingIndicator && (\n <StyledTableSpinner zindex={loaderZIndex}>\n <LoadingIndicator size={Size.Medium}/>\n </StyledTableSpinner>\n )}\n </TableWrapper>\n );\n};\n\nexport default Table;\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;;AAE9B;AACA;AACA;AACA,SAAQC,IAAI,QAAO,UAAU;;AAE7B;AACA;AACA;AACA,SAAqBC,kBAAkB,EAAEC,YAAY,QAAO,eAAe;;AAE3E;AACA;AACA;;AAEA,SAAQC,gBAAgB,QAAO,qBAAqB;AACpD,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,SAAS,MAAM,aAAa;AAAC;AAAA;AAEpC,IAAMC,KAA0C,GAAG,SAA7CA,KAA0C,CAAIC,KAAiB,EAAK;EACxE,IACEC,mBAAmB,GAmBjBD,KAAK,CAnBPC,mBAAmB;IACnBC,eAAe,GAkBbF,KAAK,CAlBPE,eAAe;IACfC,mBAAmB,GAiBjBH,KAAK,CAjBPG,mBAAmB;IACnBC,sBAAsB,GAgBpBJ,KAAK,CAhBPI,sBAAsB;IACtBC,OAAO,GAeLL,KAAK,CAfPK,OAAO;IACPC,IAAI,GAcFN,KAAK,CAdPM,IAAI;IACJC,gBAAgB,GAadP,KAAK,CAbPO,gBAAgB;IAChBC,UAAU,GAYRR,KAAK,CAZPQ,UAAU;IACVC,oBAAoB,GAWlBT,KAAK,CAXPS,oBAAoB;IACpBC,UAAU,GAURV,KAAK,CAVPU,UAAU;IACVC,WAAW,GASTX,KAAK,CATPW,WAAW;IACXC,OAAO,GAQLZ,KAAK,CARPY,OAAO;IACPC,SAAS,GAOPb,KAAK,CAPPa,SAAS;IACTC,SAAS,GAMPd,KAAK,CANPc,SAAS;IAAA,mBAMPd,KAAK,CALPe,SAAS;IAATA,SAAS,iCAAG,IAAI;IAEhBC,aAAa,GAGXhB,KAAK,CAHPgB,aAAa;IACbC,gBAAgB,GAEdjB,KAAK,CAFPiB,gBAAgB;IAChBC,YAAY,GACVlB,KAAK,CADPkB,YAAY;;EAGd;EACA,sBAAsC3B,KAAK,CAAC4B,QAAQ,CAAS,EAAE,CAAC;IAAA;IAAzDC,WAAW;IAAEC,cAAc;EAClC,uBAAwC9B,KAAK,CAAC4B,QAAQ,CAAQ,EAAE,CAAC;IAAA;IAA1DG,YAAY;IAAEC,eAAe;EACpC,uBAA8ChC,KAAK,CAAC4B,QAAQ,CAAQ,EAAE,CAAC;IAAA;IAAhEK,eAAe;IAAEC,kBAAkB;EAC1C,uBAAsClC,KAAK,CAAC4B,QAAQ,CAAS,CAAC,CAAC;IAAA;IAAxDO,WAAW;IAAEC,cAAc;EAClC,uBAAwBpC,KAAK,CAAC4B,QAAQ,EAA8B;IAAA;IAA7DS,IAAI;IAAEC,OAAO;EACpB,wBAAwBtC,KAAK,CAAC4B,QAAQ,EAAU;IAAA;IAAzCW,IAAI;IAAEC,OAAO;EACpB,wBAAoBxC,KAAK,CAAC4B,QAAQ,EAAU;IAAA;IAArCa,EAAE;IAAEC,KAAK;EAChB,wBAA0B1C,KAAK,CAAC4B,QAAQ,EAAU;IAAA;IAA3Ce,KAAK;IAAEC,QAAQ;EAEtB,wBAAsC5C,KAAK,CAAC4B,QAAQ,CAAC,IAAI,CAAC;IAAA;IAAnDiB,WAAW;IAAEC,cAAc;EAElC,wBAA4C9C,KAAK,CAAC4B,QAAQ,CAA0B,MAAM,CAAC;IAAA;IAApFmB,cAAc;IAAEC,iBAAiB;EAExC,wBAAgChD,KAAK,CAAC4B,QAAQ,CAAcR,WAAW,GAAG,EAAE,GAAG6B,SAAS,CAAC;IAAA;IAAlFC,QAAQ;IAAEC,WAAW;EAE5BnD,KAAK,CAACoD,SAAS,CAAC,YAAM;IAAA;IACpBd,OAAO,CAAC;MACNe,MAAM,uBAAE/B,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAE+B,MAAM,iEAAI,EAAE;MAC/BC,SAAS,0BAAEhC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEgC,SAAS,uEAAI,KAAK;MACxCC,iBAAiB,EAAE,CAAAjC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEiC,iBAAiB,MAAKN,SAAS,GAAG,IAAI,GAAG3B,SAAS,CAACiC;IACnF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACjC,SAAS,CAAC,CAAC;EAEftB,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpBD,WAAW,CAAC1C,KAAK,CAAC+C,YAAY,KAAKpC,WAAW,GAAG,EAAE,GAAG6B,SAAS,CAAC,CAAC;EACnE,CAAC,EAAE,CAACxC,KAAK,CAAC+C,YAAY,EAAEpC,WAAW,CAAC,CAAC;;EAErC;AACF;AACA;EACEpB,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpB,IAAIhC,WAAW,EAAE;MACf,IAAMqC,WAAW,GAAGxB,eAAe,CAACyB,GAAG,CAAC,UAAAC,GAAG;QAAA,OAAItC,OAAO,GAAGsC,GAAG,CAACtC,OAAO,CAAC,GAAGsC,GAAG;MAAA,EAAC;MAC5E,IAAMC,KAAK,GAAGV,QAAQ,CAACW,MAAM,CAAC,UAACC,IAAS;QAAA,OAAKL,WAAW,CAACM,QAAQ,CAACD,IAAI,CAAC;MAAA,EAAC,CAACE,MAAM;MAE/EhB,iBAAiB,CAACY,KAAK,KAAKH,WAAW,CAACO,MAAM,GAAG,KAAK,GAAGJ,KAAK,GAAG,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC;IACvF;EACF,CAAC,EAAE,CAAC3B,eAAe,EAAEb,WAAW,EAAE8B,QAAQ,EAAE7B,OAAO,CAAC,CAAC;;EAErD;AACF;AACA;AACA;EACErB,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpB,IAAIpC,gBAAgB,EAAE;MACpBkB,kBAAkB,CAACnB,IAAI,CAAC;;MAExB;MACAyB,OAAO,CAACvB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEsB,IAAI,CAAC;MACzBG,KAAK,CAACzB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEwB,EAAE,CAAC;MACrBG,QAAQ,CAAC3B,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE0B,KAAK,CAAC;MAC3BP,cAAc,CAACnB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEkB,WAAW,CAAE;MACxCL,cAAc,CAACb,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEY,WAAW,CAAE;IAC1C;EACF,CAAC,EAAE,CAACb,gBAAgB,EAAEC,UAAU,EAAEF,IAAI,CAAC,CAAC;;EAExC;AACF;AACA;EACEf,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpB,IAAI,CAAC7B,SAAS,EAAE;IAEhBO,cAAc,CAACe,WAAW,GAAGpB,aAAa,IAAI,EAAE,GAAGV,IAAI,CAACiD,MAAM,CAAC;EACjE,CAAC,EAAE,CAACjD,IAAI,EAAEQ,SAAS,EAAEE,aAAa,EAAEoB,WAAW,CAAC,CAAC;EAEjD7C,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpB,IAAI,CAAC7B,SAAS,EAAE;IAEhBuB,cAAc,CAAC,CAAC,CAACtB,SAAS,CAAC;EAC7B,CAAC,EAAE,CAACD,SAAS,EAAEC,SAAS,CAAC,CAAC;;EAE1B;AACF;AACA;AACA;EACE,IAAMyC,iBAAiB,GAAG,SAApBA,iBAAiB,GAAgB;IACrC,IAAIC,eAAe,GAAGnD,IAAI,CAAC8C,MAAM,CAAC,UAACF,GAAG,EAAK;MACzC;MACA,IAAIQ,mBAAmB,GAAG,IAAI;;MAE9B;MAAA,2CACqBrD,OAAO;QAAA;MAAA;QAA5B,oDAA8B;UAAA,IAAnBuC,MAAM;UACf;UACA;UACA;UACA,IAAIA,MAAM,CAACe,WAAW,IAAIT,GAAG,CAACN,MAAM,CAACgB,GAAG,CAAC,CAACC,WAAW,EAAE,CAACC,OAAO,CAAClB,MAAM,CAACe,WAAW,CAACE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;YACxGH,mBAAmB,GAAG,KAAK;UAC7B;QACF;;QAEA;MAAA;QAAA;MAAA;QAAA;MAAA;MACA,IAAIA,mBAAmB,EAAE;QACvB,OAAOR,GAAG;MACZ;IACF,CAAC,CAAC;;IAEF;IACA,IAAI,CAAC,EAACtB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgB,MAAM,KAAI,CAAC,EAAChB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEiB,SAAS,GAAE;MACvC;MACAY,eAAe,CAAC7B,IAAI,CAAC,UAACmC,CAAC,EAAEC,CAAC,EAAK;QAC7B,IAAID,CAAC,CAACnC,IAAI,CAACgB,MAAM,CAAE,GAAGoB,CAAC,CAACpC,IAAI,CAACgB,MAAM,CAAE,EAAE;UACrC,OAAOhB,IAAI,CAACiB,SAAS,KAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,MAAM,IAAIkB,CAAC,CAACnC,IAAI,CAACgB,MAAM,CAAE,GAAGoB,CAAC,CAACpC,IAAI,CAACgB,MAAM,CAAE,EAAE;UAC5C,OAAOhB,IAAI,CAACiB,SAAS,KAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC;QAC3C,CAAC,MAAM;UACL,OAAO,CAAC;QACV;MACF,CAAC,CAAC;IACJ;;IAEA;IACA,OAAOY,eAAe;EACxB,CAAC;;EAED;AACF;AACA;AACA;EACElE,KAAK,CAACoD,SAAS,CAAC,YAAM;IACpB,IAAI,CAACpC,gBAAgB,EAAE;MACrB;MACA,IAAMkD,eAAe,GAAGD,iBAAiB,EAAE;MAC3CjC,eAAe,CAACkC,eAAe,CAAC;MAChCtB,QAAQ,CAACsB,eAAe,CAACF,MAAM,CAAC;;MAEhC;MACA,IAAMU,QAAQ,GAAG,CAACvC,WAAW,GAAG,CAAC,IAAIN,WAAW;MAChD,IAAM8C,MAAM,GAAGD,QAAQ,GAAG7C,WAAW,IAAIqC,eAAe,CAACF,MAAM,GAAGE,eAAe,CAACF,MAAM,GAAGU,QAAQ,GAAG7C,WAAW;;MAEjH;MACAW,OAAO,CAACkC,QAAQ,GAAG,CAAC,CAAC;MACrBhC,KAAK,CAACiC,MAAM,CAAC;;MAEb;MACAzC,kBAAkB,CAACgC,eAAe,CAACU,KAAK,CAACF,QAAQ,EAAEC,MAAM,CAAC,CAAC;IAC7D;EACF,CAAC,EAAE,CAAC9C,WAAW,EAAEd,IAAI,EAAEoB,WAAW,EAAErB,OAAO,EAAEuB,IAAI,EAAErB,gBAAgB,CAAC,CAAC;;EAGrE;AACF;AACA;AACA;AACA;EACE,IAAM6D,eAAe,GAAG,SAAlBA,eAAe,CAAIxB,MAAmB,EAAW;IACrD,IAAIyB,SAAS,GAAG,EAAE;IAClB,IAAIC,aAAgD,GAAG9B,SAAS;IAEhE,IAAI,CAAAZ,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEgB,MAAM,MAAKA,MAAM,CAACgB,GAAG,EAAE;MAC/BS,SAAS,GAAGzB,MAAM,CAACgB,GAAG;MACtBU,aAAa,GAAG,KAAK;IACvB,CAAC,MAAM;MACL,IAAI,CAAA1C,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEiB,SAAS,MAAK,MAAM,IAAIjB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEkB,iBAAiB,EAAE;QACzDuB,SAAS,GAAG,EAAE;QACdC,aAAa,GAAG9B,SAAS;MAC3B,CAAC,MAAM;QACL6B,SAAS,GAAGzC,IAAI,CAACgB,MAAM;QACvB0B,aAAa,GAAG1C,IAAI,CAACiB,SAAS,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK;MAC3D;IACF;IAEA,IAAGwB,SAAS,IAAI,EAAE,EAChBxC,OAAO,CAAC;MAAEe,MAAM,EAAE,EAAE;MAAEC,SAAS,EAAE,KAAK;MAAEC,iBAAiB,EAAElB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkB;IAAiB,CAAC,CAAC,CAAC,KAErFjB,OAAO,CAAC;MAACe,MAAM,EAAEyB,SAAS;MAAExB,SAAS,EAAEyB,aAAc;MAAExB,iBAAiB,EAAElB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEkB;IAAiB,CAAC,CAAC;IAErGvC,gBAAgB,IAAIH,sBAAsB,IAAIA,sBAAsB,CAACiE,SAAS,EAAEC,aAAa,CAAC;EAChG,CAAC;;EAED;AACF;AACA;EACE,IAAMC,YAAY,GAAG,SAAfA,YAAY,GAAS;IACzB,IAAIhE,gBAAgB,EAAE;MACpB;MACA,IAAIN,mBAAmB,EAAE;QACvBA,mBAAmB,EAAE;MACvB;IACF,CAAC,MAAM;MACL;MACA0B,cAAc,CAACD,WAAW,GAAG,CAAC,GAAGA,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD;EACF,CAAC;;EAED;AACF;AACA;EACE,IAAM8C,QAAQ,GAAG,SAAXA,QAAQ,GAAS;IACrB,IAAIjE,gBAAgB,EAAE;MACpB;MACA,IAAIL,eAAe,EAAE;QACnBA,eAAe,EAAE;MACnB;IACF,CAAC,MAAM;MACL;MACAyB,cAAc,CAACD,WAAW,GAAGN,WAAW,IAAIE,YAAY,CAACiC,MAAM,GAAG7B,WAAW,GAAGA,WAAW,GAAG,CAAC,CAAC;IAClG;EACF,CAAC;;EAED;AACF;AACA;AACA;EACE,IAAM+C,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,KAAa,EAAK;IAC3C;IACA,IAAInE,gBAAgB,EAAE;MACpB;MACA,IAAIJ,mBAAmB,EAAE;QACvBA,mBAAmB,CAACuE,KAAK,CAAC;MAC5B;IACF,CAAC,MAAM;MACL;MACA/C,cAAc,CAAC,CAAC,CAAC;IACnB;;IAEA;IACAN,cAAc,CAACqD,KAAK,CAAC;EACvB,CAAC;;EAGD;AACF;AACA;AACA;EACE,IAAMC,UAAU,GAAG,SAAbA,UAAU,CAAIzB,GAAQ,EAAW;IAAA;IACrC,IAAM0B,YAAY,cAAGC,MAAM,oEAAN,QAAQC,YAAY,EAAE,yDAAtB,qBAAwBC,QAAQ,EAAE;IAEvD,IAAI,CAAAH,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAErB,MAAM,MAAK,CAAC,IAAI7C,UAAU,EAAE;MAC5C,IAAMgE,KAAK,GAAG9D,OAAO,GAAGsC,GAAG,CAACtC,OAAO,CAAC,GAAGsC,GAAG;MAC1C,IAAI8B,gBAAgB,GAAGN,KAAK;MAC5B,IAAI,CAAC,CAAC/D,WAAW,EAAE;QACjB,IAAMsE,QAAQ,GAAGxC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqB,OAAO,CAACY,KAAK,CAAC;QACzC,IAAIO,QAAQ,GAAG,CAAC,CAAC,EAAE;UACjBD,gBAAgB,sBAAOvC,QAAQ,CAAC;UAChCuC,gBAAgB,CAACE,MAAM,CAACD,QAAQ,EAAE,CAAC,CAAC;QACtC,CAAC,MAAM;UACLD,gBAAgB,gCAAOvC,QAAQ,IAAEuC,gBAAgB,EAAC;QACpD;MACF;MAEAtC,WAAW,CAACsC,gBAAgB,CAAC;MAC7BhF,KAAK,CAACmF,iBAAiB,IAAInF,KAAK,CAACmF,iBAAiB,CAACH,gBAAgB,CAAC;IACtE;EACF,CAAC;;EAED;AACF;AACA;EACE,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgB,GAAS;IAC7B,IAAMpC,WAAW,GAAGxB,eAAe,CAACyB,GAAG,CAAC,UAAAC,GAAG;MAAA,OAAItC,OAAO,GAAGsC,GAAG,CAACtC,OAAO,CAAC,GAAGsC,GAAG;IAAA,EAAC;IAE5E,QAAQZ,cAAc;MACpB,KAAK,KAAK;QACRI,WAAW,CAAC,mBAAID,QAAQ,EAAEW,MAAM,CAAC,UAAAC,IAAI;UAAA,OAAI,CAACL,WAAW,CAACM,QAAQ,CAACD,IAAI,CAAC;QAAA,EAAC,CAAC;QACtEd,iBAAiB,CAAC,MAAM,CAAC;QACzB;MACF,KAAK,MAAM;QACTG,WAAW,8BAAKD,QAAQ,sBAAKO,WAAW,GAAE;QAC1CT,iBAAiB,CAAC,KAAK,CAAC;QACxB;MACF,KAAK,MAAM;QACTG,WAAW,8BAAKD,QAAQ,sBAAKO,WAAW,CAACI,MAAM,CAAC,UAAAC,IAAI;UAAA,OAAI,CAACZ,QAAQ,CAACa,QAAQ,CAACD,IAAI,CAAC;QAAA,EAAC,GAAE;QACnFd,iBAAiB,CAAC,KAAK,CAAC;QACxB;IAAM;EAEZ,CAAC;;EAED;AACF;AACA;EACE,oBACE,MAAC,YAAY;IAAC,SAAS,EAAEvC,KAAK,CAACqF,MAAM,GAAG,QAAQ,GAAG7C,SAAU;IAAA,wBAC3D,KAAC,WAAW,oBAAKxC,KAAK,EAAG,eACzB,KAAC,SAAS,kCAAKA,KAAK;MACT,eAAe,EAAEwB,eAAgB;MACjC,QAAQ,EAAEiB,QAAS;MACnB,UAAU,EAAEkC,UAAW;MACvB,YAAY,EAAEP,eAAgB;MAC9B,gBAAgB,EAAEgB,gBAAiB;MACnC,SAAS,EAAExD,IAAK;MAChB,cAAc,EAAEU;IAAe,GAAE,eAC5C,KAAC,WAAW,kCAAKtC,KAAK;MACT,mBAAmB,EAAEyE,iBAAkB;MACvC,WAAW,EAAErD,WAAY;MACzB,cAAc,EAAEiB,cAAe;MAC/B,WAAW,EAAED,WAAY;MACzB,IAAI,EAAEN,IAAK;MACX,EAAE,EAAEE,EAAG;MACP,KAAK,EAAEE,KAAM;MACb,QAAQ,EAAEsC,QAAS;MACnB,QAAQ,EAAED;IAAa,GAAE,EACrC9D,oBAAoB,iBACnB,KAAC,kBAAkB;MAAC,MAAM,EAAES,YAAa;MAAA,uBACvC,KAAC,gBAAgB;QAAC,IAAI,EAAE1B,IAAI,CAAC8F;MAAO;IAAE,EAEzC;EAAA,EACY;AAEnB,CAAC;AAED,eAAevF,KAAK"}
@@ -59,7 +59,10 @@ var StyledTableFooterCurrentInfo = _styledComponents.default.span(_templateObjec
59
59
  exports.StyledTableFooterCurrentInfo = StyledTableFooterCurrentInfo;
60
60
  var StyledTableFooterControls = _styledComponents.default.div(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n"])));
61
61
  exports.StyledTableFooterControls = StyledTableFooterControls;
62
- var StyledTableSpinner = _styledComponents.default.div(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ", ";\n"])), _zIndexes.Z_INDEXES.backdrop);
62
+ var StyledTableSpinner = _styledComponents.default.div(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2.default)(["\n height: 100%;\n width: 100%;\n position: absolute;\n background-color: rgba(255, 255, 255, 0.75);\n top: 0;\n z-index: ", ";\n"])), function (props) {
63
+ var _props$zindex;
64
+ return (_props$zindex = props.zindex) !== null && _props$zindex !== void 0 ? _props$zindex : _zIndexes.Z_INDEXES.loader;
65
+ });
63
66
  exports.StyledTableSpinner = StyledTableSpinner;
64
67
  var StyledTableFooterCollapseButton = _styledComponents.default.button(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2.default)(["\n position: relative;\n border-bottom: 1px solid ", ";\n border-top: 1px solid ", ";\n border-left: none;\n border-right: none;\n box-sizing: border-box;\n min-height: 48px;\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: center;\n gap: 4px;\n background: ", ";\n\n cursor: pointer;\n\n ", "\n \n &:focus {\n ", "\n }\n\n &:hover {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:active {\n z-index: ", ";\n background: ", ";\n color: ", ";\n }\n\n &:disabled {\n display: none;\n }\n\n"])), _styles.COLORS.neutral_200, _styles.COLORS.neutral_200, _styles.COLORS.white, (0, _typography.ComponentMStyling)(_typography.ComponentTextStyle.Bold, _styles.COLORS.neutral_600), _styles.focusStyles, _zIndexes.Z_INDEXES.hover, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _zIndexes.Z_INDEXES.active, _styles.COLORS.primary_100, _styles.COLORS.primary_800);
65
68
  exports.StyledTableFooterCollapseButton = StyledTableFooterCollapseButton;