@schukai/monster 3.96.0 → 3.96.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.
- package/CHANGELOG.md +22 -5
- package/package.json +1 -1
- package/source/components/content/copy.mjs +1 -1
- package/source/components/datatable/change-button.mjs +39 -41
- package/source/components/datatable/dataset.mjs +337 -327
- package/source/components/datatable/datasource/rest.mjs +3 -22
- package/source/components/datatable/embedded-pagination.mjs +3 -1
- package/source/components/datatable/pagination.mjs +14 -7
- package/source/components/datatable/save-button.mjs +25 -3
- package/source/components/datatable/status.mjs +21 -26
- package/source/components/datatable/style/status.pcss +12 -2
- package/source/components/datatable/stylesheet/status.mjs +1 -1
- package/source/components/datatable/util.mjs +1 -2
- package/source/components/form/api-bar.mjs +1 -1
- package/source/components/form/api-button.mjs +1 -1
- package/source/components/form/button-bar.mjs +1 -1
- package/source/components/form/button.mjs +2 -2
- package/source/components/form/confirm-button.mjs +1 -1
- package/source/components/form/form.mjs +6 -5
- package/source/components/form/select.mjs +12 -9
- package/source/components/form/style/field-set.pcss +35 -5
- package/source/components/form/style/toggle-switch.pcss +16 -2
- package/source/components/form/stylesheet/field-set.mjs +1 -1
- package/source/components/form/stylesheet/toggle-switch.mjs +1 -1
- package/source/components/form/toggle-switch.mjs +139 -91
- package/source/components/layout/tabs.mjs +4 -5
- package/source/components/layout/width-toggle.mjs +1 -1
- package/source/components/navigation/table-of-content.mjs +1 -1
- package/source/components/notify/message.mjs +1 -1
- package/source/components/notify/notify.mjs +2 -2
- package/source/components/state/log.mjs +1 -1
- package/source/components/state/state.mjs +1 -1
- package/source/components/style/theme.css +4 -4
- package/source/dom/constants.mjs +7 -5
- package/source/dom/updater.mjs +3 -6
- package/source/types/version.mjs +1 -1
- package/test/cases/components/form/toggle-switch.mjs +80 -65
- package/test/cases/monster.mjs +1 -1
- package/test/web/test.html +2 -2
- package/test/web/tests.js +154 -104
@@ -68,9 +68,9 @@ const filterObserverSymbol = Symbol("filterObserver");
|
|
68
68
|
*
|
69
69
|
* @fragments /fragments/components/datatable/datasource/rest
|
70
70
|
*
|
71
|
-
* @example /examples/components/datatable/datasource-rest-simple
|
72
|
-
* @example /examples/components/datatable/datasource-rest-auto-init
|
73
|
-
* @example /examples/components/datatable/datasource-rest-do-fetch
|
71
|
+
* @example /examples/components/datatable/datasource-rest-simple Simple Rest datasource
|
72
|
+
* @example /examples/components/datatable/datasource-rest-auto-init Auto init
|
73
|
+
* @example /examples/components/datatable/datasource-rest-do-fetch Rest datasource with fetch
|
74
74
|
*
|
75
75
|
* @issue https://localhost.alvine.dev:8443/development/issues/closed/272.html
|
76
76
|
*
|
@@ -368,25 +368,6 @@ class Rest extends Datasource {
|
|
368
368
|
});
|
369
369
|
});
|
370
370
|
}
|
371
|
-
|
372
|
-
// /**
|
373
|
-
// * @return {int}
|
374
|
-
// */
|
375
|
-
// currentPage() {
|
376
|
-
//
|
377
|
-
// const key = this.getOption("read.mapping.currentPage")
|
378
|
-
// if (key === undefined) {
|
379
|
-
// return 1;
|
380
|
-
// }
|
381
|
-
//
|
382
|
-
// const pf = new Pathfinder(this.data);
|
383
|
-
// if (pf.exists(key)) {
|
384
|
-
// return parseInt(pf.getVia(key), 10);
|
385
|
-
// }
|
386
|
-
//
|
387
|
-
// return 1;
|
388
|
-
//
|
389
|
-
// }
|
390
371
|
}
|
391
372
|
|
392
373
|
/**
|
@@ -39,7 +39,9 @@ class EmbeddedPagination extends Pagination {
|
|
39
39
|
* @return {symbol}
|
40
40
|
*/
|
41
41
|
static get [instanceSymbol]() {
|
42
|
-
return Symbol.for(
|
42
|
+
return Symbol.for(
|
43
|
+
"@schukai/monster/components/datatable/embedded-pagination",
|
44
|
+
);
|
43
45
|
}
|
44
46
|
|
45
47
|
/**
|
@@ -75,7 +75,7 @@ const debounceSizeSymbol = Symbol("debounceSize");
|
|
75
75
|
*
|
76
76
|
* @fragments /fragments/components/datatable/pagination
|
77
77
|
*
|
78
|
-
* @example /examples/components/datatable/pagination-simple
|
78
|
+
* @example /examples/components/datatable/pagination-simple Pagination
|
79
79
|
*
|
80
80
|
* @copyright schukai GmbH
|
81
81
|
* @summary The Pagination component is used to show the current page and the total number of pages.
|
@@ -211,7 +211,7 @@ class Pagination extends CustomElement {
|
|
211
211
|
showNumbers: ownWidth < parentWidth,
|
212
212
|
};
|
213
213
|
|
214
|
-
this[resizeObserverSymbol] = new ResizeObserver((
|
214
|
+
this[resizeObserverSymbol] = new ResizeObserver(() => {
|
215
215
|
if (this[debounceSizeSymbol] instanceof DeadMansSwitch) {
|
216
216
|
try {
|
217
217
|
this[debounceSizeSymbol].touch();
|
@@ -359,6 +359,7 @@ function initEventHandler() {
|
|
359
359
|
if (
|
360
360
|
!page ||
|
361
361
|
page === "" ||
|
362
|
+
page === "…" ||
|
362
363
|
page === null ||
|
363
364
|
page === undefined ||
|
364
365
|
page === "undefined" ||
|
@@ -460,7 +461,7 @@ function buildPagination(current, max) {
|
|
460
461
|
let next = current === max ? null : current + 1;
|
461
462
|
const itemList = [1];
|
462
463
|
|
463
|
-
if (current > 4) itemList.push(
|
464
|
+
if (current > 4) itemList.push(-1);
|
464
465
|
|
465
466
|
const r = 2;
|
466
467
|
const r1 = current - r;
|
@@ -468,7 +469,7 @@ function buildPagination(current, max) {
|
|
468
469
|
|
469
470
|
for (let i = r1 > 2 ? r1 : 2; i <= Math.min(max, r2); i++) itemList.push(i);
|
470
471
|
|
471
|
-
if (r2 + 1 < max) itemList.push(
|
472
|
+
if (r2 + 1 < max) itemList.push(-1);
|
472
473
|
if (r2 < max) itemList.push(max);
|
473
474
|
|
474
475
|
let prevClass = "";
|
@@ -483,7 +484,13 @@ function buildPagination(current, max) {
|
|
483
484
|
}
|
484
485
|
|
485
486
|
const items = itemList.map((item) => {
|
486
|
-
|
487
|
+
let p = `${item}`;
|
488
|
+
|
489
|
+
if (item === -1) {
|
490
|
+
item = null;
|
491
|
+
p = "…";
|
492
|
+
}
|
493
|
+
|
487
494
|
const c = `${current}`;
|
488
495
|
|
489
496
|
const obj = {
|
@@ -493,7 +500,7 @@ function buildPagination(current, max) {
|
|
493
500
|
class: (p === c ? "current" : "").trim(),
|
494
501
|
};
|
495
502
|
|
496
|
-
if (
|
503
|
+
if (item === null) {
|
497
504
|
obj.class += " disabled".trim();
|
498
505
|
}
|
499
506
|
|
@@ -502,7 +509,7 @@ function buildPagination(current, max) {
|
|
502
509
|
obj.description = formatter.format(this.getOption("labels.description"));
|
503
510
|
obj.label = formatter.format(this.getOption("labels.page"));
|
504
511
|
obj.href =
|
505
|
-
|
512
|
+
item === null
|
506
513
|
? "#"
|
507
514
|
: p === c
|
508
515
|
? "#"
|
@@ -19,7 +19,6 @@ import { ATTRIBUTE_ERRORMESSAGE } from "../../dom/constants.mjs";
|
|
19
19
|
import {
|
20
20
|
assembleMethodSymbol,
|
21
21
|
CustomElement,
|
22
|
-
attributeObserverSymbol,
|
23
22
|
registerCustomElement,
|
24
23
|
} from "../../dom/customelement.mjs";
|
25
24
|
import { findElementWithSelectorUpwards } from "../../dom/util.mjs";
|
@@ -30,6 +29,7 @@ import { clone } from "../../util/clone.mjs";
|
|
30
29
|
import { State } from "../form/types/state.mjs";
|
31
30
|
import { ATTRIBUTE_DATASOURCE_SELECTOR } from "./constants.mjs";
|
32
31
|
import { Datasource } from "./datasource.mjs";
|
32
|
+
import { Rest as RestDatasource } from "./datasource/rest.mjs";
|
33
33
|
import { BadgeStyleSheet } from "../stylesheet/badge.mjs";
|
34
34
|
import { SaveButtonStyleSheet } from "./stylesheet/save-button.mjs";
|
35
35
|
|
@@ -59,7 +59,16 @@ const originValuesSymbol = Symbol("originValues");
|
|
59
59
|
const badgeElementSymbol = Symbol("badgeElement");
|
60
60
|
|
61
61
|
/**
|
62
|
+
* A save button component
|
62
63
|
*
|
64
|
+
* @fragments /fragments/components/datatable/save-button
|
65
|
+
*
|
66
|
+
* @example /examples/components/datatable/save-button-simple Simple example
|
67
|
+
*
|
68
|
+
* @issue https://localhost.alvine.dev:8443/development/issues/closed/274.html
|
69
|
+
*
|
70
|
+
* @copyright schukai GmbH
|
71
|
+
* @summary This is a save button component that can be used to save changes to a datasource.
|
63
72
|
*/
|
64
73
|
class SaveButton extends CustomElement {
|
65
74
|
/**
|
@@ -68,7 +77,7 @@ class SaveButton extends CustomElement {
|
|
68
77
|
*/
|
69
78
|
static get [instanceSymbol]() {
|
70
79
|
return Symbol.for(
|
71
|
-
"@schukai/monster/components/
|
80
|
+
"@schukai/monster/components/datatable/save-button@@instance",
|
72
81
|
);
|
73
82
|
}
|
74
83
|
|
@@ -165,6 +174,12 @@ class SaveButton extends CustomElement {
|
|
165
174
|
throw new TypeError("the element must be a datasource");
|
166
175
|
}
|
167
176
|
|
177
|
+
if (element instanceof RestDatasource) {
|
178
|
+
element.addEventListener("monster-datasource-fetch", (event) => {
|
179
|
+
self[originValuesSymbol] = null;
|
180
|
+
});
|
181
|
+
}
|
182
|
+
|
168
183
|
this[datasourceLinkedElementSymbol] = element;
|
169
184
|
element.datasource.attachObserver(
|
170
185
|
new Observer(handleDataSourceChanges.bind(this)),
|
@@ -247,7 +262,13 @@ class SaveButton extends CustomElement {
|
|
247
262
|
|
248
263
|
/**
|
249
264
|
* @private
|
250
|
-
* @return {
|
265
|
+
* @return {SaveButton}
|
266
|
+
* @throws {Error} no shadow-root is defined
|
267
|
+
* @throws {TypeError} the element must be a datasource
|
268
|
+
* @throws {Error} the selector must match exactly one element
|
269
|
+
* @throws {Error} the selector must match exactly one element
|
270
|
+
* @throws {TypeError} the element must be a datasource
|
271
|
+
* @throws {Error} the selector must match exactly one element
|
251
272
|
*/
|
252
273
|
function initControlReferences() {
|
253
274
|
if (!this.shadowRoot) {
|
@@ -316,6 +337,7 @@ function initEventHandler() {
|
|
316
337
|
|
317
338
|
/**
|
318
339
|
* @param {Object} options
|
340
|
+
* @deprecated 2024-12-31
|
319
341
|
*/
|
320
342
|
function updateOptionsFromArguments(options) {
|
321
343
|
const selector = this.getAttribute(ATTRIBUTE_DATASOURCE_SELECTOR);
|
@@ -46,35 +46,16 @@ const errorElementSymbol = Symbol.for("errorElement");
|
|
46
46
|
const datasourceLinkedElementSymbol = Symbol("datasourceLinkedElement");
|
47
47
|
|
48
48
|
/**
|
49
|
-
*
|
49
|
+
* A simple dataset status component
|
50
50
|
*
|
51
|
-
*
|
51
|
+
* @fragments /fragments/components/datatable/datasource-status
|
52
52
|
*
|
53
|
-
*
|
53
|
+
* @example /examples/components/datatable/datasource-status-simple Simple dataset status
|
54
54
|
*
|
55
|
-
*
|
56
|
-
* Javascript via the `document.createElement('monster-pagination');` method.
|
57
|
-
*
|
58
|
-
* ```html
|
59
|
-
* <monster-pagination></monster-pagination>
|
60
|
-
* ```
|
61
|
-
*
|
62
|
-
* Or you can create this CustomControl directly in Javascript:
|
63
|
-
*
|
64
|
-
* ```js
|
65
|
-
* import '@schukai/component-datatable/source/pagination.mjs';
|
66
|
-
* document.createElement('monster-pagination');
|
67
|
-
* ```
|
68
|
-
*
|
69
|
-
* @startuml datasource-status.png
|
70
|
-
* skinparam monochrome true
|
71
|
-
* skinparam shadowing false
|
72
|
-
* HTMLElement <|-- CustomElement
|
73
|
-
* CustomElement <|-- Pagination
|
74
|
-
* @enduml
|
55
|
+
* @issue https://localhost.alvine.dev:8443/development/issues/closed/274.html
|
75
56
|
*
|
76
57
|
* @copyright schukai GmbH
|
77
|
-
* @summary
|
58
|
+
* @summary The Status component is used to show the current status of a datasource.
|
78
59
|
*/
|
79
60
|
class DatasourceStatus extends CustomElement {
|
80
61
|
/**
|
@@ -181,16 +162,30 @@ function initEventHandler() {
|
|
181
162
|
throw new TypeError("the element must be a datasource");
|
182
163
|
}
|
183
164
|
|
165
|
+
let fadeOutTimer = null;
|
166
|
+
|
184
167
|
this[datasourceLinkedElementSymbol] = element;
|
185
168
|
element.addEventListener("monster-datasource-fetched", function () {
|
186
|
-
|
169
|
+
fadeOutTimer = setTimeout(() => {
|
170
|
+
self.setOption("state.spinner", "hide");
|
171
|
+
}, 800);
|
187
172
|
});
|
188
173
|
|
189
174
|
element.addEventListener("monster-datasource-fetch", function () {
|
175
|
+
if (fadeOutTimer) {
|
176
|
+
clearTimeout(fadeOutTimer);
|
177
|
+
fadeOutTimer = null;
|
178
|
+
}
|
179
|
+
|
190
180
|
self.setOption("state.spinner", "show");
|
191
181
|
});
|
192
182
|
|
193
183
|
element.addEventListener("monster-datasource-error", function (event) {
|
184
|
+
if (fadeOutTimer) {
|
185
|
+
clearTimeout(fadeOutTimer);
|
186
|
+
fadeOutTimer = null;
|
187
|
+
}
|
188
|
+
|
194
189
|
self.setOption("state.spinner", "hide");
|
195
190
|
|
196
191
|
const timeout = self.getOption("timeouts.message", 4000);
|
@@ -227,7 +222,7 @@ function getTemplate() {
|
|
227
222
|
data-monster-attributes="disabled path:disabled | if:true">
|
228
223
|
<monster-context-error
|
229
224
|
data-monster-option-classes-button="monster-theme-error-2 monster-theme-background-inherit"></monster-context-error>
|
230
|
-
<div class="monster-
|
225
|
+
<div class="monster-spinner"
|
231
226
|
data-monster-attributes="data-monster-state-loader path:state.spinner"></div>
|
232
227
|
</div>
|
233
228
|
`;
|
@@ -7,6 +7,7 @@
|
|
7
7
|
@import "../../style/control.pcss";
|
8
8
|
@import "../../style/property.pcss";
|
9
9
|
@import "../../style/ripple.pcss";
|
10
|
+
@import "../../style/spinner.pcss";
|
10
11
|
|
11
12
|
|
12
13
|
[data-monster-role=control] {
|
@@ -22,11 +23,20 @@
|
|
22
23
|
width: 1.5rem !important;
|
23
24
|
height: 1.5rem !important;
|
24
25
|
visibility: hidden;
|
26
|
+
color: var(--monster-color-secondary-4);
|
27
|
+
background-color: var(--monster-bg-color-secondary-4);
|
25
28
|
}
|
26
|
-
|
27
|
-
|
29
|
+
|
28
30
|
& [data-monster-state-loader=show] {
|
29
31
|
visibility: visible;
|
32
|
+
opacity: 1;
|
33
|
+
transition: opacity 1s ease-in-out, visibility 1.1s ease-in-out;
|
34
|
+
}
|
35
|
+
|
36
|
+
& [data-monster-state-loader=hide] {
|
37
|
+
visibility: hidden;
|
38
|
+
opacity: 0;
|
39
|
+
transition: opacity 1s ease-in-out, visibility 1.1s ease-in-out;
|
30
40
|
}
|
31
41
|
}
|
32
42
|
|
@@ -25,7 +25,7 @@ try {
|
|
25
25
|
StatusStyleSheet.insertRule(
|
26
26
|
`
|
27
27
|
@layer status {
|
28
|
-
:where(html){line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:where(h1){font-size:2em;margin-block-end:.67em;margin-block-start:.67em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-end:0;margin-block-start:0}:where(hr){box-sizing:content-box;color:inherit;height:0}:where(abbr[title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(summary){display:list-item}html{height:100%}body,html{min-height:calc(100vh - 40px)}body{box-sizing:border-box;margin:0;padding:0;word-break:break-word}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.grid{display:grid}.inline-grid{display:inline-grid}.flex{display:flex}.inline-flex{display:inline-flex}.hidden,.hide,.none{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.monster-button-primary,button{align-items:center;background-color:var(--monster-bg-color-primary-1);background-position:50%;border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-color-primary-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-primary{background-color:var(--monster-bg-color-primary-4);border-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-button-secondary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-bg-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-color-secondary-4)}.monster-button-secondary,.monster-button-tertiary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-tertiary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-bg-color-tertiary-4);border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-color-tertiary-4)}.monster-button-outline-primary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-primary-4);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-bg-color-primary-4)}.monster-button-outline-primary,.monster-button-outline-secondary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-outline-secondary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-bg-color-secondary-4)}.monster-button-outline-tertiary{align-items:center;background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-tertiary-4);background-position:50%;border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-color-primary-1);color:var(--monster-bg-color-tertiary-4);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}button:active,button:hover{box-shadow:var(--monster-box-shadow-2);transition:background .8s,color .25s .0833333333s}button:active{z-index:var(--monster-z-index-outline)}.monster-button-bar,.monster-button-group{align-content:center;align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.monster-button-group{box-sizing:border-box;gap:0;margin:1rem 0}.monster-button-group>:not(:last-child){margin-right:calc(var(--monster-border-width)*-1)}.monster-button-group :hover{box-shadow:none}button:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px;z-index:var(--monster-z-index-outline)}@media (prefers-color-scheme:light){button:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px;z-index:var(--monster-z-index-outline)}}[data-monster-role=control]{box-sizing:border-box;outline:none;width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{box-sizing:border-box;display:block}:after,:before,:root{--monster-font-family:-apple-system,BlinkMacSystemFont,\"Quicksand\",\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";--monster-font-family-monospace:\"Consolas\",\"Courier New\",\"Roboto Mono\",\"Source Code Pro\",\"Fira Mono\",monospace;--monster-color-primary-1:var(--monster-color-gray-6);--monster-color-primary-2:var(--monster-color-gray-6);--monster-color-primary-3:var(--monster-color-cinnamon-1);--monster-color-primary-4:var(--monster-color-cinnamon-1);--monster-bg-color-primary-1:var(--monster-color-gray-1);--monster-bg-color-primary-2:var(--monster-color-gray-2);--monster-bg-color-primary-3:var(--monster-color-gray-6);--monster-bg-color-primary-4:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-1:var(--monster-color-gray-1);--monster-color-primary-2:var(--monster-color-gray-1);--monster-color-primary-3:var(--monster-color-gray-6);--monster-color-primary-4:var(--monster-color-gray-6);--monster-bg-color-primary-1:var(--monster-color-gray-6);--monster-bg-color-primary-2:var(--monster-color-gray-3);--monster-bg-color-primary-3:var(--monster-color-gray-2);--monster-bg-color-primary-4:var(--monster-color-gray-1)}}:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-4);--monster-color-secondary-2:var(--monster-color-red-4);--monster-color-secondary-3:var(--monster-color-red-1);--monster-color-secondary-4:var(--monster-color-red-1);--monster-bg-color-secondary-1:var(--monster-color-gray-1);--monster-bg-color-secondary-2:var(--monster-color-red-2);--monster-bg-color-secondary-3:var(--monster-color-red-3);--monster-bg-color-secondary-4:var(--monster-color-red-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-1);--monster-color-secondary-2:var(--monster-color-red-1);--monster-color-secondary-3:var(--monster-color-red-6);--monster-color-secondary-4:var(--monster-color-red-4);--monster-bg-color-secondary-1:var(--monster-color-gray-6);--monster-bg-color-secondary-2:var(--monster-color-red-3);--monster-bg-color-secondary-3:var(--monster-color-red-2);--monster-bg-color-secondary-4:var(--monster-color-red-1)}}:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-4);--monster-color-tertiary-2:var(--monster-color-magenta-4);--monster-color-tertiary-3:var(--monster-color-magenta-6);--monster-color-tertiary-4:var(--monster-color-magenta-1);--monster-bg-color-tertiary-1:var(--monster-color-gray-1);--monster-bg-color-tertiary-2:var(--monster-color-magenta-1);--monster-bg-color-tertiary-3:var(--monster-color-magenta-2);--monster-bg-color-tertiary-4:var(--monster-color-magenta-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-1);--monster-color-tertiary-2:var(--monster-color-magenta-6);--monster-color-tertiary-3:var(--monster-color-magenta-4);--monster-color-tertiary-4:var(--monster-color-magenta-4);--monster-bg-color-tertiary-1:var(--monster-color-gray-6);--monster-bg-color-tertiary-2:var(--monster-color-magenta-2);--monster-bg-color-tertiary-3:var(--monster-color-magenta-1);--monster-bg-color-tertiary-4:var(--monster-color-magenta-1)}}:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-4);--monster-color-destructive-3:var(--monster-color-red-6);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-4);--monster-bg-color-destructive-2:var(--monster-color-gray-1);--monster-bg-color-destructive-3:var(--monster-color-red-2);--monster-bg-color-destructive-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-3);--monster-color-destructive-3:var(--monster-color-red-4);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-5);--monster-bg-color-destructive-2:var(--monster-color-gray-6);--monster-bg-color-destructive-3:var(--monster-color-red-1);--monster-bg-color-destructive-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-4);--monster-color-success-3:var(--monster-color-green-6);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-3);--monster-bg-color-success-2:var(--monster-color-gray-1);--monster-bg-color-success-3:var(--monster-color-green-2);--monster-bg-color-success-4:var(--monster-color-green-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-2);--monster-color-success-3:var(--monster-color-green-4);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-5);--monster-bg-color-success-2:var(--monster-color-gray-6);--monster-bg-color-success-3:var(--monster-color-green-1);--monster-bg-color-success-4:var(--monster-color-green-3)}}:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-4);--monster-color-warning-3:var(--monster-color-orange-6);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-3);--monster-bg-color-warning-2:var(--monster-color-gray-1);--monster-bg-color-warning-3:var(--monster-color-orange-2);--monster-bg-color-warning-4:var(--monster-color-orange-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-3);--monster-color-warning-3:var(--monster-color-orange-4);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-5);--monster-bg-color-warning-2:var(--monster-color-gray-6);--monster-bg-color-warning-3:var(--monster-color-orange-1);--monster-bg-color-warning-4:var(--monster-color-orange-3)}}:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-4);--monster-color-error-3:var(--monster-color-red-6);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-4);--monster-bg-color-error-2:var(--monster-color-gray-1);--monster-bg-color-error-3:var(--monster-color-red-2);--monster-bg-color-error-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-3);--monster-color-error-3:var(--monster-color-red-4);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-5);--monster-bg-color-error-2:var(--monster-color-gray-6);--monster-bg-color-error-3:var(--monster-color-red-1);--monster-bg-color-error-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}}:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-4);--monster-color-primary-disabled-4:var(--monster-color-gray-4);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-1);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-3);--monster-color-primary-disabled-4:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-6);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-1)}}:after,:before,:root{--monster-color-gradient-1:#833ab4;--monster-color-gradient-2:#fd1d1d;--monster-color-gradient-3:#fcb045;--monster-box-shadow-1:none;--monster-box-shadow-2:-1px 1px 10px 1px hsla(0,0%,76%,.61);--monster-text-shadow:none;--monster-theme-control-bg-color:var(--monster-color-seashell-1);--monster-theme-control-color:var(--monster-color-seashell-6);--monster-theme-control-hover-color:var(--monster-color-seashell-6);--monster-theme-control-hover-bg-color:var(--monster-color-seashell-2);--monster-theme-control-border-width:2px;--monster-theme-control-border-style:solid;--monster-theme-control-border-radius:0;--monster-theme-control-border-color:var(--monster-color-primary-1)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-control-bg-color:var(--monster-color-gray-5);--monster-theme-control-color:var(--monster-color-gray-1);--monster-theme-control-border-color:var(--monster-color-gray-3);--monster-theme-control-hover-color:var(--monster-color-gray-1);--monster-theme-control-hover-bg-color:var(--monster-color-gray-6)}}:after,:before,:root{--monster-theme-on-color:var(--monster-color-green-1);--monster-theme-on-bg-color:var(--monster-color-green-5);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-on-color:var(--monster-color-gray-6);--monster-theme-on-bg-color:var(--monster-color-gray-1);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-5)}}:after,:before,:root{--monster-border-style:solid;--monster-border-width:3px;--monster-border-radius:0;--monster-popper-witharrrow-distance:-4px;--monster-z-index-default:0;--monster-z-index-outline:10;--monster-z-index-dropdown:200;--monster-z-index-dropdown-overlay:210;--monster-z-index-sticky:300;--monster-z-index-sticky-overlay:310;--monster-z-index-fixed:400;--monster-z-index-fixed-overlay:410;--monster-z-index-modal-backdrop:500;--monster-z-index-modal-backdrop-overlay:510;--monster-z-index-offcanvas:600;--monster-z-index-offcanvas-overlay:610;--monster-z-index-modal:700;--monster-z-index-modal-overlay:710;--monster-z-index-popover:800;--monster-z-index-popover-overlay:810;--monster-z-index-tooltip:800;--monster-z-index-tooltip-overlay:910;--monster-space-0:0;--monster-space-1:2px;--monster-space-2:4px;--monster-space-3:6px;--monster-space-4:10px;--monster-space-5:16px;--monster-space-6:26px;--monster-space-7:42px;--monster-breakpoint-0:480px;--monster-breakpoint-4:480px;--monster-breakpoint-7:768px;--monster-breakpoint-9:992px;--monster-breakpoint-12:1200px;--monster-dragger-width:2px;--monster-dragger-handle-width:4px;--monster-dragger-handle-height:50px}span.monster-fx-ripple{animation:monster-fx-ripple .6s linear;background-color:hsla(0,0%,100%,.7);border-radius:50%;position:absolute;transform:scale(0)}@keyframes monster-fx-ripple{to{opacity:0;transform:scale(4)}}[data-monster-role=control]{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;width:-moz-fit-content;width:fit-content}[data-monster-role=control] .monster-spinner{height:1.5rem!important;visibility:hidden;width:1.5rem!important}[data-monster-role=control] [data-monster-state-loader=show]{visibility:visible}:host{align-items:center;align-self:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;width:-moz-fit-content;width:fit-content}
|
28
|
+
:where(html){line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:where(h1){font-size:2em;margin-block-end:.67em;margin-block-start:.67em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-end:0;margin-block-start:0}:where(hr){box-sizing:content-box;color:inherit;height:0}:where(abbr[title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(summary){display:list-item}html{height:100%}body,html{min-height:calc(100vh - 40px)}body{box-sizing:border-box;margin:0;padding:0;word-break:break-word}body:focus-visible{outline:none}:focus-visible{outline:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.grid{display:grid}.inline-grid{display:inline-grid}.flex{display:flex}.inline-flex{display:inline-flex}.hidden,.hide,.none{display:none}.visible{visibility:visible}.invisible{visibility:hidden}.monster-button-primary,button{align-items:center;background-color:var(--monster-bg-color-primary-1);background-position:50%;border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-color-primary-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-primary{background-color:var(--monster-bg-color-primary-4);border-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-button-secondary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-bg-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-color-secondary-4)}.monster-button-secondary,.monster-button-tertiary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-tertiary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-bg-color-tertiary-4);border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-color-tertiary-4)}.monster-button-outline-primary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-primary-4);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-bg-color-primary-4)}.monster-button-outline-primary,.monster-button-outline-secondary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-outline-secondary{background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-primary-1);color:var(--monster-bg-color-secondary-4)}.monster-button-outline-tertiary{align-items:center;background-color:var(--monster-bg-color-primary-1);background-color:var(--monster-color-tertiary-4);background-position:50%;border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-color-primary-1);color:var(--monster-bg-color-tertiary-4);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}button:active,button:hover{box-shadow:var(--monster-box-shadow-2);transition:background .8s,color .25s .0833333333s}button:active{z-index:var(--monster-z-index-outline)}.monster-button-bar,.monster-button-group{align-content:center;align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.monster-button-group{box-sizing:border-box;gap:0;margin:1rem 0}.monster-button-group>:not(:last-child){margin-right:calc(var(--monster-border-width)*-1)}.monster-button-group :hover{box-shadow:none}button:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px;z-index:var(--monster-z-index-outline)}@media (prefers-color-scheme:light){button:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px;z-index:var(--monster-z-index-outline)}}[data-monster-role=control]{box-sizing:border-box;outline:none;width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{box-sizing:border-box;display:block}:after,:before,:root{--monster-font-family:-apple-system,BlinkMacSystemFont,\"Quicksand\",\"Segoe UI\",\"Roboto\",\"Oxygen\",\"Ubuntu\",\"Cantarell\",\"Fira Sans\",\"Droid Sans\",\"Helvetica Neue\",Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";--monster-font-family-monospace:\"Consolas\",\"Courier New\",\"Roboto Mono\",\"Source Code Pro\",\"Fira Mono\",monospace;--monster-color-primary-1:var(--monster-color-gray-6);--monster-color-primary-2:var(--monster-color-gray-6);--monster-color-primary-3:var(--monster-color-cinnamon-1);--monster-color-primary-4:var(--monster-color-cinnamon-1);--monster-bg-color-primary-1:var(--monster-color-gray-1);--monster-bg-color-primary-2:var(--monster-color-gray-2);--monster-bg-color-primary-3:var(--monster-color-gray-6);--monster-bg-color-primary-4:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-1:var(--monster-color-gray-1);--monster-color-primary-2:var(--monster-color-gray-1);--monster-color-primary-3:var(--monster-color-gray-6);--monster-color-primary-4:var(--monster-color-gray-6);--monster-bg-color-primary-1:var(--monster-color-gray-6);--monster-bg-color-primary-2:var(--monster-color-gray-3);--monster-bg-color-primary-3:var(--monster-color-gray-2);--monster-bg-color-primary-4:var(--monster-color-gray-1)}}:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-4);--monster-color-secondary-2:var(--monster-color-red-4);--monster-color-secondary-3:var(--monster-color-red-1);--monster-color-secondary-4:var(--monster-color-red-1);--monster-bg-color-secondary-1:var(--monster-color-gray-1);--monster-bg-color-secondary-2:var(--monster-color-red-2);--monster-bg-color-secondary-3:var(--monster-color-red-3);--monster-bg-color-secondary-4:var(--monster-color-red-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-secondary-1:var(--monster-color-red-1);--monster-color-secondary-2:var(--monster-color-red-1);--monster-color-secondary-3:var(--monster-color-red-6);--monster-color-secondary-4:var(--monster-color-red-4);--monster-bg-color-secondary-1:var(--monster-color-gray-6);--monster-bg-color-secondary-2:var(--monster-color-red-3);--monster-bg-color-secondary-3:var(--monster-color-red-2);--monster-bg-color-secondary-4:var(--monster-color-red-1)}}:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-4);--monster-color-tertiary-2:var(--monster-color-magenta-4);--monster-color-tertiary-3:var(--monster-color-magenta-6);--monster-color-tertiary-4:var(--monster-color-magenta-1);--monster-bg-color-tertiary-1:var(--monster-color-gray-1);--monster-bg-color-tertiary-2:var(--monster-color-magenta-1);--monster-bg-color-tertiary-3:var(--monster-color-magenta-2);--monster-bg-color-tertiary-4:var(--monster-color-magenta-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-tertiary-1:var(--monster-color-magenta-1);--monster-color-tertiary-2:var(--monster-color-magenta-6);--monster-color-tertiary-3:var(--monster-color-magenta-4);--monster-color-tertiary-4:var(--monster-color-magenta-4);--monster-bg-color-tertiary-1:var(--monster-color-gray-6);--monster-bg-color-tertiary-2:var(--monster-color-magenta-2);--monster-bg-color-tertiary-3:var(--monster-color-magenta-1);--monster-bg-color-tertiary-4:var(--monster-color-magenta-1)}}:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-4);--monster-color-destructive-3:var(--monster-color-red-6);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-4);--monster-bg-color-destructive-2:var(--monster-color-gray-1);--monster-bg-color-destructive-3:var(--monster-color-red-2);--monster-bg-color-destructive-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-destructive-1:var(--monster-color-red-1);--monster-color-destructive-2:var(--monster-color-red-3);--monster-color-destructive-3:var(--monster-color-red-4);--monster-color-destructive-4:var(--monster-color-red-1);--monster-bg-color-destructive-1:var(--monster-color-red-5);--monster-bg-color-destructive-2:var(--monster-color-gray-6);--monster-bg-color-destructive-3:var(--monster-color-red-1);--monster-bg-color-destructive-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-4);--monster-color-success-3:var(--monster-color-green-6);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-3);--monster-bg-color-success-2:var(--monster-color-gray-1);--monster-bg-color-success-3:var(--monster-color-green-2);--monster-bg-color-success-4:var(--monster-color-green-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-success-1:var(--monster-color-green-1);--monster-color-success-2:var(--monster-color-green-2);--monster-color-success-3:var(--monster-color-green-4);--monster-color-success-4:var(--monster-color-green-1);--monster-bg-color-success-1:var(--monster-color-green-5);--monster-bg-color-success-2:var(--monster-color-gray-6);--monster-bg-color-success-3:var(--monster-color-green-1);--monster-bg-color-success-4:var(--monster-color-green-3)}}:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-4);--monster-color-warning-3:var(--monster-color-orange-6);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-3);--monster-bg-color-warning-2:var(--monster-color-gray-1);--monster-bg-color-warning-3:var(--monster-color-orange-2);--monster-bg-color-warning-4:var(--monster-color-orange-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-warning-1:var(--monster-color-orange-1);--monster-color-warning-2:var(--monster-color-orange-3);--monster-color-warning-3:var(--monster-color-orange-4);--monster-color-warning-4:var(--monster-color-orange-1);--monster-bg-color-warning-1:var(--monster-color-orange-5);--monster-bg-color-warning-2:var(--monster-color-gray-6);--monster-bg-color-warning-3:var(--monster-color-orange-1);--monster-bg-color-warning-4:var(--monster-color-orange-3)}}:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-4);--monster-color-error-3:var(--monster-color-red-6);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-4);--monster-bg-color-error-2:var(--monster-color-gray-1);--monster-bg-color-error-3:var(--monster-color-red-2);--monster-bg-color-error-4:var(--monster-color-red-5)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-error-1:var(--monster-color-red-1);--monster-color-error-2:var(--monster-color-red-3);--monster-color-error-3:var(--monster-color-red-4);--monster-color-error-4:var(--monster-color-red-1);--monster-bg-color-error-1:var(--monster-color-red-5);--monster-bg-color-error-2:var(--monster-color-gray-6);--monster-bg-color-error-3:var(--monster-color-red-1);--monster-bg-color-error-4:var(--monster-color-red-4)}}:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-selection-1:var(--monster-color-gray-6);--monster-color-selection-2:var(--monster-color-gray-6);--monster-color-selection-3:var(--monster-color-gray-6);--monster-color-selection-4:var(--monster-color-gray-1);--monster-bg-color-selection-1:var(--monster-color-yellow-2);--monster-bg-color-selection-2:var(--monster-color-yellow-1);--monster-bg-color-selection-3:var(--monster-color-yellow-2);--monster-bg-color-selection-4:var(--monster-color-yellow-6)}}:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-4);--monster-color-primary-disabled-4:var(--monster-color-gray-4);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-1);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-6)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-color-primary-disabled-1:var(--monster-color-gray-4);--monster-color-primary-disabled-2:var(--monster-color-gray-4);--monster-color-primary-disabled-3:var(--monster-color-gray-3);--monster-color-primary-disabled-4:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-1:var(--monster-color-gray-6);--monster-bg-color-primary-disabled-2:var(--monster-color-gray-3);--monster-bg-color-primary-disabled-3:var(--monster-color-gray-2);--monster-bg-color-primary-disabled-4:var(--monster-color-gray-1)}}:after,:before,:root{--monster-color-gradient-1:#833ab4;--monster-color-gradient-2:#fd1d1d;--monster-color-gradient-3:#fcb045;--monster-box-shadow-1:none;--monster-box-shadow-2:-1px 1px 10px 1px hsla(0,0%,76%,.61);--monster-text-shadow:none;--monster-theme-control-bg-color:var(--monster-color-seashell-1);--monster-theme-control-color:var(--monster-color-seashell-6);--monster-theme-control-hover-color:var(--monster-color-seashell-6);--monster-theme-control-hover-bg-color:var(--monster-color-seashell-2);--monster-theme-control-border-width:2px;--monster-theme-control-border-style:solid;--monster-theme-control-border-radius:0;--monster-theme-control-border-color:var(--monster-color-primary-1)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-control-bg-color:var(--monster-color-gray-5);--monster-theme-control-color:var(--monster-color-gray-1);--monster-theme-control-border-color:var(--monster-color-gray-3);--monster-theme-control-hover-color:var(--monster-color-gray-1);--monster-theme-control-hover-bg-color:var(--monster-color-gray-6)}}:after,:before,:root{--monster-theme-on-color:var(--monster-color-green-1);--monster-theme-on-bg-color:var(--monster-color-green-5);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-4)}@media (prefers-color-scheme:dark){:after,:before,:root{--monster-theme-on-color:var(--monster-color-gray-6);--monster-theme-on-bg-color:var(--monster-color-gray-1);--monster-theme-off-color:var(--monster-color-gray-1);--monster-theme-off-bg-color:var(--monster-color-gray-5)}}:after,:before,:root{--monster-border-style:solid;--monster-border-width:3px;--monster-border-radius:0;--monster-outline-width:1px;--monster-popper-witharrrow-distance:-4px;--monster-z-index-default:0;--monster-z-index-outline:10;--monster-z-index-dropdown:200;--monster-z-index-dropdown-overlay:210;--monster-z-index-sticky:300;--monster-z-index-sticky-overlay:310;--monster-z-index-fixed:400;--monster-z-index-fixed-overlay:410;--monster-z-index-modal-backdrop:500;--monster-z-index-modal-backdrop-overlay:510;--monster-z-index-offcanvas:600;--monster-z-index-offcanvas-overlay:610;--monster-z-index-modal:700;--monster-z-index-modal-overlay:710;--monster-z-index-popover:800;--monster-z-index-popover-overlay:810;--monster-z-index-tooltip:800;--monster-z-index-tooltip-overlay:910;--monster-space-0:0;--monster-space-1:2px;--monster-space-2:4px;--monster-space-3:6px;--monster-space-4:10px;--monster-space-5:16px;--monster-space-6:26px;--monster-space-7:42px;--monster-breakpoint-0:480px;--monster-breakpoint-4:480px;--monster-breakpoint-7:768px;--monster-breakpoint-9:992px;--monster-breakpoint-12:1200px;--monster-dragger-width:2px;--monster-dragger-handle-width:4px;--monster-dragger-handle-height:50px}span.monster-fx-ripple{animation:monster-fx-ripple .6s linear;background-color:hsla(0,0%,100%,.7);border-radius:50%;position:absolute;transform:scale(0)}@keyframes monster-fx-ripple{to{opacity:0;transform:scale(4)}}.monster-spinner{height:100%;-webkit-mask:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='red' viewBox='0 0 44 44'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\") no-repeat 50% 50%;mask:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='red' viewBox='0 0 44 44'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2'%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='0s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3Ccircle cx='22' cy='22' r='1'%3E%3Canimate attributeName='r' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.165, 0.84, 0.44, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 20'/%3E%3Canimate attributeName='stroke-opacity' begin='-0.9s' calcMode='spline' dur='1.8s' keySplines='0.3, 0.61, 0.355, 1' keyTimes='0; 1' repeatCount='indefinite' values='1; 0'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E\") no-repeat 50% 50%}[data-monster-role=control]{align-items:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;width:-moz-fit-content;width:fit-content}[data-monster-role=control] .monster-spinner{background-color:var(--monster-bg-color-secondary-4);color:var(--monster-color-secondary-4);height:1.5rem!important;visibility:hidden;width:1.5rem!important}[data-monster-role=control] [data-monster-state-loader=show]{opacity:1;transition:opacity 1s ease-in-out,visibility 1.1s ease-in-out;visibility:visible}[data-monster-role=control] [data-monster-state-loader=hide]{opacity:0;transition:opacity 1s ease-in-out,visibility 1.1s ease-in-out;visibility:hidden}:host{align-items:center;align-self:center;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;width:-moz-fit-content;width:fit-content}
|
29
29
|
}`,
|
30
30
|
0,
|
31
31
|
);
|
@@ -56,7 +56,7 @@ const containerElementSymbol = Symbol("containerElement");
|
|
56
56
|
*
|
57
57
|
* @fragments /fragments/components/form/api-button/
|
58
58
|
*
|
59
|
-
* @example /examples/components/form/api-button-simple
|
59
|
+
* @example /examples/components/form/api-button-simple API Button
|
60
60
|
*
|
61
61
|
* @since 3.32.0
|
62
62
|
* @copyright schukai GmbH
|
@@ -129,7 +129,7 @@ const ATTRIBUTE_POPPER_POSITION = "data-monster-popper-position";
|
|
129
129
|
*
|
130
130
|
* @fragments /fragments/components/form/button-bar/
|
131
131
|
*
|
132
|
-
* @example /examples/components/form/button-bar-simple
|
132
|
+
* @example /examples/components/form/button-bar-simple Button bar
|
133
133
|
*
|
134
134
|
* @copyright schukai GmbH
|
135
135
|
* @summary This is a button bar control that can be used to display a set of buttons.
|
@@ -44,8 +44,8 @@ export const buttonElementSymbol = Symbol("buttonElement");
|
|
44
44
|
*
|
45
45
|
* @fragments /fragments/components/form/button/
|
46
46
|
*
|
47
|
-
* @example /examples/components/form/button-simple
|
48
|
-
* @example /examples/components/form/button-with-click-event
|
47
|
+
* @example /examples/components/form/button-simple Simple Button
|
48
|
+
* @example /examples/components/form/button-with-click-event Button with event
|
49
49
|
*
|
50
50
|
* @copyright schukai GmbH
|
51
51
|
* @summary A beautiful button that can make your life easier and also looks good.
|
@@ -93,7 +93,7 @@ const cancelButtonElementSymbol = Symbol("cancelButtonElement");
|
|
93
93
|
*
|
94
94
|
* @fragments /fragments/components/form/confirm-button/
|
95
95
|
*
|
96
|
-
* @example /examples/components/form/confirm-button-simple
|
96
|
+
* @example /examples/components/form/confirm-button-simple confirm button
|
97
97
|
*
|
98
98
|
* @since 1.5.0
|
99
99
|
* @copyright schukai GmbH
|
@@ -83,7 +83,7 @@ class Form extends DataSet {
|
|
83
83
|
},
|
84
84
|
|
85
85
|
reportValidity: {
|
86
|
-
selector: "input,select,textarea",
|
86
|
+
selector: "input,select,textarea,monster-select,monster-toggle-switch",
|
87
87
|
},
|
88
88
|
|
89
89
|
eventProcessing: true,
|
@@ -130,12 +130,13 @@ class Form extends DataSet {
|
|
130
130
|
/**
|
131
131
|
* This method is called when the component is created.
|
132
132
|
* @since 3.70.0
|
133
|
-
* @return {
|
133
|
+
* @return {Promise}
|
134
134
|
*/
|
135
135
|
refresh() {
|
136
|
-
this.write()
|
137
|
-
|
138
|
-
|
136
|
+
return this.write().then(() => {
|
137
|
+
super.refresh();
|
138
|
+
return this;
|
139
|
+
});
|
139
140
|
}
|
140
141
|
|
141
142
|
/**
|
@@ -38,7 +38,7 @@ import {
|
|
38
38
|
fireCustomEvent,
|
39
39
|
fireEvent,
|
40
40
|
} from "../../dom/events.mjs";
|
41
|
-
import { getDocument } from "../../dom/util.mjs";
|
41
|
+
import { getDocument, getWindow } from "../../dom/util.mjs";
|
42
42
|
import { Formatter } from "../../text/formatter.mjs";
|
43
43
|
import { getGlobal } from "../../types/global.mjs";
|
44
44
|
import { ID } from "../../types/id.mjs";
|
@@ -281,6 +281,7 @@ const FILTER_POSITION_INLINE = "inline";
|
|
281
281
|
* @fragments /fragments/components/form/select/
|
282
282
|
*
|
283
283
|
* @example /examples/components/form/select-with-options Select with options
|
284
|
+
* @example /examples/components/form/select-with-html-options Select with HTML options
|
284
285
|
* @example /examples/components/form/select-multiple Multiple selection
|
285
286
|
* @example /examples/components/form/select-filter Filter
|
286
287
|
* @example /examples/components/form/select-fetch Fetch options
|
@@ -1011,12 +1012,12 @@ function parseSlotsToOptions() {
|
|
1011
1012
|
value = node.getAttribute("data-monster-value");
|
1012
1013
|
}
|
1013
1014
|
|
1015
|
+
let label = node.outerHTML;
|
1016
|
+
|
1014
1017
|
if (node.style.display === "none") {
|
1015
1018
|
visibility = "hidden";
|
1016
1019
|
}
|
1017
1020
|
|
1018
|
-
const label = node.outerHTML;
|
1019
|
-
|
1020
1021
|
options.push({
|
1021
1022
|
value,
|
1022
1023
|
label,
|
@@ -1171,7 +1172,7 @@ function initOptionObserver() {
|
|
1171
1172
|
try {
|
1172
1173
|
self.updateI18n();
|
1173
1174
|
} catch (e) {
|
1174
|
-
|
1175
|
+
addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, e.message);
|
1175
1176
|
requestAnimationFrame(() => {
|
1176
1177
|
setStatusOrRemoveBadges.call(self, "error");
|
1177
1178
|
});
|
@@ -1179,7 +1180,7 @@ function initOptionObserver() {
|
|
1179
1180
|
try {
|
1180
1181
|
areOptionsAvailableAndInit.call(self);
|
1181
1182
|
} catch (e) {
|
1182
|
-
|
1183
|
+
addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, e.message);
|
1183
1184
|
requestAnimationFrame(() => {
|
1184
1185
|
setStatusOrRemoveBadges.call(self, "error");
|
1185
1186
|
});
|
@@ -1233,7 +1234,7 @@ function setSummaryAndControlText() {
|
|
1233
1234
|
current === msg ||
|
1234
1235
|
current === null
|
1235
1236
|
) {
|
1236
|
-
if (selections
|
1237
|
+
if (selections.length === 0) {
|
1237
1238
|
this.setOption("messages.control", msg);
|
1238
1239
|
} else {
|
1239
1240
|
this.setOption("messages.control", "");
|
@@ -2069,17 +2070,17 @@ function convertSelectionToValue(selection) {
|
|
2069
2070
|
* @throws {Error} no shadow-root is defined
|
2070
2071
|
*/
|
2071
2072
|
function setSelection(selection) {
|
2072
|
-
if (isString(selection)) {
|
2073
|
+
if (isString(selection) || isInteger(selection)) {
|
2073
2074
|
const result = convertValueToSelection.call(this, selection);
|
2074
2075
|
selection = result?.selection;
|
2075
|
-
} else if (selection === undefined) {
|
2076
|
+
} else if (selection === undefined || selection === null) {
|
2076
2077
|
selection = [];
|
2077
2078
|
}
|
2078
2079
|
|
2079
2080
|
validateArray(selection);
|
2080
2081
|
|
2081
2082
|
for (let i = 0; i < selection.length; i++) {
|
2082
|
-
|
2083
|
+
let l = getSelectionLabel.call(this, selection[i].value);
|
2083
2084
|
if (l === selection[i].value) {
|
2084
2085
|
l = selection[i].label;
|
2085
2086
|
}
|
@@ -2092,6 +2093,7 @@ function setSelection(selection) {
|
|
2092
2093
|
|
2093
2094
|
this.setOption("selection", selection);
|
2094
2095
|
checkOptionState.call(this);
|
2096
|
+
setSummaryAndControlText.call(this);
|
2095
2097
|
|
2096
2098
|
try {
|
2097
2099
|
this?.setFormValue(this.value);
|
@@ -2124,6 +2126,7 @@ function setSelection(selection) {
|
|
2124
2126
|
}
|
2125
2127
|
|
2126
2128
|
const selected = this.shadowRoot.querySelectorAll(":checked");
|
2129
|
+
|
2127
2130
|
if (selected) {
|
2128
2131
|
selected.forEach((node) => {
|
2129
2132
|
const parent = node.closest(`[${ATTRIBUTE_ROLE}=option]`);
|