domma-js 0.44.4 → 0.44.5

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.44.4",
3
+ "version": "0.44.5",
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",
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Complete CSS Bundle v0.44.4
2
+ * Domma Complete CSS Bundle v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.474Z
5
+ * Built: 2026-09-26T07:11:34.828Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.4
14
+ * Domma Core CSS v0.44.5
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-25T17:28:59.308Z
18
- * Commit: 0078c71
17
+ * Built: 2026-09-26T07:11:34.663Z
18
+ * Commit: 28346d5
19
19
  */
20
20
 
21
21
  /**
@@ -4835,11 +4835,11 @@ body.dm-cloaked.dm-ready {
4835
4835
  ============================================ */
4836
4836
 
4837
4837
  /*!
4838
- * Domma Grid CSS v0.44.4
4838
+ * Domma Grid CSS v0.44.5
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-25T17:28:59.312Z
4842
- * Commit: 0078c71
4841
+ * Built: 2026-09-26T07:11:34.667Z
4842
+ * Commit: 28346d5
4843
4843
  */
4844
4844
 
4845
4845
  /**
@@ -5460,11 +5460,11 @@ body.dm-cloaked.dm-ready {
5460
5460
  ============================================ */
5461
5461
 
5462
5462
  /*!
5463
- * Domma Elements CSS v0.44.4
5463
+ * Domma Elements CSS v0.44.5
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-25T17:28:59.316Z
5467
- * Commit: 0078c71
5466
+ * Built: 2026-09-26T07:11:34.672Z
5467
+ * Commit: 28346d5
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -13670,9 +13670,17 @@ code {
13670
13670
  transition: background var(--dm-transition-fast);
13671
13671
  }
13672
13672
 
13673
+ /*
13674
+ * The hover wash is mixed from the text colour, not taken from a theme token.
13675
+ * --dm-background-alt equals --dm-surface in every dark theme and sits one
13676
+ * shade off white in the light ones, so the highlight was invisible. The text
13677
+ * colour is the one value every theme guarantees contrasts with the surface.
13678
+ * A submenu's parent keeps the wash while its submenu is open.
13679
+ */
13673
13680
  .dm-context-menu-item:hover:not(.is-disabled),
