@webority/theme 0.92.0 → 0.94.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webority/theme",
3
- "version": "0.92.0",
3
+ "version": "0.94.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": {
@@ -1172,6 +1172,22 @@ $wui-field-error-glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/
1172
1172
  // default muted mask, matching its muted resting fill, even while it holds focus).
1173
1173
  background: var(--color-surface);
1174
1174
  }
1175
+ // Above placement for AppSelect: the same triggers, resting above the box as the input's does.
1176
+ .field-float.wui-float-above:has(.search-select-control:focus) .float-label,
1177
+ .field-float.wui-float-above:has(.search-select-control.open) .float-label,
1178
+ .field-float.wui-float-above:has([data-label]:not(.search-select-placeholder)) .float-label {
1179
+ top: 0;
1180
+ left: 0;
1181
+ padding: 0;
1182
+ transform: scale(0.86);
1183
+ font-weight: var(--wui-fw-medium);
1184
+ }
1185
+ .field-float.wui-float-above:has([data-label]:not(.search-select-placeholder)):not(:has(.search-select-control.open)) .float-label {
1186
+ color: var(--color-text);
1187
+ }
1188
+ .field-float.wui-float-above:has(.search-select-control.open) .float-label {
1189
+ background: transparent;
1190
+ }
1175
1191
 
1176
1192
  .hint,
1177
1193
  .field-hint {
@@ -146,34 +146,6 @@
146
146
  background: var(--color-warning-soft);
147
147
  }
148
148
 
149
- // Compact size — dense dashboards and tight cards. Shrinks the value + chrome.
150
- .kpi.kpi-sm {
151
- padding: 12px 14px;
152
- --wui-kpi-value-size: 22px;
153
- }
154
- .kpi.kpi-sm .kpi-label {
155
- font-size: 12px;
156
- }
157
- .kpi.kpi-sm .kpi-icon {
158
- width: 32px;
159
- height: 32px;
160
- margin-bottom: 8px;
161
- }
162
-
163
- // Hero size — the single headline stat above a dashboard. Enlarges the value and its
164
- // chrome; orthogonal to variant/inline/attention, so it composes with all of them.
165
- .kpi.kpi-lg {
166
- padding: 20px;
167
- --wui-kpi-value-size: 28px;
168
- }
169
- .kpi.kpi-lg .kpi-label {
170
- font-size: 14px;
171
- }
172
- .kpi.kpi-lg .kpi-icon {
173
- width: 44px;
174
- height: 44px;
175
- }
176
-
177
149
  // Spotlight — an editorial feature tile: the label sits top-left with the icon chip pinned
178
150
  // top-right, the value is set large in the product's own font, and an optional caption reads
179
151
  // under the number. For the single showcase stat on a marketing/portal surface where the
@@ -222,6 +194,34 @@
222
194
  line-height: 1;
223
195
  font-weight: 600;
224
196
  }
197
+ // Compact size — dense dashboards and tight cards. Shrinks the value + chrome.
198
+ .kpi.kpi-sm {
199
+ padding: 12px 14px;
200
+ --wui-kpi-value-size: 22px;
201
+ }
202
+ .kpi.kpi-sm .kpi-label {
203
+ font-size: 12px;
204
+ }
205
+ .kpi.kpi-sm .kpi-icon {
206
+ width: 32px;
207
+ height: 32px;
208
+ margin-bottom: 8px;
209
+ }
210
+
211
+ // Hero size — the single headline stat above a dashboard. Enlarges the value and its
212
+ // chrome; orthogonal to variant/inline/attention, so it composes with all of them.
213
+ .kpi.kpi-lg {
214
+ padding: 20px;
215
+ --wui-kpi-value-size: 28px;
216
+ }
217
+ .kpi.kpi-lg .kpi-label {
218
+ font-size: 14px;
219
+ }
220
+ .kpi.kpi-lg .kpi-icon {
221
+ width: 44px;
222
+ height: 44px;
223
+ }
224
+
225
225
  // Caption — the sub-line under the value ("Total sent"). Spotlight-only today, but the class
226
226
  // is variant-agnostic so a plain tile can carry one too.
227
227
  .kpi-caption {
@@ -408,6 +408,12 @@
408
408
  letter-spacing: -0.01em;
409
409
  color: var(--color-text);
410
410
  }
411
+ // The dialog moves focus to the title so a screen reader reads it on open, and a render
412
+ // focuses it with no pointer involved, so the browser paints its default ring. A heading is
413
+ // not a control: drop the ring, keep the focus.
414
+ .wui-confirm-title:focus-visible {
415
+ outline: none;
416
+ }
411
417
  .wui-confirm-msg {
412
418
  margin: 0;
413
419
  font-size: 15px;
@@ -54,6 +54,34 @@
54
54
  letter-spacing: 0.04em;
55
55
  text-transform: uppercase;
56
56
  }
57
+ .wui-section-eyebrow-pill {
58
+ display: inline-flex;
59
+ align-items: center;
60
+ padding: var(--wui-space-xxs) var(--wui-space-sm);
61
+ border: 1px solid transparent;
62
+ border-radius: var(--wui-radius-pill);
63
+ }
64
+ .wui-section-eyebrow-neutral {
65
+ background: color-mix(in srgb, var(--color-text-subtle) 16%, transparent);
66
+ color: var(--color-text-muted);
67
+ border-color: transparent;
68
+ }
69
+ .wui-section-eyebrow-primary {
70
+ @include wui-tone-pill-colors(primary, var(--color-primary-ink));
71
+ border-color: color-mix(in srgb, var(--color-primary) 25%, transparent);
72
+ }
73
+ .wui-section-eyebrow-success {
74
+ @include wui-tone-pill-colors(success);
75
+ }
76
+ .wui-section-eyebrow-warning {
77
+ @include wui-tone-pill-colors(warning);
78
+ }
79
+ .wui-section-eyebrow-danger {
80
+ @include wui-tone-pill-colors(danger);
81
+ }
82
+ .wui-section-eyebrow-info {
83
+ @include wui-tone-pill-colors(info);
84
+ }
57
85
  .wui-section-title {
58
86
  margin: 0;
59
87
  color: var(--color-text);
@@ -93,6 +93,14 @@
93
93
  .wui-shortcut-sheet[hidden] {
94
94
  display: none;
95
95
  }
96
+ .wui-shortcut-sheet.wui-shortcut-sheet-below {
97
+ top: calc(100% + 8px);
98
+ bottom: auto;
99
+ }
100
+ .wui-shortcut-sheet.wui-shortcut-sheet-start {
101
+ left: 0;
102
+ right: auto;
103
+ }
96
104
  .wui-shortcut-sheet-head {
97
105
  display: flex;
98
106
  align-items: center;