From d191590c6e385e36d699d1d60534aebf1a3086a0 Mon Sep 17 00:00:00 2001
From: Volker Schukai <volker.schukai@schukai.com>
Date: Sun, 19 Jan 2025 20:20:33 +0100
Subject: [PATCH] fix: some small issues #283

---
 development/issues/closed/283.html        |  25 +++
 development/issues/closed/283.mjs         |  15 ++
 pnpm-lock.yaml                            | 192 +++++++++++-----------
 source/components/form/button.mjs         |   1 +
 source/components/form/confirm-button.mjs |  32 ++--
 source/components/form/popper-button.mjs  |   2 +
 6 files changed, 155 insertions(+), 112 deletions(-)
 create mode 100644 development/issues/closed/283.html
 create mode 100644 development/issues/closed/283.mjs

diff --git a/development/issues/closed/283.html b/development/issues/closed/283.html
new file mode 100644
index 000000000..ec9a8f2ec
--- /dev/null
+++ b/development/issues/closed/283.html
@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>check bottom css and optimize it #283</title>
+    <script src="./283.mjs" type="module"></script>
+</head>
+<body>
+    <h1>check bottom css and optimize it #283</h1>
+    <p></p>
+    <ul>
+        <li><a href="https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/283">Issue #283</a></li>
+        <li><a href="/">Back to overview</a></li>
+    </ul>
+    <main>
+
+        <monster-confirm-button>
+
+            <div slot="button">button</div>
+            this is a button222</monster-confirm-button>
+
+    </main>
+</body>
+</html>
diff --git a/development/issues/closed/283.mjs b/development/issues/closed/283.mjs
new file mode 100644
index 000000000..5a132e325
--- /dev/null
+++ b/development/issues/closed/283.mjs
@@ -0,0 +1,15 @@
+/**
+* @file development/issues/open/283.mjs
+* @url https://gitlab.schukai.com/oss/libraries/javascript/monster/-/issues/283
+* @description check bottom css and optimize it
+* @issue 283
+*/
+
+import "../../../source/components/style/normalize.pcss";
+import "../../../source/components/style/property.pcss";
+import "../../../source/components/style/link.pcss";
+import "../../../source/components/style/color.pcss";
+import "../../../source/components/style/theme.pcss";
+import "../../../source/components/style/typography.pcss";
+
+import "../../../source/components/form/confirm-button.mjs";
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f0ab6a283..1b6fe52aa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -158,7 +158,7 @@ importers:
         version: 3.0.1(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
       vite-plugin-list-directory-contents:
         specifier: ^1.4.5
-        version: 1.4.5(@types/node@18.19.71)(rollup@4.30.1)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
+        version: 1.4.5(@types/node@18.19.71)(rollup@4.31.0)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
       vite-plugin-minify:
         specifier: ^2.1.0
         version: 2.1.0(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
@@ -167,7 +167,7 @@ importers:
         version: 3.0.2(esbuild@0.24.2)(mockjs@1.1.0)(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
       vite-plugin-terminal:
         specifier: ^1.2.0
-        version: 1.2.0(rollup@4.30.1)(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
+        version: 1.2.0(rollup@4.31.0)(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
       ws:
         specifier: ^8.18.0
         version: 8.18.0
@@ -827,98 +827,98 @@ packages:
       rollup:
         optional: true
 
-  '@rollup/rollup-android-arm-eabi@4.30.1':
-    resolution: {integrity: sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==}
+  '@rollup/rollup-android-arm-eabi@4.31.0':
+    resolution: {integrity: sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==}
     cpu: [arm]
     os: [android]
 
-  '@rollup/rollup-android-arm64@4.30.1':
-    resolution: {integrity: sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==}
+  '@rollup/rollup-android-arm64@4.31.0':
+    resolution: {integrity: sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==}
     cpu: [arm64]
     os: [android]
 
-  '@rollup/rollup-darwin-arm64@4.30.1':
-    resolution: {integrity: sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==}
+  '@rollup/rollup-darwin-arm64@4.31.0':
+    resolution: {integrity: sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==}
     cpu: [arm64]
     os: [darwin]
 
-  '@rollup/rollup-darwin-x64@4.30.1':
-    resolution: {integrity: sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==}
+  '@rollup/rollup-darwin-x64@4.31.0':
+    resolution: {integrity: sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==}
     cpu: [x64]
     os: [darwin]
 
-  '@rollup/rollup-freebsd-arm64@4.30.1':
-    resolution: {integrity: sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==}
+  '@rollup/rollup-freebsd-arm64@4.31.0':
+    resolution: {integrity: sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==}
     cpu: [arm64]
     os: [freebsd]
 
-  '@rollup/rollup-freebsd-x64@4.30.1':
-    resolution: {integrity: sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==}
+  '@rollup/rollup-freebsd-x64@4.31.0':
+    resolution: {integrity: sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==}
     cpu: [x64]
     os: [freebsd]
 
-  '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
-    resolution: {integrity: sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==}
+  '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
+    resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==}
     cpu: [arm]
     os: [linux]
 
-  '@rollup/rollup-linux-arm-musleabihf@4.30.1':
-    resolution: {integrity: sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==}
+  '@rollup/rollup-linux-arm-musleabihf@4.31.0':
+    resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==}
     cpu: [arm]
     os: [linux]
 
-  '@rollup/rollup-linux-arm64-gnu@4.30.1':
-    resolution: {integrity: sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==}
+  '@rollup/rollup-linux-arm64-gnu@4.31.0':
+    resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==}
     cpu: [arm64]
     os: [linux]
 
-  '@rollup/rollup-linux-arm64-musl@4.30.1':
-    resolution: {integrity: sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==}
+  '@rollup/rollup-linux-arm64-musl@4.31.0':
+    resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==}
     cpu: [arm64]
     os: [linux]
 
-  '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
-    resolution: {integrity: sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==}
+  '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
+    resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==}
     cpu: [loong64]
     os: [linux]
 
