From 11736bbcf8493a56a7294703d8eae8bc70bd51c4 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Tue, 9 Aug 2022 19:11:56 +0200
Subject: [PATCH] chore: commit save point

---
 application/example/dom/customelement.mjs     | 13 +++
 application/example/dom/theme.mjs             |  5 ++
 application/source/data/diff.mjs              |  7 --
 application/source/dom/assembler.mjs          | 10 ---
 application/source/dom/attributes.mjs         | 88 -------------------
 application/source/dom/constants.mjs          |  3 -
 application/source/dom/customcontrol.mjs      | 12 +--
 application/source/dom/customelement.mjs      | 26 +-----
 application/source/dom/events.mjs             | 27 +-----
 application/source/dom/focusmanager.mjs       | 11 ---
 application/source/dom/locale.mjs             | 10 ---
 application/source/dom/namespace.mjs          |  2 -
 application/source/dom/ready.mjs              | 22 -----
 application/source/dom/resource.mjs           | 10 ---
 application/source/dom/resource/data.mjs      | 10 ---
 application/source/dom/resource/link.mjs      | 10 ---
 .../source/dom/resource/link/stylesheet.mjs   | 10 ---
 application/source/dom/resource/namespace.mjs |  2 -
 application/source/dom/resource/script.mjs    | 10 ---
 application/source/dom/resourcemanager.mjs    | 10 ---
 application/source/dom/template.mjs           | 10 ---
 application/source/dom/theme.mjs              | 20 +----
 application/source/dom/worker/factory.mjs     | 13 ---
 application/source/dom/worker/namespace.mjs   |  2 -
 24 files changed, 22 insertions(+), 321 deletions(-)
 create mode 100644 application/example/dom/customelement.mjs
 create mode 100644 application/example/dom/theme.mjs

diff --git a/application/example/dom/customelement.mjs b/application/example/dom/customelement.mjs
new file mode 100644
index 000000000..16929eb07
--- /dev/null
+++ b/application/example/dom/customelement.mjs
@@ -0,0 +1,13 @@
+// In the example the user can use his own template by creating a template in the DOM with the ID `my-custom-element`.
+// You can also specify a theme (for example `mytheme`), then it will search for the ID `my-custom-element-mytheme` and
+// if not available for the ID `my-custom-element`.
+
+class MyCustomElement extends CustomElement {
+
+    static getTag() {
+        return "my-custom-element"
+    }
+
+}
+
+// ↦ <my-custom-element></my-custom-element>
\ No newline at end of file
diff --git a/application/example/dom/theme.mjs b/application/example/dom/theme.mjs
new file mode 100644
index 000000000..a876922d2
--- /dev/null
+++ b/application/example/dom/theme.mjs
@@ -0,0 +1,5 @@
+import {getDocumentTheme} from '@schukai/monster/source/dom/theme.mjs';
+
+const theme = getDocumentTheme();
+console.log(theme.getName());
+// ↦ monster
\ No newline at end of file
diff --git a/application/source/data/diff.mjs b/application/source/data/diff.mjs
index a6bc92323..d3761bc0e 100644
--- a/application/source/data/diff.mjs
+++ b/application/source/data/diff.mjs
@@ -15,13 +15,6 @@ export {diff}
  *
  * The operator `add` means that something has been added to the second object. `delete` means that something has been deleted from the second object compared to the first object.
  *
- * ```
- * <script type="module">
- * import {Diff} from '@schukai/monster/source/data/diff.mjs';
- * Diff(a, b)
- * </script>
- * ```
- *
  * @externalExample ../../example/data/diff.mjs
  * @param {*} first
  * @param {*} second
diff --git a/application/source/dom/assembler.mjs b/application/source/dom/assembler.mjs
index c0d5b86e6..38f89532a 100644
--- a/application/source/dom/assembler.mjs
+++ b/application/source/dom/assembler.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {Base} from '../types/base.mjs';
 import {getGlobalFunction} from "../types/global.mjs";
 import {ProxyObserver} from "../types/proxyobserver.mjs";
