domma-js 0.44.0 → 0.44.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,9 +1,9 @@
1
1
  /*!
2
- * Domma Elements CSS v0.44.0
2
+ * Domma Elements CSS v0.44.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-22T03:19:19.332Z
6
- * Commit: a452582
5
+ * Built: 2026-09-24T14:03:40.317Z
6
+ * Commit: 3aef71a
7
7
  */
8
8
 
9
9
  /**
@@ -2785,11 +2785,12 @@ code {
2785
2785
  .dm-pillbox-container {
2786
2786
  display: flex;
2787
2787
  flex-wrap: wrap;
2788
+ align-items: center;
2788
2789
  gap: 0.375rem;
2789
2790
  padding: 0.375rem 0.5rem;
2790
2791
  min-height: 2.5rem;
2791
- background: var(--dm-surface, #fff);
2792
- border: 1px solid var(--dm-border, #dee2e6);
2792
+ background: var(--dm-pillbox-bg, var(--dm-surface));
2793
+ border: 1px solid var(--dm-pillbox-border, var(--dm-border));
2793
2794
  border-radius: var(--dm-radius-md);
2794
2795
  cursor: text;
2795
2796
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
@@ -2799,50 +2800,70 @@ code {
2799
2800
  border-color: var(--dm-text-disabled);
2800
2801
  }
2801
2802
 
2802
- .dm-pillbox-container.focused {
2803
+ .dm-pillbox-container:focus-within {
2803
2804
  border-color: var(--dm-primary);
2804
2805
  box-shadow: 0 0 0 3px var(--dm-focus-ring);
2805
2806
  }
2806
2807
 
2807
- .dm-pillbox-pill {
2808
+ /*
2809
+ * The pill classes are the ones the script emits (.dm-pill, .dm-pill-remove,
2810
+ * .dm-pillbox-empty) and the showcase documents. They were styled here as
2811
+ * .dm-pillbox-pill / -remove / -message, which nothing produces, so every pill
2812
+ * arrived as bare text beside a grey browser button.
2813
+ *
2814
+ * The --dm-pill-* / --dm-pillbox-* defaults are fallbacks in the rules rather
2815
+ * than :root declarations: a theme class sits on <body>, and a variable
2816
+ * declared on :root as var(--dm-surface) resolves against the root's colours,
2817
+ * so a dark theme got a white box with pale pills. A theme or a page can still
2818
+ * set any of them.
2819
+ */
2820
+ .dm-pill {
2808
2821
  display: inline-flex;
2809
2822
  align-items: center;
2810
2823
  gap: 0.25rem;
2811
- padding: 0.25rem 0.5rem;
2812
- background: var(--dm-primary-light);
2813
- color: var(--dm-text);
2824
+ max-width: 100%;
2825
+ padding: 0.2rem 0.3rem 0.2rem 0.6rem;
2826
+ background: var(--dm-pill-bg, var(--dm-primary-light));
2827
+ color: var(--dm-pill-color, var(--dm-text));
2814
2828
  border-radius: var(--dm-radius-full);
2815
2829
  font-size: var(--dm-font-size-sm);
2816
2830
  line-height: 1.2;
2831
+ overflow-wrap: anywhere;
2817
2832
  }
2818
2833
 
