@paperless/core 1.47.0 → 1.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/dist/build/p-08bef9ec.entry.js +2 -0
- package/dist/build/p-08bef9ec.entry.js.map +1 -0
- package/dist/build/p-6e267655.entry.js +2 -0
- package/dist/build/p-6e267655.entry.js.map +1 -0
- package/dist/build/p-ef0bfa6c.entry.js +2 -0
- package/dist/build/p-ef0bfa6c.entry.js.map +1 -0
- package/dist/build/paperless.esm.js +1 -1
- package/dist/build/paperless.esm.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +3 -2
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js.map +1 -1
- package/dist/cjs/p-dropdown_2.cjs.entry.js +2 -1
- package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +17 -5
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/paperless.cjs.js +1 -1
- package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.js +20 -1
- package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.js.map +1 -1
- package/dist/collection/components/molecules/dropdown/dropdown.component.js +20 -1
- package/dist/collection/components/molecules/dropdown/dropdown.component.js.map +1 -1
- package/dist/collection/components/organisms/table/table.component.js +17 -5
- package/dist/collection/components/organisms/table/table.component.js.map +1 -1
- package/dist/components/dropdown-menu-container.component.js +4 -2
- package/dist/components/dropdown-menu-container.component.js.map +1 -1
- package/dist/components/dropdown.component.js +3 -1
- package/dist/components/dropdown.component.js.map +1 -1
- package/dist/components/p-table.js +17 -5
- package/dist/components/p-table.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-dropdown-menu-container.entry.js +3 -2
- package/dist/esm/p-dropdown-menu-container.entry.js.map +1 -1
- package/dist/esm/p-dropdown_2.entry.js +2 -1
- package/dist/esm/p-dropdown_2.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +17 -5
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-08bef9ec.entry.js +2 -0
- package/dist/paperless/p-08bef9ec.entry.js.map +1 -0
- package/dist/paperless/p-6e267655.entry.js +2 -0
- package/dist/paperless/p-6e267655.entry.js.map +1 -0
- package/dist/paperless/p-ef0bfa6c.entry.js +2 -0
- package/dist/paperless/p-ef0bfa6c.entry.js.map +1 -0
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/paperless/paperless.esm.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/atoms/dropdown-menu-container/dropdown-menu-container.component.d.ts +4 -0
- package/dist/types/components/molecules/dropdown/dropdown.component.d.ts +4 -0
- package/dist/types/components/organisms/table/table.component.d.ts +2 -0
- package/dist/types/components.d.ts +16 -0
- package/hydrate/index.js +24 -8
- package/package.json +1 -1
- package/dist/build/p-53601c7e.entry.js +0 -2
- package/dist/build/p-53601c7e.entry.js.map +0 -1
- package/dist/build/p-a5d34188.entry.js +0 -2
- package/dist/build/p-a5d34188.entry.js.map +0 -1
- package/dist/build/p-cd2f0e4f.entry.js +0 -2
- package/dist/build/p-cd2f0e4f.entry.js.map +0 -1
- package/dist/paperless/p-53601c7e.entry.js +0 -2
- package/dist/paperless/p-53601c7e.entry.js.map +0 -1
- package/dist/paperless/p-a5d34188.entry.js +0 -2
- package/dist/paperless/p-a5d34188.entry.js.map +0 -1
- package/dist/paperless/p-cd2f0e4f.entry.js +0 -2
- package/dist/paperless/p-cd2f0e4f.entry.js.map +0 -1
package/dist/types/components/atoms/dropdown-menu-container/dropdown-menu-container.component.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ export declare class DropdownMenuContainer {
|
|
|
7
7
|
* Wether the container should all available space
|
|
8
8
|
*/
|
|
9
9
|
fullWidth: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Wether to allow overflow
|
|
12
|
+
*/
|
|
13
|
+
allowOverflow: boolean;
|
|
10
14
|
/**
|
|
11
15
|
* Wether the container should be scrollable when the threshold is met.
|
|
12
16
|
*/
|
|
@@ -29,6 +29,10 @@ export declare class Dropdown {
|
|
|
29
29
|
* Wether to apply the full width
|
|
30
30
|
*/
|
|
31
31
|
applyFullWidth: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Wether to allow overflow in the container
|
|
34
|
+
*/
|
|
35
|
+
allowOverflow: boolean;
|
|
32
36
|
/**
|
|
33
37
|
* Wether the dropdown container should be scrollable when the threshold is met.
|
|
34
38
|
*/
|
|
@@ -225,6 +225,7 @@ export declare class Table {
|
|
|
225
225
|
private _items;
|
|
226
226
|
private _enableRowSelection;
|
|
227
227
|
private _rowSelectionLimit;
|
|
228
|
+
private _rowActionsFloatingAll;
|
|
228
229
|
private _rowActionsFloating;
|
|
229
230
|
private _rowActionsRow;
|
|
230
231
|
private _ctrlDown;
|
|
@@ -262,4 +263,5 @@ export declare class Table {
|
|
|
262
263
|
private _rowClick;
|
|
263
264
|
private _findRow;
|
|
264
265
|
private _findRowAction;
|
|
266
|
+
private _showFloatingMenu;
|
|
265
267
|
}
|
|
@@ -412,6 +412,10 @@ export namespace Components {
|
|
|
412
412
|
"showClose": boolean;
|
|
413
413
|
}
|
|
414
414
|
interface PDropdown {
|
|
415
|
+
/**
|
|
416
|
+
* Wether to allow overflow in the container
|
|
417
|
+
*/
|
|
418
|
+
"allowOverflow": boolean;
|
|
415
419
|
/**
|
|
416
420
|
* Wether to apply chevron automatically
|
|
417
421
|
*/
|
|
@@ -466,6 +470,10 @@ export namespace Components {
|
|
|
466
470
|
"strategy": Strategy;
|
|
467
471
|
}
|
|
468
472
|
interface PDropdownMenuContainer {
|
|
473
|
+
/**
|
|
474
|
+
* Wether to allow overflow
|
|
475
|
+
*/
|
|
476
|
+
"allowOverflow": boolean;
|
|
469
477
|
/**
|
|
470
478
|
* Wether the container should all available space
|
|
471
479
|
*/
|
|
@@ -2556,6 +2564,10 @@ declare namespace LocalJSX {
|
|
|
2556
2564
|
"showClose"?: boolean;
|
|
2557
2565
|
}
|
|
2558
2566
|
interface PDropdown {
|
|
2567
|
+
/**
|
|
2568
|
+
* Wether to allow overflow in the container
|
|
2569
|
+
*/
|
|
2570
|
+
"allowOverflow"?: boolean;
|
|
2559
2571
|
/**
|
|
2560
2572
|
* Wether to apply chevron automatically
|
|
2561
2573
|
*/
|
|
@@ -2614,6 +2626,10 @@ declare namespace LocalJSX {
|
|
|
2614
2626
|
"strategy"?: Strategy;
|
|
2615
2627
|
}
|
|
2616
2628
|
interface PDropdownMenuContainer {
|
|
2629
|
+
/**
|
|
2630
|
+
* Wether to allow overflow
|
|
2631
|
+
*/
|
|
2632
|
+
"allowOverflow"?: boolean;
|
|
2617
2633
|
/**
|
|
2618
2634
|
* Wether the container should all available space
|
|
2619
2635
|
*/
|
package/hydrate/index.js
CHANGED
|
@@ -19540,6 +19540,7 @@ class Dropdown {
|
|
|
19540
19540
|
this.calculateWidth = false;
|
|
19541
19541
|
this.applyMaxWidth = true;
|
|
19542
19542
|
this.applyFullWidth = true;
|
|
19543
|
+
this.allowOverflow = true;
|
|
19543
19544
|
this.scrollable = false;
|
|
19544
19545
|
this.insideClick = false;
|
|
19545
19546
|
this.disableTriggerClick = false;
|
|
@@ -19557,7 +19558,7 @@ class Dropdown {
|
|
|
19557
19558
|
}
|
|
19558
19559
|
}
|
|
19559
19560
|
render() {
|
|
19560
|
-
return (hAsync(Host, { class: "p-dropdown" }, hAsync("div", { class: "trigger", ref: (ref) => (this._trigger = ref), onClick: () => this._triggerClickHandler() }, hAsync("slot", { onSlotchange: (ev) => this._checkButton(ev), name: "trigger" })), hAsync("p-dropdown-menu-container", { role: "popover", maxWidth: !this.calculateWidth && this.applyMaxWidth, fullWidth: this.applyFullWidth && !this.applyMaxWidth, ref: (el) => this._load(el), "data-placement": this.placement, "data-strategy": this.strategy, onClick: () => this._containerClickHandler(), scrollable: this.scrollable }, hAsync("slot", { name: "items" }))));
|
|
19561
|
+
return (hAsync(Host, { class: "p-dropdown" }, hAsync("div", { class: "trigger", ref: (ref) => (this._trigger = ref), onClick: () => this._triggerClickHandler() }, hAsync("slot", { onSlotchange: (ev) => this._checkButton(ev), name: "trigger" })), hAsync("p-dropdown-menu-container", { role: "popover", maxWidth: !this.calculateWidth && this.applyMaxWidth, fullWidth: this.applyFullWidth && !this.applyMaxWidth, allowOverflow: this.allowOverflow, ref: (el) => this._load(el), "data-placement": this.placement, "data-strategy": this.strategy, onClick: () => this._containerClickHandler(), scrollable: this.scrollable }, hAsync("slot", { name: "items" }))));
|
|
19561
19562
|
}
|
|
19562
19563
|
_checkButton({ target }) {
|
|
19563
19564
|
if (!this.applyChevron) {
|
|
@@ -19677,6 +19678,7 @@ class Dropdown {
|
|
|
19677
19678
|
"calculateWidth": [4, "calculate-width"],
|
|
19678
19679
|
"applyMaxWidth": [4, "apply-max-width"],
|
|
19679
19680
|
"applyFullWidth": [4, "apply-full-width"],
|
|
19681
|
+
"allowOverflow": [4, "allow-overflow"],
|
|
19680
19682
|
"scrollable": [8],
|
|
19681
19683
|
"insideClick": [4, "inside-click"],
|
|
19682
19684
|
"disableTriggerClick": [4, "disable-trigger-click"],
|
|
@@ -19690,17 +19692,18 @@ class Dropdown {
|
|
|
19690
19692
|
}; }
|
|
19691
19693
|
}
|
|
19692
19694
|
|
|
19693
|
-
const dropdownMenuContainerComponentCss = ".z-10{z-index:10!important}.flex{display:flex!important}.hidden{display:none!important}.max-h-\\[11\\.5rem\\]{max-height:11.5rem!important}.max-h-\\[13\\.875rem\\]{max-height:13.875rem!important}.max-h-\\[20rem\\]{max-height:20rem!important}.w-full{width:100%!important}.max-w-\\[222px\\]{max-width:222px!important}.flex-col{flex-direction:column!important}.gap-\\[1px\\]{gap:1px!important}.rounded-xxlarge{border-radius:.75rem!important}.drop-shadow-4{--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}.drop-shadow-4,.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}*{box-sizing:border-box}p-dropdown-menu-container{--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:.75rem;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);width:auto;z-index:10}p-dropdown-menu-container .content{display:flex;flex-direction:column;gap:1px;padding:.5rem;width:100%}p-dropdown-menu-container.full-width{width:100%}p-dropdown-menu-container.max-width{max-width:222px}p-dropdown-menu-container.scrollable{max-height:11.5rem;scrollbar-width:none}p-dropdown-menu-container.scrollable::-webkit-scrollbar{display:none}p-dropdown-menu-container.scrollable .content{height:100%}p-dropdown-menu-container.scrollable.scrollable-large{max-height:13.875rem}p-dropdown-menu-container.scrollable.scrollable-xlarge{max-height:20rem}.static{position:static!important}";
|
|
19695
|
+
const dropdownMenuContainerComponentCss = ".z-10{z-index:10!important}.flex{display:flex!important}.hidden{display:none!important}.max-h-\\[11\\.5rem\\]{max-height:11.5rem!important}.max-h-\\[13\\.875rem\\]{max-height:13.875rem!important}.max-h-\\[20rem\\]{max-height:20rem!important}.w-full{width:100%!important}.max-w-\\[222px\\]{max-width:222px!important}.flex-col{flex-direction:column!important}.gap-\\[1px\\]{gap:1px!important}.overflow-y-auto{overflow-y:auto!important}.rounded-xxlarge{border-radius:.75rem!important}.drop-shadow-4{--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}.drop-shadow-4,.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}*{box-sizing:border-box}p-dropdown-menu-container{--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:.75rem;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);width:auto;z-index:10}p-dropdown-menu-container .content{display:flex;flex-direction:column;gap:1px;padding:.5rem;width:100%}p-dropdown-menu-container.full-width{width:100%}p-dropdown-menu-container.no-overflow{overflow-x:hidden;overflow-y:auto}p-dropdown-menu-container.max-width{max-width:222px}p-dropdown-menu-container.scrollable{max-height:11.5rem;scrollbar-width:none}p-dropdown-menu-container.scrollable::-webkit-scrollbar{display:none}p-dropdown-menu-container.scrollable .content{height:100%}p-dropdown-menu-container.scrollable.scrollable-large{max-height:13.875rem}p-dropdown-menu-container.scrollable.scrollable-xlarge{max-height:20rem}.static{position:static!important}";
|
|
19694
19696
|
|
|
19695
19697
|
class DropdownMenuContainer {
|
|
19696
19698
|
constructor(hostRef) {
|
|
19697
19699
|
registerInstance(this, hostRef);
|
|
19698
19700
|
this.maxWidth = true;
|
|
19699
19701
|
this.fullWidth = true;
|
|
19702
|
+
this.allowOverflow = false;
|
|
19700
19703
|
this.scrollable = false;
|
|
19701
19704
|
}
|
|
19702
19705
|
render() {
|
|
19703
|
-
return (hAsync(Host, { class: `p-dropdown-menu-container ${this.maxWidth && 'max-width'} ${this.fullWidth && 'full-width'} ${!!this.scrollable && 'scrollable'} ${this.scrollable === 'large' ? 'scrollable-large' : ''} ${this.scrollable === 'xlarge' ? 'scrollable-xlarge' : ''}` }, hAsync("div", { class: "content" }, hAsync("slot", null))));
|
|
19706
|
+
return (hAsync(Host, { class: `p-dropdown-menu-container ${this.maxWidth && 'max-width'} ${this.fullWidth && 'full-width'} ${!this.allowOverflow && 'no-overflow'} ${!!this.scrollable && 'scrollable'} ${this.scrollable === 'large' ? 'scrollable-large' : ''} ${this.scrollable === 'xlarge' ? 'scrollable-xlarge' : ''}` }, hAsync("div", { class: "content" }, hAsync("slot", null))));
|
|
19704
19707
|
}
|
|
19705
19708
|
static get style() { return dropdownMenuContainerComponentCss; }
|
|
19706
19709
|
static get cmpMeta() { return {
|
|
@@ -19709,6 +19712,7 @@ class DropdownMenuContainer {
|
|
|
19709
19712
|
"$members$": {
|
|
19710
19713
|
"maxWidth": [4, "max-width"],
|
|
19711
19714
|
"fullWidth": [4, "full-width"],
|
|
19715
|
+
"allowOverflow": [4, "allow-overflow"],
|
|
19712
19716
|
"scrollable": [8]
|
|
19713
19717
|
},
|
|
19714
19718
|
"$listeners$": undefined,
|
|
@@ -21651,6 +21655,7 @@ class Table {
|
|
|
21651
21655
|
this.pageSizeChange = createEvent(this, "pageSizeChange", 3);
|
|
21652
21656
|
this.export = createEvent(this, "export", 3);
|
|
21653
21657
|
this.emptyStateActionClick = createEvent(this, "emptyStateActionClick", 3);
|
|
21658
|
+
this._rowActionsFloatingAll = [];
|
|
21654
21659
|
this._ctrlDown = false;
|
|
21655
21660
|
this._hasCustomFilterSlot = false;
|
|
21656
21661
|
this._floatingMenuShown = false;
|
|
@@ -21803,7 +21808,7 @@ class Table {
|
|
|
21803
21808
|
// we hack this to any[] to make it work..
|
|
21804
21809
|
const actions = Array.from(this._el.querySelectorAll(':scope > p-table-row-action'));
|
|
21805
21810
|
this._rowActionsRow = actions.filter((a) => a.type === 'both' || a.type === 'single');
|
|
21806
|
-
this.
|
|
21811
|
+
this._rowActionsFloatingAll = actions
|
|
21807
21812
|
.filter((a) => a.type === 'both' || a.type === 'multi' || mobile)
|
|
21808
21813
|
.map((a) => {
|
|
21809
21814
|
var _a;
|
|
@@ -21814,7 +21819,7 @@ class Table {
|
|
|
21814
21819
|
});
|
|
21815
21820
|
let rowSelectionLimit = this.rowSelectionLimit;
|
|
21816
21821
|
if (mobile && // we're mobile
|
|
21817
|
-
((_a = this.
|
|
21822
|
+
((_a = this._rowActionsFloatingAll) === null || _a === void 0 ? void 0 : _a.length) && // we have atleast 1 item in _rowActionsFloating
|
|
21818
21823
|
((rowSelectionLimit !== undefined && this.enableRowSelection) ||
|
|
21819
21824
|
!this.enableRowSelection)) {
|
|
21820
21825
|
rowSelectionLimit = 1;
|
|
@@ -21822,7 +21827,7 @@ class Table {
|
|
|
21822
21827
|
this._rowSelectionLimit = rowSelectionLimit;
|
|
21823
21828
|
let enableRowSelection = this.enableRowSelection;
|
|
21824
21829
|
if (mobile && // we're mobile
|
|
21825
|
-
((_b = this.
|
|
21830
|
+
((_b = this._rowActionsFloatingAll) === null || _b === void 0 ? void 0 : _b.length) && // we have atleast 1 item in _rowActionsFloating
|
|
21826
21831
|
!enableRowSelection) {
|
|
21827
21832
|
enableRowSelection = true;
|
|
21828
21833
|
}
|
|
@@ -21934,7 +21939,7 @@ class Table {
|
|
|
21934
21939
|
this.selectedRows = [...this.selectedRows, ...toAdd];
|
|
21935
21940
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
21936
21941
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
21937
|
-
this.
|
|
21942
|
+
this._showFloatingMenu();
|
|
21938
21943
|
}
|
|
21939
21944
|
return;
|
|
21940
21945
|
}
|
|
@@ -21974,7 +21979,7 @@ class Table {
|
|
|
21974
21979
|
this.selectedRowsChange.emit(this.selectedRows);
|
|
21975
21980
|
this.rowSelected.emit(row);
|
|
21976
21981
|
if (this.enableFloatingMenu && !this._floatingMenuShown) {
|
|
21977
|
-
this.
|
|
21982
|
+
this._showFloatingMenu();
|
|
21978
21983
|
}
|
|
21979
21984
|
return;
|
|
21980
21985
|
}
|
|
@@ -22086,6 +22091,17 @@ class Table {
|
|
|
22086
22091
|
}
|
|
22087
22092
|
return this._findRowAction(el === null || el === void 0 ? void 0 : el.parentElement);
|
|
22088
22093
|
}
|
|
22094
|
+
_showFloatingMenu() {
|
|
22095
|
+
let actions = this._rowActionsFloatingAll;
|
|
22096
|
+
if (this.rowSelectionLimit === 1 &&
|
|
22097
|
+
actions.findIndex((a) => (a.type === 'single' || a.type === 'both') && a.showFunction) >= 0) {
|
|
22098
|
+
actions = actions.filter((a) => a.type === 'multi' ||
|
|
22099
|
+
!a.showFunction ||
|
|
22100
|
+
a.showFunction(this.selectedRows[0]));
|
|
22101
|
+
}
|
|
22102
|
+
this._rowActionsFloating = actions;
|
|
22103
|
+
this._floatingMenuShown = true;
|
|
22104
|
+
}
|
|
22089
22105
|
get _el() { return getElement(this); }
|
|
22090
22106
|
static get watchers() { return {
|
|
22091
22107
|
"items": ["_parseItems"],
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r,h as t,H as a}from"./p-e4d5e7a7.js";const o=".z-10{z-index:10!important}.flex{display:flex!important}.hidden{display:none!important}.max-h-\\[11\\.5rem\\]{max-height:11.5rem!important}.max-h-\\[13\\.875rem\\]{max-height:13.875rem!important}.max-h-\\[20rem\\]{max-height:20rem!important}.w-full{width:100%!important}.max-w-\\[222px\\]{max-width:222px!important}.flex-col{flex-direction:column!important}.gap-\\[1px\\]{gap:1px!important}.rounded-xxlarge{border-radius:.75rem!important}.drop-shadow-4{--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}.drop-shadow-4,.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}*{box-sizing:border-box}p-dropdown-menu-container{--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:.75rem;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);width:auto;z-index:10}p-dropdown-menu-container .content{display:flex;flex-direction:column;gap:1px;padding:.5rem;width:100%}p-dropdown-menu-container.full-width{width:100%}p-dropdown-menu-container.max-width{max-width:222px}p-dropdown-menu-container.scrollable{max-height:11.5rem;scrollbar-width:none}p-dropdown-menu-container.scrollable::-webkit-scrollbar{display:none}p-dropdown-menu-container.scrollable .content{height:100%}p-dropdown-menu-container.scrollable.scrollable-large{max-height:13.875rem}p-dropdown-menu-container.scrollable.scrollable-xlarge{max-height:20rem}.static{position:static!important}";const e=class{constructor(t){r(this,t);this.maxWidth=true;this.fullWidth=true;this.scrollable=false}render(){return t(a,{class:`p-dropdown-menu-container ${this.maxWidth&&"max-width"} ${this.fullWidth&&"full-width"} ${!!this.scrollable&&"scrollable"} ${this.scrollable==="large"?"scrollable-large":""} ${this.scrollable==="xlarge"?"scrollable-xlarge":""}`},t("div",{class:"content"},t("slot",null)))}};e.style=o;export{e as p_dropdown_menu_container};
|
|
2
|
-
//# sourceMappingURL=p-53601c7e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownMenuContainerComponentCss","DropdownMenuContainer","render","h","Host","class","this","maxWidth","fullWidth","scrollable"],"sources":["src/components/atoms/dropdown-menu-container/dropdown-menu-container.component.scss?tag=p-dropdown-menu-container","src/components/atoms/dropdown-menu-container/dropdown-menu-container.component.tsx"],"sourcesContent":["@import '../../../style/mixins';\n\np-dropdown-menu-container {\n\t@apply w-auto;\n\t@apply rounded-xxlarge bg-white;\n\t@apply z-10 drop-shadow-4 filter;\n\n\t.content {\n\t\t@apply w-full p-2;\n\t\t@apply flex flex-col gap-[1px];\n\t}\n\n\t&.full-width {\n\t\t@apply w-full;\n\t}\n\n\t&.max-width {\n\t\t@apply max-w-[222px];\n\t}\n\n\t&.scrollable {\n\t\t@apply max-h-[11.5rem];\n\n\t\tscrollbar-width: none;\n\t\t&::-webkit-scrollbar {\n\t\t\t@apply hidden;\n\t\t}\n\n\t\t.content {\n\t\t\t@apply h-full;\n\t\t}\n\n\t\t&.scrollable-large {\n\t\t\t@apply max-h-[13.875rem];\n\t\t}\n\n\t\t&.scrollable-xlarge {\n\t\t\t@apply max-h-[20rem];\n\t\t}\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-dropdown-menu-container',\n\tstyleUrl: 'dropdown-menu-container.component.scss',\n\t// shadow: true,\n})\nexport class DropdownMenuContainer {\n\t/**\n\t * Wether the container applies it's max width\n\t */\n\t@Prop() maxWidth: boolean = true;\n\n\t/**\n\t * Wether the container should all available space\n\t */\n\t@Prop() fullWidth: boolean = true;\n\n\t/**\n\t * Wether the container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' | 'xlarge' = false;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-dropdown-menu-container ${\n\t\t\t\t\tthis.maxWidth && 'max-width'\n\t\t\t\t} ${this.fullWidth && 'full-width'} ${\n\t\t\t\t\t!!this.scrollable && 'scrollable'\n\t\t\t\t} ${this.scrollable === 'large' ? 'scrollable-large' : ''} ${this.scrollable === 'xlarge' ? 'scrollable-xlarge' : ''}`}\n\t\t\t>\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"6CAAA,MAAMA,EAAoC,2zD,MCO7BC,EAAqB,M,uCAIL,K,eAKC,K,gBAKkC,K,CAE/D,MAAAC,GACC,OACCC,EAACC,EAAI,CACJC,MAAO,6BACNC,KAAKC,UAAY,eACdD,KAAKE,WAAa,kBACnBF,KAAKG,YAAc,gBAClBH,KAAKG,aAAe,QAAU,mBAAqB,MAAMH,KAAKG,aAAe,SAAW,oBAAsB,MAElHN,EAAA,OAAKE,MAAM,WACVF,EAAA,c"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as o,H as r,g as i}from"./p-e4d5e7a7.js";import{a,c as p,o as n,f as s,s as c}from"./p-fef32402.js";import{c as h}from"./p-4d330cfc.js";const l=".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.left-0{left:0!important}.top-0{top:0!important}.z-dropdown{z-index:200!important}.block{display:block!important}.flex{display:flex!important}.hidden{display:none!important}.h-auto{height:auto!important}*{box-sizing:border-box}:host{display:block;position:relative}:host .trigger{display:block;height:auto;position:relative;width:auto}:host p-dropdown-menu-container{display:none;left:0;top:0;z-index:200}:host p-dropdown-menu-container[data-show]{display:flex}:host p-dropdown-menu-container[data-strategy=absolute]{position:absolute}:host p-dropdown-menu-container[data-strategy=fixed]{position:fixed}.visible{visibility:visible!important}.static{position:static!important}";const d=class{constructor(o){t(this,o);this.isOpen=e(this,"isOpen",3);this._loaded=false;this.placement="bottom-start";this.offset=8;this.strategy="absolute";this.show=false;this.calculateWidth=false;this.applyMaxWidth=true;this.applyFullWidth=true;this.scrollable=false;this.insideClick=false;this.disableTriggerClick=false;this.applyChevron=true;this.chevronPosition="end";this.chevronDirection=undefined}componentShouldUpdate(){this._update()}disconnectedCallback(){if(this._cleanup){this._cleanup();this._cleanup=null}}render(){return o(r,{class:"p-dropdown"},o("div",{class:"trigger",ref:t=>this._trigger=t,onClick:()=>this._triggerClickHandler()},o("slot",{onSlotchange:t=>this._checkButton(t),name:"trigger"})),o("p-dropdown-menu-container",{role:"popover",maxWidth:!this.calculateWidth&&this.applyMaxWidth,fullWidth:this.applyFullWidth&&!this.applyMaxWidth,ref:t=>this._load(t),"data-placement":this.placement,"data-strategy":this.strategy,onClick:()=>this._containerClickHandler(),scrollable:this.scrollable},o("slot",{name:"items"})))}_checkButton({target:t}){if(!this.applyChevron){return}const e=t;const o=e.assignedElements();for(let t of o){if(t.nodeName==="P-BUTTON"){t.chevronPosition=this.chevronPosition;t.chevron=this.chevronDirection?this.chevronDirection:this.placement.indexOf("top")>=0?"up":"down"}}}onShowChange(t){if(!this._loaded){return}if(!t){this._hide();return}this._show()}documentClickHandler({target:t}){if(!this._menu.hasAttribute("data-show")||h(t,this._el)){return}this._hide()}_containerClickHandler(){if(this.insideClick){return}if(this._menu.hasAttribute("data-show")){this._hide()}}_triggerClickHandler(){if(this.disableTriggerClick){return}if(this._menu.hasAttribute("data-show")){this._hide();return}this._show()}_load(t){this._menu=t;if(t){this._update();this._loaded=true;if(this.show){setTimeout((()=>this._show()),100)}}}_show(){if(!this._loaded){return}if(this.calculateWidth){this._menu.style.width=`${this._trigger.clientWidth}px`}this._cleanup=a(this._el,this._menu,(()=>this._update()));this._menu.setAttribute("data-show","");this.isOpen.emit(true)}_hide(){if(!this._loaded||this.show){return}if(this._cleanup){this._cleanup();this._cleanup=null}this._menu.removeAttribute("data-show");this.isOpen.emit(false)}_update(){if(!this._menu){return}p(this._el,this._menu,{placement:this.placement,strategy:this.strategy,middleware:[n(this.offset),s(),c()]}).then((({x:t,y:e,placement:o})=>{this._menu.dataset.placement=o;Object.assign(this._menu.style,{top:`${e}px`,left:`${t}px`})}))}get _el(){return i(this)}static get watchers(){return{show:["onShowChange"]}}};d.style=l;const b=".block{display:block!important}.flex{display:flex!important}.h-4{height:1rem!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.w-4{width:1rem!important}.w-6{width:1.5rem!important}.w-\\[2\\.375rem\\]{width:2.375rem!important}.w-full{width:100%!important}.translate-x-0{--tw-translate-x:0px!important}.translate-x-0,.translate-x-3{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}.translate-x-3{--tw-translate-x:0.75rem!important}.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}.appearance-none{appearance:none!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.rounded{border-radius:.25rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-indigo{--tw-border-opacity:1!important;border-color:rgb(82 138 250/var(--tw-border-opacity))!important}.border-negative{--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important}.bg-indigo-light{--tw-bg-opacity:1!important;background-color:rgb(241 246 255/var(--tw-bg-opacity))!important}.bg-mystic-dark{background-color:rgb(218 230 240/var(--tw-bg-opacity))!important}.bg-mystic-dark,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-center{background-position:50%!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}*{box-sizing:border-box}:host{--tw-text-opacity:1;align-items:center;border-radius:.25rem;color:rgb(81 83 107/var(--tw-text-opacity));cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;height:2rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem;width:100%}:host input[type=checkbox].p-input{--tw-bg-opacity:1;--tw-border-opacity:1;appearance:none;background-color:rgb(255 255 255/var(--tw-bg-opacity));background-position:50%;background-repeat:no-repeat;background-size:1rem;border-color:rgb(218 230 240/var(--tw-border-opacity));border-radius:.25rem;border-style:solid;border-width:1px;height:1.5rem;outline:2px solid transparent!important;outline-offset:2px!important;width:1.5rem}:host input[type=checkbox].p-input+label{margin-left:.2rem;margin-top:.05rem}:host input[type=checkbox].p-input:hover:not(:disabled):not([disabled]):not(.disabled){cursor:pointer}:host input[type=checkbox].p-input:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked):not(:indeterminate):not([indeterminate]):not(.indeterminate){--tw-border-opacity:1;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.965 11.487 13.53 1.53c.435-.572 1.22-.7 1.8-.292l.108.077c.294.206.492.53.546.895.054.365-.04.737-.26 1.026L7.26 14.38a1.34 1.34 0 0 1-.642.463 1.302 1.302 0 0 1-1.575-.263L.362 9.6a1.356 1.356 0 0 1-.36-.99c.017-.37.181-.713.452-.95l.1-.088a1.302 1.302 0 0 1 1.82.093l3.592 3.82h-.001Z' fill='%23dae6f0' fill-rule='evenodd'/%3E%3C/svg%3E\");border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-input.checked,:host input[type=checkbox].p-input.indeterminate,:host input[type=checkbox].p-input:checked,:host input[type=checkbox].p-input:indeterminate,:host input[type=checkbox].p-input[checked],:host input[type=checkbox].p-input[indeterminate]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-input.checked,:host input[type=checkbox].p-input:checked,:host input[type=checkbox].p-input[checked]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.965 11.487 13.53 1.53c.435-.572 1.22-.7 1.8-.292l.108.077c.294.206.492.53.546.895.054.365-.04.737-.26 1.026L7.26 14.38a1.34 1.34 0 0 1-.642.463 1.302 1.302 0 0 1-1.575-.263L.362 9.6a1.356 1.356 0 0 1-.36-.99c.017-.37.181-.713.452-.95l.1-.088a1.302 1.302 0 0 1 1.82.093l3.592 3.82h-.001Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.indeterminate,:host input[type=checkbox].p-input:indeterminate,:host input[type=checkbox].p-input[indeterminate]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7h8a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.disabled,:host input[type=checkbox].p-input:disabled,:host input[type=checkbox].p-input[disabled]{opacity:.4}:host input[type=checkbox].p-input.error,:host input[type=checkbox].p-input[error]{--tw-text-opacity:1;--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important;color:rgb(138 15 29/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error::-moz-placeholder,:host input[type=checkbox].p-input[error]::-moz-placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error::placeholder,:host input[type=checkbox].p-input[error]::placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error.checked,:host input[type=checkbox].p-input.error:checked,:host input[type=checkbox].p-input.error[checked],:host input[type=checkbox].p-input[error].checked,:host input[type=checkbox].p-input[error]:checked,:host input[type=checkbox].p-input[error][checked]{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity))}:host input[type=checkbox].p-input.size-small{height:1rem;width:1rem}:host input[type=checkbox].p-input.size-small:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked):not(:indeterminate):not([indeterminate]):not(.indeterminate){background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M2.667 2.667h10.667v10.667H2.667z'/%3E%3Cpath fill='%23DAE6F0' d='m6.644 10.325 5.044-6.638a.87.87 0 0 1 1.2-.194l.072.05a.91.91 0 0 1 .19 1.28l-5.644 7.43a.89.89 0 0 1-.427.31.868.868 0 0 1-1.05-.176l-3.12-3.32a.904.904 0 0 1-.241-.66.897.897 0 0 1 .302-.633l.067-.058a.868.868 0 0 1 1.213.062l2.394 2.547Z'/%3E%3C/g%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.size-small.checked,:host input[type=checkbox].p-input.size-small:checked,:host input[type=checkbox].p-input.size-small[checked]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M2.667 2.667h10.667v10.667H2.667z'/%3E%3Cpath fill='%23FFF' d='m6.644 10.325 5.044-6.638a.87.87 0 0 1 1.2-.194l.072.05a.91.91 0 0 1 .19 1.28l-5.644 7.43a.89.89 0 0 1-.427.31.868.868 0 0 1-1.05-.176l-3.12-3.32a.904.904 0 0 1-.241-.66.897.897 0 0 1 .302-.633l.067-.058a.868.868 0 0 1 1.213.062l2.394 2.547Z'/%3E%3C/g%3E%3C/svg%3E\")}:host input[type=checkbox].p-toggle{--tw-bg-opacity:1;--tw-border-opacity:1;align-items:center;appearance:none;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(218 230 240/var(--tw-border-opacity));border-radius:1.5625rem;border-style:solid;border-width:1px;display:flex;height:1.5rem;justify-content:flex-start;padding:.25rem;width:2.375rem}:host input[type=checkbox].p-toggle:after{--tw-translate-x:0px;--tw-bg-opacity:1;background-color:rgb(218 230 240/var(--tw-bg-opacity));border-radius:100%;content:\"\";display:block;height:1rem;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));transition-duration:.1s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}:host input[type=checkbox].p-toggle.checked,:host input[type=checkbox].p-toggle:checked,:host input[type=checkbox].p-toggle[checked]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-toggle.checked:after,:host input[type=checkbox].p-toggle:checked:after,:host input[type=checkbox].p-toggle[checked]:after{--tw-translate-x:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));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))}:host input[type=checkbox].p-toggle.disabled,:host input[type=checkbox].p-toggle:disabled,:host input[type=checkbox].p-toggle[disabled]{opacity:.4}:host input[type=checkbox].p-toggle:hover:not(:disabled):not([disabled]):not(.disabled){cursor:pointer}:host input[type=checkbox].p-toggle:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked){--tw-border-opacity:1;border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-toggle.error,:host input[type=checkbox].p-toggle[error]{--tw-text-opacity:1;--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important;color:rgb(138 15 29/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error::-moz-placeholder,:host input[type=checkbox].p-toggle[error]::-moz-placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error::placeholder,:host input[type=checkbox].p-toggle[error]::placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error.checked,:host input[type=checkbox].p-toggle.error:checked,:host input[type=checkbox].p-toggle.error[checked],:host input[type=checkbox].p-toggle[error].checked,:host input[type=checkbox].p-toggle[error]:checked,:host input[type=checkbox].p-toggle[error][checked]{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity))}:host .text-container{display:block;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;width:100%}:host(.hover:hover){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity));color:rgb(81 83 107/var(--tw-text-opacity))}:host(.active){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity));color:rgb(82 138 250/var(--tw-text-opacity))}.static{position:static!important}.flex-shrink-0{flex-shrink:0!important}";const g=class{constructor(e){t(this,e);this.active=false;this.variant="default";this.enableHover=true;this.icon=undefined}render(){return o(r,{class:`p-dropdown-menu-item ${this.active&&"active"} ${this.enableHover&&"hover"}`},this.icon&&o("p-icon",{variant:this.icon}),this.variant==="checkbox"&&o("input",{type:"checkbox",class:"p-input size-small flex-shrink-0",checked:this.active}),o("div",{class:"text-container"},o("slot",null)))}};g.style=b;export{d as p_dropdown,g as p_dropdown_menu_item};
|
|
2
|
-
//# sourceMappingURL=p-a5d34188.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownComponentCss","Dropdown","this","_loaded","componentShouldUpdate","_update","disconnectedCallback","_cleanup","render","h","Host","class","ref","_trigger","onClick","_triggerClickHandler","onSlotchange","ev","_checkButton","name","role","maxWidth","calculateWidth","applyMaxWidth","fullWidth","applyFullWidth","el","_load","placement","strategy","_containerClickHandler","scrollable","target","applyChevron","slot","children","assignedElements","child","nodeName","chevronPosition","chevron","chevronDirection","indexOf","onShowChange","show","_hide","_show","documentClickHandler","_menu","hasAttribute","childOf","_el","insideClick","disableTriggerClick","popover","setTimeout","style","width","clientWidth","autoUpdate","setAttribute","isOpen","emit","removeAttribute","computePosition","middleware","offset","flip","shift","then","x","y","dataset","Object","assign","top","left","dropdownMenuItemComponentCss","DropdownMenuItem","active","enableHover","icon","variant","type","checked"],"sources":["src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown&encapsulation=shadow","src/components/molecules/dropdown/dropdown.component.tsx","src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.scss?tag=p-dropdown-menu-item&encapsulation=shadow","src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.tsx"],"sourcesContent":[":host {\n\t@apply relative block;\n\n\t.trigger {\n\t\t@apply relative block h-auto w-auto;\n\t}\n\n\tp-dropdown-menu-container {\n\t\t@apply left-0 top-0 z-dropdown hidden;\n\n\t\t&[data-show] {\n\t\t\t@apply flex;\n\t\t}\n\n\t\t&[data-strategy='absolute'] {\n\t\t\t@apply absolute;\n\t\t}\n\n\t\t&[data-strategy='fixed'] {\n\t\t\t@apply fixed;\n\t\t}\n\t}\n}\n","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils/child-of';\n\n@Component({\n\ttag: 'p-dropdown',\n\tstyleUrl: 'dropdown.component.scss',\n\tshadow: true,\n})\nexport class Dropdown {\n\t/**\n\t * The content of the dropdown menu\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The offset of the dropdown menu\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether to show the dropdown menu\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to automatically calculate the width of the menu based on the trigger\n\t */\n\t@Prop() calculateWidth: boolean = false;\n\n\t/**\n\t * Wether to apply the max width\n\t */\n\t@Prop() applyMaxWidth: boolean = true;\n\n\t/**\n\t * Wether to apply the full width\n\t */\n\t@Prop() applyFullWidth: boolean = true;\n\n\t/**\n\t * Wether the dropdown container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() insideClick: boolean = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() disableTriggerClick: boolean = false;\n\n\t/**\n\t * Wether to apply chevron automatically\n\t */\n\t@Prop() applyChevron: boolean = true;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Chevron direction\n\t */\n\t@Prop() chevronDirection: 'up' | 'down';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\tprivate _loaded = false;\n\tprivate _trigger: HTMLElement;\n\tprivate _menu: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-dropdown\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\tref={(ref) => (this._trigger = ref)}\n\t\t\t\t\tonClick={() => this._triggerClickHandler()}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\tonSlotchange={(ev) => this._checkButton(ev)}\n\t\t\t\t\t\tname=\"trigger\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<p-dropdown-menu-container\n\t\t\t\t\trole=\"popover\"\n\t\t\t\t\tmaxWidth={!this.calculateWidth && this.applyMaxWidth}\n\t\t\t\t\tfullWidth={this.applyFullWidth && !this.applyMaxWidth}\n\t\t\t\t\tref={(el) => this._load(el)}\n\t\t\t\t\tdata-placement={this.placement}\n\t\t\t\t\tdata-strategy={this.strategy}\n\t\t\t\t\tonClick={() => this._containerClickHandler()}\n\t\t\t\t\tscrollable={this.scrollable}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"items\" />\n\t\t\t\t</p-dropdown-menu-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkButton({ target }: Event) {\n\t\tif (!this.applyChevron) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst slot = target as HTMLSlotElement;\n\t\tconst children = slot.assignedElements();\n\n\t\tfor (let child of children) {\n\t\t\tif (child.nodeName === 'P-BUTTON') {\n\t\t\t\t(child as any).chevronPosition = this.chevronPosition;\n\t\t\t\t(child as any).chevron = this.chevronDirection\n\t\t\t\t\t? this.chevronDirection\n\t\t\t\t\t: this.placement.indexOf('top') >= 0\n\t\t\t\t\t\t? 'up'\n\t\t\t\t\t\t: 'down';\n\t\t\t}\n\t\t}\n\t}\n\n\t@Watch('show')\n\tprotected onShowChange(show) {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!show) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (\n\t\t\t!this._menu.hasAttribute('data-show') ||\n\t\t\tchildOf(target, this._el)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\tprivate _containerClickHandler() {\n\t\tif (this.insideClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t}\n\t}\n\n\tprivate _triggerClickHandler() {\n\t\tif (this.disableTriggerClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._menu = popover;\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make the popover visible\n\t\tif (this.calculateWidth) {\n\t\t\tthis._menu.style.width = `${this._trigger.clientWidth}px`;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n\t\tthis._menu.setAttribute('data-show', '');\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._menu.removeAttribute('data-show');\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _update() {\n\t\tif (!this._menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._menu, {\n\t\t\tplacement: this.placement,\n\t\t\tstrategy: this.strategy,\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._menu.dataset.placement = placement;\n\t\t\tObject.assign(this._menu.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n",":host {\n\t@import '../../../style/form/checkbox';\n\n\t@apply flex h-8 w-full items-center gap-2 rounded px-2;\n\t@apply text-sm font-semibold text-storm;\n\t@apply cursor-pointer;\n\n\t.text-container {\n\t\t@apply block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start;\n\t}\n}\n\n:host(.hover:hover) {\n\t@apply bg-indigo-light text-storm;\n}\n\n:host(.active) {\n\t@apply bg-indigo-light text-indigo;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-dropdown-menu-item',\n\tstyleUrl: 'dropdown-menu-item.component.scss',\n\tshadow: true,\n})\nexport class DropdownMenuItem {\n\t/**\n\t * Wether the dropdown menu item is active\n\t */\n\t@Prop() active: boolean = false;\n\n\t/**\n\t * The variant of the item\n\t */\n\t@Prop() variant: 'default' | 'checkbox' = 'default';\n\n\t/**\n\t * Wether to enable the hover state\n\t */\n\t@Prop() enableHover: boolean = true;\n\n\t/**\n\t * Icon of the navigation item\n\t */\n\t@Prop() icon: IconVariant;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-dropdown-menu-item ${this.active && 'active'} ${\n\t\t\t\t\tthis.enableHover && 'hover'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{this.icon && <p-icon variant={this.icon} />}\n\n\t\t\t\t{this.variant === 'checkbox' && (\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"p-input size-small flex-shrink-0\"\n\t\t\t\t\t\tchecked={this.active}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<div class=\"text-container\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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"}
|
|
@@ -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,g as o}from"./p-33fa21e3.js";import{f as r}from"./p-15f63841.js";import{d as l,a as h}from"./p-da7b6f2c.js";const d=".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 u=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._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 a((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.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=l;this.pageSizeOptions=h;this.hideOnSinglePage=true;this.emptyStateHeader=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.header)};this.emptyStateContent=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.content)};this.emptyStateAction=()=>{var t;return a((t=this._locales.empty_state)===null||t===void 0?void 0:t.no_filter.action)};this.enableEmptyStateAction=true;this.emptyStateFilteredHeader=()=>a(this._locales.empty_state.filtered.header);this.emptyStateFilteredContent=()=>a(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,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-col flex-1"},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 o(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=r();const s=Array.from(this._el.querySelectorAll(":scope > p-table-row-action"));this._rowActionsRow=s.filter((t=>t.type==="both"||t.type==="single"));this._rowActionsFloating=s.filter((t=>t.type==="both"||t.type==="multi"||e)).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._rowActionsFloating)===null||t===void 0?void 0:t.length)&&(n!==undefined&&this.enableRowSelection||!this.enableRowSelection)){n=1}this._rowSelectionLimit=n;let a=this.enableRowSelection;if(e&&((i=this._rowActionsFloating)===null||i===void 0?void 0:i.length)&&!a){a=true}this._enableRowSelection=a}),200)}_generateColumns(){const t=this._el.querySelectorAll("p-table-column");const i=Array.from(t);i[i.length-1]["isLast"]=true;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){var s;const n=this._columns.map(((s,n)=>e("p-table-cell",{definition:s,item:t,checkbox:n===0||s.hasCheckbox?this._getCheckbox(i):null,index:n,rowIndex:i,tableHasActions:!!this._rowActionsRow.length&&!r()})));if(((s=this._rowActionsRow)===null||s===void 0?void 0:s.length)&&!r()){const s=this._columns[this._columns.length-1];const a=this._rowActionsRow.filter((i=>i.showFunction?i.showFunction(t):true));if(!a.length){return n}n.push(e("p-table-cell",{variant:"actions",definition:s,item:t,index:this._columns.length-1,rowIndex:i,tableHasActions:!!this._rowActionsRow.length},e("div",{slot:"actions",class:"flex ml-auto gap-2 items-center"},a.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._floatingMenuShown=true}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._floatingMenuShown=true}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)}get _el(){return n(this)}static get watchers(){return{items:["_parseItems"],enableRowSelection:["_setRowSelectionData"],rowSelectionLimit:["_setRowSelectionData"],selectedRows:["_setRowSelectionData"]}}};u.style=d;export{u as p_table};
|
|
2
|
-
//# sourceMappingURL=p-cd2f0e4f.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["tableComponentCss","Table","this","_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","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","definitions","definitionsArray","_columns","col","index","definition","value","checkbox","hasCheckbox","_getCheckbox","amountOfLoadingRows","_","i","enableHover","enableRowClick","_getLoadingColumns","_getEmptyState","item","ev","_rowClick","_getRowColumns","columns","colIndex","rowIndex","tableHasActions","lastDef","showFunction","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"],"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 { QuickFilter, RowClickEvent } from '../../../types/table';\nimport {\n\tformatTranslation,\n\tgetLocaleComponentStrings,\n\tisMobile,\n} from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\nimport {\n\tdefaultSize,\n\tdefaultSizeOptions,\n} from '../../molecules/page-size-select/constants';\nimport { buttonTemplateFunc } from '../../molecules/table-header/table-header.component';\nimport { TableRowAction } from '../../helpers/table-row-action/table-row-action.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 * 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\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={\n\t\t\t\t\t\t\t\tthis.activeQuickFilterIdentifier\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonQuickFilter={({ detail }) =>\n\t\t\t\t\t\t\t\tthis.quickFilter.emit(detail)\n\t\t\t\t\t\t\t}\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 }) =>\n\t\t\t\t\t\t\t\tthis.queryChange.emit(detail)\n\t\t\t\t\t\t\t}\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\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-col flex-1\">{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 }) =>\n\t\t\t\t\t\t\t\tthis.pageChange.emit(detail)\n\t\t\t\t\t\t\t}\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={`${\n\t\t\t\t\t\t\t\tthis.selectedRows?.length ? '' : 'inactive'\n\t\t\t\t\t\t\t} ${this._floatingMenuShown ? 'shown' : ''}`}\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\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\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\n\t\t\t\t\t\t\t\t\t\t? 'hidden tablet:flex'\n\t\t\t\t\t\t\t\t\t\t: ''\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(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows[0],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t: a.action(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tthis.selectedRows,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue\n\t\t\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>\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={() =>\n\t\t\t\t\t\t\t\t\tthis._selectAllChange(null, false)\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<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\t(a) => a.type === 'both' || a.type === 'single'\n\t\t\t);\n\t\t\tthis._rowActionsFloating = actions\n\t\t\t\t.filter(\n\t\t\t\t\t(a) => a.type === 'both' || a.type === 'multi' || mobile\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._rowActionsFloating?.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._rowActionsFloating?.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\t\t}, 200);\n\t}\n\n\tprivate _generateColumns() {\n\t\tconst definitions = this._el.querySelectorAll('p-table-column');\n\t\tconst definitionsArray = Array.from(definitions);\n\n\t\tdefinitionsArray[definitionsArray.length - 1]['isLast'] = true;\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(\n\t\t\t\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\t\t\t\tthis.loading ? 'loading' : 'header'\n\t\t\t\t\t\t\t\t\t)\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={\n\t\t\t\t\t\t\tthis._enableRowSelection || this.enableRowClick\n\t\t\t\t\t\t}\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 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\n\t\t\t\t\t\t\t? this._getCheckbox(index)\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\ttableHasActions={\n\t\t\t\t\t\t!!this._rowActionsRow.length && !isMobile()\n\t\t\t\t\t}\n\t\t\t\t></p-table-cell>\n\t\t\t);\n\t\t});\n\n\t\tif (this._rowActionsRow?.length && !isMobile()) {\n\t\t\tconst lastDef = this._columns[this._columns.length - 1];\n\t\t\tconst actions = this._rowActionsRow.filter((a) =>\n\t\t\t\ta.showFunction ? a.showFunction(item) : true\n\t\t\t);\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={lastDef}\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={!!this._rowActionsRow.length}\n\t\t\t\t>\n\t\t\t\t\t<div slot=\"actions\" class=\"flex ml-auto gap-2 items-center\">\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' &&\n\t\t\t\t\t\t\t\t\t\ta.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 <p-loader variant=\"ghost\" class=\"h-6 w-6 rounded\" />;\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 ${this._rowSelectionLimit !== undefined && 'opacity-0'}`}\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 variant=\"empty-state-search\" class=\"mb-6\" />\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 &&\n\t\t\t\t\tthis.emptyStateActionClick.emit(null)\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<p-illustration variant=\"empty-state-add\" class=\"mb-6\" />\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\">\n\t\t\t\t\t{this.emptyStateContent()}\n\t\t\t\t</p>\n\t\t\t\t{this.enableEmptyStateAction && (\n\t\t\t\t\t<p-button variant=\"secondary\" icon=\"plus\" size=\"small\">\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 ===\n\t\t\t\t\t\tthis._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._floatingMenuShown = true;\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\t(d) =>\n\t\t\t\t\tthis._getSelectionValue(d, i) ===\n\t\t\t\t\tthis._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._floatingMenuShown = true;\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\t(item) => 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"],"mappings":"0LAAA,MAAMA,EAAoB,mpG,MCkCbC,EAAK,M,ojBAoVTC,KAAAC,UAAY,MACZD,KAAAE,qBAAuB,MACvBF,KAAAG,mBAAqB,M,kCA7UF,M,mBAKM,M,mBAKA,M,yBAKK,E,wBAKA,K,qDAUJ,K,kBAKJ,G,wBAKQ,K,wCAMrCC,I,UAEA,OAAAC,GACCC,EAACF,IAAW,GACTG,EAAAP,KAAKQ,SAASC,iBAAa,MAAAF,SAAA,SAAAA,EAAEG,iBAC7BC,EAAAX,KAAKQ,SAASC,iBAAa,MAAAE,SAAA,SAAAA,EAAEC,0BAC/B,MAAAN,SAAA,SAAAA,EAAEO,QAAQ,aAAcT,GACzB,E,0EAyD8B,K,kBAKM,G,6DAUN,K,uCAUA,K,2FAeA,M,yBAKO,M,yBAKA,M,sBAKC,S,sFAiDR,K,oBAKE,K,sBAKE,K,kBAKJ,K,UAKuB,E,mCAkB5BU,E,qBAKSC,E,sBAqBA,K,sBAGK,SAAAR,EACxC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUC,OAAO,E,uBACrB,SAAAX,EACzC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUE,QAAQ,E,sBACvB,SAAAZ,EACxC,OAAAF,GAAkBE,EAAAP,KAAKQ,SAASQ,eAAW,MAAAT,SAAA,SAAAA,EAAEU,UAAUG,OAAO,E,4BAIrB,K,8BAEO,IAChDf,EAAkBL,KAAKQ,SAASQ,YAAYK,SAASH,Q,+BACJ,IACjDb,EAAkBL,KAAKQ,SAASQ,YAAYK,SAASF,S,YAa5B,K,cAYO,G,cAEE,G,YACF,G,yBAEenB,KAAKsB,mB,2DAGI,G,oBACL,E,CAOpD,iBAAAC,GACCvB,KAAKE,uBAAyBF,KAAKwB,IAAIC,cACtC,mCAGDzB,KAAK0B,uBAEL1B,KAAK2B,cACL3B,KAAK4B,YAAY5B,KAAK6B,OACtB7B,KAAK8B,kB,CAGN,kBAAAC,GACC/B,KAAKgC,YAAYC,M,CAGlB,MAAAC,G,kBACC,OACCC,EAACC,EAAI,CAACC,MAAM,WACXF,EAAA,qBAAmBG,OAAQtC,KAAKsC,QAC9BtC,KAAKuC,cACLJ,EAAA,kBAECK,aAAcxC,KAAKwC,aACnBC,4BACCzC,KAAKyC,4BAENC,cAAe,EAAGC,YACjB3C,KAAK4C,YAAYX,KAAKU,GAGvBE,aAAc7C,KAAK6C,aACnBC,MAAO9C,KAAK8C,MACZC,cAAe,EAAGJ,YACjB3C,KAAKgD,YAAYf,KAAKU,GAGvBM,aAAcjD,KAAKiD,aACnBC,sBAAuBlD,KAAKkD,sBAC5BC,qBAAsBnD,KAAKmD,qBAC3BC,SAAU,IAAMpD,KAAKqD,OAAOpB,OAE5BqB,aAActD,KAAKsD,aACnBC,WAAYvD,KAAKwD,iBACjBC,WAAYzD,KAAK0D,iBACjBC,cAAe3D,KAAK4D,oBACpBC,aAAc7D,KAAK8D,oBACnBC,qBAAsB/D,KAAK+D,qBAC3BC,SAAU,IAAMhE,KAAKoB,OAAOa,OAC5BgC,qBAAqB1D,EAAAP,KAAKkE,gBAAY,MAAA3D,SAAA,SAAAA,EAAE4D,OAExCC,QAASpE,KAAKqE,eAEbrE,KAAKE,sBACLiC,EAAA,QACCmC,KAAK,gBACLC,KAAK,mBAMRvE,KAAKwE,aACNrC,EAAA,OAAKE,MAAM,wBAAwBrC,KAAKyE,YAEvCzE,KAAK0E,cACLvC,EAAA,kBAECwC,iBAAkB3E,KAAK2E,iBAEvBC,eAAgB5E,KAAK4E,eACrBC,SAAU7E,KAAK6E,SACfC,gBAAiB9E,KAAK8E,gBACtBC,iBAAkB,EAAGpC,YACpB3C,KAAKgF,eAAe/C,KAAKU,GAG1BsC,iBAAkBjF,KAAKiF,iBACvBC,KAAMlF,KAAKkF,KACXC,MAAOnF,KAAKmF,MACZC,aAAc,EAAGzC,YAChB3C,KAAKqF,WAAWpD,KAAKU,GAGtB2C,aAActF,KAAKsF,aACnBC,SAAU,IAAMvF,KAAKwF,OAAOvD,OAE5BmC,QAASpE,KAAKyF,gBAIfzF,KAAK0F,oBAAsB1F,KAAK2F,oBAChCxD,EAAA,6BACCyD,YAAa,KACbvD,MAAO,KACN1B,EAAAX,KAAKkE,gBAAY,MAAAvD,SAAA,SAAAA,EAAEwD,QAAS,GAAK,cAC9BnE,KAAKG,mBAAqB,QAAU,MAExCgC,EAAA,wBACC0D,MAAO,MACPtB,KAAK,qBACLlC,QACC/B,EAAAN,KAAK8F,uBAAmB,MAAAxF,SAAA,SAAAA,EAAE6D,QACvB,qBACA,IAGHnE,KAAK+F,oCACLC,EAAAhG,KAAKkE,gBAAY,MAAA8B,SAAA,SAAAA,EAAE7B,SAGrBhC,EAAA,aACCE,MAAO,qBACN4D,EAAAjG,KAAK8F,uBAAmB,MAAAG,SAAA,SAAAA,EAAE9B,QACvB,qBACA,KAEJ+B,QAAQ,WACR3B,KAAK,yBAEL4B,EAAAnG,KAAK8F,uBAAmB,MAAAK,SAAA,SAAAA,EAAEhC,SAC1BnE,KAAK8F,oBAAoBM,KAAKC,GAC7BlE,EAAA,wBACCoC,KAAK,qBACL+B,SAAUD,EAAEC,SACZC,QAAS,KACPF,EAAEC,WACFD,EAAEjC,WACDiC,EAAEjF,QACJiF,EAAEG,OAAS,SACRH,EAAEjF,OACFpB,KAAKkE,aAAa,GAClB,OAEAmC,EAAEjF,OACFpB,KAAKkE,aACL,OAIHmC,EAAEI,MAAO,IACTJ,EAAEjC,QACFjC,EAAA,iBAEAA,EAAA,UACC+D,QAASG,EAAEK,KACXC,OAAQN,EAAEO,WACVC,KAAMR,EAAES,gBAKZC,EAAA/G,KAAK8F,uBAAmB,MAAAiB,SAAA,SAAAA,EAAE5C,SAC1BhC,EAAA,aACCE,MAAM,kBACN6D,QAAQ,WACR3B,KAAK,uBAGPpC,EAAA,wBACCoC,KAAK,qBACLgC,QAAS,IACRvG,KAAKgH,iBAAiB,KAAM,QAG7B7E,EAAA,UAAQ+D,QAAQ,eAEU,I,CAUzB,iBAAMvE,GACb3B,KAAKQ,eAAiByG,EAA0BjH,KAAKwB,I,CAItD,wBAAA0F,GACClH,KAAK8B,kB,CAIN,OAAAqF,EAAQC,IAAEA,IACT,GAAIA,IAAQ,WAAapH,KAAKC,YAAc,KAAM,CACjD,M,CAGDD,KAAKC,UAAY,I,CAIlB,KAAAoH,EAAMD,IAAEA,IACP,GAAIA,IAAQ,WAAapH,KAAKC,YAAc,MAAO,CAClD,M,CAGDD,KAAKC,UAAY,K,CAIlB,gBAAAqH,GACC,GAAIC,SAASC,kBAAoB,UAAYxH,KAAKC,YAAc,MAAO,CACtE,M,CAGDD,KAAKC,UAAY,K,CAIV,WAAA2B,CAAYC,GACnB,IAAKA,EAAO,CACX7B,KAAKyH,OAAS,GACd,M,CAGD,GAAIC,MAAMC,QAAQ9F,GAAQ,CACzB7B,KAAKyH,OAAS5F,EACd,M,CAGD7B,KAAKyH,OAASG,KAAKC,MAAMhG,E,CAOlB,oBAAAH,GACP,GAAI1B,KAAK8H,eAAgB,CACxBC,aAAa/H,KAAK8H,e,CAKnB9H,KAAK8H,eAAiBE,YAAW,K,QAChC,MAAMC,EAASC,IAGf,MAAMC,EAAUT,MAAMU,KACrBpI,KAAKwB,IAAI6G,iBAAiB,gCAE3BrI,KAAKsI,eAAiBH,EAAQ9E,QAC5BgD,GAAMA,EAAEG,OAAS,QAAUH,EAAEG,OAAS,WAExCxG,KAAK8F,oBAAsBqC,EACzB9E,QACCgD,GAAMA,EAAEG,OAAS,QAAUH,EAAEG,OAAS,SAAWyB,IAElD7B,KAAKC,I,MACL,GAAIA,EAAEG,OAAS,SAAU,CACxBH,EAAEC,WAAW/F,EAAAP,KAAKkE,gBAAY,MAAA3D,SAAA,SAAAA,EAAE4D,QAAS,C,CAG1C,OAAOkC,CAAC,IAGV,IAAIkC,EAAoBvI,KAAKuI,kBAC7B,GACCN,KACA1H,EAAAP,KAAK8F,uBAAmB,MAAAvF,SAAA,SAAAA,EAAE4D,UACxBoE,IAAsBC,WAAaxI,KAAKsB,qBACxCtB,KAAKsB,oBACN,CACDiH,EAAoB,C,CAGrBvI,KAAKyI,mBAAqBF,EAE1B,IAAIjH,EAAqBtB,KAAKsB,mBAC9B,GACC2G,KACAtH,EAAAX,KAAK8F,uBAAmB,MAAAnF,SAAA,SAAAA,EAAEwD,UACzB7C,EACA,CACDA,EAAqB,I,CAGtBtB,KAAK2F,oBAAsBrE,CAAkB,GAC3C,I,CAGI,gBAAAQ,GACP,MAAM4G,EAAc1I,KAAKwB,IAAI6G,iBAAiB,kBAC9C,MAAMM,EAAmBjB,MAAMU,KAAKM,GAEpCC,EAAiBA,EAAiBxE,OAAS,GAAG,UAAY,KAE1DnE,KAAK4I,SAAWD,C,CAGT,UAAAnE,GACP,OACCrC,EAAA,eAAa+D,QAAQ,UACnBlG,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBC,IACrC3G,EAAA,gBACC4G,WAAYF,EACZG,MAAOH,EAAIvE,KACX4B,QAAQ,SACR+C,SACCH,IAAU,GAAKD,EAAIK,YAChBlJ,KAAKmJ,aACL,KACAnJ,KAAKoE,QAAU,UAAY,UAE3B,KAEJ0E,MAAOA,M,CAOJ,QAAArE,GACP,GAAIzE,KAAKoE,QAAS,CACjB,OAAOsD,MAAMU,KACZ,CACCjE,OAAQnE,KAAKoJ,sBAEd,CAACC,EAAGC,IACHnH,EAAA,eACCoH,YACCvJ,KAAK2F,qBAAuB3F,KAAKwJ,gBAGjCxJ,KAAKyJ,mBAAmBH,K,CAM7B,IAAKtJ,KAAKyH,OAAOtD,OAAQ,CACxB,OAAOnE,KAAK0J,gB,CAGb,OAAO1J,KAAKyH,OAAOrB,KAAI,CAACuD,EAAMb,IAC7B3G,EAAA,eACCoH,YAAavJ,KAAK2F,qBAAuB3F,KAAKwJ,eAC9CjD,QAAUqD,GAAO5J,KAAK6J,UAAUD,EAAId,IAEnC9I,KAAK8J,eAAeH,EAAMb,K,CAKtB,cAAAgB,CAAeH,EAAMb,G,MAC5B,MAAMiB,EAAU/J,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBmB,IAEnD7H,EAAA,gBACC4G,WAAYF,EACZc,KAAMA,EACNV,SACCe,IAAa,GAAKnB,EAAIK,YACnBlJ,KAAKmJ,aAAaL,GAClB,KAEJA,MAAOkB,EACPC,SAAUnB,EACVoB,kBACGlK,KAAKsI,eAAenE,SAAW+D,QAMrC,KAAI3H,EAAAP,KAAKsI,kBAAc,MAAA/H,SAAA,SAAAA,EAAE4D,UAAW+D,IAAY,CAC/C,MAAMiC,EAAUnK,KAAK4I,SAAS5I,KAAK4I,SAASzE,OAAS,GACrD,MAAMgE,EAAUnI,KAAKsI,eAAejF,QAAQgD,GAC3CA,EAAE+D,aAAe/D,EAAE+D,aAAaT,GAAQ,OAGzC,IAAKxB,EAAQhE,OAAQ,CACpB,OAAO4F,C,CAGRA,EAAQM,KACPlI,EAAA,gBACC+D,QAAQ,UACR6C,WAAYoB,EACZR,KAAMA,EACNb,MAAO9I,KAAK4I,SAASzE,OAAS,EAC9B8F,SAAUnB,EACVoB,kBAAmBlK,KAAKsI,eAAenE,QAEvChC,EAAA,OAAKoC,KAAK,UAAUlC,MAAM,mCACxB8F,EAAQ/B,KAAKC,GACblE,EAAA,aAAWhB,QAASkF,EAAEI,OACrBtE,EAAA,kCAEC+D,QAAQ,YACR3B,KAAK,UACLmC,KAAML,EAAEK,KACRE,WAAYP,EAAEO,WACdE,SAAUT,EAAES,SACZwD,SAAU,KACVC,KAAK,QACLhE,QAAS,K,MACR,cAAOF,EAAEjF,SAAW,cACpBb,EAAA8F,EAAEjF,UAAM,MAAAb,SAAA,SAAAA,EAAAiK,KAAAnE,EAAGsD,EAAM,OAAM,S,CAU/B,OAAOI,C,CAGA,kBAAAN,CAAmBX,GAC1B,OAAO9I,KAAK4I,SAASxC,KAAI,CAACyC,EAAkBmB,IAE1C7H,EAAA,gBACC4G,WAAYF,EACZ3C,QAAQ,UACR+C,SACCe,IAAa,GAAKnB,EAAIK,YACnBlJ,KAAKmJ,aAAaL,EAAO,WACzB,KAEJA,MAAOkB,EACPC,SAAUnB,K,CAMN,YAAAK,CACPc,EACA/D,EAA4C,W,MAE5C,IACElG,KAAK2F,sBACJ3F,KAAKyK,iBAAiBlK,EAAAP,KAAK8F,uBAAmB,MAAAvF,SAAA,SAAAA,EAAE4D,QACjD,CACD,M,CAGD,GAAI+B,IAAY,UAAW,CAC1B,OAAO/D,EAAA,YAAU+D,QAAQ,QAAQ7D,MAAM,mB,CAGxC,GAAI6D,IAAY,SAAU,CACzB,OACC/D,EAAA,SACCE,MAAO,WAAWrC,KAAKyI,qBAAuBD,WAAa,cAC3DhC,KAAK,WACLkE,SAAWd,GAAO5J,KAAKgH,iBAAiB4C,GACxCe,QAAS3K,KAAK4K,wBACdC,cAAe7K,KAAK8K,0BACpBxE,SAAUtG,KAAKyI,qBAAuBD,W,CAKzC,MAAMmB,EAAO3J,KAAKyH,OAAOwC,GAEzB,MAAMc,EAAoB/K,KAAKgL,mBAAmBf,GAElD,OACC9H,EAAA,SACCE,MAAM,UACNmE,KAAK,WACLkE,SAAWd,GAAO5J,KAAKiL,gBAAgBrB,IAAE,MAAFA,SAAE,SAAFA,EAAIsB,OAAQjB,GACnD3D,SACEtG,KAAKmL,eAAiBxB,EAAK3J,KAAKmL,eAChCnL,KAAKyI,qBAAuBD,YAC3BuC,GACD/K,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBAEpCkC,QAASI,G,CAKJ,cAAArB,G,MACP,KAAInJ,EAAAP,KAAK8C,SAAK,MAAAvC,SAAA,SAAAA,EAAE4D,SAAUnE,KAAKkD,sBAAuB,CACrD,OACCf,EAAA,OAAKE,MAAM,0EACVF,EAAA,kBAAgB+D,QAAQ,qBAAqB7D,MAAM,SACnDF,EAAA,KAAGE,MAAM,oCACPrC,KAAKoL,4BAEPjJ,EAAA,KAAGE,MAAM,mCACPrC,KAAKqL,6B,CAMV,OACClJ,EAAA,OACCE,MAAO,0EACNrC,KAAKsL,wBAA0B,mBAEhC/E,QAAS,IACRvG,KAAKsL,wBACLtL,KAAKuL,sBAAsBtJ,KAAK,OAGjCE,EAAA,kBAAgB+D,QAAQ,kBAAkB7D,MAAM,SAChDF,EAAA,KAAGE,MAAM,oCACPrC,KAAKwL,oBAEPrJ,EAAA,KAAGE,MAAM,kCACPrC,KAAKyL,qBAENzL,KAAKsL,wBACLnJ,EAAA,YAAU+D,QAAQ,YAAYQ,KAAK,OAAO6D,KAAK,SAC7CvK,KAAK0L,oB,CAOH,gBAAA1E,CAAiB2E,EAAaC,GACrC,IAAK5L,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMqD,EACL4C,IAAepD,UACZxI,KAAK6L,iBAAiBF,EAAOT,QAC7BU,EACJ,GAAI5C,EAAO,CACV,MAAM8C,EAAQ,GACd,IAAK,IAAIxC,EAAI,EAAGA,EAAItJ,KAAKyH,OAAOtD,OAAQmF,IAAK,CAC5C,MAAMyC,EAAM/L,KAAKyH,OAAO6B,GACxB,GAAItJ,KAAKmL,eAAiBY,EAAI/L,KAAKmL,cAAe,CACjD,Q,CAGD,GAAInL,KAAKgL,mBAAmB1B,GAAI,CAC/B,Q,CAGDwC,EAAMzB,KAAK0B,GACX/L,KAAKgM,YAAY/J,KAAK8J,GAEtB,GACC/L,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,OAAS2H,EAAM3H,SAChCnE,KAAKyI,mBACL,CACD,K,EAIFzI,KAAKkE,aAAe,IAAIlE,KAAKkE,gBAAiB4H,GAC9C9L,KAAKiM,mBAAmBhK,KAAKjC,KAAKkE,cAClC,GAAIlE,KAAK0F,qBAAuB1F,KAAKG,mBAAoB,CACxDH,KAAKG,mBAAqB,I,CAG3B,M,CAGD,IAAK,IAAImJ,EAAI,EAAGA,EAAItJ,KAAKkE,aAAaC,OAAQmF,IAAK,CAClD,MAAMN,EAAQhJ,KAAKkE,aAAaoF,GAChC,MAAMyC,EAAM/L,KAAKyH,OAAOyE,MACtBC,GACAnM,KAAKoM,mBAAmBD,EAAG7C,KAC3BtJ,KAAKoM,mBAAmBpD,EAAOM,KAGjC,IAAKyC,EAAK,CACT,Q,CAGD/L,KAAKqM,cAAcpK,KAAK8J,E,CAGzB/L,KAAKkE,aAAe,GACpBlE,KAAKiM,mBAAmBhK,KAAKjC,KAAKkE,a,CAG3B,eAAA+G,CAAgBC,EAAapC,GACpC,IAAK9I,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMqD,EAAQhJ,KAAK6L,iBAAiBX,GACpC,GACClC,GACAhJ,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,QAAUnE,KAAKyI,mBAChC,CACDyC,EAAOP,QAAU,MACjB,M,CAGD,MAAMoB,EAAM/L,KAAKyH,OAAOqB,GAExB,GAAI9I,KAAKmL,eAAiBY,EAAI/L,KAAKmL,cAAe,CACjDD,EAAOP,QAAU,MACjB,M,CAGD,GAAI3B,EAAO,CACVhJ,KAAKkE,aAAe,IAChBlE,KAAKkE,a,+BAEJ6H,GAAG,CACNjD,WAGF9I,KAAKiM,mBAAmBhK,KAAKjC,KAAKkE,cAClClE,KAAKgM,YAAY/J,KAAK8J,GAEtB,GAAI/L,KAAK0F,qBAAuB1F,KAAKG,mBAAoB,CACxDH,KAAKG,mBAAqB,I,CAG3B,M,CAGD,MAAMmM,EAAkBtM,KAAKgL,mBAAmBlC,EAAO,MAGvD,MAAMyD,EAAY,IAAIvM,KAAKkE,cAC3BqI,EAAUC,OAAOF,EAAiB,GAClCtM,KAAKkE,aAAeqI,EACpBvM,KAAKiM,mBAAmBhK,KAAKjC,KAAKkE,cAClClE,KAAKqM,cAAcpK,KAAK8J,E,CAGjB,gBAAAF,CAAiBX,GACxB,OAAOA,IAAM,MAANA,SAAM,SAANA,EAAQP,O,CAGR,kBAAAyB,CAAmBL,EAAUjD,GACpC,OAAO9I,KAAKyK,cAAesB,IAAG,MAAHA,SAAG,SAAHA,EAAM/L,KAAKyK,gBAAiB3B,EAAQA,C,CAGxD,kBAAAkC,CAAmBlC,EAAO2D,EAAc,OAC/C,MAAMC,EAAc1M,KAAKkE,aAAayI,WACpChD,GAASA,EAAKb,QAAUA,IAE1B,OAAQ2D,EAAcC,GAAe,EAAIA,C,CAGlC,qBAAA9B,G,QACP,IAAI8B,EAAc,KAClB,MAAKnM,EAAAP,KAAKyH,UAAM,MAAAlH,SAAA,SAAAA,EAAE4D,QAAQ,CACzB,OAAO,K,CAGR,GACCnE,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBACjC,CACD,OAAO,I,CAGR,IAAK,IAAIa,EAAI,EAAGA,IAAI3I,EAAAX,KAAKyH,UAAM,MAAA9G,SAAA,SAAAA,EAAEwD,QAAQmF,IAAK,CAC7C,MAAMsD,EAAW5M,KAAKgL,mBAAmB1B,GAEzC,IAAKsD,EAAU,CACdF,EAAc,MACd,K,EAIF,OAAOA,C,CAGA,uBAAA5B,G,UACP,MAAKvK,EAAAP,KAAKyH,UAAM,MAAAlH,SAAA,SAAAA,EAAE4D,YAAWxD,EAAAX,KAAKkE,gBAAY,MAAAvD,SAAA,SAAAA,EAAEwD,QAAQ,CACvD,OAAO,K,CAGR,GACCnE,KAAKyI,qBAAuBD,WAC5BxI,KAAKkE,aAAaC,SAAWnE,KAAKyI,mBACjC,CACD,OAAO,K,CAGR,IAAIoE,EAAgB,EACpB,IAAK,IAAIvD,EAAI,EAAGA,IAAIhJ,EAAAN,KAAKyH,UAAM,MAAAnH,SAAA,SAAAA,EAAE6D,QAAQmF,IAAK,CAC7C,MAAMsD,EAAW5M,KAAKgL,mBAAmB1B,GAEzC,GAAIsD,EAAU,CACbC,G,EAIF,OAAOA,EAAgB,GAAKA,IAAkB7M,KAAKyH,OAAOtD,M,CAGnD,SAAA0F,CAAU8B,EAAQ7C,GACzB,MAAMoC,EAASS,EAAOT,OAEtB,GACCA,EAAO4B,QAAQC,gBAAkB,SACjC7B,EAAO1E,OAAS,WACf,CACD,M,CAGD,MAAMuF,EAAM/L,KAAKgN,SAASrB,EAAOT,QACjC,MAAM9J,EAASpB,KAAKiN,eAAetB,EAAOT,QAE1C,GAAI9J,EAAQ,CACX,M,CAGD,GAAIpB,KAAKwJ,eAAgB,CACxB,MAAMG,EAAO3J,KAAKyH,OAAOqB,GACzB9I,KAAKkN,SAASjL,KAAK,CAClB0H,OACAwD,SAAUnN,KAAKC,YAEhB,M,CAGD,IAAKD,KAAK2F,oBAAqB,CAC9B,M,CAGD,MAAMsD,EAAW8C,IAAG,MAAHA,SAAG,SAAHA,EAAKtK,cAAc,0BAEpC,IAAKwH,EAAU,CACd,M,CAGDA,EAAS0B,SAAW1B,EAAS0B,QAC7B3K,KAAKiL,gBAAgBhC,EAAUH,E,CAGxB,QAAAkE,CAASI,G,MAChB,IAAKA,EAAI,CACR,OAAOA,C,CAGR,KAAI7M,EAAA6M,IAAE,MAAFA,SAAE,SAAFA,EAAIN,WAAO,MAAAvM,SAAA,SAAAA,EAAEwM,iBAAkB,cAAe,CACjD,OAAOK,C,CAGR,OAAOpN,KAAKgN,SAASI,IAAE,MAAFA,SAAE,SAAFA,EAAIC,c,CAGlB,cAAAJ,CAAeG,G,MACtB,IAAKA,EAAI,CACR,OAAO,I,CAGR,GACCA,EAAGE,aAAa,oBAAsB,MACtCF,EAAGE,aAAa,oBAAsB,QACrC,CACD,OAAOF,C,CAGR,KAAI7M,EAAA6M,IAAE,MAAFA,SAAE,SAAFA,EAAIN,WAAO,MAAAvM,SAAA,SAAAA,EAAEwM,iBAAkB,cAAe,CACjD,OAAO,I,CAGR,OAAO/M,KAAKiN,eAAeG,IAAE,MAAFA,SAAE,SAAFA,EAAIC,c"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r,h as t,H as a}from"./p-e4d5e7a7.js";const o=".z-10{z-index:10!important}.flex{display:flex!important}.hidden{display:none!important}.max-h-\\[11\\.5rem\\]{max-height:11.5rem!important}.max-h-\\[13\\.875rem\\]{max-height:13.875rem!important}.max-h-\\[20rem\\]{max-height:20rem!important}.w-full{width:100%!important}.max-w-\\[222px\\]{max-width:222px!important}.flex-col{flex-direction:column!important}.gap-\\[1px\\]{gap:1px!important}.rounded-xxlarge{border-radius:.75rem!important}.drop-shadow-4{--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}.drop-shadow-4,.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}*{box-sizing:border-box}p-dropdown-menu-container{--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:.75rem;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);width:auto;z-index:10}p-dropdown-menu-container .content{display:flex;flex-direction:column;gap:1px;padding:.5rem;width:100%}p-dropdown-menu-container.full-width{width:100%}p-dropdown-menu-container.max-width{max-width:222px}p-dropdown-menu-container.scrollable{max-height:11.5rem;scrollbar-width:none}p-dropdown-menu-container.scrollable::-webkit-scrollbar{display:none}p-dropdown-menu-container.scrollable .content{height:100%}p-dropdown-menu-container.scrollable.scrollable-large{max-height:13.875rem}p-dropdown-menu-container.scrollable.scrollable-xlarge{max-height:20rem}.static{position:static!important}";const e=class{constructor(t){r(this,t);this.maxWidth=true;this.fullWidth=true;this.scrollable=false}render(){return t(a,{class:`p-dropdown-menu-container ${this.maxWidth&&"max-width"} ${this.fullWidth&&"full-width"} ${!!this.scrollable&&"scrollable"} ${this.scrollable==="large"?"scrollable-large":""} ${this.scrollable==="xlarge"?"scrollable-xlarge":""}`},t("div",{class:"content"},t("slot",null)))}};e.style=o;export{e as p_dropdown_menu_container};
|
|
2
|
-
//# sourceMappingURL=p-53601c7e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownMenuContainerComponentCss","DropdownMenuContainer","render","h","Host","class","this","maxWidth","fullWidth","scrollable"],"sources":["src/components/atoms/dropdown-menu-container/dropdown-menu-container.component.scss?tag=p-dropdown-menu-container","src/components/atoms/dropdown-menu-container/dropdown-menu-container.component.tsx"],"sourcesContent":["@import '../../../style/mixins';\n\np-dropdown-menu-container {\n\t@apply w-auto;\n\t@apply rounded-xxlarge bg-white;\n\t@apply z-10 drop-shadow-4 filter;\n\n\t.content {\n\t\t@apply w-full p-2;\n\t\t@apply flex flex-col gap-[1px];\n\t}\n\n\t&.full-width {\n\t\t@apply w-full;\n\t}\n\n\t&.max-width {\n\t\t@apply max-w-[222px];\n\t}\n\n\t&.scrollable {\n\t\t@apply max-h-[11.5rem];\n\n\t\tscrollbar-width: none;\n\t\t&::-webkit-scrollbar {\n\t\t\t@apply hidden;\n\t\t}\n\n\t\t.content {\n\t\t\t@apply h-full;\n\t\t}\n\n\t\t&.scrollable-large {\n\t\t\t@apply max-h-[13.875rem];\n\t\t}\n\n\t\t&.scrollable-xlarge {\n\t\t\t@apply max-h-[20rem];\n\t\t}\n\t}\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n\ttag: 'p-dropdown-menu-container',\n\tstyleUrl: 'dropdown-menu-container.component.scss',\n\t// shadow: true,\n})\nexport class DropdownMenuContainer {\n\t/**\n\t * Wether the container applies it's max width\n\t */\n\t@Prop() maxWidth: boolean = true;\n\n\t/**\n\t * Wether the container should all available space\n\t */\n\t@Prop() fullWidth: boolean = true;\n\n\t/**\n\t * Wether the container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' | 'xlarge' = false;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-dropdown-menu-container ${\n\t\t\t\t\tthis.maxWidth && 'max-width'\n\t\t\t\t} ${this.fullWidth && 'full-width'} ${\n\t\t\t\t\t!!this.scrollable && 'scrollable'\n\t\t\t\t} ${this.scrollable === 'large' ? 'scrollable-large' : ''} ${this.scrollable === 'xlarge' ? 'scrollable-xlarge' : ''}`}\n\t\t\t>\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"6CAAA,MAAMA,EAAoC,2zD,MCO7BC,EAAqB,M,uCAIL,K,eAKC,K,gBAKkC,K,CAE/D,MAAAC,GACC,OACCC,EAACC,EAAI,CACJC,MAAO,6BACNC,KAAKC,UAAY,eACdD,KAAKE,WAAa,kBACnBF,KAAKG,YAAc,gBAClBH,KAAKG,aAAe,QAAU,mBAAqB,MAAMH,KAAKG,aAAe,SAAW,oBAAsB,MAElHN,EAAA,OAAKE,MAAM,WACVF,EAAA,c"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as o,H as r,g as i}from"./p-e4d5e7a7.js";import{a,c as p,o as n,f as s,s as c}from"./p-fef32402.js";import{c as h}from"./p-4d330cfc.js";const l=".fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.left-0{left:0!important}.top-0{top:0!important}.z-dropdown{z-index:200!important}.block{display:block!important}.flex{display:flex!important}.hidden{display:none!important}.h-auto{height:auto!important}*{box-sizing:border-box}:host{display:block;position:relative}:host .trigger{display:block;height:auto;position:relative;width:auto}:host p-dropdown-menu-container{display:none;left:0;top:0;z-index:200}:host p-dropdown-menu-container[data-show]{display:flex}:host p-dropdown-menu-container[data-strategy=absolute]{position:absolute}:host p-dropdown-menu-container[data-strategy=fixed]{position:fixed}.visible{visibility:visible!important}.static{position:static!important}";const d=class{constructor(o){t(this,o);this.isOpen=e(this,"isOpen",3);this._loaded=false;this.placement="bottom-start";this.offset=8;this.strategy="absolute";this.show=false;this.calculateWidth=false;this.applyMaxWidth=true;this.applyFullWidth=true;this.scrollable=false;this.insideClick=false;this.disableTriggerClick=false;this.applyChevron=true;this.chevronPosition="end";this.chevronDirection=undefined}componentShouldUpdate(){this._update()}disconnectedCallback(){if(this._cleanup){this._cleanup();this._cleanup=null}}render(){return o(r,{class:"p-dropdown"},o("div",{class:"trigger",ref:t=>this._trigger=t,onClick:()=>this._triggerClickHandler()},o("slot",{onSlotchange:t=>this._checkButton(t),name:"trigger"})),o("p-dropdown-menu-container",{role:"popover",maxWidth:!this.calculateWidth&&this.applyMaxWidth,fullWidth:this.applyFullWidth&&!this.applyMaxWidth,ref:t=>this._load(t),"data-placement":this.placement,"data-strategy":this.strategy,onClick:()=>this._containerClickHandler(),scrollable:this.scrollable},o("slot",{name:"items"})))}_checkButton({target:t}){if(!this.applyChevron){return}const e=t;const o=e.assignedElements();for(let t of o){if(t.nodeName==="P-BUTTON"){t.chevronPosition=this.chevronPosition;t.chevron=this.chevronDirection?this.chevronDirection:this.placement.indexOf("top")>=0?"up":"down"}}}onShowChange(t){if(!this._loaded){return}if(!t){this._hide();return}this._show()}documentClickHandler({target:t}){if(!this._menu.hasAttribute("data-show")||h(t,this._el)){return}this._hide()}_containerClickHandler(){if(this.insideClick){return}if(this._menu.hasAttribute("data-show")){this._hide()}}_triggerClickHandler(){if(this.disableTriggerClick){return}if(this._menu.hasAttribute("data-show")){this._hide();return}this._show()}_load(t){this._menu=t;if(t){this._update();this._loaded=true;if(this.show){setTimeout((()=>this._show()),100)}}}_show(){if(!this._loaded){return}if(this.calculateWidth){this._menu.style.width=`${this._trigger.clientWidth}px`}this._cleanup=a(this._el,this._menu,(()=>this._update()));this._menu.setAttribute("data-show","");this.isOpen.emit(true)}_hide(){if(!this._loaded||this.show){return}if(this._cleanup){this._cleanup();this._cleanup=null}this._menu.removeAttribute("data-show");this.isOpen.emit(false)}_update(){if(!this._menu){return}p(this._el,this._menu,{placement:this.placement,strategy:this.strategy,middleware:[n(this.offset),s(),c()]}).then((({x:t,y:e,placement:o})=>{this._menu.dataset.placement=o;Object.assign(this._menu.style,{top:`${e}px`,left:`${t}px`})}))}get _el(){return i(this)}static get watchers(){return{show:["onShowChange"]}}};d.style=l;const b=".block{display:block!important}.flex{display:flex!important}.h-4{height:1rem!important}.h-6{height:1.5rem!important}.h-8{height:2rem!important}.w-4{width:1rem!important}.w-6{width:1.5rem!important}.w-\\[2\\.375rem\\]{width:2.375rem!important}.w-full{width:100%!important}.translate-x-0{--tw-translate-x:0px!important}.translate-x-0,.translate-x-3{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}.translate-x-3{--tw-translate-x:0.75rem!important}.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}.appearance-none{appearance:none!important}.items-center{align-items:center!important}.gap-2{gap:.5rem!important}.overflow-hidden{overflow:hidden!important}.text-ellipsis{text-overflow:ellipsis!important}.whitespace-nowrap{white-space:nowrap!important}.rounded{border-radius:.25rem!important}.border{border-width:1px!important}.border-solid{border-style:solid!important}.border-indigo{--tw-border-opacity:1!important;border-color:rgb(82 138 250/var(--tw-border-opacity))!important}.border-negative{--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important}.bg-indigo-light{--tw-bg-opacity:1!important;background-color:rgb(241 246 255/var(--tw-bg-opacity))!important}.bg-mystic-dark{background-color:rgb(218 230 240/var(--tw-bg-opacity))!important}.bg-mystic-dark,.bg-white{--tw-bg-opacity:1!important}.bg-white{background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.bg-center{background-position:50%!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-semibold{font-weight:600!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.transition-transform{transition-duration:.15s!important;transition-property:transform!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important}*{box-sizing:border-box}:host{--tw-text-opacity:1;align-items:center;border-radius:.25rem;color:rgb(81 83 107/var(--tw-text-opacity));cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;height:2rem;line-height:1.25rem;padding-left:.5rem;padding-right:.5rem;width:100%}:host input[type=checkbox].p-input{--tw-bg-opacity:1;--tw-border-opacity:1;appearance:none;background-color:rgb(255 255 255/var(--tw-bg-opacity));background-position:50%;background-repeat:no-repeat;background-size:1rem;border-color:rgb(218 230 240/var(--tw-border-opacity));border-radius:.25rem;border-style:solid;border-width:1px;height:1.5rem;outline:2px solid transparent!important;outline-offset:2px!important;width:1.5rem}:host input[type=checkbox].p-input+label{margin-left:.2rem;margin-top:.05rem}:host input[type=checkbox].p-input:hover:not(:disabled):not([disabled]):not(.disabled){cursor:pointer}:host input[type=checkbox].p-input:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked):not(:indeterminate):not([indeterminate]):not(.indeterminate){--tw-border-opacity:1;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.965 11.487 13.53 1.53c.435-.572 1.22-.7 1.8-.292l.108.077c.294.206.492.53.546.895.054.365-.04.737-.26 1.026L7.26 14.38a1.34 1.34 0 0 1-.642.463 1.302 1.302 0 0 1-1.575-.263L.362 9.6a1.356 1.356 0 0 1-.36-.99c.017-.37.181-.713.452-.95l.1-.088a1.302 1.302 0 0 1 1.82.093l3.592 3.82h-.001Z' fill='%23dae6f0' fill-rule='evenodd'/%3E%3C/svg%3E\");border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-input.checked,:host input[type=checkbox].p-input.indeterminate,:host input[type=checkbox].p-input:checked,:host input[type=checkbox].p-input:indeterminate,:host input[type=checkbox].p-input[checked],:host input[type=checkbox].p-input[indeterminate]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-input.checked,:host input[type=checkbox].p-input:checked,:host input[type=checkbox].p-input[checked]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.965 11.487 13.53 1.53c.435-.572 1.22-.7 1.8-.292l.108.077c.294.206.492.53.546.895.054.365-.04.737-.26 1.026L7.26 14.38a1.34 1.34 0 0 1-.642.463 1.302 1.302 0 0 1-1.575-.263L.362 9.6a1.356 1.356 0 0 1-.36-.99c.017-.37.181-.713.452-.95l.1-.088a1.302 1.302 0 0 1 1.82.093l3.592 3.82h-.001Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.indeterminate,:host input[type=checkbox].p-input:indeterminate,:host input[type=checkbox].p-input[indeterminate]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg width='1em' height='1em' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 7h8a1 1 0 0 1 0 2H4a1 1 0 1 1 0-2Z' fill='%23fff' fill-rule='evenodd'/%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.disabled,:host input[type=checkbox].p-input:disabled,:host input[type=checkbox].p-input[disabled]{opacity:.4}:host input[type=checkbox].p-input.error,:host input[type=checkbox].p-input[error]{--tw-text-opacity:1;--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important;color:rgb(138 15 29/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error::-moz-placeholder,:host input[type=checkbox].p-input[error]::-moz-placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error::placeholder,:host input[type=checkbox].p-input[error]::placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-input.error.checked,:host input[type=checkbox].p-input.error:checked,:host input[type=checkbox].p-input.error[checked],:host input[type=checkbox].p-input[error].checked,:host input[type=checkbox].p-input[error]:checked,:host input[type=checkbox].p-input[error][checked]{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity))}:host input[type=checkbox].p-input.size-small{height:1rem;width:1rem}:host input[type=checkbox].p-input.size-small:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked):not(:indeterminate):not([indeterminate]):not(.indeterminate){background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M2.667 2.667h10.667v10.667H2.667z'/%3E%3Cpath fill='%23DAE6F0' d='m6.644 10.325 5.044-6.638a.87.87 0 0 1 1.2-.194l.072.05a.91.91 0 0 1 .19 1.28l-5.644 7.43a.89.89 0 0 1-.427.31.868.868 0 0 1-1.05-.176l-3.12-3.32a.904.904 0 0 1-.241-.66.897.897 0 0 1 .302-.633l.067-.058a.868.868 0 0 1 1.213.062l2.394 2.547Z'/%3E%3C/g%3E%3C/svg%3E\")}:host input[type=checkbox].p-input.size-small.checked,:host input[type=checkbox].p-input.size-small:checked,:host input[type=checkbox].p-input.size-small[checked]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M2.667 2.667h10.667v10.667H2.667z'/%3E%3Cpath fill='%23FFF' d='m6.644 10.325 5.044-6.638a.87.87 0 0 1 1.2-.194l.072.05a.91.91 0 0 1 .19 1.28l-5.644 7.43a.89.89 0 0 1-.427.31.868.868 0 0 1-1.05-.176l-3.12-3.32a.904.904 0 0 1-.241-.66.897.897 0 0 1 .302-.633l.067-.058a.868.868 0 0 1 1.213.062l2.394 2.547Z'/%3E%3C/g%3E%3C/svg%3E\")}:host input[type=checkbox].p-toggle{--tw-bg-opacity:1;--tw-border-opacity:1;align-items:center;appearance:none;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-color:rgb(218 230 240/var(--tw-border-opacity));border-radius:1.5625rem;border-style:solid;border-width:1px;display:flex;height:1.5rem;justify-content:flex-start;padding:.25rem;width:2.375rem}:host input[type=checkbox].p-toggle:after{--tw-translate-x:0px;--tw-bg-opacity:1;background-color:rgb(218 230 240/var(--tw-bg-opacity));border-radius:100%;content:\"\";display:block;height:1rem;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));transition-duration:.1s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);width:1rem}:host input[type=checkbox].p-toggle.checked,:host input[type=checkbox].p-toggle:checked,:host input[type=checkbox].p-toggle[checked]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(82 138 250/var(--tw-bg-opacity));border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-toggle.checked:after,:host input[type=checkbox].p-toggle:checked:after,:host input[type=checkbox].p-toggle[checked]:after{--tw-translate-x:0.75rem;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));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))}:host input[type=checkbox].p-toggle.disabled,:host input[type=checkbox].p-toggle:disabled,:host input[type=checkbox].p-toggle[disabled]{opacity:.4}:host input[type=checkbox].p-toggle:hover:not(:disabled):not([disabled]):not(.disabled){cursor:pointer}:host input[type=checkbox].p-toggle:hover:not(:disabled):not([disabled]):not(.disabled):not(:checked):not([checked]):not(.checked){--tw-border-opacity:1;border-color:rgb(82 138 250/var(--tw-border-opacity))}:host input[type=checkbox].p-toggle.error,:host input[type=checkbox].p-toggle[error]{--tw-text-opacity:1;--tw-border-opacity:1!important;border-color:rgb(185 30 40/var(--tw-border-opacity))!important;color:rgb(138 15 29/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error::-moz-placeholder,:host input[type=checkbox].p-toggle[error]::-moz-placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error::placeholder,:host input[type=checkbox].p-toggle[error]::placeholder{--tw-text-opacity:1;color:rgb(255 204 211/var(--tw-text-opacity))}:host input[type=checkbox].p-toggle.error.checked,:host input[type=checkbox].p-toggle.error:checked,:host input[type=checkbox].p-toggle.error[checked],:host input[type=checkbox].p-toggle[error].checked,:host input[type=checkbox].p-toggle[error]:checked,:host input[type=checkbox].p-toggle[error][checked]{--tw-bg-opacity:1;background-color:rgb(185 30 40/var(--tw-bg-opacity))}:host .text-container{display:block;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;width:100%}:host(.hover:hover){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity));color:rgb(81 83 107/var(--tw-text-opacity))}:host(.active){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(241 246 255/var(--tw-bg-opacity));color:rgb(82 138 250/var(--tw-text-opacity))}.static{position:static!important}.flex-shrink-0{flex-shrink:0!important}";const g=class{constructor(e){t(this,e);this.active=false;this.variant="default";this.enableHover=true;this.icon=undefined}render(){return o(r,{class:`p-dropdown-menu-item ${this.active&&"active"} ${this.enableHover&&"hover"}`},this.icon&&o("p-icon",{variant:this.icon}),this.variant==="checkbox"&&o("input",{type:"checkbox",class:"p-input size-small flex-shrink-0",checked:this.active}),o("div",{class:"text-container"},o("slot",null)))}};g.style=b;export{d as p_dropdown,g as p_dropdown_menu_item};
|
|
2
|
-
//# sourceMappingURL=p-a5d34188.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["dropdownComponentCss","Dropdown","this","_loaded","componentShouldUpdate","_update","disconnectedCallback","_cleanup","render","h","Host","class","ref","_trigger","onClick","_triggerClickHandler","onSlotchange","ev","_checkButton","name","role","maxWidth","calculateWidth","applyMaxWidth","fullWidth","applyFullWidth","el","_load","placement","strategy","_containerClickHandler","scrollable","target","applyChevron","slot","children","assignedElements","child","nodeName","chevronPosition","chevron","chevronDirection","indexOf","onShowChange","show","_hide","_show","documentClickHandler","_menu","hasAttribute","childOf","_el","insideClick","disableTriggerClick","popover","setTimeout","style","width","clientWidth","autoUpdate","setAttribute","isOpen","emit","removeAttribute","computePosition","middleware","offset","flip","shift","then","x","y","dataset","Object","assign","top","left","dropdownMenuItemComponentCss","DropdownMenuItem","active","enableHover","icon","variant","type","checked"],"sources":["src/components/molecules/dropdown/dropdown.component.scss?tag=p-dropdown&encapsulation=shadow","src/components/molecules/dropdown/dropdown.component.tsx","src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.scss?tag=p-dropdown-menu-item&encapsulation=shadow","src/components/atoms/dropdown-menu-item/dropdown-menu-item.component.tsx"],"sourcesContent":[":host {\n\t@apply relative block;\n\n\t.trigger {\n\t\t@apply relative block h-auto w-auto;\n\t}\n\n\tp-dropdown-menu-container {\n\t\t@apply left-0 top-0 z-dropdown hidden;\n\n\t\t&[data-show] {\n\t\t\t@apply flex;\n\t\t}\n\n\t\t&[data-strategy='absolute'] {\n\t\t\t@apply absolute;\n\t\t}\n\n\t\t&[data-strategy='fixed'] {\n\t\t\t@apply fixed;\n\t\t}\n\t}\n}\n","import {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\toffset,\n\tPlacement,\n\tshift,\n\tStrategy,\n} from '@floating-ui/dom';\nimport {\n\tComponent,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tProp,\n\tWatch,\n} from '@stencil/core';\nimport { childOf } from '../../../utils/child-of';\n\n@Component({\n\ttag: 'p-dropdown',\n\tstyleUrl: 'dropdown.component.scss',\n\tshadow: true,\n})\nexport class Dropdown {\n\t/**\n\t * The content of the dropdown menu\n\t */\n\t@Prop({ reflect: true }) placement: Placement = 'bottom-start';\n\n\t/**\n\t * The offset of the dropdown menu\n\t */\n\t@Prop() offset: number = 8;\n\n\t/**\n\t * The strategy of the dropdown placement\n\t */\n\t@Prop() strategy: Strategy = 'absolute';\n\n\t/**\n\t * Wether to show the dropdown menu\n\t */\n\t@Prop() show: boolean = false;\n\n\t/**\n\t * Wether to automatically calculate the width of the menu based on the trigger\n\t */\n\t@Prop() calculateWidth: boolean = false;\n\n\t/**\n\t * Wether to apply the max width\n\t */\n\t@Prop() applyMaxWidth: boolean = true;\n\n\t/**\n\t * Wether to apply the full width\n\t */\n\t@Prop() applyFullWidth: boolean = true;\n\n\t/**\n\t * Wether the dropdown container should be scrollable when the threshold is met.\n\t */\n\t@Prop() scrollable: boolean | 'default' | 'large' = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() insideClick: boolean = false;\n\n\t/**\n\t * Wether to automatically close the dropdown menu after clicking inside\n\t */\n\t@Prop() disableTriggerClick: boolean = false;\n\n\t/**\n\t * Wether to apply chevron automatically\n\t */\n\t@Prop() applyChevron: boolean = true;\n\n\t/**\n\t * Chevron position\n\t */\n\t@Prop() chevronPosition: 'start' | 'end' = 'end';\n\n\t/**\n\t * Chevron direction\n\t */\n\t@Prop() chevronDirection: 'up' | 'down';\n\n\t/**\n\t * The host element\n\t */\n\t@Element() private _el: HTMLElement;\n\n\t/**\n\t * Open change event\n\t */\n\t@Event({\n\t\tbubbles: false,\n\t})\n\tisOpen: EventEmitter<boolean>;\n\n\tprivate _loaded = false;\n\tprivate _trigger: HTMLElement;\n\tprivate _menu: HTMLElement;\n\tprivate _cleanup: () => void;\n\n\tcomponentShouldUpdate() {\n\t\tthis._update();\n\t}\n\n\tdisconnectedCallback() {\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Host class=\"p-dropdown\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"trigger\"\n\t\t\t\t\tref={(ref) => (this._trigger = ref)}\n\t\t\t\t\tonClick={() => this._triggerClickHandler()}\n\t\t\t\t>\n\t\t\t\t\t<slot\n\t\t\t\t\t\tonSlotchange={(ev) => this._checkButton(ev)}\n\t\t\t\t\t\tname=\"trigger\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<p-dropdown-menu-container\n\t\t\t\t\trole=\"popover\"\n\t\t\t\t\tmaxWidth={!this.calculateWidth && this.applyMaxWidth}\n\t\t\t\t\tfullWidth={this.applyFullWidth && !this.applyMaxWidth}\n\t\t\t\t\tref={(el) => this._load(el)}\n\t\t\t\t\tdata-placement={this.placement}\n\t\t\t\t\tdata-strategy={this.strategy}\n\t\t\t\t\tonClick={() => this._containerClickHandler()}\n\t\t\t\t\tscrollable={this.scrollable}\n\t\t\t\t>\n\t\t\t\t\t<slot name=\"items\" />\n\t\t\t\t</p-dropdown-menu-container>\n\t\t\t</Host>\n\t\t);\n\t}\n\n\tprivate _checkButton({ target }: Event) {\n\t\tif (!this.applyChevron) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst slot = target as HTMLSlotElement;\n\t\tconst children = slot.assignedElements();\n\n\t\tfor (let child of children) {\n\t\t\tif (child.nodeName === 'P-BUTTON') {\n\t\t\t\t(child as any).chevronPosition = this.chevronPosition;\n\t\t\t\t(child as any).chevron = this.chevronDirection\n\t\t\t\t\t? this.chevronDirection\n\t\t\t\t\t: this.placement.indexOf('top') >= 0\n\t\t\t\t\t\t? 'up'\n\t\t\t\t\t\t: 'down';\n\t\t\t}\n\t\t}\n\t}\n\n\t@Watch('show')\n\tprotected onShowChange(show) {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!show) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\t@Listen('click', { target: 'document', capture: true })\n\tprotected documentClickHandler({ target }) {\n\t\tif (\n\t\t\t!this._menu.hasAttribute('data-show') ||\n\t\t\tchildOf(target, this._el)\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._hide();\n\t}\n\n\tprivate _containerClickHandler() {\n\t\tif (this.insideClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t}\n\t}\n\n\tprivate _triggerClickHandler() {\n\t\tif (this.disableTriggerClick) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._menu.hasAttribute('data-show')) {\n\t\t\tthis._hide();\n\t\t\treturn;\n\t\t}\n\n\t\tthis._show();\n\t}\n\n\tprivate _load(popover: HTMLElement) {\n\t\tthis._menu = popover;\n\t\tif (popover) {\n\t\t\tthis._update();\n\t\t\tthis._loaded = true;\n\n\t\t\tif (this.show) {\n\t\t\t\tsetTimeout(() => this._show(), 100);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _show() {\n\t\tif (!this._loaded) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make the popover visible\n\t\tif (this.calculateWidth) {\n\t\t\tthis._menu.style.width = `${this._trigger.clientWidth}px`;\n\t\t}\n\n\t\tthis._cleanup = autoUpdate(this._el, this._menu, () => this._update());\n\n\t\tthis._menu.setAttribute('data-show', '');\n\t\tthis.isOpen.emit(true);\n\t}\n\n\tprivate _hide() {\n\t\tif (!this._loaded || this.show) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._cleanup) {\n\t\t\tthis._cleanup();\n\t\t\tthis._cleanup = null;\n\t\t}\n\n\t\t// Hide the popover\n\t\tthis._menu.removeAttribute('data-show');\n\t\tthis.isOpen.emit(false);\n\t}\n\n\tprivate _update() {\n\t\tif (!this._menu) {\n\t\t\treturn;\n\t\t}\n\n\t\tcomputePosition(this._el, this._menu, {\n\t\t\tplacement: this.placement,\n\t\t\tstrategy: this.strategy,\n\t\t\tmiddleware: [offset(this.offset), flip(), shift()],\n\t\t}).then(({ x, y, placement }) => {\n\t\t\tthis._menu.dataset.placement = placement;\n\t\t\tObject.assign(this._menu.style, {\n\t\t\t\ttop: `${y}px`,\n\t\t\t\tleft: `${x}px`,\n\t\t\t});\n\t\t});\n\t}\n}\n",":host {\n\t@import '../../../style/form/checkbox';\n\n\t@apply flex h-8 w-full items-center gap-2 rounded px-2;\n\t@apply text-sm font-semibold text-storm;\n\t@apply cursor-pointer;\n\n\t.text-container {\n\t\t@apply block w-full overflow-hidden text-ellipsis whitespace-nowrap text-start;\n\t}\n}\n\n:host(.hover:hover) {\n\t@apply bg-indigo-light text-storm;\n}\n\n:host(.active) {\n\t@apply bg-indigo-light text-indigo;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { IconVariant } from '../icon/icon.component';\n\n@Component({\n\ttag: 'p-dropdown-menu-item',\n\tstyleUrl: 'dropdown-menu-item.component.scss',\n\tshadow: true,\n})\nexport class DropdownMenuItem {\n\t/**\n\t * Wether the dropdown menu item is active\n\t */\n\t@Prop() active: boolean = false;\n\n\t/**\n\t * The variant of the item\n\t */\n\t@Prop() variant: 'default' | 'checkbox' = 'default';\n\n\t/**\n\t * Wether to enable the hover state\n\t */\n\t@Prop() enableHover: boolean = true;\n\n\t/**\n\t * Icon of the navigation item\n\t */\n\t@Prop() icon: IconVariant;\n\n\trender() {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tclass={`p-dropdown-menu-item ${this.active && 'active'} ${\n\t\t\t\t\tthis.enableHover && 'hover'\n\t\t\t\t}`}\n\t\t\t>\n\t\t\t\t{this.icon && <p-icon variant={this.icon} />}\n\n\t\t\t\t{this.variant === 'checkbox' && (\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\tclass=\"p-input size-small flex-shrink-0\"\n\t\t\t\t\t\tchecked={this.active}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<div class=\"text-container\">\n\t\t\t\t\t<slot />\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t);\n\t}\n}\n"],"mappings":"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"}
|