domma-js 0.51.10 → 0.51.12

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.51.10",
3
+ "version": "0.51.12",
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",
@@ -88,7 +88,7 @@
88
88
  "@vitest/coverage-v8": "^4.0.16",
89
89
  "cypress": "^15.8.1",
90
90
  "domma-celebrate": "^1.3.0",
91
- "domma-reactive": "1.3.0",
91
+ "domma-reactive": "1.3.1",
92
92
  "dompurify": "^3.4.13",
93
93
  "dotenv": "^17.2.3",
94
94
  "jsdom": "^24.1.0",
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Complete CSS Bundle v0.51.10
2
+ * Domma Complete CSS Bundle v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.430Z
5
+ * Built: 2026-10-13T13:44:08.569Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.51.10
14
+ * Domma Core CSS v0.51.12
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-10-11T12:20:27.249Z
18
- * Commit: b8fe5ce
17
+ * Built: 2026-10-13T13:44:08.445Z
18
+ * Commit: ce9f5f1
19
19
  */
20
20
 
21
21
  /**
@@ -3549,6 +3549,15 @@ code, pre {
3549
3549
 
3550
3550
  /* Transformable units inherit the surrounding typography. Sentences stay
3551
3551
  inline so long passages can wrap within narrow containers. */
3552
+ /* Keep animated characters in one unbreakable word, even inside containers
3553
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3554
+ .dm-scribe-word-group {
3555
+ display: inline-block;
3556
+ white-space: nowrap;
3557
+ overflow-wrap: normal;
3558
+ word-break: normal;
3559
+ }
3560
+
3552
3561
  .dm-scribe-char,
3553
3562
  .dm-scribe-word {
3554
3563
  display: inline-block;
@@ -4946,11 +4955,11 @@ body.dm-cloaked.dm-ready {
4946
4955
  ============================================ */
4947
4956
 
4948
4957
  /*!
4949
- * Domma Grid CSS v0.51.10
4958
+ * Domma Grid CSS v0.51.12
4950
4959
  * Dynamic Object Manipulation & Modeling API
4951
4960
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4952
- * Built: 2026-10-11T12:20:27.253Z
4953
- * Commit: b8fe5ce
4961
+ * Built: 2026-10-13T13:44:08.448Z
4962
+ * Commit: ce9f5f1
4954
4963
  */
4955
4964
 
4956
4965
  /**
@@ -5571,11 +5580,11 @@ body.dm-cloaked.dm-ready {
5571
5580
  ============================================ */
5572
5581
 
5573
5582
  /*!
5574
- * Domma Elements CSS v0.51.10
5583
+ * Domma Elements CSS v0.51.12
5575
5584
  * Dynamic Object Manipulation & Modeling API
5576
5585
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5577
- * Built: 2026-10-11T12:20:27.258Z
5578
- * Commit: b8fe5ce
5586
+ * Built: 2026-10-13T13:44:08.452Z
5587
+ * Commit: ce9f5f1
5579
5588
  */
5580
5589
 
5581
5590
  /**
@@ -15119,11 +15128,11 @@ a.avatar-more-person:hover .avatar-more-name {
15119
15128
  ============================================ */
15120
15129
 
15121
15130
  /*!
15122
- * Domma Themes v0.51.10
15131
+ * Domma Themes v0.51.12
15123
15132
  * Dynamic Object Manipulation & Modeling API
15124
15133
  * (c) 2026 Darryl Waterhouse & DCBW-IT
15125
- * Built: 2026-10-11T12:20:27.235Z
15126
- * Commit: b8fe5ce
15134
+ * Built: 2026-10-13T13:44:08.434Z
15135
+ * Commit: ce9f5f1
15127
15136
  */
15128
15137
 
15129
15138
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Data-Focused CSS Bundle v0.51.10
2
+ * Domma Data-Focused CSS Bundle v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.425Z
5
+ * Built: 2026-10-13T13:44:08.566Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.51.10
14
+ * Domma Core CSS v0.51.12
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-10-11T12:20:27.249Z
18
- * Commit: b8fe5ce
17
+ * Built: 2026-10-13T13:44:08.445Z
18
+ * Commit: ce9f5f1
19
19
  */
20
20
 
