@exmg/exm-grid 1.1.2 → 1.1.3

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 (43) hide show
  1. package/dist/search/exm-toolbar-search.d.ts +25 -0
  2. package/dist/search/exm-toolbar-search.js +197 -0
  3. package/dist/styles/exm-grid-base-toolbar-styles-css.d.ts +1 -0
  4. package/dist/styles/exm-grid-base-toolbar-styles-css.js +103 -0
  5. package/dist/styles/exm-grid-common-styles-css.d.ts +1 -0
  6. package/dist/styles/exm-grid-common-styles-css.js +104 -0
  7. package/dist/styles/exm-grid-pagination-styles-css.d.ts +1 -0
  8. package/dist/styles/exm-grid-pagination-styles-css.js +104 -0
  9. package/dist/styles/exm-grid-setting-selection-list-styles-css.d.ts +1 -0
  10. package/dist/styles/exm-grid-setting-selection-list-styles-css.js +12 -0
  11. package/dist/styles/exm-grid-styles-css.d.ts +1 -0
  12. package/dist/styles/exm-grid-styles-css.js +416 -0
  13. package/dist/table/exm-grid-base-toolbar.d.ts +23 -0
  14. package/dist/table/exm-grid-base-toolbar.js +91 -0
  15. package/dist/table/exm-grid-pagination.d.ts +37 -0
  16. package/dist/table/exm-grid-pagination.js +190 -0
  17. package/dist/table/exm-grid-setting-selection-list.d.ts +24 -0
  18. package/dist/table/exm-grid-setting-selection-list.js +124 -0
  19. package/dist/table/exm-grid-smart-toolbar.d.ts +31 -0
  20. package/dist/table/exm-grid-smart-toolbar.js +138 -0
  21. package/dist/table/exm-grid-toolbar-filters.d.ts +36 -0
  22. package/dist/table/exm-grid-toolbar-filters.js +77 -0
  23. package/dist/table/exm-grid-toolbar.d.ts +42 -0
  24. package/dist/table/exm-grid-toolbar.js +283 -0
  25. package/dist/table/exm-grid.d.ts +130 -0
  26. package/dist/table/exm-grid.js +333 -0
  27. package/dist/table/featrues/exm-column-sortable.d.ts +12 -0
  28. package/dist/table/featrues/exm-column-sortable.js +50 -0
  29. package/dist/table/featrues/exm-row-expandable.d.ts +9 -0
  30. package/dist/table/featrues/exm-row-expandable.js +42 -0
  31. package/dist/table/featrues/exm-row-selectable.d.ts +20 -0
  32. package/dist/table/featrues/exm-row-selectable.js +204 -0
  33. package/dist/table/featrues/exm-row-sortable.d.ts +9 -0
  34. package/dist/table/featrues/exm-row-sortable.js +50 -0
  35. package/dist/table/types/exm-grid-smart-toolbar-types.d.ts +17 -0
  36. package/dist/table/types/exm-grid-smart-toolbar-types.js +6 -0
  37. package/dist/table/types/exm-grid-toolbar-types.d.ts +55 -0
  38. package/dist/table/types/exm-grid-toolbar-types.js +16 -0
  39. package/dist/table/types/exm-grid-types.d.ts +15 -0
  40. package/dist/table/types/exm-grid-types.js +2 -0
  41. package/dist/table/utils/exm-query-selectors.d.ts +12 -0
  42. package/dist/table/utils/exm-query-selectors.js +37 -0
  43. package/package.json +6 -10
