domma-js 0.39.1 → 0.40.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/assets/types/config.d.ts +1 -1
- package/assets/types/flags.d.ts +1 -1
- package/assets/types/index.d.ts +1 -1
- package/assets/types/models.d.ts +1 -1
- package/package.json +2 -2
- package/public/dist/bundles/domma-complete.css +79 -63
- package/public/dist/bundles/domma-data-focused.css +79 -63
- package/public/dist/bundles/domma-essentials.css +79 -63
- package/public/dist/bundles/domma-full.css +79 -63
- package/public/dist/bundles/domma-minimal.css +12 -12
- package/public/dist/domma-flags.esm.js +3 -3
- package/public/dist/domma-flags.min.js +3 -3
- package/public/dist/domma-syntax.min.js +3 -3
- package/public/dist/domma.css +6 -6
- package/public/dist/domma.esm.js +4 -4
- package/public/dist/domma.min.js +4 -4
- package/public/dist/elements.css +41 -25
- package/public/dist/grid.css +4 -4
- package/public/dist/syntax.css +3 -3
- package/public/dist/themes/domma-themes.css +26 -26
- package/templates/kickstart-spa/.claude/memory/MEMORY.md +5 -5
- package/templates/kickstart-spa/CLAUDE.md +1 -1
package/assets/types/config.d.ts
CHANGED
|
@@ -79,7 +79,7 @@ export interface ConfigEngine {
|
|
|
79
79
|
*/
|
|
80
80
|
/**
|
|
81
81
|
* Retrieve the live component instance created by setup() for a selector.
|
|
82
|
-
* Instances are NOT stored on the element
|
|
82
|
+
* Instances are NOT stored on the element - $(sel).data('component') is
|
|
83
83
|
* always undefined.
|
|
84
84
|
* @param selector - Selector the component was configured under
|
|
85
85
|
*/
|
package/assets/types/flags.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface FlagOverlay {
|
|
|
19
19
|
[key: string]: unknown;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
/** A flag definition
|
|
22
|
+
/** A flag definition - either raw SVG markup or a compact descriptor. */
|
|
23
23
|
export interface FlagDefinition {
|
|
24
24
|
/** Country name */
|
|
25
25
|
name: string;
|
package/assets/types/index.d.ts
CHANGED
|
@@ -83,7 +83,7 @@ export interface DommaStatic {
|
|
|
83
83
|
/** Icon library */
|
|
84
84
|
icons: Icons;
|
|
85
85
|
|
|
86
|
-
/** Nation flags (opt-in module
|
|
86
|
+
/** Nation flags (opt-in module - present when domma-flags is loaded) */
|
|
87
87
|
flags?: Flags;
|
|
88
88
|
|
|
89
89
|
/** Alias for {@link DommaStatic.flags} (opt-in module) */
|
package/assets/types/models.d.ts
CHANGED
|
@@ -213,7 +213,7 @@ export interface Models {
|
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
215
|
* Create a lazily-evaluated derived value that tracks whatever it reads.
|
|
216
|
-
* The body must be synchronous
|
|
216
|
+
* The body must be synchronous - tracking stops at the first `await`.
|
|
217
217
|
*/
|
|
218
218
|
computed<T = any>(fn: () => T, options?: ComputedOptions<T>): ComputedRef<T>;
|
|
219
219
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "domma-js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.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",
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"@rollup/plugin-terser": "^0.4.4",
|
|
83
83
|
"@vitest/coverage-v8": "^4.0.16",
|
|
84
84
|
"cypress": "^15.8.1",
|
|
85
|
-
"domma-reactive": "0.
|
|
85
|
+
"domma-reactive": "1.0.0",
|
|
86
86
|
"dompurify": "^3.4.13",
|
|
87
87
|
"dotenv": "^17.2.3",
|
|
88
88
|
"jsdom": "^24.1.0",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Domma Complete CSS Bundle v0.
|
|
2
|
+
* Domma Complete CSS Bundle v0.40.0
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-08-
|
|
5
|
+
* Built: 2026-08-21T16:29:27.417Z
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
/* ============================================
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
============================================ */
|
|
12
12
|
|
|
13
13
|
/*!
|
|
14
|
-
* Domma Core CSS v0.
|
|
14
|
+
* Domma Core CSS v0.40.0
|
|
15
15
|
* Dynamic Object Manipulation & Modeling API
|
|
16
16
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
17
|
-
* Built: 2026-08-
|
|
18
|
-
* Commit:
|
|
17
|
+
* Built: 2026-08-21T16:29:27.255Z
|
|
18
|
+
* Commit: c788672
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -2197,7 +2197,7 @@ code, pre {
|
|
|
2197
2197
|
|
|
2198
2198
|
/* ============================================
|
|
2199
2199
|
OPACITY SCALE
|
|
2200
|
-
Full graduated opacity scale (0
|
|
2200
|
+
Full graduated opacity scale (0-100)
|
|
2201
2201
|
============================================ */
|
|
2202
2202
|
|
|
2203
2203
|
.opacity-0 { opacity: 0; }
|
|
@@ -2234,7 +2234,7 @@ code, pre {
|
|
|
2234
2234
|
transition: opacity var(--dm-transition-normal);
|
|
2235
2235
|
}
|
|
2236
2236
|
|
|
2237
|
-
/* Frosted glass
|
|
2237
|
+
/* Frosted glass - semi-transparent background + blur */
|
|
2238
2238
|
.translucent-glass {
|
|
2239
2239
|
background-color: rgba(255, 255, 255, var(--dm-translucent-glass-opacity));
|
|
2240
2240
|
backdrop-filter: blur(var(--dm-translucent-glass-blur));
|
|
@@ -2242,7 +2242,7 @@ code, pre {
|
|
|
2242
2242
|
transition: opacity var(--dm-transition-normal);
|
|
2243
2243
|
}
|
|
2244
2244
|
|
|
2245
|
-
/* Hover variants
|
|
2245
|
+
/* Hover variants - apply translucency on hover */
|
|
2246
2246
|
.translucent-hover:hover {
|
|
2247
2247
|
opacity: var(--dm-translucent);
|
|
2248
2248
|
transition: opacity var(--dm-transition-normal);
|
|
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
|
|
|
4838
4838
|
============================================ */
|
|
4839
4839
|
|
|
4840
4840
|
/*!
|
|
4841
|
-
* Domma Grid CSS v0.
|
|
4841
|
+
* Domma Grid CSS v0.40.0
|
|
4842
4842
|
* Dynamic Object Manipulation & Modeling API
|
|
4843
4843
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4844
|
-
* Built: 2026-08-
|
|
4845
|
-
* Commit:
|
|
4844
|
+
* Built: 2026-08-21T16:29:27.259Z
|
|
4845
|
+
* Commit: c788672
|
|
4846
4846
|
*/
|
|
4847
4847
|
|
|
4848
4848
|
/**
|
|
@@ -5176,7 +5176,7 @@ body.dm-cloaked.dm-ready {
|
|
|
5176
5176
|
gap: var(--dm-space-6, 2rem);
|
|
5177
5177
|
}
|
|
5178
5178
|
|
|
5179
|
-
/* Bootstrap 5-style g-* aliases (row gutters
|
|
5179
|
+
/* Bootstrap 5-style g-* aliases (row gutters - both axes) */
|
|
5180
5180
|
.row.g-0 { gap: 0; }
|
|
5181
5181
|
.row.g-1 { gap: var(--dm-space-1, 0.25rem); }
|
|
5182
5182
|
.row.g-2 { gap: var(--dm-space-2, 0.5rem); }
|
|
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
|
|
|
5463
5463
|
============================================ */
|
|
5464
5464
|
|
|
5465
5465
|
/*!
|
|
5466
|
-
* Domma Elements CSS v0.
|
|
5466
|
+
* Domma Elements CSS v0.40.0
|
|
5467
5467
|
* Dynamic Object Manipulation & Modeling API
|
|
5468
5468
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5469
|
-
* Built: 2026-08-
|
|
5470
|
-
* Commit:
|
|
5469
|
+
* Built: 2026-08-21T16:29:27.264Z
|
|
5470
|
+
* Commit: c788672
|
|
5471
5471
|
*/
|
|
5472
5472
|
|
|
5473
5473
|
/**
|
|
@@ -6755,7 +6755,7 @@ textarea:not([class])::placeholder {
|
|
|
6755
6755
|
NUMBER BADGE
|
|
6756
6756
|
============================================ */
|
|
6757
6757
|
|
|
6758
|
-
/* Standalone number badge
|
|
6758
|
+
/* Standalone number badge - circular for single digits, pill for multi-digit */
|
|
6759
6759
|
.badge-number {
|
|
6760
6760
|
display: inline-flex;
|
|
6761
6761
|
align-items: center;
|
|
@@ -6772,7 +6772,7 @@ textarea:not([class])::placeholder {
|
|
|
6772
6772
|
color: var(--dm-danger-text, var(--dm-white));
|
|
6773
6773
|
}
|
|
6774
6774
|
|
|
6775
|
-
/* Dot indicator
|
|
6775
|
+
/* Dot indicator - small coloured presence circle */
|
|
6776
6776
|
.badge-dot {
|
|
6777
6777
|
display: inline-block;
|
|
6778
6778
|
width: 0.5rem;
|
|
@@ -6787,7 +6787,7 @@ textarea:not([class])::placeholder {
|
|
|
6787
6787
|
display: inline-flex;
|
|
6788
6788
|
}
|
|
6789
6789
|
|
|
6790
|
-
/* Counter badge
|
|
6790
|
+
/* Counter badge - overlapping corner with border ring (classic app-notification style) */
|
|
6791
6791
|
.badge-counter {
|
|
6792
6792
|
position: absolute;
|
|
6793
6793
|
top: -6px;
|
|
@@ -6809,7 +6809,7 @@ textarea:not([class])::placeholder {
|
|
|
6809
6809
|
color: var(--dm-danger-text, var(--dm-white));
|
|
6810
6810
|
}
|
|
6811
6811
|
|
|
6812
|
-
/* Dot variant of counter
|
|
6812
|
+
/* Dot variant of counter - smaller, no text */
|
|
6813
6813
|
.badge-counter.badge-dot {
|
|
6814
6814
|
top: -2px;
|
|
6815
6815
|
right: -2px;
|
|
@@ -6863,7 +6863,7 @@ textarea:not([class])::placeholder {
|
|
|
6863
6863
|
LIST GROUP
|
|
6864
6864
|
============================================ */
|
|
6865
6865
|
|
|
6866
|
-
/* Container
|
|
6866
|
+
/* Container - vertical flex column with rounded corners and clipped overflow */
|
|
6867
6867
|
.list-group {
|
|
6868
6868
|
display: flex;
|
|
6869
6869
|
flex-direction: column;
|
|
@@ -6873,7 +6873,7 @@ textarea:not([class])::placeholder {
|
|
|
6873
6873
|
background-color: var(--dm-surface);
|
|
6874
6874
|
}
|
|
6875
6875
|
|
|
6876
|
-
/* Each item
|
|
6876
|
+
/* Each item - flex row, vertically centred, with a bottom separator */
|
|
6877
6877
|
.list-group-item {
|
|
6878
6878
|
display: flex;
|
|
6879
6879
|
align-items: center;
|
|
@@ -6891,7 +6891,7 @@ textarea:not([class])::placeholder {
|
|
|
6891
6891
|
border-bottom: none;
|
|
6892
6892
|
}
|
|
6893
6893
|
|
|
6894
|
-
/* Flush modifier
|
|
6894
|
+
/* Flush modifier - strip outer border and radius for embedding inside cards */
|
|
6895
6895
|
.list-group-flush {
|
|
6896
6896
|
border: none;
|
|
6897
6897
|
border-radius: 0;
|
|
@@ -6913,7 +6913,7 @@ textarea:not([class])::placeholder {
|
|
|
6913
6913
|
font-size: var(--dm-font-size-base);
|
|
6914
6914
|
}
|
|
6915
6915
|
|
|
6916
|
-
/* Actionable items
|
|
6916
|
+
/* Actionable items - pointer cursor and hover highlight */
|
|
6917
6917
|
.list-group-item-action {
|
|
6918
6918
|
cursor: pointer;
|
|
6919
6919
|
user-select: none;
|
|
@@ -6937,7 +6937,7 @@ textarea:not([class])::placeholder {
|
|
|
6937
6937
|
justify-content: center;
|
|
6938
6938
|
}
|
|
6939
6939
|
|
|
6940
|
-
/* Central text wrapper
|
|
6940
|
+
/* Central text wrapper - grows to fill available space */
|
|
6941
6941
|
.list-group-item-content {
|
|
6942
6942
|
flex-grow: 1;
|
|
6943
6943
|
min-width: 0;
|
|
@@ -6965,7 +6965,7 @@ textarea:not([class])::placeholder {
|
|
|
6965
6965
|
text-overflow: ellipsis;
|
|
6966
6966
|
}
|
|
6967
6967
|
|
|
6968
|
-
/* Right-side trailing area
|
|
6968
|
+
/* Right-side trailing area - badges, timestamps, actions */
|
|
6969
6969
|
.list-group-item-trailing {
|
|
6970
6970
|
flex-shrink: 0;
|
|
6971
6971
|
margin-left: auto;
|
|
@@ -6975,7 +6975,7 @@ textarea:not([class])::placeholder {
|
|
|
6975
6975
|
gap: var(--dm-space-2);
|
|
6976
6976
|
}
|
|
6977
6977
|
|
|
6978
|
-
/* Active/selected state
|
|
6978
|
+
/* Active/selected state - accent background takes precedence over colour variants */
|
|
6979
6979
|
.list-group-item.active {
|
|
6980
6980
|
background-color: var(--dm-primary);
|
|
6981
6981
|
color: var(--dm-primary-text, var(--dm-white));
|
|
@@ -6987,7 +6987,7 @@ textarea:not([class])::placeholder {
|
|
|
6987
6987
|
color: rgba(255, 255, 255, 0.75);
|
|
6988
6988
|
}
|
|
6989
6989
|
|
|
6990
|
-
/* Disabled state
|
|
6990
|
+
/* Disabled state - dimmed and non-interactive */
|
|
6991
6991
|
.list-group-item.disabled {
|
|
6992
6992
|
opacity: 0.7;
|
|
6993
6993
|
cursor: not-allowed;
|
|
@@ -7067,7 +7067,7 @@ textarea:not([class])::placeholder {
|
|
|
7067
7067
|
border-top-color: var(--dm-border);
|
|
7068
7068
|
}
|
|
7069
7069
|
|
|
7070
|
-
/* Numbered list
|
|
7070
|
+
/* Numbered list - CSS counter prepended to each item */
|
|
7071
7071
|
.list-group-numbered {
|
|
7072
7072
|
list-style-type: none;
|
|
7073
7073
|
counter-reset: list-group-counter;
|
|
@@ -7083,7 +7083,7 @@ textarea:not([class])::placeholder {
|
|
|
7083
7083
|
color: var(--dm-text-muted);
|
|
7084
7084
|
}
|
|
7085
7085
|
|
|
7086
|
-
/* Horizontal layout
|
|
7086
|
+
/* Horizontal layout - items arranged in a row */
|
|
7087
7087
|
.list-group-horizontal {
|
|
7088
7088
|
flex-direction: row;
|
|
7089
7089
|
}
|
|
@@ -8889,12 +8889,28 @@ code {
|
|
|
8889
8889
|
display: block;
|
|
8890
8890
|
}
|
|
8891
8891
|
|
|
8892
|
+
/* Slide content sits IN FLOW by default, so a text-only slide has height.
|
|
8893
|
+
It used to be unconditionally absolute - a caption overlay for a background
|
|
8894
|
+
image - which meant a slide with no <img> had nothing in flow at all: the
|
|
8895
|
+
slide collapsed to 0px, and with it the whole carousel. A text-only
|
|
8896
|
+
carousel simply did not appear. */
|
|
8892
8897
|
.carousel-slide-content {
|
|
8898
|
+
position: relative;
|
|
8899
|
+
/* Clears the arrows (40px + 1rem inset) on both sides and the indicator
|
|
8900
|
+
dots below. On an image slide the controls sit over the picture; on a
|
|
8901
|
+
text slide they would sit over the words. */
|
|
8902
|
+
padding: var(--dm-space-6) clamp(1rem, 6vw, 3.75rem) calc(var(--dm-space-6) + 1.25rem);
|
|
8903
|
+
color: inherit;
|
|
8904
|
+
}
|
|
8905
|
+
|
|
8906
|
+
/* A slide that DOES carry an image gets the overlay caption it was designed
|
|
8907
|
+
for. Stated as the enhancement rather than the default, so a browser without
|
|
8908
|
+
:has() renders the caption under the image instead of hiding the slide. */
|
|
8909
|
+
.carousel-slide:has(> img) .carousel-slide-content {
|
|
8893
8910
|
position: absolute;
|
|
8894
8911
|
bottom: 0;
|
|
8895
8912
|
left: 0;
|
|
8896
8913
|
right: 0;
|
|
8897
|
-
padding: var(--dm-space-6);
|
|
8898
8914
|
background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
|
|
8899
8915
|
color: var(--dm-white);
|
|
8900
8916
|
}
|
|
@@ -10388,7 +10404,7 @@ code {
|
|
|
10388
10404
|
}
|
|
10389
10405
|
|
|
10390
10406
|
/* Status text utilities use color-mix with --dm-text so they auto-adapt to
|
|
10391
|
-
light/dark modes
|
|
10407
|
+
light/dark modes - keeping brand identity while staying ≥4.5:1 readable. */
|
|
10392
10408
|
.text-success {
|
|
10393
10409
|
color: color-mix(in oklab, var(--dm-success), var(--dm-text) 30%) !important;
|
|
10394
10410
|
}
|
|
@@ -10794,7 +10810,7 @@ code {
|
|
|
10794
10810
|
/*
|
|
10795
10811
|
* Hover bridge: the menu is rendered as a document.body sibling positioned with a
|
|
10796
10812
|
* small offset/margin gap from its trigger. On a hover-triggered dropdown that gap
|
|
10797
|
-
* is a dead-zone
|
|
10813
|
+
* is a dead-zone - the pointer leaves the trigger before reaching the menu, firing
|
|
10798
10814
|
* the close. These transparent pseudo-elements extend the menu's hoverable area
|
|
10799
10815
|
* above and below it, so the trigger→menu path is one continuous hover surface.
|
|
10800
10816
|
* Only present on hover dropdowns, so click dropdowns are unaffected.
|
|
@@ -10806,7 +10822,7 @@ code {
|
|
|
10806
10822
|
left: 0;
|
|
10807
10823
|
right: 0;
|
|
10808
10824
|
height: 0.75rem;
|
|
10809
|
-
/* transparent
|
|
10825
|
+
/* transparent - a hover surface only, never painted */
|
|
10810
10826
|
}
|
|
10811
10827
|
|
|
10812
10828
|
.domma-dropdown-menu-hover::before {
|
|
@@ -13017,7 +13033,7 @@ code {
|
|
|
13017
13033
|
}
|
|
13018
13034
|
|
|
13019
13035
|
/* ============================================================
|
|
13020
|
-
* Chooser
|
|
13036
|
+
* Chooser - visual option-picker (card/chip × single/multi)
|
|
13021
13037
|
* ============================================================ */
|
|
13022
13038
|
.domma-chooser {
|
|
13023
13039
|
--picker-radius: var(--dm-radius);
|
|
@@ -13237,7 +13253,7 @@ code {
|
|
|
13237
13253
|
}
|
|
13238
13254
|
|
|
13239
13255
|
/* ============================================================
|
|
13240
|
-
* Chooser
|
|
13256
|
+
* Chooser - accent colour, accent style, glow, shadow extensions
|
|
13241
13257
|
* ============================================================ */
|
|
13242
13258
|
|
|
13243
13259
|
/* Default the accent variables on every chooser */
|
|
@@ -13268,7 +13284,7 @@ code {
|
|
|
13268
13284
|
0 0 18px color-mix(in srgb, var(--picker-glow-colour) 60%, transparent);
|
|
13269
13285
|
}
|
|
13270
13286
|
|
|
13271
|
-
/* Shadow weights
|
|
13287
|
+
/* Shadow weights - applied to all options */
|
|
13272
13288
|
.domma-chooser[data-shadow="sm"] .picker-option {
|
|
13273
13289
|
box-shadow: 0 1px 2px var(--picker-shadow-colour, rgba(0, 0, 0, 0.08));
|
|
13274
13290
|
}
|
|
@@ -13356,7 +13372,7 @@ code {
|
|
|
13356
13372
|
}
|
|
13357
13373
|
|
|
13358
13374
|
/* ============================================================
|
|
13359
|
-
* Page-roller chooser slideover
|
|
13375
|
+
* Page-roller chooser slideover - structured editor styling
|
|
13360
13376
|
* ============================================================ */
|
|
13361
13377
|
.qr-chooser-slideover-body {
|
|
13362
13378
|
padding: 1.25rem;
|
|
@@ -13554,11 +13570,11 @@ code {
|
|
|
13554
13570
|
============================================ */
|
|
13555
13571
|
|
|
13556
13572
|
/*!
|
|
13557
|
-
* Domma Themes v0.
|
|
13573
|
+
* Domma Themes v0.40.0
|
|
13558
13574
|
* Dynamic Object Manipulation & Modeling API
|
|
13559
13575
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
13560
|
-
* Built: 2026-08-
|
|
13561
|
-
* Commit:
|
|
13576
|
+
* Built: 2026-08-21T16:29:27.241Z
|
|
13577
|
+
* Commit: c788672
|
|
13562
13578
|
*/
|
|
13563
13579
|
|
|
13564
13580
|
/**
|
|
@@ -16778,7 +16794,7 @@ code {
|
|
|
16778
16794
|
--dm-info-hover-text: #1a1a1a;
|
|
16779
16795
|
}
|
|
16780
16796
|
/**
|
|
16781
|
-
* Domma Christmas Light Theme
|
|
16797
|
+
* Domma Christmas Light Theme - "Frosty Morning"
|
|
16782
16798
|
* Ice-blue tinted backgrounds evoking frost on windows, deep pine-green text
|
|
16783
16799
|
* Classic Christmas Red primary, rich Holly Green secondary
|
|
16784
16800
|
*/
|
|
@@ -17022,10 +17038,10 @@ code {
|
|
|
17022
17038
|
}
|
|
17023
17039
|
|
|
17024
17040
|
/* ============================================================
|
|
17025
|
-
DECORATIVE CSS
|
|
17041
|
+
DECORATIVE CSS - "Frosty Morning" festive embellishments
|
|
17026
17042
|
============================================================ */
|
|
17027
17043
|
|
|
17028
|
-
/* Snow-dust background
|
|
17044
|
+
/* Snow-dust background - subtle radial dots on the page root */
|
|
17029
17045
|
.dm-theme-christmas-light {
|
|
17030
17046
|
background-image:
|
|
17031
17047
|
radial-gradient(circle, rgba(168, 213, 229, 0.35) 1px, transparent 1px),
|
|
@@ -17041,7 +17057,7 @@ code {
|
|
|
17041
17057
|
border-image-slice: 1;
|
|
17042
17058
|
}
|
|
17043
17059
|
|
|
17044
|
-
/* Candy-stripe progress bars (default + plain variant only
|
|
17060
|
+
/* Candy-stripe progress bars (default + plain variant only - variants keep their semantic colour) */
|
|
17045
17061
|
.dm-theme-christmas-light .dm-progression-progress-bar,
|
|
17046
17062
|
.dm-theme-christmas-light .progress > .progress-bar:not([class*="progress-bar-"]) {
|
|
17047
17063
|
background-image: repeating-linear-gradient(
|
|
@@ -17055,7 +17071,7 @@ code {
|
|
|
17055
17071
|
color: #ffffff;
|
|
17056
17072
|
}
|
|
17057
17073
|
|
|
17058
|
-
/* Festive syntax highlighting
|
|
17074
|
+
/* Festive syntax highlighting - green keywords, red strings, gold functions */
|
|
17059
17075
|
.dm-theme-christmas-light .code-block .syntax-keyword {
|
|
17060
17076
|
color: #2D6B3F;
|
|
17061
17077
|
font-weight: 600;
|
|
@@ -17071,7 +17087,7 @@ code {
|
|
|
17071
17087
|
}
|
|
17072
17088
|
|
|
17073
17089
|
/**
|
|
17074
|
-
* Domma Christmas Dark Theme
|
|
17090
|
+
* Domma Christmas Dark Theme - "Christmas Eve"
|
|
17075
17091
|
* Deep forest green backgrounds, pure moonlit-white text, green/red undertones in interaction
|
|
17076
17092
|
* Bright Holly Green primary, Christmas Red secondary; firelight-ember shadows
|
|
17077
17093
|
*/
|
|
@@ -17090,7 +17106,7 @@ code {
|
|
|
17090
17106
|
--dm-surface-raised: #243A2C;
|
|
17091
17107
|
--dm-surface-overlay: #243A2C;
|
|
17092
17108
|
|
|
17093
|
-
/* Text - Pure snow white; no green tint
|
|
17109
|
+
/* Text - Pure snow white; no green tint - moonlight on fresh snow */
|
|
17094
17110
|
--dm-text: #FFFFFF;
|
|
17095
17111
|
--dm-text-secondary: #D0D0D0;
|
|
17096
17112
|
--dm-text-muted: #a8a8a8;
|
|
@@ -17315,10 +17331,10 @@ code {
|
|
|
17315
17331
|
}
|
|
17316
17332
|
|
|
17317
17333
|
/* ============================================================
|
|
17318
|
-
DECORATIVE CSS
|
|
17334
|
+
DECORATIVE CSS - "Christmas Eve" festive embellishments
|
|
17319
17335
|
============================================================ */
|
|
17320
17336
|
|
|
17321
|
-
/* Snow-dust background
|
|
17337
|
+
/* Snow-dust background - three festive dot layers: white snow, green pine, red Christmas lights */
|
|
17322
17338
|
.dm-theme-christmas-dark {
|
|
17323
17339
|
background-image:
|
|
17324
17340
|
radial-gradient(circle, rgba(255, 255, 255, 0.13) 1px, transparent 1px),
|
|
@@ -17335,7 +17351,7 @@ code {
|
|
|
17335
17351
|
border-image-slice: 1;
|
|
17336
17352
|
}
|
|
17337
17353
|
|
|
17338
|
-
/* Candy-stripe progress bars (default + plain variant only
|
|
17354
|
+
/* Candy-stripe progress bars (default + plain variant only - variants keep their semantic colour) */
|
|
17339
17355
|
.dm-theme-christmas-dark .dm-progression-progress-bar,
|
|
17340
17356
|
.dm-theme-christmas-dark .progress > .progress-bar:not([class*="progress-bar-"]) {
|
|
17341
17357
|
background-image: repeating-linear-gradient(
|
|
@@ -17349,7 +17365,7 @@ code {
|
|
|
17349
17365
|
color: #1a1a1a;
|
|
17350
17366
|
}
|
|
17351
17367
|
|
|
17352
|
-
/* Festive syntax highlighting
|
|
17368
|
+
/* Festive syntax highlighting - brighter versions for dark backgrounds */
|
|
17353
17369
|
.dm-theme-christmas-dark .code-block .syntax-keyword {
|
|
17354
17370
|
color: #5CB875;
|
|
17355
17371
|
font-weight: 600;
|
|
@@ -18280,7 +18296,7 @@ code {
|
|
|
18280
18296
|
|
|
18281
18297
|
/**
|
|
18282
18298
|
* Domma Grayve Light Theme
|
|
18283
|
-
* Slate/cyan monochrome palette
|
|
18299
|
+
* Slate/cyan monochrome palette - complementary light variant
|
|
18284
18300
|
* Light mode variant
|
|
18285
18301
|
*/
|
|
18286
18302
|
|
|
@@ -18514,7 +18530,7 @@ code {
|
|
|
18514
18530
|
|
|
18515
18531
|
/* Syntax highlighting tokens for grayve-light */
|
|
18516
18532
|
.dm-theme-grayve-light .code-block .syntax-keyword {
|
|
18517
|
-
color: #5a2dcc; /* Deep Purple
|
|
18533
|
+
color: #5a2dcc; /* Deep Purple - darkened for ≥4.5:1 on #f5f5f5 */
|
|
18518
18534
|
font-weight: 500;
|
|
18519
18535
|
}
|
|
18520
18536
|
|
|
@@ -18524,12 +18540,12 @@ code {
|
|
|
18524
18540
|
}
|
|
18525
18541
|
|
|
18526
18542
|
.dm-theme-grayve-light .code-block .syntax-function {
|
|
18527
|
-
color: #006873; /* Cyan
|
|
18543
|
+
color: #006873; /* Cyan - darkened for ≥4.5:1 on #f5f5f5 */
|
|
18528
18544
|
}
|
|
18529
18545
|
|
|
18530
18546
|
/**
|
|
18531
18547
|
* Domma Grayve Dark Theme
|
|
18532
|
-
* Slate/cyan monochrome palette
|
|
18548
|
+
* Slate/cyan monochrome palette - adapted from Bootswatch Slate
|
|
18533
18549
|
* Dark mode variant
|
|
18534
18550
|
*/
|
|
18535
18551
|
|
|
@@ -19239,7 +19255,7 @@ code {
|
|
|
19239
19255
|
|
|
19240
19256
|
/**
|
|
19241
19257
|
* Domma Wedding Light Theme
|
|
19242
|
-
* Classic antique gold palette
|
|
19258
|
+
* Classic antique gold palette - warm, muted, timeless
|
|
19243
19259
|
* Day variant - cream/ivory backgrounds with antique gold highlights
|
|
19244
19260
|
*/
|
|
19245
19261
|
|
|
@@ -19470,7 +19486,7 @@ code {
|
|
|
19470
19486
|
|
|
19471
19487
|
/**
|
|
19472
19488
|
* Domma Wedding Dark Theme
|
|
19473
|
-
* Classic antique gold palette
|
|
19489
|
+
* Classic antique gold palette - warm, muted, timeless
|
|
19474
19490
|
* Evening variant - deep midnight navy with antique gold highlights
|
|
19475
19491
|
*/
|
|
19476
19492
|
|
|
@@ -19700,7 +19716,7 @@ code {
|
|
|
19700
19716
|
|
|
19701
19717
|
/**
|
|
19702
19718
|
* Domma Admin Smooth · Steel Blue
|
|
19703
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
19719
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
19704
19720
|
*/
|
|
19705
19721
|
|
|
19706
19722
|
.dm-theme-admin-smooth-steel {
|
|
@@ -19838,7 +19854,7 @@ code {
|
|
|
19838
19854
|
|
|
19839
19855
|
/**
|
|
19840
19856
|
* Domma Admin Smooth · Indigo
|
|
19841
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
19857
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
19842
19858
|
*/
|
|
19843
19859
|
|
|
19844
19860
|
.dm-theme-admin-smooth-indigo {
|
|
@@ -19976,7 +19992,7 @@ code {
|
|
|
19976
19992
|
|
|
19977
19993
|
/**
|
|
19978
19994
|
* Domma Admin Smooth · Teal
|
|
19979
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
19995
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
19980
19996
|
*/
|
|
19981
19997
|
|
|
19982
19998
|
.dm-theme-admin-smooth-teal {
|
|
@@ -20114,7 +20130,7 @@ code {
|
|
|
20114
20130
|
|
|
20115
20131
|
/**
|
|
20116
20132
|
* Domma Admin Sharp · Steel Blue
|
|
20117
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
20133
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
20118
20134
|
*/
|
|
20119
20135
|
|
|
20120
20136
|
.dm-theme-admin-sharp-steel {
|
|
@@ -20252,7 +20268,7 @@ code {
|
|
|
20252
20268
|
|
|
20253
20269
|
/**
|
|
20254
20270
|
* Domma Admin Sharp · Indigo
|
|
20255
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
20271
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
20256
20272
|
*/
|
|
20257
20273
|
|
|
20258
20274
|
.dm-theme-admin-sharp-indigo {
|
|
@@ -20390,7 +20406,7 @@ code {
|
|
|
20390
20406
|
|
|
20391
20407
|
/**
|
|
20392
20408
|
* Domma Admin Sharp · Teal
|
|
20393
|
-
* GENERATED by scripts/generate-admin-themes.js
|
|
20409
|
+
* GENERATED by scripts/generate-admin-themes.js - do not edit by hand.
|
|
20394
20410
|
*/
|
|
20395
20411
|
|
|
20396
20412
|
.dm-theme-admin-sharp-teal {
|