21
21
  /**
@@ -3549,6 +3549,15 @@ code, pre {
3549
3549
 
3550
3550
  /* Transformable units inherit the surrounding typography. Sentences stay
3551
3551
  inline so long passages can wrap within narrow containers. */
3552
+ /* Keep animated characters in one unbreakable word, even inside containers
3553
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3554
+ .dm-scribe-word-group {
3555
+ display: inline-block;
3556
+ white-space: nowrap;
3557
+ overflow-wrap: normal;
3558
+ word-break: normal;
3559
+ }
3560
+
3552
3561
  .dm-scribe-char,
3553
3562
  .dm-scribe-word {
3554
3563
  display: inline-block;
@@ -4946,11 +4955,11 @@ body.dm-cloaked.dm-ready {
4946
4955
  ============================================ */
4947
4956
 
4948
4957
  /*!
4949
- * Domma Grid CSS v0.51.10
4958
+ * Domma Grid CSS v0.51.12
4950
4959
  * Dynamic Object Manipulation & Modeling API
4951
4960
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4952
- * Built: 2026-10-11T12:20:27.253Z
4953
- * Commit: b8fe5ce
4961
+ * Built: 2026-10-13T13:44:08.448Z
4962
+ * Commit: ce9f5f1
4954
4963
  */
4955
4964
 
4956
4965
  /**
@@ -5571,11 +5580,11 @@ body.dm-cloaked.dm-ready {
5571
5580
  ============================================ */
5572
5581
 
5573
5582
  /*!
5574
- * Domma Elements CSS v0.51.10
5583
+ * Domma Elements CSS v0.51.12
5575
5584
  * Dynamic Object Manipulation & Modeling API
5576
5585
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5577
- * Built: 2026-10-11T12:20:27.258Z
5578
- * Commit: b8fe5ce
5586
+ * Built: 2026-10-13T13:44:08.452Z
5587
+ * Commit: ce9f5f1
5579
5588
  */
5580
5589
 
5581
5590
  /**
@@ -15119,11 +15128,11 @@ a.avatar-more-person:hover .avatar-more-name {
15119
15128
  ============================================ */
15120
15129
 
15121
15130
  /*!
15122
- * Domma Themes v0.51.10
15131
+ * Domma Themes v0.51.12
15123
15132
  * Dynamic Object Manipulation & Modeling API
15124
15133
  * (c) 2026 Darryl Waterhouse & DCBW-IT
15125
- * Built: 2026-10-11T12:20:27.235Z
15126
- * Commit: b8fe5ce
15134
+ * Built: 2026-10-13T13:44:08.434Z
15135
+ * Commit: ce9f5f1
15127
15136
  */
15128
15137
 
15129
15138
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Essentials CSS Bundle v0.51.10
2
+ * Domma Essentials CSS Bundle v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.416Z
5
+ * Built: 2026-10-13T13:44:08.560Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.51.10
14
+ * Domma Core CSS v0.51.12
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-10-11T12:20:27.249Z
18
- * Commit: b8fe5ce
17
+ * Built: 2026-10-13T13:44:08.445Z
18
+ * Commit: ce9f5f1
19
19
  */
20
20
 
21
21
  /**
@@ -3549,6 +3549,15 @@ code, pre {
3549
3549
 
3550
3550
  /* Transformable units inherit the surrounding typography. Sentences stay
3551
3551
  inline so long passages can wrap within narrow containers. */
3552
+ /* Keep animated characters in one unbreakable word, even inside containers
3553
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3554
+ .dm-scribe-word-group {
3555
+ display: inline-block;
3556
+ white-space: nowrap;
3557
+ overflow-wrap: normal;
3558
+ word-break: normal;
3559
+ }
3560
+
3552
3561
  .dm-scribe-char,
3553
3562
  .dm-scribe-word {
3554
3563
  display: inline-block;
@@ -4946,11 +4955,11 @@ body.dm-cloaked.dm-ready {
4946
4955
  ============================================ */
4947
4956
 
4948
4957
  /*!
4949
- * Domma Grid CSS v0.51.10
4958
+ * Domma Grid CSS v0.51.12
4950
4959
  * Dynamic Object Manipulation & Modeling API
4951
4960
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4952
- * Built: 2026-10-11T12:20:27.253Z
4953
- * Commit: b8fe5ce
4961
+ * Built: 2026-10-13T13:44:08.448Z
4962
+ * Commit: ce9f5f1
4954
4963
  */