@@ -25,13 +22,6 @@ const ATTRIBUTEPREFIX = "data-monster-";
 
 /**
  * Assembler class
- * 
- * ```
- * <script type="module">
- * import {Assembler} from '@schukai/monster/source/dom/assembler.mjs';
- * console.log(new Assembler())
- * </script>
- * ```
  *
  * @license AGPLv3
  * @since 1.6.0
diff --git a/application/source/dom/attributes.mjs b/application/source/dom/attributes.mjs
index 3fda043f5..caf541560 100644
--- a/application/source/dom/attributes.mjs
+++ b/application/source/dom/attributes.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,8 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
-
 import {getGlobalFunction} from "../types/global.mjs";
 import {TokenList} from "../types/tokenlist.mjs";
 import {validateInstance, validateString, validateSymbol} from "../types/validate.mjs";
@@ -36,13 +32,6 @@ export {
  * if a node is specified without a object link, a recursive search upwards is performed until the corresponding
  * object link is found, or undefined is returned.
  *
- * ```
- * <script type="module">
- * import {getUpdaterFromNode} from '@schukai/monster/source/dom/updater.mjs';
- * console.log(findClosestObjectLink())
- * </script>
- * ```
- *
  * @param {HTMLElement} element
  * @return {HTMLElement|undefined}
  * @license AGPLv3
@@ -58,13 +47,6 @@ function findClosestObjectLink(element) {
 /**
  * Adds a class attribute to an element.
  *
- * ```
- * <script type="module">
- * import {addToObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
- * addToObjectLink();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -92,13 +74,6 @@ function addToObjectLink(element, symbol, object) {
 /**
  * Removes an object from an element
  *
- * ```
- * <script type="module">
- * import {removeObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
- * removeObjectLink();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -126,13 +101,6 @@ function removeObjectLink(element, symbol) {
 /**
  * Checks if an element has an object link
  *
- * ```
- * <script type="module">
- * import {hasObjectLink} from '@schukai/monster/source/dom/attributes.mjs';
- * hasObjectLink();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -162,13 +130,6 @@ function hasObjectLink(element, symbol) {
  *
  * With the method  {@see {@link addToObjectLink}} the objects can be added.
  *
- * ```
- * <script type="module">
- * import {getLinkedObjects} from '@schukai/monster/source/dom/attributes.mjs';
- * getLinkedObjects();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -197,13 +158,6 @@ function getLinkedObjects(element, symbol) {
  *
  * Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {toggleAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
- * toggleAttributeToken();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -231,13 +185,6 @@ function toggleAttributeToken(element, key, token) {
 /**
  * This method can be used to add a token to an attribute. Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {addAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
- * addAttributeToken();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -267,13 +214,6 @@ function addAttributeToken(element, key, token) {
  *
  * Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {removeAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
- * removeAttributeToken();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -302,13 +242,6 @@ function removeAttributeToken(element, key, token) {
  *
  * Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {containsAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
- * containsAttributeToken();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -334,13 +267,6 @@ function containsAttributeToken(element, key, token) {
 /**
  * Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {replaceAttributeToken} from '@schukai/monster/source/dom/attributes.mjs';
- * replaceAttributeToken();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -369,13 +295,6 @@ function replaceAttributeToken(element, key, from, to) {
 /**
  * Tokens are always separated by a space.
  *
- * ```
- * <script type="module">
- * import {clearAttributeTokens} from '@schukai/monster/source/dom/attributes.mjs';
- * clearAttributeTokens();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.9.0
  * @copyright schukai GmbH
@@ -416,13 +335,6 @@ function clearAttributeTokens(element, key) {
  * findClosestByAttribute(document.getElementById('1'),'data-my-attribute', '2'); // ↦ node with id 2
  * ```
  *
- * ```
- * <script type="module">
- * import {findClosestByAttribute} from '@schukai/monster/source/dom/attributes.mjs';
- * findClosestByAttribute();
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.14.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/constants.mjs b/application/source/dom/constants.mjs
index cabcfa966..859040aa8 100644
--- a/application/source/dom/constants.mjs
+++ b/application/source/dom/constants.mjs
@@ -1,6 +1,3 @@
-
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
diff --git a/application/source/dom/customcontrol.mjs b/application/source/dom/customcontrol.mjs
index efcc7658b..cdb16f680 100644
--- a/application/source/dom/customcontrol.mjs
+++ b/application/source/dom/customcontrol.mjs
@@ -1,6 +1,3 @@
-
-
-import {extend} from "../data/extend.mjs";
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -8,7 +5,7 @@ import {extend} from "../data/extend.mjs";
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
+import {extend} from "../data/extend.mjs";
 import {ATTRIBUTE_VALUE} from "./constants.mjs";
 import {CustomElement, attributeObserverSymbol} from "./customelement.mjs";
 
@@ -33,13 +30,6 @@ const attachedInternalSymbol = Symbol('attachedInternal');
  *
  * You can create the object via the function `document.createElement()`.
  *
- * ```
- * <script type="module">
- * import {CustomControl} from '@schukai/monster/source//monster.mjs';
- * document.createElement('monster-')
- * </script>
- * ```
- *
  * @startuml customcontrol-class.png
  * skinparam monochrome true
  * skinparam shadowing false
diff --git a/application/source/dom/customelement.mjs b/application/source/dom/customelement.mjs
index 2dc7e9914..de26dc69c 100644
--- a/application/source/dom/customelement.mjs
+++ b/application/source/dom/customelement.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {internalSymbol} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {Pathfinder} from "../data/pathfinder.mjs";
@@ -106,12 +103,6 @@ const attributeObserverSymbol = Symbol('attributeObserver');
  *
  * You can create the object via the function `document.createElement()`.
  *
- * ```
- * <script type="module">
- * import {Monster} from '@schukai/monster/source//monster.mjs';
- * document.createElement('monster-')
- * </script>
- * ```
  *
  * ## Interaction
  *
@@ -177,22 +168,7 @@ const attributeObserverSymbol = Symbol('attributeObserver');
  *       }
  * ```
  *
- * @example
- *
- * // In the example the the user can use his own template by creating a template in the DOM with the ID `my-custom-element`.
- * // You can also specify a theme (for example `mytheme`), then it will search for the ID `my-custom-element-mytheme` and
- * // if not available for the ID `my-custom-element`.
- *
- * class MyCustomElement extends CustomElement {
- * 
- *    static getTag() {
- *        return "my-custom-element"
- *    }
- *
- * }
- *
- * // ↦ <my-custom-element></my-custom-element>
- *
+ * @externalExample ../../example/dom/theme.mjs
  * @see https://github.com/WICG/webcomponents
  * @see https://html.spec.whatwg.org/multipage/custom-elements.html#custom-elements
  * @license AGPLv3
diff --git a/application/source/dom/events.mjs b/application/source/dom/events.mjs
index be3b331a2..b906f5441 100644
--- a/application/source/dom/events.mjs
+++ b/application/source/dom/events.mjs
@@ -1,6 +1,3 @@
-
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -8,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {isArray, isObject} from "../types/is.mjs";
 import {validateInstance, validateString} from "../types/validate.mjs";
 import {getDocument} from "./util.mjs";
@@ -18,13 +14,6 @@ export {fireEvent, fireCustomEvent, findTargetElementFromEvent}
 /**
  * The function sends an event
  *
- * ```
- * <script type="module">
- * import {fireEvent} from '@schukai/monster/source/dom/events.mjs';
- * fireEvent()
- * </script>
- * ```
- *
  * @param {HTMLElement|HTMLCollection|NodeList} element
  * @param {string} type
  * @return {void}
@@ -66,13 +55,6 @@ function fireEvent(element, type) {
 /**
  * You can call the function via the monster namespace `new Monster.DOM.fireCustomEvent()`.
  *
- * ```
- * <script type="module">
- * import {fireCustomEvent} from '@schukai/monster/source/dom/events.mjs';
- * fireCustomEvent()
- * </script>
- * ```
- *
  * @param {HTMLElement|HTMLCollection|NodeList} element
  * @param {string} type
  * @return {void}
@@ -115,14 +97,7 @@ function fireCustomEvent(element, type, detail) {
  * This function gets the path `Event.composedPath()` from an event and tries to find the next element
  * up the tree `element.closest()` with the attribute and value. If no value, or a value that is undefined or null,
  * is specified, only the attribute is searched.
- *
- * ```
- * <script type="module">
- * import {findTargetElementFromEvent} from '@schukai/monster/source/dom/events.mjs';
- * findTargetElementFromEvent()
- * </script>
- * ```
- *
+ * 
  * @license AGPLv3
  * @since 1.14.0
  * @param {Event} event
diff --git a/application/source/dom/focusmanager.mjs b/application/source/dom/focusmanager.mjs
index ed1e3557c..43a9f3826 100644
--- a/application/source/dom/focusmanager.mjs
+++ b/application/source/dom/focusmanager.mjs
@@ -1,6 +1,3 @@
-
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -8,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
 import {getGlobalObject} from "../types/global.mjs";
@@ -41,13 +37,6 @@ const stackSymbol = Symbol('stack');
 /**
  * With the focusmanager the focus can be stored in a document, recalled and moved.
  *
- * ```
- * <script type="module">
- * import {FocusManager} from '@schukai/monster/source/dom/focusmanager.mjs';
- * new FocusManager()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/locale.mjs b/application/source/dom/locale.mjs
index 14a4ba086..1da4ceb9a 100644
--- a/application/source/dom/locale.mjs
+++ b/application/source/dom/locale.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {parseLocale} from "../i18n/locale.mjs";
 
 import {getDocument} from "./util.mjs";
@@ -30,13 +27,6 @@ const DEFAULT_LANGUAGE = 'en';
  *
  * You can call the function via the monster namespace `new Monster.DOM.getLocaleOfDocument()`.
  *
- * ```
- * <script type="module">
- * import {getLocaleOfDocument} from '@schukai/monster/source/dom/locale.mjs';
- * new getLocaleOfDocument()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.13.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/namespace.mjs b/application/source/dom/namespace.mjs
index a98c866aa..41bf2618c 100644
--- a/application/source/dom/namespace.mjs
+++ b/application/source/dom/namespace.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * In this namespace you will find classes and methods for handling the DOM.
  *
diff --git a/application/source/dom/ready.mjs b/application/source/dom/ready.mjs
index c80a56bc1..bd70cfb80 100644
--- a/application/source/dom/ready.mjs
+++ b/application/source/dom/ready.mjs
@@ -1,6 +1,3 @@
-
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -8,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {getDocument, getWindow} from "./util.mjs";
 
 export {domReady, windowReady}
@@ -19,15 +15,6 @@ export {domReady, windowReady}
  * The DOMContentLoaded event is fired when the original HTML document is fully loaded and parsed
  * without waiting for stylesheets, images, and subframes to finish loading.
  *
- * ```
- * <script type="module">
- * import {domReady} from '@schukai/monster/source/dom/ready.mjs';
- * domReady().then(()=>{
- *     // ...
- * })
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.31.0
  * @memberOf Monster.DOM
@@ -55,15 +42,6 @@ const domReady = new Promise(resolve => {
  * assets, and images. Unlike DOMContentLoaded, which fires as soon as the DOM of the page is loaded,
  * without waiting for the resources to finish loading.
  *
- * ```
- * <script type="module">
- * import {windowReady} from '@schukai/monster/source/dom/ready.mjs';
- * windowReady().then(()=>{
- *     // ...
- * })
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.31.0
  * @memberOf Monster.DOM
diff --git a/application/source/dom/resource.mjs b/application/source/dom/resource.mjs
index 4a520a712..a0a7e5aee 100644
--- a/application/source/dom/resource.mjs
+++ b/application/source/dom/resource.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {internalStateSymbol, internalSymbol,} from "../constants.mjs";
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
@@ -47,13 +44,6 @@ const referenceSymbol = Symbol('reference');
 /**
  * This class is the base class for all resources to be loaded.
  *
- * ```
- * <script type="module">
- * import {Resource} from '@schukai/monster/source/dom/resource.mjs';
- * new Resource()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/resource/data.mjs b/application/source/dom/resource/data.mjs
index dc166f3e7..3beea1a3b 100644
--- a/application/source/dom/resource/data.mjs
+++ b/application/source/dom/resource/data.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {internalStateSymbol} from "../../constants.mjs";
 import {extend} from "../../data/extend.mjs";
 import {getGlobalFunction} from "../../types/global.mjs";
@@ -27,13 +24,6 @@ export {Data}
 /**
  * This class is used by the resource manager to embed data.
  *
- * ```
- * <script type="module">
- * import {Data} from '@schukai/monster/source/dom/resource/data.mjs';
- * new Data()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/resource/link.mjs b/application/source/dom/resource/link.mjs
index 293bd277f..6810bb773 100644
--- a/application/source/dom/resource/link.mjs
+++ b/application/source/dom/resource/link.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {extend} from "../../data/extend.mjs";
 import {
     ATTRIBUTE_CLASS,
@@ -24,13 +21,6 @@ export {Link}
 /**
  * This class is used by the resource manager to embed external resources.
  *
- * ```
- * <script type="module">
- * import {Link} from '@schukai/monster/source/dom/resource/link.mjs';
- * new Link()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/resource/link/stylesheet.mjs b/application/source/dom/resource/link/stylesheet.mjs
index ca221fcd8..b2d50d824 100644
--- a/application/source/dom/resource/link/stylesheet.mjs
+++ b/application/source/dom/resource/link/stylesheet.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {extend} from "../../../data/extend.mjs";
 import {Link} from "../link.mjs";
 
@@ -16,13 +13,6 @@ export {Stylesheet}
 /**
  * This class is used by the resource manager to embed external resources.
  *
- * ```
- * <script type="module">
- * import {Style} from '@schukai/monster/source/dom/resource/link/stylesheet.mjs';
- * new Stylesheet()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/resource/namespace.mjs b/application/source/dom/resource/namespace.mjs
index 833d8b2f6..e028bba1e 100644
--- a/application/source/dom/resource/namespace.mjs
+++ b/application/source/dom/resource/namespace.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * In this namespace you will find classes and methods for handling resources. 
  *
diff --git a/application/source/dom/resource/script.mjs b/application/source/dom/resource/script.mjs
index 445ea92b0..1bb5f3f76 100644
--- a/application/source/dom/resource/script.mjs
+++ b/application/source/dom/resource/script.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {extend} from "../../data/extend.mjs";
 import {
     ATTRIBUTE_CLASS,
@@ -25,13 +22,6 @@ export {Script}
 /**
  * This class is used by the resource manager to embed scripts.
  *
- * ```
- * <script type="module">
- * import {Script} from '@schukai/monster/source/dom/resource/script.mjs';
- * new Script()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/resourcemanager.mjs b/application/source/dom/resourcemanager.mjs
index 8ef6f9988..c588d4aca 100644
--- a/application/source/dom/resourcemanager.mjs
+++ b/application/source/dom/resourcemanager.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {extend} from "../data/extend.mjs";
 import {BaseWithOptions} from "../types/basewithoptions.mjs";
 import {getGlobalObject} from "../types/global.mjs";
@@ -22,13 +19,6 @@ export {ResourceManager}
 
 /**
  * The ResourceManager is a singleton that manages all resources.
- * 
- * ```
- * <script type="module">
- * import {Resource} from '@schukai/monster/source/dom/resourcemanager.mjs';
- * new ResourceManager()
- * </script>
- * ```
  *
  * @license AGPLv3
  * @since 1.25.0
diff --git a/application/source/dom/template.mjs b/application/source/dom/template.mjs
index 9a3c7f60d..afd751016 100644
--- a/application/source/dom/template.mjs
+++ b/application/source/dom/template.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {Base} from '../types/base.mjs';
 import {getGlobalFunction, getGlobalObject} from '../types/global.mjs';
 import {validateInstance, validateString} from "../types/validate.mjs";
@@ -19,13 +16,6 @@ export {Template}
 /**
  * The template class provides methods for creating templates.
  *
- * ```
- * <script type="module">
- * import {Template} from '@schukai/monster/source/dom/template.mjs';
- * new Template()
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.6.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/theme.mjs b/application/source/dom/theme.mjs
index 7de0e46d2..a6e088933 100644
--- a/application/source/dom/theme.mjs
+++ b/application/source/dom/theme.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -7,7 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
 import {Base} from '../types/base.mjs';
 import {getGlobalObject} from '../types/global.mjs';
 import {validateString} from "../types/validate.mjs";
@@ -18,22 +15,7 @@ export {Theme, getDocumentTheme}
 /**
  * The Theme class provides the functionality for the theme.
  *
- * ```
- * <script type="module">
- * import {Theme} from '@schukai/monster/source/dom/theme.mjs';
- * console.log(new Theme())
- * </script>
- * ```
- *
- * @example
- *
- * import {getDocumentTheme} from '@schukai/monster/source/dom/theme.mjs';
- *
- * const theme = getDocumentTheme();
- * console.log(theme.getName());
- * // ↦ monster
- *
- * @license AGPLv3
+ * @externalExample ../../example/dom/theme.mjs
  * @license AGPLv3
  * @since 1.7.0
  * @copyright schukai GmbH
diff --git a/application/source/dom/worker/factory.mjs b/application/source/dom/worker/factory.mjs
index b90225165..c96d71891 100644
--- a/application/source/dom/worker/factory.mjs
+++ b/application/source/dom/worker/factory.mjs
@@ -1,6 +1,3 @@
-
-
-
 /**
  * Copyright schukai GmbH and contributors 2022. All Rights Reserved.
  * Node module: @schukai/monster
@@ -8,8 +5,6 @@
  * License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
  */
 
-
-
 import {internalSymbol} from "../../constants.mjs";
 import {Base} from "../../types/base.mjs";
 import {getGlobal, getGlobalFunction} from "../../types/global.mjs";
@@ -21,13 +16,6 @@ export {Factory}
 /**
  * A factory for creating worker instances.
  * 
- * ```
- * <script type="module">
- * import {Factory} from '@schukai/monster/source/dom/worker/factory.mjs';
- * console.log(new Factory())
- * </script>
- * ```
- *
  * @license AGPLv3
  * @since 1.25.0
  * @copyright schukai GmbH
@@ -36,7 +24,6 @@ export {Factory}
  */
 class Factory extends Base {
 
-
     /**
      *
      */
diff --git a/application/source/dom/worker/namespace.mjs b/application/source/dom/worker/namespace.mjs
index 14a509eff..e2c3d206e 100644
--- a/application/source/dom/worker/namespace.mjs
+++ b/application/source/dom/worker/namespace.mjs
@@ -1,5 +1,3 @@
-
-
 /**
  * In this namespace you will find classes and methods for handling the DOM.
  *
-- 
GitLab