domma-js 0.54.0 → 0.56.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/elements.d.ts +510 -3
- package/assets/types/i18n.d.ts +99 -0
- package/assets/types/index.d.ts +10 -0
- package/package.json +1 -1
- package/public/dist/bundles/domma-complete.css +1501 -55
- package/public/dist/bundles/domma-data-focused.css +1501 -55
- package/public/dist/bundles/domma-essentials.css +1501 -55
- package/public/dist/bundles/domma-full.css +1501 -55
- package/public/dist/bundles/domma-minimal.css +8 -8
- 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 +3 -3
- package/public/dist/domma.esm.js +5 -5
- package/public/dist/domma.esm.js.map +1 -1
- package/public/dist/domma.min.js +5 -5
- package/public/dist/domma.min.js.map +1 -1
- package/public/dist/elements.css +1493 -47
- package/public/dist/grid.css +3 -3
- package/public/dist/syntax.css +3 -3
- package/public/dist/themes/domma-themes.css +3 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Domma Essentials CSS Bundle v0.
|
|
2
|
+
* Domma Essentials CSS Bundle v0.56.0
|
|
3
3
|
* Dynamic Object Manipulation & Modeling API
|
|
4
4
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5
|
-
* Built: 2026-10-
|
|
5
|
+
* Built: 2026-10-24T16:12:49.294Z
|
|
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.56.0
|
|
15
15
|
* Dynamic Object Manipulation & Modeling API
|
|
16
16
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
17
|
-
* Built: 2026-10-
|
|
18
|
-
* Commit:
|
|
17
|
+
* Built: 2026-10-24T16:12:49.151Z
|
|
18
|
+
* Commit: f768320
|
|
19
19
|
*/
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -4971,11 +4971,11 @@ body.dm-cloaked.dm-ready {
|
|
|
4971
4971
|
============================================ */
|
|
4972
4972
|
|
|
4973
4973
|
/*!
|
|
4974
|
-
* Domma Grid CSS v0.
|
|
4974
|
+
* Domma Grid CSS v0.56.0
|
|
4975
4975
|
* Dynamic Object Manipulation & Modeling API
|
|
4976
4976
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
4977
|
-
* Built: 2026-10-
|
|
4978
|
-
* Commit:
|
|
4977
|
+
* Built: 2026-10-24T16:12:49.154Z
|
|
4978
|
+
* Commit: f768320
|
|
4979
4979
|
*/
|
|
4980
4980
|
|
|
4981
4981
|
/**
|
|
@@ -5596,11 +5596,11 @@ body.dm-cloaked.dm-ready {
|
|
|
5596
5596
|
============================================ */
|
|
5597
5597
|
|
|
5598
5598
|
/*!
|
|
5599
|
-
* Domma Elements CSS v0.
|
|
5599
|
+
* Domma Elements CSS v0.56.0
|
|
5600
5600
|
* Dynamic Object Manipulation & Modeling API
|
|
5601
5601
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
5602
|
-
* Built: 2026-10-
|
|
5603
|
-
* Commit:
|
|
5602
|
+
* Built: 2026-10-24T16:12:49.159Z
|
|
5603
|
+
* Commit: f768320
|
|
5604
5604
|
*/
|
|
5605
5605
|
|
|
5606
5606
|
/**
|
|
@@ -5963,6 +5963,54 @@ body.dm-cloaked.dm-ready {
|
|
|
5963
5963
|
padding-bottom: 0;
|
|
5964
5964
|
}
|
|
5965
5965
|
|
|
5966
|
+
/* E.card options (src/components/card.js) */
|
|
5967
|
+
.card-collapsible .card-body,
|
|
5968
|
+
.card-collapse-icon {
|
|
5969
|
+
transition-duration: var(--dm-card-duration, 200ms);
|
|
5970
|
+
}
|
|
5971
|
+
|
|
5972
|
+
.card-no-animation,
|
|
5973
|
+
.card-no-animation .card-body,
|
|
5974
|
+
.card-no-animation .card-collapse-icon {
|
|
5975
|
+
transition: none;
|
|
5976
|
+
}
|
|
5977
|
+
|
|
5978
|
+
.card-collapse-icon {
|
|
5979
|
+
display: inline-flex;
|
|
5980
|
+
align-items: center;
|
|
5981
|
+
}
|
|
5982
|
+
|
|
5983
|
+
.card-primary .card-collapse-icon,
|
|
5984
|
+
.card-primary.card-collapsible .card-header:hover .card-collapse-icon {
|
|
5985
|
+
color: inherit;
|
|
5986
|
+
}
|
|
5987
|
+
|
|
5988
|
+
.card-title-icon {
|
|
5989
|
+
display: inline-flex;
|
|
5990
|
+
vertical-align: -0.125em;
|
|
5991
|
+
margin-right: var(--dm-space-2);
|
|
5992
|
+
}
|
|
5993
|
+
|
|
5994
|
+
.card-clickable {
|
|
5995
|
+
cursor: pointer;
|
|
5996
|
+
}
|
|
5997
|
+
|
|
5998
|
+
.card-shadow-none {
|
|
5999
|
+
box-shadow: none;
|
|
6000
|
+
}
|
|
6001
|
+
|
|
6002
|
+
.card-shadow-sm {
|
|
6003
|
+
box-shadow: var(--dm-shadow-sm);
|
|
6004
|
+
}
|
|
6005
|
+
|
|
6006
|
+
.card-shadow-lg {
|
|
6007
|
+
box-shadow: var(--dm-shadow-lg);
|
|
6008
|
+
}
|
|
6009
|
+
|
|
6010
|
+
.card-square {
|
|
6011
|
+
border-radius: 0;
|
|
6012
|
+
}
|
|
6013
|
+
|
|
5966
6014
|
|
|
5967
6015
|
/* ============================================
|
|
5968
6016
|
MODAL
|
|
@@ -6065,6 +6113,50 @@ body.dm-cloaked.dm-ready {
|
|
|
6065
6113
|
max-width: 1200px !important;
|
|
6066
6114
|
}
|
|
6067
6115
|
|
|
6116
|
+
/* E.modal (src/components/modal.js): the caller's element becomes the full-screen layer
|
|
6117
|
+
that holds the dialog drawn in its shadow root. The class is doubled so it outranks
|
|
6118
|
+
.modal / .modal-sm / .modal.active, which describe the hand-written, JS-free modal
|
|
6119
|
+
box and would otherwise hide or shrink the layer. z-index stays settable inline. */
|
|
6120
|
+
.dm-modal-host.dm-modal-host {
|
|
6121
|
+
display: none;
|
|
6122
|
+
position: fixed;
|
|
6123
|
+
inset: 0;
|
|
6124
|
+
top: 0;
|
|
6125
|
+
left: 0;
|
|
6126
|
+
right: 0;
|
|
6127
|
+
bottom: 0;
|
|
6128
|
+
width: auto;
|
|
6129
|
+
max-width: none;
|
|
6130
|
+
height: auto;
|
|
6131
|
+
max-height: none;
|
|
6132
|
+
margin: 0;
|
|
6133
|
+
padding: 0;
|
|
6134
|
+
border: 0;
|
|
6135
|
+
border-radius: 0;
|
|
6136
|
+
background: none;
|
|
6137
|
+
box-shadow: none;
|
|
6138
|
+
overflow: visible;
|
|
6139
|
+
opacity: 1;
|
|
6140
|
+
transform: none;
|
|
6141
|
+
transition: none;
|
|
6142
|
+
pointer-events: auto;
|
|
6143
|
+
align-items: center;
|
|
6144
|
+
justify-content: center;
|
|
6145
|
+
}
|
|
6146
|
+
|
|
6147
|
+
.dm-modal-host.dm-modal-host.dm-modal-visible {
|
|
6148
|
+
display: flex;
|
|
6149
|
+
}
|
|
6150
|
+
|
|
6151
|
+
.dm-modal-host.dm-modal-host.dm-modal-no-backdrop {
|
|
6152
|
+
pointer-events: none;
|
|
6153
|
+
}
|
|
6154
|
+
|
|
6155
|
+
.dm-modal-host.dm-modal-host.dm-modal-top {
|
|
6156
|
+
align-items: flex-start;
|
|
6157
|
+
padding-top: 5vh;
|
|
6158
|
+
}
|
|
6159
|
+
|
|
6068
6160
|
|
|
6069
6161
|
/* ============================================
|
|
6070
6162
|
TABS
|
|
@@ -7043,6 +7135,57 @@ textarea:not([class])::placeholder {
|
|
|
7043
7135
|
color: var(--dm-info-text, var(--dm-white));
|
|
7044
7136
|
}
|
|
7045
7137
|
|
|
7138
|
+
.badge-light {
|
|
7139
|
+
background-color: var(--dm-background-alt);
|
|
7140
|
+
color: var(--dm-text);
|
|
7141
|
+
}
|
|
7142
|
+
|
|
7143
|
+
.badge-dark {
|
|
7144
|
+
background-color: var(--dm-text);
|
|
7145
|
+
color: var(--dm-background);
|
|
7146
|
+
}
|
|
7147
|
+
|
|
7148
|
+
/* E.badge options (src/components/badge.js) */
|
|
7149
|
+
.badge {
|
|
7150
|
+
gap: 0.25rem;
|
|
7151
|
+
}
|
|
7152
|
+
|
|
7153
|
+
.badge-sm {
|
|
7154
|
+
padding: 2px 6px;
|
|
7155
|
+
font-size: 0.625rem;
|
|
7156
|
+
}
|
|
7157
|
+
|
|
7158
|
+
.badge-lg {
|
|
7159
|
+
padding: var(--dm-space-1) var(--dm-space-3);
|
|
7160
|
+
font-size: var(--dm-font-size-sm);
|
|
7161
|
+
}
|
|
7162
|
+
|
|
7163
|
+
.badge-rounded {
|
|
7164
|
+
border-radius: var(--dm-radius-sm);
|
|
7165
|
+
}
|
|
7166
|
+
|
|
7167
|
+
.badge-pill {
|
|
7168
|
+
border-radius: var(--dm-radius-full);
|
|
7169
|
+
}
|
|
7170
|
+
|
|
7171
|
+
/* Outline badges carry .badge-outline-<variant> instead of the filled .badge-<variant>:
|
|
7172
|
+
the page's text on its surface, ringed in the variant colour - legible in every theme
|
|
7173
|
+
(variant-coloured text is not: warning on a light surface is under 2:1) */
|
|
7174
|
+
.badge-outline {
|
|
7175
|
+
background-color: var(--dm-surface);
|
|
7176
|
+
color: var(--dm-text);
|
|
7177
|
+
box-shadow: inset 0 0 0 1px var(--dm-border);
|
|
7178
|
+
}
|
|
7179
|
+
|
|
7180
|
+
.badge-outline-primary { box-shadow: inset 0 0 0 1px var(--dm-primary); }
|
|
7181
|
+
.badge-outline-secondary { box-shadow: inset 0 0 0 1px var(--dm-text-secondary); }
|
|
7182
|
+
.badge-outline-success { box-shadow: inset 0 0 0 1px var(--dm-success); }
|
|
7183
|
+
.badge-outline-danger { box-shadow: inset 0 0 0 1px var(--dm-danger); }
|
|
7184
|
+
.badge-outline-warning { box-shadow: inset 0 0 0 1px var(--dm-warning); }
|
|
7185
|
+
.badge-outline-info { box-shadow: inset 0 0 0 1px var(--dm-info); }
|
|
7186
|
+
.badge-outline-light { box-shadow: inset 0 0 0 1px var(--dm-border); }
|
|
7187
|
+
.badge-outline-dark { box-shadow: inset 0 0 0 1px var(--dm-text); }
|
|
7188
|
+
|
|
7046
7189
|
/* Pulse animation for new content indicators */
|
|
7047
7190
|
.badge-pulse {
|
|
7048
7191
|
animation: badge-pulse 2s ease-in-out infinite;
|
|
@@ -7088,6 +7231,15 @@ textarea:not([class])::placeholder {
|
|
|
7088
7231
|
background-color: var(--dm-danger);
|
|
7089
7232
|
}
|
|
7090
7233
|
|
|
7234
|
+
/* E.numberBadge puts the counter inside its target; a target already positioned keeps its own */
|
|
7235
|
+
:where(.badge-counter-host) {
|
|
7236
|
+
position: relative;
|
|
7237
|
+
}
|
|
7238
|
+
|
|
7239
|
+
domma-number-badge {
|
|
7240
|
+
display: inline-flex;
|
|
7241
|
+
}
|
|
7242
|
+
|
|
7091
7243
|
/* Wrapper for positioned counter badges */
|
|
7092
7244
|
.badge-counter-wrapper {
|
|
7093
7245
|
position: relative;
|
|
@@ -11088,17 +11240,22 @@ code {
|
|
|
11088
11240
|
TOOLTIP
|
|
11089
11241
|
============================================ */
|
|
11090
11242
|
|
|
11243
|
+
/* E.tooltip's bubble (src/components/tooltip.js): on document.body, placed at the target.
|
|
11244
|
+
Inverted against the page - the text colour as its fill - in light and dark themes. */
|
|
11091
11245
|
.domma-tooltip {
|
|
11092
|
-
|
|
11093
|
-
|
|
11094
|
-
|
|
11095
|
-
|
|
11246
|
+
--dm-tooltip-bg: var(--dm-text);
|
|
11247
|
+
position: fixed;
|
|
11248
|
+
top: 0;
|
|
11249
|
+
left: 0;
|
|
11250
|
+
z-index: 10050;
|
|
11251
|
+
background-color: var(--dm-text);
|
|
11252
|
+
color: var(--dm-background);
|
|
11096
11253
|
padding: 0.5rem 0.75rem;
|
|
11097
11254
|
border-radius: var(--dm-radius-md);
|
|
11098
11255
|
font-size: 0.875rem;
|
|
11099
11256
|
line-height: 1.4;
|
|
11100
|
-
max-width:
|
|
11101
|
-
|
|
11257
|
+
max-width: 250px;
|
|
11258
|
+
overflow-wrap: break-word;
|
|
11102
11259
|
pointer-events: none;
|
|
11103
11260
|
opacity: 0;
|
|
11104
11261
|
transition: opacity var(--dm-transition-fast);
|
|
@@ -11109,9 +11266,42 @@ code {
|
|
|
11109
11266
|
opacity: 1;
|
|
11110
11267
|
}
|
|
11111
11268
|
|
|
11112
|
-
|
|
11113
|
-
|
|
11114
|
-
|
|
11269
|
+
.domma-tooltip::before {
|
|
11270
|
+
content: '';
|
|
11271
|
+
position: absolute;
|
|
11272
|
+
border: 5px solid transparent;
|
|
11273
|
+
}
|
|
11274
|
+
|
|
11275
|
+
.domma-tooltip[data-position="top"]::before {
|
|
11276
|
+
top: 100%;
|
|
11277
|
+
left: 50%;
|
|
11278
|
+
transform: translateX(-50%);
|
|
11279
|
+
border-top-color: var(--dm-tooltip-bg);
|
|
11280
|
+
}
|
|
11281
|
+
|
|
11282
|
+
.domma-tooltip[data-position="bottom"]::before {
|
|
11283
|
+
bottom: 100%;
|
|
11284
|
+
left: 50%;
|
|
11285
|
+
transform: translateX(-50%);
|
|
11286
|
+
border-bottom-color: var(--dm-tooltip-bg);
|
|
11287
|
+
}
|
|
11288
|
+
|
|
11289
|
+
.domma-tooltip[data-position="left"]::before {
|
|
11290
|
+
left: 100%;
|
|
11291
|
+
top: 50%;
|
|
11292
|
+
transform: translateY(-50%);
|
|
11293
|
+
border-left-color: var(--dm-tooltip-bg);
|
|
11294
|
+
}
|
|
11295
|
+
|
|
11296
|
+
.domma-tooltip[data-position="right"]::before {
|
|
11297
|
+
right: 100%;
|
|
11298
|
+
top: 50%;
|
|
11299
|
+
transform: translateY(-50%);
|
|
11300
|
+
border-right-color: var(--dm-tooltip-bg);
|
|
11301
|
+
}
|
|
11302
|
+
|
|
11303
|
+
domma-tooltip {
|
|
11304
|
+
display: inline-block;
|
|
11115
11305
|
}
|
|
11116
11306
|
|
|
11117
11307
|
|
|
@@ -11333,21 +11523,36 @@ code {
|
|
|
11333
11523
|
}
|
|
11334
11524
|
|
|
11335
11525
|
/* Toast variants */
|
|
11526
|
+
.domma-toast {
|
|
11527
|
+
position: relative;
|
|
11528
|
+
overflow: hidden;
|
|
11529
|
+
align-items: flex-start;
|
|
11530
|
+
border: 1px solid var(--dm-border);
|
|
11531
|
+
transition-duration: var(--dm-toast-duration, 300ms);
|
|
11532
|
+
}
|
|
11533
|
+
|
|
11336
11534
|
.domma-toast.domma-toast-success {
|
|
11337
11535
|
background-color: var(--dm-success);
|
|
11536
|
+
color: var(--dm-success-text, var(--dm-white));
|
|
11537
|
+
border-color: transparent;
|
|
11338
11538
|
}
|
|
11339
11539
|
|
|
11340
11540
|
.domma-toast.domma-toast-error {
|
|
11341
11541
|
background-color: var(--dm-danger);
|
|
11542
|
+
color: var(--dm-danger-text, var(--dm-white));
|
|
11543
|
+
border-color: transparent;
|
|
11342
11544
|
}
|
|
11343
11545
|
|
|
11344
11546
|
.domma-toast.domma-toast-warning {
|
|
11345
11547
|
background-color: var(--dm-warning);
|
|
11346
11548
|
color: var(--dm-warning-text, var(--dm-text));
|
|
11549
|
+
border-color: transparent;
|
|
11347
11550
|
}
|
|
11348
11551
|
|
|
11349
11552
|
.domma-toast.domma-toast-info {
|
|
11350
11553
|
background-color: var(--dm-info);
|
|
11554
|
+
color: var(--dm-info-text, var(--dm-white));
|
|
11555
|
+
border-color: transparent;
|
|
11351
11556
|
}
|
|
11352
11557
|
|
|
11353
11558
|
/* Toast internal structure */
|
|
@@ -11391,6 +11596,72 @@ code {
|
|
|
11391
11596
|
display: block;
|
|
11392
11597
|
}
|
|
11393
11598
|
|
|
11599
|
+
.domma-toast-close {
|
|
11600
|
+
font-size: 1.25rem;
|
|
11601
|
+
line-height: 1;
|
|
11602
|
+
}
|
|
11603
|
+
|
|
11604
|
+
.domma-toast-icon {
|
|
11605
|
+
display: flex;
|
|
11606
|
+
align-items: center;
|
|
11607
|
+
}
|
|
11608
|
+
|
|
11609
|
+
.domma-toast-title[hidden],
|
|
11610
|
+
.domma-toast-actions[hidden] {
|
|
11611
|
+
display: none;
|
|
11612
|
+
}
|
|
11613
|
+
|
|
11614
|
+
.domma-toast-message {
|
|
11615
|
+
overflow-wrap: anywhere;
|
|
11616
|
+
}
|
|
11617
|
+
|
|
11618
|
+
.domma-toast-actions {
|
|
11619
|
+
display: flex;
|
|
11620
|
+
gap: 0.5rem;
|
|
11621
|
+
margin-top: 0.5rem;
|
|
11622
|
+
}
|
|
11623
|
+
|
|
11624
|
+
.domma-toast-action {
|
|
11625
|
+
padding: 0.25rem 0.75rem;
|
|
11626
|
+
border: 1px solid currentColor;
|
|
11627
|
+
border-radius: var(--dm-radius-sm);
|
|
11628
|
+
background: transparent;
|
|
11629
|
+
color: inherit;
|
|
11630
|
+
font: inherit;
|
|
11631
|
+
font-size: 0.8rem;
|
|
11632
|
+
font-weight: 500;
|
|
11633
|
+
cursor: pointer;
|
|
11634
|
+
}
|
|
11635
|
+
|
|
11636
|
+
.domma-toast-action.is-primary {
|
|
11637
|
+
background-color: var(--dm-primary);
|
|
11638
|
+
color: var(--dm-primary-text, var(--dm-white));
|
|
11639
|
+
border-color: var(--dm-primary);
|
|
11640
|
+
}
|
|
11641
|
+
|
|
11642
|
+
.domma-toast-progress {
|
|
11643
|
+
position: absolute;
|
|
11644
|
+
left: 0;
|
|
11645
|
+
right: 0;
|
|
11646
|
+
bottom: 0;
|
|
11647
|
+
height: 3px;
|
|
11648
|
+
background: color-mix(in srgb, currentColor 15%, transparent);
|
|
11649
|
+
}
|
|
11650
|
+
|
|
11651
|
+
.domma-toast-progress-bar {
|
|
11652
|
+
width: 100%;
|
|
11653
|
+
height: 100%;
|
|
11654
|
+
background: currentColor;
|
|
11655
|
+
opacity: 0.6;
|
|
11656
|
+
}
|
|
11657
|
+
|
|
11658
|
+
@media (prefers-reduced-motion: reduce) {
|
|
11659
|
+
.domma-toast,
|
|
11660
|
+
.domma-toast-progress-bar {
|
|
11661
|
+
transition: none !important;
|
|
11662
|
+
}
|
|
11663
|
+
}
|
|
11664
|
+
|
|
11394
11665
|
|
|
11395
11666
|
/* ============================================
|
|
11396
11667
|
BACK TO TOP BUTTON
|
|
@@ -11439,6 +11710,20 @@ code {
|
|
|
11439
11710
|
box-shadow: 0 0 0 3px var(--dm-focus-ring);
|
|
11440
11711
|
}
|
|
11441
11712
|
|
|
11713
|
+
/* E.backToTop on a button inside the container it watches: it sticks to that
|
|
11714
|
+
container's bottom corner instead of the viewport's */
|
|
11715
|
+
.dm-back-to-top.dm-back-to-top-contained {
|
|
11716
|
+
position: sticky;
|
|
11717
|
+
right: auto;
|
|
11718
|
+
left: auto;
|
|
11719
|
+
margin-left: auto;
|
|
11720
|
+
}
|
|
11721
|
+
|
|
11722
|
+
.dm-back-to-top.dm-back-to-top-contained.dm-back-to-top-left {
|
|
11723
|
+
margin-left: 0;
|
|
11724
|
+
margin-right: auto;
|
|
11725
|
+
}
|
|
11726
|
+
|
|
11442
11727
|
/* Desktop (≥577px) - Back to Top enhancements */
|
|
11443
11728
|
@media (min-width: 577px) {
|
|
11444
11729
|
.dm-back-to-top {
|
|
@@ -11462,49 +11747,146 @@ code {
|
|
|
11462
11747
|
gap: 0.75rem;
|
|
11463
11748
|
}
|
|
11464
11749
|
|
|
11465
|
-
.dm-loader
|
|
11466
|
-
|
|
11467
|
-
top: 0;
|
|
11468
|
-
left: 0;
|
|
11469
|
-
right: 0;
|
|
11470
|
-
bottom: 0;
|
|
11471
|
-
z-index: 1000;
|
|
11472
|
-
background-color: var(--dm-loader-overlay-bg, rgba(255, 255, 255, 0.9));
|
|
11750
|
+
.dm-loader[hidden] {
|
|
11751
|
+
display: none !important;
|
|
11473
11752
|
}
|
|
11474
11753
|
|
|
11475
|
-
|
|
11476
|
-
|
|
11754
|
+
/* E.loader's indicator (src/components/loader.js); size and colour come from
|
|
11755
|
+
--dm-loader-size / --dm-loader-color, set from the options */
|
|
11756
|
+
.dm-loader-js {
|
|
11757
|
+
--dm-loader-size: 40px;
|
|
11758
|
+
--dm-loader-color: var(--dm-primary);
|
|
11477
11759
|
}
|
|
11478
11760
|
|
|
11479
|
-
/*
|
|
11480
|
-
|
|
11481
|
-
|
|
11482
|
-
|
|
11483
|
-
|
|
11484
|
-
|
|
11485
|
-
|
|
11486
|
-
animation: dm-loader-spin 0.8s linear infinite;
|
|
11761
|
+
/* Centred over the nearest positioned ancestor, as <domma-loader> always drew it - the
|
|
11762
|
+
container's own content stays where it is and the loader sits on top of it. */
|
|
11763
|
+
.dm-loader-js.dm-loader-centered {
|
|
11764
|
+
position: absolute;
|
|
11765
|
+
top: 50%;
|
|
11766
|
+
left: 50%;
|
|
11767
|
+
transform: translate(-50%, -50%);
|
|
11487
11768
|
}
|
|
11488
11769
|
|
|
11489
|
-
|
|
11490
|
-
|
|
11491
|
-
border-top-color: var(--dm-primary);
|
|
11770
|
+
:where(.dm-loader-host) {
|
|
11771
|
+
position: relative;
|
|
11492
11772
|
}
|
|
11493
11773
|
|
|
11494
|
-
|
|
11495
|
-
|
|
11496
|
-
display: flex;
|
|
11497
|
-
gap: 0.5rem;
|
|
11774
|
+
.dm-loader-anim {
|
|
11775
|
+
flex-shrink: 0;
|
|
11498
11776
|
}
|
|
11499
11777
|
|
|
11500
|
-
.dm-loader-
|
|
11501
|
-
|
|
11502
|
-
|
|
11503
|
-
|
|
11504
|
-
|
|
11505
|
-
background-color: var(--dm-primary);
|
|
11778
|
+
.dm-loader-anim-spinner {
|
|
11779
|
+
width: var(--dm-loader-size);
|
|
11780
|
+
height: var(--dm-loader-size);
|
|
11781
|
+
border: max(2px, calc(var(--dm-loader-size) / 10)) solid var(--dm-loader-color);
|
|
11782
|
+
border-top-color: transparent;
|
|
11506
11783
|
border-radius: 50%;
|
|
11507
|
-
animation: dm-loader-
|
|
11784
|
+
animation: dm-loader-spin 0.8s linear infinite;
|
|
11785
|
+
}
|
|
11786
|
+
|
|
11787
|
+
.dm-loader-anim-dots,
|
|
11788
|
+
.dm-loader-anim-bars {
|
|
11789
|
+
display: flex;
|
|
11790
|
+
align-items: center;
|
|
11791
|
+
gap: calc(var(--dm-loader-size) / 8);
|
|
11792
|
+
height: var(--dm-loader-size);
|
|
11793
|
+
}
|
|
11794
|
+
|
|
11795
|
+
.dm-loader-anim-dots span {
|
|
11796
|
+
/* Shapes are drawn with borders, not backgrounds: they hold no text */
|
|
11797
|
+
width: 0;
|
|
11798
|
+
height: 0;
|
|
11799
|
+
border: calc(var(--dm-loader-size) / 8) solid var(--dm-loader-color);
|
|
11800
|
+
border-radius: 50%;
|
|
11801
|
+
animation: dm-loader-bounce 1.4s ease-in-out infinite both;
|
|
11802
|
+
}
|
|
11803
|
+
|
|
11804
|
+
.dm-loader-anim-dots span:nth-child(2) { animation-delay: 0.16s; }
|
|
11805
|
+
.dm-loader-anim-dots span:nth-child(3) { animation-delay: 0.32s; }
|
|
11806
|
+
|
|
11807
|
+
.dm-loader-anim-pulse {
|
|
11808
|
+
width: 0;
|
|
11809
|
+
height: 0;
|
|
11810
|
+
border: calc(var(--dm-loader-size) / 2) solid var(--dm-loader-color);
|
|
11811
|
+
border-radius: 50%;
|
|
11812
|
+
animation: dm-loader-pulse 1.2s ease-in-out infinite;
|
|
11813
|
+
}
|
|
11814
|
+
|
|
11815
|
+
.dm-loader-anim-bars span {
|
|
11816
|
+
width: 0;
|
|
11817
|
+
height: 100%;
|
|
11818
|
+
border-left: calc(var(--dm-loader-size) / 6) solid var(--dm-loader-color);
|
|
11819
|
+
border-radius: 2px;
|
|
11820
|
+
animation: dm-loader-bars 1s ease-in-out infinite;
|
|
11821
|
+
}
|
|
11822
|
+
|
|
11823
|
+
.dm-loader-anim-bars span:nth-child(2) { animation-delay: 0.1s; }
|
|
11824
|
+
.dm-loader-anim-bars span:nth-child(3) { animation-delay: 0.2s; }
|
|
11825
|
+
.dm-loader-anim-bars span:nth-child(4) { animation-delay: 0.3s; }
|
|
11826
|
+
|
|
11827
|
+
.dm-loader-fullscreen {
|
|
11828
|
+
position: fixed;
|
|
11829
|
+
inset: 0;
|
|
11830
|
+
z-index: 9999;
|
|
11831
|
+
display: flex;
|
|
11832
|
+
align-items: center;
|
|
11833
|
+
justify-content: center;
|
|
11834
|
+
background-color: rgba(0, 0, 0, 0.7);
|
|
11835
|
+
}
|
|
11836
|
+
|
|
11837
|
+
.dm-loader-fullscreen .dm-loader-text {
|
|
11838
|
+
color: #fff;
|
|
11839
|
+
}
|
|
11840
|
+
|
|
11841
|
+
domma-loader,
|
|
11842
|
+
domma-card,
|
|
11843
|
+
domma-back-to-top {
|
|
11844
|
+
display: block;
|
|
11845
|
+
}
|
|
11846
|
+
|
|
11847
|
+
.dm-loader.dm-loader-overlay {
|
|
11848
|
+
position: absolute;
|
|
11849
|
+
top: 0;
|
|
11850
|
+
left: 0;
|
|
11851
|
+
right: 0;
|
|
11852
|
+
bottom: 0;
|
|
11853
|
+
z-index: 1000;
|
|
11854
|
+
background-color: var(--dm-loader-overlay-bg, rgba(255, 255, 255, 0.9));
|
|
11855
|
+
}
|
|
11856
|
+
|
|
11857
|
+
[data-mode="dark"] .dm-loader.dm-loader-overlay {
|
|
11858
|
+
background-color: var(--dm-loader-overlay-bg, rgba(0, 0, 0, 0.8));
|
|
11859
|
+
}
|
|
11860
|
+
|
|
11861
|
+
/* Spinner type */
|
|
11862
|
+
.dm-loader-spinner {
|
|
11863
|
+
width: 2rem;
|
|
11864
|
+
height: 2rem;
|
|
11865
|
+
border: 3px solid var(--dm-border);
|
|
11866
|
+
border-top-color: var(--dm-primary);
|
|
11867
|
+
border-radius: 50%;
|
|
11868
|
+
animation: dm-loader-spin 0.8s linear infinite;
|
|
11869
|
+
}
|
|
11870
|
+
|
|
11871
|
+
[data-mode="dark"] .dm-loader-spinner {
|
|
11872
|
+
border-color: var(--dm-text);
|
|
11873
|
+
border-top-color: var(--dm-primary);
|
|
11874
|
+
}
|
|
11875
|
+
|
|
11876
|
+
/* Dots type */
|
|
11877
|
+
.dm-loader-dots {
|
|
11878
|
+
display: flex;
|
|
11879
|
+
gap: 0.5rem;
|
|
11880
|
+
}
|
|
11881
|
+
|
|
11882
|
+
.dm-loader-dots::before,
|
|
11883
|
+
.dm-loader-dots::after {
|
|
11884
|
+
content: '';
|
|
11885
|
+
width: 0.75rem;
|
|
11886
|
+
height: 0.75rem;
|
|
11887
|
+
background-color: var(--dm-primary);
|
|
11888
|
+
border-radius: 50%;
|
|
11889
|
+
animation: dm-loader-bounce 1.4s infinite ease-in-out both;
|
|
11508
11890
|
}
|
|
11509
11891
|
|
|
11510
11892
|
.dm-loader-dots::before {
|
|
@@ -15154,6 +15536,1070 @@ a.avatar-more-person:hover .avatar-more-name {
|
|
|
15154
15536
|
text-decoration: underline;
|
|
15155
15537
|
}
|
|
15156
15538
|
|
|
15539
|
+
/* ===== Command Palette ===== */
|
|
15540
|
+
/*
|
|
15541
|
+
* E.commandPalette(options) - src/components/command-palette.js
|
|
15542
|
+
*
|
|
15543
|
+
* The overlay covers the viewport: a backdrop and a panel near the top, the way the
|
|
15544
|
+
* modal looks (--dm-modal-* tokens), so it sits with the site's dialogs in every theme.
|
|
15545
|
+
* Above modals and slideovers, which it is often opened over; below popovers (10045)
|
|
15546
|
+
* and the context menu (10050).
|
|
15547
|
+
*/
|
|
15548
|
+
.dm-command-palette {
|
|
15549
|
+
position: fixed;
|
|
15550
|
+
inset: 0;
|
|
15551
|
+
z-index: 10040;
|
|
15552
|
+
display: flex;
|
|
15553
|
+
justify-content: center;
|
|
15554
|
+
align-items: flex-start;
|
|
15555
|
+
padding: 12vh 1rem 1rem;
|
|
15556
|
+
box-sizing: border-box;
|
|
15557
|
+
--dm-command-palette-duration: 150ms;
|
|
15558
|
+
}
|
|
15559
|
+
|
|
15560
|
+
.dm-command-palette[hidden] {
|
|
15561
|
+
display: none;
|
|
15562
|
+
}
|
|
15563
|
+
|
|
15564
|
+
.dm-command-palette *,
|
|
15565
|
+
.dm-command-palette *::before,
|
|
15566
|
+
.dm-command-palette *::after {
|
|
15567
|
+
box-sizing: border-box;
|
|
15568
|
+
}
|
|
15569
|
+
|
|
15570
|
+
.dm-command-palette-backdrop {
|
|
15571
|
+
position: fixed;
|
|
15572
|
+
inset: 0;
|
|
15573
|
+
background: var(--dm-modal-backdrop);
|
|
15574
|
+
opacity: 0;
|
|
15575
|
+
transition: opacity var(--dm-command-palette-duration) ease;
|
|
15576
|
+
}
|
|
15577
|
+
|
|
15578
|
+
.dm-command-palette-panel {
|
|
15579
|
+
position: relative;
|
|
15580
|
+
display: flex;
|
|
15581
|
+
flex-direction: column;
|
|
15582
|
+
width: min(40rem, 100%);
|
|
15583
|
+
max-height: min(32rem, 76vh);
|
|
15584
|
+
background: var(--dm-modal-bg);
|
|
15585
|
+
color: var(--dm-text);
|
|
15586
|
+
border: 1px solid var(--dm-modal-border);
|
|
15587
|
+
border-radius: var(--dm-radius-lg);
|
|
15588
|
+
box-shadow: var(--dm-modal-shadow);
|
|
15589
|
+
overflow: hidden;
|
|
15590
|
+
opacity: 0;
|
|
15591
|
+
transform: scale(0.97) translateY(-6px);
|
|
15592
|
+
transition:
|
|
15593
|
+
opacity var(--dm-command-palette-duration) ease,
|
|
15594
|
+
transform var(--dm-command-palette-duration) cubic-bezier(0.16, 1, 0.3, 1);
|
|
15595
|
+
}
|
|
15596
|
+
|
|
15597
|
+
.dm-command-palette.is-open .dm-command-palette-backdrop { opacity: 1; }
|
|
15598
|
+
.dm-command-palette.is-open .dm-command-palette-panel { opacity: 1; transform: none; }
|
|
15599
|
+
|
|
15600
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15601
|
+
.dm-command-palette-backdrop,
|
|
15602
|
+
.dm-command-palette-panel {
|
|
15603
|
+
transition: none;
|
|
15604
|
+
}
|
|
15605
|
+
}
|
|
15606
|
+
|
|
15607
|
+
/* Where you are in nested pages, with a way back up. */
|
|
15608
|
+
.dm-command-palette-crumbs {
|
|
15609
|
+
display: flex;
|
|
15610
|
+
align-items: center;
|
|
15611
|
+
gap: 0.5rem;
|
|
15612
|
+
padding: 0.625rem 0.875rem 0;
|
|
15613
|
+
font-size: 0.8125rem;
|
|
15614
|
+
color: var(--dm-text-muted);
|
|
15615
|
+
}
|
|
15616
|
+
|
|
15617
|
+
.dm-command-palette-crumbs[hidden] { display: none; }
|
|
15618
|
+
|
|
15619
|
+
.dm-command-palette-back {
|
|
15620
|
+
display: inline-flex;
|
|
15621
|
+
align-items: center;
|
|
15622
|
+
justify-content: center;
|
|
15623
|
+
width: 1.75rem;
|
|
15624
|
+
height: 1.75rem;
|
|
15625
|
+
padding: 0;
|
|
15626
|
+
border: 1px solid var(--dm-border);
|
|
15627
|
+
border-radius: var(--dm-radius-sm);
|
|
15628
|
+
background: transparent;
|
|
15629
|
+
color: var(--dm-text);
|
|
15630
|
+
cursor: pointer;
|
|
15631
|
+
}
|
|
15632
|
+
|
|
15633
|
+
.dm-command-palette-back:hover { background: var(--dm-hover-bg); }
|
|
15634
|
+
|
|
15635
|
+
.dm-command-palette-back:focus-visible {
|
|
15636
|
+
outline: 2px solid var(--dm-border-focus);
|
|
15637
|
+
outline-offset: 1px;
|
|
15638
|
+
}
|
|
15639
|
+
|
|
15640
|
+
.dm-command-palette-trail {
|
|
15641
|
+
display: flex;
|
|
15642
|
+
flex-wrap: wrap;
|
|
15643
|
+
gap: 0.25rem;
|
|
15644
|
+
margin: 0;
|
|
15645
|
+
padding: 0;
|
|
15646
|
+
list-style: none;
|
|
15647
|
+
}
|
|
15648
|
+
|
|
15649
|
+
.dm-command-palette-trail li + li::before {
|
|
15650
|
+
content: "/";
|
|
15651
|
+
margin-right: 0.25rem;
|
|
15652
|
+
opacity: 0.6;
|
|
15653
|
+
}
|
|
15654
|
+
|
|
15655
|
+
.dm-command-palette-trail [aria-current] { color: var(--dm-text); font-weight: 500; }
|
|
15656
|
+
|
|
15657
|
+
.dm-command-palette-search {
|
|
15658
|
+
display: flex;
|
|
15659
|
+
align-items: center;
|
|
15660
|
+
gap: 0.625rem;
|
|
15661
|
+
padding: 0.75rem 0.875rem;
|
|
15662
|
+
border-bottom: 1px solid var(--dm-border);
|
|
15663
|
+
}
|
|
15664
|
+
|
|
15665
|
+
.dm-command-palette-search-icon {
|
|
15666
|
+
display: inline-flex;
|
|
15667
|
+
color: var(--dm-text-muted);
|
|
15668
|
+
}
|
|
15669
|
+
|
|
15670
|
+
.dm-command-palette-input {
|
|
15671
|
+
flex: 1;
|
|
15672
|
+
min-width: 0;
|
|
15673
|
+
padding: 0.25rem 0;
|
|
15674
|
+
border: 0;
|
|
15675
|
+
background: transparent;
|
|
15676
|
+
color: var(--dm-text);
|
|
15677
|
+
font: inherit;
|
|
15678
|
+
font-size: 1rem;
|
|
15679
|
+
outline: none;
|
|
15680
|
+
}
|
|
15681
|
+
|
|
15682
|
+
.dm-command-palette-input::placeholder { color: var(--dm-input-placeholder); opacity: 1; }
|
|
15683
|
+
|
|
15684
|
+
/* The box is the focus; the panel shows it rather than a ring round a borderless input. */
|
|
15685
|
+
.dm-command-palette-search:focus-within {
|
|
15686
|
+
border-bottom-color: var(--dm-border-focus);
|
|
15687
|
+
}
|
|
15688
|
+
|
|
15689
|
+
.dm-command-palette-spinner {
|
|
15690
|
+
width: 1rem;
|
|
15691
|
+
height: 1rem;
|
|
15692
|
+
border: 2px solid var(--dm-border);
|
|
15693
|
+
border-top-color: var(--dm-primary);
|
|
15694
|
+
border-radius: 50%;
|
|
15695
|
+
animation: dm-command-palette-spin 0.7s linear infinite;
|
|
15696
|
+
}
|
|
15697
|
+
|
|
15698
|
+
.dm-command-palette-spinner[hidden] { display: none; }
|
|
15699
|
+
|
|
15700
|
+
@keyframes dm-command-palette-spin {
|
|
15701
|
+
to { transform: rotate(360deg); }
|
|
15702
|
+
}
|
|
15703
|
+
|
|
15704
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15705
|
+
.dm-command-palette-spinner { animation-duration: 2.4s; }
|
|
15706
|
+
}
|
|
15707
|
+
|
|
15708
|
+
.dm-command-palette-list {
|
|
15709
|
+
flex: 1 1 auto;
|
|
15710
|
+
min-height: 0;
|
|
15711
|
+
overflow-y: auto;
|
|
15712
|
+
overscroll-behavior: contain;
|
|
15713
|
+
padding: 0.375rem;
|
|
15714
|
+
}
|
|
15715
|
+
|
|
15716
|
+
.dm-command-palette-list[hidden] { display: none; }
|
|
15717
|
+
|
|
15718
|
+
.dm-command-palette-group + .dm-command-palette-group,
|
|
15719
|
+
.dm-command-palette-group + .dm-command-palette-item,
|
|
15720
|
+
.dm-command-palette-item + .dm-command-palette-group {
|
|
15721
|
+
margin-top: 0.375rem;
|
|
15722
|
+
}
|
|
15723
|
+
|
|
15724
|
+
.dm-command-palette-group-heading {
|
|
15725
|
+
padding: 0.375rem 0.625rem 0.25rem;
|
|
15726
|
+
font-size: 0.75rem;
|
|
15727
|
+
font-weight: 600;
|
|
15728
|
+
letter-spacing: 0.02em;
|
|
15729
|
+
color: var(--dm-text-muted);
|
|
15730
|
+
}
|
|
15731
|
+
|
|
15732
|
+
.dm-command-palette-item {
|
|
15733
|
+
display: flex;
|
|
15734
|
+
align-items: center;
|
|
15735
|
+
gap: 0.625rem;
|
|
15736
|
+
min-height: 2.5rem;
|
|
15737
|
+
padding: 0.375rem 0.625rem;
|
|
15738
|
+
border-radius: var(--dm-radius-md);
|
|
15739
|
+
color: var(--dm-text);
|
|
15740
|
+
cursor: pointer;
|
|
15741
|
+
user-select: none;
|
|
15742
|
+
}
|
|
15743
|
+
|
|
15744
|
+
.dm-command-palette-item.is-active {
|
|
15745
|
+
background: var(--dm-selected-bg);
|
|
15746
|
+
}
|
|
15747
|
+
|
|
15748
|
+
/* Forced colours drop backgrounds: the active row keeps an outline instead. */
|
|
15749
|
+
@media (forced-colors: active) {
|
|
15750
|
+
.dm-command-palette-item.is-active { outline: 2px solid Highlight; }
|
|
15751
|
+
}
|
|
15752
|
+
|
|
15753
|
+
.dm-command-palette-item[aria-disabled="true"] {
|
|
15754
|
+
cursor: default;
|
|
15755
|
+
opacity: var(--dm-disabled-opacity);
|
|
15756
|
+
}
|
|
15757
|
+
|
|
15758
|
+
.dm-command-palette-icon {
|
|
15759
|
+
flex: 0 0 1rem;
|
|
15760
|
+
display: inline-flex;
|
|
15761
|
+
justify-content: center;
|
|
15762
|
+
color: var(--dm-text-muted);
|
|
15763
|
+
}
|
|
15764
|
+
|
|
15765
|
+
.dm-command-palette-item.is-active .dm-command-palette-icon { color: var(--dm-text); }
|
|
15766
|
+
|
|
15767
|
+
.dm-command-palette-text {
|
|
15768
|
+
flex: 1;
|
|
15769
|
+
min-width: 0;
|
|
15770
|
+
display: flex;
|
|
15771
|
+
flex-direction: column;
|
|
15772
|
+
line-height: 1.3;
|
|
15773
|
+
}
|
|
15774
|
+
|
|
15775
|
+
.dm-command-palette-title,
|
|
15776
|
+
.dm-command-palette-subtitle {
|
|
15777
|
+
overflow: hidden;
|
|
15778
|
+
text-overflow: ellipsis;
|
|
15779
|
+
white-space: nowrap;
|
|
15780
|
+
}
|
|
15781
|
+
|
|
15782
|
+
.dm-command-palette-subtitle {
|
|
15783
|
+
font-size: 0.8125rem;
|
|
15784
|
+
color: var(--dm-text-muted);
|
|
15785
|
+
}
|
|
15786
|
+
|
|
15787
|
+
.dm-command-palette-match {
|
|
15788
|
+
color: var(--dm-primary);
|
|
15789
|
+
font-weight: 600;
|
|
15790
|
+
}
|
|
15791
|
+
|
|
15792
|
+
.dm-command-palette-shortcut,
|
|
15793
|
+
.dm-command-palette-hint {
|
|
15794
|
+
display: inline-flex;
|
|
15795
|
+
align-items: center;
|
|
15796
|
+
gap: 0.25rem;
|
|
15797
|
+
}
|
|
15798
|
+
|
|
15799
|
+
.dm-command-palette kbd {
|
|
15800
|
+
display: inline-flex;
|
|
15801
|
+
align-items: center;
|
|
15802
|
+
justify-content: center;
|
|
15803
|
+
min-width: 1.375rem;
|
|
15804
|
+
height: 1.375rem;
|
|
15805
|
+
padding: 0 0.3rem;
|
|
15806
|
+
border: 1px solid var(--dm-border);
|
|
15807
|
+
border-bottom-width: 2px;
|
|
15808
|
+
border-radius: var(--dm-radius-sm);
|
|
15809
|
+
background: var(--dm-background-alt);
|
|
15810
|
+
color: var(--dm-text-secondary);
|
|
15811
|
+
font-family: inherit;
|
|
15812
|
+
font-size: 0.6875rem;
|
|
15813
|
+
line-height: 1;
|
|
15814
|
+
}
|
|
15815
|
+
|
|
15816
|
+
.dm-command-palette-more {
|
|
15817
|
+
display: inline-flex;
|
|
15818
|
+
color: var(--dm-text-muted);
|
|
15819
|
+
}
|
|
15820
|
+
|
|
15821
|
+
.dm-command-palette-status {
|
|
15822
|
+
padding: 1.5rem 1rem;
|
|
15823
|
+
text-align: center;
|
|
15824
|
+
font-size: 0.875rem;
|
|
15825
|
+
color: var(--dm-text-muted);
|
|
15826
|
+
}
|
|
15827
|
+
|
|
15828
|
+
.dm-command-palette-status[hidden] { display: none; }
|
|
15829
|
+
.dm-command-palette-status[data-state="error"] { color: var(--dm-danger); }
|
|
15830
|
+
|
|
15831
|
+
.dm-command-palette-footer {
|
|
15832
|
+
display: flex;
|
|
15833
|
+
flex-wrap: wrap;
|
|
15834
|
+
gap: 0.5rem 1rem;
|
|
15835
|
+
padding: 0.5rem 0.875rem;
|
|
15836
|
+
border-top: 1px solid var(--dm-border);
|
|
15837
|
+
background: var(--dm-background-alt);
|
|
15838
|
+
color: var(--dm-text-secondary);
|
|
15839
|
+
font-size: 0.75rem;
|
|
15840
|
+
}
|
|
15841
|
+
|
|
15842
|
+
/* Phones: the whole width, from the top. */
|
|
15843
|
+
@media (max-width: 640px) {
|
|
15844
|
+
.dm-command-palette {
|
|
15845
|
+
padding: 0;
|
|
15846
|
+
}
|
|
15847
|
+
|
|
15848
|
+
.dm-command-palette-panel {
|
|
15849
|
+
width: 100%;
|
|
15850
|
+
max-height: 85vh;
|
|
15851
|
+
border-width: 0 0 1px;
|
|
15852
|
+
border-radius: 0 0 var(--dm-radius-lg) var(--dm-radius-lg);
|
|
15853
|
+
}
|
|
15854
|
+
|
|
15855
|
+
.dm-command-palette-footer { display: none; }
|
|
15856
|
+
}
|
|
15857
|
+
|
|
15858
|
+
/* ===== Split Pane ===== */
|
|
15859
|
+
/* E.splitPane(container): flexbox panes with a fixed flex-basis each, gutters between. */
|
|
15860
|
+
.dm-split {
|
|
15861
|
+
display: flex;
|
|
15862
|
+
min-width: 0;
|
|
15863
|
+
min-height: 0;
|
|
15864
|
+
}
|
|
15865
|
+
|
|
15866
|
+
.dm-split-horizontal {
|
|
15867
|
+
flex-direction: row;
|
|
15868
|
+
}
|
|
15869
|
+
|
|
15870
|
+
.dm-split-vertical {
|
|
15871
|
+
flex-direction: column;
|
|
15872
|
+
}
|
|
15873
|
+
|
|
15874
|
+
.dm-split > .dm-split-pane {
|
|
15875
|
+
min-width: 0;
|
|
15876
|
+
min-height: 0;
|
|
15877
|
+
overflow: auto;
|
|
15878
|
+
}
|
|
15879
|
+
|
|
15880
|
+
.dm-split-collapsed {
|
|
15881
|
+
overflow: hidden;
|
|
15882
|
+
}
|
|
15883
|
+
|
|
15884
|
+
.dm-split > .dm-split-gutter {
|
|
15885
|
+
position: relative;
|
|
15886
|
+
display: flex;
|
|
15887
|
+
align-items: center;
|
|
15888
|
+
justify-content: center;
|
|
15889
|
+
background: var(--dm-border);
|
|
15890
|
+
touch-action: none;
|
|
15891
|
+
user-select: none;
|
|
15892
|
+
transition: background-color var(--dm-transition-fast);
|
|
15893
|
+
}
|
|
15894
|
+
|
|
15895
|
+
/* A thin grip line drawn inside the gutter. */
|
|
15896
|
+
.dm-split > .dm-split-gutter::before {
|
|
15897
|
+
content: "";
|
|
15898
|
+
border-radius: var(--dm-radius-full);
|
|
15899
|
+
background: var(--dm-text-muted);
|
|
15900
|
+
opacity: 0.6;
|
|
15901
|
+
}
|
|
15902
|
+
|
|
15903
|
+
.dm-split-horizontal > .dm-split-gutter::before {
|
|
15904
|
+
width: 2px;
|
|
15905
|
+
height: 1.5rem;
|
|
15906
|
+
}
|
|
15907
|
+
|
|
15908
|
+
.dm-split-vertical > .dm-split-gutter::before {
|
|
15909
|
+
width: 1.5rem;
|
|
15910
|
+
height: 2px;
|
|
15911
|
+
}
|
|
15912
|
+
|
|
15913
|
+
.dm-split > .dm-split-gutter:hover,
|
|
15914
|
+
.dm-split > .dm-split-gutter.is-dragging {
|
|
15915
|
+
background: var(--dm-primary);
|
|
15916
|
+
}
|
|
15917
|
+
|
|
15918
|
+
.dm-split > .dm-split-gutter:hover::before,
|
|
15919
|
+
.dm-split > .dm-split-gutter.is-dragging::before {
|
|
15920
|
+
background: var(--dm-primary-text);
|
|
15921
|
+
}
|
|
15922
|
+
|
|
15923
|
+
.dm-split > .dm-split-gutter:focus-visible {
|
|
15924
|
+
outline: 2px solid var(--dm-primary);
|
|
15925
|
+
outline-offset: 1px;
|
|
15926
|
+
z-index: 1;
|
|
15927
|
+
}
|
|
15928
|
+
|
|
15929
|
+
.dm-split-disabled > .dm-split-gutter,
|
|
15930
|
+
.dm-split-disabled > .dm-split-gutter:hover {
|
|
15931
|
+
background: var(--dm-border);
|
|
15932
|
+
cursor: default;
|
|
15933
|
+
}
|
|
15934
|
+
|
|
15935
|
+
/* While dragging, the panes (and any iframe in them) take no pointer events, so the
|
|
15936
|
+
gutter's captured pointer keeps every move, and text does not get selected. */
|
|
15937
|
+
.dm-split-dragging > .dm-split-pane {
|
|
15938
|
+
pointer-events: none;
|
|
15939
|
+
user-select: none;
|
|
15940
|
+
}
|
|
15941
|
+
|
|
15942
|
+
.dm-split-horizontal.dm-split-dragging {
|
|
15943
|
+
cursor: col-resize;
|
|
15944
|
+
}
|
|
15945
|
+
|
|
15946
|
+
.dm-split-vertical.dm-split-dragging {
|
|
15947
|
+
cursor: row-resize;
|
|
15948
|
+
}
|
|
15949
|
+
|
|
15950
|
+
.dm-split-toggle {
|
|
15951
|
+
position: absolute;
|
|
15952
|
+
z-index: 1;
|
|
15953
|
+
display: inline-flex;
|
|
15954
|
+
align-items: center;
|
|
15955
|
+
justify-content: center;
|
|
15956
|
+
width: 1.25rem;
|
|
15957
|
+
height: 1.25rem;
|
|
15958
|
+
padding: 0;
|
|
15959
|
+
border: 1px solid var(--dm-border);
|
|
15960
|
+
border-radius: var(--dm-radius-full);
|
|
15961
|
+
background: var(--dm-surface);
|
|
15962
|
+
color: var(--dm-text);
|
|
15963
|
+
cursor: pointer;
|
|
15964
|
+
font: inherit;
|
|
15965
|
+
line-height: 1;
|
|
15966
|
+
}
|
|
15967
|
+
|
|
15968
|
+
.dm-split-horizontal > .dm-split-gutter > .dm-split-toggle {
|
|
15969
|
+
top: 0.5rem;
|
|
15970
|
+
}
|
|
15971
|
+
|
|
15972
|
+
.dm-split-vertical > .dm-split-gutter > .dm-split-toggle {
|
|
15973
|
+
left: 0.5rem;
|
|
15974
|
+
}
|
|
15975
|
+
|
|
15976
|
+
.dm-split-toggle::before {
|
|
15977
|
+
content: "";
|
|
15978
|
+
width: 0;
|
|
15979
|
+
height: 0;
|
|
15980
|
+
border: 4px solid transparent;
|
|
15981
|
+
}
|
|
15982
|
+
|
|
15983
|
+
.dm-split-horizontal > .dm-split-gutter > .dm-split-toggle::before {
|
|
15984
|
+
border-right-color: currentColor;
|
|
15985
|
+
margin-right: 4px;
|
|
15986
|
+
}
|
|
15987
|
+
|
|
15988
|
+
.dm-split-vertical > .dm-split-gutter > .dm-split-toggle::before {
|
|
15989
|
+
border-bottom-color: currentColor;
|
|
15990
|
+
margin-bottom: 4px;
|
|
15991
|
+
}
|
|
15992
|
+
|
|
15993
|
+
.dm-split-toggle:hover {
|
|
15994
|
+
background: var(--dm-hover-bg);
|
|
15995
|
+
}
|
|
15996
|
+
|
|
15997
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15998
|
+
.dm-split > .dm-split-gutter {
|
|
15999
|
+
transition: none;
|
|
16000
|
+
}
|
|
16001
|
+
}
|
|
16002
|
+
|
|
16003
|
+
/* ===== Virtual List ===== */
|
|
16004
|
+
/* E.virtualList(container): the container scrolls; a spacer gives it its height and the
|
|
16005
|
+
rendered rows are placed by transform. The container needs a height from your CSS. */
|
|
16006
|
+
.dm-vlist {
|
|
16007
|
+
position: relative;
|
|
16008
|
+
overflow: auto;
|
|
16009
|
+
overflow-anchor: none;
|
|
16010
|
+
contain: content;
|
|
16011
|
+
background: var(--dm-surface);
|
|
16012
|
+
color: var(--dm-text);
|
|
16013
|
+
}
|
|
16014
|
+
|
|
16015
|
+
.dm-vlist-spacer {
|
|
16016
|
+
width: 1px;
|
|
16017
|
+
pointer-events: none;
|
|
16018
|
+
}
|
|
16019
|
+
|
|
16020
|
+
.dm-vlist-items {
|
|
16021
|
+
position: absolute;
|
|
16022
|
+
top: 0;
|
|
16023
|
+
left: 0;
|
|
16024
|
+
right: 0;
|
|
16025
|
+
height: 0;
|
|
16026
|
+
outline: none;
|
|
16027
|
+
}
|
|
16028
|
+
|
|
16029
|
+
.dm-vlist-row {
|
|
16030
|
+
position: absolute;
|
|
16031
|
+
top: 0;
|
|
16032
|
+
left: 0;
|
|
16033
|
+
right: 0;
|
|
16034
|
+
box-sizing: border-box;
|
|
16035
|
+
will-change: transform;
|
|
16036
|
+
}
|
|
16037
|
+
|
|
16038
|
+
.dm-vlist-fixed .dm-vlist-row {
|
|
16039
|
+
overflow: hidden;
|
|
16040
|
+
}
|
|
16041
|
+
|
|
16042
|
+
.dm-vlist-row:focus-visible {
|
|
16043
|
+
outline: 2px solid var(--dm-primary);
|
|
16044
|
+
outline-offset: -2px;
|
|
16045
|
+
}
|
|
16046
|
+
|
|
16047
|
+
.dm-vlist-status {
|
|
16048
|
+
position: absolute;
|
|
16049
|
+
top: 0;
|
|
16050
|
+
left: 0;
|
|
16051
|
+
right: 0;
|
|
16052
|
+
display: flex;
|
|
16053
|
+
align-items: center;
|
|
16054
|
+
justify-content: center;
|
|
16055
|
+
gap: var(--dm-space-2);
|
|
16056
|
+
padding: var(--dm-space-3);
|
|
16057
|
+
color: var(--dm-text-muted);
|
|
16058
|
+
box-sizing: border-box;
|
|
16059
|
+
}
|
|
16060
|
+
|
|
16061
|
+
.dm-vlist-status[hidden] {
|
|
16062
|
+
display: none;
|
|
16063
|
+
}
|
|
16064
|
+
|
|
16065
|
+
.dm-vlist-loading,
|
|
16066
|
+
.dm-vlist-error {
|
|
16067
|
+
display: inline-flex;
|
|
16068
|
+
align-items: center;
|
|
16069
|
+
gap: var(--dm-space-2);
|
|
16070
|
+
}
|
|
16071
|
+
|
|
16072
|
+
/* Plain text colour: --dm-danger is not readable on --dm-surface in every theme. */
|
|
16073
|
+
.dm-vlist-error {
|
|
16074
|
+
color: var(--dm-text);
|
|
16075
|
+
}
|
|
16076
|
+
|
|
16077
|
+
.dm-vlist-spinner {
|
|
16078
|
+
width: 1rem;
|
|
16079
|
+
height: 1rem;
|
|
16080
|
+
border: 2px solid var(--dm-border);
|
|
16081
|
+
border-top-color: var(--dm-primary);
|
|
16082
|
+
border-radius: var(--dm-radius-full);
|
|
16083
|
+
animation: dm-loader-spin 0.8s linear infinite;
|
|
16084
|
+
}
|
|
16085
|
+
|
|
16086
|
+
@media (prefers-reduced-motion: reduce) {
|
|
16087
|
+
.dm-vlist-spinner {
|
|
16088
|
+
animation-duration: 2.4s;
|
|
16089
|
+
}
|
|
16090
|
+
}
|
|
16091
|
+
|
|
16092
|
+
/* ===== Dropzone ===== */
|
|
16093
|
+
/*
|
|
16094
|
+
* E.dropzone(target, options) - src/components/dropzone.js
|
|
16095
|
+
*
|
|
16096
|
+
* The caller's element is the area (.dm-dropzone, role="button"); the file list
|
|
16097
|
+
* (.dm-dropzone-files) is drawn after it, because a button cannot hold buttons.
|
|
16098
|
+
* Theme tokens only, so every theme and its dark variant colour it.
|
|
16099
|
+
*/
|
|
16100
|
+
.dm-dropzone {
|
|
16101
|
+
display: flex;
|
|
16102
|
+
flex-direction: column;
|
|
16103
|
+
align-items: center;
|
|
16104
|
+
justify-content: center;
|
|
16105
|
+
gap: var(--dm-space-2);
|
|
16106
|
+
min-height: 8rem;
|
|
16107
|
+
padding: var(--dm-space-6) var(--dm-space-4);
|
|
16108
|
+
border: 2px dashed var(--dm-border);
|
|
16109
|
+
border-radius: var(--dm-radius-md);
|
|
16110
|
+
background: var(--dm-surface);
|
|
16111
|
+
color: var(--dm-text);
|
|
16112
|
+
text-align: center;
|
|
16113
|
+
cursor: pointer;
|
|
16114
|
+
transition: border-color var(--dm-transition-fast), background-color var(--dm-transition-fast);
|
|
16115
|
+
}
|
|
16116
|
+
|
|
16117
|
+
.dm-dropzone:hover {
|
|
16118
|
+
border-color: var(--dm-primary);
|
|
16119
|
+
}
|
|
16120
|
+
|
|
16121
|
+
.dm-dropzone:focus-visible {
|
|
16122
|
+
outline: 2px solid var(--dm-border-focus);
|
|
16123
|
+
outline-offset: 2px;
|
|
16124
|
+
border-color: var(--dm-primary);
|
|
16125
|
+
}
|
|
16126
|
+
|
|
16127
|
+
.dm-dropzone.is-dragover {
|
|
16128
|
+
border-color: var(--dm-primary);
|
|
16129
|
+
border-style: solid;
|
|
16130
|
+
background: color-mix(in srgb, var(--dm-primary) 10%, var(--dm-surface));
|
|
16131
|
+
}
|
|
16132
|
+
|
|
16133
|
+
.dm-dropzone.is-invalid {
|
|
16134
|
+
border-color: var(--dm-danger);
|
|
16135
|
+
}
|
|
16136
|
+
|
|
16137
|
+
.dm-dropzone.is-disabled {
|
|
16138
|
+
opacity: var(--dm-disabled-opacity, 0.6);
|
|
16139
|
+
cursor: not-allowed;
|
|
16140
|
+
}
|
|
16141
|
+
|
|
16142
|
+
.dm-dropzone.is-disabled:hover {
|
|
16143
|
+
border-color: var(--dm-border);
|
|
16144
|
+
}
|
|
16145
|
+
|
|
16146
|
+
.dm-dropzone-prompt {
|
|
16147
|
+
display: flex;
|
|
16148
|
+
flex-direction: column;
|
|
16149
|
+
align-items: center;
|
|
16150
|
+
gap: var(--dm-space-1);
|
|
16151
|
+
pointer-events: none;
|
|
16152
|
+
}
|
|
16153
|
+
|
|
16154
|
+
.dm-dropzone-icon {
|
|
16155
|
+
color: var(--dm-text-secondary);
|
|
16156
|
+
}
|
|
16157
|
+
|
|
16158
|
+
.dm-dropzone:hover .dm-dropzone-icon,
|
|
16159
|
+
.dm-dropzone.is-dragover .dm-dropzone-icon {
|
|
16160
|
+
color: var(--dm-text);
|
|
16161
|
+
}
|
|
16162
|
+
|
|
16163
|
+
.dm-dropzone-text {
|
|
16164
|
+
font-weight: 500;
|
|
16165
|
+
}
|
|
16166
|
+
|
|
16167
|
+
.dm-dropzone-hint {
|
|
16168
|
+
color: var(--dm-text-muted);
|
|
16169
|
+
font-size: var(--dm-font-size-sm);
|
|
16170
|
+
}
|
|
16171
|
+
|
|
16172
|
+
.dm-dropzone-files {
|
|
16173
|
+
display: flex;
|
|
16174
|
+
flex-direction: column;
|
|
16175
|
+
gap: var(--dm-space-2);
|
|
16176
|
+
margin: var(--dm-space-3) 0;
|
|
16177
|
+
padding: 0;
|
|
16178
|
+
list-style: none;
|
|
16179
|
+
}
|
|
16180
|
+
|
|
16181
|
+
.dm-dropzone-files[hidden] {
|
|
16182
|
+
display: none;
|
|
16183
|
+
}
|
|
16184
|
+
|
|
16185
|
+
.dm-dropzone-file {
|
|
16186
|
+
display: grid;
|
|
16187
|
+
grid-template-columns: 2.75rem minmax(0, 1fr) auto auto;
|
|
16188
|
+
grid-template-areas: "thumb meta retry remove" "thumb bar bar bar";
|
|
16189
|
+
align-items: center;
|
|
16190
|
+
column-gap: var(--dm-space-3);
|
|
16191
|
+
row-gap: var(--dm-space-1);
|
|
16192
|
+
padding: var(--dm-space-2) var(--dm-space-3);
|
|
16193
|
+
border: 1px solid var(--dm-border);
|
|
16194
|
+
border-radius: var(--dm-radius-md);
|
|
16195
|
+
background: var(--dm-surface);
|
|
16196
|
+
color: var(--dm-text);
|
|
16197
|
+
}
|
|
16198
|
+
|
|
16199
|
+
.dm-dropzone-file[data-status="error"] {
|
|
16200
|
+
border-color: var(--dm-danger);
|
|
16201
|
+
}
|
|
16202
|
+
|
|
16203
|
+
.dm-dropzone-thumb {
|
|
16204
|
+
grid-area: thumb;
|
|
16205
|
+
display: flex;
|
|
16206
|
+
align-items: center;
|
|
16207
|
+
justify-content: center;
|
|
16208
|
+
width: 2.75rem;
|
|
16209
|
+
height: 2.75rem;
|
|
16210
|
+
overflow: hidden;
|
|
16211
|
+
border-radius: var(--dm-radius-sm);
|
|
16212
|
+
background: color-mix(in srgb, var(--dm-text) 8%, var(--dm-surface));
|
|
16213
|
+
color: var(--dm-text-secondary);
|
|
16214
|
+
font-size: var(--dm-font-size-xs);
|
|
16215
|
+
font-weight: 600;
|
|
16216
|
+
}
|
|
16217
|
+
|
|
16218
|
+
.dm-dropzone-thumb img {
|
|
16219
|
+
display: block;
|
|
16220
|
+
width: 100%;
|
|
16221
|
+
height: 100%;
|
|
16222
|
+
object-fit: cover;
|
|
16223
|
+
}
|
|
16224
|
+
|
|
16225
|
+
.dm-dropzone-meta {
|
|
16226
|
+
grid-area: meta;
|
|
16227
|
+
display: flex;
|
|
16228
|
+
flex-wrap: wrap;
|
|
16229
|
+
align-items: baseline;
|
|
16230
|
+
column-gap: var(--dm-space-2);
|
|
16231
|
+
min-width: 0;
|
|
16232
|
+
}
|
|
16233
|
+
|
|
16234
|
+
.dm-dropzone-name {
|
|
16235
|
+
flex: 1 1 auto;
|
|
16236
|
+
min-width: 0;
|
|
16237
|
+
overflow: hidden;
|
|
16238
|
+
text-overflow: ellipsis;
|
|
16239
|
+
white-space: nowrap;
|
|
16240
|
+
}
|
|
16241
|
+
|
|
16242
|
+
.dm-dropzone-size,
|
|
16243
|
+
.dm-dropzone-status {
|
|
16244
|
+
color: var(--dm-text-muted);
|
|
16245
|
+
font-size: var(--dm-font-size-sm);
|
|
16246
|
+
}
|
|
16247
|
+
|
|
16248
|
+
/* State colours stay on borders and bars (--dm-danger / --dm-success as text on a
|
|
16249
|
+
surface fail AA in several themes); the words carry the state */
|
|
16250
|
+
.dm-dropzone-file[data-status="error"] .dm-dropzone-status {
|
|
16251
|
+
color: var(--dm-text);
|
|
16252
|
+
font-weight: 600;
|
|
16253
|
+
}
|
|
16254
|
+
|
|
16255
|
+
.dm-dropzone-progress {
|
|
16256
|
+
grid-area: bar;
|
|
16257
|
+
display: block;
|
|
16258
|
+
height: 0.375rem;
|
|
16259
|
+
overflow: hidden;
|
|
16260
|
+
border-radius: var(--dm-radius-full);
|
|
16261
|
+
background: color-mix(in srgb, var(--dm-text) 10%, var(--dm-surface));
|
|
16262
|
+
}
|
|
16263
|
+
|
|
16264
|
+
.dm-dropzone-progress[hidden] {
|
|
16265
|
+
display: none;
|
|
16266
|
+
}
|
|
16267
|
+
|
|
16268
|
+
.dm-dropzone-progress-bar {
|
|
16269
|
+
display: block;
|
|
16270
|
+
width: 0;
|
|
16271
|
+
height: 100%;
|
|
16272
|
+
border-radius: inherit;
|
|
16273
|
+
background: var(--dm-primary);
|
|
16274
|
+
}
|
|
16275
|
+
|
|
16276
|
+
.dm-dropzone-file[data-status="done"] .dm-dropzone-progress-bar {
|
|
16277
|
+
background: var(--dm-success);
|
|
16278
|
+
}
|
|
16279
|
+
|
|
16280
|
+
.dm-dropzone-retry {
|
|
16281
|
+
grid-area: retry;
|
|
16282
|
+
}
|
|
16283
|
+
|
|
16284
|
+
.dm-dropzone-retry[hidden] {
|
|
16285
|
+
display: none;
|
|
16286
|
+
}
|
|
16287
|
+
|
|
16288
|
+
.dm-dropzone-remove {
|
|
16289
|
+
grid-area: remove;
|
|
16290
|
+
display: inline-flex;
|
|
16291
|
+
align-items: center;
|
|
16292
|
+
justify-content: center;
|
|
16293
|
+
width: 2rem;
|
|
16294
|
+
height: 2rem;
|
|
16295
|
+
padding: 0;
|
|
16296
|
+
border: 0;
|
|
16297
|
+
border-radius: var(--dm-radius-full);
|
|
16298
|
+
background: transparent;
|
|
16299
|
+
color: var(--dm-text-muted);
|
|
16300
|
+
font-size: 1.25rem;
|
|
16301
|
+
line-height: 1;
|
|
16302
|
+
cursor: pointer;
|
|
16303
|
+
}
|
|
16304
|
+
|
|
16305
|
+
.dm-dropzone-remove:hover:not(:disabled) {
|
|
16306
|
+
background: var(--dm-hover-bg);
|
|
16307
|
+
color: var(--dm-text);
|
|
16308
|
+
}
|
|
16309
|
+
|
|
16310
|
+
.dm-dropzone-remove:focus-visible {
|
|
16311
|
+
outline: 2px solid var(--dm-border-focus);
|
|
16312
|
+
outline-offset: 1px;
|
|
16313
|
+
}
|
|
16314
|
+
|
|
16315
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
16316
|
+
.dm-dropzone-progress-bar {
|
|
16317
|
+
transition: width var(--dm-transition-fast);
|
|
16318
|
+
}
|
|
16319
|
+
}
|
|
16320
|
+
|
|
16321
|
+
@media (prefers-reduced-motion: reduce) {
|
|
16322
|
+
.dm-dropzone {
|
|
16323
|
+
transition: none;
|
|
16324
|
+
}
|
|
16325
|
+
}
|
|
16326
|
+
|
|
16327
|
+
/* ===== Range Slider ===== */
|
|
16328
|
+
/*
|
|
16329
|
+
* E.rangeSlider(target, options) / E.slider - src/components/range-slider.js
|
|
16330
|
+
*
|
|
16331
|
+
* The real <input type="range"> elements are hidden; this is the drawn slider in
|
|
16332
|
+
* front of them. The root is the hit area (2.75rem tall - a comfortable touch
|
|
16333
|
+
* target) with a thin track through its middle. Thumbs are positioned by JS
|
|
16334
|
+
* with left / right / bottom as a percentage and centred with a transform.
|
|
16335
|
+
*/
|
|
16336
|
+
.dm-range-slider {
|
|
16337
|
+
position: relative;
|
|
16338
|
+
display: block;
|
|
16339
|
+
height: 2.75rem;
|
|
16340
|
+
margin: 0 0.625rem;
|
|
16341
|
+
color: var(--dm-text);
|
|
16342
|
+
cursor: pointer;
|
|
16343
|
+
user-select: none;
|
|
16344
|
+
-webkit-user-select: none;
|
|
16345
|
+
/* A horizontal slider still lets the page scroll vertically on touch */
|
|
16346
|
+
touch-action: pan-y;
|
|
16347
|
+
-webkit-tap-highlight-color: transparent;
|
|
16348
|
+
}
|
|
16349
|
+
|
|
16350
|
+
.dm-range-slider.has-tick-labels,
|
|
16351
|
+
.dm-range-slider.has-marks {
|
|
16352
|
+
margin-bottom: 1.5rem;
|
|
16353
|
+
}
|
|
16354
|
+
|
|
16355
|
+
/* A tooltip that is always shown needs room above the track */
|
|
16356
|
+
.dm-range-slider[data-tooltip="always"]:not([data-orientation="vertical"]) {
|
|
16357
|
+
margin-top: 1.75rem;
|
|
16358
|
+
}
|
|
16359
|
+
|
|
16360
|
+
.dm-range-slider[data-orientation="vertical"] {
|
|
16361
|
+
display: inline-block;
|
|
16362
|
+
width: 2.75rem;
|
|
16363
|
+
height: 12rem;
|
|
16364
|
+
margin: 0.625rem 0;
|
|
16365
|
+
touch-action: pan-x;
|
|
16366
|
+
vertical-align: top;
|
|
16367
|
+
}
|
|
16368
|
+
|
|
16369
|
+
.dm-range-slider[data-orientation="vertical"].has-tick-labels,
|
|
16370
|
+
.dm-range-slider[data-orientation="vertical"].has-marks {
|
|
16371
|
+
margin-bottom: 0.625rem;
|
|
16372
|
+
margin-right: 3rem;
|
|
16373
|
+
}
|
|
16374
|
+
|
|
16375
|
+
.dm-range-track {
|
|
16376
|
+
position: absolute;
|
|
16377
|
+
left: 0;
|
|
16378
|
+
right: 0;
|
|
16379
|
+
top: 50%;
|
|
16380
|
+
height: 0.375rem;
|
|
16381
|
+
transform: translateY(-50%);
|
|
16382
|
+
border-radius: var(--dm-radius-full);
|
|
16383
|
+
background: color-mix(in srgb, var(--dm-text) 16%, var(--dm-surface));
|
|
16384
|
+
}
|
|
16385
|
+
|
|
16386
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-track {
|
|
16387
|
+
left: 50%;
|
|
16388
|
+
right: auto;
|
|
16389
|
+
top: 0;
|
|
16390
|
+
bottom: 0;
|
|
16391
|
+
width: 0.375rem;
|
|
16392
|
+
height: auto;
|
|
16393
|
+
transform: translateX(-50%);
|
|
16394
|
+
}
|
|
16395
|
+
|
|
16396
|
+
.dm-range-fill {
|
|
16397
|
+
position: absolute;
|
|
16398
|
+
top: 0;
|
|
16399
|
+
bottom: 0;
|
|
16400
|
+
border-radius: inherit;
|
|
16401
|
+
background: var(--dm-primary);
|
|
16402
|
+
}
|
|
16403
|
+
|
|
16404
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-fill {
|
|
16405
|
+
left: 0;
|
|
16406
|
+
right: 0;
|
|
16407
|
+
top: auto;
|
|
16408
|
+
}
|
|
16409
|
+
|
|
16410
|
+
.dm-range-thumb {
|
|
16411
|
+
position: absolute;
|
|
16412
|
+
top: 50%;
|
|
16413
|
+
z-index: 2;
|
|
16414
|
+
width: 1.25rem;
|
|
16415
|
+
height: 1.25rem;
|
|
16416
|
+
border: 2px solid var(--dm-primary);
|
|
16417
|
+
border-radius: var(--dm-radius-full);
|
|
16418
|
+
background: var(--dm-surface);
|
|
16419
|
+
box-shadow: var(--dm-shadow-md);
|
|
16420
|
+
transform: translate(-50%, -50%);
|
|
16421
|
+
cursor: grab;
|
|
16422
|
+
touch-action: none;
|
|
16423
|
+
}
|
|
16424
|
+
|
|
16425
|
+
.dm-range-slider[dir="rtl"] .dm-range-thumb {
|
|
16426
|
+
transform: translate(50%, -50%);
|
|
16427
|
+
}
|
|
16428
|
+
|
|
16429
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-thumb {
|
|
16430
|
+
top: auto;
|
|
16431
|
+
left: 50%;
|
|
16432
|
+
transform: translate(-50%, 50%);
|
|
16433
|
+
}
|
|
16434
|
+
|
|
16435
|
+
.dm-range-thumb:hover {
|
|
16436
|
+
box-shadow: 0 0 0 0.375rem var(--dm-focus-ring);
|
|
16437
|
+
}
|
|
16438
|
+
|
|
16439
|
+
.dm-range-thumb:focus-visible {
|
|
16440
|
+
outline: 2px solid var(--dm-border-focus);
|
|
16441
|
+
outline-offset: 2px;
|
|
16442
|
+
box-shadow: 0 0 0 0.375rem var(--dm-focus-ring);
|
|
16443
|
+
}
|
|
16444
|
+
|
|
16445
|
+
/* The thumb being moved sits above the other when they meet */
|
|
16446
|
+
.dm-range-thumb.is-active,
|
|
16447
|
+
.dm-range-thumb:focus-visible {
|
|
16448
|
+
z-index: 3;
|
|
16449
|
+
}
|
|
16450
|
+
|
|
16451
|
+
.dm-range-slider.is-dragging,
|
|
16452
|
+
.dm-range-slider.is-dragging .dm-range-thumb {
|
|
16453
|
+
cursor: grabbing;
|
|
16454
|
+
}
|
|
16455
|
+
|
|
16456
|
+
.dm-range-tooltip {
|
|
16457
|
+
position: absolute;
|
|
16458
|
+
bottom: calc(100% + 0.5rem);
|
|
16459
|
+
left: 50%;
|
|
16460
|
+
padding: 0.125rem 0.5rem;
|
|
16461
|
+
border-radius: var(--dm-radius-sm);
|
|
16462
|
+
background: var(--dm-text);
|
|
16463
|
+
color: var(--dm-surface);
|
|
16464
|
+
font-size: var(--dm-font-size-xs);
|
|
16465
|
+
line-height: 1.5;
|
|
16466
|
+
white-space: nowrap;
|
|
16467
|
+
pointer-events: none;
|
|
16468
|
+
transform: translateX(-50%);
|
|
16469
|
+
opacity: 0;
|
|
16470
|
+
visibility: hidden;
|
|
16471
|
+
}
|
|
16472
|
+
|
|
16473
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-tooltip {
|
|
16474
|
+
bottom: auto;
|
|
16475
|
+
left: calc(100% + 0.5rem);
|
|
16476
|
+
top: 50%;
|
|
16477
|
+
transform: translateY(-50%);
|
|
16478
|
+
}
|
|
16479
|
+
|
|
16480
|
+
.dm-range-slider[data-tooltip="always"] .dm-range-tooltip,
|
|
16481
|
+
.dm-range-slider[data-tooltip="hover"] .dm-range-thumb:hover .dm-range-tooltip,
|
|
16482
|
+
.dm-range-slider[data-tooltip="hover"] .dm-range-thumb:focus-visible .dm-range-tooltip,
|
|
16483
|
+
.dm-range-slider[data-tooltip="hover"] .dm-range-thumb.is-active .dm-range-tooltip {
|
|
16484
|
+
opacity: 1;
|
|
16485
|
+
visibility: visible;
|
|
16486
|
+
}
|
|
16487
|
+
|
|
16488
|
+
.dm-range-ticks,
|
|
16489
|
+
.dm-range-marks {
|
|
16490
|
+
position: absolute;
|
|
16491
|
+
inset: 0;
|
|
16492
|
+
pointer-events: none;
|
|
16493
|
+
}
|
|
16494
|
+
|
|
16495
|
+
.dm-range-tick,
|
|
16496
|
+
.dm-range-mark {
|
|
16497
|
+
position: absolute;
|
|
16498
|
+
top: calc(50% + 0.375rem);
|
|
16499
|
+
width: 1px;
|
|
16500
|
+
height: 0.375rem;
|
|
16501
|
+
background: var(--dm-border-dark);
|
|
16502
|
+
transform: translateX(-50%);
|
|
16503
|
+
}
|
|
16504
|
+
|
|
16505
|
+
.dm-range-slider[dir="rtl"] .dm-range-tick,
|
|
16506
|
+
.dm-range-slider[dir="rtl"] .dm-range-mark {
|
|
16507
|
+
transform: translateX(50%);
|
|
16508
|
+
}
|
|
16509
|
+
|
|
16510
|
+
.dm-range-tick.is-in-range {
|
|
16511
|
+
background: var(--dm-primary);
|
|
16512
|
+
}
|
|
16513
|
+
|
|
16514
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-tick,
|
|
16515
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-mark {
|
|
16516
|
+
top: auto;
|
|
16517
|
+
left: calc(50% + 0.375rem);
|
|
16518
|
+
width: 0.375rem;
|
|
16519
|
+
height: 1px;
|
|
16520
|
+
transform: translateY(50%);
|
|
16521
|
+
}
|
|
16522
|
+
|
|
16523
|
+
.dm-range-mark {
|
|
16524
|
+
width: 0.375rem;
|
|
16525
|
+
height: 0.375rem;
|
|
16526
|
+
top: 50%;
|
|
16527
|
+
border-radius: var(--dm-radius-full);
|
|
16528
|
+
background: var(--dm-surface);
|
|
16529
|
+
border: 1px solid var(--dm-border-dark);
|
|
16530
|
+
transform: translate(-50%, -50%);
|
|
16531
|
+
pointer-events: auto;
|
|
16532
|
+
z-index: 1;
|
|
16533
|
+
}
|
|
16534
|
+
|
|
16535
|
+
.dm-range-slider[dir="rtl"] .dm-range-mark {
|
|
16536
|
+
transform: translate(50%, -50%);
|
|
16537
|
+
}
|
|
16538
|
+
|
|
16539
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-mark {
|
|
16540
|
+
left: 50%;
|
|
16541
|
+
width: 0.375rem;
|
|
16542
|
+
height: 0.375rem;
|
|
16543
|
+
transform: translate(-50%, 50%);
|
|
16544
|
+
}
|
|
16545
|
+
|
|
16546
|
+
.dm-range-tick-label,
|
|
16547
|
+
.dm-range-mark-label {
|
|
16548
|
+
position: absolute;
|
|
16549
|
+
top: calc(100% + 0.25rem);
|
|
16550
|
+
left: 50%;
|
|
16551
|
+
color: var(--dm-text-muted);
|
|
16552
|
+
font-size: var(--dm-font-size-xs);
|
|
16553
|
+
line-height: 1.2;
|
|
16554
|
+
white-space: nowrap;
|
|
16555
|
+
transform: translateX(-50%);
|
|
16556
|
+
}
|
|
16557
|
+
|
|
16558
|
+
.dm-range-mark-label {
|
|
16559
|
+
top: calc(100% + 0.625rem);
|
|
16560
|
+
color: var(--dm-text-secondary);
|
|
16561
|
+
cursor: pointer;
|
|
16562
|
+
}
|
|
16563
|
+
|
|
16564
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-tick-label,
|
|
16565
|
+
.dm-range-slider[data-orientation="vertical"] .dm-range-mark-label {
|
|
16566
|
+
top: 50%;
|
|
16567
|
+
left: calc(100% + 0.5rem);
|
|
16568
|
+
transform: translateY(-50%);
|
|
16569
|
+
}
|
|
16570
|
+
|
|
16571
|
+
.dm-range-slider.is-disabled {
|
|
16572
|
+
opacity: var(--dm-disabled-opacity, 0.6);
|
|
16573
|
+
cursor: not-allowed;
|
|
16574
|
+
}
|
|
16575
|
+
|
|
16576
|
+
.dm-range-slider.is-disabled .dm-range-thumb {
|
|
16577
|
+
cursor: not-allowed;
|
|
16578
|
+
box-shadow: none;
|
|
16579
|
+
}
|
|
16580
|
+
|
|
16581
|
+
@media (prefers-reduced-motion: no-preference) {
|
|
16582
|
+
.dm-range-thumb {
|
|
16583
|
+
transition: box-shadow var(--dm-transition-fast);
|
|
16584
|
+
}
|
|
16585
|
+
|
|
16586
|
+
.dm-range-tooltip {
|
|
16587
|
+
transition: opacity var(--dm-transition-fast), visibility var(--dm-transition-fast);
|
|
16588
|
+
}
|
|
16589
|
+
}
|
|
16590
|
+
|
|
16591
|
+
@media (forced-colors: active) {
|
|
16592
|
+
.dm-range-fill,
|
|
16593
|
+
.dm-dropzone-progress-bar {
|
|
16594
|
+
background: Highlight;
|
|
16595
|
+
}
|
|
16596
|
+
|
|
16597
|
+
.dm-range-thumb {
|
|
16598
|
+
background: ButtonFace;
|
|
16599
|
+
border-color: ButtonText;
|
|
16600
|
+
}
|
|
16601
|
+
}
|
|
16602
|
+
|
|
15157
16603
|
|
|
15158
16604
|
/* ============================================
|
|
15159
16605
|
THEME SYSTEM
|
|
@@ -15161,11 +16607,11 @@ a.avatar-more-person:hover .avatar-more-name {
|
|
|
15161
16607
|
============================================ */
|
|
15162
16608
|
|
|
15163
16609
|
/*!
|
|
15164
|
-
* Domma Themes v0.
|
|
16610
|
+
* Domma Themes v0.56.0
|
|
15165
16611
|
* Dynamic Object Manipulation & Modeling API
|
|
15166
16612
|
* (c) 2026 Darryl Waterhouse & DCBW-IT
|
|
15167
|
-
* Built: 2026-10-
|
|
15168
|
-
* Commit:
|
|
16613
|
+
* Built: 2026-10-24T16:12:49.139Z
|
|
16614
|
+
* Commit: f768320
|
|
15169
16615
|
*/
|
|
15170
16616
|
|
|
15171
16617
|
/**
|