@webority/theme 0.27.0 → 0.27.1
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/dist/webority-theme.css +1 -1
- package/package.json +1 -1
- package/scss/_tokens.scss +4 -1
- package/scss/_wui-aliases.scss +1 -1
- package/scss/wui/_calendar.scss +4 -4
- package/scss/wui/_display.scss +5 -5
- package/scss/wui/_flow.scss +8 -7
- package/scss/wui/_media.scss +4 -4
- package/scss/wui/_shell-parts.scss +1 -1
- package/scss/wui/_shell.scss +1 -1
- package/scss/wui/_tone-pill.scss +4 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/theme",
|
|
3
|
-
"version": "0.27.
|
|
3
|
+
"version": "0.27.1",
|
|
4
4
|
"description": "Webority shared design system — Bootstrap 5.3 SCSS overrides, --wui-* tokens, and shared component CSS. The single source of brand chrome for React portals and Razor sites.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|
package/scss/_tokens.scss
CHANGED
|
@@ -258,7 +258,10 @@
|
|
|
258
258
|
--wui-dark-text: #e6e8ee;
|
|
259
259
|
--wui-dark-text-muted: #b4b9c6;
|
|
260
260
|
--wui-dark-text-subtle: #8a90a0;
|
|
261
|
-
|
|
261
|
+
// Primary as TEXT and as the fill under near-black ink. Lifted from #6B83EC, which measured
|
|
262
|
+
// 3.75:1 as text on its own soft tint over the muted fill (avatar initials, selected rows, primary
|
|
263
|
+
// pills, the dropzone's Browse link); this clears 4.5:1 on every dark surface and tint.
|
|
264
|
+
--wui-dark-primary: #8097F0;
|
|
262
265
|
--wui-dark-primary-hover:#93A6F2;
|
|
263
266
|
|
|
264
267
|
// Dark mode shadow remaps — lighter shadows (white ink) for visibility on dark surfaces.
|
package/scss/_wui-aliases.scss
CHANGED
|
@@ -194,7 +194,7 @@
|
|
|
194
194
|
--color-primary-hover: var(--wui-dark-primary-hover);
|
|
195
195
|
--color-primary-soft: color-mix(in srgb, var(--wui-primary) 20%, transparent);
|
|
196
196
|
// Dark mode primary text: #fff on #6B83EC measures 3.5:1, below WCAG AA (4.5:1).
|
|
197
|
-
// Map to a near-black for safe contrast (
|
|
197
|
+
// Map to a near-black for safe contrast (6.9:1 on --wui-dark-primary) when text sits on primary fill.
|
|
198
198
|
--color-primary-text: #0F0F0F;
|
|
199
199
|
|
|
200
200
|
// On a dark surface the FILL colours are already the readable ones — the darkened
|
package/scss/wui/_calendar.scss
CHANGED
|
@@ -222,22 +222,22 @@ wui-calendar[data-view="week"] .wui-calendar-surface > * {
|
|
|
222
222
|
.wui-calendar-event-success {
|
|
223
223
|
--fc-event-bg-color: var(--color-success-soft);
|
|
224
224
|
--fc-event-border-color: var(--color-success);
|
|
225
|
-
--fc-event-text-color: var(--color-success-text);
|
|
225
|
+
--fc-event-text-color: var(--color-success-text-on-soft);
|
|
226
226
|
}
|
|
227
227
|
.wui-calendar-event-warning {
|
|
228
228
|
--fc-event-bg-color: var(--color-warning-soft);
|
|
229
229
|
--fc-event-border-color: var(--color-warning);
|
|
230
|
-
--fc-event-text-color: var(--color-warning-text);
|
|
230
|
+
--fc-event-text-color: var(--color-warning-text-on-soft);
|
|
231
231
|
}
|
|
232
232
|
.wui-calendar-event-danger {
|
|
233
233
|
--fc-event-bg-color: var(--color-danger-soft);
|
|
234
234
|
--fc-event-border-color: var(--color-danger);
|
|
235
|
-
--fc-event-text-color: var(--color-danger-text);
|
|
235
|
+
--fc-event-text-color: var(--color-danger-text-on-soft);
|
|
236
236
|
}
|
|
237
237
|
.wui-calendar-event-info {
|
|
238
238
|
--fc-event-bg-color: var(--color-info-soft);
|
|
239
239
|
--fc-event-border-color: var(--color-info);
|
|
240
|
-
--fc-event-text-color: var(--color-info-text);
|
|
240
|
+
--fc-event-text-color: var(--color-info-text-on-soft);
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
// What a page with no script shows until the element's script replaces it.
|
package/scss/wui/_display.scss
CHANGED
|
@@ -843,27 +843,27 @@ a.info-row:hover .info-value {
|
|
|
843
843
|
background: var(--color-surface);
|
|
844
844
|
box-shadow: inset 0 0 0 2px var(--color-border);
|
|
845
845
|
}
|
|
846
|
-
// Solid status discs with a
|
|
846
|
+
// Solid status discs with a light glyph (a dark ink in dark mode, where white fails on the bright fills) and a soft concentric halo ring in the
|
|
847
847
|
// dot's own hue. The fill is softened a touch (mixed toward the surface) so the
|
|
848
848
|
// states read gentler than the raw brand tones.
|
|
849
849
|
.timeline--progress .timeline-item.is-done .timeline-dot {
|
|
850
|
-
color: var(--color-
|
|
850
|
+
color: var(--color-progress-label);
|
|
851
851
|
background: color-mix(in srgb, var(--color-success) 82%, var(--color-surface));
|
|
852
852
|
box-shadow: 0 0 0 var(--wui-timeline-halo) var(--color-success-soft);
|
|
853
853
|
}
|
|
854
854
|
.timeline--progress .timeline-item.is-current .timeline-dot {
|
|
855
|
-
color: var(--color-
|
|
855
|
+
color: var(--color-progress-label);
|
|
856
856
|
background: color-mix(in srgb, var(--color-warning) 82%, var(--color-surface));
|
|
857
857
|
box-shadow: 0 0 0 var(--wui-timeline-halo) var(--color-warning-soft);
|
|
858
858
|
}
|
|
859
859
|
.timeline--progress .timeline-item.is-rejected .timeline-dot {
|
|
860
|
-
color: var(--color-
|
|
860
|
+
color: var(--color-progress-label);
|
|
861
861
|
background: color-mix(in srgb, var(--color-danger) 82%, var(--color-surface));
|
|
862
862
|
box-shadow: 0 0 0 var(--wui-timeline-halo) var(--color-danger-soft);
|
|
863
863
|
}
|
|
864
864
|
// Blocked / waiting on an external action — informational blue.
|
|
865
865
|
.timeline--progress .timeline-item.is-on-hold .timeline-dot {
|
|
866
|
-
color: var(--color-
|
|
866
|
+
color: var(--color-progress-label);
|
|
867
867
|
background: color-mix(in srgb, var(--color-info) 82%, var(--color-surface));
|
|
868
868
|
box-shadow: 0 0 0 var(--wui-timeline-halo) var(--color-info-soft);
|
|
869
869
|
}
|
package/scss/wui/_flow.scss
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
// specificity, so a .wui-step-tone-* class or an inline --wui-step-* override still wins.
|
|
44
44
|
:where(.stepper:not(.wizard-stepper)) {
|
|
45
45
|
--wui-step-accent: var(--color-primary);
|
|
46
|
-
--wui-step-accent-fg: var(--color-
|
|
46
|
+
--wui-step-accent-fg: var(--color-primary-text);
|
|
47
47
|
--wui-step-soft: var(--color-primary-soft);
|
|
48
48
|
--wui-step-soft-fg: var(--color-primary);
|
|
49
49
|
}
|
|
@@ -501,31 +501,32 @@ button.step:focus-visible .step-circle {
|
|
|
501
501
|
// ----------------------------------------------------------------------------
|
|
502
502
|
.wui-step-tone-primary {
|
|
503
503
|
--wui-step-accent: var(--color-primary);
|
|
504
|
-
--wui-step-accent-fg: var(--color-
|
|
504
|
+
--wui-step-accent-fg: var(--color-primary-text);
|
|
505
505
|
--wui-step-soft: var(--color-primary-soft);
|
|
506
506
|
--wui-step-soft-fg: var(--color-primary);
|
|
507
507
|
}
|
|
508
|
+
// Text on a bright status fill: white in light mode, a dark ink in dark mode, where white fails AA.
|
|
508
509
|
.wui-step-tone-success {
|
|
509
510
|
--wui-step-accent: var(--color-success);
|
|
510
|
-
--wui-step-accent-fg: var(--color-
|
|
511
|
+
--wui-step-accent-fg: var(--color-progress-label);
|
|
511
512
|
--wui-step-soft: var(--color-success-soft);
|
|
512
513
|
--wui-step-soft-fg: var(--color-success-text);
|
|
513
514
|
}
|
|
514
515
|
.wui-step-tone-warning {
|
|
515
516
|
--wui-step-accent: var(--color-warning);
|
|
516
|
-
--wui-step-accent-fg: var(--color-
|
|
517
|
+
--wui-step-accent-fg: var(--color-progress-label);
|
|
517
518
|
--wui-step-soft: var(--color-warning-soft);
|
|
518
519
|
--wui-step-soft-fg: var(--color-warning-text);
|
|
519
520
|
}
|
|
520
521
|
.wui-step-tone-danger {
|
|
521
522
|
--wui-step-accent: var(--color-danger);
|
|
522
|
-
--wui-step-accent-fg: var(--color-
|
|
523
|
+
--wui-step-accent-fg: var(--color-progress-label);
|
|
523
524
|
--wui-step-soft: var(--color-danger-soft);
|
|
524
525
|
--wui-step-soft-fg: var(--color-danger-text);
|
|
525
526
|
}
|
|
526
527
|
.wui-step-tone-info {
|
|
527
528
|
--wui-step-accent: var(--color-info);
|
|
528
|
-
--wui-step-accent-fg: var(--color-
|
|
529
|
+
--wui-step-accent-fg: var(--color-progress-label);
|
|
529
530
|
--wui-step-soft: var(--color-info-soft);
|
|
530
531
|
--wui-step-soft-fg: var(--color-info-text);
|
|
531
532
|
}
|
|
@@ -594,7 +595,7 @@ button.step:focus-visible .step-circle {
|
|
|
594
595
|
padding: 5px 14px;
|
|
595
596
|
border-radius: 999px;
|
|
596
597
|
background: var(--color-primary);
|
|
597
|
-
color: var(--color-
|
|
598
|
+
color: var(--color-primary-text);
|
|
598
599
|
font-size: 11px;
|
|
599
600
|
font-weight: 600;
|
|
600
601
|
text-transform: uppercase;
|
package/scss/wui/_media.scss
CHANGED
|
@@ -87,19 +87,19 @@
|
|
|
87
87
|
}
|
|
88
88
|
.avatar-success {
|
|
89
89
|
background: var(--color-success-soft);
|
|
90
|
-
color: var(--color-success-text);
|
|
90
|
+
color: var(--color-success-text-on-soft);
|
|
91
91
|
}
|
|
92
92
|
.avatar-warning {
|
|
93
93
|
background: var(--color-warning-soft);
|
|
94
|
-
color: var(--color-warning-text);
|
|
94
|
+
color: var(--color-warning-text-on-soft);
|
|
95
95
|
}
|
|
96
96
|
.avatar-danger {
|
|
97
97
|
background: var(--color-danger-soft);
|
|
98
|
-
color: var(--color-danger-text);
|
|
98
|
+
color: var(--color-danger-text-on-soft);
|
|
99
99
|
}
|
|
100
100
|
.avatar-info {
|
|
101
101
|
background: var(--color-info-soft);
|
|
102
|
-
color: var(--color-info-text);
|
|
102
|
+
color: var(--color-info-text-on-soft);
|
|
103
103
|
}
|
|
104
104
|
.avatar-auto {
|
|
105
105
|
background: hsl(var(--avatar-hue, 0) 60% 90%);
|
package/scss/wui/_shell.scss
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
place-items: center;
|
|
44
44
|
border-radius: var(--radius-lg);
|
|
45
45
|
background: var(--color-primary);
|
|
46
|
-
color: var(--color-
|
|
46
|
+
color: var(--color-primary-text);
|
|
47
47
|
font-size: calc(var(--wui-splash-size, 56px) * 0.39);
|
|
48
48
|
font-weight: 700;
|
|
49
49
|
animation: wui-splash-breathe 2.6s ease-in-out infinite;
|
package/scss/wui/_tone-pill.scss
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
// ── Shared tone-pill color mixin ──
|
|
2
2
|
// Consolidates the tone→color mapping used by .badge, .status-label, and .chip:
|
|
3
3
|
// background: var(--color-{tone}-soft)
|
|
4
|
-
// color: var(--color-{tone}-text) (override via $text — see below)
|
|
4
|
+
// color: var(--color-{tone}-text-on-soft) (override via $text — see below)
|
|
5
5
|
// border-color: transparent
|
|
6
6
|
//
|
|
7
|
-
// $text exists because
|
|
8
|
-
//
|
|
7
|
+
// $text exists because `primary` has no on-tint token: --color-{status}-text-on-soft is the
|
|
8
|
+
// on-tint hue (equal to -text in light, lifted in dark), but --color-primary-text
|
|
9
9
|
// is the text-on-SOLID-primary color (near-black in dark mode) and fails AA on the
|
|
10
10
|
// soft tint — primary pills pass var(--color-primary) instead.
|
|
11
11
|
//
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
@if $text {
|
|
18
18
|
color: $text;
|
|
19
19
|
} @else {
|
|
20
|
-
color: var(--color-#{$tone}-text);
|
|
20
|
+
color: var(--color-#{$tone}-text-on-soft);
|
|
21
21
|
}
|
|
22
22
|
border-color: transparent;
|
|
23
23
|
}
|