domma-js 0.18.0 → 0.18.2

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.
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Grayve Theme Preset CSS Bundle v0.18.0
2
+ * Domma Grayve Theme Preset CSS Bundle v0.18.1
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-02-20T13:24:07.772Z
5
+ * Built: 2026-02-25T21:51:20.174Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -230,11 +230,11 @@
230
230
  ============================================ */
231
231
 
232
232
  /*!
233
- * Domma Core CSS v0.18.0
233
+ * Domma Core CSS v0.18.1
234
234
  * Dynamic Object Manipulation & Modeling API
235
235
  * (c) 2026 Darryl Waterhouse & DCBW-IT
236
- * Built: 2026-02-20T13:24:07.425Z
237
- * Commit: d0731be
236
+ * Built: 2026-02-25T21:51:19.726Z
237
+ * Commit: 2eb305a
238
238
  */
239
239
 
240
240
  /**
@@ -2785,6 +2785,43 @@ code, pre {
2785
2785
  z-index: 2;
2786
2786
  }
2787
2787
 
2788
+ /* Button Group Sizes */
2789
+ .btn-group-sm > .btn,
2790
+ .btn-group-sm > .btn-group > .btn {
2791
+ padding: var(--dm-space-1) var(--dm-space-2);
2792
+ font-size: var(--dm-font-size-xs);
2793
+ line-height: 1.5;
2794
+ border-radius: 0;
2795
+ }
2796
+
2797
+ .btn-group-sm > .btn:first-child {
2798
+ border-top-left-radius: var(--dm-radius-sm);
2799
+ border-bottom-left-radius: var(--dm-radius-sm);
2800
+ }
2801
+
2802
+ .btn-group-sm > .btn:last-child {
2803
+ border-top-right-radius: var(--dm-radius-sm);
2804
+ border-bottom-right-radius: var(--dm-radius-sm);
2805
+ }
2806
+
2807
+ .btn-group-lg > .btn,
2808
+ .btn-group-lg > .btn-group > .btn {
2809
+ padding: var(--dm-space-3) var(--dm-space-6);
2810
+ font-size: var(--dm-font-size-lg);
2811
+ line-height: 1.5;
2812
+ border-radius: 0;
2813
+ }
2814
+
2815
+ .btn-group-lg > .btn:first-child {
2816
+ border-top-left-radius: var(--dm-radius-lg);
2817
+ border-bottom-left-radius: var(--dm-radius-lg);
2818
+ }
2819
+
2820
+ .btn-group-lg > .btn:last-child {
2821
+ border-top-right-radius: var(--dm-radius-lg);
2822
+ border-bottom-right-radius: var(--dm-radius-lg);
2823
+ }
2824
+
2788
2825
  /* Range Slider */
