@paperless/core 2.14.17 → 2.15.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 (111) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/dist/build/p-367d1ec2.entry.js +2 -0
  3. package/dist/build/p-367d1ec2.entry.js.map +1 -0
  4. package/dist/build/{p-87a6ad4b.js → p-41efd48b.js} +1 -1
  5. package/dist/build/p-91130bb0.entry.js +2 -0
  6. package/dist/build/p-91130bb0.entry.js.map +1 -0
  7. package/dist/build/p-a7d047a4.entry.js +2 -0
  8. package/dist/build/p-a7d047a4.entry.js.map +1 -0
  9. package/dist/build/p-avatar.entry.esm.js.map +1 -1
  10. package/dist/build/p-c8c51618.entry.js +2 -0
  11. package/dist/build/p-c8c51618.entry.js.map +1 -0
  12. 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
  13. package/dist/build/p-table-column.entry.esm.js.map +1 -1
  14. package/dist/build/p-table.entry.esm.js.map +1 -1
  15. package/dist/build/paperless.esm.js +1 -1
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/p-avatar.cjs.entry.js +3 -3
  18. package/dist/cjs/p-avatar.cjs.entry.js.map +1 -1
  19. package/dist/cjs/p-avatar.entry.cjs.js.map +1 -1
  20. 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
  21. package/dist/cjs/p-empty-state_8.cjs.entry.js +28 -12
  22. package/dist/cjs/p-empty-state_8.cjs.entry.js.map +1 -1
  23. package/dist/cjs/p-table-column.cjs.entry.js +4 -0
  24. package/dist/cjs/p-table-column.cjs.entry.js.map +1 -1
  25. package/dist/cjs/p-table-column.entry.cjs.js.map +1 -1
  26. package/dist/cjs/p-table.cjs.entry.js +6 -2
  27. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  28. package/dist/cjs/p-table.entry.cjs.js.map +1 -1
  29. package/dist/cjs/paperless.cjs.js +1 -1
  30. package/dist/collection/components/atoms/avatar/avatar/avatar.component.css +1 -1
  31. package/dist/collection/components/atoms/avatar/avatar/avatar.component.js +2 -2
  32. package/dist/collection/components/atoms/avatar/avatar/avatar.component.js.map +1 -1
  33. package/dist/collection/components/helpers/table/column/table-column.component.js +24 -0
  34. package/dist/collection/components/helpers/table/column/table-column.component.js.map +1 -1
  35. package/dist/collection/components/molecules/table/cell/table-cell.component.js +11 -4
  36. package/dist/collection/components/molecules/table/cell/table-cell.component.js.map +1 -1
  37. package/dist/collection/components/molecules/table/footer/table-footer.component.css +1 -1
  38. package/dist/collection/components/molecules/table/footer/table-footer.component.js +34 -5
  39. package/dist/collection/components/molecules/table/footer/table-footer.component.js.map +1 -1
  40. package/dist/collection/components/molecules/table/header/table-header.component.css +1 -1
  41. package/dist/collection/components/molecules/table/header/table-header.component.js +1 -1
  42. package/dist/collection/components/molecules/table/header/table-header.component.js.map +1 -1
  43. package/dist/collection/components/organisms/table/table.component.js +6 -2
  44. package/dist/collection/components/organisms/table/table.component.js.map +1 -1
  45. package/dist/components/{p-C93Yl1f2.js → p-BJ_tiVQ2.js} +4 -4
  46. package/dist/components/{p-C93Yl1f2.js.map → p-BJ_tiVQ2.js.map} +1 -1
  47. package/dist/components/{p-DEg8xkEx.js → p-DZPr8Ee7.js} +5 -5
  48. package/dist/components/p-DZPr8Ee7.js.map +1 -0
  49. package/dist/components/{p-MpIEVhmn.js → p-DjVT03PN.js} +18 -8
  50. package/dist/components/p-DjVT03PN.js.map +1 -0
  51. package/dist/components/{p-dw4ui28s.js → p-Q0QulP11.js} +13 -6
  52. package/dist/components/p-Q0QulP11.js.map +1 -0
  53. package/dist/components/p-avatar.js +1 -1
  54. package/dist/components/p-select.js +1 -1
  55. package/dist/components/p-table-cell.js +1 -1
  56. package/dist/components/p-table-column.js +5 -0
  57. package/dist/components/p-table-column.js.map +1 -1
  58. package/dist/components/p-table-footer.js +1 -1
  59. package/dist/components/p-table-header.js +1 -1
  60. package/dist/components/p-table.js +9 -5
  61. package/dist/components/p-table.js.map +1 -1
  62. package/dist/esm/loader.js +1 -1
  63. package/dist/esm/p-avatar.entry.js +3 -3
  64. package/dist/esm/p-avatar.entry.js.map +1 -1
  65. 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
  66. package/dist/esm/p-empty-state_8.entry.js +28 -12
  67. package/dist/esm/p-empty-state_8.entry.js.map +1 -1
  68. package/dist/esm/p-table-column.entry.js +4 -0
  69. package/dist/esm/p-table-column.entry.js.map +1 -1
  70. package/dist/esm/p-table.entry.js +6 -2
  71. package/dist/esm/p-table.entry.js.map +1 -1
  72. package/dist/esm/paperless.js +1 -1
  73. package/dist/index.html +1 -1
  74. package/dist/paperless/p-367d1ec2.entry.js +2 -0
  75. package/dist/paperless/p-367d1ec2.entry.js.map +1 -0
  76. package/dist/paperless/p-91130bb0.entry.js +2 -0
  77. package/dist/paperless/p-91130bb0.entry.js.map +1 -0
  78. package/dist/paperless/p-a7d047a4.entry.js +2 -0
  79. package/dist/paperless/p-a7d047a4.entry.js.map +1 -0
  80. package/dist/paperless/p-avatar.entry.esm.js.map +1 -1
  81. package/dist/paperless/p-c8c51618.entry.js +2 -0
  82. package/dist/paperless/p-c8c51618.entry.js.map +1 -0
  83. 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
  84. package/dist/paperless/p-table-column.entry.esm.js.map +1 -1
  85. package/dist/paperless/p-table.entry.esm.js.map +1 -1
  86. package/dist/paperless/paperless.esm.js +1 -1
  87. package/dist/sw.js +1 -1
  88. package/dist/sw.js.map +1 -1
  89. package/dist/types/components/helpers/table/column/table-column.component.d.ts +4 -0
  90. package/dist/types/components/molecules/table/footer/table-footer.component.d.ts +4 -0
  91. package/dist/types/components.d.ts +16 -0
  92. package/package.json +1 -1
  93. package/dist/build/p-320413a7.entry.js +0 -2
  94. package/dist/build/p-320413a7.entry.js.map +0 -1
  95. package/dist/build/p-4f549bc9.entry.js +0 -2
  96. package/dist/build/p-4f549bc9.entry.js.map +0 -1
  97. package/dist/build/p-5e30c338.entry.js +0 -2
  98. package/dist/build/p-5e30c338.entry.js.map +0 -1
  99. package/dist/build/p-6e1e0b97.entry.js +0 -2
  100. package/dist/build/p-6e1e0b97.entry.js.map +0 -1
  101. package/dist/components/p-DEg8xkEx.js.map +0 -1
  102. package/dist/components/p-MpIEVhmn.js.map +0 -1
  103. package/dist/components/p-dw4ui28s.js.map +0 -1
  104. package/dist/paperless/p-320413a7.entry.js +0 -2
  105. package/dist/paperless/p-320413a7.entry.js.map +0 -1
  106. package/dist/paperless/p-4f549bc9.entry.js +0 -2
  107. package/dist/paperless/p-4f549bc9.entry.js.map +0 -1
  108. package/dist/paperless/p-5e30c338.entry.js +0 -2
  109. package/dist/paperless/p-5e30c338.entry.js.map +0 -1
  110. package/dist/paperless/p-6e1e0b97.entry.js +0 -2
  111. package/dist/paperless/p-6e1e0b97.entry.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/header/table-header.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { QuickFilter } from '../../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../../utils/localization';\nimport { IconVariant } from '../../../atoms/icon/icon.component';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\nconst header = cva([\n\t'flex flex-col gap-2 z-[1]',\n\t'w-full',\n\t'px-4 tablet:px-0',\n\n\t'desktop-xs:flex-row',\n]);\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.css',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\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 we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\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 amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\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 export button\n\t */\n\t@Prop() enableExport: 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\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\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/**\n\t * Event whenever the export button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\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\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconst quickFilters =\n\t\t\ttypeof this.quickFilters === 'string'\n\t\t\t\t? JSON.parse(this.quickFilters)\n\t\t\t\t: this.quickFilters;\n\n\t\tconst activeQuickFilter = quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class={header()}>\n\t\t\t\t\t{this.loading && (\n\t\t\t\t\t\t<p-loader\n\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t\t></p-loader>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!this.loading &&\n\t\t\t\t\t\t(hasCustomFilterSlot || quickFilters.length > 0) && (\n\t\t\t\t\t\t\t<div class='flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row'>\n\t\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t\t{quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t\t{quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? item.text\n\t\t\t\t\t\t\t\t\t\t\t\t\t: item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t<div class='flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center'>\n\t\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\t\tclass='desktop-xs:max-w-60'\n\t\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\t\tonValueChange={ev =>\n\t\t\t\t\t\t\t\t\tthis._queryObserver.next(ev.detail as string)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div class='flex items-center gap-2'>\n\t\t\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\t\tclass='hidden h-4 tablet:flex dark:text-white/15'\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.loading && this.enableExport && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\ticon='upload'\n\t\t\t\t\t\t\t\t\tclass='desktop-xs:auto w-full'\n\t\t\t\t\t\t\t\t\tonClick={() => this.export.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{formatTranslation(this._locales.export)}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t\t<div class='border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden'>\n\t\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\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\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"table-header.component.js","sourceRoot":"","sources":["../../../../../src/components/molecules/table/header/table-header.component.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tListen,\n\tProp,\n\tState,\n} from '@stencil/core';\nimport { cva } from 'class-variance-authority';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { QuickFilter } from '../../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n} from '../../../../utils/localization';\nimport { IconVariant } from '../../../atoms/icon/icon.component';\nimport { ThemedHost } from '../../../../internal/themed-host.component';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\nconst header = cva([\n\t'flex flex-col gap-2 z-[1]',\n\t'w-full',\n\t'px-4 tablet:px-0',\n\n\t'desktop-xs:flex-row',\n]);\n\n@Component({\n\ttag: 'p-table-header',\n\tstyleUrl: 'table-header.component.css',\n\tshadow: true,\n})\nexport class TableHeader {\n\tprivate _defaultFilterButtonTemplate: templateFunc = () =>\n\t\tformatTranslation(this._locales.filter);\n\tprivate _defaultActionButtonTemplate: buttonTemplateFunc = (amount: number) =>\n\t\tthis.actionText\n\t\t\t? this.actionText\n\t\t\t: formatTranslation(\n\t\t\t\t\tamount === 0\n\t\t\t\t\t\t? this._locales.edit\n\t\t\t\t\t\t: amount === 1\n\t\t\t\t\t\t? this._locales.edit_single\n\t\t\t\t\t\t: this._locales.edit_plural,\n\t\t\t\t\t{ amount }\n\t\t\t );\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 we want to show loading state\n\t */\n\t@Prop() loading: boolean = false;\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 amount of items that are selected\n\t */\n\t@Prop() itemsSelectedAmount: number = 0;\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 export button\n\t */\n\t@Prop() enableExport: 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\t\tthis._defaultFilterButtonTemplate;\n\n\t/**\n\t * Wether to show the action button\n\t */\n\t@Prop() enableAction: boolean = true;\n\n\t/**\n\t * Wether the action button is loading\n\t */\n\t@Prop() actionLoading: boolean = false;\n\n\t/**\n\t * The action button icon\n\t */\n\t@Prop() actionIcon: IconVariant = 'pencil';\n\n\t/**\n\t * The action button text if changed\n\t */\n\t@Prop() actionText: string;\n\n\t/**\n\t * Wether to enable the action button\n\t */\n\t@Prop({ mutable: true }) canUseAction: boolean = false;\n\n\t/**\n\t * The template for the action button text\n\t */\n\t@Prop() actionButtonTemplate: buttonTemplateFunc =\n\t\tthis._defaultActionButtonTemplate;\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/**\n\t * Event whenever the export button is clicked\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\texport: EventEmitter<number>;\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\tprivate _queryObserver = new Subject<string>();\n\n\tcomponentWillLoad() {\n\t\tthis._setLocales();\n\t}\n\n\tcomponentDidLoad() {\n\t\tthis._queryObserver\n\t\t\t.pipe(debounceTime(300), distinctUntilChanged())\n\t\t\t.subscribe(value => this.queryChange.emit(value));\n\t}\n\n\trender() {\n\t\tconst quickFilters =\n\t\t\ttypeof this.quickFilters === 'string'\n\t\t\t\t? JSON.parse(this.quickFilters)\n\t\t\t\t: this.quickFilters;\n\n\t\tconst activeQuickFilter = quickFilters.find(\n\t\t\tf => f.identifier === this.activeQuickFilterIdentifier\n\t\t);\n\t\tconst mobileTotal =\n\t\t\t(this.selectedFiltersAmount || 0) + (activeQuickFilter?.default ? 0 : 1);\n\n\t\tconst hasCustomFilterSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-filter\"]'\n\t\t);\n\n\t\tconst hasCustomActionsSlot = !!this._el.querySelector(\n\t\t\t':scope > [slot=\"custom-actions\"]'\n\t\t);\n\n\t\treturn (\n\t\t\t<ThemedHost>\n\t\t\t\t<div class={header()}>\n\t\t\t\t\t{this.loading && (\n\t\t\t\t\t\t<p-loader\n\t\t\t\t\t\t\tvariant='ghost'\n\t\t\t\t\t\t\tclass='hidden h-8 w-3/4 rounded desktop-xs:flex'\n\t\t\t\t\t\t></p-loader>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!this.loading &&\n\t\t\t\t\t\t(hasCustomFilterSlot || quickFilters.length > 0) && (\n\t\t\t\t\t\t\t<div class='flex flex-col justify-start gap-4 justify-self-start desktop-xs:flex-row'>\n\t\t\t\t\t\t\t\t{hasCustomFilterSlot && <slot name='custom-filter' />}\n\n\t\t\t\t\t\t\t\t{quickFilters.length > 0 && (\n\t\t\t\t\t\t\t\t\t<p-segment-container class='hidden desktop-xs:flex'>\n\t\t\t\t\t\t\t\t\t\t{quickFilters.map(item => (\n\t\t\t\t\t\t\t\t\t\t\t<p-segment-item\n\t\t\t\t\t\t\t\t\t\t\t\tactive={\n\t\t\t\t\t\t\t\t\t\t\t\t\titem.identifier === this.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => this.quickFilter.emit(item)}\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{typeof item.text === 'string'\n\t\t\t\t\t\t\t\t\t\t\t\t\t? item.text\n\t\t\t\t\t\t\t\t\t\t\t\t\t: item.text()}{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t{item?.count >= 0 ? `(${item.count})` : ''}\n\t\t\t\t\t\t\t\t\t\t\t</p-segment-item>\n\t\t\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t\t\t</p-segment-container>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t<div class='flex flex-col justify-end gap-2 desktop-xs:ml-auto desktop-xs:flex-row desktop-xs:items-center'>\n\t\t\t\t\t\t{this.enableSearch && (\n\t\t\t\t\t\t\t<p-field\n\t\t\t\t\t\t\t\ticon='search'\n\t\t\t\t\t\t\t\tclass='desktop-xs:max-w-60'\n\t\t\t\t\t\t\t\tplaceholder='Zoeken...'\n\t\t\t\t\t\t\t\tvalue={this.query}\n\t\t\t\t\t\t\t\tonValueChange={ev =>\n\t\t\t\t\t\t\t\t\tthis._queryObserver.next(ev.detail as string)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t<div class='flex items-center gap-2'>\n\t\t\t\t\t\t\t{this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\ticon='filter'\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\tclass={`w-full ${\n\t\t\t\t\t\t\t\t\t\tthis.enableFilterDesktop\n\t\t\t\t\t\t\t\t\t\t\t? 'desktop-xs:w-auto'\n\t\t\t\t\t\t\t\t\t\t\t: 'desktop-xs:hidden'\n\t\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\t\tonClick={() => this.filter.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.filterButtonTemplate\n\t\t\t\t\t\t\t\t\t\t? this.filterButtonTemplate()\n\t\t\t\t\t\t\t\t\t\t: this._defaultFilterButtonTemplate()}\n\t\t\t\t\t\t\t\t\t{this.selectedFiltersAmount &&\n\t\t\t\t\t\t\t\t\t\tthis._getLabel(this.selectedFiltersAmount)}\n\t\t\t\t\t\t\t\t\t{mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile')}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\n\t\t\t\t\t\t\t{!this.loading && this.enableExport && this.enableFilter && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\t\tclass='hidden h-4 tablet:flex dark:text-white/15'\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.loading && this.enableExport && (\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\ticon='upload'\n\t\t\t\t\t\t\t\t\tclass='desktop-xs:auto w-full'\n\t\t\t\t\t\t\t\t\tonClick={() => this.export.emit()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{formatTranslation(this._locales.export)}\n\t\t\t\t\t\t\t\t</p-button>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t{this.enableAction && this._buttonTemplate()}\n\n\t\t\t\t\t\t{hasCustomActionsSlot && <slot name='custom-actions' />}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t{this.enableAction && this.canUseAction && (\n\t\t\t\t\t\t<div class='fixed bottom-0 left-0 z-[2] block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden dark:border-t-hurricane-400 dark:bg-hurricane-500'>\n\t\t\t\t\t\t\t{this._buttonTemplate(true)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</ThemedHost>\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\tprivate _buttonTemplate(mobile = false) {\n\t\treturn (\n\t\t\t<p-button\n\t\t\t\tclass={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n\t\t\t\ticon={this.actionIcon}\n\t\t\t\tdisabled={!this.canUseAction}\n\t\t\t\tonClick={() => this.action.emit()}\n\t\t\t\tloading={this.actionLoading}\n\t\t\t>\n\t\t\t\t{this.actionButtonTemplate\n\t\t\t\t\t? this.actionButtonTemplate(mobile ? this.itemsSelectedAmount : 0)\n\t\t\t\t\t: this._defaultActionButtonTemplate(\n\t\t\t\t\t\t\tmobile ? this.itemsSelectedAmount : 0\n\t\t\t\t\t )}\n\t\t\t</p-button>\n\t\t);\n\t}\n\n\tprivate _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n\t\treturn (\n\t\t\t<p-badge\n\t\t\t\tclass={`ml-1 ${\n\t\t\t\t\tvariant === 'default'\n\t\t\t\t\t\t? 'hidden desktop-xs:flex'\n\t\t\t\t\t\t: 'flex desktop-xs:hidden'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{amount}\n\t\t\t</p-badge>\n\t\t);\n\t}\n}\n"]}
@@ -278,7 +278,7 @@ export class Table {
278
278
  !!a.action &&
279
279
  a.type === 'single'
280
280
  ? a.action(this.selectedRows[0], false)
281
- : a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: 'cbebf80348f592a6f779954aad80b3f8ce1ce72d',
281
+ : a.action(this.selectedRows, true) }, a.label))))) : (''), this.enableFooter && (h("p-table-footer", { key: '76b41d28147823cff101694aa49e4b8920eb5058',
282
282
  // overall
283
283
  hideOnSinglePage: this.hideOnSinglePage,
284
284
  // page size select
@@ -286,7 +286,11 @@ export class Table {
286
286
  // pagination
287
287
  enablePaginationPages: this.enablePaginationPages, page: this.page, total: this.total, onPageChange: ({ detail }) => this.pageChange.emit(detail),
288
288
  //loading
289
- loading: this.footerLoading, onHiddenChange: ({ detail }) => (this._footerHidden = detail) })))));
289
+ loading: this.footerLoading, onHiddenChange: ({ detail }) => (this._footerHidden = detail),
290
+ // header adjustment
291
+ tableHeaderHasAction: this.enableHeader &&
292
+ this.enableAction &&
293
+ this.actionButtonEnabled })))));
290
294
  }
291
295
  async _setLocales() {
292
296
  this._locales = await getLocaleComponentStrings(this._el);
@@ -1 +1 @@
1
- {"version":3,"file":"table.component.js","sourceRoot":"","sources":["../../../../src/components/organisms/table/table.component.tsx"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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 { 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></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":"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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"]}
@@ -9472,7 +9472,7 @@ function requireCjs () {
9472
9472
 
9473
9473
  var cjsExports = /*@__PURE__*/ requireCjs();
9474
9474
 
9475
- const tableHeaderComponentCss = "*{box-sizing:border-box}.static{position:static!important}.fixed{position:fixed!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.z-\\[1\\]{z-index:1!important}.ml-1{margin-left:.25rem!important}.block{display:block!important}.flex{display:flex!important}.hidden{display:none!important}.h-4{height:1rem!important}.h-8{height:2rem!important}.w-3\\/4{width:75%!important}.w-full{width:100%!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.gap-2{gap:.5rem!important}.gap-4{gap:1rem!important}.justify-self-start{justify-self:start!important}.rounded{border-radius:.25rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.p-4{padding:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!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}@media (min-width:40rem){.tablet\\:flex{display:flex!important}.tablet\\:px-0{padding-left:0!important;padding-right:0!important}}@media (min-width:64rem){.desktop-xs\\:ml-auto{margin-left:auto!important}.desktop-xs\\:flex{display:flex!important}.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:max-w-60{max-width:15rem!important}.desktop-xs\\:flex-row{flex-direction:row!important}.desktop-xs\\:items-center{align-items:center!important}}.dark\\:text-white\\/15:where(:host([data-theme=dark]),:host([data-theme=dark]) *){color:hsla(0,0%,100%,.15)!important}.dark\\:text-white\\/15:where([data-theme=dark],[data-theme=dark] *){color:hsla(0,0%,100%,.15)!important}";
9475
+ const tableHeaderComponentCss = "*{box-sizing:border-box}.static{position:static!important}.fixed{position:fixed!important}.bottom-0{bottom:0!important}.left-0{left:0!important}.z-\\[1\\]{z-index:1!important}.z-\\[2\\]{z-index:2!important}.ml-1{margin-left:.25rem!important}.block{display:block!important}.flex{display:flex!important}.hidden{display:none!important}.h-4{height:1rem!important}.h-8{height:2rem!important}.w-3\\/4{width:75%!important}.w-full{width:100%!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.justify-start{justify-content:flex-start!important}.justify-end{justify-content:flex-end!important}.gap-2{gap:.5rem!important}.gap-4{gap:1rem!important}.justify-self-start{justify-self:start!important}.rounded{border-radius:.25rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-transparent{border-color:transparent!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.p-4{padding:1rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!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}@media (min-width:40rem){.tablet\\:flex{display:flex!important}.tablet\\:px-0{padding-left:0!important;padding-right:0!important}}@media (min-width:64rem){.desktop-xs\\:ml-auto{margin-left:auto!important}.desktop-xs\\:flex{display:flex!important}.desktop-xs\\:hidden{display:none!important}.desktop-xs\\:w-auto{width:auto!important}.desktop-xs\\:max-w-60{max-width:15rem!important}.desktop-xs\\:flex-row{flex-direction:row!important}.desktop-xs\\:items-center{align-items:center!important}}.dark\\:border-t-hurricane-400:where(:host([data-theme=dark]),:host([data-theme=dark]) *){--tw-border-opacity:1!important;border-top-color:rgb(70 75 84/var(--tw-border-opacity,1))!important}.dark\\:bg-hurricane-500:where(:host([data-theme=dark]),:host([data-theme=dark]) *){--tw-bg-opacity:1!important;background-color:rgb(54 60 70/var(--tw-bg-opacity,1))!important}.dark\\:text-white\\/15:where(:host([data-theme=dark]),:host([data-theme=dark]) *){color:hsla(0,0%,100%,.15)!important}.dark\\:border-t-hurricane-400:where([data-theme=dark],[data-theme=dark] *){--tw-border-opacity:1!important;border-top-color:rgb(70 75 84/var(--tw-border-opacity,1))!important}.dark\\:bg-hurricane-500:where([data-theme=dark],[data-theme=dark] *){--tw-bg-opacity:1!important;background-color:rgb(54 60 70/var(--tw-bg-opacity,1))!important}.dark\\:text-white\\/15:where([data-theme=dark],[data-theme=dark] *){color:hsla(0,0%,100%,.15)!important}";
9476
9476
 
9477
9477
  const header = cva([
9478
9478
  'flex flex-col gap-2 z-[1]',
@@ -9617,7 +9617,7 @@ const TableHeader = /*@__PURE__*/ proxyCustomElement(class TableHeader extends H
9617
9617
  : 'desktop-xs:hidden'}`, onClick: () => this.filter.emit() }, this.filterButtonTemplate
9618
9618
  ? this.filterButtonTemplate()
9619
9619
  : this._defaultFilterButtonTemplate(), this.selectedFiltersAmount &&
9620
- this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: '69fa061c128034dc499d2f7548121d623701b111', variant: 'vertical', class: 'hidden h-4 tablet:flex dark:text-white/15' })), !this.loading && this.enableExport && (h("p-button", { key: '6bf0e38639cac6e886ca83d36879a838f14056dc', variant: 'secondary', icon: 'upload', class: 'desktop-xs:auto w-full', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: 'b09deed8ab74a41bdbaebd53296144822c4575dd', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: '9208470608e5c4648b9931cebb6a4b9e8382615f', class: 'border-t-mystic-dark fixed bottom-0 left-0 block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true))))));
9620
+ this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), !this.loading && this.enableExport && this.enableFilter && (h("p-divider", { key: '69fa061c128034dc499d2f7548121d623701b111', variant: 'vertical', class: 'hidden h-4 tablet:flex dark:text-white/15' })), !this.loading && this.enableExport && (h("p-button", { key: '6bf0e38639cac6e886ca83d36879a838f14056dc', variant: 'secondary', icon: 'upload', class: 'desktop-xs:auto w-full', onClick: () => this.export.emit() }, formatTranslation(this._locales.export)))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && h("slot", { key: 'b09deed8ab74a41bdbaebd53296144822c4575dd', name: 'custom-actions' })), this.enableAction && this.canUseAction && (h("div", { key: 'c82822c61f4ace4b8b8c81573b9e776d3d6af9b2', class: 'fixed bottom-0 left-0 z-[2] block w-full border border-solid border-transparent bg-white p-4 desktop-xs:hidden dark:border-t-hurricane-400 dark:bg-hurricane-500' }, this._buttonTemplate(true))))));
9621
9621
  }
9622
9622
  async _setLocales() {
9623
9623
  this._locales = await getLocaleComponentStrings(this._el);
@@ -9724,6 +9724,6 @@ function defineCustomElement() {
9724
9724
  defineCustomElement();
9725
9725
 
9726
9726
  export { TableHeader as T, defineCustomElement as d };
9727
- //# sourceMappingURL=p-C93Yl1f2.js.map
9727
+ //# sourceMappingURL=p-BJ_tiVQ2.js.map
9728
9728
 
9729
- //# sourceMappingURL=p-C93Yl1f2.js.map
9729
+ //# sourceMappingURL=p-BJ_tiVQ2.js.map