diff --git a/playground/issues/139.html b/playground/issues/139.html
new file mode 100644
index 0000000000000000000000000000000000000000..c6d78836abe8bc841ad2ed607a95f3f5940d3008
--- /dev/null
+++ b/playground/issues/139.html
@@ -0,0 +1,146 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0">
+
+    <title>Issues</title>
+    <script src="./139.js" type="module"></script>
+
+    <style>
+        monster-button-bar {
+
+        }
+
+        monster-button-bar button {
+            padding: 0;
+            margin-right: -2px;
+        }
+
+        monster-button-bar button:first-child {
+
+        }
+
+    </style>
+
+</head>
+<body>
+
+
+<main>
+
+    <h1>Issues #139</h1>
+
+    <ul>
+        <li><a href="https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/139" target="_blank">#139</a>
+        </li>
+        <li><a href="../../">Back to overview</a></li>
+    </ul>
+
+
+    <div style="width: 950px;margin: 0 auto;">
+
+        <monster-host>
+            <monster-config-manager></monster-config-manager>
+        </monster-host>
+        
+        
+        <monster-datasource-rest id="data1" data-monster-option-write-url="/demo/bind-with-datasource/data.json"
+                                 data-monster-option-read-url="/demo/bind-with-datasource/data.json"></monster-datasource-rest>
+
+
+        <monster-datatable
+                id="test-datatable" data-monster-datasource-selector="#data1">
+
+
+            <monster-collapse id="my-collapse" data-monster-role="filter-collapse">
+                <div class="flex">
+                    <monster-tabs style="width: 100%" data-monster-option-classes-button="monster-theme-primary-2"
+                                  id="filtertabs">
+                        <div data-monster-button-label="Filter" data-monster-state="active" class="active">
+                            <monster-datatable-filter id="listfilter1" slot="filter"
+                                                      data-monster-option-storedconfig-selector="#filtertabs">
+                                <label data-monster-label="companySHID" id="companySHID"
+                                       data-monster-template="${value | call:range:companySHID}">
+                                    RANGE companySHID
+                                    <monster-filter-range></monster-filter-range>
+                                </label>
+                                <label data-monster-label="paymentPID" id="paymentPID"
+                                       data-monster-template="${value | call:date-range:paymentPID}">paymentPID
+                                    <monster-filter-date-range></monster-filter-date-range>
+                                </label>                           
+                                <label data-monster-label="orderState" id="orderState"
+                                       data-monster-template="${value | call:date-range:orderState}">orderState
+                                    <monster-filter-date-range></monster-filter-date-range>
+                                </label>
+                                <label data-monster-label="OID" data-monster-template="${value | call:range:oid}"
+                                       id="OID">OID
+                                    <monster-filter-input name="OID" type="search"></monster-filter-input>
+                                </label>
+                               
+
+                            </monster-datatable-filter>
+                        </div>
+                        <div data-monster-button-label="BUTTON"></div>
+                    </monster-tabs>
+
+                </div>
+            </monster-collapse>
+
+            <div slot="bar" class="monster-button-group">
+                <monster-datasource-save-button slot="bar" data-monster-option-datasource-selector="#data1">
+                </monster-datasource-save-button>
+                <monster-datasource-status slot="bar" data-monster-option-datasource-selector="#data1">
+                </monster-datasource-status>
+
+                <monster-datasource-status data-monster-option-datasource-selector="#data1"></monster-datasource-status>
+                <monster-embedded-pagination
+                        data-monster-datasource-selector="#data1"></monster-embedded-pagination>
+                <!--                <monster-embedded-state-->
+                <!--                        data-monster-datasource-selector="#data1"></monster-embedded-state>-->
+
+                <monster-datatable-filter-button data-monster-reference="#my-collapse"
+                                                 data-monster-role="filter-button">Filter
+                </monster-datatable-filter-button>
+            </div>
+
+            <template id="test-datatable-row">
+                <div data-monster-mode="fixed" data-monster-sortable="oid asc" data-monster-head="OID">
+                    <a data-monster-attributes="href path:t12-row.oid | tostring | prefix:#"
+                       data-monster-replace="path:t12-row.oid | tostring">Link</a>
+                </div>
+                <div data-monster-grid-template="1fr" data-monster-head="i18n:key22">
+                    <ul>
+                        <li><input type="date"></li>
+                        <li data-monster-replace="path:t12-row.oid">test 1</li>
+                        <li>asdfjasdkfjk</li>
+                    </ul>
+                </div>
+                <div data-monster-mode="fixed" data-monster-head="i18n:key1" data-monster-grid-template="1fr"><input
+                        type="checkbox"></div>
+                <div data-monster-head="orderState 2" class="center" data-monster-align="center"
+                     data-monster-replace="path:t12-row.orderState"></div>
+                <div class="end" data-monster-align="end"
+                     data-monster-replace="path:t12-row.orderState | tostring | prefix:<span class=monster-badge-secondary-pill>|suffix:</span>"></div>
+                <div data-monster-mode="hidden" data-monster-head="OS2" data-monster-replace="static:OXXXXX"></div>
+                <div data-monster-sortable="orderState" data-monster-head="State"
+                     data-monster-replace="path:t12-row.orderState | tostring | prefix:____"></div>
+                <div data-monster-head="xxx" data-monster-replace="static:wwwww"></div>
+                <div style="overflow:visible">
+                    <monster-popper-button>
+                        <form class="monster-form">
+                            <label><input>test 1</label>
+                            <label>test 2<input></label>
+                            <button>OK</button>
+                        </form>
+                    </monster-popper-button>
+
+                </div>
+            </template>
+
+        </monster-datatable>
+    </div>
+</main>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/playground/issues/139.js b/playground/issues/139.js
new file mode 100644
index 0000000000000000000000000000000000000000..9dffa8cbf93e89bd7efd140d7bdadb90c58f61f4
--- /dev/null
+++ b/playground/issues/139.js
@@ -0,0 +1,45 @@
+import "../../source/components/host/overlay.mjs";
+import "../../source/components/datatable/datatable.mjs";
+import "../../source/components/datatable/dataset.mjs";
+import "../../source/components/datatable/datasource/dom.mjs";
+import "../../source/components/datatable/datasource/rest.mjs";
+import "../../source/components/datatable/save-button.mjs";
+
+import "../../source/components/form/button.mjs";
+import "../../source/components/form/select.mjs";
+import "../../source/components/form/toggle-switch.mjs";
+
+import "../../source/components/style/common.pcss";
+import "../../source/components/style/color.pcss";
+import "../../source/components/style/theme.pcss";
+import "../../source/components/style/table.pcss";
+import "../../source/components/style/badge.pcss";
+import "../../source/components/style/button.pcss";
+import "../../source/components/style/link.pcss";
+import "../../source/components/style/data-grid.pcss";
+import "../../source/components/style/property.pcss";
+import "../../source/components/style/typography.pcss";
+import "../../source/components/style/display.pcss";
+
+import "../../source/components/datatable/datasource/rest.mjs";
+import "../../source/components/datatable/filter.mjs";
+import "../../source/components/datatable/filter-button.mjs";
+import "../../source/components/datatable/embedded-pagination.mjs";
+import "../../source/components/datatable/datatable.mjs";
+import "../../source/components/datatable/dataset.mjs";
+import "../../source/components/datatable/status.mjs";
+import "../../source/components/datatable/save-button.mjs";
+import "../../source/components/datatable/change-button.mjs";
+import "../../source/components/datatable/filter/range.mjs";
+import "../../source/components/datatable/filter/select.mjs";
+import "../../source/components/datatable/filter/input.mjs";
+import "../../source/components/datatable/filter/date-range.mjs";
+import {windowReady} from "../../source/dom/ready.mjs";
+import "../../source/components/host/host.mjs";
+import "../../source/components/host/config-manager.mjs";
+import "../../source/components/form/button.mjs";
+import "../../source/components/form/button-bar.mjs";
+import "../../source/components/form/popper-button.mjs";
+import "../../source/components/form/tabs.mjs";
+import "./generic.pcss"; 
+
diff --git a/source/components/datatable/dataset.mjs b/source/components/datatable/dataset.mjs
index 05937e7830d256ec4a3359d8d73f07b0865fda10..32d5a020438dd2a4109597bdfce9241d00794e72 100644
--- a/source/components/datatable/dataset.mjs
+++ b/source/components/datatable/dataset.mjs
@@ -137,7 +137,6 @@ class DataSet extends CustomElement {
 	}
 
 	write() {
-
 		return new Promise((resolve, reject) => {
 			if (!this[datasourceLinkedElementSymbol]) {
 				reject(new Error("No datasource"));
diff --git a/source/components/datatable/datatable.mjs b/source/components/datatable/datatable.mjs
index 63f75a794ec76409cb5b84bb971f2a319fefb340..9ad68667762bfd1474a6c408d03ffc56752a09f9 100644
--- a/source/components/datatable/datatable.mjs
+++ b/source/components/datatable/datatable.mjs
@@ -40,7 +40,6 @@ import {
 	DIRECTION_DESC,
 	DIRECTION_NONE,
 } from "./datatable/header.mjs";
-import { getStoredFilterConfigKey } from "./filter/util.mjs";
 import { DatatableStyleSheet } from "./stylesheet/datatable.mjs";
 import {
 	handleDataSourceChanges,
diff --git a/source/components/datatable/filter.mjs b/source/components/datatable/filter.mjs
index 508a8615d0e8b02d2bb1476cbdb8c9ba1b6b4424..3b7fc805956a3fab72f35827abbd80185416413a 100644
--- a/source/components/datatable/filter.mjs
+++ b/source/components/datatable/filter.mjs
@@ -366,12 +366,23 @@ function initControlReferences() {
 	return this;
 }
 
+function updateFilterSelections() {
+	setTimeout(() => {
+		const options = this[settingsSymbol].getOptions();
+		this[filterSelectElementSymbol].setOption("options", options);
+		setTimeout(() => {
+			this[filterSelectElementSymbol].value =
+				this[settingsSymbol].getSelected();
+		}, 10);
+	}, 10);
+}
+
 /**
  * @private
  * @throws {Error} no filter label is defined
  */
 function initFilter() {
-	const storedConfig = this[settingsSymbol];
+	const storedSetting = this[settingsSymbol];
 	this[settingsSymbol] = new Settings();
 
 	const result = parseBracketedKeyValueHash(getGlobal().location.hash);
@@ -397,7 +408,7 @@ function initFilter() {
 				element.id = value;
 			}
 
-			let setting = storedConfig.get(value);
+			let setting = storedSetting.get(value);
 
 			if (setting) {
 				this[settingsSymbol].set(setting);
@@ -407,31 +418,22 @@ function initFilter() {
 				const v = escapeAttributeValue(valuesFromHash[element.id]);
 				const searchInput = element.firstElementChild;
 				try {
-					//    searchInput.value = valuesFromHash[element.id];
-					searchInput.value = v; //valuesFromHash[element.id];
+					searchInput.value = v;
 				} catch (error) {}
 			}
 
 			setting = this[settingsSymbol].get(value);
+			let visible = false;
 			if (setting) {
 				setSlotAttribute(element, setting.visible);
-				//style.display = setting.visible ? "block" : "none";
+				visible = setting.visible;
+			} else {
+				visible = getVisibilityFromSlotAttribute(element);
 			}
 
-			//const visible = window.getComputedStyle(element).display !== "none";
-			const visible = getVisibilityFromSlotAttribute(element);
-
 			this[settingsSymbol].set({ value, label, visible });
 		});
-
-	this[filterSelectElementSymbol].setOption(
-		"options",
-		this[settingsSymbol].getOptions(),
-	);
-
-	setTimeout(() => {
-		this[filterSelectElementSymbol].value = this[settingsSymbol].getSelected();
-	}, 10);
+	updateFilterSelections.call(this);
 }
 
 /**
@@ -512,7 +514,6 @@ function initEventHandler() {
 					event.detail.value,
 				);
 				if (filterElement) {
-					//filterElement.style.display = event.detail.checked ? "block" : "none";
 					setSlotAttribute(filterElement, event.detail.checked);
 				}
 
@@ -651,15 +652,18 @@ function initEventHandler() {
 				}
 			});
 
-		doSearch.call(self, { showEffect: false });
+		doSearch
+			.call(self, { showEffect: false })
+			.then(() => {})
+			.catch((e) => addAttributeToken(self, ATTRIBUTE_ERRORMESSAGE, e.message));
 	});
 
 	self[locationChangeHandlerSymbol] = (event) => {
-		if (event instanceof HashChangeEvent) {
-			if (event.oldURL === event.newURL) {
-				return;
-			}
-		}
+		// if (event instanceof HashChangeEvent) {
+		// 	if (event.oldURL === event.newURL) {
+		// 		return;
+		// 	}
+		// }
 	};
 
 	self.addEventListener("keyup", (event) => {
@@ -788,8 +792,7 @@ function updateFilterTabs() {
 
 				element.insertAdjacentHTML(
 					"beforeend",
-					`
-             <div data-monster-button-label="${name}"
+					`<div data-monster-button-label="${name}"
              data-monster-removable="true" 
              data-monster-query="${escapedQuery}" data-monster-role="filter-tab" >
              </div>`,
@@ -1054,7 +1057,8 @@ function getControlValuesFromLabel(label) {
  * @private
  * @returns {Promise<unknown>}
  */
-function initFromConfig() {
+function initFromConfig() {;
+
 	const document = getDocument();
 	const host = document.querySelector("monster-host");
 
@@ -1068,7 +1072,7 @@ function initFromConfig() {
 		host
 			.getConfig(configKey)
 			.then((config) => {
-				if (config && isObject(config)) {
+				if ((config && isObject(config)) || isArray(config)) {
 					this[settingsSymbol].setOptions(config);
 				}
 				resolve();
diff --git a/source/components/datatable/style/filter.pcss b/source/components/datatable/style/filter.pcss
index 18c425630cbd16b29de727439d862ea021bfe1da..6478fff327fc7d70e4ef846fb271ab5dcbf75b43 100644
--- a/source/components/datatable/style/filter.pcss
+++ b/source/components/datatable/style/filter.pcss
@@ -13,7 +13,6 @@
     width: 100%;
 }
 
-
 [data-monster-role=control] {
 
     & .hidden {
@@ -33,7 +32,7 @@
 
         align-items: flex-end;
         display: flex;
-        justify-content: space-between;
+        justify-content: flex-start;
         width: 100%;
         flex-direction: column;
 
@@ -44,7 +43,7 @@
             width: 100%;
             column-gap: 1rem;
             row-gap: 0.5rem;
-            justify-content: space-between;
+            justify-content: flex-start;
 
 
             & ::slotted(label) {
diff --git a/source/components/datatable/stylesheet/filter.mjs b/source/components/datatable/stylesheet/filter.mjs
index 1b128a0871289a0905d1213eb2904245a7029e77..1497a73c9c5d15db3424eeb0cef7e0f769cb1b84 100644
--- a/source/components/datatable/stylesheet/filter.mjs
+++ b/source/components/datatable/stylesheet/filter.mjs
@@ -20,7 +20,7 @@ const FilterStyleSheet = new CSSStyleSheet();
 try {
   FilterStyleSheet.insertRule(`
 @layer filter { 
-:where(html){line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:where(h1){font-size:2em;margin-block-end:.67em;margin-block-start:.67em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-end:0;margin-block-start:0}:where(hr){box-sizing:content-box;color:inherit;height:0}:where(abbr[title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(summary){display:list-item}html{height:100%}body,html{min-height:calc(100vh - 40px)}body{box-sizing:border-box;margin:0;padding:0;word-break:break-word}.monster-button-primary,button{align-items:center;background-position:50%;border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-primary{background-color:var(--monster-bg-color-primary-4);border-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-button-secondary{background-color:var(--monster-bg-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-secondary-4)}.monster-button-secondary,.monster-button-tertiary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-tertiary{background-color:var(--monster-bg-color-tertiary-4);border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-tertiary-4)}.monster-button-outline-primary{background-color:var(--monster-color-primary-4);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-bg-color-primary-4)}.monster-button-outline-primary,.monster-button-outline-secondary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-outline-secondary{background-color:var(--monster-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-bg-color-secondary-4)}.monster-button-outline-tertiary{align-items:center;background-color:var(--monster-color-tertiary-4);background-position:50%;border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-bg-color-tertiary-4);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}button:active,button:hover{box-shadow:var(--monster-box-shadow-2);transition:background .8s,color .25s .0833333333s}button:active{z-index:var(--monster-z-index-outline)}.monster-button-bar,.monster-button-group{align-content:center;align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.monster-button-group{box-sizing:border-box;gap:0;margin:1rem 0}.monster-button-group>:not(:last-child){margin-right:calc(var(--monster-border-width)*-1)}.monster-button-group :hover{box-shadow:none}button:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px;z-index:var(--monster-z-index-outline)}@media (prefers-color-scheme:light){button:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px;z-index:var(--monster-z-index-outline)}}[data-monster-role=control]{outline:none;width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}: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-color-primary-1:var(--monster-color-gray-6);--monster-color-primary-2:var(--monster-color-gray-6);--monster-color-primary-3:var(--monster-color-gray-1);--monster-color-primary-4:var(--monster-color-gray-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-3);--monster-bg-color-primary-4:var(--monster-color-gray-6);--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);--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);--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);--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);--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);--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);--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);--monster-color-primary-disabled-1:var(--monster-color-gray-3);--monster-color-primary-disabled-2:var(--monster-color-gray-1);--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;--monster-box-shadow-1:none;--monster-box-shadow-2:-1px 1px 10px 1px hsla(0,0%,76%,.61);--monster-text-shadow:none;--monster-border-style:solid;--monster-border-width:2px;--monster-border-radius:0;--monster-popper-witharrrow-distance:-4px;--monster-z-index-default:0;--monster-z-index-outline:10;--monster-z-index-dropdown:200;--monster-z-index-dropdown-overlay:210;--monster-z-index-sticky:300;--monster-z-index-sticky-overlay:310;--monster-z-index-fixed:400;--monster-z-index-fixed-overlay:410;--monster-z-index-modal-backdrop:500;--monster-z-index-modal-backdrop-overlay:510;--monster-z-index-offcanvas:600;--monster-z-index-offcanvas-overlay:610;--monster-z-index-modal:700;--monster-z-index-modal-overlay:710;--monster-z-index-popover:800;--monster-z-index-popover-overlay:810;--monster-z-index-tooltip:800;--monster-z-index-tooltip-overlay:910;--monster-space-0:0;--monster-space-1:2px;--monster-space-2:4px;--monster-space-3:6px;--monster-space-4:10px;--monster-space-5:16px;--monster-space-6:26px;--monster-space-7:42px;--monster-breakpoint-0:480px;--monster-breakpoint-4:480px;--monster-breakpoint-7:768px;--monster-breakpoint-9:992px;--monster-breakpoint-12:1200px}@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);--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);--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);--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);--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);--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);--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);--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);--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)}}a,a:active,a:focus,a:hover,a:link,a:visited{background-image:linear-gradient(to right,var(--monster-color-gradient-1),var(--monster-color-gradient-2),var(--monster-color-gradient-3));background-position:100% 100%,0 100%;background-repeat:no-repeat;background-size:100% 1px,0 3px;color:var(--monster-color-primary-1);outline:none;text-decoration:none;transition:background-size .4s}a:active,a:focus,a:hover{background:linear-gradient(to right,var(--monster-color-gradient-1),var(--monster-color-gradient-2),var(--monster-color-gradient-3));-webkit-background-clip:text;background-clip:text;color:transparent;outline:none}a:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px}@media (prefers-color-scheme:light){a:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px}}:host{width:100%}[data-monster-role=control] .hidden{display:none}[data-monster-role=control] [data-monster-role=query]{height:100%;width:100%}[data-monster-role=control] [data-monster-role=layout]{align-items:flex-end;display:flex;flex-direction:column;justify-content:space-between;width:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=remove-badges]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\")}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter]{align-items:stretch;-moz-column-gap:1rem;column-gap:1rem;display:flex;flex-wrap:wrap;justify-content:space-between;row-gap:.5rem;width:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter] ::slotted(label){align-items:stretch;border-bottom:var(--monster-border-width) solid var(--monster-border-color);display:flex;flex-direction:column;gap:.1rem;min-width:15em;padding:2px}[data-monster-role=control] [data-monster-role=layout] [name=hidden]{display:none}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search]{align-items:stretch;-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-flow:row-reverse nowrap;margin-top:1rem;place-content:center flex-end;row-gap:1.5rem}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-button{display:flex}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(control){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(button-button){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(button-control){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-select{min-width:350px}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] [data-monster-visible=false]{display:none}@media (max-width:1200px){[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search]{-moz-column-gap:0;column-gap:0;flex-flow:column nowrap;row-gap:.5rem}}@media (max-width:768px){[data-monster-role=control] [data-monster-role=layout]{-moz-column-gap:0;column-gap:0;flex-flow:column nowrap;row-gap:.5rem}[data-monster-role=control] [data-monster-role=layout] monster-select{width:100%}}@media (max-width:480px){[data-monster-role=control] [data-monster-role=layout]{-moz-column-gap:0;column-gap:0;display:contents;flex-flow:column nowrap;row-gap:.5rem}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter]{display:contents}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter] ::slotted(label){min-width:-moz-fit-content;min-width:fit-content}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-select{min-width:-moz-fit-content;min-width:fit-content;width:100%}} 
+:where(html){line-height:1.15;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}:where(h1){font-size:2em;margin-block-end:.67em;margin-block-start:.67em}:where(dl,ol,ul) :where(dl,ol,ul){margin-block-end:0;margin-block-start:0}:where(hr){box-sizing:content-box;color:inherit;height:0}:where(abbr[title]){text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,pre,samp){font-family:monospace,monospace;font-size:1em}:where(small){font-size:80%}:where(table){border-color:currentColor;text-indent:0}:where(button,input,select){margin:0}:where(button){text-transform:none}:where(button,input:is([type=button i],[type=reset i],[type=submit i])){-webkit-appearance:button}:where(progress){vertical-align:baseline}:where(select){text-transform:none}:where(textarea){margin:0}:where(input[type=search i]){-webkit-appearance:textfield;outline-offset:-2px}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focus-inner{border-style:none;padding:0}:where(button,input:is([type=button i],[type=color i],[type=reset i],[type=submit i]))::-moz-focusring{outline:1px dotted ButtonText}:where(:-moz-ui-invalid){box-shadow:none}:where(dialog){background-color:#fff;border:solid;color:#000;height:-moz-fit-content;height:fit-content;left:0;margin:auto;padding:1em;position:absolute;right:0;width:-moz-fit-content;width:fit-content}:where(dialog:not([open])){display:none}:where(summary){display:list-item}html{height:100%}body,html{min-height:calc(100vh - 40px)}body{box-sizing:border-box;margin:0;padding:0;word-break:break-word}.monster-button-primary,button{align-items:center;background-position:50%;border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-primary{background-color:var(--monster-bg-color-primary-4);border-color:var(--monster-bg-color-primary-4);color:var(--monster-color-primary-4)}.monster-button-secondary{background-color:var(--monster-bg-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-secondary-4)}.monster-button-secondary,.monster-button-tertiary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-tertiary{background-color:var(--monster-bg-color-tertiary-4);border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-color-tertiary-4)}.monster-button-outline-primary{background-color:var(--monster-color-primary-4);border-color:var(--monster-bg-color-primary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-bg-color-primary-4)}.monster-button-outline-primary,.monster-button-outline-secondary{align-items:center;background-position:50%;box-shadow:var(--monster-box-shadow-1);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}.monster-button-outline-secondary{background-color:var(--monster-color-secondary-4);border-color:var(--monster-bg-color-secondary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);color:var(--monster-bg-color-secondary-4)}.monster-button-outline-tertiary{align-items:center;background-color:var(--monster-color-tertiary-4);background-position:50%;border-color:var(--monster-bg-color-tertiary-4);border-radius:var(--monster-border-radius);border-style:var(--monster-border-style);border-width:var(--monster-border-width);box-shadow:var(--monster-box-shadow-1);color:var(--monster-bg-color-tertiary-4);cursor:pointer;display:flex;font-family:var(--monster-font-family);font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;line-height:1.5;outline:none;overflow:hidden;padding:.375rem .75rem;position:relative;text-align:center;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:-webkit-fill-available;width:-moz-available;width:stretch}button:active,button:hover{box-shadow:var(--monster-box-shadow-2);transition:background .8s,color .25s .0833333333s}button:active{z-index:var(--monster-z-index-outline)}.monster-button-bar,.monster-button-group{align-content:center;align-items:stretch;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.monster-button-group{box-sizing:border-box;gap:0;margin:1rem 0}.monster-button-group>:not(:last-child){margin-right:calc(var(--monster-border-width)*-1)}.monster-button-group :hover{box-shadow:none}button:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px;z-index:var(--monster-z-index-outline)}@media (prefers-color-scheme:light){button:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px;z-index:var(--monster-z-index-outline)}}[data-monster-role=control]{outline:none;width:100%}[data-monster-role=control].flex{align-items:center;display:flex;flex-direction:row}: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-color-primary-1:var(--monster-color-gray-6);--monster-color-primary-2:var(--monster-color-gray-6);--monster-color-primary-3:var(--monster-color-gray-1);--monster-color-primary-4:var(--monster-color-gray-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-3);--monster-bg-color-primary-4:var(--monster-color-gray-6);--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);--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);--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);--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);--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);--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);--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);--monster-color-primary-disabled-1:var(--monster-color-gray-3);--monster-color-primary-disabled-2:var(--monster-color-gray-1);--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;--monster-box-shadow-1:none;--monster-box-shadow-2:-1px 1px 10px 1px hsla(0,0%,76%,.61);--monster-text-shadow:none;--monster-border-style:solid;--monster-border-width:2px;--monster-border-radius:0;--monster-popper-witharrrow-distance:-4px;--monster-z-index-default:0;--monster-z-index-outline:10;--monster-z-index-dropdown:200;--monster-z-index-dropdown-overlay:210;--monster-z-index-sticky:300;--monster-z-index-sticky-overlay:310;--monster-z-index-fixed:400;--monster-z-index-fixed-overlay:410;--monster-z-index-modal-backdrop:500;--monster-z-index-modal-backdrop-overlay:510;--monster-z-index-offcanvas:600;--monster-z-index-offcanvas-overlay:610;--monster-z-index-modal:700;--monster-z-index-modal-overlay:710;--monster-z-index-popover:800;--monster-z-index-popover-overlay:810;--monster-z-index-tooltip:800;--monster-z-index-tooltip-overlay:910;--monster-space-0:0;--monster-space-1:2px;--monster-space-2:4px;--monster-space-3:6px;--monster-space-4:10px;--monster-space-5:16px;--monster-space-6:26px;--monster-space-7:42px;--monster-breakpoint-0:480px;--monster-breakpoint-4:480px;--monster-breakpoint-7:768px;--monster-breakpoint-9:992px;--monster-breakpoint-12:1200px}@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);--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);--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);--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);--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);--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);--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);--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);--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)}}a,a:active,a:focus,a:hover,a:link,a:visited{background-image:linear-gradient(to right,var(--monster-color-gradient-1),var(--monster-color-gradient-2),var(--monster-color-gradient-3));background-position:100% 100%,0 100%;background-repeat:no-repeat;background-size:100% 1px,0 3px;color:var(--monster-color-primary-1);outline:none;text-decoration:none;transition:background-size .4s}a:active,a:focus,a:hover{background:linear-gradient(to right,var(--monster-color-gradient-1),var(--monster-color-gradient-2),var(--monster-color-gradient-3));-webkit-background-clip:text;background-clip:text;color:transparent;outline:none}a:focus{outline:1px dashed var(--monster-color-selection-4);outline-offset:2px}@media (prefers-color-scheme:light){a:focus{outline:1px dashed var(--monster-color-selection-3);outline-offset:2px}}:host{width:100%}[data-monster-role=control] .hidden{display:none}[data-monster-role=control] [data-monster-role=query]{height:100%;width:100%}[data-monster-role=control] [data-monster-role=layout]{align-items:flex-end;display:flex;flex-direction:column;justify-content:flex-start;width:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=remove-badges]{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E\")}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter]{align-items:stretch;-moz-column-gap:1rem;column-gap:1rem;display:flex;flex-wrap:wrap;justify-content:flex-start;row-gap:.5rem;width:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter] ::slotted(label){align-items:stretch;border-bottom:var(--monster-border-width) solid var(--monster-border-color);display:flex;flex-direction:column;gap:.1rem;min-width:15em;padding:2px}[data-monster-role=control] [data-monster-role=layout] [name=hidden]{display:none}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search]{align-items:stretch;-moz-column-gap:.5rem;column-gap:.5rem;display:flex;flex-flow:row-reverse nowrap;margin-top:1rem;place-content:center flex-end;row-gap:1.5rem}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-button{display:flex}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(control){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(button-button){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] .stretched-control ::part(button-control){height:100%}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-select{min-width:350px}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] [data-monster-visible=false]{display:none}@media (max-width:1200px){[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search]{-moz-column-gap:0;column-gap:0;flex-flow:column nowrap;row-gap:.5rem}}@media (max-width:768px){[data-monster-role=control] [data-monster-role=layout]{-moz-column-gap:0;column-gap:0;flex-flow:column nowrap;row-gap:.5rem}[data-monster-role=control] [data-monster-role=layout] monster-select{width:100%}}@media (max-width:480px){[data-monster-role=control] [data-monster-role=layout]{-moz-column-gap:0;column-gap:0;display:contents;flex-flow:column nowrap;row-gap:.5rem}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter]{display:contents}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=filter] ::slotted(label){min-width:-moz-fit-content;min-width:fit-content}[data-monster-role=control] [data-monster-role=layout] [data-monster-role=select-and-search] monster-select{min-width:-moz-fit-content;min-width:fit-content;width:100%}} 
 }`, 0);
 } catch (e) {
   addAttributeToken(document.getRootNode().querySelector('html'), ATTRIBUTE_ERRORMESSAGE, e + "");
diff --git a/source/components/form/button-bar.mjs b/source/components/form/button-bar.mjs
index 0ad939315120fdbb5ef4f4603abbca49cd61e643..4443bf7dfe1e8e348400039353868fdb1f08b8f0 100644
--- a/source/components/form/button-bar.mjs
+++ b/source/components/form/button-bar.mjs
@@ -4,34 +4,37 @@
  * This file is licensed under the AGPLv3 License.
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
-import {instanceSymbol} from "../../constants.mjs";
-import {Pathfinder} from "../../data/pathfinder.mjs";
+import { instanceSymbol } from "../../constants.mjs";
+import { Pathfinder } from "../../data/pathfinder.mjs";
 import {
-    addAttributeToken,
-    removeAttributeToken,
+	addAttributeToken,
+	removeAttributeToken,
 } from "../../dom/attributes.mjs";
-import {ATTRIBUTE_ERRORMESSAGE, ATTRIBUTE_ROLE} from "../../dom/constants.mjs";
 import {
-    assembleMethodSymbol,
-    getSlottedElements,
-    registerCustomElement,
+	ATTRIBUTE_ERRORMESSAGE,
+	ATTRIBUTE_ROLE,
+} from "../../dom/constants.mjs";
+import {
+	assembleMethodSymbol,
+	getSlottedElements,
+	registerCustomElement,
 } from "../../dom/customelement.mjs";
 import {
-    CustomElement,
-    attributeObserverSymbol,
+	CustomElement,
+	attributeObserverSymbol,
 } from "../../dom/customelement.mjs";
-import {findTargetElementFromEvent} from "../../dom/events.mjs";
-import {getDocument} from "../../dom/util.mjs";
-import {getGlobal} from "../../types/global.mjs";
-import {ID} from "../../types/id.mjs";
-import {DeadMansSwitch} from "../../util/deadmansswitch.mjs";
-import {Processing} from "../../util/processing.mjs";
-import {STYLE_DISPLAY_MODE_BLOCK} from "./constants.mjs";
-import {ButtonBarStyleSheet} from "./stylesheet/button-bar.mjs";
-import {positionPopper} from "./util/floating-ui.mjs";
-import {convertToPixels} from "../../dom/dimension.mjs";
-
-export {ButtonBar};
+import { findTargetElementFromEvent } from "../../dom/events.mjs";
+import { getDocument } from "../../dom/util.mjs";
+import { getGlobal } from "../../types/global.mjs";
+import { ID } from "../../types/id.mjs";
+import { DeadMansSwitch } from "../../util/deadmansswitch.mjs";
+import { Processing } from "../../util/processing.mjs";
+import { STYLE_DISPLAY_MODE_BLOCK } from "./constants.mjs";
+import { ButtonBarStyleSheet } from "./stylesheet/button-bar.mjs";
+import { positionPopper } from "./util/floating-ui.mjs";
+import { convertToPixels } from "../../dom/dimension.mjs";
+
+export { ButtonBar };
 
 /**
  * @private
@@ -148,154 +151,154 @@ const ATTRIBUTE_POPPER_POSITION = "data-monster-popper-position";
  * @fires Monster.Components.Form.event:monster-fetched
  */
 class ButtonBar extends CustomElement {
-    /**
-     * This method is called by the `instanceof` operator.
-     * @returns {symbol}
-     */
-    static get [instanceSymbol]() {
-        return Symbol.for("@schukai/monster/components/form/button-bar@@instance");
-    }
-
-    /**
-     * To set the options via the html tag the attribute `data-monster-options` must be used.
-     * @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
-     *
-     * The individual configuration values can be found in the table.
-     *
-     * @property {Object} templates Template definitions
-     * @property {string} templates.main Main template
-     * @property {Object} labels
-     * @property {Object} popper FloatingUI popper configuration
-     * @property {string} popper.placement=top Placement of the popper
-     * @property {number} popper.middleware [middlerware](https://floating-ui.js.org/docs/middleware) to be used
-     */
-    get defaults() {
-        const obj = Object.assign({}, super.defaults, {
-            templates: {
-                main: getTemplate(),
-            },
-            labels: {},
-            popper: {
-                placement: "bottom",
-            },
-        });
-
-        initDefaultsFromAttributes.call(this, obj);
-
-        return obj;
-    }
-
-    /**
-     * This method is called internal and should not be called directly.
-     */
-    [assembleMethodSymbol]() {
-        super[assembleMethodSymbol]();
-
-        this[dimensionsSymbol] = new Pathfinder({data: {}});
-
-        initControlReferences.call(this);
-        initEventHandler.call(this);
-
-        // setup structure
-        initButtonBar.call(this).then(() => {
-            initPopperSwitch.call(this);
-        });
-    }
-
-    /**
-     * This method is called internal and should not be called directly.
-     *
-     * @return {CSSStyleSheet[]}
-     */
-    static getCSSStyleSheet() {
-        return [ButtonBarStyleSheet];
-    }
-
-    /**
-     * This method is called internal and should not be called directly.
-     *
-     * @return {string}
-     */
-    static getTag() {
-        return "monster-button-bar";
-    }
-
-    /**
-     * This method is called by the dom and should not be called directly.
-     *
-     * @return {void}
-     */
-    connectedCallback() {
-        super.connectedCallback();
-
-        const document = getDocument();
-
-        for (const [, type] of Object.entries(["click", "touch"])) {
-            // close on outside ui-events
-            document.addEventListener(type, this[closeEventHandler]);
-        }
-
-        setTimeout(() => {
-            updatePopper.call(this);
-            updateResizeObserverObservation.call(this);
-        }, 0);
-    }
-
-    /**
-     * This method determines which attributes are to be monitored by `attributeChangedCallback()`.
-     *
-     * @return {string[]}
-     */
-    static get observedAttributes() {
-        const attributes = super.observedAttributes;
-        attributes.push(ATTRIBUTE_POPPER_POSITION);
-        return attributes;
-    }
-
-    /**
-     * This method is called by the dom and should not be called directly.
-     *
-     * @return {void}
-     */
-    disconnectedCallback() {
-        super.disconnectedCallback();
-
-        const document = getDocument();
-
-        // close on outside ui-events
-        for (const [, type] of Object.entries(["click", "touch"])) {
-            document.removeEventListener(type, this[closeEventHandler]);
-        }
-
-        disconnectResizeObserver.call(this);
-    }
-
-    /**
-     * Close the slotted dialog.
-     * @return {ButtonBar}
-     */
-    hideDialog() {
-        hide.call(this);
-        return this;
-    }
-
-    /**
-     * Open the slotted dialog.
-     * @return {ButtonBar}
-     */
-    showDialog() {
-        show.call(this);
-        return this;
-    }
-
-    /**
-     * Toggle the slotted dialog.
-     * @return {ButtonBar}
-     */
-    toggleDialog() {
-        toggle.call(this);
-        return this;
-    }
+	/**
+	 * This method is called by the `instanceof` operator.
+	 * @returns {symbol}
+	 */
+	static get [instanceSymbol]() {
+		return Symbol.for("@schukai/monster/components/form/button-bar@@instance");
+	}
+
+	/**
+	 * To set the options via the html tag the attribute `data-monster-options` must be used.
+	 * @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
+	 *
+	 * The individual configuration values can be found in the table.
+	 *
+	 * @property {Object} templates Template definitions
+	 * @property {string} templates.main Main template
+	 * @property {Object} labels
+	 * @property {Object} popper FloatingUI popper configuration
+	 * @property {string} popper.placement=top Placement of the popper
+	 * @property {number} popper.middleware [middlerware](https://floating-ui.js.org/docs/middleware) to be used
+	 */
+	get defaults() {
+		const obj = Object.assign({}, super.defaults, {
+			templates: {
+				main: getTemplate(),
+			},
+			labels: {},
+			popper: {
+				placement: "bottom",
+			},
+		});
+
+		initDefaultsFromAttributes.call(this, obj);
+
+		return obj;
+	}
+
+	/**
+	 * This method is called internal and should not be called directly.
+	 */
+	[assembleMethodSymbol]() {
+		super[assembleMethodSymbol]();
+
+		this[dimensionsSymbol] = new Pathfinder({ data: {} });
+
+		initControlReferences.call(this);
+		initEventHandler.call(this);
+
+		// setup structure
+		initButtonBar.call(this).then(() => {
+			initPopperSwitch.call(this);
+		});
+	}
+
+	/**
+	 * This method is called internal and should not be called directly.
+	 *
+	 * @return {CSSStyleSheet[]}
+	 */
+	static getCSSStyleSheet() {
+		return [ButtonBarStyleSheet];
+	}
+
+	/**
+	 * This method is called internal and should not be called directly.
+	 *
+	 * @return {string}
+	 */
+	static getTag() {
+		return "monster-button-bar";
+	}
+
+	/**
+	 * This method is called by the dom and should not be called directly.
+	 *
+	 * @return {void}
+	 */
+	connectedCallback() {
+		super.connectedCallback();
+
+		const document = getDocument();
+
+		for (const [, type] of Object.entries(["click", "touch"])) {
+			// close on outside ui-events
+			document.addEventListener(type, this[closeEventHandler]);
+		}
+
+		setTimeout(() => {
+			updatePopper.call(this);
+			updateResizeObserverObservation.call(this);
+		}, 0);
+	}
+
+	/**
+	 * This method determines which attributes are to be monitored by `attributeChangedCallback()`.
+	 *
+	 * @return {string[]}
+	 */
+	static get observedAttributes() {
+		const attributes = super.observedAttributes;
+		attributes.push(ATTRIBUTE_POPPER_POSITION);
+		return attributes;
+	}
+
+	/**
+	 * This method is called by the dom and should not be called directly.
+	 *
+	 * @return {void}
+	 */
+	disconnectedCallback() {
+		super.disconnectedCallback();
+
+		const document = getDocument();
+
+		// close on outside ui-events
+		for (const [, type] of Object.entries(["click", "touch"])) {
+			document.removeEventListener(type, this[closeEventHandler]);
+		}
+
+		disconnectResizeObserver.call(this);
+	}
+
+	/**
+	 * Close the slotted dialog.
+	 * @return {ButtonBar}
+	 */
+	hideDialog() {
+		hide.call(this);
+		return this;
+	}
+
+	/**
+	 * Open the slotted dialog.
+	 * @return {ButtonBar}
+	 */
+	showDialog() {
+		show.call(this);
+		return this;
+	}
+
+	/**
+	 * Toggle the slotted dialog.
+	 * @return {ButtonBar}
+	 */
+	toggleDialog() {
+		toggle.call(this);
+		return this;
+	}
 }
 
 /**
@@ -304,88 +307,88 @@ class ButtonBar extends CustomElement {
  * @returns {*}
  */
 function initDefaultsFromAttributes(obj) {
-    if (this.hasAttribute(ATTRIBUTE_POPPER_POSITION)) {
-        obj.popper.placement = this.getAttribute(ATTRIBUTE_POPPER_POSITION);
-    }
+	if (this.hasAttribute(ATTRIBUTE_POPPER_POSITION)) {
+		obj.popper.placement = this.getAttribute(ATTRIBUTE_POPPER_POSITION);
+	}
 
-    return obj;
+	return obj;
 }
 
 /**
  * @private
  */
 function initEventHandler() {
-    const self = this;
-    /**
-     * @param {Event} event
-     */
-    self[closeEventHandler] = (event) => {
-        const path = event.composedPath();
-
-        for (const [, element] of Object.entries(path)) {
-            if (element === self) {
-                return;
-            }
-        }
-
-        hide.call(self);
-    };
-
-    if (self[buttonBarSlotElementSymbol]) {
-        self[buttonBarSlotElementSymbol].addEventListener("slotchange", (event) => {
-            checkAndRearrangeButtons.call(self);
-        });
-    }
-
-    if (self[popperElementSymbol]) {
-        self[popperElementSymbol].addEventListener("slotchange", (event) => {
-            checkAndRearrangeButtons.call(self);
-        });
-    }
-
-    // data-monster-options
-    self[attributeObserverSymbol][ATTRIBUTE_POPPER_POSITION] = function (value) {
-        self.setOption("classes.button", value);
-    };
-
-    self[resizeObserverSymbol] = new ResizeObserver((entries) => {
-        if (self[timerCallbackSymbol] instanceof DeadMansSwitch) {
-            try {
-                self[timerCallbackSymbol].touch();
-                return;
-            } catch (e) {
-                // catch Error("has already run");
-                if (e.message !== "has already run") {
-                    throw e;
-                }
-                delete self[timerCallbackSymbol];
-            }
-        }
-
-        self[timerCallbackSymbol] = new DeadMansSwitch(200, () => {
-            setTimeout(() => {
-                updatePopper.call(self);
-                self[dimensionsSymbol].setVia("data.calculated", false);
-                checkAndRearrangeButtons.call(self);
-            }, 50);
-        });
-    });
-
-    initSlotChangedHandler.call(self);
+	const self = this;
+	/**
+	 * @param {Event} event
+	 */
+	self[closeEventHandler] = (event) => {
+		const path = event.composedPath();
+
+		for (const [, element] of Object.entries(path)) {
+			if (element === self) {
+				return;
+			}
+		}
+
+		hide.call(self);
+	};
+
+	if (self[buttonBarSlotElementSymbol]) {
+		self[buttonBarSlotElementSymbol].addEventListener("slotchange", (event) => {
+			checkAndRearrangeButtons.call(self);
+		});
+	}
+
+	if (self[popperElementSymbol]) {
+		self[popperElementSymbol].addEventListener("slotchange", (event) => {
+			checkAndRearrangeButtons.call(self);
+		});
+	}
+
+	// data-monster-options
+	self[attributeObserverSymbol][ATTRIBUTE_POPPER_POSITION] = function (value) {
+		self.setOption("classes.button", value);
+	};
+
+	self[resizeObserverSymbol] = new ResizeObserver((entries) => {
+		if (self[timerCallbackSymbol] instanceof DeadMansSwitch) {
+			try {
+				self[timerCallbackSymbol].touch();
+				return;
+			} catch (e) {
+				// catch Error("has already run");
+				if (e.message !== "has already run") {
+					throw e;
+				}
+				delete self[timerCallbackSymbol];
+			}
+		}
+
+		self[timerCallbackSymbol] = new DeadMansSwitch(200, () => {
+			setTimeout(() => {
+				updatePopper.call(self);
+				self[dimensionsSymbol].setVia("data.calculated", false);
+				checkAndRearrangeButtons.call(self);
+			}, 50);
+		});
+	});
+
+	initSlotChangedHandler.call(self);
 }
 
 function initSlotChangedHandler() {
-    this[buttonBarElementSymbol].addEventListener("slotchange", () => {
-        updateResizeObserverObservation.call(this);
-    });
+	this[buttonBarElementSymbol].addEventListener("slotchange", () => {
+		updateResizeObserverObservation.call(this);
+	});
 }
 
 function checkAndRearrangeButtons() {
-    if (this[dimensionsSymbol].getVia("data.calculated", false) !== true) {
-        calculateButtonBarDimensions.call(this);
-    }
+	if (this[dimensionsSymbol].getVia("data.calculated", false) !== true) {
+		calculateButtonBarDimensions.call(this);
+	}
 
-    rearrangeButtons.call(this);
+	rearrangeButtons.call(this);
 }
 
 /**
@@ -393,58 +396,57 @@ function checkAndRearrangeButtons() {
  * @return {Object}
  */
 function rearrangeButtons() {
+	let sum = this[switchElementSymbol].offsetWidth;
+	const space = this[dimensionsSymbol].getVia("data.space");
+
+	const buttonReferences = this[dimensionsSymbol].getVia(
+		"data.buttonReferences",
+	);
+
+	for (const ref of buttonReferences) {
+		sum += this[dimensionsSymbol].getVia(`data.button.${ref}`);
+
+		let elements = getSlottedElements.call(
+			this,
+			'[data-monster-reference="' + ref + '"]',
+			null,
+		); // null ↦ o
+		if (elements.size === 0) {
+			elements = getSlottedElements.call(
+				this,
+				'[data-monster-reference="' + ref + '"]',
+				"popper",
+			); // null ↦ o
+		}
+
+		const nextValue = elements.values().next();
+		if (!nextValue) {
+			continue;
+		}
+
+		const element = nextValue?.value;
+		if (!(element instanceof HTMLElement)) {
+			continue;
+		}
+
+		const buttonLabel = element.innerText;
+
+		if (sum > space) {
+			element.setAttribute("slot", "popper");
+		} else {
+			element.removeAttribute("slot");
+		}
+	}
 
-    let sum = this[switchElementSymbol].offsetWidth;
-    const space = this[dimensionsSymbol].getVia("data.space");
-
-    const buttonReferences = this[dimensionsSymbol].getVia(
-        "data.buttonReferences",
-    );
-
-    for (const ref of buttonReferences) {
-        sum += this[dimensionsSymbol].getVia(`data.button.${ref}`);
-
-        let elements = getSlottedElements.call(
-            this,
-            '[data-monster-reference="' + ref + '"]',
-            null,
-        ); // null ↦ o
-        if (elements.size === 0) {
-            elements = getSlottedElements.call(
-                this,
-                '[data-monster-reference="' + ref + '"]',
-                "popper",
-            ); // null ↦ o
-        }
-
-        const nextValue = elements.values().next();
-        if (!nextValue) {
-            continue;
-        }
-
-        const element = nextValue?.value;
-        if (!(element instanceof HTMLElement)) {
-            continue;
-        }
-
-        const buttonLabel = element.innerText;
-
-        if (sum > space) {
-            element.setAttribute("slot", "popper");
-        } else {
-            element.removeAttribute("slot");
-        }
-    }
-
-    const inVisibleButtons = getSlottedElements.call(this, ":scope", "popper"); // null ↦ o
-    if (inVisibleButtons.size > 0) {
-        this[switchElementSymbol].classList.remove("hidden");
-    } else {
-        this[switchElementSymbol].classList.add("hidden");
-        setTimeout(() => {
-            hide.call(this);
-        }, 1);
-    }
+	const inVisibleButtons = getSlottedElements.call(this, ":scope", "popper"); // null ↦ o
+	if (inVisibleButtons.size > 0) {
+		this[switchElementSymbol].classList.remove("hidden");
+	} else {
+		this[switchElementSymbol].classList.add("hidden");
+		setTimeout(() => {
+			hide.call(this);
+		}, 1);
+	}
 }
 
 /**
@@ -453,22 +455,22 @@ function rearrangeButtons() {
  * @return {number}
  */
 function calcBoxWidth(node) {
-    const dim = getGlobal()?.getComputedStyle(node);
+	const dim = getGlobal()?.getComputedStyle(node);
 	if (dim === null) {
-        addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, "no computed style");
-        throw new Error("no computed style");
+		addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, "no computed style");
+		throw new Error("no computed style");
 	}
-    const bounding = node.getBoundingClientRect();
-
-    return (
-        convertToPixels(dim["border-left-width"]) +
-        convertToPixels(dim["padding-left"]) +
-        convertToPixels(dim["margin-left"]) +
-        bounding["width"] +
-        convertToPixels(dim["border-right-width"]) +
-        convertToPixels(dim["margin-right"]) +
-        convertToPixels(dim["padding-left"])
-    );
+	const bounding = node.getBoundingClientRect();
+
+	return (
+		convertToPixels(dim["border-left-width"]) +
+		convertToPixels(dim["padding-left"]) +
+		convertToPixels(dim["margin-left"]) +
+		bounding["width"] +
+		convertToPixels(dim["border-right-width"]) +
+		convertToPixels(dim["margin-right"]) +
+		convertToPixels(dim["padding-left"])
+	);
 }
 
 /**
@@ -476,112 +478,112 @@ function calcBoxWidth(node) {
  * @return {Object}
  */
 function calculateButtonBarDimensions() {
-    const computedStyle = getComputedStyle(this.parentElement);
-    if (computedStyle === null) {
-        throw new Error("no computed style");
-    }
-
-    let width = this.parentElement.clientWidth;
-    if (computedStyle.getPropertyValue("box-sizing") !== "border-box") {
-        width = computedStyle.getPropertyValue("width");
-        this[dimensionsSymbol].setVia("data.space", convertToPixels(width));
-    } else {
-        let borderWidth = getComputedStyle(this).getPropertyValue(
-            "--monster-border-width",
-        );
-        if (borderWidth === null || borderWidth === "") {
-            borderWidth = "0px";
-        }
-
-        const borderWidthWithoutUnit = convertToPixels(borderWidth);
-
-        // space to be allocated
-        this[dimensionsSymbol].setVia(
-            "data.space",
-            width - 2 * borderWidthWithoutUnit,
-        );
-    }
-
-    this[dimensionsSymbol].setVia("data.visible", !(width === 0));
-
-    const buttonReferences = [];
-
-    const visibleButtons = getSlottedElements.call(this, ":scope", null); // null ↦ o
-
-    for (const [, button] of visibleButtons.entries()) {
-        if (!button.hasAttribute("data-monster-reference")) {
-            button.setAttribute("data-monster-reference", new ID("vb").toString());
-        }
-
-        const ref = button.getAttribute("data-monster-reference");
-        if (ref === null) continue;
-
-        buttonReferences.push(ref);
-        this[dimensionsSymbol].setVia(
-            `data.button.${ref}`,
-            calcBoxWidth.call(this, button),
-        );
-    }
-
-    const invisibleButtons = getSlottedElements.call(this, ":scope", "popper"); // null ↦ o
-    for (const [, button] of invisibleButtons.entries()) {
-        if (!button.hasAttribute("data-monster-reference")) {
-            button.setAttribute("data-monster-reference", new ID("ib").toString());
-        }
-
-        const ref = button.getAttribute("data-monster-reference");
-        if (ref === null) continue;
-
-        if (ref.indexOf("ib") !== 0) {
-            buttonReferences.push(ref);
-        }
-    }
-
-    this[dimensionsSymbol].setVia("data.calculated", true);
-    this[dimensionsSymbol].setVia("data.buttonReferences", buttonReferences);
+	const computedStyle = getComputedStyle(this.parentElement);
+	if (computedStyle === null) {
+		throw new Error("no computed style");
+	}
+
+	let width = this.parentElement.clientWidth;
+	if (computedStyle.getPropertyValue("box-sizing") !== "border-box") {
+		width = computedStyle.getPropertyValue("width");
+		this[dimensionsSymbol].setVia("data.space", convertToPixels(width));
+	} else {
+		let borderWidth = getComputedStyle(this).getPropertyValue(
+			"--monster-border-width",
+		);
+		if (borderWidth === null || borderWidth === "") {
+			borderWidth = "0px";
+		}
+
+		const borderWidthWithoutUnit = convertToPixels(borderWidth);
+
+		// space to be allocated
+		this[dimensionsSymbol].setVia(
+			"data.space",
+			width - 2 * borderWidthWithoutUnit,
+		);
+	}
+
+	this[dimensionsSymbol].setVia("data.visible", !(width === 0));
+
+	const buttonReferences = [];
+
+	const visibleButtons = getSlottedElements.call(this, ":scope", null); // null ↦ o
+
+	for (const [, button] of visibleButtons.entries()) {
+		if (!button.hasAttribute("data-monster-reference")) {
+			button.setAttribute("data-monster-reference", new ID("vb").toString());
+		}
+
+		const ref = button.getAttribute("data-monster-reference");
+		if (ref === null) continue;
+
+		buttonReferences.push(ref);
+		this[dimensionsSymbol].setVia(
+			`data.button.${ref}`,
+			calcBoxWidth.call(this, button),
+		);
+	}
+
+	const invisibleButtons = getSlottedElements.call(this, ":scope", "popper"); // null ↦ o
+	for (const [, button] of invisibleButtons.entries()) {
+		if (!button.hasAttribute("data-monster-reference")) {
+			button.setAttribute("data-monster-reference", new ID("ib").toString());
+		}
+
+		const ref = button.getAttribute("data-monster-reference");
+		if (ref === null) continue;
+
+		if (ref.indexOf("ib") !== 0) {
+			buttonReferences.push(ref);
+		}
+	}
+
+	this[dimensionsSymbol].setVia("data.calculated", true);
+	this[dimensionsSymbol].setVia("data.buttonReferences", buttonReferences);
 }
 
 /**
  * @private
  */
 function updateResizeObserverObservation() {
-    this[resizeObserverSymbol].disconnect();
+	this[resizeObserverSymbol].disconnect();
 
-    const slottedNodes = getSlottedElements.call(this);
-    slottedNodes.forEach((node) => {
-        this[resizeObserverSymbol].observe(node);
-    });
+	const slottedNodes = getSlottedElements.call(this);
+	slottedNodes.forEach((node) => {
+		this[resizeObserverSymbol].observe(node);
+	});
 
-    if (this.parentElement === null) return;
-    this[resizeObserverSymbol].observe(this.parentElement);
+	if (this.parentElement === null) return;
+	this[resizeObserverSymbol].observe(this.parentElement);
 }
 
 /**
  * @private
  */
 function disconnectResizeObserver() {
-    if (this[resizeObserverSymbol] instanceof ResizeObserver) {
-        this[resizeObserverSymbol].disconnect();
-    }
+	if (this[resizeObserverSymbol] instanceof ResizeObserver) {
+		this[resizeObserverSymbol].disconnect();
+	}
 }
 
 /**
  * @private
  */
 function toggle() {
-    if (this[popperElementSymbol].style.display === STYLE_DISPLAY_MODE_BLOCK) {
-        hide.call(this);
-    } else {
-        show.call(this);
-    }
+	if (this[popperElementSymbol].style.display === STYLE_DISPLAY_MODE_BLOCK) {
+		hide.call(this);
+	} else {
+		show.call(this);
+	}
 }
 
 /**
  * @private
  */
 function hide() {
-    this[popperElementSymbol].style.display = "none";
-    removeAttributeToken(this[controlElementSymbol], "class", "open");
+	this[popperElementSymbol].style.display = "none";
+	removeAttributeToken(this[controlElementSymbol], "class", "open");
 }
 
 /**
@@ -589,40 +591,40 @@ function hide() {
  * @this PopperButton
  */
 function show() {
-    if (this.getOption("disabled", false) === true) {
-        return;
-    }
+	if (this.getOption("disabled", false) === true) {
+		return;
+	}
 
-    if (this[popperElementSymbol].style.display === STYLE_DISPLAY_MODE_BLOCK) {
-        return;
-    }
+	if (this[popperElementSymbol].style.display === STYLE_DISPLAY_MODE_BLOCK) {
+		return;
+	}
 
-    this[popperElementSymbol].style.visibility = "hidden";
-    this[popperElementSymbol].style.display = STYLE_DISPLAY_MODE_BLOCK;
+	this[popperElementSymbol].style.visibility = "hidden";
+	this[popperElementSymbol].style.display = STYLE_DISPLAY_MODE_BLOCK;
 
-    addAttributeToken(this[controlElementSymbol], "class", "open");
+	addAttributeToken(this[controlElementSymbol], "class", "open");
 
-    updatePopper.call(this);
+	updatePopper.call(this);
 }
 
 /**
  * @private
  */
 function updatePopper() {
-    if (this[popperElementSymbol].style.display !== STYLE_DISPLAY_MODE_BLOCK) {
-        return;
-    }
-
-    if (this.getOption("disabled", false) === true) {
-        return;
-    }
-
-    positionPopper.call(
-        this,
-        this[switchElementSymbol],
-        this[popperElementSymbol],
-        this.getOption("popper", {}),
-    );
+	if (this[popperElementSymbol].style.display !== STYLE_DISPLAY_MODE_BLOCK) {
+		return;
+	}
+
+	if (this.getOption("disabled", false) === true) {
+		return;
+	}
+
+	positionPopper.call(
+		this,
+		this[switchElementSymbol],
+		this[popperElementSymbol],
+		this.getOption("popper", {}),
+	);
 }
 
 /**
@@ -631,34 +633,34 @@ function updatePopper() {
  * @throws {Error} no shadow-root is defined
  */
 function initControlReferences() {
-    if (!this.shadowRoot) {
-        throw new Error("no shadow-root is defined");
-    }
-
-    this[controlElementSymbol] = this.shadowRoot.querySelector(
-        `[${ATTRIBUTE_ROLE}=control]`,
-    );
-    this[buttonBarElementSymbol] = this.shadowRoot.querySelector(
-        `[${ATTRIBUTE_ROLE}=button-bar]`,
-    );
-    this[popperElementSymbol] = this.shadowRoot.querySelector(
-        `[${ATTRIBUTE_ROLE}=popper]`,
-    );
-    this[popperNavElementSymbol] = this.shadowRoot.querySelector(
-        `[${ATTRIBUTE_ROLE}=popper-nav]`,
-    );
-    this[switchElementSymbol] = this.shadowRoot.querySelector(
-        `[${ATTRIBUTE_ROLE}=switch]`,
-    );
-
-    this[buttonBarSlotElementSymbol] = null;
-    if (this[buttonBarElementSymbol])
-        this[buttonBarSlotElementSymbol] =
-            this[buttonBarElementSymbol].querySelector(`slot`);
-    this[popperSlotElementSymbol] = null;
-    if (this[popperElementSymbol])
-        this[popperSlotElementSymbol] =
-            this[popperElementSymbol].querySelector(`slot`);
+	if (!this.shadowRoot) {
+		throw new Error("no shadow-root is defined");
+	}
+
+	this[controlElementSymbol] = this.shadowRoot.querySelector(
+		`[${ATTRIBUTE_ROLE}=control]`,
+	);
+	this[buttonBarElementSymbol] = this.shadowRoot.querySelector(
+		`[${ATTRIBUTE_ROLE}=button-bar]`,
+	);
+	this[popperElementSymbol] = this.shadowRoot.querySelector(
+		`[${ATTRIBUTE_ROLE}=popper]`,
+	);
+	this[popperNavElementSymbol] = this.shadowRoot.querySelector(
+		`[${ATTRIBUTE_ROLE}=popper-nav]`,
+	);
+	this[switchElementSymbol] = this.shadowRoot.querySelector(
+		`[${ATTRIBUTE_ROLE}=switch]`,
+	);
+
+	this[buttonBarSlotElementSymbol] = null;
+	if (this[buttonBarElementSymbol])
+		this[buttonBarSlotElementSymbol] =
+			this[buttonBarElementSymbol].querySelector(`slot`);
+	this[popperSlotElementSymbol] = null;
+	if (this[popperElementSymbol])
+		this[popperSlotElementSymbol] =
+			this[popperElementSymbol].querySelector(`slot`);
 }
 
 /**
@@ -668,36 +670,36 @@ function initControlReferences() {
  *
  */
 function initButtonBar() {
-    if (!this.shadowRoot) {
-        throw new Error("no shadow-root is defined");
-    }
+	if (!this.shadowRoot) {
+		throw new Error("no shadow-root is defined");
+	}
 
-    return new Processing(() => {
-        checkAndRearrangeButtons.call(this);
-    }).run();
+	return new Processing(() => {
+		checkAndRearrangeButtons.call(this);
+	}).run();
 }
 
 /**
  * @private
  */
 function initPopperSwitch() {
-    /**
-     * @param {Event} event
-     */
-    this[popperSwitchEventHandler] = (event) => {
-        const element = findTargetElementFromEvent(event, ATTRIBUTE_ROLE, "switch");
-
-        if (element instanceof HTMLButtonElement) {
-            toggle.call(this);
-        }
-    };
-
-    for (const type of ["click", "touch"]) {
-        this[switchElementSymbol].addEventListener(
-            type,
-            this[popperSwitchEventHandler],
-        );
-    }
+	/**
+	 * @param {Event} event
+	 */
+	this[popperSwitchEventHandler] = (event) => {
+		const element = findTargetElementFromEvent(event, ATTRIBUTE_ROLE, "switch");
+
+		if (element instanceof HTMLButtonElement) {
+			toggle.call(this);
+		}
+	};
+
+	for (const type of ["click", "touch"]) {
+		this[switchElementSymbol].addEventListener(
+			type,
+			this[popperSwitchEventHandler],
+		);
+	}
 }
 
 /**
@@ -705,8 +707,8 @@ function initPopperSwitch() {
  * @return {string}
  */
 function getTemplate() {
-    // language=HTML
-    return `
+	// language=HTML
+	return `
         <div data-monster-role="control" part="control">
             <div data-monster-role="button-bar">
                 <slot></slot>
diff --git a/source/components/form/toggle-switch.mjs b/source/components/form/toggle-switch.mjs
index 6f4811a6076e5ea2e1b98eb656451105e3c3e5f4..8c6da98f7d7203454a896e6d61add09f863b744e 100644
--- a/source/components/form/toggle-switch.mjs
+++ b/source/components/form/toggle-switch.mjs
@@ -335,7 +335,7 @@ function toggleClassOff() {
 /**
  * @private
  */
-function toggleClass() {;
+function toggleClass() {
 	if (this.getOption("value") === this.getOption("values.on")) {
 		toggleClassOn.call(this);
 	} else {
@@ -346,7 +346,7 @@ function toggleClass() {;
 /**
  * @private
  */
-function toggleValues() {;
+function toggleValues() {
 
 	if (this.getOption("disabled") === true) {
 		return;
@@ -366,7 +366,7 @@ function toggleValues() {;
 /**
  * @private
  */
-function validateAndSetValue() {;
+function validateAndSetValue() {
 	const value = this.getOption("value");
 
 	const validatedValues = [];
diff --git a/source/dom/events.mjs b/source/dom/events.mjs
index 098a32f0b10d4ac1e84cfbac418f69852ad5911a..2c1ac85a8901aadade91b885607cd0037de43ac6 100644
--- a/source/dom/events.mjs
+++ b/source/dom/events.mjs
@@ -67,7 +67,6 @@ function fireEvent(element, type) {
  * @summary Construct and send and event
  */
 function fireCustomEvent(element, type, detail) {
-
 	if (element instanceof HTMLElement) {
 		if (!isObject(detail)) {
 			detail = { detail };
diff --git a/source/monster.mjs b/source/monster.mjs
index 86a2bb9f479d037005d7a2ff88056dbebc665d3e..d312e88da10aca13852dd835f8d556ff3914b3cc 100644
--- a/source/monster.mjs
+++ b/source/monster.mjs
@@ -1,4 +1,3 @@
-
 /**
  * Copyright schukai GmbH and contributors 2023. All Rights Reserved.
  * Node module: @schukai/monster
diff --git a/source/util/freeze.mjs b/source/util/freeze.mjs
index d1162658689f66d03614dedbe999cfd5147fa821..d691f48360f750264b3cf96f13303971758647fd 100644
--- a/source/util/freeze.mjs
+++ b/source/util/freeze.mjs
@@ -24,7 +24,7 @@ function deepFreeze(object) {
 	validateObject(object);
 
 	// Retrieve the defined property names of the object
-	var propNames = Object.getOwnPropertyNames(object);
+	let propNames = Object.getOwnPropertyNames(object);
 
 	// Freeze properties before freezing yourself
 	for (const name of propNames) {