@paperless/core 1.63.0 → 1.64.1

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 (75) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/build/{p-a8923d40.entry.js → p-00d4647f.entry.js} +2 -2
  3. package/dist/build/{p-a8923d40.entry.js.map → p-00d4647f.entry.js.map} +1 -1
  4. package/dist/{paperless/p-5fa3061e.entry.js → build/p-0b0c43cc.entry.js} +2 -2
  5. package/dist/build/p-0b0c43cc.entry.js.map +1 -0
  6. package/dist/build/p-0f5c5693.entry.js +2 -0
  7. package/dist/build/p-0f5c5693.entry.js.map +1 -0
  8. package/dist/build/{p-c14f44ff.entry.js → p-2d3ff364.entry.js} +2 -2
  9. package/dist/build/{p-c14f44ff.entry.js.map → p-2d3ff364.entry.js.map} +1 -1
  10. package/dist/build/{p-bff43f47.entry.js → p-7d396ed7.entry.js} +2 -2
  11. package/dist/build/p-7d396ed7.entry.js.map +1 -0
  12. package/dist/build/paperless.esm.js +1 -1
  13. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js +2 -1
  14. package/dist/cjs/p-floating-menu-container_8.cjs.entry.js.map +1 -1
  15. package/dist/cjs/p-profile.cjs.entry.js +1 -1
  16. package/dist/cjs/p-profile.cjs.entry.js.map +1 -1
  17. package/dist/cjs/p-stepper.cjs.entry.js +5 -7
  18. package/dist/cjs/p-stepper.cjs.entry.js.map +1 -1
  19. package/dist/cjs/p-table.cjs.entry.js +3 -1
  20. package/dist/cjs/p-table.cjs.entry.js.map +1 -1
  21. package/dist/cjs/p-tooltip.cjs.entry.js +1 -1
  22. package/dist/cjs/p-tooltip.cjs.entry.js.map +1 -1
  23. package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
  24. package/dist/collection/components/molecules/profile/profile.component.css +1 -1
  25. package/dist/collection/components/molecules/stepper/stepper.component.js +5 -7
  26. package/dist/collection/components/molecules/stepper/stepper.component.js.map +1 -1
  27. package/dist/collection/components/molecules/table-header/table-header.component.js +2 -1
  28. package/dist/collection/components/molecules/table-header/table-header.component.js.map +1 -1
  29. package/dist/collection/components/organisms/table/table.component.js +3 -1
  30. package/dist/collection/components/organisms/table/table.component.js.map +1 -1
  31. package/dist/components/p-profile.js +1 -1
  32. package/dist/components/p-profile.js.map +1 -1
  33. package/dist/components/p-stepper.js +5 -7
  34. package/dist/components/p-stepper.js.map +1 -1
  35. package/dist/components/p-table.js +3 -1
  36. package/dist/components/p-table.js.map +1 -1
  37. package/dist/components/table-header.component.js +2 -1
  38. package/dist/components/table-header.component.js.map +1 -1
  39. package/dist/components/tooltip.component.js +1 -1
  40. package/dist/components/tooltip.component.js.map +1 -1
  41. package/dist/esm/p-floating-menu-container_8.entry.js +2 -1
  42. package/dist/esm/p-floating-menu-container_8.entry.js.map +1 -1
  43. package/dist/esm/p-profile.entry.js +1 -1
  44. package/dist/esm/p-profile.entry.js.map +1 -1
  45. package/dist/esm/p-stepper.entry.js +5 -7
  46. package/dist/esm/p-stepper.entry.js.map +1 -1
  47. package/dist/esm/p-table.entry.js +3 -1
  48. package/dist/esm/p-table.entry.js.map +1 -1
  49. package/dist/esm/p-tooltip.entry.js +1 -1
  50. package/dist/esm/p-tooltip.entry.js.map +1 -1
  51. package/dist/index.html +1 -1
  52. package/dist/paperless/{p-a8923d40.entry.js → p-00d4647f.entry.js} +2 -2
  53. package/dist/paperless/{p-a8923d40.entry.js.map → p-00d4647f.entry.js.map} +1 -1
  54. package/dist/{build/p-5fa3061e.entry.js → paperless/p-0b0c43cc.entry.js} +2 -2
  55. package/dist/paperless/p-0b0c43cc.entry.js.map +1 -0
  56. package/dist/paperless/p-0f5c5693.entry.js +2 -0
  57. package/dist/paperless/p-0f5c5693.entry.js.map +1 -0
  58. package/dist/paperless/{p-c14f44ff.entry.js → p-2d3ff364.entry.js} +2 -2
  59. package/dist/paperless/{p-c14f44ff.entry.js.map → p-2d3ff364.entry.js.map} +1 -1
  60. package/dist/paperless/{p-bff43f47.entry.js → p-7d396ed7.entry.js} +2 -2
  61. package/dist/paperless/p-7d396ed7.entry.js.map +1 -0
  62. package/dist/paperless/paperless.esm.js +1 -1
  63. package/dist/sw.js +1 -1
  64. package/dist/sw.js.map +1 -1
  65. package/dist/types/components/organisms/table/table.component.d.ts +1 -0
  66. package/hydrate/index.js +12 -11
  67. package/package.json +1 -1
  68. package/dist/build/p-05d82685.entry.js +0 -2
  69. package/dist/build/p-05d82685.entry.js.map +0 -1
  70. package/dist/build/p-5fa3061e.entry.js.map +0 -1
  71. package/dist/build/p-bff43f47.entry.js.map +0 -1
  72. package/dist/paperless/p-05d82685.entry.js +0 -2
  73. package/dist/paperless/p-05d82685.entry.js.map +0 -1
  74. package/dist/paperless/p-5fa3061e.entry.js.map +0 -1
  75. package/dist/paperless/p-bff43f47.entry.js.map +0 -1
@@ -234,6 +234,7 @@ export declare class Table {
234
234
  private _rowActionsRow;
235
235
  private _ctrlDown;
236
236
  private _hasCustomFilterSlot;
237
+ private _hasCustomActionsSlot;
237
238
  private _floatingMenuShown;
238
239
  private _resizeTimeout;
239
240
  componentWillLoad(): void;
package/hydrate/index.js CHANGED
@@ -21096,7 +21096,7 @@ class PaginationItem {
21096
21096
  }; }
21097
21097
  }
21098
21098
 