@@ -0,0 +1,416 @@
1
+ import { css } from 'lit';
2
+ export const style = css `
3
+ :host {
4
+ -moz-osx-font-smoothing: grayscale;
5
+ -webkit-font-smoothing: antialiased;
6
+ font-family: Roboto, sans-serif;
7
+ font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
8
+ display: block;
9
+ --exm-arrow-upward-url: url('/node_modules/@exmg/exm-grid/assets/arrow-upward.svg');
10
+ --exm-table-card-width: var(--exm-theme-table-card-width, 100%);
11
+ --exm-table-card-margin-bottom: var(--exm-theme-table-card-margin-bottom, 5px);
12
+ --exm-table-color: var(--exm-theme-table-on-surface, var(--md-sys-color-on-surface-container));
13
+ --exm-table-card-background-color: var(--exm-theme-table-surface, var(--md-sys-color-surface-container));
14
+ --exm-table-row-divider-color: var(--exm-theme-table-row-divider-color, var(--md-sys-color-surface-variant));
15
+ --exm-table-row-selected-color: var(
16
+ --exm-theme-table-row-selected-color,
17
+ var(--md-sys-color-on-secondary-container)
18
+ );
19
+ --exm-table-row-selected-background-color: var(
20
+ --exm-theme-table-row-selected-background-color,
21
+ var(--md-sys-color-secondary-container)
22
+ );
23
+ --exm-table-row-hover-color: var(--exm-theme-table-row-hover-color, var(--md-sys-color-on-surface));
24
+ --exm-table-row-hover-background-color: var(
25
+ --exm-theme-table-row-hover-background-color,
26
+ var(--md-sys-color-surface-container-highest)
27
+ );
28
+ --exm-table-row-dragged-background-color: var(
29
+ --exm-theme-table-row-dragged-background-color,
30
+ var(--md-sys-color-surface-container-low)
31
+ );
32
+ --exm-table-rows-expanded-divider-border: var(--exm-theme-table-rows-expanded-divider-border, none);
33
+ --exm-table-rows-expanded-border: var(--exm-theme-table-rows-expanded-border, none);
34
+ --exm-table-rows-expanded-background-color: var(
35
+ --exm-theme-table-rows-expanded-background-color,
36
+ var(--md-sys-color-surface-container-low)
37
+ );
38
+ --exm-table-rows-expanded-color: var(--exm-theme-table-rows-expanded-color, var(--md-sys-color-on-surface));
39
+ --exm-table-th-color: var(--exm-theme-table-th-on-surface, var(--md-sys-color-on-surface-container));
40
+ --exm-table-th-background-color: var(--exm-theme-table-th-surface, var(--md-sys-color-surface-container));
41
+ --exm-table-th-sortable-hover-color: var(--exm-theme-table-th-sortable-hover-color, var(--md-sys-color-on-surface));
42
+ --exm-table-columns-background-color: var(--exm-theme-table-columns-background-color, var(--md-sys-color-surface));
43
+ --exm-table-th-height: var(--exm-theme-table-th-height, 48px);
44
+ --exm-table-th-sort-margin-left: var(--exm-theme-table-th-sort-margin-left, 0px);
45
+ --exm-table-td-height: var(--exm-theme-table-td-height, 48px);
46
+ --exm-table-th-sort-icon-height: var(--exm-theme-table-th-sort-icon-height, 1em);
47
+ --exm-table-th-sort-icon-width: var(--exm-theme-table-th-sort-icon-width, 1em);
48
+ --exm-table-col-number-padding-right: var(--exm-theme-table-col-number-padding-right, 10px);
49
+ --exm-table-checkbox-cell-width: var(--exm-theme-table-checkbox-cell-width, 24px);
50
+ --exm-paper-combobox-selected-item-color: var(var(--md-sys-color-primary), #000000);
51
+ --exm-paper-combobox-color: var(--md-sys-color-on-surface);
52
+ --exm-table-toolbar-setting-position: var(--exm-theme-table-toolbar-setting-position, absolute);
53
+ }
54
+
55
+ ::slotted([slot='pagination']) {
56
+ display: flex;
57
+ align-items: center;
58
+ justify-content: flex-end;
59
+ border-top: 1px solid var(--exm-table-row-divider-color);
60
+ }
61
+
62
+ ::slotted([slot='toolbar']) {
63
+ display: block;
64
+ }
65
+
66
+ .table-card-container {
67
+ -moz-osx-font-smoothing: grayscale;
68
+ -webkit-font-smoothing: antialiased;
69
+ font-family: Roboto, sans-serif;
70
+ font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
71
+ border: none;
72
+ width: var(--exm-table-card-width);
73
+ margin: 0;
74
+ padding: 0;
75
+ box-shadow: var(--exm-theme-table-box-shadow, none);
76
+ }
77
+
78
+ :host([with-toolbar]) .table-card {
79
+ border-top: 1px solid var(--exm-table-row-divider-color);
80
+ }
81
+
82
+ .table-card {
83
+ -moz-osx-font-smoothing: grayscale;
84
+ -webkit-font-smoothing: antialiased;
85
+ font-family: Roboto, sans-serif;
86
+ font-family: var(--mdc-typography-font-family, Roboto, sans-serif);
87
+ border: none;
88
+ border-bottom-left-radius: 4px;
89
+ border-bottom-right-radius: 4px;
90
+ width: var(--exm-table-card-width);
91
+ background-color: var(--exm-table-card-background-color);
92
+ margin-bottom: var(--exm-table-card-margin-bottom);
93
+ border-top-left-radius: var(--exm-theme-table-radius, var(--exm-surface-border-radius, 16px));
94
+ border-top-right-radius: var(--exm-theme-table-radius, var(--exm-surface-border-radius, 16px));
95
+ border-bottom-left-radius: var(--exm-theme-table-radius, var(--exm-surface-border-radius, 16px));
96
+ border-bottom-right-radius: var(--exm-theme-table-radius, var(--exm-surface-border-radius, 16px));
97
+ }
98
+
99
+ .table-container {
100
+ overflow-y: auto;
101
+ }
102
+
103
+ table {
104
+ width: 100%;
105
+ color: var(--exm-table-color);
106
+ border-spacing: 0;
107
+ border: none;
108
+ }
109
+
110
+ table[data-table-layout='fixed'] {
111
+ table-layout: fixed;
112
+ }
113
+
114
+ table[data-table-layout='fixed'] td:not(.grid-checkbox-cell):not(.menu-cell) {
115
+ overflow: hidden;
116
+ white-space: nowrap;
117
+ text-overflow: ellipsis;
118
+ }
119
+
120
+ table[data-table-layout='fixed'] th.grid-checkbox-cell,
121
+ table[data-table-layout='fixed'] td.grid-checkbox-cell {
122
+ width: var(--exm-table-checkbox-cell-width);
123
+ }
124
+
125
+ table[data-table-layout='fixed'] th.no-ellipsis,
126
+ table[data-table-layout='fixed'] td.no-ellipsis {
127
+ text-overflow: initial;
128
+ }
129
+
130
+ table thead tr,
131
+ table thead th {
132
+ -moz-osx-font-smoothing: grayscale;
133
+ -webkit-font-smoothing: antialiased;
134
+ font-family: Roboto, sans-serif;
135
+ font-family: var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
136
+ font-size: 0.75rem;
137
+ font-size: var(--mdc-typography-caption-font-size, 0.75rem);
138
+ line-height: 1.25rem;
139
+ line-height: var(--mdc-typography-caption-line-height, 1.25rem);
140
+ font-weight: 400;
141
+ font-weight: var(--mdc-typography-caption-font-weight, 400);
142
+ letter-spacing: 0.0333333333em;
143
+ letter-spacing: var(--mdc-typography-caption-letter-spacing, 0.0333333333em);
144
+ text-decoration: inherit;
145
+ text-decoration: var(--mdc-typography-caption-text-decoration, inherit);
146
+ text-transform: inherit;
147
+ text-transform: var(--mdc-typography-caption-text-transform, inherit);
148
+ }
149
+
150
+ table tbody tr,
151
+ table tbody td,
152
+ table tfoot tr,
153
+ table tfoot td {
154
+ -moz-osx-font-smoothing: grayscale;
155
+ -webkit-font-smoothing: antialiased;
156
+ font-family: Roboto, sans-serif;
157
+ font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
158
+ font-size: 0.875rem;
159
+ font-size: var(--mdc-typography-body2-font-size, 0.875rem);
160
+ line-height: 1.25rem;
161
+ line-height: var(--mdc-typography-body2-line-height, 1.25rem);
162
+ font-weight: 400;
163
+ font-weight: var(--mdc-typography-body2-font-weight, 400);
164
+ letter-spacing: 0.0178571429em;
165
+ letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
166
+ text-decoration: inherit;
167
+ text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
168
+ text-transform: inherit;
169
+ text-transform: var(--mdc-typography-body2-text-transform, inherit);
170
+ }
171
+
172
+ td {
173
+ height: var(--exm-table-td-height);
174
+ }
175
+
176
+ .grid-toolbar th {
177
+ padding: 0;
178
+ text-align: left;
179
+ }
180
+
181
+ .grid-toolbar th > * {
182
+ overflow-x: auto;
183
+ }
184
+
185
+ .grid-columns th {
186
+ height: var(--exm-table-th-height);
187
+ font-weight: 500;
188
+ font-style: normal;
189
+ font-stretch: normal;
190
+ text-transform: uppercase;
191
+ line-height: 1.33;
192
+ letter-spacing: 2px;
193
+ color: var(--exm-table-th-color);
194
+ background-color: var(--exm-table-th-background-color);
195
+ vertical-align: middle;
196
+ text-align: left;
197
+ user-select: none;
198
+ white-space: nowrap;
199
+ }
200
+
201
+ .grid-columns th > span {
202
+ vertical-align: middle;
203
+ max-width: 100%;
204
+ display: inline-block;
205
+ overflow: hidden;
206
+ white-space: nowrap;
207
+ text-overflow: ellipsis;
208
+ }
209
+
210
+ .grid-columns th svg {
211
+ fill: var(--exm-table-th-color);
212
+ }
213
+
214
+ .grid-columns th,
215
+ tbody td {
216
+ padding-left: 16px;
217
+ }
218
+
219
+ .grid-columns th:last-child,
220
+ tbody td:last-child {
221
+ padding-right: 10px;
222
+ }
223
+
224
+ th,
225
+ td {
226
+ border-top: 1px solid var(--exm-table-row-divider-color);
227
+ }
228
+
229
+ tbody td {
230
+ height: var(--exm-table-td-height);
231
+ -moz-osx-font-smoothing: grayscale;
232
+ -webkit-font-smoothing: antialiased;
233
+ font-family: Roboto, sans-serif;
234
+ font-family: var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));
235
+ font-size: 0.875rem;
236
+ font-size: var(--mdc-typography-body2-font-size, 0.875rem);
237
+ line-height: 1.25rem;
238
+ line-height: var(--mdc-typography-body2-line-height, 1.25rem);
239
+ font-weight: 400;
240
+ font-weight: var(--mdc-typography-body2-font-weight, 400);
241
+ letter-spacing: 0.0178571429em;
242
+ letter-spacing: var(--mdc-typography-body2-letter-spacing, 0.0178571429em);
243
+ text-decoration: inherit;
244
+ text-decoration: var(--mdc-typography-body2-text-decoration, inherit);
245
+ text-transform: inherit;
246
+ text-transform: var(--mdc-typography-body2-text-transform, inherit);
247
+ font-weight: normal;
248
+ font-style: normal;
249
+ font-stretch: normal;
250
+ line-height: 1.43px;
251
+ letter-spacing: 0.3px;
252
+ color: var(--exm-table-color);
253
+ }
254
+
255
+ tbody td svg {
256
+ fill: var(--exm-table-color);
257
+ }
258
+
259
+ th[data-sort] {
260
+ cursor: pointer;
261
+ }
262
+
263
+ th[data-sort]:hover {
264
+ color: var(--exm-table-th-sortable-hover-color);
265
+ }
266
+
267
+ th[data-sort]::after {
268
+ display: inline-block;
269
+ content: '';
270
+ -webkit-mask-image: var(--exm-arrow-upward-url);
271
+ mask-image: var(--exm-arrow-upward-url);
272
+ background-color: currentColor;
273
+ background-size: contain;
274
+ height: var(--exm-table-th-sort-icon-height);
275
+ width: var(--exm-table-th-sort-icon-width);
276
+ margin-left: var(--exm-table-th-sort-margin-left);
277
+ vertical-align: middle;
278
+ opacity: 0;
279
+ }
280
+
281
+ th[data-sort-direction]::after {
282
+ opacity: 1;
283
+ transition: transform 0.1s linear;
284
+ }
285
+
286
+ th[data-sort-direction='ASC']::after {
287
+ transform: rotate(0deg);
288
+ }
289
+
290
+ th[data-sort-direction='DESC']::after {
291
+ transform: rotate(180deg);
292
+ }
293
+
294
+ tbody > tr:not(.grid-row-detail):hover {
295
+ color: var(--exm-table-row-hover-color);
296
+ background-color: var(--exm-table-row-hover-background-color);
297
+ }
298
+
299
+ tbody > tr:not(.grid-row-detail):hover td {
300
+ color: var(--exm-table-row-hover-color);
301
+ }
302
+
303
+ tbody > tr:not(.grid-row-detail):hover svg {
304
+ fill: var(--exm-table-row-hover-color);
305
+ }
306
+
307
+ tr[data-selected] {
308
+ color: var(--exm-table-row-selected-color);
309
+ background-color: var(--exm-table-row-selected-background-color);
310
+ }
311
+
312
+ tr[data-selected] td {
313
+ color: var(--exm-table-row-selected-color);
314
+ }
315
+
316
+ tr[data-selected] svg {
317
+ fill: var(--exm-table-row-selected-color);
318
+ }
319
+
320
+ tbody tr[data-has-expanded-detail],
321
+ tbody tr[data-has-expanded-detail]:hover,
322
+ tbody tr[data-is-row-expanded] {
323
+ background-color: var(--exm-table-rows-expanded-background-color);
324
+ border: var(--exm-table-rows-expanded-border);
325
+ }
326
+
327
+ tbody tr[data-has-expanded-detail] td,
328
+ tbody tr[data-has-expanded-detail]:hover td,
329
+ tbody tr[data-is-row-expanded] td {
330
+ color: var(--exm-table-rows-expanded-color);
331
+ }
332
+
333
+ tbody tr[data-has-expanded-detail] td svg,
334
+ tbody tr[data-has-expanded-detail]:hover td svg,
335
+ tbody tr[data-is-row-expanded] td svg {
336
+ fill: var(--exm-table-rows-expanded-color);
337
+ }
338
+
339
+ tbody tr[data-is-row-expanded] td {
340
+ border-bottom: none;
341
+ }
342
+
343
+ tbody tr[data-has-expanded-detail] td,
344
+ tbody tr[data-has-expanded-detail]:hover td {
345
+ border-bottom: var(--exm-table-rows-expanded-divider-border);
346
+ }
347
+
348
+ tr.grid-row-detail {
349
+ display: none;
350
+ }
351
+
352
+ tr.grid-row-detail[data-is-row-expanded] {
353
+ display: table-row;
354
+ }
355
+
356
+ tr.grid-row-detail td {
357
+ padding: 20px;
358
+ }
359
+
360
+ tr .grid-icon-rotate[data-is-expanded] > * {
361
+ transition: transform 0.1s linear;
362
+ transform: rotate(180deg);
363
+ }
364
+
365
+ tr .grid-icon-rotate[data-is-expandable]:not([data-is-expanded]) > * {
366
+ transition: transform 0.1s linear;
367
+ transform: rotate(0deg);
368
+ }
369
+
370
+ .grid-row-drag-handler {
371
+ cursor: move;
372
+ vertical-align: middle;
373
+ }
374
+
375
+ .grid-row-drag-handler > * {
376
+ vertical-align: middle;
377
+ }
378
+
379
+ tr.dragged {
380
+ background-color: var(--exm-table-row-dragged-background-color);
381
+ opacity: 0.25;
382
+ box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5) inset;
383
+ }
384
+
385
+ tr.cloned {
386
+ background-color: var(--exm-table-row-dragged-background-color);
387
+ width: 100%;
388
+ box-sizing: border-box;
389
+ box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
390
+ opacity: 0.9;
391
+ }
392
+
393
+ tr td.grid-cell-visible-on-hover {
394
+ text-align: center;
395
+ }
396
+
397
+ tr td.grid-cell-visible-on-hover > * {
398
+ visibility: hidden;
399
+ }
400
+
401
+ tr:hover td.grid-cell-visible-on-hover > *,
402
+ tr[data-has-expanded-detail] td.grid-cell-visible-on-hover > * {
403
+ visibility: visible;
404
+ }
405
+
406
+ tr td.grid-col-number,
407
+ tr th.grid-col-number {
408
+ padding-right: var(--exm-table-col-number-padding-right);
409
+ text-align: right;
410
+ }
411
+
412
+ tr th.grid-col-number > span {
413
+ width: 100%;
414
+ }
415
+ `;
416
+ //# sourceMappingURL=exm-grid-styles-css.js.map
@@ -0,0 +1,23 @@
1
+ import { ExmgElement } from '@exmg/lit-base/index.js';
2
+ /**
3
+ * ### Styling
4
+ * The following custom properties are available for styling:
5
+ *
6
+ */
7
+ export declare class ExmGridBaseToolbar extends ExmgElement {
8
+ static styles: import("lit").CSSResult[];
9
+ private actionsCount;
10
+ private settingsCount;
11
+ private active;
12
+ disableSeperator: boolean;
13
+ private observer?;
14
+ private getChildElementCount;
15
+ connectedCallback(): void;
16
+ disconnectedCallback(): void;
17
+ render(): import("lit-html").TemplateResult<1>;
18
+ }
19
+ declare global {
20
+ interface HTMLElementTagNameMap {
21
+ 'exm-grid-base-toolbar': ExmGridBaseToolbar;
22
+ }
23
+ }
@@ -0,0 +1,91 @@
1
+ import { __decorate } from "tslib";
2
+ import { html } from 'lit';
3
+ import { customElement, property, state } from 'lit/decorators.js';
4
+ import { ExmgElement } from '@exmg/lit-base/index.js';
5
+ import { style } from '../styles/exm-grid-base-toolbar-styles-css.js';
6
+ /**
7
+ * ### Styling
8
+ * The following custom properties are available for styling:
9
+ *
10
+ */
11
+ let ExmGridBaseToolbar = class ExmGridBaseToolbar extends ExmgElement {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.actionsCount = 0;
15
+ this.settingsCount = 0;
16
+ this.active = false;
17
+ this.disableSeperator = false;
18
+ }
19
+ getChildElementCount(selector) {
20
+ const element = this.querySelector(selector);
21
+ return element ? element.childElementCount : 0;
22
+ }
23
+ connectedCallback() {
24
+ super.connectedCallback();
25
+ this.observer = new MutationObserver((mutationsList) => {
26
+ setTimeout(() => {
27
+ for (const mutation of mutationsList) {
28
+ if (mutation.type === 'childList') {
29
+ this.actionsCount = this.getChildElementCount('div[slot=actions]');
30
+ this.settingsCount = this.getChildElementCount('div[slot=settings]');
31
+ this.active = this.actionsCount > 0;
32
+ }
33
+ }
34
+ }, 60);
35
+ });
36
+ this.actionsCount = this.getChildElementCount('div[slot=actions]');
37
+ this.settingsCount = this.getChildElementCount('div[slot=settings]');
38
+ this.active = this.actionsCount > 0;
39
+ this.observer.observe(this, { attributes: false, childList: true, subtree: true });
40
+ }
41
+ disconnectedCallback() {
42
+ this.observer.disconnect();
43
+ super.disconnectedCallback();
44
+ }
45
+ render() {
46
+ return html `
47
+ <div class="wrapper ${this.active ? 'active' : ''}">
48
+ ${this.actionsCount > 0
49
+ ? html `
50
+ <div class="actions">
51
+ <slot name="actions"></slot>
52
+ </div>
53
+ `
54
+ : ''}
55
+ <div class="seperator ${this.actionsCount > 0 && !this.disableSeperator ? 'with-action-separator' : ''}">
56
+ &nbsp;
57
+ </div>
58
+ <div class="description">
59
+ <slot name="description"></slot>
60
+ </div>
61
+ <div class="filters">
62
+ <slot name="filters"></slot>
63
+ </div>
64
+ <div class="settings ${this.settingsCount > 0 ? 'has-settings' : ''}">
65
+ <slot name="settings"></slot>
66
+ </div>
67
+ <div class="extra">
68
+ <slot name="extra"></slot>
69
+ </div>
70
+ </div>
71
+ `;
72
+ }
73
+ };
74
+ ExmGridBaseToolbar.styles = [style];
75
+ __decorate([
76
+ state()
77
+ ], ExmGridBaseToolbar.prototype, "actionsCount", void 0);
78
+ __decorate([
79
+ state()
80
+ ], ExmGridBaseToolbar.prototype, "settingsCount", void 0);
81
+ __decorate([
82
+ state()
83
+ ], ExmGridBaseToolbar.prototype, "active", void 0);
84
+ __decorate([
85
+ property({ type: Boolean })
86
+ ], ExmGridBaseToolbar.prototype, "disableSeperator", void 0);
87
+ ExmGridBaseToolbar = __decorate([
88
+ customElement('exm-grid-base-toolbar')
89
+ ], ExmGridBaseToolbar);
90
+ export { ExmGridBaseToolbar };
91
+ //# sourceMappingURL=exm-grid-base-toolbar.js.map
@@ -0,0 +1,37 @@
1
+ import { ExmgElement } from '@exmg/lit-base/index.js';
2
+ import '@material/web/iconbutton/icon-button.js';
3
+ import '@material/web/icon/icon.js';
4
+ import './exm-grid-toolbar-filters.js';
5
+ /**
6
+ * ### Styling
7
+ * The following custom properties are available for styling:
8
+ *
9
+ * Custom property | Description | Default
10
+ * ----------------|-------------|----------
11
+ * `--exm-theme-table-pagination-bg-color` | pagination background color | `var(--mdc-theme-surface, #ffffff);`
12
+ * `--exm-theme-table-pagination-color` | pagination foreground (mostly text) color | `var(--mdc-theme-on-surface, #02182b);`
13
+ */
14
+ export declare class ExmGridPagination extends ExmgElement {
15
+ static styles: import("lit").CSSResult[];
16
+ pageSizeLabel: string;
17
+ pageSizeOptions: number[];
18
+ pageSize: number;
19
+ pageIndex: number;
20
+ itemCount: number;
21
+ private renderPageSizeLabel;
22
+ private renderPageSizeOptions;
23
+ private renderPageRangeLabel;
24
+ private renderPageRangeActions;
25
+ private renderPrevPage;
26
+ private renderNextPage;
27
+ private fireEventPageChanged;
28
+ private handleOnClickPrev;
29
+ private handleOnClickNext;
30
+ private handleOnPageSizeChanged;
31
+ protected render(): import("lit-html").TemplateResult<1>;
32
+ }
33
+ declare global {
34
+ interface HTMLElementTagNameMap {
35
+ 'exm-grid-pagination': ExmGridPagination;
36
+ }
37
+ }