@digital-realty/ix-grid 1.0.49-alpha.1 → 1.0.49-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/IxGrid.d.ts +74 -74
  2. package/dist/IxGrid.js +280 -280
  3. package/dist/IxGridNav.d.ts +2 -0
  4. package/dist/IxGridNav.js +9 -0
  5. package/dist/IxGridNav.js.map +1 -0
  6. package/dist/components/IxGridColumnFilter.d.ts +29 -29
  7. package/dist/components/IxGridColumnFilter.js +158 -158
  8. package/dist/components/IxGridDownloadMenu.d.ts +15 -15
  9. package/dist/components/IxGridDownloadMenu.js +51 -51
  10. package/dist/components/IxGridNav.d.ts +15 -15
  11. package/dist/components/IxGridNav.js +20 -20
  12. package/dist/components/IxGridNoRows.d.ts +10 -9
  13. package/dist/components/IxGridNoRows.js +49 -36
  14. package/dist/components/IxGridNoRows.js.map +1 -1
  15. package/dist/components/IxGridRowFilter.d.ts +41 -41
  16. package/dist/components/IxGridRowFilter.js +201 -201
  17. package/dist/components/IxPagination.d.ts +13 -13
  18. package/dist/components/IxPagination.js +59 -59
  19. package/dist/components/grid-column-filter-styles.d.ts +1 -1
  20. package/dist/components/grid-column-filter-styles.js +2 -2
  21. package/dist/components/grid-download-menu-styles.d.ts +1 -1
  22. package/dist/components/grid-download-menu-styles.js +2 -2
  23. package/dist/components/grid-row-filter-styles.d.ts +1 -1
  24. package/dist/components/grid-row-filter-styles.js +3 -3
  25. package/dist/components/grid-row-filter-styles.js.map +1 -1
  26. package/dist/components/ix-grid-nav.d.ts +1 -1
  27. package/dist/components/ix-grid-nav.js +2 -2
  28. package/dist/components/ix-grid-no-rows.d.ts +1 -1
  29. package/dist/components/ix-grid-no-rows.js +2 -2
  30. package/dist/components/pagination-styles.d.ts +1 -1
  31. package/dist/components/pagination-styles.js +2 -2
  32. package/dist/grid-view-styles.d.ts +1 -1
  33. package/dist/grid-view-styles.js +2 -2
  34. package/dist/index.d.ts +3 -3
  35. package/dist/index.js +3 -3
  36. package/dist/ix-grid-copy.d.ts +10 -10
  37. package/dist/ix-grid-copy.js +10 -10
  38. package/dist/ix-grid-nav.d.ts +1 -0
  39. package/dist/ix-grid-nav.js +3 -0
  40. package/dist/ix-grid-nav.js.map +1 -0
  41. package/dist/ix-grid-no-rows.d.ts +1 -0
  42. package/dist/ix-grid-no-rows.js +3 -0
  43. package/dist/ix-grid-no-rows.js.map +1 -0
  44. package/dist/ix-grid.d.ts +1 -1
  45. package/dist/ix-grid.js +2 -2
  46. package/dist/ix-grid.min.js +1 -1
  47. package/dist/models/IxGridDownloadMenuItemModel.d.ts +7 -7
  48. package/dist/models/IxGridDownloadMenuItemModel.js +1 -1
  49. package/dist/react/IxGridNav.d.ts +2 -2
  50. package/dist/react/IxGridNav.js +8 -8
  51. package/dist/test/ix-grid-column-filter.test.d.ts +1 -1
  52. package/dist/test/ix-grid-column-filter.test.js +35 -35
  53. package/dist/test/ix-grid-row-filter.test.d.ts +1 -1
  54. package/dist/test/ix-grid-row-filter.test.js +36 -36
  55. package/dist/test/ix-grid.test.d.ts +2 -2
  56. package/dist/test/ix-grid.test.js +49 -49
  57. package/dist/test/ix-grid.test.js.map +1 -1
  58. package/dist/test/ix-pagination.test.d.ts +1 -1
  59. package/dist/test/ix-pagination.test.js +21 -21
  60. package/package.json +11 -11
  61. package/src/{react/IxGridNav.ts → IxGridNav.ts} +1 -1
  62. package/src/components/IxGridNoRows.ts +22 -11
  63. package/src/components/grid-row-filter-styles.ts +1 -1
  64. package/src/{components/ix-grid-nav.ts → ix-grid-nav.ts} +1 -1
  65. package/src/ix-grid-no-rows.ts +3 -0
  66. package/src/test/ix-grid.test.ts +1 -1
