@schukai/monster 3.96.2 → 3.97.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/CHANGELOG.md +23 -94
  2. package/package.json +1 -1
  3. package/source/components/accessibility/locale-picker.mjs +598 -0
  4. package/source/components/accessibility/style/locale-picker.css +1 -0
  5. package/source/components/accessibility/style/locale-picker.pcss +26 -0
  6. package/source/components/accessibility/stylesheet/locale-picker.mjs +31 -0
  7. package/source/components/content/stylesheet/copy.mjs +2 -2
  8. package/source/components/datatable/datasource/rest.mjs +33 -10
  9. package/source/components/datatable/filter.mjs +164 -63
  10. package/source/components/datatable/stylesheet/change-button.mjs +2 -2
  11. package/source/components/datatable/stylesheet/column-bar.mjs +2 -2
  12. package/source/components/datatable/stylesheet/dataset.mjs +2 -2
  13. package/source/components/datatable/stylesheet/datasource.mjs +1 -1
  14. package/source/components/datatable/stylesheet/datatable.mjs +1 -1
  15. package/source/components/datatable/stylesheet/embedded-pagination.mjs +2 -2
  16. package/source/components/datatable/stylesheet/filter-button.mjs +1 -1
  17. package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +1 -1
  18. package/source/components/datatable/stylesheet/filter-date-range.mjs +1 -1
  19. package/source/components/datatable/stylesheet/filter-range.mjs +1 -1
  20. package/source/components/datatable/stylesheet/filter-select.mjs +2 -2
  21. package/source/components/datatable/stylesheet/filter.mjs +2 -2
  22. package/source/components/datatable/stylesheet/pagination.mjs +1 -1
  23. package/source/components/datatable/stylesheet/save-button.mjs +2 -2
  24. package/source/components/datatable/stylesheet/status.mjs +1 -1
  25. package/source/components/form/form.mjs +4 -2
  26. package/source/components/form/stylesheet/action-button.mjs +1 -1
  27. package/source/components/form/stylesheet/api-bar.mjs +1 -1
  28. package/source/components/form/stylesheet/api-button.mjs +1 -1
  29. package/source/components/form/stylesheet/button-bar.mjs +1 -1
  30. package/source/components/form/stylesheet/button.mjs +1 -1
  31. package/source/components/form/stylesheet/confirm-button.mjs +1 -1
  32. package/source/components/form/stylesheet/context-error.mjs +1 -1
  33. package/source/components/form/stylesheet/context-help.mjs +1 -1
  34. package/source/components/form/stylesheet/field-set.mjs +1 -1
  35. package/source/components/form/stylesheet/form.mjs +1 -1
  36. package/source/components/form/stylesheet/input-group.mjs +1 -1
  37. package/source/components/form/stylesheet/message-state-button.mjs +1 -1
  38. package/source/components/form/stylesheet/password.mjs +1 -1
  39. package/source/components/form/stylesheet/popper-button.mjs +1 -1
  40. package/source/components/form/stylesheet/select.mjs +1 -1
  41. package/source/components/form/stylesheet/state-button.mjs +1 -1
  42. package/source/components/form/stylesheet/toggle-switch.mjs +1 -1
  43. package/source/components/form/stylesheet/tree-select.mjs +1 -1
  44. package/source/components/host/stylesheet/call-button.mjs +2 -2
  45. package/source/components/host/stylesheet/config-manager.mjs +1 -1
  46. package/source/components/host/stylesheet/host.mjs +2 -2
  47. package/source/components/host/stylesheet/overlay.mjs +2 -2
  48. package/source/components/host/stylesheet/toggle-button.mjs +2 -2
  49. package/source/components/host/stylesheet/viewer.mjs +2 -2
  50. package/source/components/layout/stylesheet/collapse.mjs +2 -2
  51. package/source/components/layout/stylesheet/details.mjs +2 -2
  52. package/source/components/layout/stylesheet/iframe.mjs +1 -1
  53. package/source/components/layout/stylesheet/panel.mjs +2 -2
  54. package/source/components/layout/stylesheet/popper.mjs +1 -1
  55. package/source/components/layout/stylesheet/slider.mjs +2 -2
  56. package/source/components/layout/stylesheet/split-panel.mjs +1 -1
  57. package/source/components/layout/stylesheet/tabs.mjs +2 -2
  58. package/source/components/layout/stylesheet/width-toggle.mjs +1 -1
  59. package/source/components/navigation/stylesheet/table-of-content.mjs +2 -2
  60. package/source/components/notify/stylesheet/message.mjs +2 -2
  61. package/source/components/notify/stylesheet/notify.mjs +1 -1
  62. package/source/components/state/stylesheet/log.mjs +1 -1
  63. package/source/components/state/stylesheet/state.mjs +1 -1
  64. package/source/components/style/property.css +1 -0
  65. package/source/components/style/theme.css +4 -4
  66. package/source/components/stylesheet/badge.mjs +1 -1
  67. package/source/components/stylesheet/border.mjs +1 -1
  68. package/source/components/stylesheet/button.mjs +1 -1
  69. package/source/components/stylesheet/card.mjs +1 -1
  70. package/source/components/stylesheet/color.mjs +1 -1
  71. package/source/components/stylesheet/common.mjs +1 -1
  72. package/source/components/stylesheet/control.mjs +1 -1
  73. package/source/components/stylesheet/data-grid.mjs +1 -1
  74. package/source/components/stylesheet/display.mjs +1 -1
  75. package/source/components/stylesheet/floating-ui.mjs +1 -1
  76. package/source/components/stylesheet/form.mjs +1 -1
  77. package/source/components/stylesheet/host.mjs +1 -1
  78. package/source/components/stylesheet/icons.mjs +1 -1
  79. package/source/components/stylesheet/link.mjs +1 -1
  80. package/source/components/stylesheet/mixin/badge.mjs +1 -1
  81. package/source/components/stylesheet/mixin/button.mjs +1 -1
  82. package/source/components/stylesheet/mixin/hover.mjs +1 -1
  83. package/source/components/stylesheet/mixin/icon.mjs +1 -1
  84. package/source/components/stylesheet/mixin/media.mjs +1 -1
  85. package/source/components/stylesheet/mixin/property.mjs +1 -1
  86. package/source/components/stylesheet/mixin/skeleton.mjs +1 -1
  87. package/source/components/stylesheet/mixin/spinner.mjs +1 -1
  88. package/source/components/stylesheet/mixin/typography.mjs +1 -1
  89. package/source/components/stylesheet/normalize.mjs +1 -1
  90. package/source/components/stylesheet/popper.mjs +1 -1
  91. package/source/components/stylesheet/property.mjs +2 -2
  92. package/source/components/stylesheet/ripple.mjs +1 -1
  93. package/source/components/stylesheet/skeleton.mjs +1 -1
  94. package/source/components/stylesheet/space.mjs +1 -1
  95. package/source/components/stylesheet/spinner.mjs +1 -1
  96. package/source/components/stylesheet/table.mjs +1 -1
  97. package/source/components/stylesheet/theme.mjs +1 -1
  98. package/source/components/stylesheet/typography.mjs +1 -1
  99. package/source/components/tree-menu/stylesheet/tree-menu.mjs +1 -1
  100. package/source/constants.mjs +14 -1
  101. package/source/data/extend.mjs +2 -1
  102. package/source/data/transformer.mjs +2 -0
  103. package/source/dom/customelement.mjs +7 -3
  104. package/source/dom/updater.mjs +5 -1
  105. package/source/i18n/locale.mjs +151 -151
  106. package/source/i18n/map/languages.mjs +104 -0
  107. package/source/i18n/util.mjs +139 -0
  108. package/source/monster.mjs +1 -1
  109. package/source/text/formatter.mjs +5 -3
  110. package/source/types/is.mjs +13 -0
  111. package/source/types/proxyobserver.mjs +7 -2
  112. package/source/types/version.mjs +1 -1
  113. package/source/util/clone.mjs +9 -14
  114. package/test/cases/data/pathfinder.mjs +18 -0
  115. package/test/cases/i18n/util.mjs +295 -0
  116. package/test/cases/monster.mjs +1 -1
  117. package/test/cases/text/formatter.mjs +21 -1
  118. package/test/web/test.html +2 -2
  119. package/test/web/tests.js +115 -75
