@schukai/monster 3.86.2 → 3.86.4

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 (28) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +1 -1
  3. package/source/components/datatable/datasource/dom.mjs +3 -12
  4. package/source/components/datatable/datasource/rest.mjs +30 -31
  5. package/source/components/datatable/datatable.mjs +51 -8
  6. package/source/components/datatable/embedded-pagination.mjs +1 -26
  7. package/source/components/datatable/filter/input.mjs +1 -35
  8. package/source/components/datatable/filter/range.mjs +3 -3
  9. package/source/components/datatable/filter-button.mjs +3 -38
  10. package/source/components/datatable/filter.mjs +4 -37
  11. package/source/components/datatable/pagination.mjs +150 -60
  12. package/source/components/datatable/style/column-bar.pcss +7 -3
  13. package/source/components/datatable/style/datatable.pcss +29 -16
  14. package/source/components/datatable/style/embedded-pagination.pcss +16 -61
  15. package/source/components/datatable/style/filter-button.pcss +10 -7
  16. package/source/components/datatable/style/filter.pcss +1 -1
  17. package/source/components/datatable/style/pagination.pcss +0 -26
  18. package/source/components/datatable/stylesheet/column-bar.mjs +1 -1
  19. package/source/components/datatable/stylesheet/datatable.mjs +1 -1
  20. package/source/components/datatable/stylesheet/embedded-pagination.mjs +1 -1
  21. package/source/components/datatable/stylesheet/filter-button.mjs +1 -1
  22. package/source/components/datatable/stylesheet/filter.mjs +1 -1
  23. package/source/components/datatable/stylesheet/pagination.mjs +1 -1
  24. package/source/components/host/config-manager.mjs +0 -33
  25. package/source/types/version.mjs +1 -1
  26. package/test/cases/monster.mjs +1 -1
  27. package/test/web/test.html +2 -2
  28. package/test/web/tests.js +73 -24
@@ -17,16 +17,15 @@ import {
17
17
  CustomElement,
18
18
  registerCustomElement,
19
19
  } from "../../dom/customelement.mjs";
20
- import { findElementWithSelectorUpwards } from "../../dom/util.mjs";
20
+ import { findElementWithSelectorUpwards, getWindow } from "../../dom/util.mjs";
21
+ import { DeadMansSwitch } from "../../util/deadmansswitch.mjs";
21
22
  import { ThemeStyleSheet } from "../stylesheet/theme.mjs";
22
23
  import { ATTRIBUTE_DATASOURCE_SELECTOR } from "./constants.mjs";
23
24
  import { Datasource } from "./datasource.mjs";
24
25
  import { Observer } from "../../types/observer.mjs";
25
26
  import { ATTRIBUTE_ROLE } from "../../dom/constants.mjs";
26
27
  import { findTargetElementFromEvent } from "../../dom/events.mjs";
27
- import { EmbeddedPaginationStyleSheet } from "./stylesheet/embedded-pagination.mjs";
28
28
  import { PaginationStyleSheet } from "./stylesheet/pagination.mjs";
29
- //import {SpinnerStyleSheet} from "../stylesheet/spinner.mjs";
30
29
  import { DisplayStyleSheet } from "../stylesheet/display.mjs";
31
30
  import { isString } from "../../types/is.mjs";
32
31
  import { Pathfinder } from "../../data/pathfinder.mjs";
@@ -54,33 +53,28 @@ const paginationElementSymbol = Symbol.for("paginationElement");
54
53
  const datasourceLinkedElementSymbol = Symbol("datasourceLinkedElement");
55
54
 
