domma-js 0.27.1 → 0.27.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.27.1
2
+ * Domma Elements CSS v0.27.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-05-30T10:04:07.998Z
6
- * Commit: 0c4c061
5
+ * Built: 2026-06-12T14:31:25.349Z
6
+ * Commit: f8dcf15
7
7
  */
8
8
 
9
9
  /**
@@ -2463,7 +2463,7 @@ code {
2463
2463
  transition: transform 0.2s ease;
2464
2464
  }
2465
2465
 
2466
- .navbar-dropdown.open .navbar-caret {
2466
+ .navbar-dropdown.open > .navbar-dropdown-toggle:not(.navbar-submenu-toggle) .navbar-caret {
2467
2467
  transform: rotate(180deg);
2468
2468
  }
2469
2469
 
@@ -2483,7 +2483,7 @@ code {
2483
2483
  z-index: var(--dm-z-dropdown, 1000);
2484
2484
  }
2485
2485
 
2486
- .navbar-dropdown.open .navbar-dropdown-menu {
2486
+ .navbar-dropdown.open > .navbar-dropdown-menu {
2487
2487
  display: block;
2488
2488
  }
2489
2489
 
@@ -2540,6 +2540,89 @@ code {
2540
2540
  background: var(--dm-surface);
2541
2541
  }
2542
2542
 
2543
+ /* ============================================
2544
+ NAVBAR - NESTED (MULTI-LEVEL) DROPDOWNS
2545
+ ============================================ */
2546
+
2547
+ .navbar-dropdown-sub {
2548
+ position: relative;
2549
+ }
2550
+
2551
+ /* A submenu toggle looks like a dropdown item but opens a nested menu */
2552
+ .navbar-submenu-toggle {
2553
+ display: flex;
2554
+ align-items: center;
2555
+ justify-content: space-between;
2556
+ gap: 0.5rem;
2557
+ width: 100%;
2558
+ padding: 0.5rem 1rem;
2559
+ background: none;
2560
+ border: none;
2561
+ cursor: pointer;
2562
+ font: inherit;
2563
+ font-size: var(--dm-font-size-sm);
2564
+ color: var(--dm-text, #212529);
2565
+ text-align: left;
2566
+ text-decoration: none;
2567
+ }
2568
+
2569
+ .navbar-submenu-toggle:hover {
2570
+ background: var(--dm-hover-bg, rgba(0, 0, 0, 0.05));
2571
+ }
2572
+
2573
+ .navbar-light .navbar-submenu-toggle:hover,
2574
+ [data-mode="light"] .navbar-submenu-toggle:hover {
2575
+ background: #1e293b !important;
2576
+ color: #ffffff !important;
2577
+ border-radius: var(--dm-radius-md);
2578
+ }
2579
+
2580
+ .navbar-dark .navbar-submenu-toggle {
2581
+ color: var(--dm-gray-400, #adb5bd);
2582
+ }
2583
+
2584
+ .navbar-dark .navbar-submenu-toggle:hover {
2585
+ background: rgba(255, 255, 255, 0.3);
2586
+ color: var(--dm-text-inverse, var(--dm-white));
2587
+ }
2588
+
2589
+ /* Submenu caret points to the side to signal a fly-out */
2590
+ .navbar-submenu-toggle .navbar-caret {
2591
+ transform: rotate(-90deg);
2592
+ margin-left: auto;
2593
+ }
2594
+
2595
+ /* The nested menu flies out to the right of its parent entry (desktop) */
2596
+ .navbar-dropdown-submenu {
2597
+ top: 0;
2598
+ left: 100%;
2599
+ margin: 0 0 0 0.25rem;
2600
+ }
2601
+
2602
+ .navbar-dark .navbar-dropdown-submenu {
2603
+ background: var(--dm-surface);
2604
+ border-color: var(--dm-border-dark, var(--dm-border));
2605
+ }
2606
+
2607
+ /* On mobile the nested menu stacks and indents instead of flying out */
2608
+ @media (max-width: 992px) {
2609
+ .navbar-dropdown-submenu {
2610
+ position: static;
2611
+ left: auto;
2612
+ margin: 0;
2613
+ min-width: 0;
2614
+ padding: 0 0 0 0.75rem;
2615
+ border: none;
2616
+ border-left: 1px solid var(--dm-border, #dee2e6);
2617
+ border-radius: 0;
2618
+ box-shadow: none;
2619
+ }
2620
+
2621
+ .navbar-submenu-toggle .navbar-caret {
2622
+ transform: rotate(0deg);
2623
+ }
2624
+ }
2625
+
2543
2626
  /* Pill button styles (for Download button) */
2544
2627
  .pill {
2545
2628
  display: inline-block;
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Grid CSS v0.27.1
2
+ * Domma Grid CSS v0.27.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-05-30T10:04:07.992Z
6
- * Commit: 0c4c061
5
+ * Built: 2026-06-12T14:31:25.344Z
6
+ * Commit: f8dcf15
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Syntax Highlighting CSS v0.27.1
2
+ * Domma Syntax Highlighting CSS v0.27.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-05-30T10:04:08.002Z
6
- * Commit: 0c4c061
5
+ * Built: 2026-06-12T14:31:25.353Z
6
+ * Commit: f8dcf15
7
7
  */
8
8
 
9
9
  /**
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.27.1
2
+ * Domma Themes v0.27.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-05-30T10:04:07.972Z
6
- * Commit: 0c4c061
5
+ * Built: 2026-06-12T14:31:25.329Z
6
+ * Commit: f8dcf15
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
+ }