@paperless/core 2.15.2 → 2.16.0

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 (166) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/build/index.esm.js +1 -1
  3. package/dist/{paperless/p-168e8d5c.entry.js → build/p-133e281e.entry.js} +2 -2
  4. package/dist/build/{p-95d812ef.entry.js → p-2d456ab7.entry.js} +2 -2
  5. package/dist/build/p-61633f23.entry.js +2 -0
  6. package/dist/build/p-61633f23.entry.js.map +1 -0
  7. package/dist/build/p-7c0fb43f.js +2 -0
  8. package/dist/build/{p-13549fce.entry.js → p-7dc22659.entry.js} +2 -2
  9. package/dist/build/p-C-WRzhFe.js +2 -0
  10. package/dist/build/p-C-WRzhFe.js.map +1 -0
  11. package/dist/build/p-ab66da44.entry.js +2 -0
  12. package/dist/build/p-ab66da44.entry.js.map +1 -0
  13. package/dist/build/p-b94bc701.entry.js +2 -0
  14. package/dist/build/p-b94bc701.entry.js.map +1 -0
  15. package/dist/build/p-c59b1d50.entry.js +2 -0
  16. package/dist/build/p-c59b1d50.entry.js.map +1 -0
  17. package/dist/build/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
  18. package/dist/build/p-table-column.entry.esm.js.map +1 -1
  19. package/dist/build/p-table-extra-header.entry.esm.js.map +1 -0
  20. package/dist/build/p-table.entry.esm.js.map +1 -1
  21. package/dist/build/paperless.esm.js +1 -1
  22. package/dist/cjs/index-Bt6zTh_b.js +4 -0
  23. package/dist/cjs/index.cjs.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.cjs.js.map +1 -1
  26. package/dist/cjs/p-empty-state_8.cjs.entry.js +35 -21
  27. package/dist/cjs/p-empty-state_8.cjs.entry.js.map +1 -1
  28. package/dist/cjs/p-listing.cjs.entry.js +2 -2
  29. package/dist/cjs/p-navbar.cjs.entry.js +1 -1
  30. package/dist/cjs/p-table-column.cjs.entry.js +4 -0
  31. package/dist/cjs/p-table-column.cjs.entry.js.map +1 -1
  32. package/dist/cjs/p-table-column.entry.cjs.js.map +1 -1
  33. package/dist/cjs/p-table-extra-header.cjs.entry.js +49 -0
  34. package/dist/cjs/p-table-extra-header.cjs.entry.js.map +1 -0
  35. package/dist/cjs/p-table-extra-header.entry.cjs.js.map +1 -0
  36. package/dist/cjs/p-table.cjs.entry.js +20 -4
  37. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  38. package/dist/cjs/p-table.entry.cjs.js.map +1 -1
  39. package/dist/cjs/p-toast.cjs.entry.js +1 -1
  40. package/dist/cjs/paperless.cjs.js +1 -1
  41. package/dist/cjs/{table-helpers-DyPa1NIG.js → table-helpers-Du9NM7La.js} +7 -4
  42. package/dist/cjs/table-helpers-Du9NM7La.js.map +1 -0
  43. package/dist/collection/collection-manifest.json +1 -0
  44. package/dist/collection/components/helpers/table/column/table-column.component.js +26 -2
  45. package/dist/collection/components/helpers/table/column/table-column.component.js.map +1 -1
  46. package/dist/collection/components/helpers/table/extra-header/table-extra-header.component.js +189 -0
  47. package/dist/collection/components/helpers/table/extra-header/table-extra-header.component.js.map +1 -0
  48. package/dist/collection/components/molecules/table/cell/table-cell.component.css +1 -1
  49. package/dist/collection/components/molecules/table/cell/table-cell.component.js +29 -5
  50. package/dist/collection/components/molecules/table/cell/table-cell.component.js.map +1 -1
  51. package/dist/collection/components/molecules/table/footer/table-footer.component.js +2 -2
  52. package/dist/collection/components/molecules/table/header/table-header.component.js +4 -4
  53. package/dist/collection/components/molecules/table/header/table-header.component.js.map +1 -1
  54. package/dist/collection/components/molecules/table/row/table-row.component.css +1 -1
  55. package/dist/collection/components/molecules/table/row/table-row.component.js +21 -11
  56. package/dist/collection/components/molecules/table/row/table-row.component.js.map +1 -1
  57. package/dist/collection/components/molecules/toast/toast.component.js +1 -1
  58. package/dist/collection/components/organisms/listing/listing.component.js +2 -2
  59. package/dist/collection/components/organisms/navbar/navbar.component.js +1 -1
  60. package/dist/collection/components/organisms/table/table.component.js +20 -3
  61. package/dist/collection/components/organisms/table/table.component.js.map +1 -1
  62. package/dist/collection/utils/table-helpers.js +5 -2
  63. package/dist/collection/utils/table-helpers.js.map +1 -1
  64. package/dist/components/index.js +1 -1
  65. package/dist/components/{p-DjVT03PN.js → p-BnFffAKh.js} +4 -4
  66. package/dist/components/{p-DjVT03PN.js.map → p-BnFffAKh.js.map} +1 -1
  67. package/dist/components/{p-1KS1K8BB.js → p-CT2cHZ7O.js} +7 -4
  68. package/dist/components/p-CT2cHZ7O.js.map +1 -0
  69. package/dist/components/{p-BJ_tiVQ2.js → p-C_WKf2Pq.js} +6 -6
  70. package/dist/components/{p-BJ_tiVQ2.js.map → p-C_WKf2Pq.js.map} +1 -1
  71. package/dist/components/p-DuBiYXDO.js +148 -0
  72. package/dist/components/p-DuBiYXDO.js.map +1 -0
  73. package/dist/components/p-Dyc4CMNs.js +124 -0
  74. package/dist/components/p-Dyc4CMNs.js.map +1 -0
  75. package/dist/components/p-listing.js +2 -2
  76. package/dist/components/p-navbar.js +1 -1
  77. package/dist/components/p-table-cell.js +1 -1
  78. package/dist/components/p-table-column.js +5 -0
  79. package/dist/components/p-table-column.js.map +1 -1
  80. package/dist/components/p-table-extra-header.d.ts +11 -0
  81. package/dist/components/p-table-extra-header.js +72 -0
  82. package/dist/components/p-table-extra-header.js.map +1 -0
  83. package/dist/components/p-table-footer.js +1 -1
  84. package/dist/components/p-table-header.js +1 -1
  85. package/dist/components/p-table-row.js +1 -1
  86. package/dist/components/p-table.js +25 -8
  87. package/dist/components/p-table.js.map +1 -1
  88. package/dist/components/p-toast.js +1 -1
  89. package/dist/esm/index-Dpmiv2da.js +4 -0
  90. package/dist/esm/index.js +1 -1
  91. package/dist/esm/loader.js +1 -1
  92. package/dist/esm/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.js.map +1 -1
  93. package/dist/esm/p-empty-state_8.entry.js +35 -21
  94. package/dist/esm/p-empty-state_8.entry.js.map +1 -1
  95. package/dist/esm/p-listing.entry.js +2 -2
  96. package/dist/esm/p-navbar.entry.js +1 -1
  97. package/dist/esm/p-table-column.entry.js +4 -0
  98. package/dist/esm/p-table-column.entry.js.map +1 -1
  99. package/dist/esm/p-table-extra-header.entry.js +47 -0
  100. package/dist/esm/p-table-extra-header.entry.js.map +1 -0
  101. package/dist/esm/p-table.entry.js +20 -4
  102. package/dist/esm/p-table.entry.js.map +1 -1
  103. package/dist/esm/p-toast.entry.js +1 -1
  104. package/dist/esm/paperless.js +1 -1
  105. package/dist/esm/{table-helpers-Cx32XkzF.js → table-helpers-DozDU2EV.js} +7 -4
  106. package/dist/esm/table-helpers-DozDU2EV.js.map +1 -0
  107. package/dist/index.html +1 -1
  108. package/dist/paperless/index.esm.js +1 -1
  109. package/dist/{build/p-168e8d5c.entry.js → paperless/p-133e281e.entry.js} +2 -2
  110. package/dist/paperless/{p-95d812ef.entry.js → p-2d456ab7.entry.js} +2 -2
  111. package/dist/paperless/p-61633f23.entry.js +2 -0
  112. package/dist/paperless/p-61633f23.entry.js.map +1 -0
  113. package/dist/paperless/{p-13549fce.entry.js → p-7dc22659.entry.js} +2 -2
  114. package/dist/paperless/p-C-WRzhFe.js +2 -0
  115. package/dist/paperless/p-C-WRzhFe.js.map +1 -0
  116. package/dist/paperless/p-ab66da44.entry.js +2 -0
  117. package/dist/paperless/p-ab66da44.entry.js.map +1 -0
  118. package/dist/paperless/p-b94bc701.entry.js +2 -0
  119. package/dist/paperless/p-b94bc701.entry.js.map +1 -0
  120. package/dist/paperless/p-c59b1d50.entry.js +2 -0
  121. package/dist/paperless/p-c59b1d50.entry.js.map +1 -0
  122. package/dist/paperless/p-empty-state.p-floating-menu-container.p-table-cell.p-table-container.p-table-footer.p-table-header.p-table-row.p-table-row-actions-container.entry.esm.js.map +1 -1
  123. package/dist/paperless/p-table-column.entry.esm.js.map +1 -1
  124. package/dist/paperless/p-table-extra-header.entry.esm.js.map +1 -0
  125. package/dist/paperless/p-table.entry.esm.js.map +1 -1
  126. package/dist/paperless/paperless.esm.js +1 -1
  127. package/dist/sw.js +1 -1
  128. package/dist/sw.js.map +1 -1
  129. package/dist/types/components/helpers/table/column/table-column.component.d.ts +5 -1
  130. package/dist/types/components/helpers/table/extra-header/table-extra-header.component.d.ts +34 -0
  131. package/dist/types/components/molecules/table/cell/table-cell.component.d.ts +5 -1
  132. package/dist/types/components/molecules/table/row/table-row.component.d.ts +1 -1
  133. package/dist/types/components/organisms/table/table.component.d.ts +3 -0
  134. package/dist/types/components.d.ts +114 -6
  135. package/dist/types/utils/table-helpers.d.ts +2 -2
  136. package/package.json +1 -1
  137. package/dist/build/p-367d1ec2.entry.js +0 -2
  138. package/dist/build/p-367d1ec2.entry.js.map +0 -1
  139. package/dist/build/p-D8FNwRNH.js +0 -2
  140. package/dist/build/p-D8FNwRNH.js.map +0 -1
  141. package/dist/build/p-a7d047a4.entry.js +0 -2
  142. package/dist/build/p-a7d047a4.entry.js.map +0 -1
  143. package/dist/build/p-c8c51618.entry.js +0 -2
  144. package/dist/build/p-c8c51618.entry.js.map +0 -1
  145. package/dist/build/p-f967fae6.js +0 -2
  146. package/dist/cjs/table-helpers-DyPa1NIG.js.map +0 -1
  147. package/dist/components/p-1KS1K8BB.js.map +0 -1
  148. package/dist/components/p-BORmwkco.js +0 -138
  149. package/dist/components/p-BORmwkco.js.map +0 -1
  150. package/dist/components/p-Q0QulP11.js +0 -119
  151. package/dist/components/p-Q0QulP11.js.map +0 -1
  152. package/dist/esm/table-helpers-Cx32XkzF.js.map +0 -1
  153. package/dist/paperless/p-367d1ec2.entry.js +0 -2
  154. package/dist/paperless/p-367d1ec2.entry.js.map +0 -1
  155. package/dist/paperless/p-D8FNwRNH.js +0 -2
  156. package/dist/paperless/p-D8FNwRNH.js.map +0 -1
  157. package/dist/paperless/p-a7d047a4.entry.js +0 -2
  158. package/dist/paperless/p-a7d047a4.entry.js.map +0 -1
  159. package/dist/paperless/p-c8c51618.entry.js +0 -2
  160. package/dist/paperless/p-c8c51618.entry.js.map +0 -1
  161. /package/dist/build/{p-168e8d5c.entry.js.map → p-133e281e.entry.js.map} +0 -0
  162. /package/dist/build/{p-95d812ef.entry.js.map → p-2d456ab7.entry.js.map} +0 -0
  163. /package/dist/build/{p-13549fce.entry.js.map → p-7dc22659.entry.js.map} +0 -0
  164. /package/dist/paperless/{p-168e8d5c.entry.js.map → p-133e281e.entry.js.map} +0 -0
  165. /package/dist/paperless/{p-95d812ef.entry.js.map → p-2d456ab7.entry.js.map} +0 -0
  166. /package/dist/paperless/{p-13549fce.entry.js.map → p-7dc22659.entry.js.map} +0 -0
@@ -6,11 +6,8 @@ const row = cva(['flex min-w-[calc(100%-0.5rem)] flex-col', 'group', 'relative']
6
6
  variants: {
7
7
  variant: {
8
8
  default: ['px-3 m-1', 'text-sm text-storm-500', 'dark:text-white'],
9
- header: [
10
- 'px-4',
11
- 'text-xs font-normal text-storm-400',
12
- 'dark:text-hurricane-200',
13
- ],
9
+ header: null,
10
+ 'header-secondary': 'bg-off-white-300 dark:bg-hurricane-400 rounded-lg mb-4',
14
11
  secondary: [
15
12
  'px-4',
16
13
  'bg-off-white-300 rounded-lg',
@@ -47,6 +44,14 @@ const row = cva(['flex min-w-[calc(100%-0.5rem)] flex-col', 'group', 'relative']
47
44
  'bg-off-white-300 dark:bg-hurricane-400 dark:hover:bg-hurricane-400',
48
45
  ],
49
46
  },
47
+ {
48
+ variant: ['header', 'header-secondary'],
49
+ class: [
50
+ 'px-4',
51
+ 'text-xs font-normal text-storm-400',
52
+ 'dark:text-hurricane-200',
53
+ ],
54
+ },
50
55
  ],
51
56
  });
52
57
  const content = cva('relative flex min-w-full flex-nowrap items-center justify-between', {
@@ -54,7 +59,8 @@ const content = cva('relative flex min-w-full flex-nowrap items-center justify-b
54
59
  variant: {
55
60
  default: null,
56
61
  secondary: null,
57
- header: 'min-h-0 pb-4',
62
+ header: 'pb-4',
63
+ 'header-secondary': 'py-2',
58
64
  },
59
65
  },
60
66
  compoundVariants: [
@@ -62,6 +68,10 @@ const content = cva('relative flex min-w-full flex-nowrap items-center justify-b
62
68
  variant: ['default', 'secondary'],
63
69
  class: 'min-h-14 py-2 tablet:py-4',
64
70
  },
71
+ {
72
+ variant: ['header', 'header-secondary'],
73
+ class: 'min-h-0',
74
+ },
65
75
  ],
66
76
  });