56
55
  /**
57
- * The Pagination component is used to show the current page and the total number of pages.
58
- *
59
- * <img src="./images/pagination.png">
60
- *
61
- * You can create this control either by specifying the HTML tag <monster-pagination />` directly in the HTML or using
62
- * Javascript via the `document.createElement('monster-pagination');` method.
63
- *
64
- * ```html
65
- * <monster-pagination></monster-pagination>
66
- * ```
67
- *
68
- * Or you can create this CustomControl directly in Javascript:
69
- *
70
- * ```js
71
- * import '@schukai/component-datatable/source/pagination.mjs';
72
- * document.createElement('monster-pagination');
73
- * ```
74
- *
75
- * @startuml pagination.png
76
- * skinparam monochrome true
77
- * skinparam shadowing false
78
- * HTMLElement <|-- CustomElement
79
- * CustomElement <|-- Pagination
80
- * @enduml
56
+ * @private
57
+ * @type {symbol}
58
+ */
59
+ const resizeObserverSymbol = Symbol("resizeObserver");
60
+
61
+ /**
62
+ * @private
63
+ * @type {symbol}
64
+ */
65
+ const sizeDataSymbol = Symbol("sizeData");
66
+
67
+ /**
68
+ * @private
69
+ * @type {symbol}
70
+ */
71
+ const debounceSizeSymbol = Symbol("debounceSize");
72
+
73
+ /**
74
+ * The Pagination component
81
75
  *
82
76
  * @copyright schukai GmbH
83
- * @summary A datatable
77
+ * @summary The Pagination component is used to show the current page and the total number of pages.
84
78
  */
