@webority/theme 0.99.0 → 0.101.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/README.md +9 -9
- package/dist/published-theme.json +8 -31
- package/dist/purge-safelist.json +1 -0
- package/dist/webority-theme.css +1 -1
- package/index.scss +4 -3
- package/package.json +6 -3
- package/scss/_bootstrap.generated.scss +18 -0
- package/scss/_components.scss +38 -38
- package/scss/_marketing.scss +8 -8
- package/scss/_tokens.generated.scss +831 -0
- package/scss/_tokens.scss +4 -638
- package/scss/_variables.scss +7 -12
- package/scss/_wui-components.scss +1 -1
- package/scss/_wui-residual.scss +8 -0
- package/scss/wui/_avatar-picker.scss +2 -2
- package/scss/wui/_calendar.scss +6 -6
- package/scss/wui/_card.scss +1 -1
- package/scss/wui/_carousel.scss +2 -2
- package/scss/wui/_chart-card.scss +2 -2
- package/scss/wui/_chart.scss +8 -8
- package/scss/wui/_chat.scss +2 -2
- package/scss/wui/_choice.scss +78 -78
- package/scss/wui/_code-block.scss +2 -2
- package/scss/wui/_command-palette.scss +9 -9
- package/scss/wui/_comment-thread.scss +5 -5
- package/scss/wui/_consent-banner.scss +2 -2
- package/scss/wui/_controls.scss +52 -52
- package/scss/wui/_data.scss +38 -38
- package/scss/wui/_disclosure.scss +6 -6
- package/scss/wui/_display.scss +51 -51
- package/scss/wui/_dock.scss +4 -4
- package/scss/wui/_drawer.scss +3 -3
- package/scss/wui/_file-viewer.scss +2 -2
- package/scss/wui/_filter-popover.scss +1 -1
- package/scss/wui/_floating.scss +1 -1
- package/scss/wui/_flow.scss +60 -60
- package/scss/wui/_groups.scss +7 -7
- package/scss/wui/_hover-card.scss +1 -1
- package/scss/wui/_image-crop.scss +3 -3
- package/scss/wui/_interaction.scss +3 -3
- package/scss/wui/_kanban.scss +4 -4
- package/scss/wui/_lightbox.scss +2 -2
- package/scss/wui/_media.scss +28 -28
- package/scss/wui/_mention-input.scss +4 -4
- package/scss/wui/_menu-motion.scss +1 -1
- package/scss/wui/_modal-remote.scss +2 -2
- package/scss/wui/_navigation-menu.scss +4 -4
- package/scss/wui/_navigation.scss +25 -25
- package/scss/wui/_notification-center.scss +4 -4
- package/scss/wui/_onboarding-checklist.scss +2 -2
- package/scss/wui/_overlays.scss +21 -21
- package/scss/wui/_pending.scss +1 -1
- package/scss/wui/_rich-text.scss +7 -7
- package/scss/wui/_rolling-number.scss +1 -1
- package/scss/wui/_score-scale.scss +1 -1
- package/scss/wui/_sections.scss +8 -8
- package/scss/wui/_shell-parts.scss +15 -15
- package/scss/wui/_shell.scss +20 -20
- package/scss/wui/_shortcuts.scss +1 -1
- package/scss/wui/_sortable.scss +2 -2
- package/scss/wui/_split-view.scss +4 -4
- package/scss/wui/_theme-toggle.scss +1 -1
- package/scss/wui/_tone-pill.scss +2 -2
- package/scss/wui/_toolbar.scss +2 -2
- package/scss/wui/_tree.scss +3 -3
- package/scss/wui/_typography.scss +6 -6
- package/scss/wui/_utilities.scss +27 -19
- package/scss/wui/_whats-new.scss +4 -4
- package/scss/wui/_workspace.scss +16 -16
- package/scss/wui/tour/_advance.scss +1 -1
- package/scss/wui/tour/_base.scss +1 -1
- package/scss/wui/tour/_end.scss +1 -1
- package/scss/wui/tour/_motion.scss +1 -1
- package/token-meanings.json +56 -64
- package/scss/_wui-aliases.scss +0 -495
package/scss/_variables.scss
CHANGED
|
@@ -183,15 +183,10 @@ $link-color: $wui-primary-ink !default;
|
|
|
183
183
|
// ---- Body / text ----------------------------------------------------
|
|
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
|
-
$body-secondary-color: #4B5675;
|
|
187
|
-
$body-tertiary-color: #626A82; // matches --wui-text-3, AA on every neutral surface
|
|
188
|
-
$body-secondary-bg: #F9FBFC;
|
|
189
|
-
$body-tertiary-bg: #F5F6FA;
|
|
190
186
|
|
|
191
187
|
|
|
192
188
|
// ---- Borders --------------------------------------------------------
|
|
193
189
|
$border-color: #EBEDF3;
|
|
194
|
-
$border-color-translucent: rgba(13, 24, 43, 0.08);
|
|
195
190
|
|
|
196
191
|
// One ladder; every component derives from it (Bootstrap's own model). Set a
|
|
197
192
|
// component's radius by pointing it at a rung, never by hardcoding a px value —
|
|
@@ -202,7 +197,6 @@ $border-radius: 0.5rem; // 8px — buttons, inputs, dropdowns (BS 0.375)
|
|
|
202
197
|
$border-radius-sm: 0.375rem; // 6px (BS 0.25)
|
|
203
198
|
$border-radius-lg: 0.75rem; // 12px — cards, toasts (BS 0.5)
|
|
204
199
|
$border-radius-2xl: 1.5rem; // 24px (BS 2rem via $border-radius-xxl)
|
|
205
|
-
$border-radius-pill: 9999px; // same visual as BS 50rem; explicit for token clarity
|
|
206
200
|
|
|
207
201
|
|
|
208
202
|
// ---- Typography -----------------------------------------------------
|
|
@@ -213,15 +207,12 @@ $font-family-sans-serif: 'Webority Sans', 'Inter', -apple-system, BlinkMacSystem
|
|
|
213
207
|
$font-family-display: 'Webority Serif', Cambria, Georgia, 'Times New Roman', 'Noto Serif', serif;
|
|
214
208
|
$font-family-monospace: 'JetBrains Mono', SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
215
209
|
|
|
216
|
-
$line-height-base: 1.55; // leading.body (BS 1.5)
|
|
217
|
-
$headings-line-height: 1.2; // leading.heading (BS 1.2)
|
|
218
210
|
|
|
219
211
|
$headings-font-weight: 600; // BS 500
|
|
220
212
|
$headings-letter-spacing: -0.02em;
|
|
221
213
|
$headings-color: #071437;
|
|
222
214
|
|
|
223
215
|
$display-font-weight: 500;
|
|
224
|
-
$display-line-height: 1.05; // leading.display
|
|
225
216
|
|
|
226
217
|
$h3-font-size: 1.5rem; // 24px (BS 1.75rem)
|
|
227
218
|
$h4-font-size: 1.25rem; // 20px (BS 1.5rem)
|
|
@@ -256,7 +247,7 @@ $spacers: (
|
|
|
256
247
|
// Elevation rule: in-page surfaces are FLAT (borders only).
|
|
257
248
|
// Bootstrap utility ladder (.shadow / .shadow-sm / .shadow-lg) is zeroed so
|
|
258
249
|
// products cannot reintroduce random depth. Floating UI (dropdown / modal /
|
|
259
|
-
// toast) uses the overlay rungs — same values as --wui-shadow-
|
|
250
|
+
// toast) uses the overlay rungs — same values as --wui-shadow-popover in tokens.
|
|
260
251
|
$wui-shadow-overlay: 0 8px 28px -6px rgba(7, 20, 55, 0.14);
|
|
261
252
|
$wui-shadow-overlay-lg: 0 24px 60px -16px rgba(7, 20, 55, 0.28);
|
|
262
253
|
|
|
@@ -267,7 +258,7 @@ $box-shadow-lg: none;
|
|
|
267
258
|
|
|
268
259
|
// ---- Buttons --------------------------------------------------------
|
|
269
260
|
$btn-font-weight: 500;
|
|
270
|
-
// Height comes from --wui-control-
|
|
261
|
+
// Height comes from --wui-control-md (see _components.scss) so buttons line
|
|
271
262
|
// up with inputs; the padding just needs to sit inside that.
|
|
272
263
|
$btn-padding-y: 0.5rem;
|
|
273
264
|
$btn-padding-x: 1.25rem;
|
|
@@ -292,7 +283,7 @@ $input-border-color: $border-color;
|
|
|
292
283
|
// post-CSS focus uses var(--color-primary) so runtime rebrand tracks.
|
|
293
284
|
$input-focus-box-shadow: none; // border IS the focus cue
|
|
294
285
|
$input-focus-color: $body-color;
|
|
295
|
-
$input-padding-y: 0.5rem; // filler inside --wui-control-
|
|
286
|
+
$input-padding-y: 0.5rem; // filler inside --wui-control-md (36px)
|
|
296
287
|
$input-padding-x: 0.875rem; // 14px
|
|
297
288
|
$input-border-radius: $border-radius;
|
|
298
289
|
// Themed, so it flips in dark mode. The old fixed #99A1B7 was 2.58:1 on white and read as typed text on dark.
|
|
@@ -379,3 +370,7 @@ $zindex-toast: 1700;
|
|
|
379
370
|
// `--bs-table-color` / `--bs-table-bg`; see the base `.table` rules.)
|
|
380
371
|
$table-cell-padding-y: 0.75rem; // 12px
|
|
381
372
|
$table-cell-padding-x: 0.75rem; // 12px
|
|
373
|
+
|
|
374
|
+
// Bootstrap $ defaults generated from the token source. Every value is !default, so a brand $ set
|
|
375
|
+
// before or after this file still wins.
|
|
376
|
+
@import "bootstrap.generated";
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// selects, avatars, empty states, etc). App-screen / marketing / page-specific
|
|
11
11
|
// rules were dropped. Custom-property references (--color-*, --radius-*,
|
|
12
12
|
// --shadow-*, etc.) are left exactly as written — a separate aliases partial
|
|
13
|
-
// (
|
|
13
|
+
// (_tokens.generated.scss) resolves them onto --wui-* tokens.
|
|
14
14
|
//
|
|
15
15
|
// Plain CSS is valid SCSS; nothing here has been re-nested or renamed.
|
|
16
16
|
// ============================================================================
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// The theme names the token source does not generate. Every other name comes from _tokens.generated.scss.
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
/// meaning: Weekday calendars start their week on, from 0 for Sunday to 6 for Saturday.
|
|
5
|
+
--wui-first-day: 1;
|
|
6
|
+
/// meaning: Offset that draws the focus ring inside a scrolling container.
|
|
7
|
+
--wui-focus-ring-inset: calc(-1 * var(--wui-focus-ring-width));
|
|
8
|
+
}
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
border: 1px solid var(--color-border);
|
|
27
27
|
border-radius: 50%;
|
|
28
28
|
background: color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));
|
|
29
|
-
color: var(--color-primary-
|
|
29
|
+
color: var(--color-primary-text);
|
|
30
30
|
font: inherit;
|
|
31
31
|
cursor: pointer;
|
|
32
32
|
}
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
border: 2px solid var(--color-surface);
|
|
74
74
|
border-radius: 50%;
|
|
75
75
|
background: var(--color-primary);
|
|
76
|
-
color: var(--color-primary
|
|
76
|
+
color: var(--color-on-primary);
|
|
77
77
|
}
|
|
78
78
|
.wui-avatar-picker-face:disabled:not([aria-busy="true"]) .wui-avatar-picker-badge {
|
|
79
79
|
display: none;
|
package/scss/wui/_calendar.scss
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
//
|
|
4
4
|
// Part of the wui-components layer; see _wui-components.scss for the load order. The calendar
|
|
5
5
|
// engine paints the grid from its own --fc-* custom properties, so the whole theme is those
|
|
6
|
-
// variables set from tokens below, which the dark remap in
|
|
6
|
+
// variables set from tokens below, which the dark remap in _tokens.generated.scss flips with the rest
|
|
7
7
|
// of the portal: there is no theme watcher and no engine selector here. The toolbar, view switch
|
|
8
8
|
// and status line are the element's own markup.
|
|
9
9
|
|
|
@@ -78,7 +78,7 @@ wui-calendar .fc .fc-day-other .fc-daygrid-day-number {
|
|
|
78
78
|
.wui-calendar-nav-btn:hover {
|
|
79
79
|
background: var(--color-primary-soft);
|
|
80
80
|
border-color: var(--color-primary);
|
|
81
|
-
color: var(--color-primary-
|
|
81
|
+
color: var(--color-primary-text);
|
|
82
82
|
}
|
|
83
83
|
.wui-calendar-today-btn:focus-visible,
|
|
84
84
|
.wui-calendar-nav-btn:focus-visible,
|
|
@@ -124,12 +124,12 @@ wui-calendar .fc .fc-day-other .fc-daygrid-day-number {
|
|
|
124
124
|
color 0.14s ease;
|
|
125
125
|
}
|
|
126
126
|
.wui-calendar-view-btn:hover {
|
|
127
|
-
color: var(--color-primary-
|
|
127
|
+
color: var(--color-primary-text);
|
|
128
128
|
}
|
|
129
129
|
.wui-calendar-view-btn[aria-pressed="true"] {
|
|
130
130
|
background: color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));
|
|
131
131
|
box-shadow: inset 0 0 0 2px var(--color-primary);
|
|
132
|
-
color: var(--color-primary-
|
|
132
|
+
color: var(--color-primary-text);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
// On a phone the title takes a row of its own between the two controls, and every control is a
|
|
@@ -230,7 +230,7 @@ wui-calendar[data-view="week"] .wui-calendar-surface > * {
|
|
|
230
230
|
.wui-calendar-event-primary {
|
|
231
231
|
--fc-event-bg-color: var(--color-primary-soft);
|
|
232
232
|
--fc-event-border-color: var(--color-primary);
|
|
233
|
-
--fc-event-text-color: var(--color-primary-
|
|
233
|
+
--fc-event-text-color: var(--color-primary-text);
|
|
234
234
|
}
|
|
235
235
|
.wui-calendar-event-success {
|
|
236
236
|
--fc-event-bg-color: var(--color-success-soft);
|
|
@@ -292,5 +292,5 @@ wui-calendar[data-view="month"] .wui-calendar-chip-title {
|
|
|
292
292
|
|
|
293
293
|
// The shared pressed wash of wui/interaction, restated here so it ships with this on-demand layer.
|
|
294
294
|
:is(.wui-calendar-nav-btn, .wui-calendar-today-btn, .wui-calendar-view-btn):active:not(:disabled, [aria-disabled="true"]) {
|
|
295
|
-
background-image: linear-gradient(var(--
|
|
295
|
+
background-image: linear-gradient(var(--wui-pressed-overlay), var(--wui-pressed-overlay)) !important;
|
|
296
296
|
}
|
package/scss/wui/_card.scss
CHANGED
package/scss/wui/_carousel.scss
CHANGED
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
color 160ms var(--wui-ease-ui);
|
|
80
80
|
&:hover {
|
|
81
81
|
background: var(--color-primary-soft);
|
|
82
|
-
color: var(--color-primary-
|
|
82
|
+
color: var(--color-primary-text);
|
|
83
83
|
}
|
|
84
84
|
&:focus-visible {
|
|
85
85
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
@@ -139,7 +139,7 @@
|
|
|
139
139
|
border: 1px solid var(--color-primary);
|
|
140
140
|
border-radius: 999px;
|
|
141
141
|
background: var(--color-surface);
|
|
142
|
-
color: var(--color-primary-
|
|
142
|
+
color: var(--color-primary-text);
|
|
143
143
|
font: inherit;
|
|
144
144
|
font-weight: 600;
|
|
145
145
|
cursor: pointer;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
:where(.wui-sparkline) {
|
|
8
8
|
display: inline-block;
|
|
9
9
|
vertical-align: middle;
|
|
10
|
-
color: var(--color-primary-
|
|
10
|
+
color: var(--color-primary-text);
|
|
11
11
|
}
|
|
12
12
|
.wui-sparkline polyline {
|
|
13
13
|
stroke-width: 1.5;
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
}
|
|
32
32
|
.wui-chart-card-tool[aria-pressed="true"] {
|
|
33
33
|
background: var(--color-primary-soft);
|
|
34
|
-
color: var(--color-primary-
|
|
34
|
+
color: var(--color-primary-text);
|
|
35
35
|
}
|
|
36
36
|
// The legend toggle is useful only while the chart shows a legend: two or more series, in the
|
|
37
37
|
// chart view. Before the element has drawn there is none, so the button waits for it.
|
package/scss/wui/_chart.scss
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Charts: the <wui-chart> element behind AppChart.
|
|
2
2
|
//
|
|
3
3
|
// Part of the wui-components layer; see _wui-components.scss for the load order. The element draws
|
|
4
|
-
// series in the --wui-chart-* colours. Every colour is a token the dark remap in
|
|
4
|
+
// series in the --wui-chart-* colours. Every colour is a token the dark remap in _tokens.generated.scss
|
|
5
5
|
// flips with the rest of the portal.
|
|
6
6
|
|
|
7
7
|
// ============================================================================
|
|
@@ -36,14 +36,14 @@ wui-chart {
|
|
|
36
36
|
min-height: 24px;
|
|
37
37
|
padding: 2px 6px;
|
|
38
38
|
border: 0;
|
|
39
|
-
border-radius: var(--radius-sm);
|
|
39
|
+
border-radius: var(--wui-radius-sm);
|
|
40
40
|
background: transparent;
|
|
41
41
|
color: var(--color-text-muted);
|
|
42
42
|
font: inherit;
|
|
43
43
|
cursor: pointer;
|
|
44
44
|
transition:
|
|
45
|
-
color 150ms var(--wui-ease-out
|
|
46
|
-
background-color 150ms var(--wui-ease-out
|
|
45
|
+
color 150ms var(--wui-ease-out),
|
|
46
|
+
background-color 150ms var(--wui-ease-out);
|
|
47
47
|
}
|
|
48
48
|
.wui-chart-legend-item:hover {
|
|
49
49
|
background: var(--color-bg-muted);
|
|
@@ -58,7 +58,7 @@ wui-chart {
|
|
|
58
58
|
width: 10px;
|
|
59
59
|
height: 10px;
|
|
60
60
|
border-radius: 3px;
|
|
61
|
-
transition: opacity 150ms var(--wui-ease-out
|
|
61
|
+
transition: opacity 150ms var(--wui-ease-out);
|
|
62
62
|
}
|
|
63
63
|
.wui-chart-legend-swatch-line {
|
|
64
64
|
width: 14px;
|
|
@@ -79,8 +79,8 @@ wui-chart {
|
|
|
79
79
|
.wui-chart-surface {
|
|
80
80
|
position: relative;
|
|
81
81
|
width: 100%;
|
|
82
|
-
border-radius: var(--radius-sm);
|
|
83
|
-
transition: opacity 200ms var(--wui-ease-out
|
|
82
|
+
border-radius: var(--wui-radius-sm);
|
|
83
|
+
transition: opacity 200ms var(--wui-ease-out);
|
|
84
84
|
}
|
|
85
85
|
.wui-chart-surface:focus-visible {
|
|
86
86
|
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
@@ -173,7 +173,7 @@ wui-chart[aria-busy="true"] .wui-chart-surface {
|
|
|
173
173
|
.wui-chart-table-wrap {
|
|
174
174
|
overflow: auto;
|
|
175
175
|
border: 1px solid var(--color-border);
|
|
176
|
-
border-radius: var(--radius-sm);
|
|
176
|
+
border-radius: var(--wui-radius-sm);
|
|
177
177
|
}
|
|
178
178
|
.wui-chart-table {
|
|
179
179
|
width: 100%;
|
package/scss/wui/_chat.scss
CHANGED
|
@@ -36,7 +36,7 @@ wui-chat[position="start"] .wui-chat-launcher {
|
|
|
36
36
|
width: min(440px, 100%);
|
|
37
37
|
background: var(--color-surface);
|
|
38
38
|
border-inline-start: 1px solid var(--color-border);
|
|
39
|
-
box-shadow: var(--wui-shadow-
|
|
39
|
+
box-shadow: var(--wui-shadow-modal);
|
|
40
40
|
}
|
|
41
41
|
wui-chat[position="start"] .wui-chat-panel {
|
|
42
42
|
inset-inline-end: auto;
|
|
@@ -79,7 +79,7 @@ wui-chat[position="start"] .wui-chat-panel {
|
|
|
79
79
|
// The question box starts one line tall, as tall as Send beside it, and grows with its text
|
|
80
80
|
// up to a few lines. Its padding is equal top and bottom, so one line of text sits centred in it.
|
|
81
81
|
.wui-chat-composer .form-control {
|
|
82
|
-
min-height: var(--wui-control-
|
|
82
|
+
min-height: var(--wui-control-md);
|
|
83
83
|
max-height: 9rem;
|
|
84
84
|
padding-block: 10px;
|
|
85
85
|
resize: none;
|