@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
@@ -0,0 +1,34 @@
1
+ import { EventEmitter } from '../../../../stencil-public-runtime';
2
+ import { TableColumnSizes } from '../../../../types/table';
3
+ export declare class TableExtraHeader {
4
+ /**
5
+ * The name of the column
6
+ */
7
+ name: string;
8
+ /**
9
+ * Wether the column should be sticky (Only works on angular variant of table)
10
+ */
11
+ sticky: boolean;
12
+ /**
13
+ * Wether the column should use the slot
14
+ */
15
+ useSlot: boolean;
16
+ /**
17
+ * The alignment of the column
18
+ */
19
+ align: 'start' | 'center' | 'end';
20
+ /**
21
+ * Parsed sizes based on the complete set of columns
22
+ */
23
+ parsedSizes: TableColumnSizes | undefined;
24
+ /**
25
+ * The sizes of the column
26
+ */
27
+ sizes: 'auto' | 'hidden' | 'full' | number | TableColumnSizes;
28
+ /**
29
+ * Event to let the table know it has to re render
30
+ */
31
+ tableDefinitionChanged: EventEmitter<boolean>;
32
+ componentDidUpdate(): void;
33
+ render(): void;
34
+ }
@@ -4,7 +4,7 @@ export declare class TableCell {
4
4
  /**
5
5
  * The variant of the column
6
6
  */
7
- variant: 'default' | 'loading' | 'header';
7
+ variant: 'default' | 'loading' | 'header' | 'header-secondary';
8
8
  /**
9
9
  * The index of the column
10
10
  */
@@ -29,6 +29,10 @@ export declare class TableCell {
29
29
  * The checkbox to show
30
30
  */
31
31
  checkbox: any;
32
+ /**
33
+ * Wether the cell needs checkbox offset instead of a checkbox
34
+ */
35
+ checkboxOffset: boolean;
32
36
  /**
33
37
  * The template to show
34
38
  */
@@ -2,7 +2,7 @@ export declare class TableRow {
2
2
  /**
3
3
  * Variant of the header
4
4
  */
5
- variant: 'default' | 'secondary' | 'header';
5
+ variant: 'default' | 'secondary' | 'header' | 'header-secondary';
6
6
  /**
7
7
  * Enable hover
8
8
  */
@@ -225,6 +225,7 @@ export declare class Table {
225
225
  * Locales used for this component
226
226
  */
227
227
  private _locales;
228
+ private _extraHeaders;
228
229
  private _columns;
229
230
  private _items;
230
231
  private _enableRowSelection;
@@ -252,7 +253,9 @@ export declare class Table {
252
253
  visibilityChange(): void;
253
254
  private _parseItems;
254
255
  private _setRowSelectionData;
256
+ private _generateExtraHeaders;
255
257
  private _generateColumns;
258
+ private _getExtraHeader;
256
259
  private _getHeader;
257
260
  private _getRows;
258
261
  private _getActions;
@@ -1828,6 +1828,10 @@ export namespace Components {
1828
1828
  * The checkbox to show
1829
1829
  */
1830
1830
  "checkbox": any;
1831
+ /**
1832
+ * Wether the cell needs checkbox offset instead of a checkbox
1833
+ */
1834
+ "checkboxOffset": boolean;
1831
1835
  /**
1832
1836
  * The definition of the table column
1833
1837
  */
@@ -1855,7 +1859,7 @@ export namespace Components {
1855
1859
  /**
1856
1860
  * The variant of the column
1857
1861
  */
1858
- "variant": 'default' | 'loading' | 'header';
1862
+ "variant": 'default' | 'loading' | 'header' | 'header-secondary';
1859
1863
  }
1860
1864
  interface PTableColumn {
1861
1865
  /**
@@ -1891,6 +1895,10 @@ export namespace Components {
1891
1895
  | 'full'
1892
1896
  | number
1893
1897
  | TableColumnSizes;
1898
+ /**
1899
+ * Wether the column should be sticky (Only works on angular variant of table)
1900
+ */
1901
+ "sticky": boolean;
1894
1902
  /**
1895
1903
  * Wether the column should use the slot
1896
1904
  */
@@ -1900,10 +1908,42 @@ export namespace Components {
1900
1908
  */
1901
1909
  "variant": | 'subject'
1902
1910
  | 'default'
1903
- | 'highlight';
1911
+ | 'highlight'
1912
+ | 'header-secondary';
1904
1913
  }
1905
1914
  interface PTableContainer {
1906
1915
  }
1916
+ interface PTableExtraHeader {
1917
+ /**
1918
+ * The alignment of the column
1919
+ */
1920
+ "align": 'start' | 'center' | 'end';
1921
+ /**
1922
+ * The name of the column
1923
+ */
1924
+ "name": string;
1925
+ /**
1926
+ * Parsed sizes based on the complete set of columns
1927
+ */
1928
+ "parsedSizes": | TableColumnSizes
1929
+ | undefined;
1930
+ /**
1931
+ * The sizes of the column
1932
+ */
1933
+ "sizes": | 'auto'
1934
+ | 'hidden'
1935
+ | 'full'
1936
+ | number
1937
+ | TableColumnSizes;
1938
+ /**
1939
+ * Wether the column should be sticky (Only works on angular variant of table)
1940
+ */
1941
+ "sticky": boolean;
1942
+ /**
1943
+ * Wether the column should use the slot
1944
+ */
1945
+ "useSlot": boolean;
1946
+ }
1907
1947
  interface PTableFooter {
1908
1948
  /**
1909
1949
  * Wether to enable pagination pages
@@ -2028,7 +2068,7 @@ export namespace Components {
2028
2068
  /**
2029
2069
  * Variant of the header
2030
2070
  */
2031
- "variant": 'default' | 'secondary' | 'header';
2071
+ "variant": 'default' | 'secondary' | 'header' | 'header-secondary';
2032
2072
  }
2033
2073
  interface PTableRowAction {
2034
2074
  /**
@@ -2279,6 +2319,10 @@ export interface PTableColumnCustomEvent<T> extends CustomEvent<T> {
2279
2319
  detail: T;
2280
2320
  target: HTMLPTableColumnElement;
2281
2321
  }
2322
+ export interface PTableExtraHeaderCustomEvent<T> extends CustomEvent<T> {
2323
+ detail: T;
2324
+ target: HTMLPTableExtraHeaderElement;
2325
+ }
2282
2326
  export interface PTableFooterCustomEvent<T> extends CustomEvent<T> {
2283
2327
  detail: T;
2284
2328
  target: HTMLPTableFooterElement;
@@ -3052,6 +3096,23 @@ declare global {
3052
3096
  prototype: HTMLPTableContainerElement;
3053
3097
  new (): HTMLPTableContainerElement;
3054
3098
  };
3099
+ interface HTMLPTableExtraHeaderElementEventMap {
3100
+ "tableDefinitionChanged": boolean;
3101
+ }
3102
+ interface HTMLPTableExtraHeaderElement extends Components.PTableExtraHeader, HTMLStencilElement {
3103
+ addEventListener<K extends keyof HTMLPTableExtraHeaderElementEventMap>(type: K, listener: (this: HTMLPTableExtraHeaderElement, ev: PTableExtraHeaderCustomEvent<HTMLPTableExtraHeaderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
3104
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3105
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
3106
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
3107
+ removeEventListener<K extends keyof HTMLPTableExtraHeaderElementEventMap>(type: K, listener: (this: HTMLPTableExtraHeaderElement, ev: PTableExtraHeaderCustomEvent<HTMLPTableExtraHeaderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
3108
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3109
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
3110
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
3111
+ }
3112
+ var HTMLPTableExtraHeaderElement: {
3113
+ prototype: HTMLPTableExtraHeaderElement;
3114
+ new (): HTMLPTableExtraHeaderElement;
3115
+ };
3055
3116
  interface HTMLPTableFooterElementEventMap {
3056
3117
  "pageChange": number;
3057
3118
  "pageSizeChange": number;
@@ -3239,6 +3300,7 @@ declare global {
3239
3300
  "p-table-cell": HTMLPTableCellElement;
3240
3301
  "p-table-column": HTMLPTableColumnElement;
3241
3302
  "p-table-container": HTMLPTableContainerElement;
3303
+ "p-table-extra-header": HTMLPTableExtraHeaderElement;
3242
3304
  "p-table-footer": HTMLPTableFooterElement;
3243
3305
  "p-table-header": HTMLPTableHeaderElement;
3244
3306
  "p-table-row": HTMLPTableRowElement;
@@ -5244,6 +5306,10 @@ declare namespace LocalJSX {
5244
5306
  * The checkbox to show
5245
5307
  */
5246
5308
  "checkbox"?: any;
5309
+ /**
5310
+ * Wether the cell needs checkbox offset instead of a checkbox
5311
+ */
5312
+ "checkboxOffset"?: boolean;
5247
5313
  /**
5248
5314
  * The definition of the table column
5249
5315
  */
@@ -5271,7 +5337,7 @@ declare namespace LocalJSX {
5271
5337
  /**
5272
5338
  * The variant of the column
5273
5339
  */
5274
- "variant"?: 'default' | 'loading' | 'header';
5340
+ "variant"?: 'default' | 'loading' | 'header' | 'header-secondary';
5275
5341
  }
5276
5342
  interface PTableColumn {
5277
5343
  /**
@@ -5311,6 +5377,10 @@ declare namespace LocalJSX {
5311
5377
  | 'full'
5312
5378
  | number
5313
5379
  | TableColumnSizes;
5380
+ /**
5381
+ * Wether the column should be sticky (Only works on angular variant of table)
5382
+ */
5383
+ "sticky"?: boolean;
5314
5384
  /**
5315
5385
  * Wether the column should use the slot
5316
5386
  */
@@ -5320,10 +5390,46 @@ declare namespace LocalJSX {
5320
5390
  */
5321
5391
  "variant"?: | 'subject'
5322
5392
  | 'default'
5323
- | 'highlight';
5393
+ | 'highlight'
5394
+ | 'header-secondary';
5324
5395
  }
5325
5396
  interface PTableContainer {
5326
5397
  }
5398
+ interface PTableExtraHeader {
5399
+ /**
5400
+ * The alignment of the column
5401
+ */
5402
+ "align"?: 'start' | 'center' | 'end';
5403
+ /**
5404
+ * The name of the column
5405
+ */
5406
+ "name"?: string;
5407
+ /**
5408
+ * Event to let the table know it has to re render
5409
+ */
5410
+ "onTableDefinitionChanged"?: (event: PTableExtraHeaderCustomEvent<boolean>) => void;
5411
+ /**
5412
+ * Parsed sizes based on the complete set of columns
5413
+ */
5414
+ "parsedSizes"?: | TableColumnSizes
5415
+ | undefined;
5416
+ /**
5417
+ * The sizes of the column
5418
+ */
5419
+ "sizes"?: | 'auto'
5420
+ | 'hidden'
5421
+ | 'full'
5422
+ | number
5423
+ | TableColumnSizes;
5424
+ /**
5425
+ * Wether the column should be sticky (Only works on angular variant of table)
5426
+ */
5427
+ "sticky"?: boolean;
5428
+ /**
5429
+ * Wether the column should use the slot
5430
+ */
5431
+ "useSlot"?: boolean;
5432
+ }
5327
5433
  interface PTableFooter {
5328
5434
  /**
5329
5435
  * Wether to enable pagination pages
@@ -5480,7 +5586,7 @@ declare namespace LocalJSX {
5480
5586
  /**
5481
5587
  * Variant of the header
5482
5588
  */
5483
- "variant"?: 'default' | 'secondary' | 'header';
5589
+ "variant"?: 'default' | 'secondary' | 'header' | 'header-secondary';
5484
5590
  }
5485
5591
  interface PTableRowAction {
5486
5592
  /**
@@ -5709,6 +5815,7 @@ declare namespace LocalJSX {
5709
5815
  "p-table-cell": PTableCell;
5710
5816
  "p-table-column": PTableColumn;
5711
5817
  "p-table-container": PTableContainer;
5818
+ "p-table-extra-header": PTableExtraHeader;
5712
5819
  "p-table-footer": PTableFooter;
5713
5820
  "p-table-header": PTableHeader;
5714
5821
  "p-table-row": PTableRow;
@@ -5794,6 +5901,7 @@ declare module "@stencil/core" {
5794
5901
  "p-table-cell": LocalJSX.PTableCell & JSXBase.HTMLAttributes<HTMLPTableCellElement>;
5795
5902
  "p-table-column": LocalJSX.PTableColumn & JSXBase.HTMLAttributes<HTMLPTableColumnElement>;
5796
5903
  "p-table-container": LocalJSX.PTableContainer & JSXBase.HTMLAttributes<HTMLPTableContainerElement>;
5904
+ "p-table-extra-header": LocalJSX.PTableExtraHeader & JSXBase.HTMLAttributes<HTMLPTableExtraHeaderElement>;
5797
5905
  "p-table-footer": LocalJSX.PTableFooter & JSXBase.HTMLAttributes<HTMLPTableFooterElement>;
5798
5906
  "p-table-header": LocalJSX.PTableHeader & JSXBase.HTMLAttributes<HTMLPTableHeaderElement>;
5799
5907
  "p-table-row": LocalJSX.PTableRow & JSXBase.HTMLAttributes<HTMLPTableRowElement>;
@@ -1,9 +1,9 @@
1
1
  import { TableColumn } from '../components/helpers/table/column/table-column.component';
2
2
  import { TableColumnSizes } from '../types';
3
- export declare const getTableCellColumnClasses: (definition: any | TableColumn, variant: "default" | "header" | "loading") => any;
3
+ export declare const getTableCellColumnClasses: (definition: any | TableColumn, variant: "default" | "header" | "loading" | "header-secondary", checkboxOffset?: boolean) => any;
4
4
  export declare const getTableCellSizes: ({ sizes, }: {
5
5
  sizes: "auto" | "hidden" | "full" | number | TableColumnSizes;
6
- }, variant: "default" | "header" | "loading" | "actions") => any;
6
+ }, variant: "default" | "header" | "loading" | "actions" | "header-secondary") => any;
7
7
  export declare const floatingMenuContainerClass: (props?: {
8
8
  hasFooter?: boolean;
9
9
  active?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperless/core",
3
- "version": "2.15.2",
3
+ "version": "2.16.0",
4
4
  "description": "Stencil Component Starter",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs.js",
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,g as i,h as s,H as n}from"./p-Dpmiv2da.js";import{t as o}from"./p-DdQ-S2l7.js";import{f as a,g as r}from"./p-DiJj8rmO.js";import{f as h}from"./p-D8FNwRNH.js";import{f as l}from"./p-B3sNjfzc.js";import{c}from"./p-CT54OXR2.js";import{P as u,a as f}from"./p-vyRrSf5s.js";import"./p-CBWjHURv.js";import"./p-ChV9xqsO.js";const d="*{box-sizing:border-box}.static{position:static!important}.fixed{position:fixed!important}.z-0{z-index:0!important}.my-16{margin-bottom:4rem!important;margin-top:4rem!important}.mb-8{margin-bottom:2rem!important}.flex{display:flex!important}.table{display:table!important}.hidden{display:none!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.flex-1{flex:1 1 0%!important}.flex-shrink-0{flex-shrink:0!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}";const p=class{constructor(i){t(this,i);this.selectedRowsChange=e(this,"selectedRowsChange",3);this.rowClick=e(this,"rowClick",3);this.rowSelected=e(this,"rowSelected",3);this.rowDeselected=e(this,"rowDeselected",3);this.hasRendered=e(this,"hasRendered",3);this.quickFilter=e(this,"quickFilter",3);this.queryChange=e(this,"queryChange",3);this.filter=e(this,"filter",3);this.action=e(this,"action",3);this.pageChange=e(this,"pageChange",3);this.pageSizeChange=e(this,"pageSizeChange",3);this.export=e(this,"export",3);this.emptyStateActionClick=e(this,"emptyStateActionClick",3)}items;loading=false;headerLoading=false;footerLoading=false;amountOfLoadingRows=6;enableRowSelection=true;rowSelectionLimit;enableRowClick=true;selectedRows=[];enableFloatingMenu=true;floatingMenuAmountSelectedTemplate=t=>a((t===1?this._locales.floating_menu?.amount_selected:this._locales.floating_menu?.amount_selected_plural)?.replace("{{amount}}",t));selectedRowsChange;selectionKey;canSelectKey;rowClick;rowSelected;rowDeselected;hasRendered;enableHeader=true;quickFilters=[];activeQuickFilterIdentifier;enableSearch=true;query;enableFilter=true;enableFilterDesktop=true;selectedFiltersAmount;filterButtonTemplate;enableAction=false;actionButtonLoading=false;actionButtonEnabled=false;actionButtonIcon="pencil";actionButtonText;actionButtonTemplate;quickFilter;queryChange;filter;action;enableFooter=true;enablePaginationSize=true;enablePaginationPages=true;enableExport=true;page=1;total;pageChange;pageSize=u;pageSizeOptions=f;pageSizeChange;export;hideOnSinglePage=true;emptyStateHeader=()=>a(this._locales.empty_state?.no_filter.header);emptyStateContent=()=>a(this._locales.empty_state?.no_filter.content);emptyStateAction=()=>a(this._locales.empty_state?.no_filter.action);enableEmptyStateAction=true;emptyStateFilteredHeader=()=>a(this._locales.empty_state.filtered.header);emptyStateFilteredContent=()=>a(this._locales.empty_state.filtered.content);emptyStateActionClick;shadow=true;get _el(){return i(this)}_locales={};_columns=[];_items=[];_enableRowSelection=this.enableRowSelection;_rowSelectionLimit;_rowActionsFloatingAll=[];_rowActionsFloating=[];_rowActionsRow=[];_footerHidden=false;_ctrlDown=false;_hasCustomFilterSlot=false;_hasCustomActionsSlot=false;_floatingMenuShown=false;_resizeTimeout;componentWillLoad(){this._hasCustomFilterSlot=!!this._el.querySelector(':scope > [slot="custom-filter"]');this._hasCustomActionsSlot=!!this._el.querySelector(':scope > [slot="custom-actions"]');this._setRowSelectionData();this._setLocales();this._parseItems(this.items);this._generateColumns()}componentDidRender(){this.hasRendered.emit()}render(){return s(n,{key:"5e21e018cfed6d71d2afb1e05be1e47e2092ee4c",class:"z-0 flex flex-col"},s("p-table-container",{key:"ad8edeed8ee696a02e3f4848deddb2e2918fb1fa"},this.enableHeader&&s("p-table-header",{key:"0c93abf0c4bcb1ec0b4ed7251265dae18f56223c",class:"mb-8",quickFilters:this.quickFilters,activeQuickFilterIdentifier:this.activeQuickFilterIdentifier,onQuickFilter:({detail:t})=>this.quickFilter.emit(t),enableSearch:this.enableSearch,query:this.query,onQueryChange:({detail:t})=>this.queryChange.emit(t),enableFilter:this.enableFilter,enableFilterDesktop:this.enableFilterDesktop,selectedFiltersAmount:this.selectedFiltersAmount,filterButtonTemplate:this.filterButtonTemplate,onFilter:()=>this.filter.emit(),enableAction:this.enableAction,actionIcon:this.actionButtonIcon,actionText:this.actionButtonText,actionLoading:this.actionButtonLoading,canUseAction:this.actionButtonEnabled,actionButtonTemplate:this.actionButtonTemplate,onAction:()=>this.action.emit(),itemsSelectedAmount:this.selectedRows?.length,enableExport:this.enableExport,onExport:()=>this.export.emit(),loading:this.headerLoading},this._hasCustomFilterSlot&&s("slot",{key:"14257d67fed9adc5814e80b2ecf96092ecc56612",name:"custom-filter",slot:"custom-filter"}),this._hasCustomActionsSlot&&s("slot",{key:"ba3c0c51886c4518739bb57aa474cc81057992b5",name:"custom-actions",slot:"custom-actions"})),this._getHeader(),s("div",{key:"2da4deea5280c3a0d7b37ee23595c3d07ea005ee",class:"flex flex-1 flex-col"},this._getRows(),s("slot",{key:"ceb0bbd73f18f696e94ff05a44319a519ee8652f",name:"custom-rows"})),this.enableFloatingMenu&&this._enableRowSelection?s("p-floating-menu-container",{usedInTable:true,class:h({hasFooter:this.enableFooter&&!this._footerHidden,active:!!this.selectedRows?.length,shown:this._floatingMenuShown}),amountSelectedTemplate:this.floatingMenuAmountSelectedTemplate,amount:this.selectedRows?.length,enableAmountSelected:!!this._rowActionsFloating?.length,onClose:()=>this._selectAllChange(null,false)},this._rowActionsFloating?.length&&this._rowActionsFloating.map((t=>s("p-floating-menu-item",{slot:"floating-menu-item",disabled:t.disabled,loading:t.loading,icon:t.icon,iconRotate:t.iconRotate,iconFlip:t.iconFlip,onClick:()=>!t.disabled&&!t.loading&&!!t.action&&t.type==="single"?t.action(this.selectedRows[0],false):t.action(this.selectedRows,true)},t.label)))):"",this.enableFooter&&s("p-table-footer",{key:"76b41d28147823cff101694aa49e4b8920eb5058",hideOnSinglePage:this.hideOnSinglePage,enablePaginationSize:this.enablePaginationSize,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPageSizeChange:({detail:t})=>this.pageSizeChange.emit(t),enablePaginationPages:this.enablePaginationPages,page:this.page,total:this.total,onPageChange:({detail:t})=>this.pageChange.emit(t),loading:this.footerLoading,onHiddenChange:({detail:t})=>this._footerHidden=t,tableHeaderHasAction:this.enableHeader&&this.enableAction&&this.actionButtonEnabled})))}async _setLocales(){this._locales=await r(this._el)}onTableDefinitionUpdated(){this._generateColumns()}keyDown({key:t}){if(t!=="Control"||this._ctrlDown===true){return}this._ctrlDown=true}keyUp({key:t}){if(t!=="Control"||this._ctrlDown===false){return}this._ctrlDown=false}visibilityChange(){if(document.visibilityState!=="hidden"||this._ctrlDown===false){return}this._ctrlDown=false}_parseItems(t){if(!t){this._items=[];return}if(Array.isArray(t)){this._items=t;return}this._items=JSON.parse(t)}_setRowSelectionData(){if(this._resizeTimeout){clearTimeout(this._resizeTimeout)}this._resizeTimeout=setTimeout((()=>{const t=l();const e=Array.from(this._el.querySelectorAll(":scope > p-table-row-action"));this._rowActionsRow=e.filter((t=>t.type==="both"||t.type==="single"));this._rowActionsFloatingAll=e.filter((e=>this.enableRowSelection&&(e.type==="both"||e.type==="multi")||t&&e.type==="single")).map((t=>{if(t.type==="single"){t.disabled=this.selectedRows?.length>1}return t}));let i=this.rowSelectionLimit;if(t&&this._rowActionsFloatingAll?.length&&(i!==undefined&&this.enableRowSelection||!this.enableRowSelection)){i=1}this._rowSelectionLimit=i;let s=this.enableRowSelection;if(t&&this._rowActionsFloatingAll?.length&&!s){s=true}this._enableRowSelection=s;if(this._floatingMenuShown){this._showFloatingMenu()}}),200)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");let e=Array.from(t);e=this._parseDefinitions(e);this._columns=e}_getHeader(){return s("p-table-row",{variant:"header"},this._columns.map(((t,e)=>s("p-table-cell",{definition:t,value:t.name,variant:"header",checkbox:e===0||t.hasCheckbox?this._getCheckbox(null,this.loading?"loading":"header"):null,index:e}))))}_getRows(){if(this.loading){return Array.from({length:this.amountOfLoadingRows},((t,e)=>s("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick,isLast:e===this.amountOfLoadingRows-1},this._getLoadingColumns(e))))}if(!this._items.length){return this._getEmptyState()}return this._items.map(((t,e)=>s("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick,checked:this._selectionContains(e),onClick:t=>this._rowClick(t,e),isLast:e===this._items.length-1},this._getRowColumns(t,e),this._getActions(t,e))))}_getActions(t,e){const i=this._rowActionsRow.filter((e=>e.showFunction?e.showFunction(t):true));if(i?.length&&!l()){return s("p-table-row-actions-container",{slot:"actions",checked:this._selectionContains(e)},i.map((e=>s("p-tooltip",{strategy:"fixed",content:e.label},s("p-button",{"data-is-action":true,variant:"secondary",slot:"trigger",icon:e.icon,iconRotate:e.iconRotate,iconFlip:e.iconFlip,iconOnly:true,size:"sm",onClick:()=>typeof e.action==="function"&&e.action?.(t,false)})))))}return null}_getRowColumns(t,e){return this._columns.map(((i,n)=>s("p-table-cell",{definition:i,item:t,checkbox:n===0||i.hasCheckbox?this._getCheckbox(e):null,index:n,rowIndex:e})))}_getLoadingColumns(t){return this._columns.map(((e,i)=>s("p-table-cell",{definition:e,variant:"loading",checkbox:i===0||e.hasCheckbox?this._getCheckbox(t,"loading"):null,index:i,rowIndex:t})))}_getCheckbox(t,e="default"){if(!this._enableRowSelection||!this.selectionKey&&!this._rowActionsFloating?.length){return}if(e==="loading"){return s("p-loader",{variant:"ghost",class:"h-6 w-6 rounded"})}if(e==="header"){return s("p-checkbox",{class:c({"opacity-0":this._rowSelectionLimit!==undefined}),checked:this._selectionContainsAll(),indeterminate:this._selectionIndeterminate(),disabled:this._rowSelectionLimit!==undefined,onCheckedChange:t=>this._selectAllChange(t)})}const i=this._items[t];const n=this._selectionContains(t);return s("p-checkbox",{class:"flex-shrink-0",disabled:this.canSelectKey&&!i[this.canSelectKey]||this._rowSelectionLimit!==undefined&&!n&&this.selectedRows.length===this._rowSelectionLimit,checked:n,onCheckedChange:e=>this._checkboxChange(e,t)})}_getEmptyState(){if(this.query?.length||this.selectedFiltersAmount){return s("p-empty-state",{class:"my-16 self-center",illustration:"search",header:this.emptyStateFilteredHeader(),content:this.emptyStateFilteredContent()})}return s("p-empty-state",{class:"my-16 self-center",illustration:"table",header:this.emptyStateHeader(),content:this.emptyStateContent(),enableAction:this.enableEmptyStateAction,actionIcon:"plus",actionText:this.emptyStateAction(),onAction:()=>this.enableAction&&this.action.emit()})}_selectAllChange(t,e){if(!this._enableRowSelection){return}const i=t?.detail??e??false;const s=e===undefined?i:e;if(s){const t=[];for(let e=0;e<this._items.length;e++){const i=this._items[e];if(this.canSelectKey&&!i[this.canSelectKey]){continue}if(this._selectionContains(e)){continue}t.push(i);this.rowSelected.emit(i);if(this._rowSelectionLimit!==undefined&&this.selectedRows.length+t.length===this._rowSelectionLimit){break}}this.selectedRows=[...this.selectedRows,...t];this.selectedRowsChange.emit(this.selectedRows);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._showFloatingMenu()}return}for(let t=0;t<this.selectedRows.length;t++){const e=this.selectedRows[t];const i=this._items.find((i=>this._getSelectionValue(i,t)===this._getSelectionValue(e,t)));if(!i){continue}this.rowDeselected.emit(i)}this.selectedRows=[];this.selectedRowsChange.emit(this.selectedRows)}_checkboxChange({detail:t,target:e},i){if(!this._enableRowSelection){return}if(t&&this._rowSelectionLimit!==undefined&&this.selectedRows.length>=this._rowSelectionLimit){e.checked=false;return}const s=this._items[i];if(this.canSelectKey&&!s[this.canSelectKey]){e.checked=false;return}if(t){this.selectedRows=[...this.selectedRows,{...s,index:i}];this.selectedRowsChange.emit(this.selectedRows);this.rowSelected.emit(s);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._showFloatingMenu()}return}const n=this._selectionContains(i,true);const o=[...this.selectedRows];o.splice(n,1);this.selectedRows=o;this.selectedRowsChange.emit(this.selectedRows);this.rowDeselected.emit(s)}_getSelectionValue(t,e){return this.selectionKey?t?.[this.selectionKey]||e:e}_selectionContains(t,e=false){const i=this.selectedRows.findIndex((e=>e.index===t));return!e?i>=0:i}_selectionContainsAll(){let t=true;if(!this._items?.length){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return true}for(let e=0;e<this._items?.length;e++){const i=this._selectionContains(e);if(!i){t=false;break}}return t}_selectionIndeterminate(){if(!this._items?.length||!this.selectedRows?.length){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return false}let t=0;for(let e=0;e<this._items?.length;e++){const i=this._selectionContains(e);if(i){t++}}return t>0&&t!==this._items.length}_rowClick(t,e){const i=t.target;if(i.tagName.toLowerCase()==="input"||i.type==="checkbox"){return}const s=this._findRow(t.target);const n=this._findRowAction(t.target);if(n){return}if(this.enableRowClick){const t=this._items[e];this.rowClick.emit({item:t,ctrlDown:this._ctrlDown});return}if(!this._enableRowSelection){return}const o=s?.querySelector('input[type="checkbox"]');if(!o){return}o.checked=!o.checked;this._checkboxChange(o,e)}_findRow(t){if(!t){return t}if(t?.tagName?.toLowerCase()==="p-table-row"){return t}return this._findRow(t?.parentElement)}_findRowAction(t){if(!t){return null}if(t.getAttribute("data-is-action")!==null&&t.getAttribute("data-is-action")!=="false"){return t}if(t?.tagName?.toLowerCase()==="p-table-row"){return null}return this._findRowAction(t?.parentElement)}_showFloatingMenu(){let t=this._rowActionsFloatingAll;if(this.rowSelectionLimit===1&&t.findIndex((t=>(t.type==="single"||t.type==="both")&&t.showFunction))>=0){t=t.filter((t=>t.type==="multi"||!t.showFunction||t.showFunction(this.selectedRows[0])))}this._rowActionsFloating=t;this._floatingMenuShown=true}_parseDefinitions(t){return t.map((t=>{t=this._parseDefinitionSizes(t);return t}))}_parseDefinitionSizes(t){const e=t;let i={default:"full"};if(typeof t.sizes==="string"&&!["auto","hidden","full"].includes(t.sizes)){t.sizes=JSON.parse(t.sizes)}for(const[t,s]of o.entries()){if(e.sizes==="auto"||e.sizes==="hidden"||e.sizes==="full"||typeof e.sizes==="number"){i[s]=e.sizes==="auto"?"full":e.sizes;continue}i[s]=e.sizes[s]??i[o[t-1]]}t.parsedSizes=i;return t}static get watchers(){return{items:["_parseItems"],enableRowSelection:["_setRowSelectionData"],rowSelectionLimit:["_setRowSelectionData"],selectedRows:["_setRowSelectionData"]}}};p.style=d;export{p as p_table};
2
- //# sourceMappingURL=p-367d1ec2.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tableComponentCss","Table","items","loading","headerLoading","footerLoading","amountOfLoadingRows","enableRowSelection","rowSelectionLimit","enableRowClick","selectedRows","enableFloatingMenu","floatingMenuAmountSelectedTemplate","amount","formatTranslation","this","_locales","floating_menu","amount_selected","amount_selected_plural","replace","selectedRowsChange","selectionKey","canSelectKey","rowClick","rowSelected","rowDeselected","hasRendered","enableHeader","quickFilters","activeQuickFilterIdentifier","enableSearch","query","enableFilter","enableFilterDesktop","selectedFiltersAmount","filterButtonTemplate","enableAction","actionButtonLoading","actionButtonEnabled","actionButtonIcon","actionButtonText","actionButtonTemplate","quickFilter","queryChange","filter","action","enableFooter","enablePaginationSize","enablePaginationPages","enableExport","page","total","pageChange","pageSize","PAGINATION_DEFAULT_PAGE_SIZE","pageSizeOptions","PAGINATION_DEFAULT_PAGE_SIZE_OPTIONS","pageSizeChange","export","hideOnSinglePage","emptyStateHeader","empty_state","no_filter","header","emptyStateContent","content","emptyStateAction","enableEmptyStateAction","emptyStateFilteredHeader","filtered","emptyStateFilteredContent","emptyStateActionClick","shadow","_columns","_items","_enableRowSelection","_rowSelectionLimit","_rowActionsFloatingAll","_rowActionsFloating","_rowActionsRow","_footerHidden","_ctrlDown","_hasCustomFilterSlot","_hasCustomActionsSlot","_floatingMenuShown","_resizeTimeout","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","_generateColumns","componentDidRender","emit","render","h","Host","key","class","onQuickFilter","detail","onQueryChange","onFilter","actionIcon","actionText","actionLoading","canUseAction","onAction","itemsSelectedAmount","length","onExport","name","slot","_getHeader","_getRows","usedInTable","floatingMenuContainerClass","hasFooter","active","shown","amountSelectedTemplate","enableAmountSelected","onClose","_selectAllChange","map","a","disabled","icon","iconRotate","iconFlip","onClick","type","label","onPageSizeChange","onPageChange","onHiddenChange","tableHeaderHasAction","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","keyUp","visibilityChange","document","visibilityState","Array","isArray","JSON","parse","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","undefined","_showFloatingMenu","definitions","definitionsArray","_parseDefinitions","variant","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","_","i","enableHover","isLast","_getLoadingColumns","_getEmptyState","item","checked","_selectionContains","ev","_rowClick","_getRowColumns","_getActions","showFunction","strategy","iconOnly","size","colIndex","rowIndex","cn","_selectionContainsAll","indeterminate","_selectionIndeterminate","onCheckedChange","selectionContains","_checkboxChange","illustration","forceValue","toAdd","row","push","find","d","_getSelectionValue","target","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","$event","tagName","toLowerCase","_findRow","_findRowAction","ctrlDown","el","parentElement","getAttribute","_parseDefinitionSizes","definitionAny","parsedSizes","default","sizes","includes","tableColumSizesOptions","entries"],"sources":["src/components/organisms/table/table.component.css?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":[null,"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"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{c as t}from"./p-CBWjHURv.js";function e(t,e){return e in t}const n=(t,e)=>{const n=t?r(t,e):{};return{"flex flex-shrink items-center gap-4 pr-4 last-of-type:pr-0":true,"justify-start":!t?.align||t?.align==="start","justify-center":t?.align==="center","justify-end":t?.align==="end","font-semibold":e!=="header"&&t?.variant==="subject","text-storm-400 dark:text-hurricane-200":e==="header","text-storm-300 dark:text-hurricane-200":e!=="header"&&t?.variant!=="subject"&&t?.variant!=="highlight","text-storm-500 dark:text-white":e!=="header"&&(t?.variant==="subject"||t?.variant==="highlight"),...n}};const r=({sizes:t},n)=>{if(t==="auto"||!t){return{"w-auto":true}}if(t==="hidden"){return{hidden:true}}if(typeof t==="object"){t=t;const r={};let i;for(let u in t){if(!e(t,u)){continue}if(u==="default"){if(t.default==="hidden"){r["hidden"]=true;i=u;continue}r[`w-${t.default}/12`]=true;i=u;continue}const o=t[u];const s=i?t[i]:null;if(o!=="hidden"&&s&&s==="hidden"&&n!=="actions"){r[`${u}:flex`]=true}if(o==="hidden"&&n!=="actions"){r[`${u}:hidden`]=true;i=u;continue}if(o===12||o==="full"){r[`${u}:w-full`]=true}r[`${u}:w-${o}/12`]=true;i=u}return r}if(t===12||t==="full"){return{"w-full":true}}return{[`w-${t}/12`]:true}};const i=t(["sticky self-center"],{variants:{hasFooter:{true:"mt-4 -mb-5 bottom-11 z-[3]",false:"my-4 bottom-0"},active:{false:"pointer-events-none animate-floating-menu-container-out",true:"animate-floating-menu-container-in"},shown:{false:"hidden",true:"inline-block"}}});export{r as a,i as f,n as g,e as i};
2
- //# sourceMappingURL=p-D8FNwRNH.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-D8FNwRNH.js","sources":["src/types/table.ts","src/utils/table-helpers.ts"],"sourcesContent":["export type QuickFilterTextFunction = () => string;\n\nexport interface QuickFilter {\n\tidentifier: string;\n\ttext: string | QuickFilterTextFunction;\n\tcount?: number;\n\tdefault?: boolean;\n}\n\nexport interface RowClickEvent {\n\titem: any;\n\tctrlDown: boolean;\n}\n\nexport interface TableDefinitionData {\n\tvalue: any;\n\titem: any;\n\tindex: number;\n\trowIndex: number;\n}\n\nexport type TableDefinitionTemplateFunc = (data: TableDefinitionData) => any;\n\nexport interface TableColumnSizes {\n\tdefault: number | 'hidden' | 'full';\n\ttablet?: number | 'hidden' | 'full';\n\t'desktop-xs'?: number | 'hidden' | 'full';\n\t'desktop-sm'?: number | 'hidden' | 'full';\n\tdesktop?: number | 'hidden' | 'full';\n\t'desktop-lg'?: number | 'hidden' | 'full';\n\t'desktop-xl'?: number | 'hidden' | 'full';\n}\n\nexport type TableColumnSizesKey =\n\t| 'default'\n\t| 'tablet'\n\t| 'desktop-xs'\n\t| 'desktop-sm'\n\t| 'desktop'\n\t| 'desktop-lg'\n\t| 'desktop-xl';\n\nexport function isTableColumnSizesKey(\n\tx: TableColumnSizes,\n\tk: PropertyKey\n): k is keyof TableColumnSizes {\n\treturn k in x;\n}\n","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"],"names":[],"mappings":"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"}