domma-js 0.33.1 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "domma-js",
3
- "version": "0.33.1",
3
+ "version": "0.35.0",
4
4
  "description": "Dynamic Object Manipulation & Modeling API - A complete front-end toolkit.",
5
5
  "main": "public/dist/domma.min.js",
6
6
  "module": "public/dist/domma.esm.js",
@@ -44,6 +44,9 @@
44
44
  "build": "npm run generate:bundles && rollup -c && node scripts/build-info.js && npm run build:metadata && npm run copy:themes && npm run generate:themes && npm run build:css && npm run build:css-bundles && npm run build:archives && npm run build:kickstart-files && npm run build:miniapps",
45
45
  "build:js": "rollup -c",
46
46
  "build:css": "node scripts/build-css.js",
47
+ "validate:classes": "node scripts/validate-classes.js",
48
+ "validate:theme": "node scripts/validate-theme-contrast.js",
49
+ "validate": "npm run validate:classes && npm run validate:theme",
47
50
  "build:css-bundles": "node scripts/build-css-bundles.js",
48
51
  "build:archives": "node scripts/build-archives.js",
49
52
  "build:kickstart-files": "node scripts/build-kickstart-files.js",
@@ -79,7 +82,7 @@
79
82
  "@rollup/plugin-terser": "^0.4.4",
80
83
  "@vitest/coverage-v8": "^4.0.16",
81
84
  "cypress": "^15.8.1",
82
- "domma-reactive": "0.2.0",
85
+ "domma-reactive": "0.4.0",
83
86
  "dompurify": "^3.4.13",
84
87
  "dotenv": "^17.2.3",
85
88
  "jsdom": "^24.1.0",
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Complete CSS Bundle v0.33.1
2
+ * Domma Complete CSS Bundle v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.595Z
5
+ * Built: 2026-08-05T13:39:06.861Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.33.1
14
+ * Domma Core CSS v0.35.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-05T08:36:25.378Z
18
- * Commit: 0416d8b
17
+ * Built: 2026-08-05T13:39:06.641Z
18
+ * Commit: 2870cac
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.33.1
4841
+ * Domma Grid CSS v0.35.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-05T08:36:25.383Z
4845
- * Commit: 0416d8b
4844
+ * Built: 2026-08-05T13:39:06.646Z
4845
+ * Commit: 2870cac
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
5463
5463
  ============================================ */
5464
5464
 
5465
5465
  /*!
5466
- * Domma Elements CSS v0.33.1
5466
+ * Domma Elements CSS v0.35.0
5467
5467
  * Dynamic Object Manipulation & Modeling API
5468
5468
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5469
- * Built: 2026-08-05T08:36:25.388Z
5470
- * Commit: 0416d8b
5469
+ * Built: 2026-08-05T13:39:06.652Z
5470
+ * Commit: 2870cac
5471
5471
  */
5472
5472
 
5473
5473
  /**
@@ -11345,7 +11345,7 @@ code {
11345
11345
 
11346
11346
  .domma-table-search-input.regex-mode {
11347
11347
  font-family: monospace;
11348
- background-color: var(--dm-purple-50);
11348
+ background-color: var(--dm-info-bg);
11349
11349
  }
11350
11350
 
11351
11351
  /* Regex toggle button */
@@ -11512,10 +11512,6 @@ code {
11512
11512
  border-color: var(--dm-primary);
11513
11513
  }
11514
11514
 