13674
- .dm-context-menu-item:focus-visible {
13675
- background: var(--dm-background-alt);
13681
+ .dm-context-menu-item:focus-visible,
13682
+ .dm-context-menu-item[aria-expanded="true"] {
13683
+ background: var(--dm-ctx-hover, color-mix(in srgb, var(--dm-text) 10%, transparent));
13676
13684
  outline: none;
13677
13685
  }
13678
13686
 
@@ -13683,7 +13691,8 @@ code {
13683
13691
  * the one pairing every theme guarantees and the accent carries the meaning.
13684
13692
  */
13685
13693
  .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:hover:not(.is-disabled),
13686
- .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible {
13694
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible,
13695
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item[aria-expanded="true"] {
13687
13696
  background: color-mix(in srgb, var(--dm-ctx-accent) 16%, transparent);
13688
13697
  }
13689
13698
 
@@ -14005,11 +14014,11 @@ code {
14005
14014
  ============================================ */
14006
14015
 
14007
14016
  /*!
14008
- * Domma Themes v0.44.4
14017
+ * Domma Themes v0.44.5
14009
14018
  * Dynamic Object Manipulation & Modeling API
14010
14019
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14011
- * Built: 2026-09-25T17:28:59.295Z
14012
- * Commit: 0078c71
14020
+ * Built: 2026-09-26T07:11:34.651Z
14021
+ * Commit: 28346d5
14013
14022
  */
14014
14023
 
14015
14024
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Data-Focused CSS Bundle v0.44.4
2
+ * Domma Data-Focused CSS Bundle v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.471Z
5
+ * Built: 2026-09-26T07:11:34.824Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.4
14
+ * Domma Core CSS v0.44.5
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-25T17:28:59.308Z
18
- * Commit: 0078c71
17
+ * Built: 2026-09-26T07:11:34.663Z
18
+ * Commit: 28346d5
19
19
  */
20
20
 
21
21
  /**
@@ -4835,11 +4835,11 @@ body.dm-cloaked.dm-ready {
4835
4835
  ============================================ */
4836
4836
 
4837
4837
  /*!
4838
- * Domma Grid CSS v0.44.4
4838
+ * Domma Grid CSS v0.44.5
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-25T17:28:59.312Z
4842
- * Commit: 0078c71
4841
+ * Built: 2026-09-26T07:11:34.667Z
4842
+ * Commit: 28346d5
4843
4843
  */
4844
4844
 
4845
4845
  /**
@@ -5460,11 +5460,11 @@ body.dm-cloaked.dm-ready {
5460
5460
  ============================================ */
5461
5461
 
5462
5462
  /*!
5463
- * Domma Elements CSS v0.44.4
5463
+ * Domma Elements CSS v0.44.5
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-25T17:28:59.316Z
5467
- * Commit: 0078c71
5466
+ * Built: 2026-09-26T07:11:34.672Z
5467
+ * Commit: 28346d5
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -13670,9 +13670,17 @@ code {
13670
13670
  transition: background var(--dm-transition-fast);
13671
13671
  }
13672
13672
 
13673
+ /*
13674
+ * The hover wash is mixed from the text colour, not taken from a theme token.
13675
+ * --dm-background-alt equals --dm-surface in every dark theme and sits one
13676
+ * shade off white in the light ones, so the highlight was invisible. The text
13677
+ * colour is the one value every theme guarantees contrasts with the surface.
13678
+ * A submenu's parent keeps the wash while its submenu is open.
13679
+ */
13673
13680
  .dm-context-menu-item:hover:not(.is-disabled),
13674
- .dm-context-menu-item:focus-visible {
13675
- background: var(--dm-background-alt);
13681
+ .dm-context-menu-item:focus-visible,
13682
+ .dm-context-menu-item[aria-expanded="true"] {
13683
+ background: var(--dm-ctx-hover, color-mix(in srgb, var(--dm-text) 10%, transparent));
13676
13684
  outline: none;
13677
13685
  }
13678
13686
 
@@ -13683,7 +13691,8 @@ code {
13683
13691
  * the one pairing every theme guarantees and the accent carries the meaning.
13684
13692
  */
13685
13693
  .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:hover:not(.is-disabled),
13686
- .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible {
13694
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible,
13695
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item[aria-expanded="true"] {
13687
13696
  background: color-mix(in srgb, var(--dm-ctx-accent) 16%, transparent);
13688
13697
  }
13689
13698
 
@@ -14005,11 +14014,11 @@ code {
14005
14014
  ============================================ */
14006
14015
 
14007
14016
  /*!
14008
- * Domma Themes v0.44.4
14017
+ * Domma Themes v0.44.5
14009
14018
  * Dynamic Object Manipulation & Modeling API
14010
14019
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14011
- * Built: 2026-09-25T17:28:59.295Z
14012
- * Commit: 0078c71
14020
+ * Built: 2026-09-26T07:11:34.651Z
14021
+ * Commit: 28346d5
14013
14022
  */
14014
14023
 
14015
14024
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Essentials CSS Bundle v0.44.4
2
+ * Domma Essentials CSS Bundle v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.463Z
5
+ * Built: 2026-09-26T07:11:34.816Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.4
14
+ * Domma Core CSS v0.44.5
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-25T17:28:59.308Z
18
- * Commit: 0078c71
17
+ * Built: 2026-09-26T07:11:34.663Z
18
+ * Commit: 28346d5
19
19
  */
20
20
 
21
21
  /**
@@ -4835,11 +4835,11 @@ body.dm-cloaked.dm-ready {
4835
4835
  ============================================ */
4836
4836
 
4837
4837
  /*!
4838
- * Domma Grid CSS v0.44.4
4838
+ * Domma Grid CSS v0.44.5
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-25T17:28:59.312Z
4842
- * Commit: 0078c71
4841
+ * Built: 2026-09-26T07:11:34.667Z
4842
+ * Commit: 28346d5
4843
4843
  */
4844
4844
 
4845
4845
  /**
@@ -5460,11 +5460,11 @@ body.dm-cloaked.dm-ready {
5460
5460
  ============================================ */
5461
5461
 
5462
5462
  /*!
5463
- * Domma Elements CSS v0.44.4
5463
+ * Domma Elements CSS v0.44.5
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-25T17:28:59.316Z
5467
- * Commit: 0078c71
5466
+ * Built: 2026-09-26T07:11:34.672Z
5467
+ * Commit: 28346d5
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -13670,9 +13670,17 @@ code {
13670
13670
  transition: background var(--dm-transition-fast);
13671
13671
  }
13672
13672
 
13673
+ /*
13674
+ * The hover wash is mixed from the text colour, not taken from a theme token.
13675
+ * --dm-background-alt equals --dm-surface in every dark theme and sits one
13676
+ * shade off white in the light ones, so the highlight was invisible. The text
13677
+ * colour is the one value every theme guarantees contrasts with the surface.
13678
+ * A submenu's parent keeps the wash while its submenu is open.
13679
+ */
13673
13680
  .dm-context-menu-item:hover:not(.is-disabled),
13674
- .dm-context-menu-item:focus-visible {
13675
- background: var(--dm-background-alt);
13681
+ .dm-context-menu-item:focus-visible,
13682
+ .dm-context-menu-item[aria-expanded="true"] {
13683
+ background: var(--dm-ctx-hover, color-mix(in srgb, var(--dm-text) 10%, transparent));
13676
13684
  outline: none;
13677
13685
  }
13678
13686
 
@@ -13683,7 +13691,8 @@ code {
13683
13691
  * the one pairing every theme guarantees and the accent carries the meaning.
13684
13692
  */
13685
13693
  .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:hover:not(.is-disabled),
13686
- .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible {
13694
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible,
13695
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item[aria-expanded="true"] {
13687
13696
  background: color-mix(in srgb, var(--dm-ctx-accent) 16%, transparent);
13688
13697
  }
13689
13698
 
@@ -14005,11 +14014,11 @@ code {
14005
14014
  ============================================ */
14006
14015
 
14007
14016
  /*!
14008
- * Domma Themes v0.44.4
14017
+ * Domma Themes v0.44.5
14009
14018
  * Dynamic Object Manipulation & Modeling API
14010
14019
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14011
- * Built: 2026-09-25T17:28:59.295Z
14012
- * Commit: 0078c71
14020
+ * Built: 2026-09-26T07:11:34.651Z
14021
+ * Commit: 28346d5
14013
14022
  */
14014
14023
 
14015
14024
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Full CSS Bundle v0.44.4
2
+ * Domma Full CSS Bundle v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.468Z
5
+ * Built: 2026-09-26T07:11:34.821Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.4
14
+ * Domma Core CSS v0.44.5
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-25T17:28:59.308Z
18
- * Commit: 0078c71
17
+ * Built: 2026-09-26T07:11:34.663Z
18
+ * Commit: 28346d5
19
19
  */
20
20
 
21
21
  /**
@@ -4835,11 +4835,11 @@ body.dm-cloaked.dm-ready {
4835
4835
  ============================================ */
4836
4836
 
4837
4837
  /*!
4838
- * Domma Grid CSS v0.44.4
4838
+ * Domma Grid CSS v0.44.5
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-25T17:28:59.312Z
4842
- * Commit: 0078c71
4841
+ * Built: 2026-09-26T07:11:34.667Z
4842
+ * Commit: 28346d5
4843
4843
  */
4844
4844
 
4845
4845
  /**
@@ -5460,11 +5460,11 @@ body.dm-cloaked.dm-ready {
5460
5460
  ============================================ */
5461
5461
 
5462
5462
  /*!
5463
- * Domma Elements CSS v0.44.4
5463
+ * Domma Elements CSS v0.44.5
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-25T17:28:59.316Z
5467
- * Commit: 0078c71
5466
+ * Built: 2026-09-26T07:11:34.672Z
5467
+ * Commit: 28346d5
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -13670,9 +13670,17 @@ code {
13670
13670
  transition: background var(--dm-transition-fast);
13671
13671
  }
13672
13672
 
13673
+ /*
13674
+ * The hover wash is mixed from the text colour, not taken from a theme token.
13675
+ * --dm-background-alt equals --dm-surface in every dark theme and sits one
13676
+ * shade off white in the light ones, so the highlight was invisible. The text
13677
+ * colour is the one value every theme guarantees contrasts with the surface.
13678
+ * A submenu's parent keeps the wash while its submenu is open.
13679
+ */
13673
13680
  .dm-context-menu-item:hover:not(.is-disabled),
13674
- .dm-context-menu-item:focus-visible {
13675
- background: var(--dm-background-alt);
13681
+ .dm-context-menu-item:focus-visible,
13682
+ .dm-context-menu-item[aria-expanded="true"] {
13683
+ background: var(--dm-ctx-hover, color-mix(in srgb, var(--dm-text) 10%, transparent));
13676
13684
  outline: none;
13677
13685
  }
13678
13686
 
@@ -13683,7 +13691,8 @@ code {
13683
13691
  * the one pairing every theme guarantees and the accent carries the meaning.
13684
13692
  */
13685
13693
  .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:hover:not(.is-disabled),
13686
- .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible {
13694
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible,
13695
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item[aria-expanded="true"] {
13687
13696
  background: color-mix(in srgb, var(--dm-ctx-accent) 16%, transparent);
13688
13697
  }
13689
13698
 
@@ -14005,11 +14014,11 @@ code {
14005
14014
  ============================================ */
14006
14015
 
14007
14016
  /*!
14008
- * Domma Themes v0.44.4
14017
+ * Domma Themes v0.44.5
14009
14018
  * Dynamic Object Manipulation & Modeling API
14010
14019
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14011
- * Built: 2026-09-25T17:28:59.295Z
14012
- * Commit: 0078c71
14020
+ * Built: 2026-09-26T07:11:34.651Z
14021
+ * Commit: 28346d5
14013
14022
  */
14014
14023
 
14015
14024
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Minimal CSS Bundle v0.44.4
2
+ * Domma Minimal CSS Bundle v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.462Z
5
+ * Built: 2026-09-26T07:11:34.815Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.4
14
+ * Domma Core CSS v0.44.5
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-25T17:28:59.308Z
18
- * Commit: 0078c71
17
+ * Built: 2026-09-26T07:11:34.663Z
18
+ * Commit: 28346d5
19
19
  */
20
20
 
21
21
  /**
@@ -4835,11 +4835,11 @@ body.dm-cloaked.dm-ready {
4835
4835
  ============================================ */
4836
4836
 
4837
4837
  /*!
4838
- * Domma Grid CSS v0.44.4
4838
+ * Domma Grid CSS v0.44.5
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-25T17:28:59.312Z
4842
- * Commit: 0078c71
4841
+ * Built: 2026-09-26T07:11:34.667Z
4842
+ * Commit: 28346d5
4843
4843
  */
4844
4844
 
4845
4845
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.44.4
2
+ * Domma Flags v0.44.5
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:44.281Z
6
- * Commit: 0078c71
5
+ * Built: 2026-09-26T07:11:20.425Z
6
+ * Commit: 28346d5
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Flags v0.44.4
2
+ * Domma Flags v0.44.5
3
3
  * Nation flags as inline SVG (opt-in module)
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:44.281Z
6
- * Commit: 0078c71
5
+ * Built: 2026-09-26T07:11:20.425Z
6
+ * Commit: 28346d5
7
7
  *
8
8
  * Requires: domma.min.js
9
9
  */
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Syntax Highlighter v0.44.4
2
+ * Domma Syntax Highlighter v0.44.5
3
3
  * Lightweight code syntax highlighting for JavaScript, HTML, and CSS
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:44.277Z
6
- * Commit: 0078c71
5
+ * Built: 2026-09-26T07:11:20.421Z
6
+ * Commit: 28346d5
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.44.4
2
+ * Domma Core CSS v0.44.5
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-25T17:28:59.308Z
6
- * Commit: 0078c71
5
+ * Built: 2026-09-26T07:11:34.663Z
6
+ * Commit: 28346d5
7
7
  */
8
8
 
9
9
  /**