4955
4964
 
4956
4965
  /**
@@ -5571,11 +5580,11 @@ body.dm-cloaked.dm-ready {
5571
5580
  ============================================ */
5572
5581
 
5573
5582
  /*!
5574
- * Domma Elements CSS v0.51.10
5583
+ * Domma Elements CSS v0.51.12
5575
5584
  * Dynamic Object Manipulation & Modeling API
5576
5585
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5577
- * Built: 2026-10-11T12:20:27.258Z
5578
- * Commit: b8fe5ce
5586
+ * Built: 2026-10-13T13:44:08.452Z
5587
+ * Commit: ce9f5f1
5579
5588
  */
5580
5589
 
5581
5590
  /**
@@ -15119,11 +15128,11 @@ a.avatar-more-person:hover .avatar-more-name {
15119
15128
  ============================================ */
15120
15129
 
15121
15130
  /*!
15122
- * Domma Themes v0.51.10
15131
+ * Domma Themes v0.51.12
15123
15132
  * Dynamic Object Manipulation & Modeling API
15124
15133
  * (c) 2026 Darryl Waterhouse & DCBW-IT
15125
- * Built: 2026-10-11T12:20:27.235Z
15126
- * Commit: b8fe5ce
15134
+ * Built: 2026-10-13T13:44:08.434Z
15135
+ * Commit: ce9f5f1
15127
15136
  */
15128
15137
 
15129
15138
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Full CSS Bundle v0.51.10
2
+ * Domma Full CSS Bundle v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.421Z
5
+ * Built: 2026-10-13T13:44:08.564Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.51.10
14
+ * Domma Core CSS v0.51.12
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-10-11T12:20:27.249Z
18
- * Commit: b8fe5ce
17
+ * Built: 2026-10-13T13:44:08.445Z
18
+ * Commit: ce9f5f1
19
19
  */
20
20
 
21
21
  /**
@@ -3549,6 +3549,15 @@ code, pre {
3549
3549
 
3550
3550
  /* Transformable units inherit the surrounding typography. Sentences stay
3551
3551
  inline so long passages can wrap within narrow containers. */
3552
+ /* Keep animated characters in one unbreakable word, even inside containers
3553
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3554
+ .dm-scribe-word-group {
3555
+ display: inline-block;
3556
+ white-space: nowrap;
3557
+ overflow-wrap: normal;
3558
+ word-break: normal;
3559
+ }
3560
+
3552
3561
  .dm-scribe-char,
3553
3562
  .dm-scribe-word {
3554
3563
  display: inline-block;
@@ -4946,11 +4955,11 @@ body.dm-cloaked.dm-ready {
4946
4955
  ============================================ */
4947
4956
 
4948
4957
  /*!
4949
- * Domma Grid CSS v0.51.10
4958
+ * Domma Grid CSS v0.51.12
4950
4959
  * Dynamic Object Manipulation & Modeling API
4951
4960
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4952
- * Built: 2026-10-11T12:20:27.253Z
4953
- * Commit: b8fe5ce
4961
+ * Built: 2026-10-13T13:44:08.448Z
4962
+ * Commit: ce9f5f1
4954
4963
  */
4955
4964
 
4956
4965
  /**
@@ -5571,11 +5580,11 @@ body.dm-cloaked.dm-ready {
5571
5580
  ============================================ */
5572
5581
 
5573
5582
  /*!
5574
- * Domma Elements CSS v0.51.10
5583
+ * Domma Elements CSS v0.51.12
5575
5584
  * Dynamic Object Manipulation & Modeling API
5576
5585
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5577
- * Built: 2026-10-11T12:20:27.258Z
5578
- * Commit: b8fe5ce
5586
+ * Built: 2026-10-13T13:44:08.452Z
5587
+ * Commit: ce9f5f1
5579
5588
  */
5580
5589
 
5581
5590
  /**
@@ -15119,11 +15128,11 @@ a.avatar-more-person:hover .avatar-more-name {
15119
15128
  ============================================ */