2819
- .dm-pillbox-pill.dm-pillbox-size-small {
2820
- padding: 0.125rem 0.375rem;
2834
+ .dm-pillbox-small .dm-pill {
2835
+ padding: 0.1rem 0.25rem 0.1rem 0.45rem;
2821
2836
  font-size: 0.75rem;
2822
2837
  }
2823
2838
 
2824
- .dm-pillbox-pill.dm-pillbox-size-large {
2825
- padding: 0.375rem 0.625rem;
2839
+ .dm-pillbox-large .dm-pill {
2840
+ padding: 0.35rem 0.4rem 0.35rem 0.75rem;
2826
2841
  font-size: 1rem;
2827
2842
  }
2828
2843
 
2829
- .dm-pillbox-remove {
2844
+ .dm-pill-remove {
2830
2845
  display: inline-flex;
2831
2846
  align-items: center;
2832
2847
  justify-content: center;
2833
- width: 1rem;
2834
- height: 1rem;
2848
+ flex: none;
2849
+ width: 1.1rem;
2850
+ height: 1.1rem;
2835
2851
  padding: 0;
2836
2852
  background: none;
2837
2853
  border: none;
2854
+ border-radius: 50%;
2838
2855
  color: inherit;
2856
+ font-size: 1rem;
2857
+ line-height: 1;
2839
2858
  cursor: pointer;
2840
- opacity: 0.7;
2841
- transition: opacity 0.15s ease;
2859
+ opacity: 0.65;
2860
+ transition: opacity 0.15s ease, background-color 0.15s ease;
2842
2861
  }
2843
2862
 
2844
- .dm-pillbox-remove:hover {
2863
+ .dm-pill-remove:hover,
2864
+ .dm-pill-remove:focus-visible {
2845
2865
  opacity: 1;
2866
+ background: var(--dm-pill-hover-bg, color-mix(in srgb, currentColor 15%, transparent));
2846
2867
  }
2847
2868
 
2848
2869
  .dm-pillbox-input {
@@ -2856,18 +2877,29 @@ code {
2856
2877
  color: var(--dm-text);
2857
2878
  }
2858
2879
 
2880
+ .dm-pillbox-small .dm-pillbox-input { font-size: var(--dm-font-size-sm); }
2881
+
2859
2882
  .dm-pillbox-input::placeholder {
2860
2883
  color: var(--dm-text-muted);
2861
2884
  }
2862
2885
 
2886
+ .dm-pillbox.disabled .dm-pillbox-container {
2887
+ opacity: 0.6;
2888
+ cursor: not-allowed;
2889
+ }
2890
+
2891
+ .dm-pillbox.disabled .dm-pill-remove {
2892
+ pointer-events: none;
2893
+ }
2894
+
2863
2895
  .dm-pillbox-dropdown {
2864
2896
  position: absolute;
2865
2897
  top: 100%;
2866
2898
  left: 0;
2867
2899
  right: 0;
2868
2900
  margin-top: 0.25rem;
2869
- background: var(--dm-surface, #fff);
2870
- border: 1px solid var(--dm-border, #dee2e6);
2901
+ background: var(--dm-surface);
2902
+ border: 1px solid var(--dm-border);
2871
2903
  border-radius: var(--dm-radius-md);
2872
2904
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
2873
2905
  max-height: 200px;
@@ -2875,6 +2907,12 @@ code {
2875
2907
  z-index: var(--dm-z-dropdown, 1000);
2876
2908
  }
2877
2909
 
2910
+ .dm-pillbox-options {
2911
+ list-style: none;
2912
+ margin: 0;
2913
+ padding: 0.25rem 0;
2914
+ }
2915
+
2878
2916
  .dm-pillbox-option {
2879
2917
  padding: 0.5rem 0.75rem;
2880
2918
  cursor: pointer;
@@ -2892,10 +2930,11 @@ code {
2892
2930
  color: var(--dm-text);
2893
2931
  }
2894
2932
 
2895
- .dm-pillbox-message {
2933
+ .dm-pillbox-empty {
2896
2934
  padding: 0.75rem;
2897
2935
  text-align: center;
2898
- color: var(--dm-text-muted, #6c757d);
2936
+ /* --dm-text-muted falls to 3:1 on --dm-surface in some themes. */
2937
+ color: var(--dm-text-secondary);
2899
2938
  font-size: var(--dm-font-size-sm);
2900
2939
  }
2901
2940
 
@@ -2922,27 +2961,9 @@ code {
2922
2961
  opacity: 1;
2923
2962
  }
2924
2963
 
2925
- /* Dark theme pillbox */
2926
- [data-mode="dark"].dm-pillbox-container {
2927
- background: var(--dm-surface);
2928
- border-color: var(--dm-text);
2929
- }
2930
-
2931
- [data-mode="dark"].dm-pillbox-input {
2932
- color: var(--dm-text-disabled);
2933
- }
2934
-
2935
- [data-mode="dark"].dm-pillbox-dropdown {
2936
- background: var(--dm-surface);
2937
- border-color: var(--dm-text);
2938
- }
2939
-
2940
- [data-mode="dark"].dm-pillbox-option {
2941
- color: var(--dm-text-disabled);
2942
- }
2943
-
2944
- [data-mode="dark"].dm-pillbox-option:hover {
2945
- background-color: var(--dm-text);
2964
+ /* A clearable box keeps its last pill clear of the x. */
2965
+ .dm-pillbox:has(.dm-pillbox-clear) .dm-pillbox-container {
2966
+ padding-right: 2rem;
2946
2967
  }
2947
2968
 
2948
2969
  /* ============================================
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.44.0
2
+ * Domma Grid CSS v0.44.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-22T03:19:19.327Z
6
- * Commit: a452582
5
+ * Built: 2026-09-24T14:03:40.312Z
6
+ * Commit: 3aef71a
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.44.0
2
+ * Domma Syntax Highlighting CSS v0.44.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-22T03:19:19.336Z
6
- * Commit: a452582
5
+ * Built: 2026-09-24T14:03:40.321Z
6
+ * Commit: 3aef71a
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.44.0
2
+ * Domma Themes v0.44.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-09-22T03:19:19.311Z
6
- * Commit: a452582
5
+ * Built: 2026-09-24T14:03:40.295Z
6
+ * Commit: 3aef71a
7
7
  */
8
8
 
9
9
  /**
@@ -0,0 +1,213 @@
1
+ .dm-theme-grayve {
2
+ color-scheme: dark; /* Slate is typically a dark theme */
3
+
4
+ /* Tailwind-based color palette - adapting for grayve */
5
+ /* Slate (using bootswatch values) */
6
+ --dm-slate-50: #F8F9FA; /* Off-white */
7
+ --dm-slate-100: #E9ECEF;
8
+ --dm-slate-200: #DEE2E6;
9
+ --dm-slate-300: #CED4DA;
10
+ --dm-slate-400: #ADB5BD;
11
+ --dm-slate-500: #6C757D; /* Medium Gray */
12
+ --dm-slate-600: #495057;
13
+ --dm-slate-700: #343A40;
14
+ --dm-slate-800: #212529;
15
+ --dm-slate-900: #1a1e21; /* Dark Gray */
16
+ --dm-slate-950: #141619; /* Very Dark Gray */
17
+
18
+ /* Blues (for primary/info, etc.) */
19
+ --dm-blue-50: #e0f7fa;
20
+ --dm-blue-100: #b2ebf2;
21
+ --dm-blue-200: #80deea;
22
+ --dm-blue-300: #4dd0e1;
23
+ --dm-blue-400: #26c6da;
24
+ --dm-blue-500: #00bcd4; /* Bootswatch primary might be close to this or lighter */
25
+ --dm-blue-600: #00acc1;
26
+ --dm-blue-700: #0097a7;
27
+ --dm-blue-800: #00838f;
28
+ --dm-blue-900: #006064;
29
+ --dm-blue-950: #004d40;
30
+
31
+ /* Green (Success) */
32
+ --dm-green-500: #28a745;
33
+ --dm-green-400: #49cc61;
34
+ --dm-green-300: #6fd180;
35
+ --dm-green-600: #218838;
36
+
37
+ /* Red (Danger) */
38
+ --dm-red-500: #dc3545;
39
+ --dm-red-400: #e35a67;
40
+ --dm-red-300: #eb808a;
41
+ --dm-red-600: #c82333;
42
+
43
+ /* Amber (Warning) */
44
+ --dm-amber-500: #ffc107;
45
+ --dm-amber-400: #ffcd38;
46
+ --dm-amber-300: #ffd865;
47
+ --dm-amber-600: #e0a800;
48
+
49
+ /* Sky (Info - often similar to primary but distinct) */
50
+ --dm-sky-500: #17a2b8;
51
+ --dm-sky-400: #26d2e9;
52
+ --dm-sky-300: #51daec;
53
+ --dm-sky-600: #138496;
54
+
55
+ /* Semantic colors */
56
+ --dm-background: var(--dm-slate-900);
57
+ --dm-background-alt: var(--dm-slate-800);
58
+ --dm-surface: var(--dm-slate-800);
59
+ --dm-surface-raised: var(--dm-slate-700);
60
+ --dm-surface-overlay: rgba(0, 0, 0, 0.7);
61
+
62
+ /* Text */
63
+ --dm-text: var(--dm-slate-200);
64
+ --dm-text-secondary: var(--dm-slate-400);
65
+ --dm-text-muted: var(--dm-slate-500);
66
+ --dm-text-disabled: var(--dm-slate-600);
67
+ --dm-text-inverse: var(--dm-slate-900);
68
+
69
+ /* Borders */
70
+ --dm-border: var(--dm-slate-700);
71
+ --dm-border-light: var(--dm-slate-800);
72
+ --dm-border-dark: var(--dm-slate-600);
73
+ --dm-border-focus: var(--dm-blue-500); /* Use a vibrant blue for focus */
74
+ --dm-focus-ring: rgba(0, 188, 212, 0.3); /* Based on dm-blue-500 */
75
+ --dm-focus-ring-danger: rgba(220, 53, 69, 0.3); /* Based on dm-red-500 */
76
+
77
+ /* Interactive States */
78
+ --dm-hover-bg: rgba(255, 255, 255, 0.07);
79
+ --dm-active-bg: rgba(255, 255, 255, 0.1);
80
+ --dm-selected-bg: var(--dm-blue-600);
81
+ --dm-disabled-opacity: 0.4;
82
+
83
+ /* Brand Colors */
84
+ --dm-primary: var(--dm-blue-500);
85
+ --dm-primary-dark: var(--dm-blue-700);
86
+ --dm-primary-light: var(--dm-blue-300);
87
+ --dm-primary-hover: var(--dm-blue-400);
88
+ --dm-primary-active: var(--dm-blue-600);
89
+
90
+ --dm-secondary: var(--dm-slate-500);
91
+ --dm-secondary-hover: var(--dm-slate-400);
92
+ --dm-secondary-active: var(--dm-slate-300);
93
+
94
+ /* Status Colors */
95
+ --dm-success: var(--dm-green-500);
96
+ --dm-success-hover: var(--dm-green-400);
97
+ --dm-success-active: var(--dm-green-600);
98
+ --dm-success-light: rgba(40, 167, 69, 0.2);
99
+ --dm-success-dark: var(--dm-green-600);
100
+
101
+ --dm-danger: var(--dm-red-500);
102
+ --dm-danger-hover: var(--dm-red-400);
103
+ --dm-danger-active: var(--dm-red-600);
104
+ --dm-danger-light: rgba(220, 53, 69, 0.2);
105
+ --dm-danger-dark: var(--dm-red-600);
106
+
107
+ --dm-warning: var(--dm-amber-400);
108
+ --dm-warning-hover: var(--dm-amber-300);
109
+ --dm-warning-active: var(--dm-amber-500);
110
+ --dm-warning-text: var(--dm-amber-900);
111
+ --dm-warning-light: rgba(255, 193, 7, 0.2);
112
+ --dm-warning-dark: var(--dm-amber-600);
113
+
114
+ --dm-info: var(--dm-sky-500);
115
+ --dm-info-hover: var(--dm-sky-400);
116
+ --dm-info-active: var(--dm-sky-600);
117
+ --dm-info-light: rgba(23, 162, 184, 0.2);
118
+ --dm-info-dark: var(--dm-sky-600);
119
+
120
+ /* Background Tints */
121
+ --dm-primary-bg: rgba(0, 188, 212, 0.15);
122
+ --dm-secondary-bg: rgba(108, 117, 125, 0.15);
123
+ --dm-success-bg: rgba(40, 167, 69, 0.15);
124
+ --dm-danger-bg: rgba(220, 53, 69, 0.15);
125
+ --dm-warning-bg: rgba(255, 193, 7, 0.15);
126
+ --dm-info-bg: rgba(23, 162, 184, 0.15);
127
+
128
+ /* Semantic Surface Colors */
129
+ --dm-surface-secondary: var(--dm-slate-900);
130
+ --dm-card-bg: var(--dm-slate-800);
131
+ --dm-card-border: var(--dm-slate-700);
132
+
133
+ /* Legacy color names (kept for backwards compatibility) */
134
+ --dm-light: var(--dm-slate-200);
135
+ --dm-dark: var(--dm-slate-800);
136
+ --dm-white: #ffffff;
137
+ --dm-black: #000000;
138
+
139
+ /* Grays (mapped to Slate) */
140
+ --dm-gray-50: var(--dm-slate-50);
141
+ --dm-gray-100: var(--dm-slate-100);
142
+ --dm-gray-200: var(--dm-slate-200);
143
+ --dm-gray-300: var(--dm-slate-300);
144
+ --dm-gray-400: var(--dm-slate-400);
145
+ --dm-gray-500: var(--dm-slate-500);
146
+ --dm-gray-600: var(--dm-slate-600);
147
+ --dm-gray-700: var(--dm-slate-700);
148
+ --dm-gray-800: var(--dm-slate-800);
149
+ --dm-gray-900: var(--dm-slate-900);
150
+ --dm-gray-950: var(--dm-slate-950);
151
+
152
+ /* Component-specific variables */
153
+ --dm-input-bg: var(--dm-surface);
154
+ --dm-input-border: var(--dm-border-dark);
155
+ --dm-input-text: var(--dm-text);
156
+ --dm-input-placeholder: var(--dm-text-muted);
157
+ --dm-input-focus-border: var(--dm-primary);
158
+ --dm-input-disabled-bg: var(--dm-slate-800);
159
+
160
+ --dm-table-border: var(--dm-border);
161
+ --dm-table-hover-bg: var(--dm-hover-bg);
162
+ --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
163
+
164
+ --dm-navbar-bg: var(--dm-surface);
165
+ --dm-navbar-text: var(--dm-text);
166
+ --dm-navbar-border: var(--dm-border);
167
+
168
+ --dm-dropdown-bg: var(--dm-surface-raised);
169
+ --dm-dropdown-border: var(--dm-border);
170
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
171
+ --dm-dropdown-item-active: var(--dm-selected-bg);
172
+
173
+ --dm-sidebar-bg: var(--dm-surface);
174
+ --dm-sidebar-border: var(--dm-border);
175
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
176
+ --dm-sidebar-item-active: var(--dm-selected-bg);
177
+
178
+ --dm-autocomplete-bg: var(--dm-surface);
179
+ --dm-autocomplete-border: var(--dm-border);
180
+ --dm-autocomplete-shadow: var(--dm-shadow-md);
181
+ --dm-autocomplete-item-hover: var(--dm-hover-bg);
182
+ --dm-autocomplete-item-active: var(--dm-selected-bg);
183
+ --dm-autocomplete-highlight: var(--dm-primary-light);
184
+
185
+ --dm-pillbox-bg: var(--dm-surface);
186
+ --dm-pillbox-border: var(--dm-border);
187
+ --dm-pill-bg: var(--dm-gray-700); /* Darker pill background for dark theme */
188
+ --dm-pill-color: var(--dm-text);
189
+ --dm-pill-hover-bg: var(--dm-gray-600);
190
+
191
+ --dm-tab-border: var(--dm-border);
192
+ --dm-tab-hover-bg: var(--dm-hover-bg);
193
+ --dm-tab-active-border: var(--dm-primary);
194
+ --dm-tab-active-text: var(--dm-primary);
195
+
196
+ --dm-accordion-border: var(--dm-border);
197
+ --dm-accordion-header-hover: var(--dm-hover-bg);
198
+ }
199
+
200
+ /* Syntax highlighting tokens for grayve (assuming similar to dark theme) */
201
+ .dm-theme-grayve .code-block .syntax-keyword {
202
+ color: #c792ea; /* Purple */
203
+ font-weight: 500;
204
+ }
205
+
206
+ .dm-theme-grayve .code-block .syntax-string,
207
+ .dm-theme-grayve .code-block .syntax-template-string {
208
+ color: #c3e88d; /* Green */
209
+ }
210
+
211
+ .dm-theme-grayve .code-block .syntax-function {
212
+ color: #82aaff; /* Light Blue */
213
+ }