67
77
  const actions = cva([
@@ -88,13 +98,13 @@ export class TableRow {
88
98
  */
89
99
  isLast = false;
90
100
  render() {
91
- return (h(ThemedHost, { key: '57cefd78545981975ff160405e54a614c52b2d10' }, h("div", { key: '752a97669376b1503b44ee3d53eb6a70fa22dabe', class: 'flex flex-col' }, h("div", { key: 'd764d107929e299979d1c859ae0a6ab571bd1561', class: row({
101
+ return (h(ThemedHost, { key: '4679c680f7e81472f33c1b252cf4f52a770fe16f' }, h("div", { key: '85b8bf52398d2d601d1b01e9a4a48c6a961d3108', class: 'flex flex-col' }, h("div", { key: 'c4fbc55303638a5f62d24f3daf363b937d554e56', class: row({
92
102
  variant: this.variant,
93
103
  enableHover: this.enableHover,
94
104
  checked: this.checked,
95
- }) }, h("div", { key: '1d695cfc2826074c699f948869f648b165b2d617', class: content({
105
+ }) }, h("div", { key: 'a604545ad03e73595a7437e85f64fdf2cd7e7c08', class: content({
96
106
  variant: this.variant,
97
- }) }, h("slot", { key: '6195e8107e31ade2831f9bd53408ab03a12ee651' }), h("div", { key: 'fc8b47883f833b5e04fbf59ed1670fe6bca72102', class: actions() }, h("slot", { key: '00574d5c478f7bd740bef1a159a26071e25ffef7', name: 'actions' })))), !asBoolean(this.isLast) && this.variant !== 'secondary' && (h("p-divider", { key: '7b408d711e1e08ab375587d474cfaebd89043276' })))));
107
+ }) }, h("slot", { key: 'b9f7ce3303a01ed08fcf93df5c2185cf5c128667' }), h("div", { key: 'c4c1654e19e2018ed6e9015424203f5f7ee5dc88', class: actions() }, h("slot", { key: 'fb3983866a4bfba61771816f01233cbc05f0a938', name: 'actions' })))), !asBoolean(this.isLast) && this.variant !== 'secondary' && (h("p-divider", { key: 'c9ba7de3d6ff140d9fa073cbacd57ec449136c9b' })))));
98
108
  }
99
109
  static get is() { return "p-table-row"; }
100
110
  static get encapsulation() { return "shadow"; }
@@ -115,8 +125,8 @@ export class TableRow {
115
125
  "attribute": "variant",
116
126
  "mutable": false,
117
127
  "complexType": {
118
- "original": "'default' | 'secondary' | 'header'",
119
- "resolved": "\"default\" | \"header\" | \"secondary\"",
128
+ "original": "'default' | 'secondary' | 'header' | 'header-secondary'",
129
+ "resolved": "\"default\" | \"header\" | \"header-secondary\" | \"secondary\"",
120
130
  "references": {}
121
131
  },
122
132
  "required": false,
@@ -1 +1 @@
1
- {"version":3,"file":"table-row.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/row/table-row.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { asBoolean } from '../../../../utils/as-boolean';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nconst row = cva(\n\t['flex min-w-[calc(100%-0.5rem)] flex-col', 'group', 'relative'],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: ['px-3 m-1', 'text-sm text-storm-500', 'dark:text-white'],\n\t\t\t\theader: [\n\t\t\t\t\t'px-4',\n\t\t\t\t\t'text-xs font-normal text-storm-400',\n\t\t\t\t\t'dark:text-hurricane-200',\n\t\t\t\t],\n\t\t\t\tsecondary: [\n\t\t\t\t\t'px-4',\n\t\t\t\t\t'bg-off-white-300 rounded-lg',\n\t\t\t\t\t'dark:bg-hurricane-400',\n\t\t\t\t\t'font-ambit text-lg font-bold',\n\t\t\t\t],\n\t\t\t},\n\t\t\tenableHover: {\n\t\t\t\ttrue: null,\n\t\t\t\tfalse: null,\n\t\t\t},\n\t\t\tchecked: {\n\t\t\t\ttrue: null,\n\t\t\t\tfalse: null,\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tenableHover: true,\n\t\t\t\tclass: ['rounded-lg transition-colors', 'hover:cursor-pointer'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tenableHover: true,\n\t\t\t\tchecked: false,\n\t\t\t\tclass: ['hover:bg-off-white-300', 'dark:hover:bg-hurricane-600'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tchecked: true,\n\t\t\t\tclass: [\n\t\t\t\t\t'rounded-lg transition-colors',\n\t\t\t\t\t'bg-off-white-300 dark:bg-hurricane-400 dark:hover:bg-hurricane-400',\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst content = cva(\n\t'relative flex min-w-full flex-nowrap items-center justify-between',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: null,\n\t\t\t\tsecondary: null,\n\t\t\t\theader: 'min-h-0 pb-4',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['default', 'secondary'],\n\t\t\t\tclass: 'min-h-14 py-2 tablet:py-4',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst actions = cva([\n\t'absolute -right-4 top-1 z-[2]',\n\t'h-[calc(100%-0.5rem)]',\n\t'opacity-0 transition-opacity group-hover:opacity-100',\n\t'empty:hidden',\n]);\n\n@Component({\n\ttag: 'p-table-row',\n\tstyleUrl: 'table-row.component.css',\n\tshadow: true,\n})\nexport class TableRow {\n\t/**\n\t * Variant of the header\n\t */\n\t@Prop() variant: 'default' | 'secondary' | 'header' = 'default';\n\n\t/**\n\t * Enable hover\n\t */\n\t@Prop() enableHover: boolean = true;\n\n\t/**\n\t * Wether the row is checked\n\t */\n\t@Prop() checked: boolean = false;\n\n\t/**\n\t * Wether the row is the last one\n\t */\n\t@Prop() isLast: boolean = false;\n\n\trender() {\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class='flex flex-col'>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={row({\n\t\t\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\t\t\tenableHover: this.enableHover,\n\t\t\t\t\t\t\tchecked: this.checked,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={content({\n\t\t\t\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t<div class={actions()}>\n\t\t\t\t\t\t\t\t<slot name='actions' />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!asBoolean(this.isLast) && this.variant !== 'secondary' && (\n\t\t\t\t\t\t<p-divider />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"table-row.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/row/table-row.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { asBoolean } from '../../../../utils/as-boolean';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nconst row = cva(\n\t['flex min-w-[calc(100%-0.5rem)] flex-col', 'group', 'relative'],\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: ['px-3 m-1', 'text-sm text-storm-500', 'dark:text-white'],\n\t\t\t\theader: null,\n\t\t\t\t'header-secondary':\n\t\t\t\t\t'bg-off-white-300 dark:bg-hurricane-400 rounded-lg mb-4',\n\t\t\t\tsecondary: [\n\t\t\t\t\t'px-4',\n\t\t\t\t\t'bg-off-white-300 rounded-lg',\n\t\t\t\t\t'dark:bg-hurricane-400',\n\t\t\t\t\t'font-ambit text-lg font-bold',\n\t\t\t\t],\n\t\t\t},\n\t\t\tenableHover: {\n\t\t\t\ttrue: null,\n\t\t\t\tfalse: null,\n\t\t\t},\n\t\t\tchecked: {\n\t\t\t\ttrue: null,\n\t\t\t\tfalse: null,\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tenableHover: true,\n\t\t\t\tclass: ['rounded-lg transition-colors', 'hover:cursor-pointer'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tenableHover: true,\n\t\t\t\tchecked: false,\n\t\t\t\tclass: ['hover:bg-off-white-300', 'dark:hover:bg-hurricane-600'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: 'default',\n\t\t\t\tchecked: true,\n\t\t\t\tclass: [\n\t\t\t\t\t'rounded-lg transition-colors',\n\t\t\t\t\t'bg-off-white-300 dark:bg-hurricane-400 dark:hover:bg-hurricane-400',\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['header', 'header-secondary'],\n\t\t\t\tclass: [\n\t\t\t\t\t'px-4',\n\t\t\t\t\t'text-xs font-normal text-storm-400',\n\t\t\t\t\t'dark:text-hurricane-200',\n\t\t\t\t],\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst content = cva(\n\t'relative flex min-w-full flex-nowrap items-center justify-between',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: null,\n\t\t\t\tsecondary: null,\n\t\t\t\theader: 'pb-4',\n\t\t\t\t'header-secondary': 'py-2',\n\t\t\t},\n\t\t},\n\t\tcompoundVariants: [\n\t\t\t{\n\t\t\t\tvariant: ['default', 'secondary'],\n\t\t\t\tclass: 'min-h-14 py-2 tablet:py-4',\n\t\t\t},\n\t\t\t{\n\t\t\t\tvariant: ['header', 'header-secondary'],\n\t\t\t\tclass: 'min-h-0',\n\t\t\t},\n\t\t],\n\t}\n);\n\nconst actions = cva([\n\t'absolute -right-4 top-1 z-[2]',\n\t'h-[calc(100%-0.5rem)]',\n\t'opacity-0 transition-opacity group-hover:opacity-100',\n\t'empty:hidden',\n]);\n\n@Component({\n\ttag: 'p-table-row',\n\tstyleUrl: 'table-row.component.css',\n\tshadow: true,\n})\nexport class TableRow {\n\t/**\n\t * Variant of the header\n\t */\n\t@Prop() variant: 'default' | 'secondary' | 'header' | 'header-secondary' =\n\t\t'default';\n\n\t/**\n\t * Enable hover\n\t */\n\t@Prop() enableHover: boolean = true;\n\n\t/**\n\t * Wether the row is checked\n\t */\n\t@Prop() checked: boolean = false;\n\n\t/**\n\t * Wether the row is the last one\n\t */\n\t@Prop() isLast: boolean = false;\n\n\trender() {\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class='flex flex-col'>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass={row({\n\t\t\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\t\t\tenableHover: this.enableHover,\n\t\t\t\t\t\t\tchecked: this.checked,\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass={content({\n\t\t\t\t\t\t\t\tvariant: this.variant,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t\t<div class={actions()}>\n\t\t\t\t\t\t\t\t<slot name='actions' />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{!asBoolean(this.isLast) && this.variant !== 'secondary' && (\n\t\t\t\t\t\t<p-divider />\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\n\t\t);\n\t}\n}\n"]}
@@ -49,7 +49,7 @@ export class Toast {
49
49
  */
50
50
  action;
51
51
  render() {
52
- return (h(ThemedHost, { key: 'd0cacbaaf93bfb9f98061e16892ad1c9331f98e0' }, h("div", { key: '74cb104d0c07fbdbf47f8884737af64fc4e78faf', class: 'flex gap-2 rounded-lg border border-solid border-storm-100 bg-white p-2 shadow-2 dark:border-hurricane-800 dark:bg-hurricane-800', onClick: () => this._onClick() }, h("div", { key: '92dbc67246e8cea086e66598a966b424c1783380', class: indicator({ variant: this.variant }) }), h("div", { key: 'c556f645622a403241fd30501b6e584659a1c28f', class: content() }, h("div", { key: '9d71be40edbbececfe7b2bf07fcf12e4dd2d0775', class: 'flex w-full min-w-0 flex-col' }, h("p", { key: '7c397d10916c460a72cc5ffb62d2db6551af00d5', class: 'm-0 overflow-hidden text-ellipsis whitespace-nowrap text-sm font-semibold text-storm-500 dark:text-white' }, this.header?.length ? this.header : h("slot", { name: 'header' })), h("p", { key: '7018743c217932aa4fb988511d482d8bf9b7b745', class: 'm-0 w-full overflow-hidden text-ellipsis whitespace-nowrap text-xs text-storm-300 dark:text-hurricane-200' }, this.content?.length ? this.content : h("slot", { name: 'content' }))), this.enableAction && (h("div", { key: 'a960ca7bb2e3530ce977536f0e6d7137bdd6ac70', class: 'flex-shrink-0 cursor-pointer p-2 text-storm-200 hover:text-storm-500 hover:text-white dark:text-hurricane-200' }, h("p-icon", { key: 'daf1bf85797180442d76fe75c261e21ddc4d15da', variant: this.actionIcon, flip: this.actionIconFlip, rotate: this.actionIconRotate })))))));
52
+ return (h(ThemedHost, { key: '4d3afdbcdbd94d0b8a1d6256b5e94f5ae4ec4672' }, h("div", { key: '0a2d136d59cad28d6699f42227175743e2f8e028', class: 'flex gap-2 rounded-lg border border-solid border-storm-100 bg-white p-2 shadow-2 dark:border-hurricane-800 dark:bg-hurricane-800', onClick: () => this._onClick() }, h("div", { key: '1cc603d037dc731d2452ee4ac19c2c426c4368f5', class: indicator({ variant: this.variant }) }), h("div", { key: '74aca4fa470f94d278588e7eced39d7e97d59e5b', class: content() }, h("div", { key: 'f2fe809add74fb573e85f073cf0956ae1b0d9df4', class: 'flex w-full min-w-0 flex-col' }, h("p", { key: 'b81d2a402e67bba6f2c4c7b73b806d89012143a4', class: 'm-0 overflow-hidden text-ellipsis whitespace-nowrap text-sm font-semibold text-storm-500 dark:text-white' }, this.header?.length ? this.header : h("slot", { name: 'header' })), h("p", { key: 'cfed692d75cb8aa5401247da556a9d37cbcd3f16', class: 'm-0 w-full overflow-hidden text-ellipsis whitespace-nowrap text-xs text-storm-300 dark:text-hurricane-200' }, this.content?.length ? this.content : h("slot", { name: 'content' }))), this.enableAction && (h("div", { key: 'a024b764681a8b6bf17b01eb2211a4bafba57092', class: 'flex-shrink-0 cursor-pointer p-2 text-storm-200 hover:text-storm-500 hover:text-white dark:text-hurricane-200' }, h("p-icon", { key: '7123909be29a08de0ba6e707f55cf5ab73792fa9', variant: this.actionIcon, flip: this.actionIconFlip, rotate: this.actionIconRotate })))))));
53
53
  }
54
54
  _onClick() {
55
55
  if (this.enableAction) {
@@ -18,10 +18,10 @@ export class Listing {
18
18
  }
19
19
  }
20
20
  render() {
21
- return (h("div", { key: 'fa1711147b6dad9acbbd5b5a5fb798299e22bf2a', class: cn('flex w-full flex-col flex-wrap items-start gap-1', {
21
+ return (h("div", { key: 'e8406c5d67b32dcab48ab048604487160f905c81', class: cn('flex w-full flex-col flex-wrap items-start gap-1', {
22
22
  'opacity-100': this._generatedOnce,
23
23
  'opacity-0': !this._generatedOnce,
24
- }) }, h("slot", { key: '8e3b03479567559ba00e7839e7f9555d142f520c', onSlotchange: () => this._generateLinesOnce() })));
24
+ }) }, h("slot", { key: '5c0f01fe878536842572168f55d26660b68b8f0a', onSlotchange: () => this._generateLinesOnce() })));
25
25
  }
26
26
  _generateLinesOnce() {
27
27
  if (this._generateTimeout) {
@@ -44,7 +44,7 @@ const backdrop = cva(['z-navbar-backdrop layout-1280:hidden transition-opacity r
44
44
  export class Navbar {
45
45
  _show = false;
46
46
  render() {
47
- return (h(ThemedHost, { key: 'f18236b1eecebb2364756c2ec45dd5547e5c2b8a' }, h("p-backdrop", { key: 'd6c6c3c6913c64801c3210b3f9356a7d2f88f685', class: backdrop({ show: this._show }), scrollLock: this._show, onClicked: () => (this._show = false) }), h("div", { key: '26fa33772a4437faaec4d5bbce86f5fcf5e06f1d', class: sidebar({ class: sidebarAndTopbar(), show: this._show }) }, h("div", { key: 'c41a829e518a972b4c7030fb0500a1501fa3835b', class: 'flex w-full items-center justify-end layout-1280:hidden' }, h("p-button", { key: 'ee1d0e561764ddbf58797ca8ea6ca08bb726aa6d', variant: 'secondary', icon: 'menu-arrow', iconFlip: 'horizontal', iconOnly: true, onClick: () => (this._show = false) })), h("div", { key: '531559e69a4158a2271be6d63ab7537f866f8eaf', class: 'flex w-full flex-shrink-0 flex-col items-stretch' }, h("slot", { key: '97b8397a519af90da71aa53ec90ffad88a723657', name: 'company' })), h("div", { key: '4c526a339ac703505b3dd2ac8a4959e3b4bc47ee', class: 'flex w-full flex-1 flex-col gap-6 overflow-y-auto' }, h("slot", { key: '6047b39501d08754bcb7264142cf713297cf9e01', name: 'content' })), h("div", { key: '18cbd646cbefb9031e74f712afdc7075d8aec953', class: 'mt-auto hidden w-full flex-shrink-0 flex-col layout-1280:flex' }, h("slot", { key: '15cbd9e622dbda0c2e09e2353143ffd164a41cfc', name: 'user' }))), h("div", { key: 'f54474e0a0b298dd986be0b6e74c9fb0cff05945', class: topbar({ class: sidebarAndTopbar() }) }, h("p-button", { key: 'a9cb10403323860b08a5131d928d19f9fdfb6afa', variant: 'secondary', iconOnly: true, icon: 'menu-arrow', onClick: () => (this._show = true) }), h("slot", { key: 'ccfaa956eb493047a8ce2f0c3a1c89d62e47a0c3', name: 'topbar' }))));
47
+ return (h(ThemedHost, { key: '0c266f4492556482dbcfb9514626afccc25f48aa' }, h("p-backdrop", { key: 'c8acb2161b3555ec2ceca32fd13b0a8840a39e07', class: backdrop({ show: this._show }), scrollLock: this._show, onClicked: () => (this._show = false) }), h("div", { key: '8f6b26d0e546e72429bb92ae4c8c0d14a8916d23', class: sidebar({ class: sidebarAndTopbar(), show: this._show }) }, h("div", { key: '617f02c836923b9ee15db43d6351b252ea05366f', class: 'flex w-full items-center justify-end layout-1280:hidden' }, h("p-button", { key: '75278d6725a8acbd7639652b0b4e2f827ff6a494', variant: 'secondary', icon: 'menu-arrow', iconFlip: 'horizontal', iconOnly: true, onClick: () => (this._show = false) })), h("div", { key: '5b9714e4ca64a5795597e598f7debaea7bbe5a1e', class: 'flex w-full flex-shrink-0 flex-col items-stretch' }, h("slot", { key: '3841bb40c3c2991223a400ede5ef2ad7b291118b', name: 'company' })), h("div", { key: '950a0263aa62c7f846cdc38d74ccf60534131fd6', class: 'flex w-full flex-1 flex-col gap-6 overflow-y-auto' }, h("slot", { key: '3323d582d86d321cec94823f2bcda6c97fbca937', name: 'content' })), h("div", { key: '7ccc242adc5ffa0477cb006489ef11e80be13469', class: 'mt-auto hidden w-full flex-shrink-0 flex-col layout-1280:flex' }, h("slot", { key: 'bd4497a7520fcb27b07f03ec161e3e54a5182419', name: 'user' }))), h("div", { key: '46ad39e41123fb9411e6831f2cb4e0cc0a6c0f50', class: topbar({ class: sidebarAndTopbar() }) }, h("p-button", { key: 'd3a478c442ddc1d536a5a887a24cdefce05f3b9a', variant: 'secondary', iconOnly: true, icon: 'menu-arrow', onClick: () => (this._show = true) }), h("slot", { key: 'cae9deac19b5943e9b711d60822159c7ad5851ec', name: 'topbar' }))));
48
48
  }
49
49
  handleCloseNavbar() {
50
50
  this._show = false;
@@ -231,6 +231,7 @@ export class Table {
231
231
  * Locales used for this component
232
232
  */
233
233
  _locales = {};
234
+ _extraHeaders = [];
234
235
  _columns = [];
235
236
  _items = [];
236
237
  _enableRowSelection = this.enableRowSelection;
@@ -250,13 +251,14 @@ export class Table {
250
251
  this._setRowSelectionData();
251
252
  this._setLocales();
252
253
  this._parseItems(this.items);
254
+ this._generateExtraHeaders();
253
255
  this._generateColumns();
254
256
  }
255
257
  componentDidRender() {
256
258
  this.hasRendered.emit();
257
259
  }
258
260
  render() {
259
- return (h(Host, { key: '5e21e018cfed6d71d2afb1e05be1e47e2092ee4c', class: 'z-0 flex flex-col' }, h("p-table-container", { key: 'ad8edeed8ee696a02e3f4848deddb2e2918fb1fa' }, this.enableHeader && (h("p-table-header", { key: '0c93abf0c4bcb1ec0b4ed7251265dae18f56223c', class: 'mb-8',
261
+ return (h(Host, { key: 'd5675ecf7d464628f39cf0656d152d316a3675fc', class: 'z-0 flex flex-col' }, h("p-table-container", { key: '84e69afe650c47560b62d31ad76a8cb6faae9a6e' }, this.enableHeader && (h("p-table-header", { key: 'c4b1a5c57e756d96f597b4fa7fb61dc8202a5bb5', class: 'mb-8',
260
262
  // quick filters
261
263
  quickFilters: this.quickFilters, activeQuickFilterIdentifier: this.activeQuickFilterIdentifier, onQuickFilter: ({ detail }) => this.quickFilter.emit(detail),
262
264
  // search
@@ -268,7 +270,7 @@ export class Table {
268
270
  //export
269
271
  enableExport: this.enableExport, onExport: () => this.export.emit(),
270
272
  //loading
271
- loading: this.headerLoading }, this._hasCustomFilterSlot && (h("slot", { key: '14257d67fed9adc5814e80b2ecf96092ecc56612', name: 'custom-filter', slot: 'custom-filter' })), this._hasCustomActionsSlot && (h("slot", { key: 'ba3c0c51886c4518739bb57aa474cc81057992b5', name: 'custom-actions', slot: 'custom-actions' })))), this._getHeader(), h("div", { key: '2da4deea5280c3a0d7b37ee23595c3d07ea005ee', class: 'flex flex-1 flex-col' }, this._getRows(), h("slot", { key: 'ceb0bbd73f18f696e94ff05a44319a519ee8652f', name: 'custom-rows' })), this.enableFloatingMenu && this._enableRowSelection ? (h("p-floating-menu-container", { usedInTable: true, class: floatingMenuContainerClass({
273
+ loading: this.headerLoading }, this._hasCustomFilterSlot && (h("slot", { key: '6fcc35dbbd37ec70a36cf8912d90f6133f4d3bf6', name: 'custom-filter', slot: 'custom-filter' })), this._hasCustomActionsSlot && (h("slot", { key: '9423bcb8027f58f984c3708221adf2f81651b07a', name: 'custom-actions', slot: 'custom-actions' })))), this._getExtraHeader(), this._getHeader(), h("div", { key: 'fcf40912d68573281c8e18ee4e30b8f6c3e0c3ef', class: 'flex flex-1 flex-col' }, this._getRows(), h("slot", { key: 'b9f2eaeffd25c1f71662ab1de4985805c1c8f708', name: 'custom-rows' })), this.enableFloatingMenu && this._enableRowSelection ? (h("p-floating-menu-container", { usedInTable: true, class: floatingMenuContainerClass({
272
274
  hasFooter: this.enableFooter && !this._footerHidden,
273
275
  active: !!this.selectedRows?.length,
274
276
  shown: this._floatingMenuShown,
@@ -278,7 +280,7 @@ export class Table {
278
280
  !!a.action &&
279
281
  a.type === 'single'
280
282
  ? a.action(this.selectedRows[0], false)
281
- : a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: '76b41d28147823cff101694aa49e4b8920eb5058',
283
+ : a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: 'b58718c15d1584296b019f554fa6d06938636b79',
282
284
  // overall
283
285
  hideOnSinglePage: this.hideOnSinglePage,
284
286
  // page size select
@@ -368,12 +370,26 @@ export class Table {
368
370
  }
369
371
  }, 200);
370
372
  }
373
+ _generateExtraHeaders() {
374
+ const definitions = this._el.querySelectorAll('p-table-extra-header');
375
+ let definitionsArray = Array.from(definitions);
376
+ definitionsArray = this._parseDefinitions(definitionsArray);
377
+ this._extraHeaders = definitionsArray;
378
+ }
371
379
  _generateColumns() {
372
380
  const definitions = this._el.querySelectorAll('p-table-column');
373
381
  let definitionsArray = Array.from(definitions);
374
382
  definitionsArray = this._parseDefinitions(definitionsArray);
375
383
  this._columns = definitionsArray;
376
384
  }
385
+ _getExtraHeader() {
386
+ if (!this._extraHeaders?.length) {
387
+ return null;
388
+ }
389
+ return (h("p-table-row", { variant: 'header-secondary', isLast: true }, this._extraHeaders.map((col, index) => {
390
+ return (h("p-table-cell", { definition: col, variant: 'header-secondary', checkboxOffset: index === 0 && this._enableRowSelection, index: index }, h("b", null, col.name)));
391
+ })));
392
+ }
377
393
  _getHeader() {
378
394
  return (h("p-table-row", { variant: 'header' }, this._columns.map((col, index) => (h("p-table-cell", { definition: col, value: col.name, variant: 'header', checkbox: index === 0 || col.hasCheckbox
379
395
  ? this._getCheckbox(null, this.loading ? 'loading' : 'header')
@@ -1584,6 +1600,7 @@ export class Table {
1584
1600
  static get states() {
1585
1601
  return {
1586
1602
  "_locales": {},
1603
+ "_extraHeaders": {},
1587
1604
  "_columns": {},
1588
1605
  "_items": {},
1589
1606
  "_enableRowSelection": {},
@@ -1 +1 @@
1
- {"version":3,"file":"table.component.js","sourceRoot":"","sources":["../../../../src/components/organisms/table/table.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant, PCheckboxCustomEvent } from '../../../components';\nimport { tableColumSizesOptions } from '../../../types/constants';\nimport {\n\tQuickFilter,\n\tRowClickEvent,\n\tTableColumnSizes,\n} from '../../../types/table';\nimport {\n\tfloatingMenuContainerClass,\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { cn } from '../../../utils/cn';\nimport {\n\tPAGINATION_DEFAULT_PAGE_SIZE,\n\tPAGINATION_DEFAULT_PAGE_SIZE_OPTIONS,\n} from '../../../utils/constants';\nimport { TableColumn } from '../../helpers/table/column/table-column.component';\nimport { TableRowAction } from '../../helpers/table/row-action/table-row-action.component';\nimport { buttonTemplateFunc } from '../../molecules/table/header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.css',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] | string = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable pagination size select\n\t */\n\t@Prop() enablePaginationSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination pages\n\t */\n\t@Prop() enablePaginationPages: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = PAGINATION_DEFAULT_PAGE_SIZE;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\tprivate _rowActionsFloatingAll: TableRowAction[] = [];\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\t@State() private _footerHidden: boolean = false;\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _hasCustomActionsSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timeout | undefined;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='z-0 flex flex-col'>\n\t\t\t\t<p-table-container>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\tclass='mb-8'\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={this.activeQuickFilterIdentifier}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) => this.quickFilter.emit(detail)}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) => this.queryChange.emit(detail)}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tenableFilterDesktop={this.enableFilterDesktop}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-filter'\n\t\t\t\t\t\t\t\t\tslot='custom-filter'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{this._hasCustomActionsSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-actions'\n\t\t\t\t\t\t\t\t\tslot='custom-actions'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class='flex flex-1 flex-col'>\n\t\t\t\t\t\t{this._getRows()}\n\t\t\t\t\t\t<slot name='custom-rows' />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={floatingMenuContainerClass({\n\t\t\t\t\t\t\t\thasFooter: this.enableFooter && !this._footerHidden,\n\t\t\t\t\t\t\t\tactive: !!this.selectedRows?.length,\n\t\t\t\t\t\t\t\tshown: this._floatingMenuShown,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tamountSelectedTemplate={this.floatingMenuAmountSelectedTemplate}\n\t\t\t\t\t\t\tamount={this.selectedRows?.length}\n\t\t\t\t\t\t\tenableAmountSelected={!!this._rowActionsFloating?.length}\n\t\t\t\t\t\t\tonClose={() => this._selectAllChange(null, false)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map(a => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tloading={a.loading}\n\t\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(this.selectedRows[0], false)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(this.selectedRows, true)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePaginationSize={this.enablePaginationSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePaginationPages={this.enablePaginationPages}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) => this.pageChange.emit(detail)}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t\tonHiddenChange={({ detail }) => (this._footerHidden = detail)}\n\t\t\t\t\t\t\t// header adjustment\n\t\t\t\t\t\t\ttableHeaderHasAction={\n\t\t\t\t\t\t\t\tthis.enableHeader &&\n\t\t\t\t\t\t\t\tthis.enableAction &&\n\t\t\t\t\t\t\t\tthis.actionButtonEnabled\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\ta => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloatingAll = actions\n\t\t\t\t.filter(\n\t\t\t\t\ta =>\n\t\t\t\t\t\t(this.enableRowSelection &&\n\t\t\t\t\t\t\t(a.type === 'both' || a.type === 'multi')) ||\n\t\t\t\t\t\t(mobile && a.type === 'single')\n\t\t\t\t)\n\t\t\t\t.map(a => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloatingAll?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloatingAll?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\n\t\t\tif (this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tlet definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray = this._parseDefinitions(definitionsArray);\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant='header'>\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant='header'\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(null, this.loading ? 'loading' : 'header')\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\t\t\tisLast={i === this.amountOfLoadingRows - 1}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\tonClick={ev => this._rowClick(ev, index)}\n\t\t\t\tisLast={index === this._items.length - 1}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t\t{this._getActions(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getActions(item, index) {\n\t\tconst actions = this._rowActionsRow.filter(a =>\n\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t);\n\n\t\tif (actions?.length && !isMobile()) {\n\t\t\treturn (\n\t\t\t\t<p-table-row-actions-container\n\t\t\t\t\tslot='actions'\n\t\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\t>\n\t\t\t\t\t{actions.map(a => (\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tstrategy='fixed'\n\t\t\t\t\t\t\tcontent={a.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' && a.action?.(item, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t))}\n\t\t\t\t</p-table-row-actions-container>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\tprivate _getRowColumns(item, index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox ? this._getCheckbox(index) : null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant='loading'\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-6 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<p-checkbox\n\t\t\t\t\tclass={cn({\n\t\t\t\t\t\t'opacity-0': this._rowSelectionLimit !== undefined,\n\t\t\t\t\t})}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t\tonCheckedChange={ev => this._selectAllChange(ev)}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<p-checkbox\n\t\t\t\tclass='flex-shrink-0'\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t\tonCheckedChange={ev => this._checkboxChange(ev, rowIndex)}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<p-empty-state\n\t\t\t\t\tclass='my-16 self-center'\n\t\t\t\t\tillustration='search'\n\t\t\t\t\theader={this.emptyStateFilteredHeader()}\n\t\t\t\t\tcontent={this.emptyStateFilteredContent()}\n\t\t\t\t></p-empty-state>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<p-empty-state\n\t\t\t\tclass='my-16 self-center'\n\t\t\t\tillustration='table'\n\t\t\t\theader={this.emptyStateHeader()}\n\t\t\t\tcontent={this.emptyStateContent()}\n\t\t\t\tenableAction={this.enableEmptyStateAction}\n\t\t\t\tactionIcon='plus'\n\t\t\t\tactionText={this.emptyStateAction()}\n\t\t\t\tonAction={() => this.enableAction && this.action.emit()}\n\t\t\t></p-empty-state>\n\t\t);\n\t}\n\n\tprivate _selectAllChange(\n\t\tev: PCheckboxCustomEvent<boolean>,\n\t\tforceValue?: boolean\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = ev?.detail ?? forceValue ?? false;\n\n\t\tconst value = forceValue === undefined ? checked : forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length === this._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\td => this._getSelectionValue(d, i) === this._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(\n\t\t{ detail: checked, target }: PCheckboxCustomEvent<boolean>,\n\t\tindex: number\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tchecked &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (checked) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\titem => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n\n\tprivate _showFloatingMenu() {\n\t\tlet actions = this._rowActionsFloatingAll;\n\t\tif (\n\t\t\tthis.rowSelectionLimit === 1 &&\n\t\t\tactions.findIndex(\n\t\t\t\ta => (a.type === 'single' || a.type === 'both') && a.showFunction\n\t\t\t) >= 0\n\t\t) {\n\t\t\tactions = actions.filter(\n\t\t\t\ta =>\n\t\t\t\t\ta.type === 'multi' ||\n\t\t\t\t\t!a.showFunction ||\n\t\t\t\t\ta.showFunction(this.selectedRows[0])\n\t\t\t);\n\t\t}\n\n\t\tthis._rowActionsFloating = actions;\n\t\tthis._floatingMenuShown = true;\n\t}\n\n\tprivate _parseDefinitions(definitionsArray: HTMLPTableColumnElement[]) {\n\t\treturn definitionsArray.map(definition => {\n\t\t\tdefinition = this._parseDefinitionSizes(definition);\n\t\t\treturn definition;\n\t\t});\n\t}\n\n\tprivate _parseDefinitionSizes(definition: HTMLPTableColumnElement) {\n\t\tconst definitionAny = definition as any;\n\t\tlet parsedSizes: TableColumnSizes = { default: 'full' };\n\n\t\tif (\n\t\t\ttypeof definition.sizes === 'string' &&\n\t\t\t!['auto', 'hidden', 'full'].includes(definition.sizes)\n\t\t) {\n\t\t\tdefinition.sizes = JSON.parse(definition.sizes);\n\t\t}\n\n\t\tfor (const [index, size] of tableColumSizesOptions.entries()) {\n\t\t\tif (\n\t\t\t\tdefinitionAny.sizes === 'auto' ||\n\t\t\t\tdefinitionAny.sizes === 'hidden' ||\n\t\t\t\tdefinitionAny.sizes === 'full' ||\n\t\t\t\ttypeof definitionAny.sizes === 'number'\n\t\t\t) {\n\t\t\t\tparsedSizes[size] =\n\t\t\t\t\tdefinitionAny.sizes === 'auto' ? 'full' : definitionAny.sizes;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tparsedSizes[size] =\n\t\t\t\tdefinitionAny.sizes[size] ??\n\t\t\t\tparsedSizes[tableColumSizesOptions[index - 1]];\n\t\t}\n\n\t\tdefinition.parsedSizes = parsedSizes;\n\t\treturn definition;\n\t}\n}\n"]}
1
+ {"version":3,"file":"table.component.js","sourceRoot":"","sources":["../../../../src/components/organisms/table/table.component.tsx"],"names":[],"mappings":"AAAA,OAAO,EACN,SAAS,EACT,OAAO,EACP,KAAK,EAEL,CAAC,EACD,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,GACL,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAMlE,OAAO,EACN,0BAA0B,EAC1B,iBAAiB,EACjB,yBAAyB,EACzB,QAAQ,GACR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AACvC,OAAO,EACN,4BAA4B,EAC5B,oCAAoC,GACpC,MAAM,0BAA0B,CAAC;AAalC,MAAM,OAAO,KAAK;IACjB;;OAEG;IACK,KAAK,CAAS;IAEtB;;OAEG;IACK,OAAO,GAAY,KAAK,CAAC;IAEjC;;OAEG;IACK,aAAa,GAAY,KAAK,CAAC;IAEvC;;OAEG;IACK,aAAa,GAAY,KAAK,CAAC;IAEvC;;OAEG;IACK,mBAAmB,GAAW,CAAC,CAAC;IAExC;;OAEG;IACK,kBAAkB,GAAY,IAAI,CAAC;IAE3C;;OAEG;IACK,iBAAiB,CAAqB;IAE9C;;OAEG;IACK,cAAc,GAAY,IAAI,CAAC;IAEvC;;OAEG;IACK,YAAY,GAAU,EAAE,CAAC;IAEjC;;OAEG;IACK,kBAAkB,GAAY,IAAI,CAAC;IAE3C;;OAEG;IACK,kCAAkC,GAA+B,CACxE,MAAc,EACb,EAAE,CACH,iBAAiB,CAChB,CAAC,MAAM,KAAK,CAAC;QACZ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,eAAe;QAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,sBAAsB,CACrD,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAChC,CAAC;IAEH;;OAEG;IAIH,kBAAkB,CAAoB;IAEtC;;OAEG;IACK,YAAY,CAAS;IAE7B;;OAEG;IACK,YAAY,CAAS;IAE7B;;OAEG;IAIH,QAAQ,CAA8B;IAEtC;;OAEG;IAIH,WAAW,CAAoB;IAE/B;;OAEG;IAIH,aAAa,CAAoB;IAEjC;;OAEG;IAIH,WAAW,CAAuB;IAElC,mBAAmB;IAEnB;;OAEG;IACK,YAAY,GAAY,IAAI,CAAC;IAErC;;OAEG;IACK,YAAY,GAA2B,EAAE,CAAC;IAElD;;OAEG;IACK,2BAA2B,CAAS;IAE5C;;OAEG;IACK,YAAY,GAAY,IAAI,CAAC;IAErC;;OAEG;IACsB,KAAK,CAAS;IAEvC;;OAEG;IACK,YAAY,GAAY,IAAI,CAAC;IAErC;;OAEG;IACK,mBAAmB,GAAY,IAAI,CAAC;IAE5C;;OAEG;IACK,qBAAqB,CAAS;IAEtC;;OAEG;IACK,oBAAoB,CAAe;IAE3C;;OAEG;IACK,YAAY,GAAY,KAAK,CAAC;IAEtC;;OAEG;IACK,mBAAmB,GAAY,KAAK,CAAC;IAE7C;;OAEG;IACK,mBAAmB,GAAY,KAAK,CAAC;IAE7C;;OAEG;IACK,gBAAgB,GAAgB,QAAQ,CAAC;IAEjD;;OAEG;IACK,gBAAgB,CAAS;IAEjC;;OAEG;IACK,oBAAoB,CAAqB;IAEjD;;OAEG;IAIH,WAAW,CAA4B;IAEvC;;OAEG;IAIH,WAAW,CAAuB;IAElC;;OAEG;IAIH,MAAM,CAAqB;IAE3B;;OAEG;IAIH,MAAM,CAAqB;IAE3B,mBAAmB;IAEnB;;OAEG;IACK,YAAY,GAAY,IAAI,CAAC;IAErC;;OAEG;IACK,oBAAoB,GAAY,IAAI,CAAC;IAE7C;;OAEG;IACK,qBAAqB,GAAY,IAAI,CAAC;IAE9C;;OAEG;IACK,YAAY,GAAY,IAAI,CAAC;IAErC;;OAEG;IACqC,IAAI,GAAW,CAAC,CAAC;IAEzD;;OAEG;IACK,KAAK,CAAU;IAEvB;;OAEG;IAIH,UAAU,CAAuB;IAEjC;;OAEG;IACK,QAAQ,GAAW,4BAA4B,CAAC;IAExD;;OAEG;IACK,eAAe,GAAa,oCAAoC,CAAC;IAEzE;;OAEG;IAIH,cAAc,CAAuB;IAErC;;OAEG;IAIH,MAAM,CAAuB;IAE7B;;OAEG;IACK,gBAAgB,GAAY,IAAI,CAAC;IAEzC,uBAAuB;IACf,gBAAgB,GAAiB,GAAG,EAAE,CAC7C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACxD,iBAAiB,GAAiB,GAAG,EAAE,CAC9C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,gBAAgB,GAAiB,GAAG,EAAE,CAC7C,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAChE;;OAEG;IACK,sBAAsB,GAAY,IAAI,CAAC;IAEvC,wBAAwB,GAAiB,GAAG,EAAE,CACrD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtD,yBAAyB,GAAiB,GAAG,EAAE,CACtD,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/D;;OAEG;IAIH,qBAAqB,CAAqB;IAE1C;;OAEG;IACK,MAAM,GAAY,IAAI,CAAC;IAE/B,qBAAqB;IAErB;;OAEG;IACgB,GAAG,CAAc;IAEpC;;OAEG;IACc,QAAQ,GAAQ,EAAE,CAAC;IAEnB,aAAa,GAAU,EAAE,CAAC;IAC1B,QAAQ,GAAU,EAAE,CAAC;IACrB,MAAM,GAAU,EAAE,CAAC;IAEnB,mBAAmB,GAAY,IAAI,CAAC,kBAAkB,CAAC;IACvD,kBAAkB,CAAqB;IAEhD,sBAAsB,GAAqB,EAAE,CAAC;IACrC,mBAAmB,GAAqB,EAAE,CAAC;IAC3C,cAAc,GAAqB,EAAE,CAAC;IAEtC,aAAa,GAAY,KAAK,CAAC;IAExC,SAAS,GAAG,KAAK,CAAC;IAClB,oBAAoB,GAAG,KAAK,CAAC;IAC7B,qBAAqB,GAAG,KAAK,CAAC;IAC9B,kBAAkB,GAAG,KAAK,CAAC;IAC3B,cAAc,CAA6B;IAEnD,iBAAiB;QAChB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CACnD,iCAAiC,CACjC,CAAC;QAEF,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CACpD,kCAAkC,CAClC,CAAC;QAEF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IAED,MAAM;QACL,OAAO,CACN,EAAC,IAAI,qDAAC,KAAK,EAAC,mBAAmB;YAC9B;gBACE,IAAI,CAAC,YAAY,IAAI,CACrB,uEACC,KAAK,EAAC,MAAM;oBACZ,gBAAgB;oBAChB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,EAC7D,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5D,SAAS;oBACT,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC5D,gBAAgB;oBAChB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EACjD,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAClC,gBAAgB;oBAChB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EACjC,aAAa,EAAE,IAAI,CAAC,mBAAmB,EACvC,YAAY,EAAE,IAAI,CAAC,mBAAmB,EACtC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAClC,mBAAmB,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM;oBAC9C,QAAQ;oBACR,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAClC,SAAS;oBACT,OAAO,EAAE,IAAI,CAAC,aAAa;oBAE1B,IAAI,CAAC,oBAAoB,IAAI,CAC7B,6DACC,IAAI,EAAC,eAAe,EACpB,IAAI,EAAC,eAAe,GACnB,CACF;oBAEA,IAAI,CAAC,qBAAqB,IAAI,CAC9B,6DACC,IAAI,EAAC,gBAAgB,EACrB,IAAI,EAAC,gBAAgB,GACpB,CACF,CACe,CACjB;gBAEA,IAAI,CAAC,eAAe,EAAE;gBACtB,IAAI,CAAC,UAAU,EAAE;gBAClB,4DAAK,KAAK,EAAC,sBAAsB;oBAC/B,IAAI,CAAC,QAAQ,EAAE;oBAChB,6DAAM,IAAI,EAAC,aAAa,GAAG,CACtB;gBAEL,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CACtD,iCACC,WAAW,EAAE,IAAI,EACjB,KAAK,EAAE,0BAA0B,CAAC;wBACjC,SAAS,EAAE,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa;wBACnD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;wBACnC,KAAK,EAAE,IAAI,CAAC,kBAAkB;qBAC9B,CAAC,EACF,sBAAsB,EAAE,IAAI,CAAC,kCAAkC,EAC/D,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EACjC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,EACxD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,IAEhD,IAAI,CAAC,mBAAmB,EAAE,MAAM;oBAChC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACjC,4BACC,IAAI,EAAC,oBAAoB,EACzB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAClB,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,OAAO,EAAE,GAAG,EAAE,CACb,CAAC,CAAC,CAAC,QAAQ;4BACX,CAAC,CAAC,CAAC,OAAO;4BACV,CAAC,CAAC,CAAC,CAAC,MAAM;4BACV,CAAC,CAAC,IAAI,KAAK,QAAQ;4BAClB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;4BACvC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAGpC,CAAC,CAAC,KAAK,CACc,CACvB,CAAC,CACwB,CAC5B,CAAC,CAAC,CAAC,CACH,EAAE,CACF;gBAEA,IAAI,CAAC,YAAY,IAAI,CACrB;oBACC,UAAU;oBACV,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,mBAAmB;oBACnB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,eAAe,EAAE,IAAI,CAAC,eAAe,EACrC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAChC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEjC,aAAa;oBACb,qBAAqB,EAAE,IAAI,CAAC,qBAAqB,EACjD,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,YAAY,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC1D,SAAS;oBACT,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,cAAc,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;oBAC7D,oBAAoB;oBACpB,oBAAoB,EACnB,IAAI,CAAC,YAAY;wBACjB,IAAI,CAAC,YAAY;wBACjB,IAAI,CAAC,mBAAmB,GAER,CAClB,CACkB,CACd,CACP,CAAC;IACH,CAAC;IAGO,KAAK,CAAC,WAAW;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAGD,wBAAwB;QACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACzB,CAAC;IAGD,OAAO,CAAC,EAAE,GAAG,EAAE;QACd,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAGD,KAAK,CAAC,EAAE,GAAG,EAAE;QACZ,IAAI,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACnD,OAAO;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAGD,gBAAgB;QACf,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACvE,OAAO;QACR,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACxB,CAAC;IAGO,WAAW,CAAC,KAAa;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,OAAO;QACR,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,OAAO;QACR,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAMO,oBAAoB;QAC3B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC;QAED,kGAAkG;QAClG,iDAAiD;QACjD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;YAE1B,0CAA0C;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACzB,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAC3B,CAAC;YAC/B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CACnC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAC;YACF,IAAI,CAAC,sBAAsB,GAAG,OAAO;iBACnC,MAAM,CACN,CAAC,CAAC,EAAE,CACH,CAAC,IAAI,CAAC,kBAAkB;gBACvB,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBAC3C,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAChC;iBACA,GAAG,CAAC,CAAC,CAAC,EAAE;gBACR,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACzB,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC;gBAC5C,CAAC;gBAED,OAAO,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YAEJ,IAAI,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAC/C,IACC,MAAM,IAAI,eAAe;gBACzB,IAAI,CAAC,sBAAsB,EAAE,MAAM,IAAI,gDAAgD;gBACvF,CAAC,CAAC,iBAAiB,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC;oBAC5D,CAAC,IAAI,CAAC,kBAAkB,CAAC,EACzB,CAAC;gBACF,iBAAiB,GAAG,CAAC,CAAC;YACvB,CAAC;YAED,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;YAE5C,IAAI,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;YACjD,IACC,MAAM,IAAI,eAAe;gBACzB,IAAI,CAAC,sBAAsB,EAAE,MAAM,IAAI,gDAAgD;gBACvF,CAAC,kBAAkB,EAClB,CAAC;gBACF,kBAAkB,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;YAE9C,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC7B,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAEO,qBAAqB;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;QACtE,IAAI,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/C,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;IACvC,CAAC;IAEO,gBAAgB;QACvB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/C,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAE5D,IAAI,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IAClC,CAAC;IAEO,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,CACN,mBACC,OAAO,EAAC,kBAAkB,EAC1B,MAAM,EAAE,IAAI,IAEX,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAqB,EAAE,KAAK,EAAE,EAAE;YACxD,OAAO,CACN,oBACC,UAAU,EAAE,GAAG,EACf,OAAO,EAAC,kBAAkB,EAC1B,cAAc,EAAE,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,mBAAmB,EACvD,KAAK,EAAE,KAAK;gBAEZ,aAAI,GAAG,CAAC,IAAI,CAAK,CACH,CACf,CAAC;QACH,CAAC,CAAC,CACW,CACd,CAAC;IACH,CAAC;IAEO,UAAU;QACjB,OAAO,CACN,mBAAa,OAAO,EAAC,QAAQ,IAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/C,oBACC,UAAU,EAAE,GAAG,EACf,KAAK,EAAE,GAAG,CAAC,IAAI,EACf,OAAO,EAAC,QAAQ,EAChB,QAAQ,EACP,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW;gBAC7B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC9D,CAAC,CAAC,IAAI,EAER,KAAK,EAAE,KAAK,GACG,CAChB,CAAC,CACW,CACd,CAAC;IACH,CAAC;IAEO,QAAQ;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAChB;gBACC,MAAM,EAAE,IAAI,CAAC,mBAAmB;aAChC,EACD,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACT,mBACC,WAAW,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,cAAc,EAC5D,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAEzC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CACd,CACd,CACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9B,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACvC,mBACC,WAAW,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,cAAc,EAC5D,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EACvC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,EACxC,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YAEvC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CACjB,CACd,CAAC,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,IAAI,EAAE,KAAK;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC9C,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C,CAAC;QAEF,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpC,OAAO,CACN,qCACC,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAEtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACjB,iBACC,QAAQ,EAAC,OAAO,EAChB,OAAO,EAAE,CAAC,CAAC,KAAK;gBAEhB,wCAEC,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,CAAC,CAAC,IAAI,EACZ,UAAU,EAAE,CAAC,CAAC,UAAU,EACxB,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,QAAQ,EAAE,IAAI,EACd,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CACb,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAE/C,CACD,CACZ,CAAC,CAC6B,CAChC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IACO,cAAc,CAAC,IAAI,EAAE,KAAK;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAE,QAAQ,EAAE,EAAE;YACvD,OAAO,CACN,oBACC,UAAU,EAAE,GAAG,EACf,IAAI,EAAE,IAAI,EACV,QAAQ,EACP,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAEpE,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,KAAK,GACA,CAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,KAAK;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAgB,EAAE,QAAQ,EAAE,EAAE;YACvD,OAAO,CACN,oBACC,UAAU,EAAE,GAAG,EACf,OAAO,EAAC,SAAS,EACjB,QAAQ,EACP,QAAQ,KAAK,CAAC,IAAI,GAAG,CAAC,WAAW;oBAChC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC;oBACrC,CAAC,CAAC,IAAI,EAER,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,KAAK,GACA,CAChB,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,YAAY,CACnB,QAAgB,EAChB,UAA4C,SAAS;QAErD,IACC,CAAC,IAAI,CAAC,mBAAmB;YACzB,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACxD,CAAC;YACF,OAAO;QACR,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,CACN,gBACC,OAAO,EAAC,OAAO,EACf,KAAK,EAAC,iBAAiB,GACtB,CACF,CAAC;QACH,CAAC;QAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC1B,OAAO,CACN,kBACC,KAAK,EAAE,EAAE,CAAC;oBACT,WAAW,EAAE,IAAI,CAAC,kBAAkB,KAAK,SAAS;iBAClD,CAAC,EACF,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,EACrC,aAAa,EAAE,IAAI,CAAC,uBAAuB,EAAE,EAC7C,QAAQ,EAAE,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAC/C,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAC/C,CACF,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAE5D,OAAO,CACN,kBACC,KAAK,EAAC,eAAe,EACrB,QAAQ,EACP,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC,IAAI,CAAC,kBAAkB,KAAK,SAAS;oBACrC,CAAC,iBAAiB;oBAClB,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,CAAC,EAEvD,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,QAAQ,CAAC,GACxD,CACF,CAAC;IACH,CAAC;IAEO,cAAc;QACrB,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtD,OAAO,CACN,qBACC,KAAK,EAAC,mBAAmB,EACzB,YAAY,EAAC,QAAQ,EACrB,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,EACvC,OAAO,EAAE,IAAI,CAAC,yBAAyB,EAAE,GACzB,CACjB,CAAC;QACH,CAAC;QAED,OAAO,CACN,qBACC,KAAK,EAAC,mBAAmB,EACzB,YAAY,EAAC,OAAO,EACpB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAC/B,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,EACjC,YAAY,EAAE,IAAI,CAAC,sBAAsB,EACzC,UAAU,EAAC,MAAM,EACjB,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GACvC,CACjB,CAAC;IACH,CAAC;IAEO,gBAAgB,CACvB,EAAiC,EACjC,UAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,EAAE,MAAM,IAAI,UAAU,IAAI,KAAK,CAAC;QAElD,MAAM,KAAK,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC9D,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;oBAClD,SAAS;gBACV,CAAC;gBAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChC,SAAS;gBACV,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAE3B,IACC,IAAI,CAAC,kBAAkB,KAAK,SAAS;oBACrC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,EAClE,CAAC;oBACF,MAAM;gBACP,CAAC;YACF,CAAC;YAED,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;QACR,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAC3B,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,CACxE,CAAC;YAEF,IAAI,CAAC,GAAG,EAAE,CAAC;gBACV,SAAS;YACV,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC;IAEO,eAAe,CACtB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAiC,EAC1D,KAAa;QAEb,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,IACC,OAAO;YACP,IAAI,CAAC,kBAAkB,KAAK,SAAS;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAClD,CAAC;YACF,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,OAAO;QACR,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,OAAO;QACR,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,GAAG;gBACnB,GAAG,IAAI,CAAC,YAAY;gBACpB;oBACC,GAAG,GAAG;oBACN,KAAK;iBACL;aACD,CAAC;YACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACzD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1B,CAAC;YAED,OAAO;QACR,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7D,4EAA4E;QAC5E,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAEO,kBAAkB,CAAC,GAAQ,EAAE,KAAa;QACjD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACtE,CAAC;IAEO,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,KAAK;QACpD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAC9C,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAC5B,CAAC;QACF,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACtD,CAAC;IAEO,qBAAqB;QAC5B,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IACC,IAAI,CAAC,kBAAkB,KAAK,SAAS;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,EACnD,CAAC;YACF,OAAO,IAAI,CAAC;QACb,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,WAAW,GAAG,KAAK,CAAC;gBACpB,MAAM;YACP,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAEO,uBAAuB;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IACC,IAAI,CAAC,kBAAkB,KAAK,SAAS;YACrC,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,kBAAkB,EACnD,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,QAAQ,EAAE,CAAC;gBACd,aAAa,EAAE,CAAC;YACjB,CAAC;QACF,CAAC;QAED,OAAO,aAAa,GAAG,CAAC,IAAI,aAAa,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAClE,CAAC;IAEO,SAAS,CAAC,MAAM,EAAE,KAAK;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,IACC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO;YACxC,MAAM,CAAC,IAAI,KAAK,UAAU,EACzB,CAAC;YACF,OAAO;QACR,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElD,IAAI,MAAM,EAAE,CAAC;YACZ,OAAO;QACR,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAClB,IAAI;gBACJ,QAAQ,EAAE,IAAI,CAAC,SAAS;aACxB,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;QAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QAED,QAAQ,CAAC,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,QAAQ,CAAC,EAAe;QAC/B,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IACzC,CAAC;IAEO,cAAc,CAAC,EAAe;QACrC,IAAI,CAAC,EAAE,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IACC,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI;YAC1C,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,OAAO,EAC5C,CAAC;YACF,OAAO,EAAE,CAAC;QACX,CAAC;QAED,IAAI,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC;IAEO,iBAAiB;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC1C,IACC,IAAI,CAAC,iBAAiB,KAAK,CAAC;YAC5B,OAAO,CAAC,SAAS,CAChB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CACjE,IAAI,CAAC,EACL,CAAC;YACF,OAAO,GAAG,OAAO,CAAC,MAAM,CACvB,CAAC,CAAC,EAAE,CACH,CAAC,CAAC,IAAI,KAAK,OAAO;gBAClB,CAAC,CAAC,CAAC,YAAY;gBACf,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CACrC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAChC,CAAC;IAEO,iBAAiB,CACxB,gBAA4E;QAE5E,OAAO,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;YACxC,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC5B,UAAkE;QAElE,MAAM,aAAa,GAAG,UAAiB,CAAC;QACxC,IAAI,WAAW,GAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAExD,IACC,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;YACpC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EACrD,CAAC;YACF,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,IACC,aAAa,CAAC,KAAK,KAAK,MAAM;gBAC9B,aAAa,CAAC,KAAK,KAAK,QAAQ;gBAChC,aAAa,CAAC,KAAK,KAAK,MAAM;gBAC9B,OAAO,aAAa,CAAC,KAAK,KAAK,QAAQ,EACtC,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC;oBAChB,aAAa,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBAC/D,SAAS;YACV,CAAC;YAED,WAAW,CAAC,IAAI,CAAC;gBAChB,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;oBACzB,WAAW,CAAC,sBAAsB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,UAAU,CAAC,WAAW,GAAG,WAAW,CAAC;QACrC,OAAO,UAAU,CAAC;IACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACD","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tState,\n\tWatch,\n} from '@stencil/core';\nimport { IconVariant, PCheckboxCustomEvent } from '../../../components';\nimport { tableColumSizesOptions } from '../../../types/constants';\nimport {\n\tQuickFilter,\n\tRowClickEvent,\n\tTableColumnSizes,\n} from '../../../types/table';\nimport {\n\tfloatingMenuContainerClass,\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { cn } from '../../../utils/cn';\nimport {\n\tPAGINATION_DEFAULT_PAGE_SIZE,\n\tPAGINATION_DEFAULT_PAGE_SIZE_OPTIONS,\n} from '../../../utils/constants';\nimport { TableColumn } from '../../helpers/table/column/table-column.component';\nimport { TableExtraHeader } from '../../helpers/table/extra-header/table-extra-header.component';\nimport { TableRowAction } from '../../helpers/table/row-action/table-row-action.component';\nimport { buttonTemplateFunc } from '../../molecules/table/header/table-header.component';\n\nexport type templateFunc = () => string;\nexport type amountSelectedTemplateFunc = (amount: number) => string;\n\n@Component({\n\ttag: 'p-table',\n\tstyleUrl: 'table.component.css',\n})\nexport class Table {\n\t/**\n\t * The items to be fed to the table\n\t */\n\t@Prop() items: string;\n\n\t/**\n\t * Wether data is loading\n\t */\n\t@Prop() loading: boolean = false;\n\n\t/**\n\t * Wether the header should show loading state\n\t */\n\t@Prop() headerLoading: boolean = false;\n\n\t/**\n\t * Wether the footer should show loading state\n\t */\n\t@Prop() footerLoading: boolean = false;\n\n\t/**\n\t * The amount of loading rows to show\n\t */\n\t@Prop() amountOfLoadingRows: number = 6;\n\n\t/**\n\t * Wether to enable selection\n\t */\n\t@Prop() enableRowSelection: boolean = true;\n\n\t/**\n\t * A limit to the amount of rows that can be selected\n\t */\n\t@Prop() rowSelectionLimit: number | undefined;\n\n\t/**\n\t * Wether to enable row clicking\n\t */\n\t@Prop() enableRowClick: boolean = true;\n\n\t/**\n\t * The current selection of items\n\t */\n\t@Prop() selectedRows: any[] = [];\n\n\t/**\n\t * Wether to enable the floating menu\n\t */\n\t@Prop() enableFloatingMenu: boolean = true;\n\n\t/**\n\t * The template for amount selected item in the floating menu\n\t */\n\t@Prop() floatingMenuAmountSelectedTemplate: amountSelectedTemplateFunc = (\n\t\tamount: number\n\t) =>\n\t\tformatTranslation(\n\t\t\t(amount === 1\n\t\t\t\t? this._locales.floating_menu?.amount_selected\n\t\t\t\t: this._locales.floating_menu?.amount_selected_plural\n\t\t\t)?.replace('{{amount}}', amount)\n\t\t);\n\n\t/**\n\t * Event whenever the current selection changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tselectedRowsChange: EventEmitter<any>;\n\n\t/**\n\t * The key to determine if a row is selected\n\t */\n\t@Prop() selectionKey: string;\n\n\t/**\n\t * A key to determine if a row can be selected\n\t */\n\t@Prop() canSelectKey: string;\n\n\t/**\n\t * Event whenever a row is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowClick: EventEmitter<RowClickEvent>;\n\n\t/**\n\t * Event whenever a row is selected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowSelected: EventEmitter<any>;\n\n\t/**\n\t * Event whenever a row is deselected\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\trowDeselected: EventEmitter<any>;\n\n\t/**\n\t * Event when the table has rendered\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\thasRendered: EventEmitter<number>;\n\n\t/** START HEADER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableHeader: boolean = true;\n\n\t/**\n\t * Quick filters to show\n\t */\n\t@Prop() quickFilters: QuickFilter[] | string = [];\n\n\t/**\n\t * Active quick filter identifier\n\t */\n\t@Prop() activeQuickFilterIdentifier: string;\n\n\t/**\n\t * Wether to show the search input\n\t */\n\t@Prop() enableSearch: boolean = true;\n\n\t/**\n\t * The query to show in the search bar\n\t */\n\t@Prop({ mutable: true }) query: string;\n\n\t/**\n\t * Wether to show the filter button\n\t */\n\t@Prop() enableFilter: boolean = true;\n\n\t/**\n\t * Wether to show the filter button on desktop\n\t */\n\t@Prop() enableFilterDesktop: boolean = true;\n\n\t/**\n\t * The amount of filters being selected\n\t */\n\t@Prop() selectedFiltersAmount: number;\n\n\t/**\n\t * The template for the filter button text\n\t */\n\t@Prop() filterButtonTemplate: templateFunc;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = false;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionButtonLoading: boolean = false;\n\n\t/**\n\t * Wether the action button is enabled\n\t */\n\t@Prop() actionButtonEnabled: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionButtonIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionButtonText: string;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc;\n\n\t/**\n\t * Event when one of the quick filters is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tquickFilter: EventEmitter<QuickFilter>;\n\n\t/**\n\t * Event when the query changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tqueryChange: EventEmitter<string>;\n\n\t/**\n\t * Event when the filter button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tfilter: EventEmitter<null>;\n\n\t/**\n\t * Event when the action button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\taction: EventEmitter<null>;\n\n\t/** START FOOTER */\n\n\t/**\n\t * Wether to show the header\n\t */\n\t@Prop() enableFooter: boolean = true;\n\n\t/**\n\t * Wether to enable pagination size select\n\t */\n\t@Prop() enablePaginationSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination pages\n\t */\n\t@Prop() enablePaginationPages: boolean = true;\n\n\t/**\n\t * Wether to enable export\n\t */\n\t@Prop() enableExport: boolean = true;\n\n\t/**\n\t * The current page\n\t */\n\t@Prop({ mutable: true, reflect: true }) page: number = 1;\n\n\t/**\n\t * The total amount of items\n\t */\n\t@Prop() total!: number;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageChange: EventEmitter<number>;\n\n\t/**\n\t * The amount of items per page\n\t */\n\t@Prop() pageSize: number = PAGINATION_DEFAULT_PAGE_SIZE;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tpageSizeChange: EventEmitter<number>;\n\n\t/**\n\t * Event whenever the page changes\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\n\n\t/**\n\t * Wether to hide when there is only 1 page available\n\t */\n\t@Prop() hideOnSinglePage: boolean = true;\n\n\t/* Empty state start */\n\t@Prop() emptyStateHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.header);\n\t@Prop() emptyStateContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.content);\n\t@Prop() emptyStateAction: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state?.no_filter.action);\n\t/**\n\t * Wether to enable empty state action\n\t */\n\t@Prop() enableEmptyStateAction: boolean = true;\n\n\t@Prop() emptyStateFilteredHeader: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.header);\n\t@Prop() emptyStateFilteredContent: templateFunc = () =>\n\t\tformatTranslation(this._locales.empty_state.filtered.content);\n\n\t/**\n\t * Event whenever the empty state is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\temptyStateActionClick: EventEmitter<null>;\n\n\t/*\n\t * Wether to show the shadow or not\n\t */\n\t@Prop() shadow: boolean = true;\n\n\t/* Empty state end */\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Locales used for this component\n\t */\n\t@State() private _locales: any = {};\n\n\t@State() private _extraHeaders: any[] = [];\n\t@State() private _columns: any[] = [];\n\t@State() private _items: any[] = [];\n\n\t@State() private _enableRowSelection: boolean = this.enableRowSelection;\n\t@State() private _rowSelectionLimit: number | undefined;\n\n\tprivate _rowActionsFloatingAll: TableRowAction[] = [];\n\t@State() private _rowActionsFloating: TableRowAction[] = [];\n\t@State() private _rowActionsRow: TableRowAction[] = [];\n\n\t@State() private _footerHidden: boolean = false;\n\n\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _hasCustomActionsSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timeout | undefined;\n\n\tcomponentWillLoad() {\n\t\tthis._hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tthis._hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\tthis._setRowSelectionData();\n\n\t\tthis._setLocales();\n\t\tthis._parseItems(this.items);\n\t\tthis._generateExtraHeaders();\n\t\tthis._generateColumns();\n\t}\n\n\tcomponentDidRender() {\n\t\tthis.hasRendered.emit();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class='z-0 flex flex-col'>\n\t\t\t\t<p-table-container>\n\t\t\t\t\t{this.enableHeader && (\n\t\t\t\t\t\t<p-table-header\n\t\t\t\t\t\t\tclass='mb-8'\n\t\t\t\t\t\t\t// quick filters\n\t\t\t\t\t\t\tquickFilters={this.quickFilters}\n\t\t\t\t\t\t\tactiveQuickFilterIdentifier={this.activeQuickFilterIdentifier}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) => this.quickFilter.emit(detail)}\n\t\t\t\t\t\t\t// search\n\t\t\t\t\t\t\tenableSearch={this.enableSearch}\n\t\t\t\t\t\t\tquery={this.query}\n\t\t\t\t\t\t\tonQueryChange={({ detail }) => this.queryChange.emit(detail)}\n\t\t\t\t\t\t\t// filter button\n\t\t\t\t\t\t\tenableFilter={this.enableFilter}\n\t\t\t\t\t\t\tenableFilterDesktop={this.enableFilterDesktop}\n\t\t\t\t\t\t\tselectedFiltersAmount={this.selectedFiltersAmount}\n\t\t\t\t\t\t\tfilterButtonTemplate={this.filterButtonTemplate}\n\t\t\t\t\t\t\tonFilter={() => this.filter.emit()}\n\t\t\t\t\t\t\t// action button\n\t\t\t\t\t\t\tenableAction={this.enableAction}\n\t\t\t\t\t\t\tactionIcon={this.actionButtonIcon}\n\t\t\t\t\t\t\tactionText={this.actionButtonText}\n\t\t\t\t\t\t\tactionLoading={this.actionButtonLoading}\n\t\t\t\t\t\t\tcanUseAction={this.actionButtonEnabled}\n\t\t\t\t\t\t\tactionButtonTemplate={this.actionButtonTemplate}\n\t\t\t\t\t\t\tonAction={() => this.action.emit()}\n\t\t\t\t\t\t\titemsSelectedAmount={this.selectedRows?.length}\n\t\t\t\t\t\t\t//export\n\t\t\t\t\t\t\tenableExport={this.enableExport}\n\t\t\t\t\t\t\tonExport={() => this.export.emit()}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.headerLoading}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._hasCustomFilterSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-filter'\n\t\t\t\t\t\t\t\t\tslot='custom-filter'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{this._hasCustomActionsSlot && (\n\t\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t\tname='custom-actions'\n\t\t\t\t\t\t\t\t\tslot='custom-actions'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</p-table-header>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this._getExtraHeader()}\n\t\t\t\t\t{this._getHeader()}\n\t\t\t\t\t<div class='flex flex-1 flex-col'>\n\t\t\t\t\t\t{this._getRows()}\n\t\t\t\t\t\t<slot name='custom-rows' />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableFloatingMenu && this._enableRowSelection ? (\n\t\t\t\t\t\t<p-floating-menu-container\n\t\t\t\t\t\t\tusedInTable={true}\n\t\t\t\t\t\t\tclass={floatingMenuContainerClass({\n\t\t\t\t\t\t\t\thasFooter: this.enableFooter && !this._footerHidden,\n\t\t\t\t\t\t\t\tactive: !!this.selectedRows?.length,\n\t\t\t\t\t\t\t\tshown: this._floatingMenuShown,\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\tamountSelectedTemplate={this.floatingMenuAmountSelectedTemplate}\n\t\t\t\t\t\t\tamount={this.selectedRows?.length}\n\t\t\t\t\t\t\tenableAmountSelected={!!this._rowActionsFloating?.length}\n\t\t\t\t\t\t\tonClose={() => this._selectAllChange(null, false)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this._rowActionsFloating?.length &&\n\t\t\t\t\t\t\t\tthis._rowActionsFloating.map(a => (\n\t\t\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\t\t\t\t\t\t\t\t\tdisabled={a.disabled}\n\t\t\t\t\t\t\t\t\t\tloading={a.loading}\n\t\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\t\t\t!a.disabled &&\n\t\t\t\t\t\t\t\t\t\t\t!a.loading &&\n\t\t\t\t\t\t\t\t\t\t\t!!a.action &&\n\t\t\t\t\t\t\t\t\t\t\ta.type === 'single'\n\t\t\t\t\t\t\t\t\t\t\t\t? a.action(this.selectedRows[0], false)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(this.selectedRows, true)\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{a.label}\n\t\t\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</p-floating-menu-container>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.enableFooter && (\n\t\t\t\t\t\t<p-table-footer\n\t\t\t\t\t\t\t// overall\n\t\t\t\t\t\t\thideOnSinglePage={this.hideOnSinglePage}\n\t\t\t\t\t\t\t// page size select\n\t\t\t\t\t\t\tenablePaginationSize={this.enablePaginationSize}\n\t\t\t\t\t\t\tpageSize={this.pageSize}\n\t\t\t\t\t\t\tpageSizeOptions={this.pageSizeOptions}\n\t\t\t\t\t\t\tonPageSizeChange={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.pageSizeChange.emit(detail)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t// pagination\n\t\t\t\t\t\t\tenablePaginationPages={this.enablePaginationPages}\n\t\t\t\t\t\t\tpage={this.page}\n\t\t\t\t\t\t\ttotal={this.total}\n\t\t\t\t\t\t\tonPageChange={({ detail }) => this.pageChange.emit(detail)}\n\t\t\t\t\t\t\t//loading\n\t\t\t\t\t\t\tloading={this.footerLoading}\n\t\t\t\t\t\t\tonHiddenChange={({ detail }) => (this._footerHidden = detail)}\n\t\t\t\t\t\t\t// header adjustment\n\t\t\t\t\t\t\ttableHeaderHasAction={\n\t\t\t\t\t\t\t\tthis.enableHeader &&\n\t\t\t\t\t\t\t\tthis.enableAction &&\n\t\t\t\t\t\t\t\tthis.actionButtonEnabled\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\n\t\t\t\t</p-table-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Listen('localeChanged', { target: 'body' })\n\tprivate async _setLocales(): Promise<void> {\n\t\tthis._locales = await getLocaleComponentStrings(this._el);\n\t}\n\n\t@Listen('tableDefinitionChanged', { target: 'body' })\n\tonTableDefinitionUpdated() {\n\t\tthis._generateColumns();\n\t}\n\n\t@Listen('keydown', { target: 'document' })\n\tkeyDown({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === true) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = true;\n\t}\n\n\t@Listen('keyup', { target: 'document' })\n\tkeyUp({ key }) {\n\t\tif (key !== 'Control' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Listen('visibilitychange', { target: 'document' })\n\tvisibilityChange() {\n\t\tif (document.visibilityState !== 'hidden' || this._ctrlDown === false) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._ctrlDown = false;\n\t}\n\n\t@Watch('items')\n\tprivate _parseItems(items: string) {\n\t\tif (!items) {\n\t\t\tthis._items = [];\n\t\t\treturn;\n\t\t}\n\n\t\tif (Array.isArray(items)) {\n\t\t\tthis._items = items;\n\t\t\treturn;\n\t\t}\n\n\t\tthis._items = JSON.parse(items);\n\t}\n\n\t@Watch('enableRowSelection')\n\t@Watch('rowSelectionLimit')\n\t@Watch('selectedRows')\n\t@Listen('resize', { target: 'window' })\n\tprivate _setRowSelectionData() {\n\t\tif (this._resizeTimeout) {\n\t\t\tclearTimeout(this._resizeTimeout);\n\t\t}\n\n\t\t// We add a timeout here because it's a lot easier on the machine to do these when someone is done\n\t\t// resizing and playing around with their browser\n\t\tthis._resizeTimeout = setTimeout(() => {\n\t\t\tconst mobile = isMobile();\n\n\t\t\t// we hack this to any[] to make it work..\n\t\t\tconst actions = Array.from(\n\t\t\t\tthis._el.querySelectorAll(':scope > p-table-row-action')\n\t\t\t) as any[] as TableRowAction[];\n\t\t\tthis._rowActionsRow = actions.filter(\n\t\t\t\ta => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloatingAll = actions\n\t\t\t\t.filter(\n\t\t\t\t\ta =>\n\t\t\t\t\t\t(this.enableRowSelection &&\n\t\t\t\t\t\t\t(a.type === 'both' || a.type === 'multi')) ||\n\t\t\t\t\t\t(mobile && a.type === 'single')\n\t\t\t\t)\n\t\t\t\t.map(a => {\n\t\t\t\t\tif (a.type === 'single') {\n\t\t\t\t\t\ta.disabled = this.selectedRows?.length > 1;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn a;\n\t\t\t\t});\n\n\t\t\tlet rowSelectionLimit = this.rowSelectionLimit;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloatingAll?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t((rowSelectionLimit !== undefined && this.enableRowSelection) ||\n\t\t\t\t\t!this.enableRowSelection)\n\t\t\t) {\n\t\t\t\trowSelectionLimit = 1;\n\t\t\t}\n\n\t\t\tthis._rowSelectionLimit = rowSelectionLimit;\n\n\t\t\tlet enableRowSelection = this.enableRowSelection;\n\t\t\tif (\n\t\t\t\tmobile && // we're mobile\n\t\t\t\tthis._rowActionsFloatingAll?.length && // we have atleast 1 item in _rowActionsFloating\n\t\t\t\t!enableRowSelection\n\t\t\t) {\n\t\t\t\tenableRowSelection = true;\n\t\t\t}\n\n\t\t\tthis._enableRowSelection = enableRowSelection;\n\n\t\t\tif (this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\t\t}, 200);\n\t}\n\n\tprivate _generateExtraHeaders() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-extra-header');\n\t\tlet definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray = this._parseDefinitions(definitionsArray);\n\n\t\tthis._extraHeaders = definitionsArray;\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tlet definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray = this._parseDefinitions(definitionsArray);\n\n\t\tthis._columns = definitionsArray;\n\t}\n\n\tprivate _getExtraHeader() {\n\t\tif (!this._extraHeaders?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<p-table-row\n\t\t\t\tvariant='header-secondary'\n\t\t\t\tisLast={true}\n\t\t\t>\n\t\t\t\t{this._extraHeaders.map((col: TableExtraHeader, index) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\t\tvariant='header-secondary'\n\t\t\t\t\t\t\tcheckboxOffset={index === 0 && this._enableRowSelection}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<b>{col.name}</b>\n\t\t\t\t\t\t</p-table-cell>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getHeader() {\n\t\treturn (\n\t\t\t<p-table-row variant='header'>\n\t\t\t\t{this._columns.map((col: TableColumn, index) => (\n\t\t\t\t\t<p-table-cell\n\t\t\t\t\t\tdefinition={col}\n\t\t\t\t\t\tvalue={col.name}\n\t\t\t\t\t\tvariant='header'\n\t\t\t\t\t\tcheckbox={\n\t\t\t\t\t\t\tindex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t\t? this._getCheckbox(null, this.loading ? 'loading' : 'header')\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tindex={index}\n\t\t\t\t\t></p-table-cell>\n\t\t\t\t))}\n\t\t\t</p-table-row>\n\t\t);\n\t}\n\n\tprivate _getRows() {\n\t\tif (this.loading) {\n\t\t\treturn Array.from(\n\t\t\t\t{\n\t\t\t\t\tlength: this.amountOfLoadingRows,\n\t\t\t\t},\n\t\t\t\t(_, i) => (\n\t\t\t\t\t<p-table-row\n\t\t\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\t\t\tisLast={i === this.amountOfLoadingRows - 1}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this._getLoadingColumns(i)}\n\t\t\t\t\t</p-table-row>\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\tif (!this._items.length) {\n\t\t\treturn this._getEmptyState();\n\t\t}\n\n\t\treturn this._items.map((item, index) => (\n\t\t\t<p-table-row\n\t\t\t\tenableHover={this._enableRowSelection || this.enableRowClick}\n\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\tonClick={ev => this._rowClick(ev, index)}\n\t\t\t\tisLast={index === this._items.length - 1}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t\t{this._getActions(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getActions(item, index) {\n\t\tconst actions = this._rowActionsRow.filter(a =>\n\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t);\n\n\t\tif (actions?.length && !isMobile()) {\n\t\t\treturn (\n\t\t\t\t<p-table-row-actions-container\n\t\t\t\t\tslot='actions'\n\t\t\t\t\tchecked={this._selectionContains(index)}\n\t\t\t\t>\n\t\t\t\t\t{actions.map(a => (\n\t\t\t\t\t\t<p-tooltip\n\t\t\t\t\t\t\tstrategy='fixed'\n\t\t\t\t\t\t\tcontent={a.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\tsize='sm'\n\t\t\t\t\t\t\t\tonClick={() =>\n\t\t\t\t\t\t\t\t\ttypeof a.action === 'function' && a.action?.(item, false)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t))}\n\t\t\t\t</p-table-row-actions-container>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\tprivate _getRowColumns(item, index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\titem={item}\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox ? this._getCheckbox(index) : null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getLoadingColumns(index) {\n\t\treturn this._columns.map((col: TableColumn, colIndex) => {\n\t\t\treturn (\n\t\t\t\t<p-table-cell\n\t\t\t\t\tdefinition={col}\n\t\t\t\t\tvariant='loading'\n\t\t\t\t\tcheckbox={\n\t\t\t\t\t\tcolIndex === 0 || col.hasCheckbox\n\t\t\t\t\t\t\t? this._getCheckbox(index, 'loading')\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t\tindex={colIndex}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\t}\n\n\tprivate _getCheckbox(\n\t\trowIndex: number,\n\t\tvariant: 'header' | 'default' | 'loading' = 'default'\n\t) {\n\t\tif (\n\t\t\t!this._enableRowSelection ||\n\t\t\t(!this.selectionKey && !this._rowActionsFloating?.length)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (variant === 'loading') {\n\t\t\treturn (\n\t\t\t\t<p-loader\n\t\t\t\t\tvariant='ghost'\n\t\t\t\t\tclass='h-6 w-6 rounded'\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tif (variant === 'header') {\n\t\t\treturn (\n\t\t\t\t<p-checkbox\n\t\t\t\t\tclass={cn({\n\t\t\t\t\t\t'opacity-0': this._rowSelectionLimit !== undefined,\n\t\t\t\t\t})}\n\t\t\t\t\tchecked={this._selectionContainsAll()}\n\t\t\t\t\tindeterminate={this._selectionIndeterminate()}\n\t\t\t\t\tdisabled={this._rowSelectionLimit !== undefined}\n\t\t\t\t\tonCheckedChange={ev => this._selectAllChange(ev)}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\tconst item = this._items[rowIndex];\n\n\t\tconst selectionContains = this._selectionContains(rowIndex);\n\n\t\treturn (\n\t\t\t<p-checkbox\n\t\t\t\tclass='flex-shrink-0'\n\t\t\t\tdisabled={\n\t\t\t\t\t(this.canSelectKey && !item[this.canSelectKey]) ||\n\t\t\t\t\t(this._rowSelectionLimit !== undefined &&\n\t\t\t\t\t\t!selectionContains &&\n\t\t\t\t\t\tthis.selectedRows.length === this._rowSelectionLimit)\n\t\t\t\t}\n\t\t\t\tchecked={selectionContains}\n\t\t\t\tonCheckedChange={ev => this._checkboxChange(ev, rowIndex)}\n\t\t\t/>\n\t\t);\n\t}\n\n\tprivate _getEmptyState() {\n\t\tif (this.query?.length || this.selectedFiltersAmount) {\n\t\t\treturn (\n\t\t\t\t<p-empty-state\n\t\t\t\t\tclass='my-16 self-center'\n\t\t\t\t\tillustration='search'\n\t\t\t\t\theader={this.emptyStateFilteredHeader()}\n\t\t\t\t\tcontent={this.emptyStateFilteredContent()}\n\t\t\t\t></p-empty-state>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<p-empty-state\n\t\t\t\tclass='my-16 self-center'\n\t\t\t\tillustration='table'\n\t\t\t\theader={this.emptyStateHeader()}\n\t\t\t\tcontent={this.emptyStateContent()}\n\t\t\t\tenableAction={this.enableEmptyStateAction}\n\t\t\t\tactionIcon='plus'\n\t\t\t\tactionText={this.emptyStateAction()}\n\t\t\t\tonAction={() => this.enableAction && this.action.emit()}\n\t\t\t></p-empty-state>\n\t\t);\n\t}\n\n\tprivate _selectAllChange(\n\t\tev: PCheckboxCustomEvent<boolean>,\n\t\tforceValue?: boolean\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checked = ev?.detail ?? forceValue ?? false;\n\n\t\tconst value = forceValue === undefined ? checked : forceValue;\n\t\tif (value) {\n\t\t\tconst toAdd = [];\n\t\t\tfor (let i = 0; i < this._items.length; i++) {\n\t\t\t\tconst row = this._items[i];\n\t\t\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (this._selectionContains(i)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\ttoAdd.push(row);\n\t\t\t\tthis.rowSelected.emit(row);\n\n\t\t\t\tif (\n\t\t\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\t\t\tthis.selectedRows.length + toAdd.length === this._rowSelectionLimit\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.selectedRows = [...this.selectedRows, ...toAdd];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let i = 0; i < this.selectedRows.length; i++) {\n\t\t\tconst value = this.selectedRows[i];\n\t\t\tconst row = this._items.find(\n\t\t\t\td => this._getSelectionValue(d, i) === this._getSelectionValue(value, i)\n\t\t\t);\n\n\t\t\tif (!row) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tthis.rowDeselected.emit(row);\n\t\t}\n\n\t\tthis.selectedRows = [];\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t}\n\n\tprivate _checkboxChange(\n\t\t{ detail: checked, target }: PCheckboxCustomEvent<boolean>,\n\t\tindex: number\n\t) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tchecked &&\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length >= this._rowSelectionLimit\n\t\t) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._items[index];\n\n\t\tif (this.canSelectKey && !row[this.canSelectKey]) {\n\t\t\ttarget.checked = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif (checked) {\n\t\t\tthis.selectedRows = [\n\t\t\t\t...this.selectedRows,\n\t\t\t\t{\n\t\t\t\t\t...row,\n\t\t\t\t\tindex,\n\t\t\t\t},\n\t\t\t];\n\t\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\t\tthis.rowSelected.emit(row);\n\n\t\t\tif (this.enableFloatingMenu && !this._floatingMenuShown) {\n\t\t\t\tthis._showFloatingMenu();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst indexOfToRemove = this._selectionContains(index, true);\n\n\t\t// we need to do this, because splice does not trigger the selection setter.\n\t\tconst selection = [...this.selectedRows];\n\t\tselection.splice(indexOfToRemove, 1);\n\t\tthis.selectedRows = selection;\n\t\tthis.selectedRowsChange.emit(this.selectedRows);\n\t\tthis.rowDeselected.emit(row);\n\t}\n\n\tprivate _getSelectionValue(row: any, index: number) {\n\t\treturn this.selectionKey ? row?.[this.selectionKey] || index : index;\n\t}\n\n\tprivate _selectionContains(index, returnIndex = false): any {\n\t\tconst returnValue = this.selectedRows.findIndex(\n\t\t\titem => item.index === index\n\t\t);\n\t\treturn !returnIndex ? returnValue >= 0 : returnValue;\n\t}\n\n\tprivate _selectionContainsAll() {\n\t\tlet returnValue = true;\n\t\tif (!this._items?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (!contains) {\n\t\t\t\treturnValue = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn returnValue;\n\t}\n\n\tprivate _selectionIndeterminate() {\n\t\tif (!this._items?.length || !this.selectedRows?.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (\n\t\t\tthis._rowSelectionLimit !== undefined &&\n\t\t\tthis.selectedRows.length === this._rowSelectionLimit\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet containsCount = 0;\n\t\tfor (let i = 0; i < this._items?.length; i++) {\n\t\t\tconst contains = this._selectionContains(i);\n\n\t\t\tif (contains) {\n\t\t\t\tcontainsCount++;\n\t\t\t}\n\t\t}\n\n\t\treturn containsCount > 0 && containsCount !== this._items.length;\n\t}\n\n\tprivate _rowClick($event, index) {\n\t\tconst target = $event.target;\n\n\t\tif (\n\t\t\ttarget.tagName.toLowerCase() === 'input' ||\n\t\t\ttarget.type === 'checkbox'\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst row = this._findRow($event.target);\n\t\tconst action = this._findRowAction($event.target);\n\n\t\tif (action) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.enableRowClick) {\n\t\t\tconst item = this._items[index];\n\t\t\tthis.rowClick.emit({\n\t\t\t\titem,\n\t\t\t\tctrlDown: this._ctrlDown,\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst checkbox = row?.querySelector('input[type=\"checkbox\"]');\n\n\t\tif (!checkbox) {\n\t\t\treturn;\n\t\t}\n\n\t\tcheckbox.checked = !checkbox.checked;\n\t\tthis._checkboxChange(checkbox, index);\n\t}\n\n\tprivate _findRow(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn el;\n\t\t}\n\n\t\treturn this._findRow(el?.parentElement);\n\t}\n\n\tprivate _findRowAction(el: HTMLElement) {\n\t\tif (!el) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (\n\t\t\tel.getAttribute('data-is-action') !== null &&\n\t\t\tel.getAttribute('data-is-action') !== 'false'\n\t\t) {\n\t\t\treturn el;\n\t\t}\n\n\t\tif (el?.tagName?.toLowerCase() === 'p-table-row') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._findRowAction(el?.parentElement);\n\t}\n\n\tprivate _showFloatingMenu() {\n\t\tlet actions = this._rowActionsFloatingAll;\n\t\tif (\n\t\t\tthis.rowSelectionLimit === 1 &&\n\t\t\tactions.findIndex(\n\t\t\t\ta => (a.type === 'single' || a.type === 'both') && a.showFunction\n\t\t\t) >= 0\n\t\t) {\n\t\t\tactions = actions.filter(\n\t\t\t\ta =>\n\t\t\t\t\ta.type === 'multi' ||\n\t\t\t\t\t!a.showFunction ||\n\t\t\t\t\ta.showFunction(this.selectedRows[0])\n\t\t\t);\n\t\t}\n\n\t\tthis._rowActionsFloating = actions;\n\t\tthis._floatingMenuShown = true;\n\t}\n\n\tprivate _parseDefinitions(\n\t\tdefinitionsArray: HTMLPTableColumnElement[] | HTMLPTableExtraHeaderElement[]\n\t) {\n\t\treturn definitionsArray.map(definition => {\n\t\t\tdefinition = this._parseDefinitionSizes(definition);\n\t\t\treturn definition;\n\t\t});\n\t}\n\n\tprivate _parseDefinitionSizes(\n\t\tdefinition: HTMLPTableColumnElement | HTMLPTableExtraHeaderElement\n\t) {\n\t\tconst definitionAny = definition as any;\n\t\tlet parsedSizes: TableColumnSizes = { default: 'full' };\n\n\t\tif (\n\t\t\ttypeof definition.sizes === 'string' &&\n\t\t\t!['auto', 'hidden', 'full'].includes(definition.sizes)\n\t\t) {\n\t\t\tdefinition.sizes = JSON.parse(definition.sizes);\n\t\t}\n\n\t\tfor (const [index, size] of tableColumSizesOptions.entries()) {\n\t\t\tif (\n\t\t\t\tdefinitionAny.sizes === 'auto' ||\n\t\t\t\tdefinitionAny.sizes === 'hidden' ||\n\t\t\t\tdefinitionAny.sizes === 'full' ||\n\t\t\t\ttypeof definitionAny.sizes === 'number'\n\t\t\t) {\n\t\t\t\tparsedSizes[size] =\n\t\t\t\t\tdefinitionAny.sizes === 'auto' ? 'full' : definitionAny.sizes;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tparsedSizes[size] =\n\t\t\t\tdefinitionAny.sizes[size] ??\n\t\t\t\tparsedSizes[tableColumSizesOptions[index - 1]];\n\t\t}\n\n\t\tdefinition.parsedSizes = parsedSizes;\n\t\treturn definition;\n\t}\n}\n"]}
@@ -1,18 +1,21 @@
1
1
  import { cva } from "class-variance-authority";
2
2
  import { isTableColumnSizesKey, } from "../types";
3
- export const getTableCellColumnClasses = (definition, variant) => {
3
+ export const getTableCellColumnClasses = (definition, variant, checkboxOffset = false) => {
4
4
  const sizes = definition ? getTableCellSizes(definition, variant) : {};
5
5
  return {
6
6
  'flex flex-shrink items-center gap-4 pr-4 last-of-type:pr-0': true,
7
+ 'pl-8': checkboxOffset,
7
8
  'justify-start': !definition?.align || definition?.align === 'start',
8
9
  'justify-center': definition?.align === 'center',
9
10
  'justify-end': definition?.align === 'end',
10
11
  'font-semibold': variant !== 'header' && definition?.variant === 'subject',
11
- 'text-storm-400 dark:text-hurricane-200': variant === 'header',
12
+ 'text-storm-400 dark:text-hurricane-200': variant === 'header' || variant === 'header-secondary',
12
13
  'text-storm-300 dark:text-hurricane-200': variant !== 'header' &&
14
+ variant !== 'header-secondary' &&
13
15
  definition?.variant !== 'subject' &&
14
16
  definition?.variant !== 'highlight',
15
17
  'text-storm-500 dark:text-white': variant !== 'header' &&
18
+ variant !== 'header-secondary' &&
16
19
  (definition?.variant === 'subject' ||
17
20
  definition?.variant === 'highlight'),
18
21
  ...sizes,
@@ -1 +1 @@
1
- {"version":3,"file":"table-helpers.js","sourceRoot":"","sources":["../../src/utils/table-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { cva } from 'class-variance-authority';\nimport { TableColumn } from '../components/helpers/table/column/table-column.component';\nimport {\n\tisTableColumnSizesKey,\n\tTableColumnSizes,\n\tTableColumnSizesKey,\n} from '../types';\n\nexport const getTableCellColumnClasses = (\n\tdefinition: any | TableColumn,\n\tvariant: 'default' | 'header' | 'loading'\n) => {\n\tconst sizes = definition ? getTableCellSizes(definition, variant) : {};\n\n\treturn {\n\t\t'flex flex-shrink items-center gap-4 pr-4 last-of-type:pr-0': true,\n\t\t'justify-start': !definition?.align || definition?.align === 'start',\n\t\t'justify-center': definition?.align === 'center',\n\t\t'justify-end': definition?.align === 'end',\n\t\t'font-semibold': variant !== 'header' && definition?.variant === 'subject',\n\t\t'text-storm-400 dark:text-hurricane-200': variant === 'header',\n\t\t'text-storm-300 dark:text-hurricane-200':\n\t\t\tvariant !== 'header' &&\n\t\t\tdefinition?.variant !== 'subject' &&\n\t\t\tdefinition?.variant !== 'highlight',\n\t\t'text-storm-500 dark:text-white':\n\t\t\tvariant !== 'header' &&\n\t\t\t(definition?.variant === 'subject' ||\n\t\t\t\tdefinition?.variant === 'highlight'),\n\t\t...sizes,\n\t};\n};\n\nexport const getTableCellSizes = (\n\t{\n\t\tsizes,\n\t}: {\n\t\tsizes: 'auto' | 'hidden' | 'full' | number | TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions'\n) => {\n\tif (sizes === 'auto' || !sizes) {\n\t\treturn {\n\t\t\t'w-auto': true,\n\t\t};\n\t}\n\n\tif (sizes === 'hidden') {\n\t\treturn {\n\t\t\thidden: true,\n\t\t};\n\t}\n\n\tif (typeof sizes === 'object') {\n\t\tsizes = sizes as TableColumnSizes;\n\t\tconst classes: any = {};\n\t\tlet previousSize: TableColumnSizesKey | undefined;\n\n\t\tfor (let size in sizes) {\n\t\t\tif (!isTableColumnSizesKey(sizes, size)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (size === 'default') {\n\t\t\t\tif (sizes.default === 'hidden') {\n\t\t\t\t\tclasses['hidden'] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tclasses[`w-${sizes.default}/12`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst currentValue = sizes[size];\n\t\t\tconst previousValue = previousSize ? sizes[previousSize] : null;\n\t\t\tif (\n\t\t\t\tcurrentValue !== 'hidden' &&\n\t\t\t\tpreviousValue &&\n\t\t\t\tpreviousValue === 'hidden' &&\n\t\t\t\tvariant !== 'actions'\n\t\t\t) {\n\t\t\t\tclasses[`${size}:flex`] = true;\n\t\t\t}\n\n\t\t\tif (currentValue === 'hidden' && variant !== 'actions') {\n\t\t\t\tclasses[`${size}:hidden`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (currentValue === 12 || currentValue === 'full') {\n\t\t\t\tclasses[`${size}:w-full`] = true;\n\t\t\t}\n\n\t\t\tclasses[`${size}:w-${currentValue}/12`] = true;\n\t\t\tpreviousSize = size;\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tif (sizes === 12 || sizes === 'full') {\n\t\treturn {\n\t\t\t'w-full': true,\n\t\t};\n\t}\n\n\t// is a number.\n\treturn {\n\t\t[`w-${sizes}/12`]: true,\n\t};\n};\n\nexport const floatingMenuContainerClass = cva(['sticky self-center'], {\n\tvariants: {\n\t\thasFooter: {\n\t\t\ttrue: 'mt-4 -mb-5 bottom-11 z-[3]',\n\t\t\tfalse: 'my-4 bottom-0',\n\t\t},\n\t\tactive: {\n\t\t\tfalse: 'pointer-events-none animate-floating-menu-container-out',\n\t\t\ttrue: 'animate-floating-menu-container-in',\n\t\t},\n\t\tshown: {\n\t\t\tfalse: 'hidden',\n\t\t\ttrue: 'inline-block',\n\t\t},\n\t},\n});\n"]}
1
+ {"version":3,"file":"table-helpers.js","sourceRoot":"","sources":["../../src/utils/table-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,0BAA0B,CAAC;AAE/C,OAAO,EACN,qBAAqB,GAGrB,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,UAA6B,EAC7B,OAA8D,EAC9D,cAAc,GAAG,KAAK,EACrB,EAAE;IACH,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEvE,OAAO;QACN,4DAA4D,EAAE,IAAI;QAClE,MAAM,EAAE,cAAc;QACtB,eAAe,EAAE,CAAC,UAAU,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,KAAK,OAAO;QACpE,gBAAgB,EAAE,UAAU,EAAE,KAAK,KAAK,QAAQ;QAChD,aAAa,EAAE,UAAU,EAAE,KAAK,KAAK,KAAK;QAC1C,eAAe,EAAE,OAAO,KAAK,QAAQ,IAAI,UAAU,EAAE,OAAO,KAAK,SAAS;QAC1E,wCAAwC,EACvC,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,kBAAkB;QACvD,wCAAwC,EACvC,OAAO,KAAK,QAAQ;YACpB,OAAO,KAAK,kBAAkB;YAC9B,UAAU,EAAE,OAAO,KAAK,SAAS;YACjC,UAAU,EAAE,OAAO,KAAK,WAAW;QACpC,gCAAgC,EAC/B,OAAO,KAAK,QAAQ;YACpB,OAAO,KAAK,kBAAkB;YAC9B,CAAC,UAAU,EAAE,OAAO,KAAK,SAAS;gBACjC,UAAU,EAAE,OAAO,KAAK,WAAW,CAAC;QACtC,GAAG,KAAK;KACR,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAChC,EACC,KAAK,GAGL,CAAC,sBAAsB,EACxB,OAA0E,EACzE,EAAE;IACH,IAAI,KAAK,KAAK,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAChC,OAAO;YACN,QAAQ,EAAE,IAAI;SACd,CAAC;IACH,CAAC;IAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;YACN,MAAM,EAAE,IAAI;SACZ,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,KAAK,GAAG,KAAyB,CAAC;QAClC,MAAM,OAAO,GAAQ,EAAE,CAAC;QACxB,IAAI,YAA6C,CAAC;QAElD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;gBACzC,SAAS;YACV,CAAC;YAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBACzB,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACV,CAAC;gBAED,OAAO,CAAC,KAAK,KAAK,CAAC,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC;gBACxC,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACV,CAAC;YAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YACjC,MAAM,aAAa,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,IACC,YAAY,KAAK,QAAQ;gBACzB,aAAa;gBACb,aAAa,KAAK,QAAQ;gBAC1B,OAAO,KAAK,SAAS,EACpB,CAAC;gBACF,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,IAAI,CAAC;YAChC,CAAC;YAED,IAAI,YAAY,KAAK,QAAQ,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxD,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;gBACjC,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS;YACV,CAAC;YAED,IAAI,YAAY,KAAK,EAAE,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;YAClC,CAAC;YAED,OAAO,CAAC,GAAG,IAAI,MAAM,YAAY,KAAK,CAAC,GAAG,IAAI,CAAC;YAC/C,YAAY,GAAG,IAAI,CAAC;QACrB,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;QACtC,OAAO;YACN,QAAQ,EAAE,IAAI;SACd,CAAC;IACH,CAAC;IAED,eAAe;IACf,OAAO;QACN,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,IAAI;KACvB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE;IACrE,QAAQ,EAAE;QACT,SAAS,EAAE;YACV,IAAI,EAAE,4BAA4B;YAClC,KAAK,EAAE,eAAe;SACtB;QACD,MAAM,EAAE;YACP,KAAK,EAAE,yDAAyD;YAChE,IAAI,EAAE,oCAAoC;SAC1C;QACD,KAAK,EAAE;YACN,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,cAAc;SACpB;KACD;CACD,CAAC,CAAC","sourcesContent":["import { cva } from 'class-variance-authority';\nimport { TableColumn } from '../components/helpers/table/column/table-column.component';\nimport {\n\tisTableColumnSizesKey,\n\tTableColumnSizes,\n\tTableColumnSizesKey,\n} from '../types';\n\nexport const getTableCellColumnClasses = (\n\tdefinition: any | TableColumn,\n\tvariant: 'default' | 'header' | 'loading' | 'header-secondary',\n\tcheckboxOffset = false\n) => {\n\tconst sizes = definition ? getTableCellSizes(definition, variant) : {};\n\n\treturn {\n\t\t'flex flex-shrink items-center gap-4 pr-4 last-of-type:pr-0': true,\n\t\t'pl-8': checkboxOffset,\n\t\t'justify-start': !definition?.align || definition?.align === 'start',\n\t\t'justify-center': definition?.align === 'center',\n\t\t'justify-end': definition?.align === 'end',\n\t\t'font-semibold': variant !== 'header' && definition?.variant === 'subject',\n\t\t'text-storm-400 dark:text-hurricane-200':\n\t\t\tvariant === 'header' || variant === 'header-secondary',\n\t\t'text-storm-300 dark:text-hurricane-200':\n\t\t\tvariant !== 'header' &&\n\t\t\tvariant !== 'header-secondary' &&\n\t\t\tdefinition?.variant !== 'subject' &&\n\t\t\tdefinition?.variant !== 'highlight',\n\t\t'text-storm-500 dark:text-white':\n\t\t\tvariant !== 'header' &&\n\t\t\tvariant !== 'header-secondary' &&\n\t\t\t(definition?.variant === 'subject' ||\n\t\t\t\tdefinition?.variant === 'highlight'),\n\t\t...sizes,\n\t};\n};\n\nexport const getTableCellSizes = (\n\t{\n\t\tsizes,\n\t}: {\n\t\tsizes: 'auto' | 'hidden' | 'full' | number | TableColumnSizes;\n\t} /* Table Definition */,\n\tvariant: 'default' | 'header' | 'loading' | 'actions' | 'header-secondary'\n) => {\n\tif (sizes === 'auto' || !sizes) {\n\t\treturn {\n\t\t\t'w-auto': true,\n\t\t};\n\t}\n\n\tif (sizes === 'hidden') {\n\t\treturn {\n\t\t\thidden: true,\n\t\t};\n\t}\n\n\tif (typeof sizes === 'object') {\n\t\tsizes = sizes as TableColumnSizes;\n\t\tconst classes: any = {};\n\t\tlet previousSize: TableColumnSizesKey | undefined;\n\n\t\tfor (let size in sizes) {\n\t\t\tif (!isTableColumnSizesKey(sizes, size)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (size === 'default') {\n\t\t\t\tif (sizes.default === 'hidden') {\n\t\t\t\t\tclasses['hidden'] = true;\n\t\t\t\t\tpreviousSize = size;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tclasses[`w-${sizes.default}/12`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst currentValue = sizes[size];\n\t\t\tconst previousValue = previousSize ? sizes[previousSize] : null;\n\t\t\tif (\n\t\t\t\tcurrentValue !== 'hidden' &&\n\t\t\t\tpreviousValue &&\n\t\t\t\tpreviousValue === 'hidden' &&\n\t\t\t\tvariant !== 'actions'\n\t\t\t) {\n\t\t\t\tclasses[`${size}:flex`] = true;\n\t\t\t}\n\n\t\t\tif (currentValue === 'hidden' && variant !== 'actions') {\n\t\t\t\tclasses[`${size}:hidden`] = true;\n\t\t\t\tpreviousSize = size;\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (currentValue === 12 || currentValue === 'full') {\n\t\t\t\tclasses[`${size}:w-full`] = true;\n\t\t\t}\n\n\t\t\tclasses[`${size}:w-${currentValue}/12`] = true;\n\t\t\tpreviousSize = size;\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tif (sizes === 12 || sizes === 'full') {\n\t\treturn {\n\t\t\t'w-full': true,\n\t\t};\n\t}\n\n\t// is a number.\n\treturn {\n\t\t[`w-${sizes}/12`]: true,\n\t};\n};\n\nexport const floatingMenuContainerClass = cva(['sticky self-center'], {\n\tvariants: {\n\t\thasFooter: {\n\t\t\ttrue: 'mt-4 -mb-5 bottom-11 z-[3]',\n\t\t\tfalse: 'my-4 bottom-0',\n\t\t},\n\t\tactive: {\n\t\t\tfalse: 'pointer-events-none animate-floating-menu-container-out',\n\t\t\ttrue: 'animate-floating-menu-container-in',\n\t\t},\n\t\tshown: {\n\t\t\tfalse: 'hidden',\n\t\t\ttrue: 'inline-block',\n\t\t},\n\t},\n});\n"]}
@@ -2,7 +2,7 @@ export { g as getAssetPath, s as setAssetPath, a as setNonce, b as setPlatformOp
2
2
  export { i as initTheme, o as onStateChange, b as state, a as stateLocaleOptions, s as stateThemeOptions } from './p-DnVMEz1h.js';
3
3
  import { s as screens } from './p-B3sNjfzc.js';
4
4
  export { g as getScreenSize, b as getScreenSizeInPixels, a as getScreenSizeInRem, d as isBetweenScreens, i as isBiggerThanScreen, j as isDesktop, f as isMobile, c as isSmallerThanScreen, h as isTablet, e as isTouchDevice } from './p-B3sNjfzc.js';
5
- export { f as floatingMenuContainerClass, g as getTableCellColumnClasses, a as getTableCellSizes, i as isTableColumnSizesKey, o as objectGetByPath } from './p-1KS1K8BB.js';
5
+ export { f as floatingMenuContainerClass, g as getTableCellColumnClasses, a as getTableCellSizes, i as isTableColumnSizesKey, o as objectGetByPath } from './p-CT2cHZ7O.js';
6
6
  export { t as tableColumSizesOptions } from './p-DdQ-S2l7.js';
7
7
  export { I as IBAN_ICON_VARIANTS_ARRAY } from './p-By0EdXx2.js';
8
8
  export { c as childOf, a as childOfComposed } from './p-BFSNj6hu.js';