85
79
  class Pagination extends CustomElement {
86
80
  /**
@@ -106,13 +100,23 @@ class Pagination extends CustomElement {
106
100
  *
107
101
  * @property {Object} templates Template definitions
108
102
  * @property {string} templates.main Main template
109
- * @property {int} offset Current offset
110
- * @property {int} nextOffset Next offset
111
- * @property {int} prevOffset Previous offset
112
- * @property {int} objectsPerPage Number of objects per page
113
- * @property {int} currentPage Current page
114
- * @property {int} pages Total number of pages
115
- * @property {int} total Total number of objects
103
+ * @property {Object} datasource Datasource configuration
104
+ * @property {string} datasource.selector Datasource selector
105
+ * @property {Object} labels Label definitions
106
+ * @property {string} labels.page Page label
107
+ * @property {string} labels.description Description label
108
+ * @property {string} labels.previous Previous label
109
+ * @property {string} labels.next Next label
110
+ * @property {string} labels.of Of label
111
+ * @property {string} href Href
112
+ * @property {number} currentPage Current page
113
+ * @property {number} pages Pages
114
+ * @property {number} objectsPerPage Objects per page
115
+ * @property {Object} mapping Mapping
116
+ * @property {string} mapping.pages Pages mapping
117
+ * @property {string} mapping.objectsPerPage Objects per page mapping
118
+ * @property {string} mapping.currentPage Current page mapping
119
+ * @property {Object} pagination Pagination
116
120
  */
117
121
  get defaults() {
118
122
  return Object.assign(
@@ -147,18 +151,6 @@ class Pagination extends CustomElement {
147
151
  currentPage: "sys.pagination.currentPage",
148
152
  },
149
153
 
150
- // classes: {
151
- // // spinner: "monster-spinner monster-theme-primary-3",
152
- // // spinnerContainer: "monster-theme-primary-1 ",
153
- // // error: "monster-theme-error-2 monster-bg-color-primary-2",
154
- // // errorContainer: "monster-theme-primary-1",
155
- // },
156
-
157
- // state: {
158
- // // spinner: false,
159
- // // error: false,
160
- // },
161
-
162
154
  pagination: {
163
155
  items: [],
164
156
  },
@@ -176,8 +168,82 @@ class Pagination extends CustomElement {
176
168
  }
177
169
 
178
170
  /**
179
- *
180
- * @return {Monster.Components.Form.Form}
171
+ * @return {void}
172
+ */
173
+ disconnectedCallback() {
174
+ super.disconnectedCallback();
175
+ if (this?.[resizeObserverSymbol] instanceof ResizeObserver) {
176
+ this[resizeObserverSymbol].disconnect();
177
+ }
178
+ }
179
+
180
+ /**
181
+ * @return {void}
182
+ */
183
+ connectedCallback() {
184
+ const self = this;
185
+ super.connectedCallback();
186
+
187
+ const parentNode = this.parentNode;
188
+ if (!parentNode) {
189
+ return;
190
+ }
191
+
192
+ const parentParentNode = parentNode?.parentNode || parentNode;
193
+
194
+ const parentWidth = parentParentNode.clientWidth;
195
+ const ownWidth = this.clientWidth;
196
+
197
+ this[sizeDataSymbol] = {
198
+ last: {
199
+ parentWidth: parentParentNode.clientWidth || 0,
200
+ ownWidth: this.clientWidth || 0,
201
+ },
202
+ showNumbers: ownWidth < parentWidth,
203
+ };
204
+
205
+ handleDataSourceChanges.call(this);
206
+
207
+ setTimeout(() => {
208
+ this[resizeObserverSymbol] = new ResizeObserver((entries) => {
209
+ if (this[debounceSizeSymbol] instanceof DeadMansSwitch) {
210
+ try {
211
+ this[debounceSizeSymbol].touch();
212
+ return;
213
+ } catch (e) {
214
+ delete this[debounceSizeSymbol];
215
+ }
216
+ }
217
+
218
+ this[debounceSizeSymbol] = new DeadMansSwitch(400, () => {
219
+ queueMicrotask(() => {
220
+ const parentWidth = parentParentNode.clientWidth;
221
+ const ownWidth = this.clientWidth;
222
+
223
+ if (
224
+ this[sizeDataSymbol]?.last?.parentWidth === parentWidth &&
225
+ this[sizeDataSymbol]?.last?.ownWidth === ownWidth
226
+ ) {
227
+ return;
228
+ }
229
+
230
+ this[sizeDataSymbol].last = {
231
+ parentWidth: parentWidth,
232
+ ownWidth: ownWidth,
233
+ };
234
+
235
+ this[sizeDataSymbol].showNumbers = ownWidth < parentWidth;
236
+ handleDataSourceChanges.call(this);
237
+ });
238
+ });
239
+ });
240
+
241
+ this[resizeObserverSymbol].observe(this?.parentNode?.parentNode);
242
+ }, 500);
243
+ }
244
+
245
+ /**
246
+ * @return {void}
181
247
  */
182
248
  [assembleMethodSymbol]() {
183
249
  super[assembleMethodSymbol]();
@@ -201,6 +267,8 @@ class Pagination extends CustomElement {
201
267
  element.datasource.attachObserver(
202
268
  new Observer(handleDataSourceChanges.bind(this)),
203
269
  );
270
+
271
+ handleDataSourceChanges.call(this);
204
272
  }
205
273
  }
206
274
 
@@ -213,8 +281,7 @@ class Pagination extends CustomElement {
213
281
  }
214
282
 
215
283
  /**
216
- *
217
- * @return [CSSStyleSheet]
284
+ * @return {CSSStyleSheet[]}
218
285
  */
219
286
  static getCSSStyleSheet() {
220
287
  return [this.getControlCSSStyleSheet(), DisplayStyleSheet, ThemeStyleSheet];
@@ -272,6 +339,10 @@ function initEventHandler() {
272
339
  }
273
340
  }
274
341
 
342
+ if (!(element instanceof HTMLElement)) {
343
+ return;
344
+ }
345
+
275
346
  let page = null;
276
347
 
277
348
  if (!element.hasAttribute("data-page-no")) {
@@ -292,7 +363,17 @@ function initEventHandler() {
292
363
  return;
293
364
  }
294
365
 
295
- datasource.setParameters({ page }).reload();
366
+ if (typeof datasource.setParameters !== "function") {
367
+ return;
368
+ }
369
+
370
+ datasource.setParameters({ page });
371
+
372
+ if (typeof datasource.reload !== "function") {
373
+ return;
374
+ }
375
+
376
+ datasource.reload();
296
377
  });
297
378
  }
298
379
 
@@ -348,11 +429,18 @@ function handleDataSourceChanges() {
348
429
  this.getOption("currentPage"),
349
430
  this.getOption("pages"),
350
431
  );
351
- this.setOption("pagination", pagination);
432
+
433
+ if (this?.[sizeDataSymbol]?.showNumbers !== true) {
434
+ pagination.items = [];
435
+ }
436
+
437
+ getWindow().requestAnimationFrame(() => {
438
+ this.setOption("pagination", pagination);
439
+ });
352
440
  }
