domma-js 0.10.1 → 0.11.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.10.1",
3
+ "version": "0.11.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",
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Complete CSS Bundle v0.10.1
2
+ * Domma Complete CSS Bundle v0.11.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-23T17:27:40.953Z
5
+ * Built: 2026-01-26T14:28:35.306Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.10.1
14
+ * Domma Core CSS v0.11.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-01-23T17:27:40.633Z
18
- * Commit: bab2e88
17
+ * Built: 2026-01-26T14:28:34.962Z
18
+ * Commit: 0b4c31e
19
19
  */
20
20
 
21
21
  /**
@@ -4016,11 +4016,11 @@ body.dm-cloaked.dm-ready {
4016
4016
  ============================================ */
4017
4017
 
4018
4018
  /*!
4019
- * Domma Grid CSS v0.10.1
4019
+ * Domma Grid CSS v0.11.0
4020
4020
  * Dynamic Object Manipulation & Modeling API
4021
4021
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4022
- * Built: 2026-01-23T17:27:40.639Z
4023
- * Commit: bab2e88
4022
+ * Built: 2026-01-26T14:28:34.970Z
4023
+ * Commit: 0b4c31e
4024
4024
  */
4025
4025
 
4026
4026
  /**
@@ -4617,11 +4617,11 @@ body.dm-cloaked.dm-ready {
4617
4617
  ============================================ */
4618
4618
 
4619
4619
  /*!
4620
- * Domma Elements CSS v0.10.1
4620
+ * Domma Elements CSS v0.11.0
4621
4621
  * Dynamic Object Manipulation & Modeling API
4622
4622
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4623
- * Built: 2026-01-23T17:27:40.647Z
4624
- * Commit: bab2e88
4623
+ * Built: 2026-01-26T14:28:34.980Z
4624
+ * Commit: 0b4c31e
4625
4625
  */
4626
4626
 
4627
4627
  /**
@@ -5814,6 +5814,20 @@ textarea:not([class])::placeholder {
5814
5814
  color: var(--dm-white);
5815
5815
  }
5816
5816
 
5817
+ /* Pulse animation for new content indicators */
5818
+ .badge-pulse {
5819
+ animation: badge-pulse 2s ease-in-out infinite;
5820
+ }
5821
+
5822
+ @keyframes badge-pulse {
5823
+ 0%, 100% {
5824
+ box-shadow: 0 0 0 0 rgba(var(--dm-info-rgb), 0.7);
5825
+ }
5826
+ 50% {
5827
+ box-shadow: 0 0 0 8px rgba(var(--dm-info-rgb), 0);
5828
+ }
5829
+ }
5830
+
5817
5831
 
5818
5832
  /* ============================================
5819
5833
  PILL
@@ -10337,49 +10351,8 @@ code {
10337
10351
  /* Default styles already applied above */
10338
10352
  }
10339
10353
 
10340
- /* Centered Layout - Mobile default: left-aligned */
10341
- .dm-timeline-centered::before {
10342
- content: '';
10343
- position: absolute;
10344
- left: 30px; /* Mobile default: left-aligned line */
10345
- top: 0;
10346
- bottom: 0;
10347
- width: 2px;
10348
- background: var(--dm-gray-300);
10349
- transform: none;
10350
- }
10351
-
10352
- .dm-timeline-centered .dm-timeline-item {
10353
- width: 100%; /* Mobile default: full width */
10354
- left: 0;
10355
- padding-left: var(--dm-space-16); /* Mobile: space for left line */
10356
- padding-right: 0;
10357
- justify-content: flex-start;
10358
- }
10359
-
10360
- .dm-timeline-centered .dm-timeline-item:nth-child(even) {
10361
- width: 100%; /* Mobile: same as odd items */
10362
- left: 0;
10363
- padding-left: var(--dm-space-16);
10364
- padding-right: 0;
10365
- justify-content: flex-start;
10366
- }
10367
-
10368
- .dm-timeline-centered .dm-timeline-year {
10369
- order: 0; /* Mobile: year badge on left */
10370
- margin-right: var(--dm-space-6);
10371
- margin-left: 0;
10372
- position: absolute;
10373
- left: 0;
10374
- }
10375
-
10376
- .dm-timeline-centered .dm-timeline-item:nth-child(even) .dm-timeline-year {
10377
- order: 0; /* Mobile: same as odd items */
10378
- margin-right: var(--dm-space-6);
10379
- margin-left: 0;
10380
- position: absolute;
10381
- left: 0;
10382
- }
10354
+ /* Centered Layout - DEPRECATED: Use dm-progression-centered instead */
10355
+ /* Old timeline-centered styles removed - progression uses CSS Grid */
10383
10356
 
