@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 +16 -0
- package/package.json +1 -1
- package/source/components/content/viewer.mjs +1 -19
- package/source/components/form/quantity.mjs +30 -3
- package/source/components/navigation/site-navigation.mjs +286 -0
- package/source/components/navigation/style/site-navigation.pcss +59 -0
- package/source/components/navigation/stylesheet/site-navigation.mjs +31 -0
- package/source/dom/customelement.mjs +964 -962
- package/source/dom/slotted.mjs +87 -87
- package/source/types/is.mjs +74 -64
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.
|
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
|
-
|
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
|
+
}
|