353
441
 
354
442
  /**
355
- *
443
+ * @private
356
444
  * @param current
357
445
  * @param max
358
446
  * @return {object}
@@ -464,17 +552,19 @@ function getTemplate() {
464
552
  <nav data-monster-role="pagination" role="navigation" aria-label="pagination">
465
553
  <ul class="pagination-list" data-monster-insert="items path:pagination.items"
466
554
  data-monster-select-this="true">
467
- <li part="pagination-prev"><a data-monster-role="pagination-prev"
468
- data-monster-attributes="
555
+ <li part="pagination-prev" data-monster-role="pagination-prev"><a
556
+ data-monster-role="pagination-prev"
557
+ data-monster-attributes="
469
558
  class path:pagination.prevClass | prefix: previous,
470
559
  data-page-no path:pagination.prevNo,
471
560
  href path:pagination.prevHref | prefix: #"
472
- data-monster-replace="path:labels.previous">Previous</a></li>
473
- <li part="pagination-next"><a data-monster-role="pagination-next"
474
- data-monster-attributes="class path:pagination.nextClass | prefix: next,
561
+ data-monster-replace="path:labels.previous">Previous</a></li>
562
+ <li part="pagination-next" data-monster-role="pagination-next"><a
563
+ data-monster-role="pagination-next"
564
+ data-monster-attributes="class path:pagination.nextClass | prefix: next,
475
565
  data-page-no path:pagination.nextNo,
476
566
  href path:pagination.nextHref | prefix: #"
477
- data-monster-replace="path:labels.next">Next</a></li>
567
+ data-monster-replace="path:labels.next">Next</a></li>
478
568
  </ul>
479
569
  </nav>
480
570
  </div>
@@ -97,16 +97,20 @@
97
97
  & a[data-monster-role=settings-button] {
98
98
  display: flex;
99
99
  align-items: center;
100
-
101
100
  color: var(--monster-color-primary-1);
102
101
  background: none;
103
-
104
102
  white-space: nowrap;
105
103
 
106
104
  &:after {
107
- content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z'/%3E%3C/svg%3E");
105
+ content: "";
106
+ display: block;
107
+ width: 20px;
108
+ height: 16px;
108
109
  margin: 2px 3px 0 5px;
109
110
  padding-top: 4px;
111
+ background-color: var(--monster-color-primary-1);
112
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M0 1.5A1.5 1.5 0 0 1 1.5 0h13A1.5 1.5 0 0 1 16 1.5v13a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 0 14.5v-13zM1.5 1a.5.5 0 0 0-.5.5v13a.5.5 0 0 0 .5.5H5V1H1.5zM10 15V1H6v14h4zm1 0h3.5a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5H11v14z' fill='%23000'/%3E%3C/svg%3E");
113
+ mask-size: cover;
110
114
  }
111
115
  }
112
116
 
@@ -18,12 +18,6 @@
18
18
  @import "../../style/theme.pcss";
19
19
  @import "../../style/skeleton.pcss";
20
20
 
21
- [data-monster-role="control"] {
22
- container-type: inline-size ;
23
- container-name: datatable;
24
- @mixin text;
25
- }
26
-
27
21
  ::slotted(monster-collapse) {
28
22
  --monster-color-gradient-1: none;
29
23
  --monster-color-gradient-2: none;
@@ -188,20 +182,40 @@
188
182
  max-width: 100%;
189
183
 
190
184
  & a[data-monster-sortable]:after {
191
- content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
192
- margin: 0 3px 0 5px
185
+ content: "";
186
+ display: inline-block;
187
+ width: 16px;
188
+ height: 16px;
189
+ margin: 0 3px 0 5px;
190
+ background-color: var(--monster-color-primary-1);
191
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M11.5 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L11 2.707V14.5a.5.5 0 0 0 .5.5zm-7-14a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L4 13.293V1.5a.5.5 0 0 1 .5-.5z'/%3E%3C/svg%3E");
192
+ mask-size: cover;
193
193
  }
194
194
 
195
195
  & a[data-monster-sortable~=DESC i]:after {
196
- content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z'/%3E%3C/svg%3E");
196
+ content: "";
197
+ display: inline-block;
198
+ width: 16px;
199
+ height: 16px;
200
+ margin: 0 3px 0 5px;
201
+ background-color: var(--monster-color-primary-1);
202
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 15a.5.5 0 0 0 .5-.5V2.707l3.146 3.147a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 1 0 .708.708L7.5 2.707V14.5a.5.5 0 0 0 .5.5z'/%3E%3C/svg%3E");
203
+ mask-size: cover;
197
204
  }
198
205
 
199
206
  & a[data-monster-sortable~=ASC i]:after {
200
- content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z'/%3E%3C/svg%3E");
207
+ content: "";
208
+ display: inline-block;
209
+ width: 16px;
210
+ height: 16px;
211
+ margin: 0 3px 0 5px;
212
+ background-color: var(--monster-color-primary-1);
213
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M8 1a.5.5 0 0 1 .5.5v11.793l3.146-3.147a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 .708-.708L7.5 13.293V1.5A.5.5 0 0 1 8 1z'/%3E%3C/svg%3E");
214
+ mask-size: cover;
201
215
  }
202
-
203
216
  }
204
217
 
218
+
205
219
  & .flex-start {
206
220
  justify-content: flex-start;
207
221
  }
@@ -232,15 +246,14 @@ monster-state[data-monster-role=empty-without-action]::part(action) {
232
246
  padding: var(--monster-space-7) 0;
233
247
  }
234
248
 
235
-
236
- @container datatable (max-width: 900px) {
249
+ [data-monster-role="control"].small {
237
250
 
238
251
 
239
- [data-monster-role="datatable-headers"] {
252
+ & [data-monster-role="datatable-headers"] {
240
253
  display: none;
241
254
  }
242
255
 
243
- [data-monster-role="table-container"] {
256
+ & [data-monster-role="table-container"] {
244
257
 
245
258
  & .bar {
246
259
  display: flex;
@@ -265,7 +278,7 @@ monster-state[data-monster-role=empty-without-action]::part(action) {
265
278
  }
266
279
  }
267
280
 
268
- ::slotted(.monster-button-group) {
281
+ & ::slotted(.monster-button-group) {
269
282
  display: flex;
270
283
  flex-direction: column !important;
271
284
  }
@@ -7,6 +7,8 @@
7
7
  @import "../../style/control.pcss";
8
8
  @import "../../style/property.pcss";
9
9
 
10
+
11
+
10
12
  [data-monster-role=pagination] {
11
13
  @mixin text;
12
14
  display: flex;
@@ -15,21 +17,27 @@
15
17
 
16
18
  & ul {
17
19
  display: flex;
18
- flex-wrap: wrap;
20
+ flex-wrap: nowrap;
19
21
  justify-content: center;
20
22
  align-items: center;
21
23
  list-style: none;
22
24
 
23
25
  padding-left: 0;
24
26
  margin: 20px 0;
27
+
25
28
 
26
29
  }
27
30
 
28
31
  & ul li {
29
32
 
30
33
  margin: 0;
31
- border-left: solid 1px black;
34
+ border-left: solid 1px var(--monster-theme-control-border-color);
32
35
  padding: 0 10px;
36
+
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+
33
41
 
34
42
  & a, & a:link, & a:visited, & a:hover, & a:active, & a:focus {
35
43
  width: max-content;
@@ -73,7 +81,7 @@
73
81
  }
74
82
  }
75
83
 
76
- @mixin viewport-7 {
84
+ @mixin viewport-7 {
77
85
 
78
86
  & ul li {
79
87
  padding: 0 2px;
@@ -92,67 +100,14 @@
92
100
  }
93
101
 
94
102
  }
95
- /*
96
- & [data-monster-error-state=hidden] {
97
- display: none;
98
- }
99
-
100
- & [data-monster-loading-state=hidden] {
101
- display: none;
102
- }
103
- */
104
- /** & .pagination-loading-state {
105
- align-items: center;
106
- display: flex;
107
103
 
108
- &.hidden {
109
- display: none;
110
- }
111
104
 
112
- }
105
+ }
113
106
 
114
- & .pagination-error-state {
115
- align-items: center;
116
- display: flex;
117
107
 
118
- &.hidden {
119
- display: none;
120
- }
121
- & .state-icon-container {
122
- width:2em;
123
- height:2em;
124
- margin:0 5px 0 2px;
108
+ @container (min-width: 800px) {
109
+ [data-monster-role=pagination] {
110
+ background-color: red;
111
+ color: red;
125
112
  }
126
- }*/
127
- /*
128
- & .pagination-state {
129
- display: flex !important;
130
- flex-wrap: nowrap;
131
- flex-direction: row;
132
- align-items: center;
133
- justify-content: center;
134
-
135
- & [data-monster-error-state] {
136
- width:2em;
137
- height:2em;
138
- margin:0 5px 0 2px;
139
-
140
- display: flex;
141
- align-items: center;
142
- justify-content: center;
143
- }
144
-
145
- & [data-monster-loading-state] {
146
- width:2em;
147
- height:2em;
148
- margin:0 5px 0 2px;
149
- }
150
-
151
-
152
- }*/
153
-
154
-
155
-
156
-
157
113
  }