10384
10357
  /* Horizontal Layout */
10385
10358
  .dm-timeline-horizontal {
@@ -10427,52 +10400,7 @@ code {
10427
10400
  }
10428
10401
 
10429
10402
  /* Desktop (≥769px) - Timeline/Progression centered enhancements */
10430
- @media (min-width: 769px) {
10431
- .dm-timeline-centered::before {
10432
- left: 50%; /* Center line on desktop */
10433
- transform: translateX(-50%);
10434
- }
10435
-
10436
- .dm-timeline-centered .dm-timeline-item {
10437
- width: 50%; /* Half width for alternating layout */
10438
- left: 0;
10439
- padding-left: 0;
10440
- padding-right: var(--dm-space-8);
10441
- justify-content: flex-end;
10442
- }
10443
-
10444
- .dm-timeline-centered .dm-timeline-item:nth-child(even) {
10445
- left: 50%;
10446
- padding-left: var(--dm-space-8);
10447
- padding-right: 0;
10448
- justify-content: flex-start;
10449
- }
10450
-
10451
- .dm-timeline-centered .dm-timeline-year {
10452
- order: 1;
10453
- margin-right: 0;
10454
- margin-left: var(--dm-space-6);
10455
- position: relative;
10456
- left: auto;
10457
- width: 80px;
10458
- }
10459
-
10460
- .dm-timeline-horizontal {
10461
- flex-direction: column;
10462
- }
10463
-
10464
- .dm-timeline-horizontal .dm-timeline-item {
10465
- flex-direction: row;
10466
- min-width: auto;
10467
- margin-bottom: var(--dm-space-6);
10468
- }
10469
-
10470
- .dm-timeline-horizontal .dm-timeline-year {
10471
- margin-bottom: 0;
10472
- margin-right: var(--dm-space-4);
10473
- width: 100px;
10474
- }
10475
- }
10403
+ /* DEPRECATED: Old timeline-centered desktop styles removed - progression uses CSS Grid */
10476
10404
 
10477
10405
  /* Dark Theme Support */
10478
10406
  [data-theme="dark"] .dm-timeline-content {
@@ -10570,18 +10498,73 @@ code {
10570
10498
  .dm-progression-centered {
10571
10499
  max-width: 1200px;
10572
10500
  margin: 0 auto;
10501
+ position: relative;
10573
10502
  }
10574
10503
 
10504
+ /* Central divider line */
10505
+ .dm-progression-centered::before {
10506
+ content: '';
10507
+ position: absolute;
10508
+ left: 30px; /* Mobile default */
10509
+ top: 0;
10510
+ bottom: 0;
10511
+ width: 2px;
10512
+ background: var(--dm-gray-300);
10513
+ transform: none;
10514
+ z-index: 0;
10515
+ }
10516
+
10517
+ @media (min-width: 769px) {
10518
+ .dm-progression-centered::before {
10519
+ left: 50%; /* Center line on desktop */
10520
+ transform: translateX(-50%);
10521
+ }
10522
+ }
10523
+
10524
+ /* Centered grid: simple 5-column layout */
10575
10525
  .dm-progression-centered .dm-progression-item {
10526
+ display: grid;
10527
+ /* [left content] [left marker] [center gap] [right marker] [right content] */
10528
+ grid-template-columns: 1fr 120px 20px 120px 1fr;
10529
+ column-gap: var(--dm-space-4, 1rem);
10530
+ align-items: start;
10576
10531
  width: 100%;
10532
+ position: relative;
10533
+ z-index: 1;
10577
10534
  }
10578
10535
 
10579
- .dm-progression-centered .dm-progression-item:nth-child(odd) {
10580
- flex-direction: row;
10536
+ /* Odd items: content in col 1, marker in col 2 */
10537
+ .dm-progression-centered .dm-progression-item:nth-child(odd) .dm-progression-content {
10538
+ grid-column: 1;
10539
+ grid-row: 1; /* Force same row as marker */
10540
+ justify-self: end;
10541
+ align-self: start;
10542
+ margin-right: 0; /* Gap handled by column-gap */
10581
10543
  }
10582
10544
 
10583
- .dm-progression-centered .dm-progression-item:nth-child(even) {
10584
- flex-direction: row-reverse;
10545
+ .dm-progression-centered .dm-progression-item:nth-child(odd) .dm-progression-marker {
10546
+ grid-column: 2;
10547
+ grid-row: 1; /* Force same row as content */
10548
+ justify-self: center;
10549
+ align-self: start;
10550
+ margin-right: 0;
10551
+ }
10552
+
10553
+ /* Even items: marker in col 4, content in col 5 */
10554
+ .dm-progression-centered .dm-progression-item:nth-child(even) .dm-progression-marker {
10555
+ grid-column: 4;
10556
+ grid-row: 1; /* Force same row as content */
10557
+ justify-self: center;
10558
+ align-self: start;
10559
+ margin-right: 0;
10560
+ }
10561
+
10562
+ .dm-progression-centered .dm-progression-item:nth-child(even) .dm-progression-content {
10563
+ grid-column: 5;
10564
+ grid-row: 1; /* Force same row as marker */
10565
+ justify-self: start;
10566
+ align-self: start;
10567
+ margin-left: 0; /* Gap handled by column-gap */
10585
10568
  }
10586
10569
 
10587
10570
  /* Horizontal layout */
@@ -10863,10 +10846,6 @@ code {
10863
10846
 
10864
10847
  /* Desktop (≥769px) - Progression enhancements */
10865
10848
  @media (min-width: 769px) {
10866
- .dm-progression-centered .dm-progression-item:nth-child(even) {
10867
- flex-direction: row-reverse; /* Alternate direction on desktop */
10868
- }
10869
-
10870
10849
  .dm-progression-horizontal {
10871
10850
  flex-direction: row; /* Horizontal on desktop */
10872
10851
  }
@@ -11187,11 +11166,11 @@ code {
11187
11166
  ============================================ */
11188
11167
 
11189
11168
  /*!
11190
- * Domma Themes v0.10.1
11169
+ * Domma Themes v0.11.0
11191
11170
  * Dynamic Object Manipulation & Modeling API
11192
11171
  * (c) 2026 Darryl Waterhouse & DCBW-IT
11193
- * Built: 2026-01-23T17:27:40.609Z
11194
- * Commit: bab2e88
11172
+ * Built: 2026-01-26T14:28:34.938Z
11173
+ * Commit: 0b4c31e
11195
11174
  */
11196
11175
 
11197
11176
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Data-Focused CSS Bundle v0.10.1
2
+ * Domma Data-Focused CSS Bundle v0.11.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-01-23T17:27:40.944Z
5
+ * Built: 2026-01-26T14:28:35.298Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -230,11 +230,11 @@
230
230
  ============================================ */
231
231
 
232
232
  /*!
233
- * Domma Core CSS v0.10.1
233
+ * Domma Core CSS v0.11.0
234
234
  * Dynamic Object Manipulation & Modeling API
235
235
  * (c) 2026 Darryl Waterhouse & DCBW-IT
236
- * Built: 2026-01-23T17:27:40.633Z
237
- * Commit: bab2e88
236
+ * Built: 2026-01-26T14:28:34.962Z
237
+ * Commit: 0b4c31e
238
238
  */
239
239
 
240
240
  /**
@@ -4235,11 +4235,11 @@ body.dm-cloaked.dm-ready {
4235
4235
  ============================================ */
4236
4236
 
4237
4237
  /*!
4238
- * Domma Grid CSS v0.10.1
4238
+ * Domma Grid CSS v0.11.0
4239
4239
  * Dynamic Object Manipulation & Modeling API
4240
4240
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4241
- * Built: 2026-01-23T17:27:40.639Z
4242
- * Commit: bab2e88
4241
+ * Built: 2026-01-26T14:28:34.970Z
4242
+ * Commit: 0b4c31e
4243
4243
  */
4244
4244
 
4245
4245
  /**
@@ -4836,11 +4836,11 @@ body.dm-cloaked.dm-ready {
4836
4836
  ============================================ */
4837
4837
 
4838
4838
  /*!
4839
- * Domma Elements CSS v0.10.1
4839
+ * Domma Elements CSS v0.11.0
4840
4840
  * Dynamic Object Manipulation & Modeling API
4841
4841
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4842
- * Built: 2026-01-23T17:27:40.647Z
4843
- * Commit: bab2e88
4842
+ * Built: 2026-01-26T14:28:34.980Z
4843
+ * Commit: 0b4c31e
4844
4844
  */
4845
4845
 
4846
4846
  /**
@@ -6033,6 +6033,20 @@ textarea:not([class])::placeholder {
6033
6033
  color: var(--dm-white);
6034
6034
  }
6035
6035
 
6036
+ /* Pulse animation for new content indicators */
6037
+ .badge-pulse {
6038
+ animation: badge-pulse 2s ease-in-out infinite;
6039
+ }
6040
+
6041
+ @keyframes badge-pulse {
6042
+ 0%, 100% {
6043
+ box-shadow: 0 0 0 0 rgba(var(--dm-info-rgb), 0.7);
6044
+ }
6045
+ 50% {
6046
+ box-shadow: 0 0 0 8px rgba(var(--dm-info-rgb), 0);
6047
+ }
6048
+ }
6049
+
6036
6050
 
6037
6051
  /* ============================================
6038
6052
  PILL
@@ -10556,49 +10570,8 @@ code {
10556
10570
  /* Default styles already applied above */
10557
10571
  }
10558
10572
 
10559
- /* Centered Layout - Mobile default: left-aligned */
10560
- .dm-timeline-centered::before {
10561
- content: '';
10562
- position: absolute;
10563
- left: 30px; /* Mobile default: left-aligned line */
10564
- top: 0;
10565
- bottom: 0;
10566
- width: 2px;
10567
- background: var(--dm-gray-300);
10568
- transform: none;
10569
- }
10570
-
10571
- .dm-timeline-centered .dm-timeline-item {
10572
- width: 100%; /* Mobile default: full width */
10573
- left: 0;
10574
- padding-left: var(--dm-space-16); /* Mobile: space for left line */
10575
- padding-right: 0;
10576
- justify-content: flex-start;
10577
- }
10578
-
10579
- .dm-timeline-centered .dm-timeline-item:nth-child(even) {
10580
- width: 100%; /* Mobile: same as odd items */
10581
- left: 0;
10582
- padding-left: var(--dm-space-16);
10583
- padding-right: 0;
10584
- justify-content: flex-start;
10585
- }
10586
-
10587
- .dm-timeline-centered .dm-timeline-year {
10588
- order: 0; /* Mobile: year badge on left */
10589
- margin-right: var(--dm-space-6);
10590
- margin-left: 0;
10591
- position: absolute;
10592
- left: 0;
10593
- }
10594
-
10595
- .dm-timeline-centered .dm-timeline-item:nth-child(even) .dm-timeline-year {
10596
- order: 0; /* Mobile: same as odd items */
10597
- margin-right: var(--dm-space-6);
10598
- margin-left: 0;
10599
- position: absolute;
10600
- left: 0;
10601
- }
10573
+ /* Centered Layout - DEPRECATED: Use dm-progression-centered instead */
10574
+ /* Old timeline-centered styles removed - progression uses CSS Grid */
10602
10575
 
10603
10576
  /* Horizontal Layout */
10604
10577
  .dm-timeline-horizontal {
@@ -10646,52 +10619,7 @@ code {
10646
10619
  }
10647
10620
 
10648
10621
  /* Desktop (≥769px) - Timeline/Progression centered enhancements */
10649
- @media (min-width: 769px) {
10650
- .dm-timeline-centered::before {
10651
- left: 50%; /* Center line on desktop */
10652
- transform: translateX(-50%);
10653
- }
10654
-
10655
- .dm-timeline-centered .dm-timeline-item {
10656
- width: 50%; /* Half width for alternating layout */
10657
- left: 0;
10658
- padding-left: 0;
10659
- padding-right: var(--dm-space-8);
10660
- justify-content: flex-end;
10661
- }
10662
-
10663
- .dm-timeline-centered .dm-timeline-item:nth-child(even) {
10664
- left: 50%;
10665
- padding-left: var(--dm-space-8);
10666
- padding-right: 0;
10667
- justify-content: flex-start;
10668
- }
10669
-
10670
- .dm-timeline-centered .dm-timeline-year {
10671
- order: 1;
10672
- margin-right: 0;
10673
- margin-left: var(--dm-space-6);
10674
- position: relative;
10675
- left: auto;
10676
- width: 80px;
10677
- }
10678
-
10679
- .dm-timeline-horizontal {
10680
- flex-direction: column;
10681
- }
10682
-
10683
- .dm-timeline-horizontal .dm-timeline-item {
10684
- flex-direction: row;
10685
- min-width: auto;
10686
- margin-bottom: var(--dm-space-6);
10687
- }
10688
-
10689
- .dm-timeline-horizontal .dm-timeline-year {
10690
- margin-bottom: 0;
10691
- margin-right: var(--dm-space-4);
10692
- width: 100px;
10693
- }
10694
- }
10622
+ /* DEPRECATED: Old timeline-centered desktop styles removed - progression uses CSS Grid */
10695
10623
 
10696
10624
  /* Dark Theme Support */
10697
10625
  [data-theme="dark"] .dm-timeline-content {
@@ -10789,18 +10717,73 @@ code {
10789
10717
  .dm-progression-centered {
10790
10718
  max-width: 1200px;
10791
10719
  margin: 0 auto;
10720
+ position: relative;
10792
10721
  }
10793
10722
 
10723
+ /* Central divider line */
10724
+ .dm-progression-centered::before {
10725
+ content: '';
10726
+ position: absolute;
10727
+ left: 30px; /* Mobile default */
10728
+ top: 0;
10729
+ bottom: 0;
10730
+ width: 2px;
10731
+ background: var(--dm-gray-300);
10732
+ transform: none;
10733
+ z-index: 0;
10734
+ }
10735
+
10736
+ @media (min-width: 769px) {
10737
+ .dm-progression-centered::before {
10738
+ left: 50%; /* Center line on desktop */
10739
+ transform: translateX(-50%);
10740
+ }
10741
+ }
10742
+
10743
+ /* Centered grid: simple 5-column layout */
10794
10744
  .dm-progression-centered .dm-progression-item {
10745
+ display: grid;
10746
+ /* [left content] [left marker] [center gap] [right marker] [right content] */
10747
+ grid-template-columns: 1fr 120px 20px 120px 1fr;
10748
+ column-gap: var(--dm-space-4, 1rem);
10749
+ align-items: start;
10795
10750
  width: 100%;
10751
+ position: relative;
10752
+ z-index: 1;
10796
10753
  }
10797
10754
 
10798
- .dm-progression-centered .dm-progression-item:nth-child(odd) {
10799
- flex-direction: row;
10755
+ /* Odd items: content in col 1, marker in col 2 */
10756
+ .dm-progression-centered .dm-progression-item:nth-child(odd) .dm-progression-content {
10757
+ grid-column: 1;
10758
+ grid-row: 1; /* Force same row as marker */
10759
+ justify-self: end;
10760
+ align-self: start;
10761
+ margin-right: 0; /* Gap handled by column-gap */
10800
10762
  }
10801
10763
 
10802
- .dm-progression-centered .dm-progression-item:nth-child(even) {
10803
- flex-direction: row-reverse;
10764
+ .dm-progression-centered .dm-progression-item:nth-child(odd) .dm-progression-marker {
10765
+ grid-column: 2;
10766
+ grid-row: 1; /* Force same row as content */
10767
+ justify-self: center;
10768
+ align-self: start;
10769
+ margin-right: 0;
10770
+ }
10771
+
10772
+ /* Even items: marker in col 4, content in col 5 */
10773
+ .dm-progression-centered .dm-progression-item:nth-child(even) .dm-progression-marker {
10774
+ grid-column: 4;
10775
+ grid-row: 1; /* Force same row as content */
10776
+ justify-self: center;
10777
+ align-self: start;
10778
+ margin-right: 0;
10779
+ }
10780
+
10781
+ .dm-progression-centered .dm-progression-item:nth-child(even) .dm-progression-content {
10782
+ grid-column: 5;
10783
+ grid-row: 1; /* Force same row as marker */
10784
+ justify-self: start;
10785
+ align-self: start;
10786
+ margin-left: 0; /* Gap handled by column-gap */
10804
10787
  }
10805
10788
 
10806
10789
  /* Horizontal layout */
@@ -11082,10 +11065,6 @@ code {
11082
11065
 
11083
11066
  /* Desktop (≥769px) - Progression enhancements */
11084
11067
  @media (min-width: 769px) {
11085
- .dm-progression-centered .dm-progression-item:nth-child(even) {
11086
- flex-direction: row-reverse; /* Alternate direction on desktop */
11087
- }
11088
-
11089
11068
  .dm-progression-horizontal {
11090
11069
  flex-direction: row; /* Horizontal on desktop */
11091
11070
  }
@@ -11406,11 +11385,11 @@ code {
11406
11385
  ============================================ */
11407
11386
 
11408
11387
  /*!
11409
- * Domma Themes v0.10.1
11388
+ * Domma Themes v0.11.0
11410
11389
  * Dynamic Object Manipulation & Modeling API
11411
11390
  * (c) 2026 Darryl Waterhouse & DCBW-IT
11412
- * Built: 2026-01-23T17:27:40.609Z
11413
- * Commit: bab2e88
11391
+ * Built: 2026-01-26T14:28:34.938Z
11392
+ * Commit: 0b4c31e
11414
11393
  */
11415
11394
 
11416
11395
  /**