@@ -1,13 +1,13 @@
1
- import { LitElement } from 'lit';
2
- import '@digital-realty/ix-icon-button/ix-icon-button.js';
3
- import '@digital-realty/ix-select/ix-select.js';
4
- export declare class IxPagination extends LitElement {
5
- static readonly styles: import("lit").CSSResult[];
6
- recordCount: number;
7
- page: number;
8
- pageSize: number;
9
- pageSizes: number[];
10
- private changePage;
11
- updatePagination(page?: number, pageSize?: number): void;
12
- render(): import("lit").TemplateResult<1>;
13
- }
1
+ import { LitElement } from 'lit';
2
+ import '@digital-realty/ix-icon-button/ix-icon-button.js';
3
+ import '@digital-realty/ix-select/ix-select.js';
4
+ export declare class IxPagination extends LitElement {
5
+ static readonly styles: import("lit").CSSResult[];
6
+ recordCount: number;
7
+ page: number;
8
+ pageSize: number;
9
+ pageSizes: number[];
10
+ private changePage;
11
+ updatePagination(page?: number, pageSize?: number): void;
12
+ render(): import("lit").TemplateResult<1>;
13
+ }
@@ -1,46 +1,46 @@
1
- import { __decorate } from "tslib";
2
- import { LitElement, html } from 'lit';
3
- import { customElement, property } from 'lit/decorators.js';
4
- import '@digital-realty/ix-icon-button/ix-icon-button.js';
5
- import '@digital-realty/ix-select/ix-select.js';
6
- import { IxGridViewStyles } from '../grid-view-styles.js';
7
- import { PaginationStyles } from './pagination-styles.js';
8
- import { copy } from '../ix-grid-copy.js';
9
- let IxPagination = class IxPagination extends LitElement {
10
- constructor() {
11
- super(...arguments);
12
- this.recordCount = 0;
13
- this.page = 1;
14
- this.pageSize = 10;
15
- this.pageSizes = [5, 10, 25, 100];
16
- }
17
- changePage(offset) {
18
- this.page += offset;
19
- this.updatePagination();
20
- }
21
- updatePagination(page = this.page, pageSize = this.pageSize) {
22
- this.dispatchEvent(new CustomEvent('updatePagination', {
23
- detail: {
24
- page,
25
- pageSize,
26
- },
27
- bubbles: true,
28
- composed: true,
29
- }));
30
- }
31
- render() {
32
- const back = this.page > 1;
33
- const next = this.recordCount > this.page * this.pageSize;
1
+ import { __decorate } from "tslib";
2
+ import { LitElement, html } from 'lit';
3
+ import { customElement, property } from 'lit/decorators.js';
4
+ import '@digital-realty/ix-icon-button/ix-icon-button.js';
5
+ import '@digital-realty/ix-select/ix-select.js';
6
+ import { IxGridViewStyles } from '../grid-view-styles.js';
7
+ import { PaginationStyles } from './pagination-styles.js';
8
+ import { copy } from '../ix-grid-copy.js';
9
+ let IxPagination = class IxPagination extends LitElement {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.recordCount = 0;
13
+ this.page = 1;
14
+ this.pageSize = 10;
15
+ this.pageSizes = [5, 10, 25, 100];
16
+ }
17
+ changePage(offset) {
18
+ this.page += offset;
19
+ this.updatePagination();
20
+ }
21
+ updatePagination(page = this.page, pageSize = this.pageSize) {
22
+ this.dispatchEvent(new CustomEvent('updatePagination', {
23
+ detail: {
24
+ page,
25
+ pageSize,
26
+ },
27
+ bubbles: true,
28
+ composed: true,
29
+ }));
30
+ }
31
+ render() {
32
+ const back = this.page > 1;
33
+ const next = this.recordCount > this.page * this.pageSize;
34
34
  return html ` <div class="pagination">
35
35
  <p class="rows-per-page">${copy.rowsPerPage}:</p>
36
36
  <ix-select
37
37
  wide-menu
38
38
  menu-positioning="fixed"
39
39
  class="pagination__select-input"
40
- @request-selection=${(e) => {
41
- const el = e.target;
42
- this.pageSize = Number(el.value);
43
- this.updatePagination();
40
+ @request-selection=${(e) => {
41
+ const el = e.target;
42
+ this.pageSize = Number(el.value);
43
+ this.updatePagination();
44
44
  }}
45
45
  selected-index=${this.pageSizes.indexOf(this.pageSize)}
46
46
  filled
@@ -53,8 +53,8 @@ let IxPagination = class IxPagination extends LitElement {
53
53
  </ix-select>
54
54
  <p>
55
55
  ${(this.page - 1) * this.pageSize + 1} -
56
- ${this.page * this.pageSize > this.recordCount
57
- ? html `${this.recordCount}`
56
+ ${this.page * this.pageSize > this.recordCount
57
+ ? html `${this.recordCount}`
58
58
  : html `${this.page * this.pageSize}`}
59
59
  of ${this.recordCount}
60
60
  </p>
@@ -72,24 +72,24 @@ let IxPagination = class IxPagination extends LitElement {
72
72
  >
73
73
  </ix-icon-button>
74
74
  </div>
75
- </div>`;
76
- }
77
- };
78
- IxPagination.styles = [IxGridViewStyles, PaginationStyles];
79
- __decorate([
80
- property({ type: Number })
81
- ], IxPagination.prototype, "recordCount", void 0);
82
- __decorate([
83
- property({ type: Number })
84
- ], IxPagination.prototype, "page", void 0);
85
- __decorate([
86
- property({ type: Number })
87
- ], IxPagination.prototype, "pageSize", void 0);
88
- __decorate([
89
- property({ type: Array })
90
- ], IxPagination.prototype, "pageSizes", void 0);
91
- IxPagination = __decorate([
92
- customElement('ix-pagination')
93
- ], IxPagination);
94
- export { IxPagination };
75
+ </div>`;
76
+ }
77
+ };
78
+ IxPagination.styles = [IxGridViewStyles, PaginationStyles];
79
+ __decorate([
80
+ property({ type: Number })
81
+ ], IxPagination.prototype, "recordCount", void 0);
82
+ __decorate([
83
+ property({ type: Number })
84
+ ], IxPagination.prototype, "page", void 0);
85
+ __decorate([
86
+ property({ type: Number })
87
+ ], IxPagination.prototype, "pageSize", void 0);
88
+ __decorate([
89
+ property({ type: Array })
90
+ ], IxPagination.prototype, "pageSizes", void 0);
91
+ IxPagination = __decorate([
92
+ customElement('ix-pagination')
93
+ ], IxPagination);
94
+ export { IxPagination };
95
95
  //# sourceMappingURL=IxPagination.js.map
@@ -1 +1 @@
1
- export declare const IxGridColumnFilterStyles: import("lit").CSSResult;
1
+ export declare const IxGridColumnFilterStyles: import("lit").CSSResult;
@@ -1,4 +1,4 @@
1
- import { css } from 'lit';
1
+ import { css } from 'lit';
2
2
  export const IxGridColumnFilterStyles = css `
3
3
  .dropdown-content {
4
4
  position: absolute;
@@ -97,5 +97,5 @@ export const IxGridColumnFilterStyles = css `
97
97
  .list {
98
98
  position: relative;
99
99
  }
100
- `;
100
+ `;
101
101
  //# sourceMappingURL=grid-column-filter-styles.js.map
@@ -1 +1 @@
1
- export declare const IxGridDownloadMenuStyles: import("lit").CSSResult;
1
+ export declare const IxGridDownloadMenuStyles: import("lit").CSSResult;
@@ -1,7 +1,7 @@
1
- import { css } from 'lit';
1
+ import { css } from 'lit';
2
2
  export const IxGridDownloadMenuStyles = css `
3
3
  ix-menu {
4
4
  --md-menu-container-color: #fff;
5
5
  }
6
- `;
6
+ `;
7
7
  //# sourceMappingURL=grid-download-menu-styles.js.map
@@ -1 +1 @@
1
- export declare const IxGridRowFilterStyles: import("lit").CSSResult;
1
+ export declare const IxGridRowFilterStyles: import("lit").CSSResult;
@@ -1,4 +1,4 @@
1
- import { css } from 'lit';
1
+ import { css } from 'lit';
2
2
  export const IxGridRowFilterStyles = css `
3
3
  .slot-wrap {
4
4
  display: flex;
@@ -256,7 +256,7 @@ export const IxGridRowFilterStyles = css `
256
256
  position: absolute;
257
257
  top: 6px;
258
258
  left: 14px;
259
- z-index: 98;
259
+ z-index: 1;
260
260
  display: flex;
261
261
  align-items: center;
262
262
  justify-content: center;
@@ -438,5 +438,5 @@ export const IxGridRowFilterStyles = css `
438
438
  align-items: center;
439
439
  display: flex;
440
440
  }
441
- `;
441
+ `;
442
442
  //# sourceMappingURL=grid-row-filter-styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-row-filter-styles.js","sourceRoot":"","sources":["../../src/components/grid-row-filter-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAubvC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxGridRowFilterStyles = css`\n .slot-wrap {\n display: flex;\n }\n\n .slot-wrap ix-icon {\n --ix-icon-font-size: 24px;\n color: rgb(20, 86, 224);\n margin-right: 5px;\n }\n\n .grid-menu ix-button .filter {\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n margin-top: 2px;\n }\n\n .filter-form {\n white-space: nowrap;\n padding: 9px;\n font-family: 'Open Sans', sans-serif;\n color: #5d6d82;\n }\n\n .filter-form-column {\n display: inline-block;\n vertical-align: middle;\n }\n\n .filter-remove span {\n margin-right: 0px;\n color: #5d6d82;\n }\n\n .filter-dropdown-content {\n position: absolute;\n display: inline;\n right: 0;\n top: 78%;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 3;\n transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n border-radius: 12px;\n box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px,\n rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;\n background-color: #ffffff;\n }\n\n .filter-form input,\n .filter-form select,\n .filter-form option {\n border-radius: 0px;\n cursor: pointer;\n letter-spacing: 1.44px;\n line-height: 1.4375em;\n box-sizing: content-box;\n background: none;\n height: 1.4375em;\n margin: 0px;\n animation-name: mui-auto-fill-cancel;\n animation-duration: 10ms;\n border: none;\n border-image: initial;\n font-size: 16px;\n box-sizing: border-box;\n cursor: text;\n user-select: none;\n color: currentcolor;\n -webkit-tap-highlight-color: transparent;\n display: block;\n min-width: 0px;\n width: 100%;\n font-family: 'Open Sans', sans-serif;\n height: 25px;\n border-bottom: 1px solid black;\n }\n\n .filter-form option {\n -webkit-tap-highlight-color: #9ca6b2;\n }\n\n .filter-form input:hover,\n .filter-form select:hover {\n outline: none !important;\n border-bottom: 2px solid black;\n }\n\n .filter-form input:focus,\n .filter-form select:focus {\n outline: none !important;\n border-bottom: 2px solid #1456e0;\n }\n\n .filter-form select:focus {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n align-items: baseline;\n height: 54px;\n justify-content: flex-end;\n font-family: 'Open Sans', sans-serif;\n }\n\n .form-group label {\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.4375em;\n letter-spacing: 0.44px;\n padding: 0px;\n color: #092241;\n display: block;\n transform-origin: left top;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 133%;\n transform: translate(0px, -1.5px) scale(0.75);\n transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;\n }\n\n .filter-form-group label span {\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.4375em;\n letter-spacing: 0.44px;\n padding: 0px;\n color: #092241;\n display: block;\n transform-origin: left top;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 133%;\n transform: translate(0px, -1.5px) scale(0.75);\n transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;\n }\n\n .filter-form-group label:focus-within span {\n color: #1456e0;\n }\n\n .filter-form-group {\n display: flex;\n flex-direction: column;\n align-items: baseline;\n height: 54px;\n justify-content: flex-end;\n font-family: 'Open Sans', sans-serif;\n }\n\n option {\n font-weight: normal;\n display: block;\n min-height: 1.2em;\n padding: 0px 2px 1px;\n white-space: nowrap;\n }\n\n .add-filter-button .add {\n margin-right: 0px;\n margin-left: -6px;\n }\n\n .filter-footer {\n margin-top: auto;\n display: flex;\n align-items: left;\n padding: 0px;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n width: 100%;\n }\n\n .filter-footer button {\n align-items: center !important;\n margin-left: 0px;\n }\n\n .filter-footer .add {\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n }\n\n .filter-footer .clear {\n margin-left: auto !important;\n }\n\n .form-group .close {\n user-select: none;\n width: 1em;\n height: 1em;\n display: inline-block;\n fill: currentcolor;\n flex-shrink: 0;\n transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n font-size: 1.25rem;\n font-weight: lighter;\n }\n\n .no-display {\n display: none;\n }\n\n .filter-local-operator-empty {\n width: 54px;\n border: none;\n }\n\n .grid-menu span.filter-superscript {\n position: absolute;\n top: 6px;\n left: 14px;\n z-index: 98;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n padding: 0;\n height: 16px;\n width: 16px;\n border-radius: 50%;\n background-color: #1456e0;\n color: #ffffff;\n }\n\n .filterlist {\n width: 40px;\n }\n\n .filterColumnField {\n width: 150px;\n }\n\n .filterValueField {\n width: 190px;\n }\n\n .filterOperatorField {\n width: 120px;\n }\n\n .add-filter-button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n select:hover {\n cursor: pointer;\n }\n\n input:hover {\n cursor: text;\n }\n\n .tooltip-container {\n position: relative;\n display: inline-block;\n }\n\n .tool-tip {\n color: #ffffff;\n overflow-wrap: break-word;\n border-radius: 3px;\n background-color: #071454;\n padding: 5px 8px;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n position: absolute;\n top: 42px;\n right: 0;\n z-index: 3;\n white-space: nowrap;\n display: none;\n }\n\n .filter-button:hover ~ .tool-tip {\n display: block;\n }\n\n .tool-tip li {\n margin-left: -21px;\n color: #ffffff;\n overflow-wrap: break-word;\n border-radius: 3px;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n max-width: 250px;\n min-width: 200px;\n white-space: wrap;\n }\n\n .tool-tip p {\n margin: 0;\n padding: 0;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n }\n\n .add-filter-button {\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n color: #ffffff;\n min-width: 64px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n border-radius: 100px;\n background-color: unset;\n }\n\n .add-filter-button:disabled,\n .clear:disabled {\n opacity: 0.25;\n cursor: not-allowed;\n }\n\n button {\n -webkit-box-align: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n color: #ffffff;\n min-width: 64px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n border-radius: 100px;\n background-color: unset;\n }\n\n ix-button.filter-button {\n padding-inline: 0;\n }\n\n .grid-menu ix-button {\n align-items: center;\n display: flex;\n }\n`;\n"]}
1
+ {"version":3,"file":"grid-row-filter-styles.js","sourceRoot":"","sources":["../../src/components/grid-row-filter-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAubvC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const IxGridRowFilterStyles = css`\n .slot-wrap {\n display: flex;\n }\n\n .slot-wrap ix-icon {\n --ix-icon-font-size: 24px;\n color: rgb(20, 86, 224);\n margin-right: 5px;\n }\n\n .grid-menu ix-button .filter {\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n margin-top: 2px;\n }\n\n .filter-form {\n white-space: nowrap;\n padding: 9px;\n font-family: 'Open Sans', sans-serif;\n color: #5d6d82;\n }\n\n .filter-form-column {\n display: inline-block;\n vertical-align: middle;\n }\n\n .filter-remove span {\n margin-right: 0px;\n color: #5d6d82;\n }\n\n .filter-dropdown-content {\n position: absolute;\n display: inline;\n right: 0;\n top: 78%;\n box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);\n z-index: 3;\n transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n border-radius: 12px;\n box-shadow: rgba(0, 0, 0, 0.2) 0px 5px 5px -3px,\n rgba(0, 0, 0, 0.14) 0px 8px 10px 1px, rgba(0, 0, 0, 0.12) 0px 3px 14px 2px;\n background-color: #ffffff;\n }\n\n .filter-form input,\n .filter-form select,\n .filter-form option {\n border-radius: 0px;\n cursor: pointer;\n letter-spacing: 1.44px;\n line-height: 1.4375em;\n box-sizing: content-box;\n background: none;\n height: 1.4375em;\n margin: 0px;\n animation-name: mui-auto-fill-cancel;\n animation-duration: 10ms;\n border: none;\n border-image: initial;\n font-size: 16px;\n box-sizing: border-box;\n cursor: text;\n user-select: none;\n color: currentcolor;\n -webkit-tap-highlight-color: transparent;\n display: block;\n min-width: 0px;\n width: 100%;\n font-family: 'Open Sans', sans-serif;\n height: 25px;\n border-bottom: 1px solid black;\n }\n\n .filter-form option {\n -webkit-tap-highlight-color: #9ca6b2;\n }\n\n .filter-form input:hover,\n .filter-form select:hover {\n outline: none !important;\n border-bottom: 2px solid black;\n }\n\n .filter-form input:focus,\n .filter-form select:focus {\n outline: none !important;\n border-bottom: 2px solid #1456e0;\n }\n\n .filter-form select:focus {\n background-color: rgba(0, 0, 0, 0.05);\n }\n\n .form-group {\n display: flex;\n flex-direction: column;\n align-items: baseline;\n height: 54px;\n justify-content: flex-end;\n font-family: 'Open Sans', sans-serif;\n }\n\n .form-group label {\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.4375em;\n letter-spacing: 0.44px;\n padding: 0px;\n color: #092241;\n display: block;\n transform-origin: left top;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 133%;\n transform: translate(0px, -1.5px) scale(0.75);\n transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;\n }\n\n .filter-form-group label span {\n font-family: 'Open Sans', sans-serif;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 1.4375em;\n letter-spacing: 0.44px;\n padding: 0px;\n color: #092241;\n display: block;\n transform-origin: left top;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 133%;\n transform: translate(0px, -1.5px) scale(0.75);\n transition: color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms,\n max-width 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;\n }\n\n .filter-form-group label:focus-within span {\n color: #1456e0;\n }\n\n .filter-form-group {\n display: flex;\n flex-direction: column;\n align-items: baseline;\n height: 54px;\n justify-content: flex-end;\n font-family: 'Open Sans', sans-serif;\n }\n\n option {\n font-weight: normal;\n display: block;\n min-height: 1.2em;\n padding: 0px 2px 1px;\n white-space: nowrap;\n }\n\n .add-filter-button .add {\n margin-right: 0px;\n margin-left: -6px;\n }\n\n .filter-footer {\n margin-top: auto;\n display: flex;\n align-items: left;\n padding: 0px;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n width: 100%;\n }\n\n .filter-footer button {\n align-items: center !important;\n margin-left: 0px;\n }\n\n .filter-footer .add {\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n }\n\n .filter-footer .clear {\n margin-left: auto !important;\n }\n\n .form-group .close {\n user-select: none;\n width: 1em;\n height: 1em;\n display: inline-block;\n fill: currentcolor;\n flex-shrink: 0;\n transition: fill 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n font-size: 1.25rem;\n font-weight: lighter;\n }\n\n .no-display {\n display: none;\n }\n\n .filter-local-operator-empty {\n width: 54px;\n border: none;\n }\n\n .grid-menu span.filter-superscript {\n position: absolute;\n top: 6px;\n left: 14px;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 0.75rem;\n padding: 0;\n height: 16px;\n width: 16px;\n border-radius: 50%;\n background-color: #1456e0;\n color: #ffffff;\n }\n\n .filterlist {\n width: 40px;\n }\n\n .filterColumnField {\n width: 150px;\n }\n\n .filterValueField {\n width: 190px;\n }\n\n .filterOperatorField {\n width: 120px;\n }\n\n .add-filter-button.disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n select:hover {\n cursor: pointer;\n }\n\n input:hover {\n cursor: text;\n }\n\n .tooltip-container {\n position: relative;\n display: inline-block;\n }\n\n .tool-tip {\n color: #ffffff;\n overflow-wrap: break-word;\n border-radius: 3px;\n background-color: #071454;\n padding: 5px 8px;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n position: absolute;\n top: 42px;\n right: 0;\n z-index: 3;\n white-space: nowrap;\n display: none;\n }\n\n .filter-button:hover ~ .tool-tip {\n display: block;\n }\n\n .tool-tip li {\n margin-left: -21px;\n color: #ffffff;\n overflow-wrap: break-word;\n border-radius: 3px;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n max-width: 250px;\n min-width: 200px;\n white-space: wrap;\n }\n\n .tool-tip p {\n margin: 0;\n padding: 0;\n font-family: 'Open Sans', sans-serif;\n font-weight: 400;\n font-style: normal;\n font-size: 12px;\n line-height: 16px;\n letter-spacing: 0.4px;\n }\n\n .add-filter-button {\n display: inline-flex;\n -webkit-box-align: center;\n align-items: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n color: #ffffff;\n min-width: 64px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n border-radius: 100px;\n background-color: unset;\n }\n\n .add-filter-button:disabled,\n .clear:disabled {\n opacity: 0.25;\n cursor: not-allowed;\n }\n\n button {\n -webkit-box-align: center;\n -webkit-box-pack: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n -webkit-tap-highlight-color: transparent;\n outline: 0px;\n border: 0px;\n margin: 0px;\n cursor: pointer;\n user-select: none;\n vertical-align: middle;\n appearance: none;\n text-decoration: none;\n font-family: 'Red Hat Display', sans-serif;\n font-weight: 700;\n font-style: normal;\n font-size: 14px;\n line-height: 18.52px;\n letter-spacing: 1.25px;\n text-transform: uppercase;\n color: #ffffff;\n min-width: 64px;\n transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n border-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,\n color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n box-shadow: none;\n min-height: 36px;\n border-radius: 100px;\n background-color: unset;\n }\n\n ix-button.filter-button {\n padding-inline: 0;\n }\n\n .grid-menu ix-button {\n align-items: center;\n display: flex;\n }\n`;\n"]}
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,3 +1,3 @@
1
- import { IxGridNavigation } from './IxGridNav.js';
2
- window.customElements.define('ix-grid-nav', IxGridNavigation);
1
+ import { IxGridNavigation } from './IxGridNav.js';
2
+ window.customElements.define('ix-grid-nav', IxGridNavigation);
3
3
  //# sourceMappingURL=ix-grid-nav.js.map
@@ -1 +1 @@
1
- export {};
1
+ export {};
@@ -1,3 +1,3 @@
1
- import { IxGridNoRows } from './IxGridNoRows.js';
2
- window.customElements.define('ix-grid-no-rows', IxGridNoRows);
1
+ import { IxGridNoRows } from './IxGridNoRows.js';
2
+ window.customElements.define('ix-grid-no-rows', IxGridNoRows);
3
3
  //# sourceMappingURL=ix-grid-no-rows.js.map
@@ -1 +1 @@
1
- export declare const PaginationStyles: import("lit").CSSResult;
1
+ export declare const PaginationStyles: import("lit").CSSResult;
@@ -1,4 +1,4 @@
1
- import { css } from 'lit';
1
+ import { css } from 'lit';
2
2
  export const PaginationStyles = css `
3
3
  :host {
4
4
  --md-filled-select-text-field-input-text-size: var(
@@ -52,5 +52,5 @@ export const PaginationStyles = css `
52
52
  ix-select-option {
53
53
  --md-menu-item-selected-container-color: rgba(20, 86, 224, 0.1);
54
54
  }
55
- `;
55
+ `;
56
56
  //# sourceMappingURL=pagination-styles.js.map
@@ -1 +1 @@
1
- export declare const IxGridViewStyles: import("lit").CSSResult;
1
+ export declare const IxGridViewStyles: import("lit").CSSResult;
@@ -1,4 +1,4 @@
1
- import { css } from 'lit';
1
+ import { css } from 'lit';
2
2
  export const IxGridViewStyles = css `
3
3
  * {
4
4
  font-family: inherit;
@@ -169,5 +169,5 @@ export const IxGridViewStyles = css `
169
169
  letter-spacing: 0.15px;
170
170
  color: #092241;
171
171
  }
172
- `;
172
+ `;
173
173
  //# sourceMappingURL=grid-view-styles.js.map
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { IxGrid } from './IxGrid.js';
2
- export { IxGridNavigation } from './components/IxGridNav.js';
3
- export { IxGridNoRows } from './components/IxGridNoRows.js';
1
+ export { IxGrid } from './IxGrid.js';
2
+ export { IxGridNavigation } from './components/IxGridNav.js';
3
+ export { IxGridNoRows } from './components/IxGridNoRows.js';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { IxGrid } from './IxGrid.js';
2
- export { IxGridNavigation } from './components/IxGridNav.js';
3
- export { IxGridNoRows } from './components/IxGridNoRows.js';
1
+ export { IxGrid } from './IxGrid.js';
2
+ export { IxGridNavigation } from './components/IxGridNav.js';
3
+ export { IxGridNoRows } from './components/IxGridNoRows.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,10 +1,10 @@
1
- export declare const copy: {
2
- activeFilter: string;
3
- filters: string;
4
- hideFilters: string;
5
- showFilters: string;
6
- rowsPerPage: string;
7
- user: string;
8
- viewMore: string;
9
- viewLess: string;
10
- };
1
+ export declare const copy: {
2
+ activeFilter: string;
3
+ filters: string;
4
+ hideFilters: string;
5
+ showFilters: string;
6
+ rowsPerPage: string;
7
+ user: string;
8
+ viewMore: string;
9
+ viewLess: string;
10
+ };
@@ -1,11 +1,11 @@
1
- export const copy = {
2
- activeFilter: 'active filter',
3
- filters: 'Filters',
4
- hideFilters: 'Hide Filters',
5
- showFilters: 'Show Filters',
6
- rowsPerPage: 'Rows per page',
7
- user: 'user',
8
- viewMore: 'VIEW MORE',
9
- viewLess: 'VIEW LESS',
10
- };
1
+ export const copy = {
2
+ activeFilter: 'active filter',
3
+ filters: 'Filters',
4
+ hideFilters: 'Hide Filters',
5
+ showFilters: 'Show Filters',
6
+ rowsPerPage: 'Rows per page',
7
+ user: 'user',
8
+ viewMore: 'VIEW MORE',
9
+ viewLess: 'VIEW LESS',
10
+ };
11
11
  //# sourceMappingURL=ix-grid-copy.js.map
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IxGridNavigation } from './components/IxGridNav.js';
2
+ window.customElements.define('ix-grid-nav', IxGridNavigation);
3
+ //# sourceMappingURL=ix-grid-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ix-grid-nav.js","sourceRoot":"","sources":["../src/ix-grid-nav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC","sourcesContent":["import { IxGridNavigation } from './components/IxGridNav.js';\n\nwindow.customElements.define('ix-grid-nav', IxGridNavigation);\n"]}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { IxGridNoRows } from './components/IxGridNoRows.js';
2
+ window.customElements.define('ix-grid-no-rows', IxGridNoRows);
3
+ //# sourceMappingURL=ix-grid-no-rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ix-grid-no-rows.js","sourceRoot":"","sources":["../src/ix-grid-no-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC","sourcesContent":["import { IxGridNoRows } from './components/IxGridNoRows.js';\n\nwindow.customElements.define('ix-grid-no-rows', IxGridNoRows);\n"]}
package/dist/ix-grid.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ export {};
package/dist/ix-grid.js CHANGED
@@ -1,3 +1,3 @@
1
- import { IxGrid } from './IxGrid.js';
2
- window.customElements.define('ix-grid', IxGrid);
1
+ import { IxGrid } from './IxGrid.js';
2
+ window.customElements.define('ix-grid', IxGrid);
3
3
  //# sourceMappingURL=ix-grid.js.map
@@ -3,6 +3,6 @@ import{__decorate}from"tslib";import{css,LitElement,html,nothing}from"lit";impor
3
3
  12px
4
4
  )}.pagination{display:flex;align-items:center;justify-content:end;gap:0;font-size:12px;margin:1rem}.pagination-nav{display:flex;margin-left:2rem}.rows-per-page{color:var(--ix-text-dark-second,rgba(9,34,65,.6))}ix-icon-button{--md-icon-button-icon-color:black;--md-icon-button-hover-icon-color:black;--md-icon-button-pressed-icon-color:black;--md-icon-button-focus-icon-color:black;--ix-icon-line-height:1}ix-select{--md-menu-container-color:#fff;--md-filled-select-text-field-container-color:#fff;--md-filled-select-text-field-active-indicator-height:0px;--md-filled-select-text-field-hover-indicator-height:0px;--md-filled-field-hover-active-indicator-height:0px;--md-filled-field-focus-active-indicator-height:0px;--md-filled-field-bottom-space:4px;--md-filled-field-top-space:4px;--md-filled-select-text-field-focus-trailing-icon-color:rgb(20, 86, 224);--md-filled-select-text-field-focus-active-indicator-color:var(
5
5
  --md-filled-select-text-field-focus-trailing-icon-color
6
- )}ix-select-option{--md-menu-item-selected-container-color:rgba(20, 86, 224, 0.1)}`),copy={activeFilter:"active filter",filters:"Filters",hideFilters:"Hide Filters",showFilters:"Show Filters",rowsPerPage:"Rows per page",user:"user",viewMore:"VIEW MORE",viewLess:"VIEW LESS"},IxPagination=class extends LitElement{constructor(){super(...arguments),this.recordCount=0,this.page=1,this.pageSize=10,this.pageSizes=[5,10,25,100]}changePage(e){this.page+=e,this.updatePagination()}updatePagination(e=this.page,t=this.pageSize){this.dispatchEvent(new CustomEvent("updatePagination",{detail:{page:e,pageSize:t},bubbles:!0,composed:!0}))}render(){let e=1<this.page,t=this.recordCount>this.page*this.pageSize;return html`<div class="pagination"><p class="rows-per-page">${copy.rowsPerPage}:</p><ix-select wide-menu menu-positioning="fixed" class="pagination__select-input" @request-selection="${e=>{e=e.target;this.pageSize=Number(e.value),this.updatePagination()}}" selected-index="${this.pageSizes.indexOf(this.pageSize)}" filled>${this.pageSizes.map(e=>html`<ix-select-option class="select-option" value="${e}"><div slot="headline">${e}</div></ix-select-option>`)}</ix-select><p>${(this.page-1)*this.pageSize+1} - ${this.page*this.pageSize>this.recordCount?html`${this.recordCount}`:html`${this.page*this.pageSize}`} of ${this.recordCount}</p><div class="pagination-nav"><ix-icon-button ?disabled="${!e}" @click="${()=>e&&this.changePage(-1)}" icon="chevron_left"></ix-icon-button><ix-icon-button ?disabled="${!t}" @click="${()=>t&&this.changePage(1)}" icon="chevron_right"></ix-icon-button></div></div>`}},IxGridColumnFilterStyles=(IxPagination.styles=[IxGridViewStyles,PaginationStyles],__decorate([property({type:Number})],IxPagination.prototype,"recordCount",void 0),__decorate([property({type:Number})],IxPagination.prototype,"page",void 0),__decorate([property({type:Number})],IxPagination.prototype,"pageSize",void 0),__decorate([property({type:Array})],IxPagination.prototype,"pageSizes",void 0),IxPagination=__decorate([customElement("ix-pagination")],IxPagination),css`.dropdown-content{position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;-webkit-box-align:center;align-items:center;cursor:pointer;vertical-align:middle;-webkit-tap-highlight-color:transparent;padding:10px}.dropdown-content>div{margin:0;font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:24px;letter-spacing:.25px;color:#092241;display:block;cursor:pointer}.dropdown-content span:hover{background-color:#f1f1f1}.dropdown-content label{display:flex;align-items:center;background-color:#f9f9f9}.dropdown-content label.dragOrigin{background:#ff000017;outline:1px #ff9d9d dashed}.dropdown-content label p{flex:2}.dropdown-content label ix-icon.draggable{font-size:24px;color:var(--md-sys-color-primary,#1456e0);cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab;opacity:0}.dropdown-content label:hover ix-icon.draggable{opacity:1}.active{position:absolute;right:0;top:0;height:8px;width:8px;background-color:#db0028;border-radius:50%}ix-switch{padding:2px 4px;--md-switch-track-height:12px;--md-switch-track-width:35px;--md-sys-color-primary:rgba(20, 86, 224, 0.68);--md-sys-color-on-primary:#1456e0;--md-sys-color-primary-container:#1456e0;--md-switch-handle-height:19px;--md-switch-handle-width:18px;--md-sys-color-surface-container-highest:#9e9e9e;--md-sys-color-outline:#9e9e9e;--md-switch-pressed-handle-height:19px;--md-switch-pressed-handle-width:18px;--md-switch-handle-color:#fff;--md-sys-color-on-surface-variant:white;--selected-handle-height:19px;--selected-handle-width:18px;--_pressed-handle-height:19px;--_pressed-handle-width:18px;--md-switch-selected-handle-height:19px;--md-switch-selected-handle-width:18px;margin:11px 8px 1px 0}.list{position:relative}`),triggerKeys=[" ","Enter"],IxGridColumnFilter=class extends LitElement{constructor(){super(...arguments),this.columns=[],this.columnsLocalStorageKey=void 0,this.isDropdownVisible=!1,this.disabledColumns=[],this.dragEvent={sourceEl:null,startId:-1,targetId:-1},this.outerInteraction=e=>{e.composedPath().includes(this)||(this.isDropdownVisible=!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.outerInteraction),this.initializeLocalStorage()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.outerInteraction)}get preservedColumns(){let e=[];return e=this.columnsLocalStorageKey?JSON.parse(localStorage.getItem(this.columnsLocalStorageKey)||"[]"):e}initializeLocalStorage(){0<this.preservedColumns.length&&(this.disabledColumns=this.preservedColumns.filter(e=>e.hidden).map(e=>e.name),this.columns.forEach((e,t)=>{this.disabledColumns.includes(e.name)&&(this.columns[t].hidden=!0)})),this.dispatchUpdate()}toggleColumn(e){this.columns[e].hidden=!this.columns[e].hidden,this.disabledColumns=this.columns.filter(e=>e.hidden).map(e=>e.name),this.columnsLocalStorageKey&&localStorage.setItem(this.columnsLocalStorageKey,JSON.stringify([...this.columns])),this.dispatchUpdate()}updateColumn(e,t){e=null==(e=e.target.shadowRoot)?void 0:e.querySelector("input");this.columns[t].hidden=!(null!=e&&e.checked),this.disabledColumns=this.columns.filter(e=>e.hidden).map(e=>e.name),this.columnsLocalStorageKey&&localStorage.setItem(this.columnsLocalStorageKey,JSON.stringify([...this.columns])),this.dispatchUpdate()}dispatchUpdate(e=this.columns){this.dispatchEvent(new CustomEvent("columnFilter",{detail:{columns:e},bubbles:!0,composed:!0}))}dragstart(e){e=e.target,(this.dragEvent.sourceEl=e).style.opacity="0.3",e=Number(e.getAttribute("data-id"));this.dragEvent.startId=e}dragend(){var e,t;this.dragEvent.startId!==this.dragEvent.targetId&&(t=(e=[...this.columns]).splice(this.dragEvent.startId,1)[0],e.splice(this.dragEvent.targetId,0,t),this.dispatchEvent(new CustomEvent("reorderColumns",{detail:{reorderedColumns:e},bubbles:!0,composed:!0}))),null!=(t=this.dragEvent.sourceEl)&&t.style.removeProperty("opacity"),this.dragEvent={sourceEl:null,startId:-1,targetId:-1}}dragenter(e){var e=e.target;e.classList.contains("drag-target")&&(e=Number(e.getAttribute("data-id")),this.dragEvent.targetId=e)}render(){return html`<div class="grid-menu"><span @click="${()=>{this.isDropdownVisible=!0}}" @keyDown="${e=>{triggerKeys.includes(e.key)&&(this.isDropdownVisible=!0)}}" class="list list-dropdown"><ix-icon-button appearance="default" icon="list"></ix-icon-button>${0<this.disabledColumns.length?html`<div class="active"></div>`:nothing} ${this.isDropdownVisible?html`<div class="dropdown-content" @dragover="${e=>e.preventDefault()}" @dragstart="${this.dragstart}" @dragend="${this.dragend}" @dragenter="${this.dragenter}">${repeat(this.columns,e=>e.name,(e,t)=>html`<div class="${e.hidden?"disabled":""}"><label class="${"ix-switch-label drag-target "+(this.dragEvent.startId===t?"dragOrigin":"")}" draggable="true" data-id="${t}"><ix-switch .selected="${!e.hidden}" @change="${e=>this.updateColumn(e,t)}"></ix-switch><p>${e.header}</p><ix-icon class="draggable">drag_handle</ix-icon></label></div>`)}</div>`:nothing}</span></div>`}},IxGridRowFilterStyles=(IxGridColumnFilter.styles=[IxGridViewStyles,IxGridColumnFilterStyles],__decorate([property({type:Array})],IxGridColumnFilter.prototype,"columns",void 0),__decorate([property({type:String})],IxGridColumnFilter.prototype,"columnsLocalStorageKey",void 0),__decorate([state()],IxGridColumnFilter.prototype,"isDropdownVisible",void 0),__decorate([state()],IxGridColumnFilter.prototype,"disabledColumns",void 0),__decorate([state()],IxGridColumnFilter.prototype,"dragEvent",void 0),IxGridColumnFilter=__decorate([customElement("ix-grid-column-filter")],IxGridColumnFilter),css`.slot-wrap{display:flex}.slot-wrap ix-icon{--ix-icon-font-size:24px;color:#1456e0;margin-right:5px}.grid-menu ix-button .filter{font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;margin-top:2px}.filter-form{white-space:nowrap;padding:9px;font-family:'Open Sans',sans-serif;color:#5d6d82}.filter-form-column{display:inline-block;vertical-align:middle}.filter-remove span{margin-right:0;color:#5d6d82}.filter-dropdown-content{position:absolute;display:inline;right:0;top:78%;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:3;transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0s;border-radius:12px;box-shadow:rgba(0,0,0,.2) 0 5px 5px -3px,rgba(0,0,0,.14) 0 8px 10px 1px,rgba(0,0,0,.12) 0 3px 14px 2px;background-color:#fff}.filter-form input,.filter-form option,.filter-form select{border-radius:0;cursor:pointer;letter-spacing:1.44px;line-height:1.4375em;box-sizing:content-box;background:0 0;height:1.4375em;margin:0;animation-name:mui-auto-fill-cancel;animation-duration:10ms;border:none;border-image:initial;font-size:16px;box-sizing:border-box;cursor:text;user-select:none;color:currentcolor;-webkit-tap-highlight-color:transparent;display:block;min-width:0;width:100%;font-family:'Open Sans',sans-serif;height:25px;border-bottom:1px solid #000}.filter-form option{-webkit-tap-highlight-color:#9ca6b2}.filter-form input:hover,.filter-form select:hover{outline:0!important;border-bottom:2px solid #000}.filter-form input:focus,.filter-form select:focus{outline:0!important;border-bottom:2px solid #1456e0}.filter-form select:focus{background-color:rgba(0,0,0,.05)}.form-group{display:flex;flex-direction:column;align-items:baseline;height:54px;justify-content:flex-end;font-family:'Open Sans',sans-serif}.form-group label{font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:1.4375em;letter-spacing:.44px;padding:0;color:#092241;display:block;transform-origin:left top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:133%;transform:translate(0,-1.5px) scale(.75);transition:color .2s cubic-bezier(0,0,.2,1) 0s,transform .2s cubic-bezier(0,0,.2,1) 0s,max-width .2s cubic-bezier(0,0,.2,1) 0s}.filter-form-group label span{font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:1.4375em;letter-spacing:.44px;padding:0;color:#092241;display:block;transform-origin:left top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:133%;transform:translate(0,-1.5px) scale(.75);transition:color .2s cubic-bezier(0,0,.2,1) 0s,transform .2s cubic-bezier(0,0,.2,1) 0s,max-width .2s cubic-bezier(0,0,.2,1) 0s}.filter-form-group label:focus-within span{color:#1456e0}.filter-form-group{display:flex;flex-direction:column;align-items:baseline;height:54px;justify-content:flex-end;font-family:'Open Sans',sans-serif}option{font-weight:400;display:block;min-height:1.2em;padding:0 2px 1px;white-space:nowrap}.add-filter-button .add{margin-right:0;margin-left:-6px}.filter-footer{margin-top:auto;display:flex;align-items:left;padding:0;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;width:100%}.filter-footer button{align-items:center!important;margin-left:0}.filter-footer .add{display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px}.filter-footer .clear{margin-left:auto!important}.form-group .close{user-select:none;width:1em;height:1em;display:inline-block;fill:currentcolor;flex-shrink:0;transition:fill .2s cubic-bezier(.4,0,.2,1) 0s;font-size:1.25rem;font-weight:lighter}.no-display{display:none}.filter-local-operator-empty{width:54px;border:none}.grid-menu span.filter-superscript{position:absolute;top:6px;left:14px;z-index:98;display:flex;align-items:center;justify-content:center;font-size:.75rem;padding:0;height:16px;width:16px;border-radius:50%;background-color:#1456e0;color:#fff}.filterlist{width:40px}.filterColumnField{width:150px}.filterValueField{width:190px}.filterOperatorField{width:120px}.add-filter-button.disabled{opacity:.5;cursor:not-allowed}select:hover{cursor:pointer}input:hover{cursor:text}.tooltip-container{position:relative;display:inline-block}.tool-tip{color:#fff;overflow-wrap:break-word;border-radius:3px;background-color:#071454;padding:5px 8px;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px;position:absolute;top:42px;right:0;z-index:3;white-space:nowrap;display:none}.filter-button:hover~.tool-tip{display:block}.tool-tip li{margin-left:-21px;color:#fff;overflow-wrap:break-word;border-radius:3px;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px;max-width:250px;min-width:200px;white-space:wrap}.tool-tip p{margin:0;padding:0;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px}.add-filter-button{display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;color:#fff;min-width:64px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px;border-radius:100px;background-color:unset}.add-filter-button:disabled,.clear:disabled{opacity:.25;cursor:not-allowed}button{-webkit-box-align:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;color:#fff;min-width:64px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px;border-radius:100px;background-color:unset}ix-button.filter-button{padding-inline:0}.grid-menu ix-button{align-items:center;display:flex}`),IxGridRowFilter=class extends LitElement{constructor(){super(...arguments),this.columns=[],this.isDropdownVisible=!1,this.filters=[],this.filterableColumns=[],this.filterColumns=[],this.activeFilters=[],this.mapSelect=!1,this.closeOnOuterClick=e=>{e.composedPath().includes(this)||(this.isDropdownVisible=!1)}}updateActiveFilters(){this.activeFilters=this.filters.filter(e=>0<e.value.length)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.closeOnOuterClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.closeOnOuterClick)}firstUpdated(){this.filterableColumns=this.columns.filter(e=>e.filterable),this.filterColumns=this.filterableColumns.map(e=>e.name),this.filters=this.parseFilterQueryString(),this.filters.length||this.addFilter(),this.updateActiveFilters(),this.dispatchUpdate()}get filterNames(){return this.filters.map(e=>e.columnField)}get unselectedFilters(){return this.filterColumns.filter(e=>!this.filterNames.includes(e))}parseFilterQueryString(){var i=[];for(let[t,e]of new URLSearchParams(window.location.search)){var o=(null==(o=this.filterableColumns.find(e=>e.name===t))?void 0:o.filterOperators)||["contains"];this.filterColumns.includes(t)&&i.push({columnField:t,operatorValue:o[0],value:e})}return i}dispatchUpdate(){this.dispatchEvent(new CustomEvent("rowFilter",{detail:{filters:this.filters.filter(e=>3<=e.value.length)},bubbles:!0,composed:!0}))}addFilter(){let e,t=this.filterColumns.find(e=>!this.filterNames.includes(e))||"";var i=(null==(e=this.filterableColumns.find(e=>e.name===t))?void 0:e.filterOperators)||["contains"];this.filters=[...this.filters,{columnField:t,operatorValue:i[0],value:""}],this.updateActiveFilters()}clearFilters(){this.filters=[],this.addFilter(),this.dispatchUpdate()}removeFilter(i){this.filters=this.filters.filter((e,t)=>t!==i),this.dispatchUpdate(),0===this.filters.length&&(this.isDropdownVisible=!1,this.addFilter())}onfilterColumnChange(e,t){t=t.target.value;this.filters[e].columnField=t,this.filters=[...this.filters],3<=this.filters[e].value.length&&this.dispatchUpdate()}onfilterOperatorChange(e,t){t=t.target.value;this.filters[e].operatorValue=t,this.filters=[...this.filters],3<=this.filters[e].value.length&&this.dispatchUpdate()}onfilterValueChange(e,t){var i=this.filters[e].value.length,t=t.target.value,t=(this.filters[e].value=t,this.filters[e].value.length);0<this.filters[e].columnField.length&&(3<=t||t<i)&&this.dispatchUpdate(),this.updateActiveFilters()}formatCamelCaseToEnglish(e){e=e.replace(/([A-Z])/g," $1").toLowerCase();return e.charAt(0).toUpperCase()+e.slice(1)}renderToolTip(){return this.isDropdownVisible?copy.hideFilters:this.activeFilters.length?html`<p>${this.activeFilters.length} ${copy.activeFilter}</p><ul>${this.activeFilters.map(e=>html`<li>${this.formatCamelCaseToEnglish(e.columnField)} ${e.operatorValue} ${e.value}</li>`)}</ul>`:copy.showFilters}renderFilterInput(t,i){let e,o,r=[t.columnField,...this.unselectedFilters];var n=this.filterableColumns.filter(e=>r.includes(e.name));return html`<div class="filter-form"><div class="filter-remove filter-form-column"><div class="form-group"><ix-icon-button icon="close" @click="${()=>this.removeFilter(i)}" @keyDown="${e=>{" "!==e.key&&"Enter"!==e.key||this.removeFilter(i)}}"></ix-icon-button></div></div>${this.mapSelect?html`<div class="filter-form-column filter-form-column-border filterColumnField"><div class="form-group"><label class="form-group-column-label" title="select: ${t.columnField}, options: ${n.map(e=>`value=${e.name}, selected=${e.name===t.columnField}, ${e.header}
6
+ )}ix-select-option{--md-menu-item-selected-container-color:rgba(20, 86, 224, 0.1)}`),copy={activeFilter:"active filter",filters:"Filters",hideFilters:"Hide Filters",showFilters:"Show Filters",rowsPerPage:"Rows per page",user:"user",viewMore:"VIEW MORE",viewLess:"VIEW LESS"},IxPagination=class extends LitElement{constructor(){super(...arguments),this.recordCount=0,this.page=1,this.pageSize=10,this.pageSizes=[5,10,25,100]}changePage(e){this.page+=e,this.updatePagination()}updatePagination(e=this.page,t=this.pageSize){this.dispatchEvent(new CustomEvent("updatePagination",{detail:{page:e,pageSize:t},bubbles:!0,composed:!0}))}render(){let e=1<this.page,t=this.recordCount>this.page*this.pageSize;return html`<div class="pagination"><p class="rows-per-page">${copy.rowsPerPage}:</p><ix-select wide-menu menu-positioning="fixed" class="pagination__select-input" @request-selection="${e=>{e=e.target;this.pageSize=Number(e.value),this.updatePagination()}}" selected-index="${this.pageSizes.indexOf(this.pageSize)}" filled>${this.pageSizes.map(e=>html`<ix-select-option class="select-option" value="${e}"><div slot="headline">${e}</div></ix-select-option>`)}</ix-select><p>${(this.page-1)*this.pageSize+1} - ${this.page*this.pageSize>this.recordCount?html`${this.recordCount}`:html`${this.page*this.pageSize}`} of ${this.recordCount}</p><div class="pagination-nav"><ix-icon-button ?disabled="${!e}" @click="${()=>e&&this.changePage(-1)}" icon="chevron_left"></ix-icon-button><ix-icon-button ?disabled="${!t}" @click="${()=>t&&this.changePage(1)}" icon="chevron_right"></ix-icon-button></div></div>`}},IxGridColumnFilterStyles=(IxPagination.styles=[IxGridViewStyles,PaginationStyles],__decorate([property({type:Number})],IxPagination.prototype,"recordCount",void 0),__decorate([property({type:Number})],IxPagination.prototype,"page",void 0),__decorate([property({type:Number})],IxPagination.prototype,"pageSize",void 0),__decorate([property({type:Array})],IxPagination.prototype,"pageSizes",void 0),IxPagination=__decorate([customElement("ix-pagination")],IxPagination),css`.dropdown-content{position:absolute;background-color:#f9f9f9;min-width:160px;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:1;-webkit-box-align:center;align-items:center;cursor:pointer;vertical-align:middle;-webkit-tap-highlight-color:transparent;padding:10px}.dropdown-content>div{margin:0;font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:24px;letter-spacing:.25px;color:#092241;display:block;cursor:pointer}.dropdown-content span:hover{background-color:#f1f1f1}.dropdown-content label{display:flex;align-items:center;background-color:#f9f9f9}.dropdown-content label.dragOrigin{background:#ff000017;outline:1px #ff9d9d dashed}.dropdown-content label p{flex:2}.dropdown-content label ix-icon.draggable{font-size:24px;color:var(--md-sys-color-primary,#1456e0);cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab;opacity:0}.dropdown-content label:hover ix-icon.draggable{opacity:1}.active{position:absolute;right:0;top:0;height:8px;width:8px;background-color:#db0028;border-radius:50%}ix-switch{padding:2px 4px;--md-switch-track-height:12px;--md-switch-track-width:35px;--md-sys-color-primary:rgba(20, 86, 224, 0.68);--md-sys-color-on-primary:#1456e0;--md-sys-color-primary-container:#1456e0;--md-switch-handle-height:19px;--md-switch-handle-width:18px;--md-sys-color-surface-container-highest:#9e9e9e;--md-sys-color-outline:#9e9e9e;--md-switch-pressed-handle-height:19px;--md-switch-pressed-handle-width:18px;--md-switch-handle-color:#fff;--md-sys-color-on-surface-variant:white;--selected-handle-height:19px;--selected-handle-width:18px;--_pressed-handle-height:19px;--_pressed-handle-width:18px;--md-switch-selected-handle-height:19px;--md-switch-selected-handle-width:18px;margin:11px 8px 1px 0}.list{position:relative}`),triggerKeys=[" ","Enter"],IxGridColumnFilter=class extends LitElement{constructor(){super(...arguments),this.columns=[],this.columnsLocalStorageKey=void 0,this.isDropdownVisible=!1,this.disabledColumns=[],this.dragEvent={sourceEl:null,startId:-1,targetId:-1},this.outerInteraction=e=>{e.composedPath().includes(this)||(this.isDropdownVisible=!1)}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.outerInteraction),this.initializeLocalStorage()}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.outerInteraction)}get preservedColumns(){let e=[];return e=this.columnsLocalStorageKey?JSON.parse(localStorage.getItem(this.columnsLocalStorageKey)||"[]"):e}initializeLocalStorage(){0<this.preservedColumns.length&&(this.disabledColumns=this.preservedColumns.filter(e=>e.hidden).map(e=>e.name),this.columns.forEach((e,t)=>{this.disabledColumns.includes(e.name)&&(this.columns[t].hidden=!0)})),this.dispatchUpdate()}toggleColumn(e){this.columns[e].hidden=!this.columns[e].hidden,this.disabledColumns=this.columns.filter(e=>e.hidden).map(e=>e.name),this.columnsLocalStorageKey&&localStorage.setItem(this.columnsLocalStorageKey,JSON.stringify([...this.columns])),this.dispatchUpdate()}updateColumn(e,t){e=null==(e=e.target.shadowRoot)?void 0:e.querySelector("input");this.columns[t].hidden=!(null!=e&&e.checked),this.disabledColumns=this.columns.filter(e=>e.hidden).map(e=>e.name),this.columnsLocalStorageKey&&localStorage.setItem(this.columnsLocalStorageKey,JSON.stringify([...this.columns])),this.dispatchUpdate()}dispatchUpdate(e=this.columns){this.dispatchEvent(new CustomEvent("columnFilter",{detail:{columns:e},bubbles:!0,composed:!0}))}dragstart(e){e=e.target,(this.dragEvent.sourceEl=e).style.opacity="0.3",e=Number(e.getAttribute("data-id"));this.dragEvent.startId=e}dragend(){var e,t;this.dragEvent.startId!==this.dragEvent.targetId&&(t=(e=[...this.columns]).splice(this.dragEvent.startId,1)[0],e.splice(this.dragEvent.targetId,0,t),this.dispatchEvent(new CustomEvent("reorderColumns",{detail:{reorderedColumns:e},bubbles:!0,composed:!0}))),null!=(t=this.dragEvent.sourceEl)&&t.style.removeProperty("opacity"),this.dragEvent={sourceEl:null,startId:-1,targetId:-1}}dragenter(e){var e=e.target;e.classList.contains("drag-target")&&(e=Number(e.getAttribute("data-id")),this.dragEvent.targetId=e)}render(){return html`<div class="grid-menu"><span @click="${()=>{this.isDropdownVisible=!0}}" @keyDown="${e=>{triggerKeys.includes(e.key)&&(this.isDropdownVisible=!0)}}" class="list list-dropdown"><ix-icon-button appearance="default" icon="list"></ix-icon-button>${0<this.disabledColumns.length?html`<div class="active"></div>`:nothing} ${this.isDropdownVisible?html`<div class="dropdown-content" @dragover="${e=>e.preventDefault()}" @dragstart="${this.dragstart}" @dragend="${this.dragend}" @dragenter="${this.dragenter}">${repeat(this.columns,e=>e.name,(e,t)=>html`<div class="${e.hidden?"disabled":""}"><label class="${"ix-switch-label drag-target "+(this.dragEvent.startId===t?"dragOrigin":"")}" draggable="true" data-id="${t}"><ix-switch .selected="${!e.hidden}" @change="${e=>this.updateColumn(e,t)}"></ix-switch><p>${e.header}</p><ix-icon class="draggable">drag_handle</ix-icon></label></div>`)}</div>`:nothing}</span></div>`}},IxGridRowFilterStyles=(IxGridColumnFilter.styles=[IxGridViewStyles,IxGridColumnFilterStyles],__decorate([property({type:Array})],IxGridColumnFilter.prototype,"columns",void 0),__decorate([property({type:String})],IxGridColumnFilter.prototype,"columnsLocalStorageKey",void 0),__decorate([state()],IxGridColumnFilter.prototype,"isDropdownVisible",void 0),__decorate([state()],IxGridColumnFilter.prototype,"disabledColumns",void 0),__decorate([state()],IxGridColumnFilter.prototype,"dragEvent",void 0),IxGridColumnFilter=__decorate([customElement("ix-grid-column-filter")],IxGridColumnFilter),css`.slot-wrap{display:flex}.slot-wrap ix-icon{--ix-icon-font-size:24px;color:#1456e0;margin-right:5px}.grid-menu ix-button .filter{font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;margin-top:2px}.filter-form{white-space:nowrap;padding:9px;font-family:'Open Sans',sans-serif;color:#5d6d82}.filter-form-column{display:inline-block;vertical-align:middle}.filter-remove span{margin-right:0;color:#5d6d82}.filter-dropdown-content{position:absolute;display:inline;right:0;top:78%;box-shadow:0 8px 16px 0 rgba(0,0,0,.2);z-index:3;transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0s;border-radius:12px;box-shadow:rgba(0,0,0,.2) 0 5px 5px -3px,rgba(0,0,0,.14) 0 8px 10px 1px,rgba(0,0,0,.12) 0 3px 14px 2px;background-color:#fff}.filter-form input,.filter-form option,.filter-form select{border-radius:0;cursor:pointer;letter-spacing:1.44px;line-height:1.4375em;box-sizing:content-box;background:0 0;height:1.4375em;margin:0;animation-name:mui-auto-fill-cancel;animation-duration:10ms;border:none;border-image:initial;font-size:16px;box-sizing:border-box;cursor:text;user-select:none;color:currentcolor;-webkit-tap-highlight-color:transparent;display:block;min-width:0;width:100%;font-family:'Open Sans',sans-serif;height:25px;border-bottom:1px solid #000}.filter-form option{-webkit-tap-highlight-color:#9ca6b2}.filter-form input:hover,.filter-form select:hover{outline:0!important;border-bottom:2px solid #000}.filter-form input:focus,.filter-form select:focus{outline:0!important;border-bottom:2px solid #1456e0}.filter-form select:focus{background-color:rgba(0,0,0,.05)}.form-group{display:flex;flex-direction:column;align-items:baseline;height:54px;justify-content:flex-end;font-family:'Open Sans',sans-serif}.form-group label{font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:1.4375em;letter-spacing:.44px;padding:0;color:#092241;display:block;transform-origin:left top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:133%;transform:translate(0,-1.5px) scale(.75);transition:color .2s cubic-bezier(0,0,.2,1) 0s,transform .2s cubic-bezier(0,0,.2,1) 0s,max-width .2s cubic-bezier(0,0,.2,1) 0s}.filter-form-group label span{font-family:'Open Sans',sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:1.4375em;letter-spacing:.44px;padding:0;color:#092241;display:block;transform-origin:left top;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:133%;transform:translate(0,-1.5px) scale(.75);transition:color .2s cubic-bezier(0,0,.2,1) 0s,transform .2s cubic-bezier(0,0,.2,1) 0s,max-width .2s cubic-bezier(0,0,.2,1) 0s}.filter-form-group label:focus-within span{color:#1456e0}.filter-form-group{display:flex;flex-direction:column;align-items:baseline;height:54px;justify-content:flex-end;font-family:'Open Sans',sans-serif}option{font-weight:400;display:block;min-height:1.2em;padding:0 2px 1px;white-space:nowrap}.add-filter-button .add{margin-right:0;margin-left:-6px}.filter-footer{margin-top:auto;display:flex;align-items:left;padding:0;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;width:100%}.filter-footer button{align-items:center!important;margin-left:0}.filter-footer .add{display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px}.filter-footer .clear{margin-left:auto!important}.form-group .close{user-select:none;width:1em;height:1em;display:inline-block;fill:currentcolor;flex-shrink:0;transition:fill .2s cubic-bezier(.4,0,.2,1) 0s;font-size:1.25rem;font-weight:lighter}.no-display{display:none}.filter-local-operator-empty{width:54px;border:none}.grid-menu span.filter-superscript{position:absolute;top:6px;left:14px;z-index:1;display:flex;align-items:center;justify-content:center;font-size:.75rem;padding:0;height:16px;width:16px;border-radius:50%;background-color:#1456e0;color:#fff}.filterlist{width:40px}.filterColumnField{width:150px}.filterValueField{width:190px}.filterOperatorField{width:120px}.add-filter-button.disabled{opacity:.5;cursor:not-allowed}select:hover{cursor:pointer}input:hover{cursor:text}.tooltip-container{position:relative;display:inline-block}.tool-tip{color:#fff;overflow-wrap:break-word;border-radius:3px;background-color:#071454;padding:5px 8px;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px;position:absolute;top:42px;right:0;z-index:3;white-space:nowrap;display:none}.filter-button:hover~.tool-tip{display:block}.tool-tip li{margin-left:-21px;color:#fff;overflow-wrap:break-word;border-radius:3px;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px;max-width:250px;min-width:200px;white-space:wrap}.tool-tip p{margin:0;padding:0;font-family:'Open Sans',sans-serif;font-weight:400;font-style:normal;font-size:12px;line-height:16px;letter-spacing:.4px}.add-filter-button{display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;color:#fff;min-width:64px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px;border-radius:100px;background-color:unset}.add-filter-button:disabled,.clear:disabled{opacity:.25;cursor:not-allowed}button{-webkit-box-align:center;-webkit-box-pack:center;justify-content:center;position:relative;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:0;border:0;margin:0;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;text-decoration:none;font-family:'Red Hat Display',sans-serif;font-weight:700;font-style:normal;font-size:14px;line-height:18.52px;letter-spacing:1.25px;text-transform:uppercase;color:#fff;min-width:64px;transition:background-color 250ms cubic-bezier(.4,0,.2,1) 0s,box-shadow 250ms cubic-bezier(.4,0,.2,1) 0s,border-color 250ms cubic-bezier(.4,0,.2,1) 0s,color 250ms cubic-bezier(.4,0,.2,1) 0s;box-shadow:none;min-height:36px;border-radius:100px;background-color:unset}ix-button.filter-button{padding-inline:0}.grid-menu ix-button{align-items:center;display:flex}`),IxGridRowFilter=class extends LitElement{constructor(){super(...arguments),this.columns=[],this.isDropdownVisible=!1,this.filters=[],this.filterableColumns=[],this.filterColumns=[],this.activeFilters=[],this.mapSelect=!1,this.closeOnOuterClick=e=>{e.composedPath().includes(this)||(this.isDropdownVisible=!1)}}updateActiveFilters(){this.activeFilters=this.filters.filter(e=>0<e.value.length)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.closeOnOuterClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.closeOnOuterClick)}firstUpdated(){this.filterableColumns=this.columns.filter(e=>e.filterable),this.filterColumns=this.filterableColumns.map(e=>e.name),this.filters=this.parseFilterQueryString(),this.filters.length||this.addFilter(),this.updateActiveFilters(),this.dispatchUpdate()}get filterNames(){return this.filters.map(e=>e.columnField)}get unselectedFilters(){return this.filterColumns.filter(e=>!this.filterNames.includes(e))}parseFilterQueryString(){var i=[];for(let[t,e]of new URLSearchParams(window.location.search)){var o=(null==(o=this.filterableColumns.find(e=>e.name===t))?void 0:o.filterOperators)||["contains"];this.filterColumns.includes(t)&&i.push({columnField:t,operatorValue:o[0],value:e})}return i}dispatchUpdate(){this.dispatchEvent(new CustomEvent("rowFilter",{detail:{filters:this.filters.filter(e=>3<=e.value.length)},bubbles:!0,composed:!0}))}addFilter(){let e,t=this.filterColumns.find(e=>!this.filterNames.includes(e))||"";var i=(null==(e=this.filterableColumns.find(e=>e.name===t))?void 0:e.filterOperators)||["contains"];this.filters=[...this.filters,{columnField:t,operatorValue:i[0],value:""}],this.updateActiveFilters()}clearFilters(){this.filters=[],this.addFilter(),this.dispatchUpdate()}removeFilter(i){this.filters=this.filters.filter((e,t)=>t!==i),this.dispatchUpdate(),0===this.filters.length&&(this.isDropdownVisible=!1,this.addFilter())}onfilterColumnChange(e,t){t=t.target.value;this.filters[e].columnField=t,this.filters=[...this.filters],3<=this.filters[e].value.length&&this.dispatchUpdate()}onfilterOperatorChange(e,t){t=t.target.value;this.filters[e].operatorValue=t,this.filters=[...this.filters],3<=this.filters[e].value.length&&this.dispatchUpdate()}onfilterValueChange(e,t){var i=this.filters[e].value.length,t=t.target.value,t=(this.filters[e].value=t,this.filters[e].value.length);0<this.filters[e].columnField.length&&(3<=t||t<i)&&this.dispatchUpdate(),this.updateActiveFilters()}formatCamelCaseToEnglish(e){e=e.replace(/([A-Z])/g," $1").toLowerCase();return e.charAt(0).toUpperCase()+e.slice(1)}renderToolTip(){return this.isDropdownVisible?copy.hideFilters:this.activeFilters.length?html`<p>${this.activeFilters.length} ${copy.activeFilter}</p><ul>${this.activeFilters.map(e=>html`<li>${this.formatCamelCaseToEnglish(e.columnField)} ${e.operatorValue} ${e.value}</li>`)}</ul>`:copy.showFilters}renderFilterInput(t,i){let e,o,r=[t.columnField,...this.unselectedFilters];var n=this.filterableColumns.filter(e=>r.includes(e.name));return html`<div class="filter-form"><div class="filter-remove filter-form-column"><div class="form-group"><ix-icon-button icon="close" @click="${()=>this.removeFilter(i)}" @keyDown="${e=>{" "!==e.key&&"Enter"!==e.key||this.removeFilter(i)}}"></ix-icon-button></div></div>${this.mapSelect?html`<div class="filter-form-column filter-form-column-border filterColumnField"><div class="form-group"><label class="form-group-column-label" title="select: ${t.columnField}, options: ${n.map(e=>`value=${e.name}, selected=${e.name===t.columnField}, ${e.header}
7
7
  `)}">Columns</label> <select @change="${e=>this.onfilterColumnChange(i,e)}" .value="${t.columnField}" data-v="${t.columnField}">${n.map(e=>html`<option value="${e.name}" ?selected="${e.name===t.columnField}">${e.header}</option>`)}</select></div></div>`:nothing}<div class="filter-form-column filter-form-column-border filterColumnField"><div class="filter-form-group"><label class="form-group-column-label" title="select: ${t.columnField}, options: ${n.map(e=>`value=${e.name}, selected=${e.name===t.columnField}, ${e.header}
