@schukai/monster 4.42.1 → 4.43.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.43.0] - 2025-10-02
6
+
7
+ ### Add Features
8
+
9
+ - new site-navigation, fix disable race condition
10
+
11
+
12
+
13
+ ## [4.42.2] - 2025-09-29
14
+
15
+ ### Bug Fixes
16
+
17
+ - **viewer:** remove revoke from click handler
18
+
19
+
20
+
5
21
  ## [4.42.1] - 2025-09-28
6
22
 
7
23
  ### Bug Fixes
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.42.1"}
1
+ {"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.43.0"}
@@ -483,7 +483,6 @@ class Viewer extends CustomElement {
483
483
  let revoke = null;
484
484
  let suggestedName = filename;
485
485
 
486
- // 1) Datenquelle normalisieren → href + optional revoke
487
486
  if (data instanceof File) {
488
487
  href = URL.createObjectURL(data);
489
488
  suggestedName = data.name || filename;
@@ -496,18 +495,14 @@ class Viewer extends CustomElement {
496
495
  (isString(data) && /^(data:|blob:|https?:)/.test(data))
497
496
  ) {
498
497
  href = data.toString();
499
- // Dateiname ggf. aus URL ableiten
500
498
  try {
501
499
  const u = new URL(href, location.href);
502
500
  const last = u.pathname.split("/").pop();
503
501
  if ((!filename || filename === "download") && last) {
504
502
  suggestedName = decodeURIComponent(last);
505
503
  }
506
- } catch {
507
- /* ignore */
508
- }
504
+ } catch {}
509
505
  } else if (isString(data)) {
510
- // Reiner Inhalt → als Datei verpacken
511
506
  const blob = new Blob([data], { type: "application/octet-stream" });
512
507
  href = URL.createObjectURL(blob);
513
508
  revoke = () => URL.revokeObjectURL(href);
@@ -517,14 +512,12 @@ class Viewer extends CustomElement {
517
512
  throw new Error(msg);
518
513
  }
519
514
 
520
- // 2) Button rendern
521
515
  const button =
522
516
  `<monster-button data-monster-role="download">` +
523
517
  this.getOption("labels.download") +
524
518
  `</monster-button>`;
525
519
  this.setOption("content", button);
526
520
 
527
- // 3) Alten Handler entfernen & ggf. alte Object-URL freigeben
528
521
  if (this[downloadHandlerSymbol]) {
529
522
  this.removeEventListener("click", this[downloadHandlerSymbol]);
530
523
  }
@@ -534,7 +527,6 @@ class Viewer extends CustomElement {
534
527
  } catch {}
535
528
  }
536
529
 
537
- // 4) Neuen Handler setzen
538
530
  this[downloadHandlerSymbol] = (event) => {
539
531
  const el = findTargetElementFromEvent(
540
532
  event,
@@ -543,23 +535,13 @@ class Viewer extends CustomElement {
543
535
  );
544
536
  if (el instanceof Button) {
545
537
  const a = document.createElement("a");
546
-
547
- // Cross-Origin Hinweis:
548
- // Der download-Attr kann bei fremder Origin ignoriert werden. In dem Fall
549
- // öffnet der Browser die URL. Wenn du *erzwingen* willst, dann vorher
550
- // per fetch → blob holen (sofern CORS erlaubt) und daraus eine Object-URL bauen.
551
-
552
538
  a.href = href;
553
539
  a.download = suggestedName;
554
540
  a.rel = "noopener";
555
541
  a.style.display = "none";
556
-
557
542
  document.body.appendChild(a);
558
543
  a.click();
559
544
  document.body.removeChild(a);
560
-
561
- // Object-URL nach dem Klick freigeben
562
- if (revoke) setTimeout(revoke, 0);
563
545
  }
564
546
  };
565
547
  this[downloadRevokeSymbol] = revoke;
@@ -23,12 +23,29 @@ import { QuantityStyleSheet } from "./stylesheet/quantity.mjs";
23
23
  import "./input-group.mjs";
24
24
 
25
25
  export { Quantity };
26
-
26
+ /**
27
+ * @private
28
+ */
27
29
  const controlElementSymbol = Symbol("quantityControl");
30
+ /**
31
+ * @private
32
+ */
28
33
  const decrementButtonSymbol = Symbol("decrementButton");
34
+ /**
35
+ * @private
36
+ */
29
37
  const incrementButtonSymbol = Symbol("incrementButton");
38
+ /**
39
+ * @private
40
+ */
30
41
  const inputElementSymbol = Symbol("quantityInput");
42
+ /**
43
+ * @private
44
+ */
31
45
  const holdTimerSymbol = Symbol("holdTimer");
46
+ /**
47
+ * @private
48
+ */
32
49
  const holdIntervalSymbol = Symbol("holdInterval");
33
50
 
34
51
  /**
@@ -140,8 +157,12 @@ class Quantity extends CustomControl {
140
157
  }
141
158
  }
142
159
 
143
- /* -------------------------- internals ----------------------------------- */
144
-
160
+ /**
161
+ * @private
162
+ * @description Initialize references to important control elements
163
+ * @this {Quantity}
164
+ * @return {void}
165
+ */
145
166
  function initControlReferences() {
146
167
  this[controlElementSymbol] = this.shadowRoot.querySelector(
147
168
  `[${ATTRIBUTE_ROLE}="control"]`,
@@ -157,6 +178,12 @@ function initControlReferences() {
157
178
  );
158
179
  }
159
180
 
181
+ /**
182
+ * @private
183
+ * @description Initialize event handlers
184
+ * @this {Quantity}
185
+ * @return {void}
186
+ */
160
187
  function initEventHandler() {
161
188
  const stepOnce = (dir) => {
162
189
  const step = Number(this.getOption("step")) || 1;
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
3
+ * Node module: @schukai/monster
4
+ *
5
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
6
+ * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
7
+ *
8
+ * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
9
+ * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
10
+ * For more information about purchasing a commercial license, please contact schukai GmbH.
11
+ *
12
+ * SPDX-License-Identifier: AGPL-3.0
13
+ */
14
+
15
+ /**
16
+ * Copyright © schukai GmbH and all contributing authors, {{copyRightYear}}. All rights reserved.
17
+ * Node module: @schukai/monster
18
+ *
19
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
20
+ * SPDX-License-Identifier: AGPL-3.0
21
+ */
22
+
23
+ import {
24
+ CustomElement,
25
+ getSlottedElements,
26
+ registerCustomElement,
27
+ assembleMethodSymbol,
28
+ } from "../../dom/customelement.mjs";
29
+ import { DeadMansSwitch } from "../../util/deadmansswitch.mjs";
30
+ import { SiteNavigationStyleSheet } from "./stylesheet/site-navigation.mjs";
31
+ // --- NEW: Import Floating UI ---
32
+ import {
33
+ computePosition,
34
+ autoUpdate,
35
+ flip,
36
+ shift,
37
+ offset,
38
+ } from "https://cdn.jsdelivr.net/npm/@floating-ui/dom@1.6.3/+esm";
39
+
40
+ export { SiteNavigation };
41
+
42
+ // Symbols for private class members
43
+ const resizeObserverSymbol = Symbol("resizeObserver");
44
+ const timerCallbackSymbol = Symbol("timerCallback");
45
+ const navElementSymbol = Symbol("navElement");
46
+ const visibleElementsSymbol = Symbol("visibleElements");
47
+ const hiddenElementsSymbol = Symbol("hiddenElements");
48
+ const hamburgerButtonSymbol = Symbol("hamburgerButton");
49
+ const hamburgerNavSymbol = Symbol("hamburgerNav");
50
+ const instanceSymbol = Symbol("instanceSymbol");
51
+
52
+ /**
53
+ * A responsive site navigation element that automatically moves items
54
+ * that don't fit into a hamburger menu and handles submenus.
55
+ */
56
+ class SiteNavigation extends CustomElement {
57
+ static get [instanceSymbol]() {
58
+ return Symbol.for("@schukai/monster/components/navigation/site@@instance");
59
+ }
60
+
61
+ get defaults() {
62
+ return Object.assign({}, super.defaults, {
63
+ templates: { main: getTemplate() },
64
+ });
65
+ }
66
+
67
+ [assembleMethodSymbol]() {
68
+ super[assembleMethodSymbol]();
69
+ initControlReferences.call(this);
70
+ initEventHandler.call(this);
71
+ }
72
+
73
+ static getCSSStyleSheet() {
74
+ return [SiteNavigationStyleSheet];
75
+ }
76
+
77
+ static getTag() {
78
+ return "monster-site-navigation";
79
+ }
80
+
81
+ connectedCallback() {
82
+ super.connectedCallback();
83
+ attachResizeObserver.call(this);
84
+ setTimeout(() => populateTabs.call(this), 0);
85
+ }
86
+
87
+ disconnectedCallback() {
88
+ super.disconnectedCallback();
89
+ detachResizeObserver.call(this);
90
+ }
91
+ }
92
+
93
+ function initControlReferences() {
94
+ if (!this.shadowRoot) throw new Error("Component requires a shadowRoot.");
95
+ this[navElementSymbol] = this.shadowRoot.querySelector(
96
+ '[data-monster-role="navigation"]',
97
+ );
98
+ this[visibleElementsSymbol] =
99
+ this.shadowRoot.querySelector("#visible-elements");
100
+ this[hiddenElementsSymbol] =
101
+ this.shadowRoot.querySelector("#hidden-elements");
102
+ this[hamburgerButtonSymbol] =
103
+ this.shadowRoot.querySelector("#hamburger-button");
104
+ this[hamburgerNavSymbol] = this.shadowRoot.querySelector(
105
+ '[data-monster-role="hamburger-nav"]',
106
+ );
107
+ }
108
+
109
+ function initEventHandler() {
110
+ if (!this.shadowRoot) throw new Error("Component requires a shadowRoot.");
111
+ const hamburgerButton = this[hamburgerButtonSymbol];
112
+ if (hamburgerButton) {
113
+ hamburgerButton.addEventListener("click", () => {
114
+ this.classList.toggle("is-open");
115
+ });
116
+ }
117
+ }
118
+
119
+ function attachResizeObserver() {
120
+ this[resizeObserverSymbol] = new ResizeObserver(() => {
121
+ if (this[timerCallbackSymbol] instanceof DeadMansSwitch) {
122
+ try {
123
+ this[timerCallbackSymbol].touch();
124
+ return;
125
+ } catch (e) {
126
+ delete this[timerCallbackSymbol];
127
+ }
128
+ }
129
+ this[timerCallbackSymbol] = new DeadMansSwitch(200, () =>
130
+ populateTabs.call(this),
131
+ );
132
+ });
133
+ this[resizeObserverSymbol].observe(this[navElementSymbol]);
134
+ }
135
+
136
+ function detachResizeObserver() {
137
+ if (this[resizeObserverSymbol] instanceof ResizeObserver) {
138
+ this[resizeObserverSymbol].disconnect();
139
+ delete this[resizeObserverSymbol];
140
+ }
141
+ }
142
+
143
+ /**
144
+ * --- NEW: Function to set up a submenu with Floating UI ---
145
+ * Handles intelligent hover behavior.
146
+ * @param {HTMLElement} parentLi The list item that contains the submenu.
147
+ */
148
+ function setupSubmenu(parentLi) {
149
+ const submenu = parentLi.querySelector("ul");
150
+ if (!submenu) return; // No submenu to set up
151
+
152
+ submenu.setAttribute("part", "submenu");
153
+
154
+ let cleanup;
155
+ let hideTimeout;
156
+
157
+ const show = () => {
158
+ clearTimeout(hideTimeout);
159
+ submenu.style.display = "block";
160
+ // autoUpdate handles positioning on scroll/resize
161
+ cleanup = autoUpdate(parentLi, submenu, () => {
162
+ computePosition(parentLi, submenu, {
163
+ placement: "bottom-start",
164
+ middleware: [offset(8), flip(), shift({ padding: 8 })],
165
+ }).then(({ x, y }) => {
166
+ Object.assign(submenu.style, {
167
+ left: `${x}px`,
168
+ top: `${y}px`,
169
+ });
170
+ });
171
+ });
172
+ };
173
+
174
+ const hide = () => {
175
+ // Use a timeout to create a "grace period", allowing diagonal mouse movement.
176
+ hideTimeout = setTimeout(() => {
177
+ submenu.style.display = "none";
178
+ if (cleanup) {
179
+ cleanup(); // Stop the autoUpdate listeners
180
+ }
181
+ }, 200); // 200ms delay
182
+ };
183
+
184
+ // Show on entering the parent, hide on leaving.
185
+ parentLi.addEventListener("mouseenter", show);
186
+ parentLi.addEventListener("mouseleave", hide);
187
+
188
+ // If the mouse enters the submenu itself, cancel the pending hide command.
189
+ submenu.addEventListener("mouseenter", () => clearTimeout(hideTimeout));
190
+ submenu.addEventListener("mouseleave", hide);
191
+ }
192
+
193
+ function populateTabs() {
194
+ const visibleList = this[visibleElementsSymbol];
195
+ const hiddenList = this[hiddenElementsSymbol];
196
+ const hamburgerNav = this[hamburgerNavSymbol];
197
+
198
+ const sourceItems = Array.from(
199
+ getSlottedElements.call(this, "ul > li"),
200
+ ).filter((item) => item instanceof HTMLElement);
201
+
202
+ // 1. PREPARATION
203
+ visibleList.style.visibility = "hidden";
204
+ hamburgerNav.style.display = "none";
205
+ visibleList.innerHTML = "";
206
+ hiddenList.innerHTML = "";
207
+
208
+ const maxWidth = this[navElementSymbol].clientWidth;
209
+ if (maxWidth === 0) {
210
+ visibleList.style.visibility = "visible";
211
+ return;
212
+ }
213
+
214
+ // 2. MEASUREMENT
215
+ const measurementList = visibleList.cloneNode(true);
216
+ Object.assign(measurementList.style, {
217
+ position: "absolute",
218
+ left: "0",
219
+ top: "0",
220
+ width: "auto",
221
+ visibility: "hidden",
222
+ });
223
+ this.shadowRoot.appendChild(measurementList);
224
+
225
+ const itemsToMove = [];
226
+ for (const item of sourceItems) {
227
+ const itemClone = item.cloneNode(true);
228
+ // Important: For measurement, hide submenus so they don't affect width.
229
+ const submenu = itemClone.querySelector("ul");
230
+ if (submenu) submenu.style.display = "none";
231
+
232
+ measurementList.appendChild(itemClone);
233
+
234
+ if (measurementList.scrollWidth > maxWidth) {
235
+ break;
236
+ } else {
237
+ itemsToMove.push(item);
238
+ }
239
+ }
240
+
241
+ this.shadowRoot.removeChild(measurementList);
242
+
243
+ // 3. DOM MANIPULATION
244
+ const visibleItems = itemsToMove;
245
+ const hiddenItems = sourceItems.slice(visibleItems.length);
246
+
247
+ // Populate visible list and set up submenus
248
+ if (visibleItems.length > 0) {
249
+ visibleList.append(...visibleItems.map((item) => item.cloneNode(true)));
250
+ // After appending, initialize submenus for visible items
251
+ visibleList.querySelectorAll("li").forEach(setupSubmenu);
252
+ }
253
+
254
+ // Populate hidden list and set up submenus
255
+ if (hiddenItems.length > 0) {
256
+ hiddenList.append(...hiddenItems.map((item) => item.cloneNode(true)));
257
+ hamburgerNav.style.display = "flex";
258
+ // After appending, initialize submenus for hidden items as well
259
+ hiddenList.querySelectorAll("li").forEach(setupSubmenu);
260
+ }
261
+
262
+ visibleList.style.visibility = "visible";
263
+ }
264
+
265
+ function getTemplate() {
266
+ // language=HTML
267
+ return `
268
+ <div data-monster-role="control" part="control">
269
+ <nav data-monster-role="navigation" role="navigation" part="nav">
270
+ <ul id="visible-elements" part="visible-list"></ul>
271
+ </nav>
272
+ <div data-monster-role="hamburger-container" part="hamburger-container">
273
+ <button id="hamburger-button" part="hamburger-button" aria-label="More navigation items">
274
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
275
+ <path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5"/>
276
+ </svg>
277
+ </button>
278
+ <nav data-monster-role="hamburger-nav" role="navigation" part="hamburger-nav" style="display: none;">
279
+ <ul id="hidden-elements" part="hidden-list"></ul>
280
+ </nav>
281
+ </div>
282
+ <slot class="hidden-slot" style="display: none;"></slot>
283
+ </div>`;
284
+ }
285
+
286
+ registerCustomElement(SiteNavigation);
@@ -0,0 +1,59 @@
1
+
2
+ @import "../../style/property.pcss";
3
+ @import "../../style/display.pcss";
4
+ @import "../../style/border.pcss";
5
+ @import "../../style/theme.pcss";
6
+ @import "../../style/link.pcss";
7
+ @import "../../style/popper.pcss";
8
+ @import "../../style/control.pcss";
9
+ @import "../../style/badge.pcss";
10
+ @import '../../style/mixin/button.pcss';
11
+ @import '../../style/mixin/typography.pcss';
12
+ @import '../../style/mixin/hover.pcss';
13
+
14
+ [data-monster-role=control] {
15
+ box-sizing: border-box;
16
+ padding: 0;
17
+ margin: 0;
18
+ }
19
+
20
+ #visible-elements {
21
+ display: flex;
22
+ flex-wrap: nowrap;
23
+ list-style: none;
24
+ padding: 0;
25
+ margin: 0;
26
+ overflow: hidden;
27
+ gap: 0.9rem;
28
+ }
29
+
30
+ #visible-elements li {
31
+ white-space: nowrap;
32
+ cursor: pointer;
33
+ gap: 4px;
34
+ }
35
+
36
+ #hamburger-button {
37
+ display: flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ margin: 0 0 0 1rem;
41
+ }
42
+
43
+ [data-monster-role=control] {
44
+ display: flex;
45
+ width: 100%;
46
+ flex-wrap: nowrap;
47
+ align-items: center;
48
+ justify-content: space-between;
49
+ }
50
+
51
+ [data-monster-role=navigation] {
52
+ flex-grow: 2;
53
+ }
54
+
55
+ #hidden-elements {
56
+ display: none;
57
+ }
58
+
59
+
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright © schukai GmbH and all contributing authors, 2025. All rights reserved.
3
+ * Node module: @schukai/monster
4
+ *
5
+ * This source code is licensed under the GNU Affero General Public License version 3 (AGPLv3).
6
+ * The full text of the license can be found at: https://www.gnu.org/licenses/agpl-3.0.en.html
7
+ *
8
+ * For those who do not wish to adhere to the AGPLv3, a commercial license is available.
9
+ * Acquiring a commercial license allows you to use this software without complying with the AGPLv3 terms.
10
+ * For more information about purchasing a commercial license, please contact schukai GmbH.
11
+ */
12
+
13
+ import {addAttributeToken} from "../../../dom/attributes.mjs";
14
+ import {ATTRIBUTE_ERRORMESSAGE} from "../../../dom/constants.mjs";
15
+
16
+ export {SiteNavigationStyleSheet}
17
+
18
+ /**
19
+ * @private
20
+ * @type {CSSStyleSheet}
21
+ */
22
+ const SiteNavigationStyleSheet = new CSSStyleSheet();
23
+
24
+ try {
25
+ SiteNavigationStyleSheet.insertRule(`
26
+ @layer sitenavigation {
27
+ :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);--monster-color-gradient-1:#833ab4;--monster-color-gradient-2:#fd1d1d;--monster-color-gradient-3:#fcb045}@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);--monster-color-gradient-1:#ffe0b2;--monster-color-gradient-2:#ad8275;--monster-color-gradient-3:#771ba3}}:after,:before,:root{--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}.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-border-primary-1,.monster-border-primary-2,.monster-border-primary-3,.monster-border-primary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-0{border-radius:0;border-style:none;border-width:0}.monster-border-primary-1{border-color:var(--monster-bg-color-primary-1)}.monster-border-primary-2{border-color:var(--monster-bg-color-primary-2)}.monster-border-primary-3{border-color:var(--monster-bg-color-primary-3)}.monster-border-primary-4{border-color:var(--monster-bg-color-primary-4)}.monster-border-secondary-1,.monster-border-secondary-2,.monster-border-secondary-3,.monster-border-secondary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-secondary-1{border-color:var(--monster-bg-color-secondary-1)}.monster-border-secondary-2{border-color:var(--monster-bg-color-secondary-2)}.monster-border-secondary-3{border-color:var(--monster-bg-color-secondary-3)}.monster-border-secondary-4{border-color:var(--monster-bg-color-secondary-4)}.monster-border-tertiary-1,.monster-border-tertiary-2,.monster-border-tertiary-3,.monster-border-tertiary-4{border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width)}.monster-border-tertiary-1{border-color:var(--monster-bg-color-tertiary-1)}.monster-border-tertiary-2{border-color:var(--monster-bg-color-tertiary-2)}.monster-border-tertiary-3{border-color:var(--monster-bg-color-tertiary-3)}.monster-border-tertiary-4{border-color:var(--monster-bg-color-tertiary-4)}.monster-theme-primary-1{background-color:var(--monster-bg-color-primary-1);color:var(--monster-color-primary-1)}.monster-theme-primary-disabled-1{background-color:var(--monster-bg-color-primary-disabled-1);color:var(--monster-color-primary-disabled-1)}.monster-theme-secondary-1{background-color:var(--monster-bg-color-secondary-1);color:var(--monster-color-secondary-1)}.monster-theme-tertiary-1{background-color:var(--monster-bg-color-tertiary-1);color:var(--monster-color-tertiary-1)}.monster-theme-destructive-1{background-color:var(--monster-bg-color-destructive-1);color:var(--monster-color-destructive-1)}.monster-theme-success-1{background-color:var(--monster-bg-color-success-1);color:var(--monster-color-success-1)}.monster-theme-warning-1{background-color:var(--monster-bg-color-warning-1);color:var(--monster-color-warning-1)}.monster-theme-error-1{background-color:var(--monster-bg-color-error-1);color:var(--monster-color-error-1)}.monster-theme-selection-1{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}.monster-border-color-1{border-color:var(--monster-color-border-1)}.monster-color-neutral-1{color:var(--monster-color-primary-1)}.monster-bg-color-primary-1{background-color:var(--monster-bg-color-primary-1)}.monster-bg-color-secondary-1{background-color:var(--monster-bg-color-secondary-1)}.monster-bg-color-tertiary-1{background-color:var(--monster-bg-color-tertiary-1)}.monster-color-primary-1{background-color:var(--monster-bg-color-primary-1);color:var(--monster-color-primary-1)}.monster-color-secondary-1{background-color:var(--monster-bg-color-secondary-1);color:var(--monster-color-secondary-1)}.monster-color-tertiary-1{background-color:var(--monster-bg-color-tertiary-1);color:var(--monster-color-tertiary-1)}.monster-color-destructive-1{background-color:var(--monster-bg-color-destructive-1);color:var(--monster-color-destructive-1)}.monster-color-success-1{background-color:var(--monster-bg-color-success-1);color:var(--monster-color-success-1)}.monster-color-warning-1{background-color:var(--monster-bg-color-warning-1);color:var(--monster-color-warning-1)}.monster-color-error-1{background-color:var(--monster-bg-color-error-1);color:var(--monster-color-error-1)}.monster-color-selection-1{background-color:var(--monster-bg-color-selection-1);color:var(--monster-color-selection-1)}.monster-theme-primary-2{background-color:var(--monster-bg-color-primary-2);color:var(--monster-color-primary-2)}.monster-theme-primary-disabled-2{background-color:var(--monster-bg-color-primary-disabled-2);color:var(--monster-color-primary-disabled-2)}.monster-theme-secondary-2{background-color:var(--monster-bg-color-secondary-2);color:var(--monster-color-secondary-2)}.monster-theme-tertiary-2{background-color:var(--monster-bg-color-tertiary-2);color:var(--monster-color-tertiary-2)}.monster-theme-destructive-2{background-color:var(--monster-bg-color-destructive-2);color:var(--monster-color-destructive-2)}.monster-theme-success-2{background-color:var(--monster-bg-color-success-2);color:var(--monster-color-success-2)}.monster-theme-warning-2{background-color:var(--monster-bg-color-warning-2);color:var(--monster-color-warning-2)}.monster-theme-error-2{background-color:var(--monster-bg-color-error-2);color:var(--monster-color-error-2)}.monster-theme-selection-2{background-color:var(--monster-bg-color-selection-2);color:var(--monster-color-selection-2)}.monster-border-color-2{border-color:var(--monster-color-border-2)}.monster-color-neutral-2{color:var(--monster-color-primary-2)}.monster-bg-color-primary-2{background-color:var(--monster-bg-color-primary-2)}.monster-bg-color-secondary-2{background-color:var(--monster-bg-color-secondary-2)}.monster-bg-color-tertiary-2{background-color:var(--monster-bg-color-tertiary-2)}.monster-color-primary-2{background-color:var(--monster-bg-color-primary-2);color:var(--monster-color-primary-2)}.monster-color-secondary-2{background-color:var(--monster-bg-color-secondary-2);color:var(--monster-color-secondary-2)}.monster-color-tertiary-2{background-color:var(--monster-bg-color-tertiary-2);color:var(--monster-color-tertiary-2)}.monster-color-destructive-2{background-color:var(--monster-bg-color-destructive-2);color:var(--monster-color-destructive-2)}.monster-color-success-2{background-color:var(--monster-bg-color-success-2);color:var(--monster-color-success-2)}.monster-color-warning-2{background-color:var(--monster-bg-color-warning-2);color:var(--monster-color-warning-2)}.monster-color-error-2{background-color:var(--monster-bg-color-error-2);color:var(--monster-color-error-2)}.monster-color-selection-2{background-color:var(--monster-bg-color-selection-2);color:var(--monster-color-selection-2)}.monster-theme-primary-3{background-color:var(--monster-bg-color-primary-3);color:var(--monster-color-primary-3)}.monster-theme-primary-disabled-3{background-color:var(--monster-bg-color-primary-disabled-3);color:var(--monster-color-primary-disabled-3)}.monster-theme-secondary-3{background-color:var(--monster-bg-color-secondary-3);color:var(--monster-color-secondary-3)}.monster-theme-tertiary-3{background-color:var(--monster-bg-color-tertiary-3);color:var(--monster-color-tertiary-3)}.monster-theme-destructive-3{background-color:var(--monster-bg-color-destructive-3);color:var(--monster-color-destructive-3)}.monster-theme-success-3{background-color:var(--monster-bg-color-success-3);color:var(--monster-color-success-3)}.monster-theme-warning-3{background-color:var(--monster-bg-color-warning-3);color:var(--monster-color-warning-3)}.monster-theme-error-3{background-color:var(--monster-bg-color-error-3);color:var(--monster-color-error-3)}.monster-theme-selection-3{background-color:var(--monster-bg-color-selection-3);color:var(--monster-color-selection-3)}.monster-border-color-3{border-color:var(--monster-color-border-3)}.monster-color-neutral-3{color:var(--monster-color-primary-3)}.monster-bg-color-primary-3{background-color:var(--monster-bg-color-primary-3)}.monster-bg-color-secondary-3{background-color:var(--monster-bg-color-secondary-3)}.monster-bg-color-tertiary-3{background-color:var(--monster-bg-color-tertiary-3)}.monster-color-primary-3{background-color:var(--monster-bg-color-primary-3);color:var(--monster-color-primary-3)}.monster-color-secondary-3{background-color:var(--monster-bg-color-secondary-3);color:var(--monster-color-secondary-3)}.monster-color-tertiary-3{background-color:var(--monster-bg-color-tertiary-3);color:var(--monster-color-tertiary-3)}.monster-color-destructive-3{background-color:var(--monster-bg-color-destructive-3);color:var(--monster-color-destructive-3)}.monster-color-success-3{background-color:var(--monster-bg-color-success-3);color:var(--monster-color-success-3)}.monster-color-warning-3{background-color:var(--monster-bg-color-warning-3);color:var(--monster-color-warning-3)}.monster-color-error-3{background-color:var(--monster-bg-color-error-3);color:var(--monster-color-error-3)}.monster-color-selection-3{background-color:var(--monster-bg-color-selection-3);color:var(--monster-color-selection-3)}.monster-theme-primary-4{background-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-theme-primary-disabled-4{background-color:var(--monster-bg-color-primary-disabled-4);color:var(--monster-color-primary-disabled-4)}.monster-theme-secondary-4{background-color:var(--monster-bg-color-secondary-4);color:var(--monster-color-secondary-4)}.monster-theme-tertiary-4{background-color:var(--monster-bg-color-tertiary-4);color:var(--monster-color-tertiary-4)}.monster-theme-destructive-4{background-color:var(--monster-bg-color-destructive-4);color:var(--monster-color-destructive-4)}.monster-theme-success-4{background-color:var(--monster-bg-color-success-4);color:var(--monster-color-success-4)}.monster-theme-warning-4{background-color:var(--monster-bg-color-warning-4);color:var(--monster-color-warning-4)}.monster-theme-error-4{background-color:var(--monster-bg-color-error-4);color:var(--monster-color-error-4)}.monster-theme-selection-4{background-color:var(--monster-bg-color-selection-4);color:var(--monster-color-selection-4)}.monster-border-color-4{border-color:var(--monster-color-border-4)}.monster-color-neutral-4{color:var(--monster-color-primary-4)}.monster-bg-color-primary-4{background-color:var(--monster-bg-color-primary-4)}.monster-bg-color-secondary-4{background-color:var(--monster-bg-color-secondary-4)}.monster-bg-color-tertiary-4{background-color:var(--monster-bg-color-tertiary-4)}.monster-color-primary-4{background-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-color-secondary-4{background-color:var(--monster-bg-color-secondary-4);color:var(--monster-color-secondary-4)}.monster-color-tertiary-4{background-color:var(--monster-bg-color-tertiary-4);color:var(--monster-color-tertiary-4)}.monster-color-destructive-4{background-color:var(--monster-bg-color-destructive-4);color:var(--monster-color-destructive-4)}.monster-color-success-4{background-color:var(--monster-bg-color-success-4);color:var(--monster-color-success-4)}.monster-color-warning-4{background-color:var(--monster-bg-color-warning-4);color:var(--monster-color-warning-4)}.monster-color-error-4{background-color:var(--monster-bg-color-error-4);color:var(--monster-color-error-4)}.monster-color-selection-4{background-color:var(--monster-bg-color-selection-4);color:var(--monster-color-selection-4)}.monster-theme-control-container-1,.monster-theme-control-row-1{border:1px solid var(--monster-theme-control-border-color)}.monster-theme-control-container-1,.monster-theme-control-element,.monster-theme-control-row-1{background-color:var(--monster-theme-control-bg-color);color:var(--monster-theme-control-color)}.monster-theme-control-background{background-color:var(--monster-theme-control-bg-color)}.monster-theme-background-inherit{background-color:inherit!important}.monster-theme-on{background-color:var(--monster-theme-on-bg-color);color:var(--monster-theme-on-color)}.monster-theme-off{background-color:var(--monster-theme-off-bg-color);color:var(--monster-theme-off-color)}a,a:active,a:focus,a:hover,a:link,a:visited{color:var(--monster-color-secondary-1);outline:none;text-decoration:none;transition:color .3s ease-in-out,text-decoration-color .3s ease-in-out}a:active,a:focus,a:hover{color:var(--monster-color-primary-2);text-decoration:underline;text-decoration-color:var(--monster-color-secondary-1 );text-decoration-thickness:1px;text-underline-offset:2px}a:focus{outline:1px dashed var(--monster-color-selection-1);outline-offset:2px}@media (prefers-color-scheme:dark){a,a:active,a:focus,a:hover,a:link,a:visited{color:var(--monster-color-amber-2)}a:focus{outline:1px dashed var(--monster-color-selection-4)}}div[data-monster-role=popper]{background:var(--monster-bg-color-primary-1);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);box-shadow:var(--monster-box-shadow-1);box-sizing:border-box;color:var(--monster-color-primary-1);display:none;padding:1.1em;z-index:var(--monster-z-index-modal)}[data-popper-arrow],[data-popper-arrow]:before{background:inherit;height:calc(max(var(--monster-popper-witharrrow-distance), -1*var(--monster-popper-witharrrow-distance))*2);position:absolute;width:calc(max(var(--monster-popper-witharrrow-distance), -1*var(--monster-popper-witharrrow-distance))*2)}[data-popper-arrow]{visibility:hidden}[data-popper-arrow]:before{box-sizing:border-box;content:\"\";transform:rotate(45deg);visibility:visible}div[data-popper-placement^=top]>[data-popper-arrow]{bottom:calc(var(--monster-popper-witharrrow-distance) - var(--monster-border-width)/2)}div[data-popper-placement^=top]>[data-popper-arrow]:before{border-bottom:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-left:transparent;border-right:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-top:transparent}div[data-popper-placement^=bottom]>[data-popper-arrow]{top:calc(var(--monster-popper-witharrrow-distance) - var(--monster-border-width))}div[data-popper-placement^=bottom]>[data-popper-arrow]:before{border-bottom:transparent;border-left:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-right:transparent;border-top:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4)}div[data-popper-placement^=left]>[data-popper-arrow]{right:calc(var(--monster-popper-witharrrow-distance) - var(--monster-border-width))}div[data-popper-placement^=left]>[data-popper-arrow]:before{border-bottom:transparent;border-left:transparent;border-right:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-top:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4)}div[data-popper-placement^=right]>[data-popper-arrow]{left:calc(var(--monster-popper-witharrrow-distance) - var(--monster-border-width)/2)}div[data-popper-placement^=right]>[data-popper-arrow]:before{border-bottom:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-left:var(--monster-border-width) var(--monster-border-style) var(--monster-bg-color-primary-4);border-right:transparent;border-top:transparent}[data-monster-role=control]{outline:none}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}:host{box-sizing:border-box;display:block}.monster-badge-primary{padding:.25em .4em}.monster-badge-primary,.monster-badge-primary-pill{background-color:var(--monster-bg-color-primary-4);border-radius:.25rem;color:var(--monster-color-primary-4);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-primary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-secondary{padding:.25em .4em}.monster-badge-secondary,.monster-badge-secondary-pill{background-color:var(--monster-bg-color-secondary-3);border-radius:.25rem;color:var(--monster-color-secondary-3);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-secondary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-tertiary{padding:.25em .4em}.monster-badge-tertiary,.monster-badge-tertiary-pill{background-color:var(--monster-bg-color-tertiary-3);border-radius:.25rem;color:var(--monster-color-tertiary-3);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-tertiary-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-destructive{padding:.25em .4em}.monster-badge-destructive,.monster-badge-destructive-pill{background-color:var(--monster-bg-color-destructive-1);border-radius:.25rem;color:var(--monster-color-destructive-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-destructive-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-success{padding:.25em .4em}.monster-badge-success,.monster-badge-success-pill{background-color:var(--monster-bg-color-success-1);border-radius:.25rem;color:var(--monster-color-success-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-success-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-warning{padding:.25em .4em}.monster-badge-warning,.monster-badge-warning-pill{background-color:var(--monster-bg-color-warning-1);border-radius:.25rem;color:var(--monster-color-warning-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-warning-pill{border-radius:10rem;padding:.25em .6em}.monster-badge-error{padding:.25em .4em}.monster-badge-error,.monster-badge-error-pill{background-color:var(--monster-bg-color-error-1);border-radius:.25rem;color:var(--monster-color-error-1);display:inline-block;font-size:75%;font-weight:700;line-height:1;text-align:center;text-decoration:none;vertical-align:baseline;white-space:nowrap}.monster-badge-error-pill{border-radius:10rem;padding:.25em .6em}[data-monster-role=control]{box-sizing:border-box;margin:0;padding:0}#visible-elements{display:flex;flex-wrap:nowrap;gap:.9rem;list-style:none;margin:0;overflow:hidden;padding:0}#visible-elements li{cursor:pointer;gap:4px;white-space:nowrap}#hamburger-button{align-items:center;display:flex;justify-content:center;margin:0 0 0 1rem}[data-monster-role=control]{align-items:center;display:flex;flex-wrap:nowrap;justify-content:space-between;width:100%}[data-monster-role=navigation]{flex-grow:2}#hidden-elements{display:none}
28
+ }`, 0);
29
+ } catch (e) {
30
+ addAttributeToken(document.getRootNode().querySelector('html'), ATTRIBUTE_ERRORMESSAGE, e + "");
31
+ }