-  '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
-    resolution: {integrity: sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==}
+  '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
+    resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==}
     cpu: [ppc64]
     os: [linux]
 
-  '@rollup/rollup-linux-riscv64-gnu@4.30.1':
-    resolution: {integrity: sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==}
+  '@rollup/rollup-linux-riscv64-gnu@4.31.0':
+    resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==}
     cpu: [riscv64]
     os: [linux]
 
-  '@rollup/rollup-linux-s390x-gnu@4.30.1':
-    resolution: {integrity: sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==}
+  '@rollup/rollup-linux-s390x-gnu@4.31.0':
+    resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==}
     cpu: [s390x]
     os: [linux]
 
-  '@rollup/rollup-linux-x64-gnu@4.30.1':
-    resolution: {integrity: sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==}
+  '@rollup/rollup-linux-x64-gnu@4.31.0':
+    resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==}
     cpu: [x64]
     os: [linux]
 
-  '@rollup/rollup-linux-x64-musl@4.30.1':
-    resolution: {integrity: sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==}
+  '@rollup/rollup-linux-x64-musl@4.31.0':
+    resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==}
     cpu: [x64]
     os: [linux]
 
-  '@rollup/rollup-win32-arm64-msvc@4.30.1':
-    resolution: {integrity: sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==}
+  '@rollup/rollup-win32-arm64-msvc@4.31.0':
+    resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==}
     cpu: [arm64]
     os: [win32]
 
-  '@rollup/rollup-win32-ia32-msvc@4.30.1':
-    resolution: {integrity: sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==}
+  '@rollup/rollup-win32-ia32-msvc@4.31.0':
+    resolution: {integrity: sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==}
     cpu: [ia32]
     os: [win32]
 
-  '@rollup/rollup-win32-x64-msvc@4.30.1':
-    resolution: {integrity: sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==}
+  '@rollup/rollup-win32-x64-msvc@4.31.0':
+    resolution: {integrity: sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==}
     cpu: [x64]
     os: [win32]
 
@@ -2845,8 +2845,8 @@ packages:
     engines: {node: '>=14.18.0', npm: '>=8.0.0'}
     hasBin: true
 
-  rollup@4.30.1:
-    resolution: {integrity: sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==}
+  rollup@4.31.0:
+    resolution: {integrity: sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==}
     engines: {node: '>=18.0.0', npm: '>=8.0.0'}
     hasBin: true
 
@@ -3946,77 +3946,77 @@ snapshots:
       - supports-color
       - utf-8-validate
 
-  '@rollup/plugin-strip@3.0.4(rollup@4.30.1)':
+  '@rollup/plugin-strip@3.0.4(rollup@4.31.0)':
     dependencies:
-      '@rollup/pluginutils': 5.1.4(rollup@4.30.1)
+      '@rollup/pluginutils': 5.1.4(rollup@4.31.0)
       estree-walker: 2.0.2
       magic-string: 0.30.17
     optionalDependencies:
-      rollup: 4.30.1
+      rollup: 4.31.0
 
-  '@rollup/pluginutils@5.1.4(rollup@4.30.1)':
+  '@rollup/pluginutils@5.1.4(rollup@4.31.0)':
     dependencies:
       '@types/estree': 1.0.6
       estree-walker: 2.0.2
       picomatch: 4.0.2
     optionalDependencies:
-      rollup: 4.30.1
+      rollup: 4.31.0
 
-  '@rollup/rollup-android-arm-eabi@4.30.1':
+  '@rollup/rollup-android-arm-eabi@4.31.0':
     optional: true
 
-  '@rollup/rollup-android-arm64@4.30.1':
+  '@rollup/rollup-android-arm64@4.31.0':
     optional: true
 
-  '@rollup/rollup-darwin-arm64@4.30.1':
+  '@rollup/rollup-darwin-arm64@4.31.0':
     optional: true
 
-  '@rollup/rollup-darwin-x64@4.30.1':
+  '@rollup/rollup-darwin-x64@4.31.0':
     optional: true
 
-  '@rollup/rollup-freebsd-arm64@4.30.1':
+  '@rollup/rollup-freebsd-arm64@4.31.0':
     optional: true
 
-  '@rollup/rollup-freebsd-x64@4.30.1':
+  '@rollup/rollup-freebsd-x64@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-arm-gnueabihf@4.30.1':
+  '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-arm-musleabihf@4.30.1':
+  '@rollup/rollup-linux-arm-musleabihf@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-arm64-gnu@4.30.1':
+  '@rollup/rollup-linux-arm64-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-arm64-musl@4.30.1':
+  '@rollup/rollup-linux-arm64-musl@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-loongarch64-gnu@4.30.1':
+  '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-powerpc64le-gnu@4.30.1':
+  '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-riscv64-gnu@4.30.1':
+  '@rollup/rollup-linux-riscv64-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-s390x-gnu@4.30.1':
+  '@rollup/rollup-linux-s390x-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-x64-gnu@4.30.1':
+  '@rollup/rollup-linux-x64-gnu@4.31.0':
     optional: true
 
-  '@rollup/rollup-linux-x64-musl@4.30.1':
+  '@rollup/rollup-linux-x64-musl@4.31.0':
     optional: true
 
-  '@rollup/rollup-win32-arm64-msvc@4.30.1':
+  '@rollup/rollup-win32-arm64-msvc@4.31.0':
     optional: true
 
-  '@rollup/rollup-win32-ia32-msvc@4.30.1':
+  '@rollup/rollup-win32-ia32-msvc@4.31.0':
     optional: true
 
-  '@rollup/rollup-win32-x64-msvc@4.30.1':
+  '@rollup/rollup-win32-x64-msvc@4.31.0':
     optional: true
 
   '@rushstack/node-core-library@3.66.1(@types/node@18.19.71)':
@@ -4133,11 +4133,11 @@ snapshots:
       '@types/node': 22.10.7
     optional: true
 
-  '@wesbos/code-icons@1.2.4(rollup@4.30.1)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)':
+  '@wesbos/code-icons@1.2.4(rollup@4.31.0)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)':
     dependencies:
       '@types/node': 18.19.71
       vite: 4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
-      vite-plugin-dts: 1.7.3(@types/node@18.19.71)(rollup@4.30.1)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
+      vite-plugin-dts: 1.7.3(@types/node@18.19.71)(rollup@4.31.0)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
       vscode-icons-js: 11.6.1
     transitivePeerDependencies:
       - less
@@ -6033,29 +6033,29 @@ snapshots:
     optionalDependencies:
       fsevents: 2.3.3
 
-  rollup@4.30.1:
+  rollup@4.31.0:
     dependencies:
       '@types/estree': 1.0.6
     optionalDependencies:
-      '@rollup/rollup-android-arm-eabi': 4.30.1
-      '@rollup/rollup-android-arm64': 4.30.1
-      '@rollup/rollup-darwin-arm64': 4.30.1
-      '@rollup/rollup-darwin-x64': 4.30.1
-      '@rollup/rollup-freebsd-arm64': 4.30.1
-      '@rollup/rollup-freebsd-x64': 4.30.1
-      '@rollup/rollup-linux-arm-gnueabihf': 4.30.1
-      '@rollup/rollup-linux-arm-musleabihf': 4.30.1
-      '@rollup/rollup-linux-arm64-gnu': 4.30.1
-      '@rollup/rollup-linux-arm64-musl': 4.30.1
-      '@rollup/rollup-linux-loongarch64-gnu': 4.30.1
-      '@rollup/rollup-linux-powerpc64le-gnu': 4.30.1
-      '@rollup/rollup-linux-riscv64-gnu': 4.30.1
-      '@rollup/rollup-linux-s390x-gnu': 4.30.1
-      '@rollup/rollup-linux-x64-gnu': 4.30.1
-      '@rollup/rollup-linux-x64-musl': 4.30.1
-      '@rollup/rollup-win32-arm64-msvc': 4.30.1
-      '@rollup/rollup-win32-ia32-msvc': 4.30.1
-      '@rollup/rollup-win32-x64-msvc': 4.30.1
+      '@rollup/rollup-android-arm-eabi': 4.31.0
+      '@rollup/rollup-android-arm64': 4.31.0
+      '@rollup/rollup-darwin-arm64': 4.31.0
+      '@rollup/rollup-darwin-x64': 4.31.0
+      '@rollup/rollup-freebsd-arm64': 4.31.0
+      '@rollup/rollup-freebsd-x64': 4.31.0
+      '@rollup/rollup-linux-arm-gnueabihf': 4.31.0
+      '@rollup/rollup-linux-arm-musleabihf': 4.31.0
+      '@rollup/rollup-linux-arm64-gnu': 4.31.0
+      '@rollup/rollup-linux-arm64-musl': 4.31.0
+      '@rollup/rollup-linux-loongarch64-gnu': 4.31.0
+      '@rollup/rollup-linux-powerpc64le-gnu': 4.31.0
+      '@rollup/rollup-linux-riscv64-gnu': 4.31.0
+      '@rollup/rollup-linux-s390x-gnu': 4.31.0
+      '@rollup/rollup-linux-x64-gnu': 4.31.0
+      '@rollup/rollup-linux-x64-musl': 4.31.0
+      '@rollup/rollup-win32-arm64-msvc': 4.31.0
+      '@rollup/rollup-win32-ia32-msvc': 4.31.0
+      '@rollup/rollup-win32-x64-msvc': 4.31.0
       fsevents: 2.3.3
 
   rrweb-cssom@0.7.1: {}
@@ -6490,10 +6490,10 @@ snapshots:
       pretty-bytes: 6.1.1
       vite: 5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
 
-  vite-plugin-dts@1.7.3(@types/node@18.19.71)(rollup@4.30.1)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)):
+  vite-plugin-dts@1.7.3(@types/node@18.19.71)(rollup@4.31.0)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)):
     dependencies:
       '@microsoft/api-extractor': 7.49.1(@types/node@18.19.71)
-      '@rollup/pluginutils': 5.1.4(rollup@4.30.1)
+      '@rollup/pluginutils': 5.1.4(rollup@4.31.0)
       '@rushstack/node-core-library': 3.66.1(@types/node@18.19.71)
       debug: 4.4.0(supports-color@8.1.1)
       fast-glob: 3.3.3
@@ -6506,11 +6506,11 @@ snapshots:
       - rollup
       - supports-color
 
-  vite-plugin-list-directory-contents@1.4.5(@types/node@18.19.71)(rollup@4.30.1)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0):
+  vite-plugin-list-directory-contents@1.4.5(@types/node@18.19.71)(rollup@4.31.0)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0):
     dependencies:
-      '@wesbos/code-icons': 1.2.4(rollup@4.30.1)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
+      '@wesbos/code-icons': 1.2.4(rollup@4.31.0)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
       vite: 4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)
-      vite-plugin-dts: 1.7.3(@types/node@18.19.71)(rollup@4.30.1)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
+      vite-plugin-dts: 1.7.3(@types/node@18.19.71)(rollup@4.31.0)(vite@4.5.5(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0))
       vscode-icons-js: 11.6.1
     transitivePeerDependencies:
       - '@types/node'
@@ -6544,9 +6544,9 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  vite-plugin-terminal@1.2.0(rollup@4.30.1)(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)):
+  vite-plugin-terminal@1.2.0(rollup@4.31.0)(vite@5.4.8(@types/node@18.19.71)(sugarss@4.0.1(postcss@8.5.1))(terser@5.37.0)):
     dependencies:
-      '@rollup/plugin-strip': 3.0.4(rollup@4.30.1)
+      '@rollup/plugin-strip': 3.0.4(rollup@4.31.0)
       debug: 4.4.0(supports-color@8.1.1)
       kolorist: 1.8.0
       sirv: 2.0.4
