domma-js 0.44.9 → 0.45.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.44.9",
3
+ "version": "0.45.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.44.9
2
+ * Domma Complete CSS Bundle v0.45.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T10:33:52.180Z
5
+ * Built: 2026-09-27T17:59:46.994Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.9
14
+ * Domma Core CSS v0.45.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-27T10:33:51.996Z
18
- * Commit: 176a7e3
17
+ * Built: 2026-09-27T17:59:46.829Z
18
+ * Commit: 224c5a0
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.9
4838
+ * Domma Grid CSS v0.45.0
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-27T10:33:52.000Z
4842
- * Commit: 176a7e3
4841
+ * Built: 2026-09-27T17:59:46.833Z
4842
+ * Commit: 224c5a0
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.9
5463
+ * Domma Elements CSS v0.45.0
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-27T10:33:52.005Z
5467
- * Commit: 176a7e3
5466
+ * Built: 2026-09-27T17:59:46.838Z
5467
+ * Commit: 224c5a0
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -14011,6 +14011,105 @@ code {
14011
14011
  cursor: not-allowed;
14012
14012
  }
14013
14013
 
14014
+ /* ============================================
14015
+ Sortable - drag to reorder (E.sortable)
14016
+ ============================================ */
14017
+
14018
+ .dm-sortable-handle {
14019
+ cursor: grab;
14020
+ touch-action: none;
14021
+ }
14022
+
14023
+ .dm-sortable-dragging,
14024
+ .dm-sortable-dragging * {
14025
+ cursor: grabbing !important;
14026
+ user-select: none !important;
14027
+ -webkit-user-select: none !important;
14028
+ }
14029
+
14030
+ /* The copy that follows the pointer. It lifts in (scale + shadow) and settles
14031
+ back down as it lands on the item's new place. */
14032
+ .dm-sortable-ghost {
14033
+ z-index: 10040;
14034
+ opacity: 0.96;
14035
+ background: var(--dm-sortable-ghost-bg, var(--dm-surface, var(--dm-card-bg)));
14036
+ color: var(--dm-text);
14037
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14038
+ box-shadow: 0 0 0 0 transparent;
14039
+ scale: 1;
14040
+ will-change: transform;
14041
+ transition:
14042
+ scale 160ms cubic-bezier(0.2, 0.8, 0.2, 1),
14043
+ box-shadow 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
14044
+ }
14045
+
14046
+ .dm-sortable-ghost-lifted {
14047
+ scale: var(--dm-sortable-lift, 1.02);
14048
+ box-shadow: var(--dm-sortable-shadow, var(--dm-shadow-lg, 0 12px 28px rgba(0, 0, 0, 0.22)));
14049
+ }
14050
+
14051
+ /* The item's own slot while it is being dragged. */
14052
+ .dm-sortable-placeholder {
14053
+ opacity: 0.35;
14054
+ outline: 2px dashed color-mix(in srgb, var(--dm-primary) 55%, transparent);
14055
+ outline-offset: -2px;
14056
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14057
+ transition: opacity 160ms ease;
14058
+ }
14059
+
14060
+ /* While the ghost flies home the slot is empty, so the two never double up. */
14061
+ .dm-sortable-placeholder.dm-sortable-landing {
14062
+ opacity: 0;
14063
+ outline-color: transparent;
14064
+ }
14065
+
14066
+ /* Indicator mode: a rule at the edge the item would drop beside, or an outline
14067
+ round the item it would drop into. It glides between positions. */
14068
+ .dm-sortable-indicator {
14069
+ position: fixed;
14070
+ z-index: 10030;
14071
+ pointer-events: none;
14072
+ opacity: 0;
14073
+ background: var(--dm-sortable-accent, var(--dm-primary));
14074
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14075
+ transition:
14076
+ left 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14077
+ top 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14078
+ width 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14079
+ height 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14080
+ opacity 120ms ease,
14081
+ background-color 120ms ease;
14082
+ }
14083
+
14084
+ .dm-sortable-indicator.is-visible {
14085
+ opacity: 1;
14086
+ }
14087
+
14088
+ .dm-sortable-indicator.is-into {
14089
+ background: color-mix(in srgb, var(--dm-sortable-accent, var(--dm-primary)) 12%, transparent);
14090
+ box-shadow: inset 0 0 0 2px var(--dm-sortable-accent, var(--dm-primary));
14091
+ }
14092
+
14093
+ .dm-sortable-live {
14094
+ position: absolute;
14095
+ width: 1px;
14096
+ height: 1px;
14097
+ margin: -1px;
14098
+ padding: 0;
14099
+ overflow: hidden;
14100
+ clip: rect(0 0 0 0);
14101
+ white-space: nowrap;
14102
+ border: 0;
14103
+ }
14104
+
14105
+ @media (prefers-reduced-motion: reduce) {
14106
+ .dm-sortable-ghost,
14107
+ .dm-sortable-indicator,
14108
+ .dm-sortable-placeholder {
14109
+ transition: none;
14110
+ }
14111
+ }
14112
+
14014
14113
 