15120
15129
 
15121
15130
  /*!
15122
- * Domma Themes v0.51.10
15131
+ * Domma Themes v0.51.12
15123
15132
  * Dynamic Object Manipulation & Modeling API
15124
15133
  * (c) 2026 Darryl Waterhouse & DCBW-IT
15125
- * Built: 2026-10-11T12:20:27.235Z
15126
- * Commit: b8fe5ce
15134
+ * Built: 2026-10-13T13:44:08.434Z
15135
+ * Commit: ce9f5f1
15127
15136
  */
15128
15137
 
15129
15138
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Minimal CSS Bundle v0.51.10
2
+ * Domma Minimal CSS Bundle v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.415Z
5
+ * Built: 2026-10-13T13:44:08.559Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.51.10
14
+ * Domma Core CSS v0.51.12
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-10-11T12:20:27.249Z
18
- * Commit: b8fe5ce
17
+ * Built: 2026-10-13T13:44:08.445Z
18
+ * Commit: ce9f5f1
19
19
  */
20
20
 
21
21
  /**
@@ -3549,6 +3549,15 @@ code, pre {
3549
3549
 
3550
3550
  /* Transformable units inherit the surrounding typography. Sentences stay
3551
3551
  inline so long passages can wrap within narrow containers. */
3552
+ /* Keep animated characters in one unbreakable word, even inside containers
3553
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3554
+ .dm-scribe-word-group {
3555
+ display: inline-block;
3556
+ white-space: nowrap;
3557
+ overflow-wrap: normal;
3558
+ word-break: normal;
3559
+ }
3560
+
3552
3561
  .dm-scribe-char,
3553
3562
  .dm-scribe-word {
3554
3563
  display: inline-block;
@@ -4946,11 +4955,11 @@ body.dm-cloaked.dm-ready {
4946
4955
  ============================================ */
4947
4956
 
4948
4957
  /*!
4949
- * Domma Grid CSS v0.51.10
4958
+ * Domma Grid CSS v0.51.12
4950
4959
  * Dynamic Object Manipulation & Modeling API
4951
4960
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4952
- * Built: 2026-10-11T12:20:27.253Z
4953
- * Commit: b8fe5ce
4961
+ * Built: 2026-10-13T13:44:08.448Z
4962
+ * Commit: ce9f5f1
4954
4963
  */
4955
4964
 
4956
4965
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.51.10
2
+ * Domma Flags v0.51.12
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:10.589Z
6
- * Commit: b8fe5ce
5
+ * Built: 2026-10-13T13:43:57.407Z
6
+ * Commit: ce9f5f1
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.51.10
2
+ * Domma Flags v0.51.12
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:10.589Z
6
- * Commit: b8fe5ce
5
+ * Built: 2026-10-13T13:43:57.407Z
6
+ * Commit: ce9f5f1
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Syntax Highlighter v0.51.10
2
+ * Domma Syntax Highlighter v0.51.12
3
3
  * Lightweight code syntax highlighting for JavaScript, HTML, and CSS
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:10.585Z
6
- * Commit: b8fe5ce
5
+ * Built: 2026-10-13T13:43:57.404Z
6
+ * Commit: ce9f5f1
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.51.10
2
+ * Domma Core CSS v0.51.12
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-10-11T12:20:27.249Z
6
- * Commit: b8fe5ce
5
+ * Built: 2026-10-13T13:44:08.445Z
6
+ * Commit: ce9f5f1
7
7
  */
8
8
 
9
9
  /**
@@ -3537,6 +3537,15 @@ code, pre {
3537
3537
 
3538
3538
  /* Transformable units inherit the surrounding typography. Sentences stay
3539
3539
  inline so long passages can wrap within narrow containers. */
3540
+ /* Keep animated characters in one unbreakable word, even inside containers
3541
+ that allow emergency wrapping. Whitespace stays outside these groups. */
3542
+ .dm-scribe-word-group {
3543
+ display: inline-block;
3544
+ white-space: nowrap;
3545
+ overflow-wrap: normal;
3546
+ word-break: normal;
3547
+ }
3548
+
3540
3549
  .dm-scribe-char,
3541
3550
  .dm-scribe-word {
3542
3551
  display: inline-block;