158
-
@@ -5,18 +5,21 @@
5
5
 
6
6
 
7
7
  [data-monster-role="control"] {
8
-
9
8
  & a {
10
9
  display: flex;
11
10
  align-items: center;
12
-
13
- color: var(--monster-color-primary-1);
14
11
  background: none;
12
+ color: var(--monster-color-primary-1);
15
13
 
16
14
  &:after {
17
- content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-filter-square' viewBox='0 0 16 16'%3E%3Cpath d='M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M6 11.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
18
- margin: 2px 3px 0 5px;
19
- padding-top: 4px;
15
+ content: "";
16
+ display: inline-block;
17
+ width: 16px;
18
+ height: 16px;
19
+ background-color: var(--monster-color-primary-1);
20
+ mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' class='bi bi-filter-square' viewBox='0 0 16 16'%3E%3Cpath d='M14 1a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H2a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h12zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M6 11.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zm-2-3a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11a.5.5 0 0 1-.5-.5z'/%3E%3C/svg%3E");
21
+ mask-size: cover;
22
+ margin: 0 3px 0 5px;
20
23
  }
21
24
  }
22
- }
25
+ }
@@ -97,7 +97,7 @@
97
97
  }
98
98
 
99
99
  & monster-select {
100
- min-width: 350px;
100
+ min-width: 150px;
101
101
  }
102
102
 
103
103
  & [data-monster-visible=false] {
@@ -51,33 +51,7 @@
51
51
  cursor: not-allowed;
52
52
  }
53
53
  }
54
- /*
55
- & .pagination-loading-state {
56
- align-items: center;
57
- display: flex;
58
-
59
- &.hidden {
60
- display: none;
61
- }
62
-
63
- }
64
-
65
-
66
- & .pagination-error-state {
67
- align-items: center;
68
- display: flex;
69
-
70
- &.hidden {
71
- display: none;
72
- }
73
-
74
- }
75
54
 
76
- & .state-icon-container {
77
- width:2em;
78
- height:2em;
79
- margin:0 5px 0 2px;
80
- }*/
81
55
 
82
56
  }
83
57