14015
14114
  /* ============================================
14016
14115
  THEME SYSTEM
@@ -14018,11 +14117,11 @@ code {
14018
14117
  ============================================ */
14019
14118
 
14020
14119
  /*!
14021
- * Domma Themes v0.44.9
14120
+ * Domma Themes v0.45.0
14022
14121
  * Dynamic Object Manipulation & Modeling API
14023
14122
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14024
- * Built: 2026-09-27T10:33:51.981Z
14025
- * Commit: 176a7e3
14123
+ * Built: 2026-09-27T17:59:46.816Z
14124
+ * Commit: 224c5a0
14026
14125
  */
14027
14126
 
14028
14127
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Data-Focused CSS Bundle v0.44.9
2
+ * Domma Data-Focused CSS Bundle v0.45.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T10:33:52.176Z
5
+ * Built: 2026-09-27T17:59:46.991Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.9
14
+ * Domma Core CSS v0.45.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-27T10:33:51.996Z
18
- * Commit: 176a7e3
17
+ * Built: 2026-09-27T17:59:46.829Z
18
+ * Commit: 224c5a0
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.9
4838
+ * Domma Grid CSS v0.45.0
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-27T10:33:52.000Z
4842
- * Commit: 176a7e3
4841
+ * Built: 2026-09-27T17:59:46.833Z
4842
+ * Commit: 224c5a0
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.9
5463
+ * Domma Elements CSS v0.45.0
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-27T10:33:52.005Z
5467
- * Commit: 176a7e3
5466
+ * Built: 2026-09-27T17:59:46.838Z
5467
+ * Commit: 224c5a0
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -14011,6 +14011,105 @@ code {
14011
14011
  cursor: not-allowed;
14012
14012
  }
14013
14013
 
14014
+ /* ============================================
14015
+ Sortable - drag to reorder (E.sortable)
14016
+ ============================================ */
14017
+
14018
+ .dm-sortable-handle {
14019
+ cursor: grab;
14020
+ touch-action: none;
14021
+ }
14022
+
14023
+ .dm-sortable-dragging,
14024
+ .dm-sortable-dragging * {
14025
+ cursor: grabbing !important;
14026
+ user-select: none !important;
14027
+ -webkit-user-select: none !important;
14028
+ }
14029
+
14030
+ /* The copy that follows the pointer. It lifts in (scale + shadow) and settles
14031
+ back down as it lands on the item's new place. */
14032
+ .dm-sortable-ghost {
14033
+ z-index: 10040;
14034
+ opacity: 0.96;
14035
+ background: var(--dm-sortable-ghost-bg, var(--dm-surface, var(--dm-card-bg)));
14036
+ color: var(--dm-text);
14037
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14038
+ box-shadow: 0 0 0 0 transparent;
14039
+ scale: 1;
14040
+ will-change: transform;
14041
+ transition:
14042
+ scale 160ms cubic-bezier(0.2, 0.8, 0.2, 1),
14043
+ box-shadow 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
14044
+ }
14045
+
14046
+ .dm-sortable-ghost-lifted {
14047
+ scale: var(--dm-sortable-lift, 1.02);
14048
+ box-shadow: var(--dm-sortable-shadow, var(--dm-shadow-lg, 0 12px 28px rgba(0, 0, 0, 0.22)));
14049
+ }
14050
+
14051
+ /* The item's own slot while it is being dragged. */
14052
+ .dm-sortable-placeholder {
14053
+ opacity: 0.35;
14054
+ outline: 2px dashed color-mix(in srgb, var(--dm-primary) 55%, transparent);
14055
+ outline-offset: -2px;
14056
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14057
+ transition: opacity 160ms ease;
14058
+ }
14059
+
14060
+ /* While the ghost flies home the slot is empty, so the two never double up. */
14061
+ .dm-sortable-placeholder.dm-sortable-landing {
14062
+ opacity: 0;
14063
+ outline-color: transparent;
14064
+ }
14065
+
14066
+ /* Indicator mode: a rule at the edge the item would drop beside, or an outline
14067
+ round the item it would drop into. It glides between positions. */
14068
+ .dm-sortable-indicator {
14069
+ position: fixed;
14070
+ z-index: 10030;
14071
+ pointer-events: none;
14072
+ opacity: 0;
14073
+ background: var(--dm-sortable-accent, var(--dm-primary));
14074
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14075
+ transition:
14076
+ left 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14077
+ top 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14078
+ width 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14079
+ height 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14080
+ opacity 120ms ease,
14081
+ background-color 120ms ease;
14082
+ }
14083
+
14084
+ .dm-sortable-indicator.is-visible {
14085
+ opacity: 1;
14086
+ }
14087
+
14088
+ .dm-sortable-indicator.is-into {
14089
+ background: color-mix(in srgb, var(--dm-sortable-accent, var(--dm-primary)) 12%, transparent);
14090
+ box-shadow: inset 0 0 0 2px var(--dm-sortable-accent, var(--dm-primary));
14091
+ }
14092
+
14093
+ .dm-sortable-live {
14094
+ position: absolute;
14095
+ width: 1px;
14096
+ height: 1px;
14097
+ margin: -1px;
14098
+ padding: 0;
14099
+ overflow: hidden;
14100
+ clip: rect(0 0 0 0);
14101
+ white-space: nowrap;
14102
+ border: 0;
14103
+ }
14104
+
14105
+ @media (prefers-reduced-motion: reduce) {
14106
+ .dm-sortable-ghost,
14107
+ .dm-sortable-indicator,
14108
+ .dm-sortable-placeholder {
14109
+ transition: none;
14110
+ }
14111
+ }
14112
+
14014
14113
 