@@ -6571,7 +6571,7 @@ snapshots:
     dependencies:
       esbuild: 0.21.5
       postcss: 8.5.1
-      rollup: 4.30.1
+      rollup: 4.31.0
     optionalDependencies:
       '@types/node': 18.19.71
       fsevents: 2.3.3
diff --git a/source/components/form/button.mjs b/source/components/form/button.mjs
index 022bdaa7b..8c01e2de5 100644
--- a/source/components/form/button.mjs
+++ b/source/components/form/button.mjs
@@ -49,6 +49,7 @@ export const buttonElementSymbol = Symbol("buttonElement");
  * @example /examples/components/form/button-with-click-event Button with event
  *
  * @issue https://localhost.alvine.dev:8443/development/issues/closed/282.html
+ * @issue https://localhost.alvine.dev:8443/development/issues/closed/283.html
  *
  * @copyright schukai GmbH
  * @summary A beautiful button that can make your life easier and also looks good.
diff --git a/source/components/form/confirm-button.mjs b/source/components/form/confirm-button.mjs
index 45ed678f9..f55ea79e1 100644
--- a/source/components/form/confirm-button.mjs
+++ b/source/components/form/confirm-button.mjs
@@ -44,15 +44,17 @@ const confirmButtonElementSymbol = Symbol("confirmButtonElement");
 const cancelButtonElementSymbol = Symbol("cancelButtonElement");
 
 /**
- * A confirm button control.
+ * A confirmation button control.
  *
  * @fragments /fragments/components/form/confirm-button/
  *
- * @example /examples/components/form/confirm-button-simple confirm button
+ * @example /examples/components/form/confirm-button-simple simple confirm button
+ *
+ * @issue https://localhost.alvine.dev:8443/development/issues/closed/283.html
  *
  * @since 1.5.0
  * @copyright schukai GmbH
- * @summary A confirm button control
+ * @summary A confirm button control allowing the user to confirm or cancel an action
  */
 class ConfirmButton extends PopperButton {
 	/**
@@ -67,23 +69,21 @@ class ConfirmButton extends PopperButton {
 	}
 
 	/**
-	 * 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} toggleEventType=click,touch List of event types to be observed for opening the confirm message
 	 * @property {Object} templates Template definitions
 	 * @property {string} templates.main Main template
-	 * @property {string} labels.button='<slot name="button"></slot>' Button label
-	 * @property {string} labels.message='<slot>Should I Stay or Should I Go?</slot>' Message
-	 * @property {string} labels.confirm='<slot name="confirm">Confirm</slot>' Confirm button label
-	 * @property {string} labels.cancel='<slot name="cancel">Cancel</slot>' Cancel button label
-	 * @property {Monster.Components.Form~exampleActionCallback} actions.confirm
-	 * @property {Monster.Components.Form~exampleActionCallback} actions.cancel List of event types to be observed for opening the dropdown
-	 * @property {Object} popper [PopperJS Options](https://popper.js.org/docs/v2/)
-	 * @property {string} popper.placement=top PopperJS placement
-	 * @extends {PopperButton}
+	 * @property {Object} labels Label definitions
+	 * @property {string} labels.button Button label
+	 * @property {string} labels.message Message label
+	 * @property {string} labels.confirm Confirm label
+	 * @property {string} labels.cancel Cancel label
+	 * @property {Object} classes Class definitions
+	 * @property {string} classes.confirmButton Confirm button class
+	 * @property {string} classes.cancelButton Cancel button class
+	 * @property {Object} actions Action definitions
+	 * @property {function} actions.confirm Confirm action
+	 * @property {function} actions.cancel Cancel action
 	 */
 	get defaults() {
 		const obj = Object.assign({}, super.defaults, {
diff --git a/source/components/form/popper-button.mjs b/source/components/form/popper-button.mjs
index 653acc441..04148aa6b 100644
--- a/source/components/form/popper-button.mjs
+++ b/source/components/form/popper-button.mjs
@@ -83,6 +83,8 @@ const arrowElementSymbol = Symbol("arrowElement");
  *
  * @example /examples/components/form/popper-button-simple
  *
+ * @issue https://localhost.alvine.dev:8443/development/issues/closed/283.html
+ *
  * @since 1.5.0
  * @copyright schukai GmbH
  * @summary A beautiful popper button
-- 
GitLab