@@ -13,7 +13,10 @@
13
13
  */
14
14
 
15
15
  import { instanceSymbol } from "../../constants.mjs";
16
- import { findTargetElementFromEvent } from "../../dom/events.mjs";
16
+ import {
17
+ findTargetElementFromEvent,
18
+ fireCustomEvent,
19
+ } from "../../dom/events.mjs";
17
20
  import {
18
21
  findElementWithIdUpwards,
19
22
  findElementWithSelectorUpwards,
@@ -25,7 +28,6 @@ import {
25
28
  registerCustomElement,
26
29
  } from "../../dom/customelement.mjs";
27
30
  import { ID } from "../../types/id.mjs";
28
- import { DeadMansSwitch } from "../../util/deadmansswitch.mjs";
29
31
  import { Settings } from "./filter/settings.mjs";
30
32
  import { FilterStyleSheet } from "./stylesheet/filter.mjs";
31
33
  import { getDocument, getWindow } from "../../dom/util.mjs";
@@ -54,6 +56,14 @@ import {
54
56
 
55
57
  import "./filter/select.mjs";
56
58
 
59
+ import "../form/button.mjs";
60
+ import "../form/select.mjs";
61
+ import "../form/popper-button.mjs";
62
+ import "../form/toggle-switch.mjs";
63
+ import "../form/context-help.mjs";
64
+ import "../form/context-error.mjs";
65
+ import "../form/message-state-button.mjs";
66
+
57
67
  export { Filter };
58
68
 
59
69
  /**
@@ -130,9 +140,23 @@ const sizeDataSymbol = Symbol("sizeData");
130
140
  */
131
141
  const debounceSizeSymbol = Symbol("debounceSize");
132
142
 
143
+ /**
144
+ * @private
145
+ * @type {symbol}
146
+ */
147
+ const hashChangeSymbol = Symbol("hashChange");
148
+
133
149
  /**
134
150
  * The Filter component is used to show and handle the filter values.
135
151
  *
152
+ * @fragments /fragments/components/datatable/filter
153
+ *
154
+ * @example /examples/components/datatable/filter-simple First filter
155
+ * @example /examples/components/datatable/filter-advanced Advanced filter
156
+ * @example /examples/components/datatable/filter-store Store filter
157
+ *
158
+ * @issue https://localhost.alvine.dev:8443/development/issues/closed/272.html
159
+ *
136
160
  * @copyright schukai GmbH
137
161
  * @summary The Filter component is used to show and handle the filter values.
138
162
  */
@@ -143,6 +167,9 @@ class Filter extends CustomElement {
143
167
  constructor() {
144
168
  super();
145
169
  this[settingsSymbol] = new Settings();
170
+
171
+ // debounce the hash change event if doSearch is called by click the search button
172
+ this[hashChangeSymbol] = 0;
146
173
  }
147
174
 
148
175
  /**
@@ -171,7 +198,7 @@ class Filter extends CustomElement {
171
198
 
172
199
  /**
173
200
  *
174
- * @return {{Filter}}
201
+ * @return {Filter}
175
202
  */
176
203
  resetFailureMessage() {
177
204
  this[searchButtonElementSymbol].hideMessage();
@@ -181,7 +208,7 @@ class Filter extends CustomElement {
181
208
 
182
209
  /**
183
210
  *
184
- * @return {{Filter}}
211
+ * @return {Filter}
185
212
  */
186
213
  showSuccess() {
187
214
  this[searchButtonElementSymbol].setState(
@@ -210,8 +237,10 @@ class Filter extends CustomElement {
210
237
  * @property {Object} formatter.marker Marker definitions
211
238
  * @property {Object} formatter.marker.open Marker open
212
239
  * @property {Object} formatter.marker.close Marker close
240
+ * @property {Object} features Feature definitions
241
+ * @property {boolean} features.storedConfig Stored configuration, this replaces the setting `storedConfig.enabled` @since 3.97.0
213
242
  * @property {Object} storedConfig Stored configuration
214
- * @property {boolean} storedConfig.enabled Enabled
243
+ * @property {boolean} storedConfig.enabled The store has been enabled, this option will no longer have any effect. @deprecated 20250101
215
244
  * @property {string} storedConfig.selector Selector
216
245
  * @property {Object} timeouts Timeout definitions
217
246
  * @property {number} timeouts.message Message timeout
@@ -227,19 +256,23 @@ class Filter extends CustomElement {
227
256
  templates: {
228
257
  main: getTemplate(),
229
258
  },
259
+
230
260
  formatter: {
231
261
  marker: {
232
262
  open: null,
233
263
  close: null,
234
264
  },
235
265
  },
266
+
236
267
  labels: {
237
268
  search: "Search",
238
269
  reset: "Reset",
239
270
  save: "Save",
240
271
  "filter-name": "Filter name",
241
- "empty-query-and-no-default": "Please select a filter",
242
- "query-not-changed": "The query has not changed",
272
+ "empty-query-and-no-default":
273
+ "The query is empty and there is no default query.",
274
+ "query-not-changed":
275
+ "The search request has not changed, so no search is required.",
243
276
  },
244
277
 
245
278
  templateMapping: {
@@ -247,6 +280,10 @@ class Filter extends CustomElement {
247
280
  "filter-name-label": name,
248
281
  },
249
282
 
283
+ features: {
284
+ storedConfig: false,
285
+ },
286
+
250
287
  storedConfig: {
251
288
  enabled: true,
252
289
  selector: "",
@@ -268,8 +305,8 @@ class Filter extends CustomElement {
268
305
  },
269
306
  },
270
307
 
271
- query: undefined,
272
- defaultQuery: "",
308
+ query: null,
309
+ defaultQuery: null,
273
310
  eventProcessing: true,
274
311
  });
275
312
  }
@@ -284,12 +321,14 @@ class Filter extends CustomElement {
284
321
 
285
322
  /**
286
323
  * @return {FilterButton}
324
+ * @fires monster-filter-initialized
287
325
  */
288
326
  [assembleMethodSymbol]() {
289
327
  this.setOption(
290
328
  "templateMapping.filter-save-label",
291
329
  this.getOption("labels.save"),
292
330
  );
331
+
293
332
  this.setOption(
294
333
  "templateMapping.filter-name-label",
295
334
  this.getOption("labels.filter-name"),
@@ -302,12 +341,19 @@ class Filter extends CustomElement {
302
341
 
303
342
  initFromConfig
304
343
  .call(this)
305
- .then(() => {
306
- initFilter.call(this);
307
- updateFilterTabs.call(this);
308
- })
344
+ .then(() => {})
309
345
  .catch((error) => {
310
346
  addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, error?.message);
347
+ })
348
+ .finally(() => {
349
+ initFilter.call(this);
350
+ updateFilterTabs.call(this);
351
+ doSearch
352
+ .call(this, { showEffect: false })
353
+ .then(() => {
354
+ fireCustomEvent(this, "monster-filter-initialized");
355
+ })
356
+ .catch(() => {});
311
357
  });
312
358
  }
313
359
 
@@ -316,7 +362,6 @@ class Filter extends CustomElement {
316
362
  */
317
363
  connectedCallback() {
318
364
  super.connectedCallback();
319
-
320
365
  getWindow().addEventListener(
321
366
  "hashchange",
322
367
  this[locationChangeHandlerSymbol],
@@ -385,10 +430,13 @@ function updateFilterSelections() {
385
430
  queueMicrotask(() => {
386
431
  const options = this[settingsSymbol].getOptions();
387
432
  this[filterSelectElementSymbol].setOption("options", options);
388
- queueMicrotask(() => {
389
- this[filterSelectElementSymbol].value =
390
- this[settingsSymbol].getSelected();
391
- });
433
+
434
+ setTimeout(() => {
435
+ window.requestAnimationFrame(() => {
436
+ this[filterSelectElementSymbol].value =
437
+ this[settingsSymbol].getSelected();
438
+ });
439
+ }, 0);
392
440
  });
393
441
  }
394
442
 
@@ -411,7 +459,12 @@ function initFilter() {
411
459
  .forEach((element) => {
412
460
  const label = element.getAttribute("data-monster-label");
413
461
  if (!label) {
414
- throw new Error("no filter label is defined");
462
+ addAttributeToken(
463
+ this,
464
+ ATTRIBUTE_ERRORMESSAGE,
465
+ "no filter label is defined",
466
+ );
467
+ return;
415
468
  }
416
469
 
417
470
  let value = element.id;
@@ -448,6 +501,7 @@ function initFilter() {
448
501
 
449
502
  this[settingsSymbol].set({ value, label, visible });
450
503
  });
504
+
451
505
  updateFilterSelections.call(this);
452
506
  }
453
507
 
@@ -499,6 +553,33 @@ function setSlotAttribute(element, visible) {
499
553
  */
500
554
  function initEventHandler() {
501
555
  const self = this;
556
+
557
+ let lastHash = getGlobal().location.hash;
558
+ self[locationChangeHandlerSymbol] = () => {
559
+ if (lastHash === getGlobal().location.hash) {
560
+ return;
561
+ }
562
+
563
+ /**
564
+ * debounce the hash change event if doSearch
565
+ * is called by click the search button
566
+ */
567
+ if (self[hashChangeSymbol] > 0) {
568
+ self[hashChangeSymbol]--;
569
+ return;
570
+ }
571
+
572
+ initFilter.call(this);
573
+
574
+ doSearch
575
+ .call(self)
576
+ .then(() => {})
577
+ .catch((error) => {})
578
+ .finally(() => {
579
+ lastHash = getGlobal().location.hash;
580
+ });
581
+ };
582
+
502
583
  /**
503
584
  * Monster.Components.Form.event:monster-selection-cleared
504
585
  */
@@ -542,6 +623,7 @@ function initEventHandler() {
542
623
  );
543
624
  }
544
625
 
626
+ /** save the current filter */
545
627
  if (self[filterSaveActionButtonElementSymbol]) {
546
628
  self[filterSaveActionButtonElementSymbol].setOption(
547
629
  "actions.click",
@@ -641,6 +723,8 @@ function initEventHandler() {
641
723
  }
642
724
 
643
725
  self[searchButtonElementSymbol].setOption("actions.click", () => {
726
+ self[hashChangeSymbol] = 1;
727
+
644
728
  doSearch
645
729
  .call(self)
646
730
  .then(() => {})
@@ -684,7 +768,10 @@ function initEventHandler() {
684
768
  }
685
769
 
686
770
  if (event.keyCode === 13) {
687
- doSearch.call(self, { showEffect: false });
771
+ doSearch
772
+ .call(self, { showEffect: false })
773
+ .then(() => {})
774
+ .catch((error) => {});
688
775
  }
689
776
  });
690
777
 
@@ -696,6 +783,7 @@ function initEventHandler() {
696
783
  }
697
784
 
698
785
  function initTabEvents() {
786
+ const self = this;
699
787
  this[filterTabElementSymbol].addEventListener(
700
788
  "monster-tab-changed",
701
789
  (event) => {
@@ -836,7 +924,18 @@ function doSearch({ showEffect } = { showEffect: true }) {
836
924
  .call(this)
837
925
  .then((query) => {
838
926
  const buildQuery = buildSearchQuery.call(this, query);
839
- if (buildQuery === "" && !this.getOption("defaultQuery")) {
927
+ if (buildQuery === null) {
928
+ const msg = this.getOption("labels.empty-query-and-no-default");
929
+ if (showEffect) {
930
+ this[searchButtonElementSymbol].removeState();
931
+ this[searchButtonElementSymbol]
932
+ .setMessage(msg)
933
+ .showMessage(this.getOption("timeouts.message", 4000));
934
+ }
935
+ return Promise.reject(new Error(msg));
936
+ }
937
+
938
+ if (buildQuery === "" && this.getOption("defaultQuery") === null) {
840
939
  const msg = this.getOption("labels.empty-query-and-no-default");
841
940
 
842
941
  if (showEffect) {
@@ -846,7 +945,7 @@ function doSearch({ showEffect } = { showEffect: true }) {
846
945
  .showMessage(this.getOption("timeouts.message", 4000));
847
946
  }
848
947
 
849
- throw new Error(msg);
948
+ return Promise.reject(new Error(msg));
850
949
  }
851
950
 
852
951
  if (buildQuery === this.getOption("query")) {
@@ -859,7 +958,7 @@ function doSearch({ showEffect } = { showEffect: true }) {
859
958
  .showMessage(this.getOption("timeouts.message", 4000));
860
959
  }
861
960
 
862
- throw new Error(msg);
961
+ return Promise.reject(new Error(msg));
863
962
  }
864
963
 
865
964
  if (showEffect) {
@@ -870,6 +969,8 @@ function doSearch({ showEffect } = { showEffect: true }) {
870
969
  }
871
970
 
872
971
  this.setOption("query", buildSearchQuery.call(this, query));
972
+
973
+ return Promise.resolve();
873
974
  })
874
975
  .catch((error) => {
875
976
  if (error instanceof Error) {
@@ -945,7 +1046,6 @@ function collectSearchQueries() {
945
1046
  return;
946
1047
  }
947
1048
 
948
- //const visible = window.getComputedStyle(element).display !== "none";
949
1049
  const visible = getVisibilityFromSlotAttribute(element);
950
1050
  if (!visible) {
951
1051
  return;
@@ -1136,49 +1236,50 @@ function updateConfig() {
1136
1236
  */
1137
1237
  function getTemplate() {
1138
1238
  // language=HTML
1139
- return `<div data-monster-role="control" part="control">
1140
- <div data-monster-role="container">
1141
- <div data-monster-role="layout">
1142
- <div data-monster-role="filter">
1143
- <slot></slot>
1144
- <slot name="hidden"></slot>
1145
- </div>
1146
- <div data-monster-role="select-and-search">
1147
- <monster-message-state-button data-monster-role="search-button" class="stretched-control"
1148
- data-monster-replace="path:labels.search">
1149
- </monster-message-state-button>
1150
- <monster-select class="stretched-control"
1151
- data-monster-selected-template="summary"
1152
- data-monster-option-type="checkbox"
1153
- data-monster-option-filter-mode="options"
1154
- data-monster-option-filter-position="popper"
1155
- data-monster-role="filter-select"></monster-select>
1156
- <monster-popper-button data-monster-role="save-button" class="stretched-control"
1157
- data-monster-attributes="data-monster-visible path:storedConfig.enabled">
1158
- <div slot="button">\${filter-save-label}</div>
1159
- <div class="monster-form" data-monster-role="form">
1160
-
1161
- <label for="filter-name">\${filter-name-label}
1162
- <input name="filter-name"
1163
- type="search"
1164
- class="monster-margin-bottom-5"></label>
1165
- <monster-message-state-button
1166
- data-monster-role="save-action-button"
1167
- data-monster-option-labels-button="\${filter-save-label}">
1239
+ return `
1240
+ <div data-monster-role="control" part="control">
1241
+ <div data-monster-role="container">
1242
+ <div data-monster-role="layout">
1243
+ <div data-monster-role="filter">
1244
+ <slot></slot>
1245
+ <slot name="hidden"></slot>
1246
+ </div>
1247
+ <div data-monster-role="select-and-search">
1248
+ <monster-message-state-button data-monster-role="search-button" class="stretched-control"
1249
+ data-monster-replace="path:labels.search">
1168
1250
  </monster-message-state-button>
1169
-
1251
+ <monster-select class="stretched-control"
1252
+ data-monster-selected-template="summary"
1253
+ data-monster-option-type="checkbox"
1254
+ data-monster-option-filter-mode="options"
1255
+ data-monster-option-filter-position="popper"
1256
+ data-monster-role="filter-select"></monster-select>
1257
+ <monster-popper-button data-monster-role="save-button" class="stretched-control"
1258
+ data-monster-attributes="data-monster-visible path:features.storedConfig">
1259
+ <div slot="button">\${filter-save-label}</div>
1260
+ <div class="monster-form" data-monster-role="form">
1261
+
1262
+ <label for="filter-name">\${filter-name-label}
1263
+ <input name="filter-name"
1264
+ type="search"
1265
+ class="monster-margin-bottom-5"></label>
1266
+ <monster-message-state-button
1267
+ data-monster-role="save-action-button"
1268
+ data-monster-option-labels-button="\${filter-save-label}">
1269
+ </monster-message-state-button>
1270
+
1271
+ </div>
1272
+ </monster-popper-button>
1273
+ <monster-button data-monster-role="reset-button" class="stretched-control"
1274
+ data-monster-replace="path:labels.reset">
1275
+ </monster-button>
1170
1276
  </div>
1171
- </monster-popper-button>
1172
- <monster-button data-monster-role="reset-button" class="stretched-control"
1173
- data-monster-replace="path:labels.reset">
1174
- </monster-button>
1175
- </div>
1176
1277
 
1278
+ </div>
1279
+ <input class="hidden" name="query" data-monster-role="query"
1280
+ data-monster-attributes="value path:query">
1281
+ </div>
1177
1282
  </div>
1178
- <input class="hidden" name="query" data-monster-role="query"
1179
- data-monster-attributes="value path:query">
1180
- </div>
1181
- </div>
1182
1283
  `;
1183
1284
  }
1184
1285
 
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Copyright © schukai GmbH and all contributing authors, 2024. All rights reserved.
2
+ * Copyright © schukai GmbH and all contributing authors, 2025. All rights reserved.
3
3
  * Node module: @schukai/monster
4
4
  *
5
5
  * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
@@ -25,7 +25,7 @@ try {
25
25
  ChangeButtonStyleSheet.insertRule(
26
26
  `
27
27
  @layer changebutton {
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)}}
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)}}
29
29
  }`,
30
30
  0,
31
31
  );