14015
14114
  /* ============================================
14016
14115
  THEME SYSTEM
@@ -14018,11 +14117,11 @@ code {
14018
14117
  ============================================ */
14019
14118
 
14020
14119
  /*!
14021
- * Domma Themes v0.44.9
14120
+ * Domma Themes v0.45.0
14022
14121
  * Dynamic Object Manipulation & Modeling API
14023
14122
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14024
- * Built: 2026-09-27T10:33:51.981Z
14025
- * Commit: 176a7e3
14123
+ * Built: 2026-09-27T17:59:46.816Z
14124
+ * Commit: 224c5a0
14026
14125
  */
14027
14126
 
14028
14127
  /**
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Domma Essentials CSS Bundle v0.44.9
2
+ * Domma Essentials CSS Bundle v0.45.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-27T10:33:52.168Z
5
+ * Built: 2026-09-27T17:59:46.982Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.44.9
14
+ * Domma Core CSS v0.45.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-09-27T10:33:51.996Z
18
- * Commit: 176a7e3
17
+ * Built: 2026-09-27T17:59:46.829Z
18
+ * Commit: 224c5a0
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.9
4838
+ * Domma Grid CSS v0.45.0
4839
4839
  * Dynamic Object Manipulation & Modeling API
4840
4840
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4841
- * Built: 2026-09-27T10:33:52.000Z
4842
- * Commit: 176a7e3
4841
+ * Built: 2026-09-27T17:59:46.833Z
4842
+ * Commit: 224c5a0
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.9
5463
+ * Domma Elements CSS v0.45.0
5464
5464
  * Dynamic Object Manipulation & Modeling API
5465
5465
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5466
- * Built: 2026-09-27T10:33:52.005Z
5467
- * Commit: 176a7e3
5466
+ * Built: 2026-09-27T17:59:46.838Z
5467
+ * Commit: 224c5a0
5468
5468
  */
5469
5469
 