2789
2826
  .form-range {
2790
2827
  appearance: none;
@@ -4222,12 +4259,18 @@ code, pre {
4222
4259
  }
4223
4260
 
4224
4261
  @keyframes dm-ambient-aurora {
4225
- 0%, 100% {
4226
- background-position: 0% 50%;
4227
- }
4228
- 50% {
4229
- background-position: 100% 50%;
4230
- }
4262
+ 0% { background-position: 0% 50%; }
4263
+ 25% { background-position: 50% 0%; }
4264
+ 50% { background-position: 100% 50%; }
4265
+ 75% { background-position: 50% 100%; }
4266
+ 100% { background-position: 0% 50%; }
4267
+ }
4268
+
4269
+ @keyframes dm-ambient-aurora-2 {
4270
+ 0% { background-position: 100% 0%; }
4271
+ 33% { background-position: 0% 50%; }
4272
+ 66% { background-position: 80% 100%; }
4273
+ 100% { background-position: 100% 0%; }
4231
4274
  }
4232
4275
 
4233
4276
  /* Utility Classes - Rotating Gradients */
@@ -4469,20 +4512,42 @@ code, pre {
4469
4512
  .bg-ambient-aurora::before {
4470
4513
  content: '';
4471
4514
  position: absolute;
4472
- top: 0;
4473
- left: 0;
4474
- right: 0;
4475
- bottom: 0;
4515
+ top: -50%;
4516
+ left: -50%;
4517
+ width: 200%;
4518
+ height: 200%;
4476
4519
  background: linear-gradient(
4477
- 45deg,
4478
- rgba(59, 130, 246, 0.1) 0%,
4479
- rgba(139, 92, 246, 0.08) 25%,
4480
- rgba(236, 72, 153, 0.06) 50%,
4481
- rgba(59, 130, 246, 0.08) 75%,
4482
- rgba(139, 92, 246, 0.1) 100%
4520
+ 120deg,
4521
+ rgba(16, 185, 129, 0.0) 0%,
4522
+ rgba(16, 185, 129, 0.5) 20%,
4523
+ rgba(6, 182, 212, 0.6) 40%,
4524
+ rgba(59, 130, 246, 0.4) 60%,
4525
+ rgba(6, 182, 212, 0.3) 80%,
4526
+ rgba(16, 185, 129, 0.0) 100%
4483
4527
  );
4484
- background-size: 400% 400%;
4485
- animation: dm-ambient-aurora 15s ease infinite;
4528
+ background-size: 200% 200%;
4529
+ animation: dm-ambient-aurora 20s ease infinite;
4530
+ will-change: background-position;
4531
+ }
4532
+
4533
+ .bg-ambient-aurora::after {
4534
+ content: '';
4535
+ position: absolute;
4536
+ top: -50%;
4537
+ left: -50%;
4538
+ width: 200%;
4539
+ height: 200%;
4540
+ background: linear-gradient(
4541
+ 240deg,
4542
+ rgba(139, 92, 246, 0.0) 0%,
4543
+ rgba(139, 92, 246, 0.4) 25%,
4544
+ rgba(236, 72, 153, 0.3) 50%,
4545
+ rgba(109, 40, 217, 0.35) 75%,
4546
+ rgba(139, 92, 246, 0.0) 100%
4547
+ );
4548
+ background-size: 200% 200%;
4549
+ animation: dm-ambient-aurora-2 25s ease infinite;
4550
+ mix-blend-mode: screen;
4486
4551
  will-change: background-position;
4487
4552
  }
4488
4553
 
@@ -4926,11 +4991,11 @@ body.dm-cloaked.dm-ready {
4926
4991
  ============================================ */
4927
4992
 
4928
4993
  /*!
4929
- * Domma Grid CSS v0.18.0
4994
+ * Domma Grid CSS v0.18.1
4930
4995
  * Dynamic Object Manipulation & Modeling API
4931
4996
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4932
- * Built: 2026-02-20T13:24:07.433Z
4933
- * Commit: d0731be
4997
+ * Built: 2026-02-25T21:51:19.735Z
4998
+ * Commit: 2eb305a
4934
4999
  */
4935
5000
 
4936
5001
  /**
@@ -5551,11 +5616,11 @@ body.dm-cloaked.dm-ready {
5551
5616
  ============================================ */
5552
5617
 
5553
5618
  /*!
5554
- * Domma Elements CSS v0.18.0
5619
+ * Domma Elements CSS v0.18.1
5555
5620
  * Dynamic Object Manipulation & Modeling API
5556
5621
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5557
- * Built: 2026-02-20T13:24:07.441Z
5558
- * Commit: d0731be
5622
+ * Built: 2026-02-25T21:51:19.743Z
5623
+ * Commit: 2eb305a
5559
5624
  */
5560
5625
 
5561
5626
  /**
@@ -6944,6 +7009,14 @@ textarea:not([class])::placeholder {
6944
7009
  color: var(--dm-info-dark);
6945
7010
  }
6946
7011
 
7012
+ /* In dark themes, the "-dark" colour variants are designed for light backgrounds.
7013
+ Use the base colour (readable on dark backgrounds) instead. */
7014
+ [data-mode="dark"] .alert-primary { color: var(--dm-primary); }
7015
+ [data-mode="dark"] .alert-success { color: var(--dm-success); }
7016
+ [data-mode="dark"] .alert-danger { color: var(--dm-danger); }
7017
+ [data-mode="dark"] .alert-warning { color: var(--dm-warning-text, var(--dm-warning)); }
7018
+ [data-mode="dark"] .alert-info { color: var(--dm-info); }
7019
+
6947
7020
 
6948
7021
  /* ============================================
6949
7022
  CODE BLOCK
@@ -7342,7 +7415,7 @@ code {
7342
7415
  }
7343
7416
 
7344
7417
  .navbar-dark .navbar-link {
7345
- color: var(--dm-text-disabled);
7418
+ color: var(--dm-gray-400, #adb5bd);
7346
7419
  }
7347
7420
 
7348
7421
  .navbar-dark .navbar-link:hover {
@@ -7639,7 +7712,7 @@ code {
7639
7712
  }
7640
7713
 
7641
7714
  .navbar-dark .navbar-dropdown-item {
7642
- color: var(--dm-text-disabled);
7715
+ color: var(--dm-gray-400, #adb5bd);
7643
7716
  }
7644
7717
 
7645
7718
  .navbar-dark .navbar-dropdown-item:hover {
@@ -11871,16 +11944,16 @@ code {
11871
11944
  /* Dark theme support */
11872
11945
  [data-mode="dark"] .dm-progression-content {
11873
11946
  background: var(--dm-surface);
11874
- border-color: var(--dm-text);
11875
- color: var(--dm-text-inverse);
11947
+ border-color: var(--dm-border);
11948
+ color: var(--dm-text);
11876
11949
  }
11877
11950
 
11878
11951
  [data-mode="dark"] .dm-progression-title {
11879
- color: var(--dm-text-inverse);
11952
+ color: var(--dm-text);
11880
11953
  }
11881
11954
 
11882
11955
  [data-mode="dark"] .dm-progression-description {
11883
- color: var(--dm-text-disabled);
11956
+ color: var(--dm-text-secondary);
11884
11957
  }
11885
11958
 
11886
11959
  [data-mode="dark"] .dm-progression-minimal .dm-progression-content {
@@ -12241,11 +12314,11 @@ code {
12241
12314
  ============================================ */
12242
12315
 
12243
12316
  /*!
12244
- * Domma Themes v0.18.0
12317
+ * Domma Themes v0.18.1
12245
12318
  * Dynamic Object Manipulation & Modeling API
12246
12319
  * (c) 2026 Darryl Waterhouse & DCBW-IT
12247
- * Built: 2026-02-20T13:24:07.403Z
12248
- * Commit: d0731be
12320
+ * Built: 2026-02-25T21:51:19.692Z
12321
+ * Commit: 2eb305a
12249
12322
  */
12250
12323
 
12251
12324
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Minimal CSS Bundle v0.18.0
2
+ * Domma Minimal CSS Bundle v0.18.1
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-02-20T13:24:07.744Z
5
+ * Built: 2026-02-25T21:51:20.153Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.18.0
14
+ * Domma Core CSS v0.18.1
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-02-20T13:24:07.425Z
18
- * Commit: d0731be
17
+ * Built: 2026-02-25T21:51:19.726Z
18
+ * Commit: 2eb305a
19
19
  */
20
20
 
21
21
  /**
@@ -2566,6 +2566,43 @@ code, pre {
2566
2566
  z-index: 2;
2567
2567
  }
2568
2568
 
2569
+ /* Button Group Sizes */
2570
+ .btn-group-sm > .btn,
2571
+ .btn-group-sm > .btn-group > .btn {
2572
+ padding: var(--dm-space-1) var(--dm-space-2);
2573
+ font-size: var(--dm-font-size-xs);
2574
+ line-height: 1.5;
2575
+ border-radius: 0;
2576
+ }
2577
+
2578
+ .btn-group-sm > .btn:first-child {
2579
+ border-top-left-radius: var(--dm-radius-sm);
2580
+ border-bottom-left-radius: var(--dm-radius-sm);
2581
+ }
2582
+
2583
+ .btn-group-sm > .btn:last-child {
2584
+ border-top-right-radius: var(--dm-radius-sm);
2585
+ border-bottom-right-radius: var(--dm-radius-sm);
2586
+ }
2587
+
2588
+ .btn-group-lg > .btn,
2589
+ .btn-group-lg > .btn-group > .btn {
2590
+ padding: var(--dm-space-3) var(--dm-space-6);
2591
+ font-size: var(--dm-font-size-lg);
2592
+ line-height: 1.5;
2593
+ border-radius: 0;
2594
+ }
2595
+
2596
+ .btn-group-lg > .btn:first-child {
2597
+ border-top-left-radius: var(--dm-radius-lg);
2598
+ border-bottom-left-radius: var(--dm-radius-lg);
2599
+ }
2600
+
2601
+ .btn-group-lg > .btn:last-child {
2602
+ border-top-right-radius: var(--dm-radius-lg);
2603
+ border-bottom-right-radius: var(--dm-radius-lg);
2604
+ }
2605
+
2569
2606
  /* Range Slider */
2570
2607
  .form-range {
2571
2608
  appearance: none;
@@ -4003,12 +4040,18 @@ code, pre {
4003
4040
  }
4004
4041
 
4005
4042
  @keyframes dm-ambient-aurora {
4006
- 0%, 100% {
4007
- background-position: 0% 50%;
4008
- }
4009
- 50% {
4010
- background-position: 100% 50%;
4011
- }
4043
+ 0% { background-position: 0% 50%; }
4044
+ 25% { background-position: 50% 0%; }
4045
+ 50% { background-position: 100% 50%; }
4046
+ 75% { background-position: 50% 100%; }
4047
+ 100% { background-position: 0% 50%; }
4048
+ }
4049
+
4050
+ @keyframes dm-ambient-aurora-2 {
4051
+ 0% { background-position: 100% 0%; }
4052
+ 33% { background-position: 0% 50%; }
4053
+ 66% { background-position: 80% 100%; }
4054
+ 100% { background-position: 100% 0%; }
4012
4055
  }
4013
4056
 
4014
4057
  /* Utility Classes - Rotating Gradients */
@@ -4250,20 +4293,42 @@ code, pre {
4250
4293
  .bg-ambient-aurora::before {
4251
4294
  content: '';
4252
4295
  position: absolute;
4253
- top: 0;
4254
- left: 0;
4255
- right: 0;
4256
- bottom: 0;
4296
+ top: -50%;
4297
+ left: -50%;
4298
+ width: 200%;
4299
+ height: 200%;
4300
+ background: linear-gradient(
4301
+ 120deg,
4302
+ rgba(16, 185, 129, 0.0) 0%,
4303
+ rgba(16, 185, 129, 0.5) 20%,
4304
+ rgba(6, 182, 212, 0.6) 40%,
4305
+ rgba(59, 130, 246, 0.4) 60%,
4306
+ rgba(6, 182, 212, 0.3) 80%,
4307
+ rgba(16, 185, 129, 0.0) 100%
4308
+ );
4309
+ background-size: 200% 200%;
4310
+ animation: dm-ambient-aurora 20s ease infinite;
4311
+ will-change: background-position;
4312
+ }
4313
+
4314
+ .bg-ambient-aurora::after {
4315
+ content: '';
4316
+ position: absolute;
4317
+ top: -50%;
4318
+ left: -50%;
4319
+ width: 200%;
4320
+ height: 200%;
4257
4321
  background: linear-gradient(
4258
- 45deg,
4259
- rgba(59, 130, 246, 0.1) 0%,
4260
- rgba(139, 92, 246, 0.08) 25%,
4261
- rgba(236, 72, 153, 0.06) 50%,
4262
- rgba(59, 130, 246, 0.08) 75%,
4263
- rgba(139, 92, 246, 0.1) 100%
4322
+ 240deg,
4323
+ rgba(139, 92, 246, 0.0) 0%,
4324
+ rgba(139, 92, 246, 0.4) 25%,
4325
+ rgba(236, 72, 153, 0.3) 50%,
4326
+ rgba(109, 40, 217, 0.35) 75%,
4327
+ rgba(139, 92, 246, 0.0) 100%
4264
4328
  );
4265
- background-size: 400% 400%;
4266
- animation: dm-ambient-aurora 15s ease infinite;
4329
+ background-size: 200% 200%;
4330
+ animation: dm-ambient-aurora-2 25s ease infinite;
4331
+ mix-blend-mode: screen;
4267
4332
  will-change: background-position;
4268
4333
  }
4269
4334
 
@@ -4707,11 +4772,11 @@ body.dm-cloaked.dm-ready {
4707
4772
  ============================================ */
4708
4773
 
4709
4774
  /*!
4710
- * Domma Grid CSS v0.18.0
4775
+ * Domma Grid CSS v0.18.1
4711
4776
  * Dynamic Object Manipulation & Modeling API
4712
4777
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4713
- * Built: 2026-02-20T13:24:07.433Z
4714
- * Commit: d0731be
4778
+ * Built: 2026-02-25T21:51:19.735Z
4779
+ * Commit: 2eb305a
4715
4780
  */
4716
4781
 
4717
4782
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Syntax Highlighter v0.18.0
2
+ * Domma Syntax Highlighter v0.18.1
3
3
  * Lightweight code syntax highlighting for JavaScript, HTML, and CSS
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-02-20T13:23:49.907Z
6
- * Commit: d0731be
5
+ * Built: 2026-02-25T21:51:02.813Z
6
+ * Commit: 2eb305a
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.18.0
2
+ * Domma Core CSS v0.18.1
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-02-20T13:24:07.425Z
6
- * Commit: d0731be
5
+ * Built: 2026-02-25T21:51:19.726Z
6
+ * Commit: 2eb305a
7
7
  */
8
8
 
9
9
  /**
@@ -2554,6 +2554,43 @@ code, pre {
2554
2554
  z-index: 2;
2555
2555
  }
2556
2556
 
2557
+ /* Button Group Sizes */
2558
+ .btn-group-sm > .btn,
2559
+ .btn-group-sm > .btn-group > .btn {
2560
+ padding: var(--dm-space-1) var(--dm-space-2);
2561
+ font-size: var(--dm-font-size-xs);
2562
+ line-height: 1.5;
2563
+ border-radius: 0;
2564
+ }
2565
+
2566
+ .btn-group-sm > .btn:first-child {
2567
+ border-top-left-radius: var(--dm-radius-sm);
2568
+ border-bottom-left-radius: var(--dm-radius-sm);
2569
+ }
2570
+
2571
+ .btn-group-sm > .btn:last-child {
2572
+ border-top-right-radius: var(--dm-radius-sm);
2573
+ border-bottom-right-radius: var(--dm-radius-sm);
2574
+ }
2575
+
2576
+ .btn-group-lg > .btn,
2577
+ .btn-group-lg > .btn-group > .btn {
2578
+ padding: var(--dm-space-3) var(--dm-space-6);
2579
+ font-size: var(--dm-font-size-lg);
2580
+ line-height: 1.5;
2581
+ border-radius: 0;
2582
+ }
2583
+
2584
+ .btn-group-lg > .btn:first-child {
2585
+ border-top-left-radius: var(--dm-radius-lg);
2586
+ border-bottom-left-radius: var(--dm-radius-lg);
2587
+ }
2588
+
2589
+ .btn-group-lg > .btn:last-child {
2590
+ border-top-right-radius: var(--dm-radius-lg);
2591
+ border-bottom-right-radius: var(--dm-radius-lg);
2592
+ }
2593
+
2557
2594
  /* Range Slider */
2558
2595
  .form-range {
2559
2596
  appearance: none;
@@ -3991,12 +4028,18 @@ code, pre {
3991
4028
  }
3992
4029
 
3993
4030
  @keyframes dm-ambient-aurora {
3994
- 0%, 100% {
3995
- background-position: 0% 50%;
3996
- }
3997
- 50% {
3998
- background-position: 100% 50%;
3999
- }
4031
+ 0% { background-position: 0% 50%; }
4032
+ 25% { background-position: 50% 0%; }
4033
+ 50% { background-position: 100% 50%; }
4034
+ 75% { background-position: 50% 100%; }
4035
+ 100% { background-position: 0% 50%; }
4036
+ }
4037
+
4038
+ @keyframes dm-ambient-aurora-2 {
4039
+ 0% { background-position: 100% 0%; }
4040
+ 33% { background-position: 0% 50%; }
4041
+ 66% { background-position: 80% 100%; }
4042
+ 100% { background-position: 100% 0%; }
4000
4043
  }
4001
4044
 
4002
4045
  /* Utility Classes - Rotating Gradients */
@@ -4238,20 +4281,42 @@ code, pre {
4238
4281
  .bg-ambient-aurora::before {
4239
4282
  content: '';
4240
4283
  position: absolute;
4241
- top: 0;
4242
- left: 0;
4243
- right: 0;
4244
- bottom: 0;
4284
+ top: -50%;
4285
+ left: -50%;
4286
+ width: 200%;
4287
+ height: 200%;
4288
+ background: linear-gradient(
4289
+ 120deg,
4290
+ rgba(16, 185, 129, 0.0) 0%,
4291
+ rgba(16, 185, 129, 0.5) 20%,
4292
+ rgba(6, 182, 212, 0.6) 40%,
4293
+ rgba(59, 130, 246, 0.4) 60%,
4294
+ rgba(6, 182, 212, 0.3) 80%,
4295
+ rgba(16, 185, 129, 0.0) 100%
4296
+ );
4297
+ background-size: 200% 200%;
4298
+ animation: dm-ambient-aurora 20s ease infinite;
4299
+ will-change: background-position;
4300
+ }
4301
+
4302
+ .bg-ambient-aurora::after {
4303
+ content: '';
4304
+ position: absolute;
4305
+ top: -50%;
4306
+ left: -50%;
4307
+ width: 200%;
4308
+ height: 200%;
4245
4309
  background: linear-gradient(
4246
- 45deg,
4247
- rgba(59, 130, 246, 0.1) 0%,
4248
- rgba(139, 92, 246, 0.08) 25%,
4249
- rgba(236, 72, 153, 0.06) 50%,
4250
- rgba(59, 130, 246, 0.08) 75%,
4251
- rgba(139, 92, 246, 0.1) 100%
4310
+ 240deg,
4311
+ rgba(139, 92, 246, 0.0) 0%,
4312
+ rgba(139, 92, 246, 0.4) 25%,
4313
+ rgba(236, 72, 153, 0.3) 50%,
4314
+ rgba(109, 40, 217, 0.35) 75%,
4315
+ rgba(139, 92, 246, 0.0) 100%
4252
4316
  );
4253
- background-size: 400% 400%;
4254
- animation: dm-ambient-aurora 15s ease infinite;
4317
+ background-size: 200% 200%;
4318
+ animation: dm-ambient-aurora-2 25s ease infinite;
4319
+ mix-blend-mode: screen;
4255
4320
  will-change: background-position;
4256
4321
  }
4257
4322