21099
- const profileComponentCss = "/*!@.flex*/.flex.sc-p-profile{display:flex!important}/*!@.table*/.table.sc-p-profile{display:table!important}/*!@.h-\\[3\\.125rem\\]*/.h-\\[3\\.125rem\\].sc-p-profile{height:3.125rem!important}/*!@.h-\\[4\\.125rem\\]*/.h-\\[4\\.125rem\\].sc-p-profile{height:4.125rem!important}/*!@.h-\\[6\\.5rem\\]*/.h-\\[6\\.5rem\\].sc-p-profile{height:6.5rem!important}/*!@.flex-col*/.flex-col.sc-p-profile{flex-direction:column!important}/*!@.items-center*/.items-center.sc-p-profile{align-items:center!important}/*!@.justify-center*/.justify-center.sc-p-profile{justify-content:center!important}/*!@.gap-3*/.gap-3.sc-p-profile{gap:.75rem!important}/*!@.overflow-hidden*/.overflow-hidden.sc-p-profile{overflow:hidden!important}/*!@.text-ellipsis*/.text-ellipsis.sc-p-profile{text-overflow:ellipsis!important}/*!@.rounded*/.rounded.sc-p-profile{border-radius:.25rem!important}/*!@.border*/.border.sc-p-profile{border-width:1px!important}/*!@.border-solid*/.border-solid.sc-p-profile{border-style:solid!important}/*!@.border-mystic-dark*/.border-mystic-dark.sc-p-profile{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}/*!@.p-2*/.p-2.sc-p-profile{padding:.5rem!important}/*!@.text-sm*/.text-sm.sc-p-profile{font-size:.875rem!important;line-height:1.25rem!important}/*!@**/*.sc-p-profile{box-sizing:border-box}/*!@:host*/.sc-p-profile-h{display:flex}/*!@:host .content*/.sc-p-profile-h .content.sc-p-profile{align-items:center;display:flex;gap:.75rem;width:100%}/*!@:host .content .name*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile{display:flex;flex-direction:column;justify-content:center;overflow:hidden}/*!@:host .content .name>:first-child*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile>.sc-p-profile:first-child{--tw-text-opacity:1;color:rgb(39 40 56/var(--tw-text-opacity));font-size:.875rem;font-weight:600;line-height:1.25rem}/*!@:host .content .name>:nth-child(2)*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile>.sc-p-profile:nth-child(2){--tw-text-opacity:1;color:rgb(152 154 183/var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem}/*!@:host .content .name ::slotted(*)*/.sc-p-profile-h .content .name .sc-p-profile-s>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/*!@:host([size=xsmall])*/[size=xsmall].sc-p-profile-h{height:1.5rem}/*!@:host([size=small])*/[size=small].sc-p-profile-h{height:2rem}/*!@:host([size=table])*/[size=table].sc-p-profile-h{height:2.5rem}/*!@:host([size=medium])*/[size=medium].sc-p-profile-h{height:3.125rem}/*!@:host([size=large])*/[size=large].sc-p-profile-h{height:4rem}/*!@:host([size=xlarge])*/[size=xlarge].sc-p-profile-h{height:6.5rem}/*!@:host(.has-dropdown)*/.has-dropdown.sc-p-profile-h{cursor:pointer}/*!@:host(.has-dropdown) .content*/.has-dropdown.sc-p-profile-h .content.sc-p-profile{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important;border-radius:.25rem;border-style:solid!important;border-width:1px!important;padding:.5rem}/*!@:host(.has-dropdown[size=small])*/.has-dropdown[size=small].sc-p-profile-h{height:3rem}/*!@:host(.has-dropdown[size=medium])*/.has-dropdown[size=medium].sc-p-profile-h{height:4.125rem}/*!@:host(.has-dropdown[size=large])*/.has-dropdown[size=large].sc-p-profile-h{height:5rem}/*!@:host(.active) .content,:host(.has-dropdown:hover) .content*/.active.sc-p-profile-h .content.sc-p-profile,.has-dropdown.sc-p-profile-h:hover .content.sc-p-profile{--tw-shadow:0px 0.3125rem 1rem rgba(0,24,98,.08),0px 0.0625rem 0.1875rem rgba(0,24,98,.13);--tw-shadow-colored:0px 0.3125rem 1rem var(--tw-shadow-color),0px 0.0625rem 0.1875rem var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}/*!@:host(.active) .content p-icon*/.active.sc-p-profile-h .content.sc-p-profile p-icon.sc-p-profile{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}/*!@.absolute*/.absolute.sc-p-profile{position:absolute!important}/*!@.ml-auto*/.ml-auto.sc-p-profile{margin-left:auto!important}/*!@.w-full*/.w-full.sc-p-profile{width:100%!important}/*!@.min-w-0*/.min-w-0.sc-p-profile{min-width:0!important}";
21099
+ const profileComponentCss = "/*!@.flex*/.flex.sc-p-profile{display:flex!important}/*!@.table*/.table.sc-p-profile{display:table!important}/*!@.h-\\[3\\.125rem\\]*/.h-\\[3\\.125rem\\].sc-p-profile{height:3.125rem!important}/*!@.h-\\[4\\.125rem\\]*/.h-\\[4\\.125rem\\].sc-p-profile{height:4.125rem!important}/*!@.h-\\[6\\.5rem\\]*/.h-\\[6\\.5rem\\].sc-p-profile{height:6.5rem!important}/*!@.flex-col*/.flex-col.sc-p-profile{flex-direction:column!important}/*!@.items-center*/.items-center.sc-p-profile{align-items:center!important}/*!@.justify-center*/.justify-center.sc-p-profile{justify-content:center!important}/*!@.gap-3*/.gap-3.sc-p-profile{gap:.75rem!important}/*!@.overflow-hidden*/.overflow-hidden.sc-p-profile{overflow:hidden!important}/*!@.text-ellipsis*/.text-ellipsis.sc-p-profile{text-overflow:ellipsis!important}/*!@.rounded*/.rounded.sc-p-profile{border-radius:.25rem!important}/*!@.border*/.border.sc-p-profile{border-width:1px!important}/*!@.border-solid*/.border-solid.sc-p-profile{border-style:solid!important}/*!@.border-mystic-dark*/.border-mystic-dark.sc-p-profile{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important}/*!@.p-2*/.p-2.sc-p-profile{padding:.5rem!important}/*!@.text-sm*/.text-sm.sc-p-profile{font-size:.875rem!important;line-height:1.25rem!important}/*!@**/*.sc-p-profile{box-sizing:border-box}/*!@:host*/.sc-p-profile-h{display:flex}/*!@:host .content*/.sc-p-profile-h .content.sc-p-profile{align-items:center;display:flex;gap:.75rem;width:100%}/*!@:host .content .name*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile{display:flex;flex-direction:column;justify-content:center;overflow:hidden}/*!@:host .content .name>:first-child*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile>.sc-p-profile:first-child{--tw-text-opacity:1;color:rgb(39 40 56/var(--tw-text-opacity));font-size:.875rem;font-weight:600;line-height:1.25rem}/*!@:host .content .name>:nth-child(2)*/.sc-p-profile-h .content.sc-p-profile .name.sc-p-profile>.sc-p-profile:nth-child(2){--tw-text-opacity:1;color:rgb(152 154 183/var(--tw-text-opacity));font-size:.875rem;line-height:1.25rem}/*!@:host .content .name ::slotted(*)*/.sc-p-profile-h .content .name .sc-p-profile-s>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}/*!@:host([size=xsmall])*/[size=xsmall].sc-p-profile-h{height:1.5rem}/*!@:host([size=small])*/[size=small].sc-p-profile-h{height:2rem}/*!@:host([size=table])*/[size=table].sc-p-profile-h{height:2.5rem}/*!@:host([size=medium])*/[size=medium].sc-p-profile-h{height:3.125rem}/*!@:host([size=large])*/[size=large].sc-p-profile-h{height:4rem}/*!@:host([size=xlarge])*/[size=xlarge].sc-p-profile-h{height:6.5rem}/*!@:host(.has-dropdown)*/.has-dropdown.sc-p-profile-h{cursor:pointer}/*!@:host(.has-dropdown) .content*/.has-dropdown.sc-p-profile-h .content.sc-p-profile{--tw-border-opacity:1!important;border-color:rgb(218 230 240/var(--tw-border-opacity))!important;border-radius:.25rem;border-style:solid!important;border-width:1px!important;padding:.5rem}/*!@:host(.has-dropdown[size=small])*/.has-dropdown[size=small].sc-p-profile-h{height:3rem}/*!@:host(.has-dropdown[size=medium])*/.has-dropdown[size=medium].sc-p-profile-h{height:4.125rem}/*!@:host(.has-dropdown[size=large])*/.has-dropdown[size=large].sc-p-profile-h{height:5rem}/*!@:host(.active) .content,:host(.has-dropdown:hover) .content*/.active.sc-p-profile-h .content.sc-p-profile,.has-dropdown.sc-p-profile-h:hover .content.sc-p-profile{--tw-shadow:0px 0.3125rem 1rem rgba(0,24,98,.08),0px 0.0625rem 0.1875rem rgba(0,24,98,.13);--tw-shadow-colored:0px 0.3125rem 1rem var(--tw-shadow-color),0px 0.0625rem 0.1875rem var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}/*!@:host(.active) .content p-icon*/.active.sc-p-profile-h .content.sc-p-profile p-icon.sc-p-profile{--tw-text-opacity:1;color:rgb(82 138 250/var(--tw-text-opacity))}/*!@.static*/.static.sc-p-profile{position:static!important}/*!@.absolute*/.absolute.sc-p-profile{position:absolute!important}/*!@.ml-auto*/.ml-auto.sc-p-profile{margin-left:auto!important}/*!@.w-full*/.w-full.sc-p-profile{width:100%!important}/*!@.min-w-0*/.min-w-0.sc-p-profile{min-width:0!important}";
21100
21100
 