8
8
  `)}"><span>Columns</span> <select @change="${e=>this.onfilterColumnChange(i,e)}" .value="${t.columnField}" data-v="${t.columnField}">${repeat(n,e=>e.name,e=>html`<option value="${e.name}" ?selected="${e.name===t.columnField}">${e.header}</option>`)}</select></label></div></div><div class="filter-form-column filter-form-column-border filterOperatorField"><div class="filter-form-group"><label class="form-group-operator-label"><span>Operator</span> <select @change="${e=>this.onfilterOperatorChange(i,e)}" .value="${t.operatorValue}" data-v="${t.operatorValue}">${repeat(null!=(o=null==(e=n.find(e=>e.name===t.columnField))?void 0:e.filterOperators)?o:["contains"],e=>html`<option value="${e}" ?selected="${e===t.columnField}">${e}</option>`)}</select></label></div></div><div class="filter-form-column filter-form-column-border filterValueField"><div class="filter-form-group"><label class="form-group-value-label"><span>Value</span> <input placeholder="Filter value" @input="${e=>this.onfilterValueChange(i,e)}" .value="${t.value}"></label></div></div></div>`}renderDropdown(){var e=this.filters.length>=this.filterColumns.length||this.activeFilters.length<this.filters.length;return html`<div class="filter-dropdown-content"><div class="filter-body">${this.filters.map((e,t)=>this.renderFilterInput(e,t))}</div><div class="filter-footer"><button class="add-filter-button" @click="${()=>this.addFilter()}" ?disabled="${e}"><ix-icon-button icon="add"></ix-icon-button><span class="add">ADD FILTER</span></button> <button class="clear" @click="${()=>this.clearFilters()}" ?disabled="${0===this.activeFilters.length}"><span class="add">CLEAR ALL</span></button></div></div>`}render(){return html`<div class="grid-menu"><div class="filter-container tooltip-container">${0<this.activeFilters.length?html`<span class="filter-superscript">${this.activeFilters.length}</span>`:nothing}<ix-button appearance="text" class="filter_list filter-button" @click="${()=>{this.isDropdownVisible=!this.isDropdownVisible}}" @keyDown="${()=>{this.isDropdownVisible=!this.isDropdownVisible}}"><div class="slot-wrap"><ix-icon appearance="default" class="filter-icon">filter_list</ix-icon><span class="filter">${copy.filters}</span></div></ix-button><div class="tool-tip">${this.renderToolTip()}</div>${this.isDropdownVisible?this.renderDropdown():nothing}</div></div>`}};IxGridRowFilter.styles=[IxGridViewStyles,IxGridRowFilterStyles],__decorate([property({type:Array})],IxGridRowFilter.prototype,"columns",void 0),__decorate([state()],IxGridRowFilter.prototype,"isDropdownVisible",void 0),__decorate([state()],IxGridRowFilter.prototype,"filters",void 0),__decorate([state()],IxGridRowFilter.prototype,"filterableColumns",void 0),__decorate([state()],IxGridRowFilter.prototype,"filterColumns",void 0),__decorate([state()],IxGridRowFilter.prototype,"activeFilters",void 0),__decorate([state()],IxGridRowFilter.prototype,"mapSelect",void 0),IxGridRowFilter=__decorate([customElement("ix-grid-row-filter")],IxGridRowFilter);class IxGrid extends LitElement{constructor(){super(...arguments),this.variantClass="",this.columns=[],this.rows=[],this.defaultEmptyText="No data to display",this.sortedColumn="",this.sortDirection="",this.hideHeader=!1,this.hideFilters=!1,this.rowLimit=0,this.page=1,this.pageSize=10,this.pageSizes=[5,10,25,100],this.recordCount=0,this.localStorageID=void 0,this.showDownload=!0,this.downloadMenuItems=[],this.addParamsToURL=!0,this.filters=[],this.isLoading=!1,this.isExpanded=!1,this.renderColumnHeader=e=>html`<div @click="${()=>e.sortable&&this.handleSort(e.name)}" @keyDown="${()=>e.sortable&&this.handleSort(e.name)}" class="header">${e.header} ${e.sortable?html`<ix-icon title="Sort" class="header-sort-icon">${"desc"===this.sortDirection&&this.sortedColumn===e.name?"arrow_upward":"arrow_downward"}</ix-icon>`:nothing}</div>`,this.renderHeader=()=>html`<div class="grid-header"><slot name="header"><div class="empty"></div></slot>${this.hideFilters?nothing:html`<div class="grid-menu"><ix-grid-column-filter .columns="${this.arrangedColumns}" columnsLocalStorageKey="${ifDefined(this.columnsLocalStorageKey)}" @columnFilter="${e=>this.handleOnColumnFilter(e)}" @reorderColumns="${this.reorderColumnsFromFilter}"></ix-grid-column-filter>${this.showDownload?html`<ix-grid-download-menu .items="${this.downloadMenuItems}"></ix-grid-download-menu>`:nothing}<ix-grid-row-filter .columns="${this.columns}" @rowFilter="${e=>{this.filters=e.detail.filters,this.updatePage()}}"></ix-grid-row-filter></div>`}</div><div class="touch-edge"><slot name="under-header"></slot></div>`,this.renderRowLimitControls=()=>this.rows.length<=this.rowLimit?nothing:html`<div class="row-limit"><ix-button appearance="text" @click="${()=>{this.isExpanded=!this.isExpanded}}" has-icon>${this.isExpanded?copy.viewLess:copy.viewMore}<ix-icon slot="icon">${this.isExpanded?"remove":"add"}</ix-icon></ix-button></div>`,this.renderPaginationControls=()=>html`<ix-pagination .page="${this.page}" .pageSize="${this.pageSize}" .pageSizes="${this.pageSizes}" .recordCount="${this.recordCount}" @updatePagination="${e=>{this.page=e.detail.page,this.pageSize=e.detail.pageSize,this.updatePage()}}"></ix-pagination>`}get isPersistable(){return!!this.localStorageID}get columnNames(){return this.columns.map(e=>e.name)}get columnsLocalStorageKey(){return`ix-grid-${this.localStorageID}-columns`}get arrangedColumns(){let e=[];var t;return(e=0===(e=this.isPersistable&&0<(t=JSON.parse(localStorage.getItem(this.columnsLocalStorageKey)||"[]")).length?t.map(t=>({...this.columns.find(e=>e.name===t.name),hidden:t.hidden,frozenToEnd:t.frozenToEnd,width:t.width||void 0})):e).length?[...this.columns]:e).filter(e=>e).map(e=>({...e,width:e.width||void 0}))}async updatePage(){var e,t,i=this.filters.reduce((e,{columnField:t,value:i})=>({...e,[t]:i}),{});this.addParamsToURL&&(t={sort:this.sortedColumn,order:this.sortDirection,page:this.page.toString(),size:this.pageSize.toString(),...i},e=new URL(window.location.href),t=new URLSearchParams(t),e.search=t.toString(),window.history.replaceState(null,"",e.toString())),this.dispatchEvent(new CustomEvent("change",{detail:{columnName:this.sortedColumn,sortOrder:this.sortDirection,page:this.page,pageSize:this.pageSize,filters:i,filtersOperators:this.filters.map(e=>({columnField:e.columnField,operator:e.operatorValue}))},bubbles:!0,composed:!0}))}handleSort(e=""){this.sortedColumn!==e?this.sortDirection="asc":this.sortDirection="asc"===this.sortDirection?"desc":"asc",this.sortedColumn=e,this.updatePage()}setColumnsToLocalStorage(e){this.isPersistable&&localStorage.setItem(this.columnsLocalStorageKey,JSON.stringify(e))}async reorderColumnsFromTable(){var t=this.arrangedColumns.filter(e=>!0!==e.hidden),o=this.arrangedColumns.filter(e=>!0===e.hidden),r=this.arrangedColumns.filter(e=>!0===e.frozenToEnd);let n=[...t.filter(e=>!0!==(null==e?void 0:e.frozenToEnd)),...o.filter(e=>!0!==(null==e?void 0:e.frozenToEnd)),...r];t=Array.from((null==(t=null==(t=this.grid)?void 0:t.shadowRoot)?void 0:t.querySelectorAll("th"))||[]);if(t.length){let i=t.map((e,t)=>({id:t,flexPosition:Number(e.style.order)})).sort((e,t)=>e.flexPosition-t.flexPosition).map(e=>e.id);let e=[];i.every((e,t)=>0===t||e>i[t-1])||(e=i.map(e=>n[e]),this.columns=[...e.filter(e=>!0!==e.hidden&&!0!==(null==e?void 0:e.frozenToEnd)),...o.filter(e=>!0!==(null==e?void 0:e.frozenToEnd)),...r],this.isLoading=!0,await this.updateComplete,this.isLoading=!1),this.setColumnsToLocalStorage(0<e.length?[...this.columns]:[...n])}}async reorderColumnsFromFilter(e){this.columns=[...e.detail.reorderedColumns],this.setColumnsToLocalStorage([...this.columns]),this.isLoading=!0,await this.updateComplete,this.isLoading=!1}handleOnColumnFilter(e){e.detail.columns.forEach((e,t)=>{this.columns[t].hidden=null==e?void 0:e.hidden}),this.updatePage()}renderColumns(){return 0<this.arrangedColumns.length?html`${this.arrangedColumns.map(e=>!0===e.hidden?nothing:html`<vaadin-grid-column ${columnHeaderRenderer(()=>this.renderColumnHeader(e),this.sortDirection)} ${columnBodyRenderer(e.bodyRenderer,[])} resizable width="${ifDefined(e.width)}" ?hidden="${e.hidden}" ?frozen-to-end="${e.frozenToEnd}" path="${e.name}"></vaadin-grid-column>`)}`:html`<vaadin-grid-column></vaadin-grid-column>`}render(){return html`<div class="${`grid-container ${this.isLoading?"loading":""} `+this.variantClass}">${this.hideHeader?nothing:this.renderHeader()} ${this.isLoading?nothing:html`<vaadin-grid .items="${0<this.rowLimit&&!this.isExpanded?this.rows.slice(0,this.rowLimit):this.rows}" all-rows-visible column-reordering-allowed theme="no-border" @mouseup="${this.reorderColumnsFromTable}">${this.renderColumns()}</vaadin-grid>${0!==this.rows.length||this.isLoading?nothing:html`<slot name="no-rows"></slot>`}`} ${0<this.rowLimit?this.renderRowLimitControls():this.renderPaginationControls()}<slot name="footer"></slot></div>`}}IxGrid.styles=[IxGridViewStyles],__decorate([query("vaadin-grid")],IxGrid.prototype,"grid",void 0),__decorate([property({type:String})],IxGrid.prototype,"variantClass",void 0),__decorate([property({type:Array})],IxGrid.prototype,"columns",void 0),__decorate([property({type:Array})],IxGrid.prototype,"rows",void 0),__decorate([property({type:String})],IxGrid.prototype,"defaultEmptyText",void 0),__decorate([property({type:String})],IxGrid.prototype,"sortedColumn",void 0),__decorate([property({type:String})],IxGrid.prototype,"sortDirection",void 0),__decorate([property({type:Boolean})],IxGrid.prototype,"hideHeader",void 0),__decorate([property({type:Boolean,attribute:"hide-filters"})],IxGrid.prototype,"hideFilters",void 0),__decorate([property({type:Number})],IxGrid.prototype,"rowLimit",void 0),__decorate([property({type:Number})],IxGrid.prototype,"page",void 0),__decorate([property({type:Number})],IxGrid.prototype,"pageSize",void 0),__decorate([property({type:Array})],IxGrid.prototype,"pageSizes",void 0),__decorate([property({type:Number})],IxGrid.prototype,"recordCount",void 0),__decorate([property({type:String})],IxGrid.prototype,"localStorageID",void 0),__decorate([property({type:Boolean})],IxGrid.prototype,"showDownload",void 0),__decorate([property({type:Array})],IxGrid.prototype,"downloadMenuItems",void 0),__decorate([property({type:Boolean,attribute:"add-params-to-url"})],IxGrid.prototype,"addParamsToURL",void 0),__decorate([state()],IxGrid.prototype,"filters",void 0),__decorate([state()],IxGrid.prototype,"isLoading",void 0),__decorate([state()],IxGrid.prototype,"isExpanded",void 0),window.customElements.define("ix-grid",IxGrid);
