@webority/theme 0.94.1 → 0.96.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/dist/published-theme.json +5 -5
- package/dist/purge-safelist.json +3 -0
- package/dist/webority-theme.css +1 -1
- package/package.json +1 -1
- package/scss/_components.scss +18 -8
- package/scss/_tokens.scss +5 -6
- package/scss/_variables.scss +1 -1
- package/scss/wui/_data.scss +1 -1
- package/scss/wui/_flow.scss +7 -1
- package/scss/wui/_overlays.scss +4 -10
- package/scss/wui/_sections.scss +6 -0
- package/scss/wui/_shortcuts.scss +6 -0
- package/scss/wui/_typography.scss +2 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/theme",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.96.0",
|
|
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/_components.scss
CHANGED
|
@@ -601,8 +601,6 @@
|
|
|
601
601
|
// The thin thumb matches the shared rail (--wui-scrollbar*), like .wui-scroll.
|
|
602
602
|
max-height: calc(100vh - 5rem);
|
|
603
603
|
overflow-y: auto;
|
|
604
|
-
scrollbar-width: thin;
|
|
605
|
-
scrollbar-color: var(--wui-scrollbar) transparent;
|
|
606
604
|
}
|
|
607
605
|
.dropdown-menu::-webkit-scrollbar {
|
|
608
606
|
width: 8px;
|
|
@@ -620,6 +618,13 @@
|
|
|
620
618
|
background-color: var(--wui-scrollbar-hover);
|
|
621
619
|
background-clip: padding-box;
|
|
622
620
|
}
|
|
621
|
+
// Chrome 121+ ignores the WebKit scrollbar rules once a standard scrollbar property is set, and draws arrow buttons; the standard properties are for browsers without the WebKit rules.
|
|
622
|
+
@supports not selector(::-webkit-scrollbar) {
|
|
623
|
+
.dropdown-menu {
|
|
624
|
+
scrollbar-width: thin;
|
|
625
|
+
scrollbar-color: var(--wui-scrollbar) transparent;
|
|
626
|
+
}
|
|
627
|
+
}
|
|
623
628
|
|
|
624
629
|
.dropdown-item {
|
|
625
630
|
display: flex;
|
|
@@ -1040,8 +1045,6 @@ button.wui-input-leading:focus-visible {
|
|
|
1040
1045
|
html,
|
|
1041
1046
|
body {
|
|
1042
1047
|
scrollbar-gutter: stable;
|
|
1043
|
-
scrollbar-width: thin;
|
|
1044
|
-
scrollbar-color: var(--wui-scrollbar) transparent;
|
|
1045
1048
|
}
|
|
1046
1049
|
html::-webkit-scrollbar,
|
|
1047
1050
|
body::-webkit-scrollbar {
|
|
@@ -1077,14 +1080,21 @@ body::-webkit-scrollbar-corner {
|
|
|
1077
1080
|
background: transparent;
|
|
1078
1081
|
}
|
|
1079
1082
|
|
|
1080
|
-
html.is-scrolling,
|
|
1081
|
-
html.is-scrolling body {
|
|
1082
|
-
scrollbar-color: var(--wui-scrollbar-hover) transparent;
|
|
1083
|
-
}
|
|
1084
1083
|
html.is-scrolling::-webkit-scrollbar-thumb,
|
|
1085
1084
|
html.is-scrolling body::-webkit-scrollbar-thumb {
|
|
1086
1085
|
background-color: var(--wui-scrollbar-hover);
|
|
1087
1086
|
}
|
|
1087
|
+
@supports not selector(::-webkit-scrollbar) {
|
|
1088
|
+
html,
|
|
1089
|
+
body {
|
|
1090
|
+
scrollbar-width: thin;
|
|
1091
|
+
scrollbar-color: var(--wui-scrollbar) transparent;
|
|
1092
|
+
}
|
|
1093
|
+
html.is-scrolling,
|
|
1094
|
+
html.is-scrolling body {
|
|
1095
|
+
scrollbar-color: var(--wui-scrollbar-hover) transparent;
|
|
1096
|
+
}
|
|
1097
|
+
}
|
|
1088
1098
|
|
|
1089
1099
|
// Hide a scrollbar (marquee / horizontal carousels).
|
|
1090
1100
|
.scrollbar-hide {
|
package/scss/_tokens.scss
CHANGED
|
@@ -35,13 +35,12 @@
|
|
|
35
35
|
--wui-text-1: #252F4A;
|
|
36
36
|
/// meaning: Secondary text for descriptions, sub-labels and muted copy.
|
|
37
37
|
--wui-text-2: #4B5675;
|
|
38
|
-
// Tertiary text
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
// lighter than --wui-text-2; --wui-text-4/5 remain for genuinely decorative use.
|
|
38
|
+
// Tertiary text, for hints, captions, labels, timestamps and placeholders. It measures 4.97:1 on
|
|
39
|
+
// the library page background and 4.76:1 on a lightly tinted brand page (#eef1f7), so it stays
|
|
40
|
+
// above the 4.5:1 AA floor on every neutral surface. It stays clearly lighter than --wui-text-2;
|
|
41
|
+
// --wui-text-4/5 remain for genuinely decorative use.
|
|
43
42
|
/// meaning: Tertiary text for hints, captions, labels, timestamps and placeholders.
|
|
44
|
-
--wui-text-3: #
|
|
43
|
+
--wui-text-3: #626A82;
|
|
45
44
|
/// meaning: Decorative faint ink, not for text a person must read.
|
|
46
45
|
--wui-text-4: #99A1B7;
|
|
47
46
|
/// meaning: Faintest ink, for decorative marks.
|
package/scss/_variables.scss
CHANGED
|
@@ -184,7 +184,7 @@ $link-color: $wui-primary-ink !default;
|
|
|
184
184
|
// $body-bg left at Bootstrap's $white — do not restate pure defaults here.
|
|
185
185
|
$body-color: #252F4A; // text-1 from locked palette
|
|
186
186
|
$body-secondary-color: #4B5675;
|
|
187
|
-
$body-tertiary-color: #
|
|
187
|
+
$body-tertiary-color: #626A82; // matches --wui-text-3, AA on every neutral surface
|
|
188
188
|
$body-secondary-bg: #F9FBFC;
|
|
189
189
|
$body-tertiary-bg: #F5F6FA;
|
|
190
190
|
|
package/scss/wui/_data.scss
CHANGED
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
.table-ledger thead th {
|
|
309
309
|
height: 42px;
|
|
310
310
|
padding: 0 12px;
|
|
311
|
-
background: var(--color-bg-muted);
|
|
311
|
+
background: var(--wui-table-header-bg, var(--color-bg-muted));
|
|
312
312
|
border-bottom: none;
|
|
313
313
|
font-family: var(--font-sans);
|
|
314
314
|
font-size: 12px;
|
package/scss/wui/_flow.scss
CHANGED
|
@@ -1112,17 +1112,23 @@ button.wui-step-tile-body:hover .step-label {
|
|
|
1112
1112
|
padding-top: 32px;
|
|
1113
1113
|
border-top: 1px solid var(--color-border);
|
|
1114
1114
|
}
|
|
1115
|
+
.form-section + .form-section.wui-form-rule-none {
|
|
1116
|
+
border-top: 0;
|
|
1117
|
+
}
|
|
1115
1118
|
.form-section + .form-actions {
|
|
1116
1119
|
margin-top: 32px;
|
|
1117
1120
|
}
|
|
1118
1121
|
// Ranks below the card title (16px) a section usually sits in, and above the 14px field labels.
|
|
1119
1122
|
.form-section-title {
|
|
1120
1123
|
margin: 0;
|
|
1121
|
-
font-size: 15px;
|
|
1124
|
+
font-size: var(--wui-form-title-size, 15px);
|
|
1122
1125
|
font-weight: 600;
|
|
1123
1126
|
line-height: 1.3;
|
|
1124
1127
|
color: var(--color-text);
|
|
1125
1128
|
}
|
|
1129
|
+
.form-section-title.wui-form-title-display {
|
|
1130
|
+
font-family: var(--wui-font-display, inherit);
|
|
1131
|
+
}
|
|
1126
1132
|
.form-section-desc {
|
|
1127
1133
|
margin: 0;
|
|
1128
1134
|
font-size: 14px;
|
package/scss/wui/_overlays.scss
CHANGED
|
@@ -15,18 +15,12 @@
|
|
|
15
15
|
// Do NOT put layout on backdropClassName — that targets a sibling, not
|
|
16
16
|
// .modal.
|
|
17
17
|
.modal-backdrop.wui-modal-dim {
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
// `.modal` (a higher z-index sibling), so it is never blurred.
|
|
22
|
-
//
|
|
23
|
-
// Full strength is load-bearing: Bootstrap composites the whole backdrop element at
|
|
24
|
-
// `--bs-backdrop-opacity` (0.5 by default), which HALVES both the blur and the dim into a
|
|
25
|
-
// weak, patchy wash — the bug this fixes. Pin the opacity to 1 and carry the dim entirely in
|
|
26
|
-
// `background`, so the frost renders at its true strength. (The fade-in still animates 0 → 1.)
|
|
18
|
+
// Opacity is pinned to 1 because Bootstrap's 0.5 would halve the dim. The strong scrim guarantees
|
|
19
|
+
// separation in every browser, including over embedded pages Chrome cannot blur; the blur on top
|
|
20
|
+
// is decoration.
|
|
27
21
|
--bs-backdrop-opacity: 1;
|
|
28
22
|
opacity: 1;
|
|
29
|
-
background:
|
|
23
|
+
background: var(--color-scrim-strong);
|
|
30
24
|
z-index: var(--wui-z-modal-backdrop);
|
|
31
25
|
// A little saturation boost is what makes the frost read as glass rather than fog — the
|
|
32
26
|
// colours behind bloom softly through the blur instead of greying out.
|
package/scss/wui/_sections.scss
CHANGED
|
@@ -93,6 +93,9 @@
|
|
|
93
93
|
overflow-wrap: break-word;
|
|
94
94
|
text-wrap: balance;
|
|
95
95
|
}
|
|
96
|
+
.wui-section-title-body {
|
|
97
|
+
font-family: var(--bs-body-font-family);
|
|
98
|
+
}
|
|
96
99
|
.wui-section-subtitle {
|
|
97
100
|
margin: 0;
|
|
98
101
|
color: var(--color-text-muted);
|
|
@@ -144,6 +147,9 @@
|
|
|
144
147
|
}
|
|
145
148
|
|
|
146
149
|
// ── Features ──
|
|
150
|
+
.wui-section-features .wui-section-inner {
|
|
151
|
+
padding-inline: var(--wui-section-inset, var(--wui-container-pad));
|
|
152
|
+
}
|
|
147
153
|
.wui-section-features-list,
|
|
148
154
|
.wui-section-logos-list,
|
|
149
155
|
.wui-section-testimonials-list {
|
package/scss/wui/_shortcuts.scss
CHANGED
|
@@ -32,6 +32,12 @@
|
|
|
32
32
|
background: transparent;
|
|
33
33
|
color: inherit;
|
|
34
34
|
}
|
|
35
|
+
// The default tooltip sits on the plain surface colour, so its chip takes the plain chip look.
|
|
36
|
+
.tooltip.wui-tooltip:not(.tone-dark):not(.tone-primary):not(.tone-success):not(.tone-danger):not(.tone-warning) .wui-kbd {
|
|
37
|
+
border-color: var(--color-border);
|
|
38
|
+
background: var(--color-bg-muted);
|
|
39
|
+
color: var(--color-text);
|
|
40
|
+
}
|
|
35
41
|
.btn > .wui-kbd {
|
|
36
42
|
margin-left: 8px;
|
|
37
43
|
}
|
|
@@ -275,10 +275,8 @@
|
|
|
275
275
|
|
|
276
276
|
// Disabled — deliberately NOT opacity, and deliberately after the tones.
|
|
277
277
|
//
|
|
278
|
-
// `opacity: .55` fades the whole chip,
|
|
279
|
-
//
|
|
280
|
-
// and axe reports it as a serious violation on both surfaces. Explicit muted tokens read
|
|
281
|
-
// as the same state and stay legible at 4.56:1.
|
|
278
|
+
// `opacity: .55` fades the whole chip, label included, so a faded label can fall under the
|
|
279
|
+
// 4.5:1 AA floor. Explicit muted tokens read as the same state and keep the label legible.
|
|
282
280
|
//
|
|
283
281
|
// It sits after the tone block on purpose. `.chip.is-disabled` and `.chip.primary` have
|
|
284
282
|
// equal specificity, so source order decides — declared before them, a disabled primary
|