5470
5470
  /**
@@ -14011,6 +14011,105 @@ code {
14011
14011
  cursor: not-allowed;
14012
14012
  }
14013
14013
 
14014
+ /* ============================================
14015
+ Sortable - drag to reorder (E.sortable)
14016
+ ============================================ */
14017
+
14018
+ .dm-sortable-handle {
14019
+ cursor: grab;
14020
+ touch-action: none;
14021
+ }
14022
+
14023
+ .dm-sortable-dragging,
14024
+ .dm-sortable-dragging * {
14025
+ cursor: grabbing !important;
14026
+ user-select: none !important;
14027
+ -webkit-user-select: none !important;
14028
+ }
14029
+
14030
+ /* The copy that follows the pointer. It lifts in (scale + shadow) and settles
14031
+ back down as it lands on the item's new place. */
14032
+ .dm-sortable-ghost {
14033
+ z-index: 10040;
14034
+ opacity: 0.96;
14035
+ background: var(--dm-sortable-ghost-bg, var(--dm-surface, var(--dm-card-bg)));
14036
+ color: var(--dm-text);
14037
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14038
+ box-shadow: 0 0 0 0 transparent;
14039
+ scale: 1;
14040
+ will-change: transform;
14041
+ transition:
14042
+ scale 160ms cubic-bezier(0.2, 0.8, 0.2, 1),
14043
+ box-shadow 160ms cubic-bezier(0.2, 0.8, 0.2, 1);
14044
+ }
14045
+
14046
+ .dm-sortable-ghost-lifted {
14047
+ scale: var(--dm-sortable-lift, 1.02);
14048
+ box-shadow: var(--dm-sortable-shadow, var(--dm-shadow-lg, 0 12px 28px rgba(0, 0, 0, 0.22)));
14049
+ }
14050
+
14051
+ /* The item's own slot while it is being dragged. */
14052
+ .dm-sortable-placeholder {
14053
+ opacity: 0.35;
14054
+ outline: 2px dashed color-mix(in srgb, var(--dm-primary) 55%, transparent);
14055
+ outline-offset: -2px;
14056
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14057
+ transition: opacity 160ms ease;
14058
+ }
14059
+
14060
+ /* While the ghost flies home the slot is empty, so the two never double up. */
14061
+ .dm-sortable-placeholder.dm-sortable-landing {
14062
+ opacity: 0;
14063
+ outline-color: transparent;
14064
+ }
14065
+
14066
+ /* Indicator mode: a rule at the edge the item would drop beside, or an outline
14067
+ round the item it would drop into. It glides between positions. */
14068
+ .dm-sortable-indicator {
14069
+ position: fixed;
14070
+ z-index: 10030;
14071
+ pointer-events: none;
14072
+ opacity: 0;
14073
+ background: var(--dm-sortable-accent, var(--dm-primary));
14074
+ border-radius: var(--dm-sortable-radius, var(--dm-radius-sm));
14075
+ transition:
14076
+ left 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14077
+ top 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14078
+ width 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14079
+ height 120ms cubic-bezier(0.2, 0.8, 0.2, 1),
14080
+ opacity 120ms ease,
14081
+ background-color 120ms ease;
14082
+ }
14083
+
14084
+ .dm-sortable-indicator.is-visible {
14085
+ opacity: 1;
14086
+ }
14087
+
14088
+ .dm-sortable-indicator.is-into {
14089
+ background: color-mix(in srgb, var(--dm-sortable-accent, var(--dm-primary)) 12%, transparent);
14090
+ box-shadow: inset 0 0 0 2px var(--dm-sortable-accent, var(--dm-primary));
14091
+ }
14092
+
14093
+ .dm-sortable-live {
14094
+ position: absolute;
14095
+ width: 1px;
14096
+ height: 1px;
14097
+ margin: -1px;
14098
+ padding: 0;
14099
+ overflow: hidden;
14100
+ clip: rect(0 0 0 0);
14101
+ white-space: nowrap;
14102
+ border: 0;
14103
+ }
14104
+
14105
+ @media (prefers-reduced-motion: reduce) {
14106
+ .dm-sortable-ghost,
14107
+ .dm-sortable-indicator,
14108
+ .dm-sortable-placeholder {
14109
+ transition: none;
14110
+ }
14111
+ }
14112
+
14014
14113
 
14015
14114
  /* ============================================
14016
14115
  THEME SYSTEM
@@ -14018,11 +14117,11 @@ code {
14018
14117
  ============================================ */
14019
14118
 
14020
14119
  /*!
14021
- * Domma Themes v0.44.9
14120
+ * Domma Themes v0.45.0
14022
14121
  * Dynamic Object Manipulation & Modeling API
14023
14122
  * (c) 2026 Darryl Waterhouse & DCBW-IT
14024
- * Built: 2026-09-27T10:33:51.981Z
14025
- * Commit: 176a7e3
14123
+ * Built: 2026-09-27T17:59:46.816Z
14124
+ * Commit: 224c5a0
14026
14125
  */
14027
14126
 
14028
14127
  /**