@@ -1,7 +1,7 @@
1
- export interface IxGridDownloadMenuItemModel {
2
- name: string;
3
- label: string;
4
- onClick: (name: string) => void;
5
- disabled?: boolean;
6
- hidden?: boolean;
7
- }
1
+ export interface IxGridDownloadMenuItemModel {
2
+ name: string;
3
+ label: string;
4
+ onClick: (name: string) => void;
5
+ disabled?: boolean;
6
+ hidden?: boolean;
7
+ }
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=IxGridDownloadMenuItemModel.js.map
@@ -1,2 +1,2 @@
1
- import { IxGridNavigation } from '../components/IxGridNav.js';
2
- export declare const IxGridNav: import("@lit/react").ReactWebComponent<IxGridNavigation, {}>;
1
+ import { IxGridNavigation } from '../components/IxGridNav.js';
2
+ export declare const IxGridNav: import("@lit/react").ReactWebComponent<IxGridNavigation, {}>;
@@ -1,9 +1,9 @@
1
- import React from 'react';
2
- import { createComponent } from '@lit/react';
3
- import { IxGridNavigation } from '../components/IxGridNav.js';
4
- export const IxGridNav = createComponent({
5
- tagName: 'ix-grid-nav',
6
- elementClass: IxGridNavigation,
7
- react: React,
8
- });
1
+ import React from 'react';
2
+ import { createComponent } from '@lit/react';
3
+ import { IxGridNavigation } from '../components/IxGridNav.js';
4
+ export const IxGridNav = createComponent({
5
+ tagName: 'ix-grid-nav',
6
+ elementClass: IxGridNavigation,
7
+ react: React,
8
+ });
9
9
  //# sourceMappingURL=IxGridNav.js.map
@@ -1 +1 @@
1
- import '../components/IxGridColumnFilter.js';
1
+ import '../components/IxGridColumnFilter.js';