11515
- [data-mode="dark"] .domma-table-search-input.regex-mode {
11516
- background-color: var(--dm-purple-900);
11517
- }
11518
-
11519
11515
  [data-mode="dark"] .domma-table-regex-button {
11520
11516
  background: var(--dm-surface);
11521
11517
  border-color: var(--dm-text);
@@ -13469,11 +13465,11 @@ code {
13469
13465
  ============================================ */
13470
13466
 
13471
13467
  /*!
13472
- * Domma Themes v0.33.1
13468
+ * Domma Themes v0.35.0
13473
13469
  * Dynamic Object Manipulation & Modeling API
13474
13470
  * (c) 2026 Darryl Waterhouse & DCBW-IT
13475
- * Built: 2026-08-05T08:36:25.362Z
13476
- * Commit: 0416d8b
13471
+ * Built: 2026-08-05T13:39:06.625Z
13472
+ * Commit: 2870cac
13477
13473
  */
13478
13474
 
13479
13475
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Data-Focused CSS Bundle v0.33.1
2
+ * Domma Data-Focused CSS Bundle v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.590Z
5
+ * Built: 2026-08-05T13:39:06.856Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.33.1
14
+ * Domma Core CSS v0.35.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-05T08:36:25.378Z
18
- * Commit: 0416d8b
17
+ * Built: 2026-08-05T13:39:06.641Z
18
+ * Commit: 2870cac
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.33.1
4841
+ * Domma Grid CSS v0.35.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-05T08:36:25.383Z
4845
- * Commit: 0416d8b
4844
+ * Built: 2026-08-05T13:39:06.646Z
4845
+ * Commit: 2870cac
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
5463
5463
  ============================================ */
5464
5464
 
5465
5465
  /*!
5466
- * Domma Elements CSS v0.33.1
5466
+ * Domma Elements CSS v0.35.0
5467
5467
  * Dynamic Object Manipulation & Modeling API
5468
5468
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5469
- * Built: 2026-08-05T08:36:25.388Z
5470
- * Commit: 0416d8b
5469
+ * Built: 2026-08-05T13:39:06.652Z
5470
+ * Commit: 2870cac
5471
5471
  */
5472
5472
 
5473
5473
  /**
@@ -11345,7 +11345,7 @@ code {
11345
11345
 
11346
11346
  .domma-table-search-input.regex-mode {
11347
11347
  font-family: monospace;
11348
- background-color: var(--dm-purple-50);
11348
+ background-color: var(--dm-info-bg);
11349
11349
  }
11350
11350
 
11351
11351
  /* Regex toggle button */
@@ -11512,10 +11512,6 @@ code {
11512
11512
  border-color: var(--dm-primary);
11513
11513
  }
11514
11514
 
11515
- [data-mode="dark"] .domma-table-search-input.regex-mode {
11516
- background-color: var(--dm-purple-900);
11517
- }
11518
-
11519
11515
  [data-mode="dark"] .domma-table-regex-button {
11520
11516
  background: var(--dm-surface);
11521
11517
  border-color: var(--dm-text);
@@ -13469,11 +13465,11 @@ code {
13469
13465
  ============================================ */
13470
13466
 
13471
13467
  /*!
13472
- * Domma Themes v0.33.1
13468
+ * Domma Themes v0.35.0
13473
13469
  * Dynamic Object Manipulation & Modeling API
13474
13470
  * (c) 2026 Darryl Waterhouse & DCBW-IT
13475
- * Built: 2026-08-05T08:36:25.362Z
13476
- * Commit: 0416d8b
13471
+ * Built: 2026-08-05T13:39:06.625Z
13472
+ * Commit: 2870cac
13477
13473
  */
13478
13474
 
13479
13475
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Essentials CSS Bundle v0.33.1
2
+ * Domma Essentials CSS Bundle v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.578Z
5
+ * Built: 2026-08-05T13:39:06.843Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.33.1
14
+ * Domma Core CSS v0.35.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-05T08:36:25.378Z
18
- * Commit: 0416d8b
17
+ * Built: 2026-08-05T13:39:06.641Z
18
+ * Commit: 2870cac
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.33.1
4841
+ * Domma Grid CSS v0.35.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-05T08:36:25.383Z
4845
- * Commit: 0416d8b
4844
+ * Built: 2026-08-05T13:39:06.646Z
4845
+ * Commit: 2870cac
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
5463
5463
  ============================================ */
5464
5464
 
5465
5465
  /*!
5466
- * Domma Elements CSS v0.33.1
5466
+ * Domma Elements CSS v0.35.0
5467
5467
  * Dynamic Object Manipulation & Modeling API
5468
5468
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5469
- * Built: 2026-08-05T08:36:25.388Z
5470
- * Commit: 0416d8b
5469
+ * Built: 2026-08-05T13:39:06.652Z
5470
+ * Commit: 2870cac
5471
5471
  */
5472
5472
 
5473
5473
  /**
@@ -11345,7 +11345,7 @@ code {
11345
11345
 
11346
11346
  .domma-table-search-input.regex-mode {
11347
11347
  font-family: monospace;
11348
- background-color: var(--dm-purple-50);
11348
+ background-color: var(--dm-info-bg);
11349
11349
  }
11350
11350
 
11351
11351
  /* Regex toggle button */
@@ -11512,10 +11512,6 @@ code {
11512
11512
  border-color: var(--dm-primary);
11513
11513
  }
11514
11514
 
11515
- [data-mode="dark"] .domma-table-search-input.regex-mode {
11516
- background-color: var(--dm-purple-900);
11517
- }
11518
-
11519
11515
  [data-mode="dark"] .domma-table-regex-button {
11520
11516
  background: var(--dm-surface);
11521
11517
  border-color: var(--dm-text);
@@ -13469,11 +13465,11 @@ code {
13469
13465
  ============================================ */
13470
13466
 
13471
13467
  /*!
13472
- * Domma Themes v0.33.1
13468
+ * Domma Themes v0.35.0
13473
13469
  * Dynamic Object Manipulation & Modeling API
13474
13470
  * (c) 2026 Darryl Waterhouse & DCBW-IT
13475
- * Built: 2026-08-05T08:36:25.362Z
13476
- * Commit: 0416d8b
13471
+ * Built: 2026-08-05T13:39:06.625Z
13472
+ * Commit: 2870cac
13477
13473
  */
13478
13474
 
13479
13475
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Full CSS Bundle v0.33.1
2
+ * Domma Full CSS Bundle v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.585Z
5
+ * Built: 2026-08-05T13:39:06.851Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.33.1
14
+ * Domma Core CSS v0.35.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-05T08:36:25.378Z
18
- * Commit: 0416d8b
17
+ * Built: 2026-08-05T13:39:06.641Z
18
+ * Commit: 2870cac
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.33.1
4841
+ * Domma Grid CSS v0.35.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-05T08:36:25.383Z
4845
- * Commit: 0416d8b
4844
+ * Built: 2026-08-05T13:39:06.646Z
4845
+ * Commit: 2870cac
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
5463
5463
  ============================================ */
5464
5464
 
5465
5465
  /*!
5466
- * Domma Elements CSS v0.33.1
5466
+ * Domma Elements CSS v0.35.0
5467
5467
  * Dynamic Object Manipulation & Modeling API
5468
5468
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5469
- * Built: 2026-08-05T08:36:25.388Z
5470
- * Commit: 0416d8b
5469
+ * Built: 2026-08-05T13:39:06.652Z
5470
+ * Commit: 2870cac
5471
5471
  */
5472
5472
 
5473
5473
  /**
@@ -11345,7 +11345,7 @@ code {
11345
11345
 
11346
11346
  .domma-table-search-input.regex-mode {
11347
11347
  font-family: monospace;
11348
- background-color: var(--dm-purple-50);
11348
+ background-color: var(--dm-info-bg);
11349
11349
  }
11350
11350
 
11351
11351
  /* Regex toggle button */
@@ -11512,10 +11512,6 @@ code {
11512
11512
  border-color: var(--dm-primary);
11513
11513
  }
11514
11514
 
11515
- [data-mode="dark"] .domma-table-search-input.regex-mode {
11516
- background-color: var(--dm-purple-900);
11517
- }
11518
-
11519
11515
  [data-mode="dark"] .domma-table-regex-button {
11520
11516
  background: var(--dm-surface);
11521
11517
  border-color: var(--dm-text);
@@ -13469,11 +13465,11 @@ code {
13469
13465
  ============================================ */
13470
13466
 
13471
13467
  /*!
13472
- * Domma Themes v0.33.1
13468
+ * Domma Themes v0.35.0
13473
13469
  * Dynamic Object Manipulation & Modeling API
13474
13470
  * (c) 2026 Darryl Waterhouse & DCBW-IT
13475
- * Built: 2026-08-05T08:36:25.362Z
13476
- * Commit: 0416d8b
13471
+ * Built: 2026-08-05T13:39:06.625Z
13472
+ * Commit: 2870cac
13477
13473
  */
13478
13474
 
13479
13475
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Minimal CSS Bundle v0.33.1
2
+ * Domma Minimal CSS Bundle v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.576Z
5
+ * Built: 2026-08-05T13:39:06.841Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.33.1
14
+ * Domma Core CSS v0.35.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-05T08:36:25.378Z
18
- * Commit: 0416d8b
17
+ * Built: 2026-08-05T13:39:06.641Z
18
+ * Commit: 2870cac
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.33.1
4841
+ * Domma Grid CSS v0.35.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-05T08:36:25.383Z
4845
- * Commit: 0416d8b
4844
+ * Built: 2026-08-05T13:39:06.646Z
4845
+ * Commit: 2870cac
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.33.1
2
+ * Domma Flags v0.35.0
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:12.854Z
6
- * Commit: 0416d8b
5
+ * Built: 2026-08-05T13:38:52.804Z
6
+ * Commit: 2870cac
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.33.1
2
+ * Domma Flags v0.35.0
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:12.854Z
6
- * Commit: 0416d8b
5
+ * Built: 2026-08-05T13:38:52.804Z
6
+ * Commit: 2870cac
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Syntax Highlighter v0.33.1
2
+ * Domma Syntax Highlighter v0.35.0
3
3
  * Lightweight code syntax highlighting for JavaScript, HTML, and CSS
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:12.850Z
6
- * Commit: 0416d8b
5
+ * Built: 2026-08-05T13:38:52.801Z
6
+ * Commit: 2870cac
7
7
  */
8
8
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).DommaSyntax={})}(this,function(t){"use strict";const e={javascript:[{type:"comment",pattern:/\/\*[\s\S]*?\*\//g},{type:"comment",pattern:/\/\/.*/g},{type:"template-string",pattern:/`(?:\\.|[^`\\])*`/g},{type:"string",pattern:/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g},{type:"keyword",pattern:/\b(const|let|var|function|return|if|else|for|while|do|break|continue|switch|case|default|try|catch|finally|throw|async|await|class|extends|static|new|this|super|import|export|from|as|default|yield|typeof|instanceof|in|of|delete|void)\b/g},{type:"boolean",pattern:/\b(true|false|null|undefined|NaN|Infinity)\b/g},{type:"number",pattern:/\b\d+\.?\d*([eE][+-]?\d+)?\b/g},{type:"function",pattern:/\b([a-zA-Z_$][\w$]*)\s*(?=\()/g},{type:"class-name",pattern:/\b[A-Z][\w$]*\b/g},{type:"operator",pattern:/[+\-*/%=<>!&|^~?:]+|===|!==|==|!=|<=|>=|&&|\|\||<<|>>|>>>/g},{type:"punctuation",pattern:/[{}[\]();,.]/g}],html:[{type:"comment",pattern:/<!--[\s\S]*?-->/g},{type:"doctype",pattern:/<!DOCTYPE[^>]*>/gi},{type:"tag-open",pattern:/<\/?[a-zA-Z][\w-]*/g},{type:"tag-close",pattern:/\/?>/g},{type:"attr-name",pattern:/\s+[a-zA-Z:@][\w:.-]*(?=\s*=)/g},{type:"attr-value",pattern:/=\s*"[^"]*"|=\s*'[^']*'/g},{type:"entity",pattern:/&[#\w]+;/g}],css:[{type:"comment",pattern:/\/\*[\s\S]*?\*\//g},{type:"at-rule",pattern:/@[\w-]+/g},{type:"selector",pattern:/[.#]?[a-zA-Z][\w-]*(?=\s*[{,])/g},{type:"property",pattern:/\b[\w-]+(?=\s*:)/g},{type:"string",pattern:/"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'/g},{type:"function",pattern:/\b[\w-]+(?=\()/g},{type:"important",pattern:/!important\b/g},{type:"number",pattern:/\b\d+\.?\d*(px|em|rem|%|vh|vw|pt|cm|mm|in|pc|ex|ch|vmin|vmax|fr)?\b/g},{type:"color",pattern:/#[\da-fA-F]{3,8}\b/g},{type:"punctuation",pattern:/[{}:;,()]/g}]};function n(t){const e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};return t.replace(/[&<>"']/g,t=>e[t])}class a{constructor(){this.config={autoDetect:!0,preserveOriginal:!0,selector:".code-block",showLanguageBadge:!1,languagePrefix:"language-"}}highlight(t,a=null){const r="string"==typeof t?document.querySelector(t):t;if(!r||r.hasAttribute("data-syntax-highlighted"))return!1;if(!a&&this.config.autoDetect){const t=Array.from(r.classList).find(t=>t.startsWith(this.config.languagePrefix));t&&(a=t.substring(this.config.languagePrefix.length))}if(!a||!e[a])return!1;const o=r.textContent||"";this.config.preserveOriginal&&r.setAttribute("data-original-code",o);const i=function(t,a){const r=e[a];if(!r)return n(t);const o=[];for(const{type:e,pattern:n}of r){if("html"===a&&"entity"===e)continue;let r;for(n.lastIndex=0;null!==(r=n.exec(t));)o.push({start:r.index,end:r.index+r[0].length,text:r[0],type:e})}o.sort((t,e)=>t.start-e.start);const i=[];let s=0;for(const t of o)t.start>=s&&(i.push(t),s=t.end);let c="",p=0;for(const e of i)e.start>p&&(c+=n(t.substring(p,e.start))),c+=`<span class="syntax-${e.type}">${n(e.text)}</span>`,p=e.end;return p<t.length&&(c+=n(t.substring(p))),c}(o,a);return r.innerHTML=i,r.setAttribute("data-syntax-highlighted","true"),r.setAttribute("data-language",a),this.config.showLanguageBadge&&this.addLanguageBadge(r,a),!0}scan(t={}){const e=t.selector||this.config.selector,n=document.querySelectorAll(e);let a=0;return n.forEach(e=>{this.highlight(e,t.language||null)&&(this.addCopyButton(e),a++)}),a}register(t,n){t&&Array.isArray(n)?e[t]=n:console.error("SyntaxHighlighter: Invalid language registration")}configure(t){return t?(Object.assign(this.config,t),this.config):{...this.config}}addLanguageBadge(t,e){if(t.querySelector(".syntax-language-badge"))return;const n=document.createElement("div");n.className="syntax-language-badge",n.textContent=e.toUpperCase(),t.style.position="relative",t.insertBefore(n,t.firstChild)}getLanguages(){return Object.keys(e)}isLanguageSupported(t){return t in e}addCopyButton(t){if(t.parentElement&&t.parentElement.classList.contains("code-block-wrapper"))return;const e=document.createElement("div");e.className="code-block-wrapper";const n=document.createElement("button");n.className="code-block-copy",n.setAttribute("aria-label","Copy code to clipboard"),n.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',n.addEventListener("click",async()=>{const e=t.getAttribute("data-original-code")||t.textContent;try{if(navigator.clipboard&&navigator.clipboard.writeText)await navigator.clipboard.writeText(e);else{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}n.classList.add("copied"),n.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><polyline points="20 6 9 17 4 12"></polyline></svg>',setTimeout(()=>{n.classList.remove("copied"),n.innerHTML='<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>'},2e3)}catch(t){console.error("Failed to copy code:",t)}}),t.parentNode.insertBefore(e,t),e.appendChild(t),e.appendChild(n)}}const r=new a;"undefined"!=typeof document&&("loading"===document.readyState?document.addEventListener("DOMContentLoaded",()=>{r.scan()}):setTimeout(()=>r.scan(),0)),"undefined"!=typeof window&&(window.Domma&&(window.Domma.syntax=r),window.DommaSyntax=r),t.LANGUAGES=e,t.SyntaxHighlighter=a,t.default=r,t.syntax=r,Object.defineProperty(t,"__esModule",{value:!0})});
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Core CSS v0.33.1
2
+ * Domma Core CSS v0.35.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-05T08:36:25.378Z
6
- * Commit: 0416d8b
5
+ * Built: 2026-08-05T13:39:06.641Z
6
+ * Commit: 2870cac
7
7
  */
8
8
 
9
9
  /**