21101
21101
  class Profile {
21102
21102
  constructor(hostRef) {
@@ -21734,7 +21734,7 @@ class Stepper {
21734
21734
  registerInstance(this, hostRef);
21735
21735
  this._loaded = false;
21736
21736
  // private _steps: Array<HTMLPStepperItemElement>;
21737
- this._delay = (amount) => new Promise((resolve) => setTimeout(resolve, amount));
21737
+ this._delay = (amount) => new Promise(resolve => setTimeout(resolve, amount));
21738
21738
  this._onSlotChange = async (_e) => this._generateSteps();
21739
21739
  this._generateSteps = async (firstLoad = false) => {
21740
21740
  if (!firstLoad && (!this._el || this._rendering || !this._loaded)) {
@@ -21768,8 +21768,7 @@ class Stepper {
21768
21768
  item.contentPosition = this.contentPosition;
21769
21769
  if (i < items.length - 1) {
21770
21770
  const nextItem = item.nextElementSibling;
21771
- if (nextItem &&
21772
- nextItem.tagName.toLowerCase() === 'p-stepper-item') {
21771
+ if (nextItem && nextItem.tagName.toLowerCase() === 'p-stepper-item') {
21773
21772
  // super hacky, but we want to wait for the css of the `item.direction` change to be applied before querying for the item.clientHeight
21774
21773
  // otherwise we always get the initial "16"
21775
21774
  if (directionChanged) {
@@ -21780,7 +21779,7 @@ class Stepper {
21780
21779
  : item.clientHeight) / 2;
21781
21780
  const stepperLine = document.createElement('p-stepper-line');
21782
21781
  stepperLine.direction = this.direction;
21783
- stepperLine.active = i <= activeStep;
21782
+ stepperLine.active = i < activeStep;
21784
21783
  if (heightDiff > 0 && this.direction === 'vertical') {
21785
21784
  stepperLine.style.marginTop = `-${heightDiff / 16}rem`;
21786
21785
  stepperLine.style.marginBottom = `-${heightDiff / 16}rem`;
@@ -21788,8 +21787,7 @@ class Stepper {
21788
21787
  }
21789
21788
  this._el.insertBefore(stepperLine, nextItem);
21790
21789
  const previous = stepperLine.previousElementSibling;
21791
- if (previous &&
21792
- previous.tagName.toLowerCase() === 'p-stepper-line') {
21790
+ if (previous && previous.tagName.toLowerCase() === 'p-stepper-line') {
21793
21791
  previous.remove();
21794
21792
  }
21795
21793
  continue;
@@ -21820,7 +21818,7 @@ class Stepper {
21820
21818
  this._generateSteps(true);
21821
21819
  }
21822
21820
  render() {
21823
- return (hAsync(Host, { class: "p-stepper" }, hAsync("slot", { onSlotchange: this._onSlotChange })));
21821
+ return (hAsync(Host, { class: 'p-stepper' }, hAsync("slot", { onSlotchange: this._onSlotChange })));
21824
21822
  }
21825
21823
  _onActiveStepChange() {
21826
21824
  this._generateSteps();
@@ -21962,6 +21960,7 @@ class Table {
21962
21960
  this._rowActionsFloatingAll = [];
21963
21961
  this._ctrlDown = false;
21964
21962
  this._hasCustomFilterSlot = false;
21963
+ this._hasCustomActionsSlot = false;
21965
21964
  this._floatingMenuShown = false;
21966
21965
  this.items = undefined;
21967
21966
  this.loading = false;
@@ -22022,6 +22021,7 @@ class Table {
22022
22021
  }
22023
22022
  componentWillLoad() {
22024
22023
  this._hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
22024
+ this._hasCustomActionsSlot = !!this._el.querySelector(':scope > [slot="custom-actions"]');
22025
22025
  this._setRowSelectionData();
22026
22026
  this._setLocales();
22027
22027
  this._parseItems(this.items);
@@ -22043,7 +22043,7 @@ class Table {
22043
22043
  enableAction: this.enableAction, actionIcon: this.actionButtonIcon, actionText: this.actionButtonText, actionLoading: this.actionButtonLoading, canUseAction: this.actionButtonEnabled, actionButtonTemplate: this.actionButtonTemplate, onAction: () => this.action.emit(), itemsSelectedAmount: (_a = this.selectedRows) === null || _a === void 0 ? void 0 : _a.length,
22044
22044
  //loading
22045
22045
  loading: this.headerLoading
22046
- }, this._hasCustomFilterSlot && (hAsync("slot", { name: 'custom-filter', slot: 'custom-filter' })))), this._getHeader(), hAsync("div", { class: 'flex flex-1 flex-col' }, this._getRows()), this.enableFooter && (hAsync("p-table-footer", {
22046
+ }, this._hasCustomFilterSlot && (hAsync("slot", { name: 'custom-filter', slot: 'custom-filter' })), this._hasCustomActionsSlot && (hAsync("slot", { name: 'custom-actions', slot: 'custom-actions' })))), this._getHeader(), hAsync("div", { class: 'flex flex-1 flex-col' }, this._getRows()), this.enableFooter && (hAsync("p-table-footer", {
22047
22047
  // overall
22048
22048
  hideOnSinglePage: this.hideOnSinglePage,
22049
22049
  // page size select
@@ -23740,13 +23740,14 @@ class TableHeader {
23740
23740
  const activeQuickFilter = this.quickFilters.find(f => f.identifier === this.activeQuickFilterIdentifier);
23741
23741
  const mobileTotal = (this.selectedFiltersAmount || 0) + ((activeQuickFilter === null || activeQuickFilter === void 0 ? void 0 : activeQuickFilter.default) ? 0 : 1);
23742
23742
  const hasCustomFilterSlot = !!this._el.querySelector(':scope > [slot="custom-filter"]');
23743
+ const hasCustomActionsSlot = !!this._el.querySelector(':scope > [slot="custom-actions"]');
23743
23744
  return (hAsync(Host, { class: 'p-table-header' }, this.loading && (hAsync("p-loader", { variant: 'ghost', class: 'hidden h-8 w-3/4 rounded desktop-xs:flex' })), !this.loading &&
23744
23745
  (hasCustomFilterSlot || this.quickFilters.length > 0) && (hAsync("div", { class: 'left-side flex flex-col justify-start gap-4 desktop-xs:flex-row' }, hasCustomFilterSlot && hAsync("slot", { name: 'custom-filter' }), this.quickFilters.length > 0 && (hAsync("p-segment-container", { class: 'hidden desktop-xs:flex' }, this.quickFilters.map(item => (hAsync("p-segment-item", { active: item.identifier === this.activeQuickFilterIdentifier, onClick: () => this.quickFilter.emit(item) }, typeof item.text === 'string' ? item.text : item.text(), ' ', (item === null || item === void 0 ? void 0 : item.count) >= 0 ? `(${item.count})` : ''))))))), hAsync("div", { class: 'right-side flex flex-col justify-end gap-4 desktop-xs:flex-row' }, this.enableSearch && (hAsync("p-input-group", { icon: 'search', size: 'small', class: 'desktop-xs:w-48' }, hAsync("input", { type: 'text', slot: 'input', placeholder: 'Zoeken...', value: this.query, onInput: ev => this._queryObserver.next(ev.target.value) }))), this.enableFilter && (hAsync("p-button", { icon: 'filter', variant: 'secondary', size: 'small', class: `w-full ${this.enableFilterDesktop
23745
23746
  ? 'desktop-xs:w-auto'
23746
23747
  : 'desktop-xs:hidden'}`, onClick: () => this.filter.emit() }, this.filterButtonTemplate
23747
23748
  ? this.filterButtonTemplate()
23748
23749
  : this._defaultFilterButtonTemplate(), this.selectedFiltersAmount &&
23749
- this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), this.enableAction && this._buttonTemplate()), this.enableAction && this.canUseAction && (hAsync("div", { class: 'fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true)))));
23750
+ this._getLabel(this.selectedFiltersAmount), mobileTotal > 0 && this._getLabel(mobileTotal, 'mobile'))), this.enableAction && this._buttonTemplate(), hasCustomActionsSlot && hAsync("slot", { name: 'custom-actions' })), this.enableAction && this.canUseAction && (hAsync("div", { class: 'fixed bottom-0 left-0 block w-full border border-solid border-transparent border-t-mystic-dark bg-white p-4 desktop-xs:hidden' }, this._buttonTemplate(true)))));
23750
23751
  }
23751
23752
  async _setLocales() {
23752
23753
  this._locales = await getLocaleComponentStrings(this._el);
@@ -23921,7 +23922,7 @@ class ToastContainer {
23921
23922
  }; }
23922
23923
  }
23923
23924
 
23924
- const tooltipComponentCss = "/*!@.pointer-events-auto*/.pointer-events-auto.sc-p-tooltip{pointer-events:auto!important}/*!@.visible*/.visible.sc-p-tooltip{visibility:visible!important}/*!@.fixed*/.fixed.sc-p-tooltip{position:fixed!important}/*!@.absolute*/.absolute.sc-p-tooltip{position:absolute!important}/*!@.relative*/.relative.sc-p-tooltip{position:relative!important}/*!@.left-0*/.left-0.sc-p-tooltip{left:0!important}/*!@.top-0*/.top-0.sc-p-tooltip{top:0!important}/*!@.z-tooltip*/.z-tooltip.sc-p-tooltip{z-index:601!important}/*!@.inline-block*/.inline-block.sc-p-tooltip{display:inline-block!important}/*!@.flex*/.flex.sc-p-tooltip{display:flex!important}/*!@.hidden*/.hidden.sc-p-tooltip{display:none!important}/*!@.h-0*/.h-0.sc-p-tooltip{height:0!important}/*!@.h-2*/.h-2.sc-p-tooltip{height:.5rem!important}/*!@.rotate-45*/.rotate-45.sc-p-tooltip{--tw-rotate:45deg!important}/*!@.rotate-45,.transform*/.rotate-45.sc-p-tooltip,.transform.sc-p-tooltip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}/*!@.rounded*/.rounded.sc-p-tooltip{border-radius:.25rem!important}/*!@.bg-negative*/.bg-negative.sc-p-tooltip{background-color:rgb(185 30 40/var(--tw-bg-opacity))!important}/*!@.bg-negative,.bg-storm*/.bg-negative.sc-p-tooltip,.bg-storm.sc-p-tooltip{--tw-bg-opacity:1!important}/*!@.bg-storm*/.bg-storm.sc-p-tooltip{background-color:rgb(81 83 107/var(--tw-bg-opacity))!important}/*!@.bg-white*/.bg-white.sc-p-tooltip{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}/*!@.px-3*/.px-3.sc-p-tooltip{padding-left:.75rem!important;padding-right:.75rem!important}/*!@.py-1*/.py-1.sc-p-tooltip{padding-bottom:.25rem!important;padding-top:.25rem!important}/*!@.py-2*/.py-2.sc-p-tooltip{padding-bottom:.5rem!important;padding-top:.5rem!important}/*!@.text-xs*/.text-xs.sc-p-tooltip{font-size:.75rem!important;line-height:1rem!important}/*!@.font-medium*/.font-medium.sc-p-tooltip{font-weight:500!important}/*!@.uppercase*/.uppercase.sc-p-tooltip{text-transform:uppercase!important}/*!@.opacity-0*/.opacity-0.sc-p-tooltip{opacity:0!important}/*!@.drop-shadow-4*/.drop-shadow-4.sc-p-tooltip{--tw-drop-shadow:drop-shadow(0px 0.3125rem 1rem rgba(0,24,98,.08)) drop-shadow(0px 0.0625rem 0.1875rem rgba(0,24,98,.13))!important;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}/*!@**/*.sc-p-tooltip{box-sizing:border-box}/*!@:host*/.sc-p-tooltip-h{cursor:pointer;display:flex}/*!@:host .popover-container*/.sc-p-tooltip-h .popover-container.sc-p-tooltip{height:0;position:relative;width:0}/*!@:host .popover-container .popover*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip{--tw-bg-opacity:1;--tw-drop-shadow:drop-shadow(0px 0.3125rem 1rem rgba(0,24,98,.08)) drop-shadow(0px 0.0625rem 0.1875rem rgba(0,24,98,.13));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.25rem;display:inline-block;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);font-size:.75rem;font-weight:500;left:0;line-height:1rem;max-width:14.5rem;opacity:0;padding:.5rem .75rem;pointer-events:none;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:-moz-max-content;width:max-content;z-index:601}/*!@:host .popover-container .popover.variant-error,:host .popover-container .popover.variant-error-element,:host .popover-container .popover.variant-hover*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error-element.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-hover.sc-p-tooltip{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(81 83 107/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));padding-bottom:.25rem;padding-top:.25rem}/*!@:host .popover-container .popover.variant-error,:host .popover-container .popover.variant-error-element*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error-element.sc-p-tooltip{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity));letter-spacing:.05em;text-transform:uppercase}/*!@:host .popover-container .popover[data-show]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-show].sc-p-tooltip{opacity:1;pointer-events:auto}/*!@:host .popover-container .popover .arrow,:host .popover-container .popover .arrow:before*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip:before{background:inherit;height:.5rem;position:absolute;width:.5rem}/*!@:host .popover-container .popover .arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip{visibility:hidden}/*!@:host .popover-container .popover .arrow:before*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip:before{--tw-rotate:45deg;content:\"\";transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));visibility:visible}/*!@:host .popover-container .popover[data-strategy=fixed]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-strategy=fixed].sc-p-tooltip{position:fixed}/*!@:host .popover-container .popover[data-strategy=absolute]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-strategy=absolute].sc-p-tooltip{position:absolute}/*!@:host .popover-container .popover[data-placement^=top]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=top].sc-p-tooltip>.arrow.sc-p-tooltip{bottom:-.25rem}/*!@:host .popover-container .popover[data-placement^=bottom]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=bottom].sc-p-tooltip>.arrow.sc-p-tooltip{top:-.25rem}/*!@:host .popover-container .popover[data-placement^=left]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=left].sc-p-tooltip>.arrow.sc-p-tooltip{right:-.25rem}/*!@:host .popover-container .popover[data-placement^=right]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=right].sc-p-tooltip>.arrow.sc-p-tooltip{left:-.25rem}/*!@.static*/.static.sc-p-tooltip{position:static!important}";
23925
+ const tooltipComponentCss = "/*!@.pointer-events-auto*/.pointer-events-auto.sc-p-tooltip{pointer-events:auto!important}/*!@.visible*/.visible.sc-p-tooltip{visibility:visible!important}/*!@.fixed*/.fixed.sc-p-tooltip{position:fixed!important}/*!@.absolute*/.absolute.sc-p-tooltip{position:absolute!important}/*!@.relative*/.relative.sc-p-tooltip{position:relative!important}/*!@.left-0*/.left-0.sc-p-tooltip{left:0!important}/*!@.top-0*/.top-0.sc-p-tooltip{top:0!important}/*!@.z-tooltip*/.z-tooltip.sc-p-tooltip{z-index:601!important}/*!@.inline-block*/.inline-block.sc-p-tooltip{display:inline-block!important}/*!@.flex*/.flex.sc-p-tooltip{display:flex!important}/*!@.hidden*/.hidden.sc-p-tooltip{display:none!important}/*!@.h-0*/.h-0.sc-p-tooltip{height:0!important}/*!@.h-2*/.h-2.sc-p-tooltip{height:.5rem!important}/*!@.rotate-45*/.rotate-45.sc-p-tooltip{--tw-rotate:45deg!important}/*!@.rotate-45,.transform*/.rotate-45.sc-p-tooltip,.transform.sc-p-tooltip{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}/*!@.rounded*/.rounded.sc-p-tooltip{border-radius:.25rem!important}/*!@.bg-negative*/.bg-negative.sc-p-tooltip{background-color:rgb(185 30 40/var(--tw-bg-opacity))!important}/*!@.bg-negative,.bg-storm*/.bg-negative.sc-p-tooltip,.bg-storm.sc-p-tooltip{--tw-bg-opacity:1!important}/*!@.bg-storm*/.bg-storm.sc-p-tooltip{background-color:rgb(81 83 107/var(--tw-bg-opacity))!important}/*!@.bg-white*/.bg-white.sc-p-tooltip{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}/*!@.px-3*/.px-3.sc-p-tooltip{padding-left:.75rem!important;padding-right:.75rem!important}/*!@.py-1*/.py-1.sc-p-tooltip{padding-bottom:.25rem!important;padding-top:.25rem!important}/*!@.py-2*/.py-2.sc-p-tooltip{padding-bottom:.5rem!important;padding-top:.5rem!important}/*!@.text-xs*/.text-xs.sc-p-tooltip{font-size:.75rem!important;line-height:1rem!important}/*!@.font-medium*/.font-medium.sc-p-tooltip{font-weight:500!important}/*!@.uppercase*/.uppercase.sc-p-tooltip{text-transform:uppercase!important}/*!@.opacity-0*/.opacity-0.sc-p-tooltip{opacity:0!important}/*!@.drop-shadow-4*/.drop-shadow-4.sc-p-tooltip{--tw-drop-shadow:drop-shadow(0px 0.3125rem 1rem rgba(0,24,98,.08)) drop-shadow(0px 0.0625rem 0.1875rem rgba(0,24,98,.13))!important;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}/*!@**/*.sc-p-tooltip{box-sizing:border-box}/*!@:host*/.sc-p-tooltip-h{cursor:pointer;display:flex}/*!@:host .popover-container*/.sc-p-tooltip-h .popover-container.sc-p-tooltip{height:0;position:relative;width:0}/*!@:host .popover-container .popover*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip{--tw-bg-opacity:1;--tw-drop-shadow:drop-shadow(0px 0.3125rem 1rem rgba(0,24,98,.08)) drop-shadow(0px 0.0625rem 0.1875rem rgba(0,24,98,.13));background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.25rem;display:inline-block;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);font-size:.75rem;font-weight:500;left:0;line-height:1rem;max-width:14.5rem;opacity:0;padding:.5rem .75rem;pointer-events:none;top:0;transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);width:-moz-max-content;width:max-content;z-index:601}/*!@:host .popover-container .popover.variant-error,:host .popover-container .popover.variant-error-element,:host .popover-container .popover.variant-hover*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error-element.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-hover.sc-p-tooltip{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(81 83 107/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));padding-bottom:.25rem;padding-top:.25rem}/*!@:host .popover-container .popover.variant-error,:host .popover-container .popover.variant-error-element*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.variant-error-element.sc-p-tooltip{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity));letter-spacing:.05em;text-transform:uppercase}/*!@:host .popover-container .popover[data-show]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-show].sc-p-tooltip{opacity:1;pointer-events:auto}/*!@:host .popover-container .popover .arrow,:host .popover-container .popover .arrow:before*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip,.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip:before{background:inherit;height:.5rem;position:absolute;width:.5rem}/*!@:host .popover-container .popover .arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip{visibility:hidden}/*!@:host .popover-container .popover .arrow:before*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover.sc-p-tooltip .arrow.sc-p-tooltip:before{--tw-rotate:45deg;content:\"\";transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));visibility:visible}/*!@:host .popover-container .popover[data-strategy=fixed]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-strategy=fixed].sc-p-tooltip{position:fixed}/*!@:host .popover-container .popover[data-strategy=absolute]*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-strategy=absolute].sc-p-tooltip{position:absolute}/*!@:host .popover-container .popover[data-placement^=top]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=top].sc-p-tooltip>.arrow.sc-p-tooltip{bottom:-.25rem}/*!@:host .popover-container .popover[data-placement^=bottom]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=bottom].sc-p-tooltip>.arrow.sc-p-tooltip{top:-.25rem}/*!@:host .popover-container .popover[data-placement^=left]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=left].sc-p-tooltip>.arrow.sc-p-tooltip{right:-.25rem}/*!@:host .popover-container .popover[data-placement^=right]>.arrow*/.sc-p-tooltip-h .popover-container.sc-p-tooltip .popover[data-placement^=right].sc-p-tooltip>.arrow.sc-p-tooltip{left:-.25rem}/*!@.static*/.static.sc-p-tooltip{position:static!important}/*!@.blur*/.blur.sc-p-tooltip{--tw-blur:blur(8px)!important;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}";
23925
23926
 
23926
23927
  class Tooltip {
23927
23928
  constructor(hostRef) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperless/core",
3
- "version": "1.63.0",
3
+ "version": "1.64.1",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as n}from"./p-e4d5e7a7.js";import{f as a,t as o}from"./p-f8544f0c.js";import{f as r,g as l}from"./p-33fa21e3.js";import{d as h,a as d}from"./p-da7b6f2c.js";const u=".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.bottom-4{bottom:1rem!important}.left-1\\/2{left:50%!important}.flex{display:flex!important}.hidden{display:none!important}.flex-shrink{flex-shrink:1!important}.-translate-x-1\\/2{--tw-translate-x:-50%!important}.-translate-x-1\\/2,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}*{box-sizing:border-box}p-table{display:flex;flex-direction:column;position:relative}p-table .p-input[type=checkbox]{flex-shrink:0}p-table p-table-container{position:relative}p-table p-table-container p-floating-menu-container{--tw-translate-x:-50%;animation:floatingMenuContainerIn .3s ease forwards!important;bottom:1rem;left:50%;position:fixed;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@media (min-width:40rem){p-table p-table-container p-floating-menu-container{bottom:4rem;position:absolute}}p-table p-table-container p-floating-menu-container:not(.shown){display:none}p-table p-table-container p-floating-menu-container.inactive{animation:floatingMenuContainerOut .3s ease forwards!important}@keyframes floatingMenuContainerOut{0%{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}99%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}}@keyframes floatingMenuContainerIn{0%{display:none;opacity:0;transform:translateY(100%) translateX(-50%)}1%{display:flex;opacity:0;transform:translateY(100%) translateX(-50%)}to{display:flex;opacity:1;transform:translateY(0) translateX(-50%)}}.static{position:static!important}.mx-0{margin-left:0!important;margin-right:0!important}.mb-14{margin-bottom:3.5rem!important}.mb-6{margin-bottom:1.5rem!important}.ml-auto{margin-left:auto!important}.table{display:table!important}.h-6{height:1.5rem!important}.w-6{width:1.5rem!important}.max-w-\\[20rem\\]{max-width:20rem!important}.flex-1{flex:1 1 0%!important}.cursor-pointer{cursor:pointer!important}.resize{resize:both!important}.flex-col{flex-direction:column!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.self-center{align-self:center!important}.rounded{border-radius:.25rem!important}.py-24{padding-bottom:6rem!important;padding-top:6rem!important}.text-center{text-align:center!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.text-storm{--tw-text-opacity:1!important;color:rgb(81 83 107/var(--tw-text-opacity))!important}.text-storm-medium{--tw-text-opacity:1!important;color:rgb(128 130 158/var(--tw-text-opacity))!important}.opacity-0{opacity:0!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}@media (min-width:40rem){.tablet\\:flex{display:flex!important}}";const c=class{constructor(e){t(this,e);this.selectedRowsChange=i(this,"selectedRowsChange",3);this.rowClick=i(this,"rowClick",3);this.rowSelected=i(this,"rowSelected",3);this.rowDeselected=i(this,"rowDeselected",3);this.hasRendered=i(this,"hasRendered",3);this.quickFilter=i(this,"quickFilter",3);this.queryChange=i(this,"queryChange",3);this.filter=i(this,"filter",3);this.action=i(this,"action",3);this.pageChange=i(this,"pageChange",3);this.pageSizeChange=i(this,"pageSizeChange",3);this.export=i(this,"export",3);this.emptyStateActionClick=i(this,"emptyStateActionClick",3);this._rowActionsFloatingAll=[];this._ctrlDown=false;this._hasCustomFilterSlot=false;this._floatingMenuShown=false;this.items=undefined;this.loading=false;this.headerLoading=false;this.footerLoading=false;this.amountOfLoadingRows=6;this.enableRowSelection=true;this.rowSelectionLimit=undefined;this.enableRowClick=true;this.selectedRows=[];this.enableFloatingMenu=true;this.floatingMenuAmountSelectedTemplate=t=>{var i,e,s;return r((s=t===1?(i=this._locales.floating_menu)===null||i===void 0?void 0:i.amount_selected:(e=this._locales.floating_menu)===null||e===void 0?void 0:e.amount_selected_plural)===null||s===void 0?void 0:s.replace("{{amount}}",t))};this.selectionKey=undefined;this.canSelectKey=undefined;this.enableHeader=true;this.quickFilters=[];this.activeQuickFilterIdentifier=undefined;this.enableSearch=true;this.query=undefined;this.enableFilter=true;this.enableFilterDesktop=true;this.selectedFiltersAmount=undefined;this.filterButtonTemplate=undefined;this.enableAction=false;this.actionButtonLoading=false;this.actionButtonEnabled=false;this.actionButtonIcon="pencil";this.actionButtonText=undefined;this.actionButtonTemplate=undefined;this.enableFooter=true;this.enablePageSize=true;this.enablePagination=true;this.enableExport=true;this.page=1;this.total=undefined;this.pageSize=h;this.pageSizeOptions=d;this.hideOnSinglePage=true;this.emptyStateHeader=()=>{var t;return r((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.header)};this.emptyStateContent=()=>{var t;return r((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.content)};this.emptyStateAction=()=>{var t;return r((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.action)};this.enableEmptyStateAction=true;this.emptyStateFilteredHeader=()=>r(this._locales.empty_state.filtered.header);this.emptyStateFilteredContent=()=>r(this._locales.empty_state.filtered.content);this.shadow=true;this._locales={};this._columns=[];this._items=[];this._enableRowSelection=this.enableRowSelection;this._rowSelectionLimit=undefined;this._rowActionsFloating=[];this._rowActionsRow=[]}componentWillLoad(){this._hasCustomFilterSlot=!!this._el.querySelector(':scope > [slot="custom-filter"]');this._setRowSelectionData();this._setLocales();this._parseItems(this.items);this._generateColumns()}componentDidRender(){this.hasRendered.emit()}render(){var t,i,n,a,o,r,l;return e(s,{class:"p-table"},e("p-table-container",{shadow:this.shadow},this.enableHeader&&e("p-table-header",{quickFilters:this.quickFilters,activeQuickFilterIdentifier:this.activeQuickFilterIdentifier,onQuickFilter:({detail:t})=>this.quickFilter.emit(t),enableSearch:this.enableSearch,query:this.query,onQueryChange:({detail:t})=>this.queryChange.emit(t),enableFilter:this.enableFilter,enableFilterDesktop:this.enableFilterDesktop,selectedFiltersAmount:this.selectedFiltersAmount,filterButtonTemplate:this.filterButtonTemplate,onFilter:()=>this.filter.emit(),enableAction:this.enableAction,actionIcon:this.actionButtonIcon,actionText:this.actionButtonText,actionLoading:this.actionButtonLoading,canUseAction:this.actionButtonEnabled,actionButtonTemplate:this.actionButtonTemplate,onAction:()=>this.action.emit(),itemsSelectedAmount:(t=this.selectedRows)===null||t===void 0?void 0:t.length,loading:this.headerLoading},this._hasCustomFilterSlot&&e("slot",{name:"custom-filter",slot:"custom-filter"})),this._getHeader(),e("div",{class:"flex flex-1 flex-col"},this._getRows()),this.enableFooter&&e("p-table-footer",{hideOnSinglePage:this.hideOnSinglePage,enablePageSize:this.enablePageSize,pageSize:this.pageSize,pageSizeOptions:this.pageSizeOptions,onPageSizeChange:({detail:t})=>this.pageSizeChange.emit(t),enablePagination:this.enablePagination,page:this.page,total:this.total,onPageChange:({detail:t})=>this.pageChange.emit(t),enableExport:this.enableExport,onExport:()=>this.export.emit(),loading:this.footerLoading}),this.enableFloatingMenu&&this._enableRowSelection?e("p-floating-menu-container",{usedInTable:true,class:`${((i=this.selectedRows)===null||i===void 0?void 0:i.length)?"":"inactive"} ${this._floatingMenuShown?"shown":""}`},e("p-floating-menu-item",{hover:false,slot:"floating-menu-item",class:((n=this._rowActionsFloating)===null||n===void 0?void 0:n.length)?"hidden tablet:flex":""},this.floatingMenuAmountSelectedTemplate((a=this.selectedRows)===null||a===void 0?void 0:a.length)),e("p-divider",{class:`mx-0 text-storm ${((o=this._rowActionsFloating)===null||o===void 0?void 0:o.length)?"hidden tablet:flex":""}`,variant:"vertical",slot:"floating-menu-item"}),((r=this._rowActionsFloating)===null||r===void 0?void 0:r.length)&&this._rowActionsFloating.map((t=>e("p-floating-menu-item",{slot:"floating-menu-item",disabled:t.disabled,onClick:()=>!t.disabled&&!t.loading&&!!t.action&&t.type==="single"?t.action(this.selectedRows[0],false):t.action(this.selectedRows,true)},t.label," ",t.loading?e("p-loader",null):e("p-icon",{variant:t.icon,rotate:t.iconRotate,flip:t.iconFlip})))),((l=this._rowActionsFloating)===null||l===void 0?void 0:l.length)&&e("p-divider",{class:"mx-0 text-storm",variant:"vertical",slot:"floating-menu-item"}),e("p-floating-menu-item",{slot:"floating-menu-item",onClick:()=>this._selectAllChange(null,false)},e("p-icon",{variant:"negative"}))):""))}async _setLocales(){this._locales=await l(this._el)}onTableDefinitionUpdated(){this._generateColumns()}keyDown({key:t}){if(t!=="Control"||this._ctrlDown===true){return}this._ctrlDown=true}keyUp({key:t}){if(t!=="Control"||this._ctrlDown===false){return}this._ctrlDown=false}visibilityChange(){if(document.visibilityState!=="hidden"||this._ctrlDown===false){return}this._ctrlDown=false}_parseItems(t){if(!t){this._items=[];return}if(Array.isArray(t)){this._items=t;return}this._items=JSON.parse(t)}_setRowSelectionData(){if(this._resizeTimeout){clearTimeout(this._resizeTimeout)}this._resizeTimeout=setTimeout((()=>{var t,i;const e=a();const s=Array.from(this._el.querySelectorAll(":scope > p-table-row-action"));this._rowActionsRow=s.filter((t=>t.type==="both"||t.type==="single"));this._rowActionsFloatingAll=s.filter((t=>this.enableRowSelection&&(t.type==="both"||t.type==="multi")||e&&t.type==="single")).map((t=>{var i;if(t.type==="single"){t.disabled=((i=this.selectedRows)===null||i===void 0?void 0:i.length)>1}return t}));let n=this.rowSelectionLimit;if(e&&((t=this._rowActionsFloatingAll)===null||t===void 0?void 0:t.length)&&(n!==undefined&&this.enableRowSelection||!this.enableRowSelection)){n=1}this._rowSelectionLimit=n;let o=this.enableRowSelection;if(e&&((i=this._rowActionsFloatingAll)===null||i===void 0?void 0:i.length)&&!o){o=true}this._enableRowSelection=o;if(this._floatingMenuShown){this._showFloatingMenu()}}),200)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");let i=Array.from(t);i=this._parseDefinitions(i);this._columns=i}_getHeader(){return e("p-table-row",{variant:"header"},this._columns.map(((t,i)=>e("p-table-cell",{definition:t,value:t.name,variant:"header",checkbox:i===0||t.hasCheckbox?this._getCheckbox(null,this.loading?"loading":"header"):null,index:i}))))}_getRows(){if(this.loading){return Array.from({length:this.amountOfLoadingRows},((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick},this._getLoadingColumns(i))))}if(!this._items.length){return this._getEmptyState()}return this._items.map(((t,i)=>e("p-table-row",{enableHover:this._enableRowSelection||this.enableRowClick,onClick:t=>this._rowClick(t,i)},this._getRowColumns(t,i))))}_getRowColumns(t,i){const s=this._rowActionsRow.filter((i=>i.showFunction?i.showFunction(t):true));const n=this._columns.map(((n,o)=>e("p-table-cell",{definition:n,item:t,checkbox:o===0||n.hasCheckbox?this._getCheckbox(i):null,index:o,rowIndex:i,tableHasActions:!!s.length&&!a()})));if((s===null||s===void 0?void 0:s.length)&&!a()){const a=this._parseRowActionsRowDefinition();if(!s.length){return n}n.push(e("p-table-cell",{variant:"actions",definition:a,item:t,index:this._columns.length-1,rowIndex:i,tableHasActions:true},e("div",{slot:"actions",class:"ml-auto flex items-center gap-2"},s.map((i=>e("p-tooltip",{content:i.label},e("p-button",{"data-is-action":true,variant:"secondary",slot:"trigger",icon:i.icon,iconRotate:i.iconRotate,iconFlip:i.iconFlip,iconOnly:true,size:"small",onClick:()=>{var e;return typeof i.action==="function"&&((e=i.action)===null||e===void 0?void 0:e.call(i,t,false))}})))))))}return n}_getLoadingColumns(t){return this._columns.map(((i,s)=>e("p-table-cell",{definition:i,variant:"loading",checkbox:s===0||i.hasCheckbox?this._getCheckbox(t,"loading"):null,index:s,rowIndex:t})))}_getCheckbox(t,i="default"){var s;if(!this._enableRowSelection||!this.selectionKey&&!((s=this._rowActionsFloating)===null||s===void 0?void 0:s.length)){return}if(i==="loading"){return e("p-loader",{variant:"ghost",class:"h-6 w-6 rounded"})}if(i==="header"){return e("input",{class:`p-input ${this._rowSelectionLimit!==undefined&&"opacity-0"}`,type:"checkbox",onChange:t=>this._selectAllChange(t),checked:this._selectionContainsAll(),indeterminate:this._selectionIndeterminate(),disabled:this._rowSelectionLimit!==undefined})}const n=this._items[t];const a=this._selectionContains(t);return e("input",{class:"p-input",type:"checkbox",onChange:i=>this._checkboxChange(i===null||i===void 0?void 0:i.target,t),disabled:this.canSelectKey&&!n[this.canSelectKey]||this._rowSelectionLimit!==undefined&&!a&&this.selectedRows.length===this._rowSelectionLimit,checked:a})}_getEmptyState(){var t;if(((t=this.query)===null||t===void 0?void 0:t.length)||this.selectedFiltersAmount){return e("div",{class:"flex max-w-[20rem] flex-col items-center self-center py-24 text-center"},e("p-illustration",{variant:"empty-state-search",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateFilteredHeader()),e("p",{class:"mb-14 text-sm text-storm-medium"},this.emptyStateFilteredContent()))}return e("div",{class:`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${this.enableEmptyStateAction&&"cursor-pointer"}`,onClick:()=>this.enableEmptyStateAction&&this.emptyStateActionClick.emit(null)},e("p-illustration",{variant:"empty-state-add",class:"mb-6"}),e("p",{class:"text-storm-default font-semibold"},this.emptyStateHeader()),e("p",{class:"mb-6 text-sm text-storm-medium"},this.emptyStateContent()),this.enableEmptyStateAction&&e("p-button",{variant:"secondary",icon:"plus",size:"small"},this.emptyStateAction()))}_selectAllChange(t,i){if(!this._enableRowSelection){return}const e=i===undefined?this._getCheckedValue(t.target):i;if(e){const t=[];for(let i=0;i<this._items.length;i++){const e=this._items[i];if(this.canSelectKey&&!e[this.canSelectKey]){continue}if(this._selectionContains(i)){continue}t.push(e);this.rowSelected.emit(e);if(this._rowSelectionLimit!==undefined&&this.selectedRows.length+t.length===this._rowSelectionLimit){break}}this.selectedRows=[...this.selectedRows,...t];this.selectedRowsChange.emit(this.selectedRows);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._showFloatingMenu()}return}for(let t=0;t<this.selectedRows.length;t++){const i=this.selectedRows[t];const e=this._items.find((e=>this._getSelectionValue(e,t)===this._getSelectionValue(i,t)));if(!e){continue}this.rowDeselected.emit(e)}this.selectedRows=[];this.selectedRowsChange.emit(this.selectedRows)}_checkboxChange(t,i){if(!this._enableRowSelection){return}const e=this._getCheckedValue(t);if(e&&this._rowSelectionLimit!==undefined&&this.selectedRows.length>=this._rowSelectionLimit){t.checked=false;return}const s=this._items[i];if(this.canSelectKey&&!s[this.canSelectKey]){t.checked=false;return}if(e){this.selectedRows=[...this.selectedRows,Object.assign(Object.assign({},s),{index:i})];this.selectedRowsChange.emit(this.selectedRows);this.rowSelected.emit(s);if(this.enableFloatingMenu&&!this._floatingMenuShown){this._showFloatingMenu()}return}const n=this._selectionContains(i,true);const a=[...this.selectedRows];a.splice(n,1);this.selectedRows=a;this.selectedRowsChange.emit(this.selectedRows);this.rowDeselected.emit(s)}_getCheckedValue(t){return t===null||t===void 0?void 0:t.checked}_getSelectionValue(t,i){return this.selectionKey?(t===null||t===void 0?void 0:t[this.selectionKey])||i:i}_selectionContains(t,i=false){const e=this.selectedRows.findIndex((i=>i.index===t));return!i?e>=0:e}_selectionContainsAll(){var t,i;let e=true;if(!((t=this._items)===null||t===void 0?void 0:t.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return true}for(let t=0;t<((i=this._items)===null||i===void 0?void 0:i.length);t++){const i=this._selectionContains(t);if(!i){e=false;break}}return e}_selectionIndeterminate(){var t,i,e;if(!((t=this._items)===null||t===void 0?void 0:t.length)||!((i=this.selectedRows)===null||i===void 0?void 0:i.length)){return false}if(this._rowSelectionLimit!==undefined&&this.selectedRows.length===this._rowSelectionLimit){return false}let s=0;for(let t=0;t<((e=this._items)===null||e===void 0?void 0:e.length);t++){const i=this._selectionContains(t);if(i){s++}}return s>0&&s!==this._items.length}_rowClick(t,i){const e=t.target;if(e.tagName.toLowerCase()==="input"||e.type==="checkbox"){return}const s=this._findRow(t.target);const n=this._findRowAction(t.target);if(n){return}if(this.enableRowClick){const t=this._items[i];this.rowClick.emit({item:t,ctrlDown:this._ctrlDown});return}if(!this._enableRowSelection){return}const a=s===null||s===void 0?void 0:s.querySelector('input[type="checkbox"]');if(!a){return}a.checked=!a.checked;this._checkboxChange(a,i)}_findRow(t){var i;if(!t){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return t}return this._findRow(t===null||t===void 0?void 0:t.parentElement)}_findRowAction(t){var i;if(!t){return null}if(t.getAttribute("data-is-action")!==null&&t.getAttribute("data-is-action")!=="false"){return t}if(((i=t===null||t===void 0?void 0:t.tagName)===null||i===void 0?void 0:i.toLowerCase())==="p-table-row"){return null}return this._findRowAction(t===null||t===void 0?void 0:t.parentElement)}_showFloatingMenu(){let t=this._rowActionsFloatingAll;if(this.rowSelectionLimit===1&&t.findIndex((t=>(t.type==="single"||t.type==="both")&&t.showFunction))>=0){t=t.filter((t=>t.type==="multi"||!t.showFunction||t.showFunction(this.selectedRows[0])))}this._rowActionsFloating=t;this._floatingMenuShown=true}_parseDefinitions(t){const i=t.map((t=>{t=this._parseDefinitionSizes(t);t.isLast={};return t}));const e=o.reduce(((t,i)=>{t[i]=false;return t}),{});for(let t=i.length-1;t>=0;t--){const s=i[t];for(const t of o){if(e[t]){s.isLast[t]=false;continue}if(s.parsedSizes[t]==="hidden"){s.isLast[t]=false;continue}const n=this._findLastDefinitionBySize(i,t);if(n){s.isLast[t]=false;continue}s.isLast[t]=true}}return i}_findLastDefinitionBySize(t,i){return t.slice().reverse().find((t=>t.isLast[i]===true))}_parseDefinitionSizes(t){var i;const e=t;let s={default:"full"};if(typeof t.sizes==="string"&&!["auto","hidden","full"].includes(t.sizes)){t.sizes=JSON.parse(t.sizes)}for(const[t,n]of o.entries()){if(e.sizes==="auto"||e.sizes==="hidden"||e.sizes==="full"||typeof e.sizes==="number"){s[n]=e.sizes==="auto"?"full":e.sizes;continue}s[n]=(i=e.sizes[n])!==null&&i!==void 0?i:s[o[t-1]]}t.parsedSizes=s;return t}_parseRowActionsRowDefinition(){const t=o.reduce(((t,i)=>{t[i]=true;return t}),{});const i={default:0};for(const t of o){const e=this._findLastDefinitionBySize(this._columns,t);i[t]=e.parsedSizes[t]}return{isLast:t,sizes:i,parsedSizes:i,align:"end",type:"td",path:null}}get _el(){return n(this)}static get watchers(){return{items:["_parseItems"],enableRowSelection:["_setRowSelectionData"],rowSelectionLimit:["_setRowSelectionData"],selectedRows:["_setRowSelectionData"]}}};c.style=u;export{c as p_table};
2
- //# sourceMappingURL=p-05d82685.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["tableComponentCss","Table","this","_rowActionsFloatingAll","_ctrlDown","_hasCustomFilterSlot","_floatingMenuShown","amount","formatTranslation","_c","_a","_locales","floating_menu","amount_selected","_b","amount_selected_plural","replace","defaultSize","defaultSizeOptions","empty_state","no_filter","header","content","action","filtered","enableRowSelection","componentWillLoad","_el","querySelector","_setRowSelectionData","_setLocales","_parseItems","items","_generateColumns","componentDidRender","hasRendered","emit","render","h","Host","class","shadow","enableHeader","quickFilters","activeQuickFilterIdentifier","onQuickFilter","detail","quickFilter","enableSearch","query","onQueryChange","queryChange","enableFilter","enableFilterDesktop","selectedFiltersAmount","filterButtonTemplate","onFilter","filter","enableAction","actionIcon","actionButtonIcon","actionText","actionButtonText","actionLoading","actionButtonLoading","canUseAction","actionButtonEnabled","actionButtonTemplate","onAction","itemsSelectedAmount","selectedRows","length","loading","headerLoading","name","slot","_getHeader","_getRows","enableFooter","hideOnSinglePage","enablePageSize","pageSize","pageSizeOptions","onPageSizeChange","pageSizeChange","enablePagination","page","total","onPageChange","pageChange","enableExport","onExport","export","footerLoading","enableFloatingMenu","_enableRowSelection","usedInTable","hover","_rowActionsFloating","floatingMenuAmountSelectedTemplate","_d","_e","variant","_f","map","a","disabled","onClick","type","label","icon","rotate","iconRotate","flip","iconFlip","_g","_selectAllChange","getLocaleComponentStrings","onTableDefinitionUpdated","keyDown","key","keyUp","visibilityChange","document","visibilityState","_items","Array","isArray","JSON","parse","_resizeTimeout","clearTimeout","setTimeout","mobile","isMobile","actions","from","querySelectorAll","_rowActionsRow","rowSelectionLimit","undefined","_rowSelectionLimit","_showFloatingMenu","definitions","definitionsArray","_parseDefinitions","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","showFunction","columns","colIndex","rowIndex","tableHasActions","def","_parseRowActionsRowDefinition","push","iconOnly","size","call","selectionKey","onChange","checked","_selectionContainsAll","indeterminate","_selectionIndeterminate","selectionContains","_selectionContains","_checkboxChange","target","canSelectKey","emptyStateFilteredHeader","emptyStateFilteredContent","enableEmptyStateAction","emptyStateActionClick","emptyStateHeader","emptyStateContent","emptyStateAction","$event","forceValue","_getCheckedValue","toAdd","row","rowSelected","selectedRowsChange","find","d","_getSelectionValue","rowDeselected","indexOfToRemove","selection","splice","returnIndex","returnValue","findIndex","contains","containsCount","tagName","toLowerCase","_findRow","_findRowAction","rowClick","ctrlDown","el","parentElement","getAttribute","_parseDefinitionSizes","isLast","matchedIsLast","tableColumSizesOptions","reduce","data","parsedSizes","isLastAtSizeFound","_findLastDefinitionBySize","slice","reverse","definitionAny","default","sizes","includes","entries","lastColumn","align","path"],"sources":["src/components/organisms/table/table.component.scss?tag=p-table","src/components/organisms/table/table.component.tsx"],"sourcesContent":["p-table {\n\t@apply relative flex flex-col;\n\n\t.p-input[type='checkbox'] {\n\t\tflex-shrink: 0;\n\t}\n\n\tp-table-container {\n\t\t@apply relative;\n\n\t\tp-floating-menu-container {\n\t\t\t@apply fixed bottom-4 left-1/2 -translate-x-1/2 transform;\n\t\t\tanimation: forwards floatingMenuContainerIn 0.3s ease !important;\n\n\t\t\t@screen tablet {\n\t\t\t\t@apply absolute bottom-16;\n\t\t\t}\n\n\t\t\t&:not(.shown) {\n\t\t\t\t@apply hidden;\n\t\t\t}\n\n\t\t\t&.inactive {\n\t\t\t\tanimation: forwards floatingMenuContainerOut 0.3s ease !important;\n\t\t\t}\n\t\t}\n\t}\n}\n\n@keyframes floatingMenuContainerOut {\n\t0% {\n\t\tdisplay: flex;\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t}\n\t99% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n}\n\n@keyframes floatingMenuContainerIn {\n\t0% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: none;\n\t}\n\t1% {\n\t\ttransform: translateY(100%) translateX(-50%);\n\t\topacity: 0;\n\t\tdisplay: flex;\n\t}\n\t100% {\n\t\ttransform: translateY(0) translateX(-50%);\n\t\topacity: 100;\n\t\tdisplay: flex;\n\t}\n}\n","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 } from '../../../components';\nimport { tableColumSizesOptions } from '../../../types/constants';\nimport {\n\tQuickFilter,\n\tRowClickEvent,\n\tTableColumnSizes,\n} from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\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.scss',\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[] = [];\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 page size select\n\t */\n\t@Prop() enablePageSize: boolean = true;\n\n\t/**\n\t * Wether to enable pagination\n\t */\n\t@Prop() enablePagination: 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 = defaultSize;\n\n\t/**\n\t * The options for the page size\n\t */\n\t@Prop() pageSizeOptions: number[] = defaultSizeOptions;\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\tprivate _ctrlDown = false;\n\tprivate _hasCustomFilterSlot = false;\n\tprivate _floatingMenuShown = false;\n\tprivate _resizeTimeout: NodeJS.Timer;\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._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='p-table'>\n\t\t\t\t<p-table-container shadow={this.shadow}>\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\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//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\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'>{this._getRows()}</div>\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\tenablePageSize={this.enablePageSize}\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\tenablePagination={this.enablePagination}\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// 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.footerLoading}\n\t\t\t\t\t\t></p-table-footer>\n\t\t\t\t\t)}\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={`${this.selectedRows?.length ? '' : 'inactive'} ${\n\t\t\t\t\t\t\t\tthis._floatingMenuShown ? 'shown' : ''\n\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\thover={false}\n\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\t\t\t\t\t\t\tclass={\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length ? 'hidden tablet:flex' : ''\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.floatingMenuAmountSelectedTemplate(\n\t\t\t\t\t\t\t\t\tthis.selectedRows?.length\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</p-floating-menu-item>\n\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\tclass={`mx-0 text-storm ${\n\t\t\t\t\t\t\t\t\tthis._rowActionsFloating?.length ? 'hidden tablet:flex' : ''\n\t\t\t\t\t\t\t\t}`}\n\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\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\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\t{a.loading ? (\n\t\t\t\t\t\t\t\t\t\t\t<p-loader></p-loader>\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t<p-icon\n\t\t\t\t\t\t\t\t\t\t\t\tvariant={a.icon}\n\t\t\t\t\t\t\t\t\t\t\t\trotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\t\t\t\tflip={a.iconFlip}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t)}\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\t{this._rowActionsFloating?.length && (\n\t\t\t\t\t\t\t\t<p-divider\n\t\t\t\t\t\t\t\t\tclass='mx-0 text-storm'\n\t\t\t\t\t\t\t\t\tvariant='vertical'\n\t\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t<p-floating-menu-item\n\t\t\t\t\t\t\t\tslot='floating-menu-item'\n\t\t\t\t\t\t\t\tonClick={() => this._selectAllChange(null, false)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<p-icon variant='negative' />\n\t\t\t\t\t\t\t</p-floating-menu-item>\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\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>\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\tonClick={ev => this._rowClick(ev, index)}\n\t\t\t>\n\t\t\t\t{this._getRowColumns(item, index)}\n\t\t\t</p-table-row>\n\t\t));\n\t}\n\n\tprivate _getRowColumns(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\tconst columns = 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\ttableHasActions={!!actions.length && !isMobile()}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (actions?.length && !isMobile()) {\n\t\t\tconst def = this._parseRowActionsRowDefinition();\n\n\t\t\tif (!actions.length) {\n\t\t\t\treturn columns;\n\t\t\t}\n\n\t\t\tcolumns.push(\n\t\t\t\t<p-table-cell\n\t\t\t\t\tvariant='actions'\n\t\t\t\t\tdefinition={def}\n\t\t\t\t\titem={item}\n\t\t\t\t\tindex={this._columns.length - 1}\n\t\t\t\t\trowIndex={index}\n\t\t\t\t\ttableHasActions={true}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tslot='actions'\n\t\t\t\t\t\tclass='ml-auto flex items-center gap-2'\n\t\t\t\t\t>\n\t\t\t\t\t\t{actions.map(a => (\n\t\t\t\t\t\t\t<p-tooltip content={a.label}>\n\t\t\t\t\t\t\t\t<p-button\n\t\t\t\t\t\t\t\t\tdata-is-action\n\t\t\t\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\t\t\t\tslot='trigger'\n\t\t\t\t\t\t\t\t\ticon={a.icon}\n\t\t\t\t\t\t\t\t\ticonRotate={a.iconRotate}\n\t\t\t\t\t\t\t\t\ticonFlip={a.iconFlip}\n\t\t\t\t\t\t\t\t\ticonOnly={true}\n\t\t\t\t\t\t\t\t\tsize='small'\n\t\t\t\t\t\t\t\t\tonClick={() =>\n\t\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\t}\n\t\t\t\t\t\t\t\t></p-button>\n\t\t\t\t\t\t\t</p-tooltip>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</div>\n\t\t\t\t</p-table-cell>\n\t\t\t);\n\t\t}\n\n\t\treturn columns;\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<input\n\t\t\t\t\tclass={`p-input ${\n\t\t\t\t\t\tthis._rowSelectionLimit !== undefined && 'opacity-0'\n\t\t\t\t\t}`}\n\t\t\t\t\ttype='checkbox'\n\t\t\t\t\tonChange={ev => this._selectAllChange(ev)}\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/>\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<input\n\t\t\t\tclass='p-input'\n\t\t\t\ttype='checkbox'\n\t\t\t\tonChange={ev => this._checkboxChange(ev?.target, rowIndex)}\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/>\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<div class='flex max-w-[20rem] flex-col items-center self-center py-24 text-center'>\n\t\t\t\t\t<p-illustration\n\t\t\t\t\t\tvariant='empty-state-search'\n\t\t\t\t\t\tclass='mb-6'\n\t\t\t\t\t/>\n\t\t\t\t\t<p class='text-storm-default font-semibold'>\n\t\t\t\t\t\t{this.emptyStateFilteredHeader()}\n\t\t\t\t\t</p>\n\t\t\t\t\t<p class='mb-14 text-sm text-storm-medium'>\n\t\t\t\t\t\t{this.emptyStateFilteredContent()}\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclass={`flex max-w-[20rem] flex-col items-center self-center py-24 text-center ${\n\t\t\t\t\tthis.enableEmptyStateAction && 'cursor-pointer'\n\t\t\t\t}`}\n\t\t\t\tonClick={() =>\n\t\t\t\t\tthis.enableEmptyStateAction && this.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration\n\t\t\t\t\tvariant='empty-state-add'\n\t\t\t\t\tclass='mb-6'\n\t\t\t\t/>\n\t\t\t\t<p class='text-storm-default font-semibold'>\n\t\t\t\t\t{this.emptyStateHeader()}\n\t\t\t\t</p>\n\t\t\t\t<p class='mb-6 text-sm text-storm-medium'>{this.emptyStateContent()}</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button\n\t\t\t\t\t\tvariant='secondary'\n\t\t\t\t\t\ticon='plus'\n\t\t\t\t\t\tsize='small'\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.emptyStateAction()}\n\t\t\t\t\t</p-button>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tprivate _selectAllChange($event: any, forceValue?: boolean) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value =\n\t\t\tforceValue === undefined\n\t\t\t\t? this._getCheckedValue($event.target)\n\t\t\t\t: 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(target: any, index: number) {\n\t\tif (!this._enableRowSelection) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this._getCheckedValue(target);\n\t\tif (\n\t\t\tvalue &&\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 (value) {\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 _getCheckedValue(target: any) {\n\t\treturn target?.checked;\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\tconst definitions = definitionsArray.map(definition => {\n\t\t\tdefinition = this._parseDefinitionSizes(definition);\n\t\t\tdefinition.isLast = {};\n\t\t\treturn definition;\n\t\t});\n\n\t\tconst matchedIsLast = tableColumSizesOptions.reduce(\n\t\t\t(data: { [key: string]: boolean }, size) => {\n\t\t\t\tdata[size] = false;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tfor (let i = definitions.length - 1; i >= 0; i--) {\n\t\t\tconst definition = definitions[i];\n\n\t\t\tfor (const size of tableColumSizesOptions) {\n\t\t\t\tif (matchedIsLast[size]) {\n\t\t\t\t\tdefinition.isLast[size] = false;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (definition.parsedSizes![size] === 'hidden') {\n\t\t\t\t\tdefinition.isLast[size] = false;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst isLastAtSizeFound = this._findLastDefinitionBySize(\n\t\t\t\t\tdefinitions,\n\t\t\t\t\tsize\n\t\t\t\t);\n\t\t\t\tif (isLastAtSizeFound) {\n\t\t\t\t\tdefinition.isLast[size] = false;\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tdefinition.isLast[size] = true;\n\t\t\t}\n\t\t}\n\n\t\treturn definitions;\n\t}\n\n\tprivate _findLastDefinitionBySize(\n\t\tdefinitions: HTMLPTableColumnElement[],\n\t\tsize: string\n\t) {\n\t\treturn definitions\n\t\t\t.slice()\n\t\t\t.reverse()\n\t\t\t.find(d => d.isLast[size] === true);\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\tprivate _parseRowActionsRowDefinition() {\n\t\tconst isLast = tableColumSizesOptions.reduce(\n\t\t\t(data: { [key: string]: boolean }, size) => {\n\t\t\t\tdata[size] = true;\n\t\t\t\treturn data;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tconst sizes: TableColumnSizes = { default: 0 };\n\n\t\tfor (const size of tableColumSizesOptions) {\n\t\t\tconst lastColumn = this._findLastDefinitionBySize(this._columns, size);\n\t\t\tsizes[size] = lastColumn!.parsedSizes![size]!;\n\t\t}\n\n\t\treturn {\n\t\t\tisLast,\n\t\t\tsizes,\n\t\t\tparsedSizes: sizes,\n\t\t\talign: 'end',\n\t\t\ttype: 'td',\n\t\t\tpath: null,\n\t\t} as TableColumn;\n\t}\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stepperComponentCss","Stepper","this","_loaded","_delay","amount","Promise","resolve","setTimeout","_onSlotChange","async","_e","_generateSteps","firstLoad","_el","_rendering","activeStep","items","querySelectorAll","i","length","item","active","finished","directionChanged","direction","align","contentPosition","nextItem","nextElementSibling","tagName","toLowerCase","heightDiff","clientHeight","stepperLine","document","createElement","style","marginTop","marginBottom","minHeight","insertBefore","previous","previousElementSibling","remove","previousItem","lines","j","line","componentDidLoad","render","h","Host","class","onSlotchange","_onActiveStepChange"],"sources":["src/components/molecules/stepper/stepper.component.scss?tag=p-stepper&encapsulation=shadow","src/components/molecules/stepper/stepper.component.tsx"],"sourcesContent":[":host {\n\t@apply flex;\n}\n\n:host([direction='horizontal']) {\n\t@apply h-auto items-end;\n}\n\n:host([direction='vertical']) {\n\t@apply flex-col flex-wrap items-start;\n\t@apply w-full min-h-full;\n}\n\n:host([direction='vertical'][content-position='start']) {\n\t@apply items-end;\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\n@Component({\n\ttag: 'p-stepper',\n\tstyleUrl: 'stepper.component.scss',\n\tshadow: true,\n})\nexport class Stepper {\n\t/**\n\t * The currently active step\n\t */\n\t@Prop() activeStep: number = 1;\n\n\t/**\n\t * The direction of the stepper\n\t */\n\t@Prop({ reflect: true }) direction: 'horizontal' | 'vertical' =\n\t\t'horizontal';\n\n\t/**\n\t * The position of the content in case of vertical direction\n\t */\n\t@Prop({ reflect: true }) contentPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t@State() private _rendering = false;\n\n\tprivate _loaded = false;\n\n\t// private _steps: Array<HTMLPStepperItemElement>;\n\n\tprivate _delay = (amount: number) =>\n\t\tnew Promise((resolve) => setTimeout(resolve, amount));\n\n\tprivate _onSlotChange = async (_e: Event) => this._generateSteps();\n\n\tprivate _generateSteps = async (firstLoad = false) => {\n\t\tif (!firstLoad && (!this._el || this._rendering || !this._loaded)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._rendering = true;\n\n\t\tlet activeStep = this.activeStep - 1 || 0;\n\t\tconst items = this._el.querySelectorAll('p-stepper-item');\n\n\t\tif (!this.activeStep || activeStep < 0) {\n\t\t\tfor (let i = 0; i < items?.length; i++) {\n\t\t\t\tconst item = items.item(i) as any;\n\n\t\t\t\tif (item.active) {\n\t\t\t\t\tactiveStep = i;\n\t\t\t\t}\n\n\t\t\t\tif (activeStep < 0 && item.finished) {\n\t\t\t\t\tactiveStep = i + 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let i = 0; i < items?.length; i++) {\n\t\t\tlet directionChanged = false;\n\t\t\tconst item = items.item(i) as any;\n\n\t\t\titem.active = i === activeStep;\n\t\t\titem.finished = i < activeStep;\n\n\t\t\tif (item.direction !== this.direction) {\n\t\t\t\tdirectionChanged = true;\n\t\t\t}\n\n\t\t\titem.direction = this.direction;\n\t\t\titem.align =\n\t\t\t\ti === 0 ? 'start' : i === items?.length - 1 ? 'end' : 'center';\n\t\t\titem.contentPosition = this.contentPosition;\n\n\t\t\tif (i < items.length - 1) {\n\t\t\t\tconst nextItem = item.nextElementSibling;\n\n\t\t\t\tif (\n\t\t\t\t\tnextItem &&\n\t\t\t\t\tnextItem.tagName.toLowerCase() === 'p-stepper-item'\n\t\t\t\t) {\n\t\t\t\t\t// super hacky, but we want to wait for the css of the `item.direction` change to be applied before querying for the item.clientHeight\n\t\t\t\t\t// otherwise we always get the initial \"16\"\n\t\t\t\t\tif (directionChanged) {\n\t\t\t\t\t\tawait this._delay(10);\n\t\t\t\t\t}\n\n\t\t\t\t\tconst heightDiff =\n\t\t\t\t\t\t(item.clientHeight > 16\n\t\t\t\t\t\t\t? item.clientHeight - 16\n\t\t\t\t\t\t\t: item.clientHeight) / 2;\n\n\t\t\t\t\tconst stepperLine =\n\t\t\t\t\t\tdocument.createElement('p-stepper-line');\n\n\t\t\t\t\tstepperLine.direction = this.direction;\n\t\t\t\t\tstepperLine.active = i <= activeStep;\n\n\t\t\t\t\tif (heightDiff > 0 && this.direction === 'vertical') {\n\t\t\t\t\t\tstepperLine.style.marginTop = `-${heightDiff / 16}rem`;\n\t\t\t\t\t\tstepperLine.style.marginBottom = `-${\n\t\t\t\t\t\t\theightDiff / 16\n\t\t\t\t\t\t}rem`;\n\t\t\t\t\t\tstepperLine.style.minHeight = `calc(1rem + ${\n\t\t\t\t\t\t\t(heightDiff * 2) / 16\n\t\t\t\t\t\t}rem)`;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis._el.insertBefore(stepperLine, nextItem);\n\n\t\t\t\t\tconst previous = stepperLine.previousElementSibling;\n\t\t\t\t\tif (\n\t\t\t\t\t\tprevious &&\n\t\t\t\t\t\tprevious.tagName.toLowerCase() === 'p-stepper-line'\n\t\t\t\t\t) {\n\t\t\t\t\t\tprevious.remove();\n\t\t\t\t\t}\n\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (i > 0) {\n\t\t\t\tconst previousItem = item.previousElementSibling;\n\t\t\t\tif (previousItem.tagName.toLowerCase() === 'p-stepper-line') {\n\t\t\t\t\tpreviousItem.direction = this.direction;\n\t\t\t\t\tpreviousItem.active = item.active || item.finished;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst lines = this._el.querySelectorAll(\n\t\t\t'p-stepper-line:not(:has(+ p-stepper-item)), p-stepper-line:first-child'\n\t\t);\n\t\tfor (let j = lines.length - 1; j >= 0; j--) {\n\t\t\tconst line = lines.item(j);\n\t\t\tline.remove();\n\t\t}\n\n\t\tsetTimeout(() => (this._rendering = false), 100);\n\t};\n\n\tcomponentDidLoad() {\n\t\tthis._loaded = true;\n\t\tthis._generateSteps(true);\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-stepper\">\n\t\t\t\t<slot onSlotchange={this._onSlotChange} />\n\t\t\t</Host>\n\t\t);\n\t}\n\n\t@Watch('activeStep')\n\tprotected _onActiveStepChange() {\n\t\tthis._generateSteps();\n\t}\n}\n"],"mappings":"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"}