@webority/theme 0.101.5 → 0.102.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.
|
|
3
|
+
"version": "0.102.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": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"country-flag-icons": "^1.6.20",
|
|
52
52
|
"sass-embedded": "^1.97.0",
|
|
53
53
|
"vite": "^8.0.12",
|
|
54
|
-
"@webority/tokens": "0.
|
|
54
|
+
"@webority/tokens": "0.102.0"
|
|
55
55
|
},
|
|
56
56
|
"scripts": {
|
|
57
57
|
"tokens": "node ../tokens/dist/webority.js brand --library --out ../tokens/dist --web scss/_tokens.generated.scss",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// Generated by @webority/tokens 0.
|
|
1
|
+
// Generated by @webority/tokens 0.102.0 from its token source. Do not edit; run webority brand --library.
|
|
2
2
|
$body-color: #252f4a !default;
|
|
3
3
|
$body-secondary-color: #4b5675 !default;
|
|
4
4
|
$body-tertiary-color: #626a82 !default;
|
|
@@ -18,7 +18,7 @@ wui-context-menu {
|
|
|
18
18
|
// Above a modal, like every other portalled menu (see --wui-z-* in _tokens.scss).
|
|
19
19
|
z-index: var(--wui-z-menu);
|
|
20
20
|
// Never taller than the screen; anchorOverlay clamps it further when the pointer is low.
|
|
21
|
-
max-height: calc(100vh -
|
|
21
|
+
max-height: calc(100vh - var(--wui-space-sm));
|
|
22
22
|
// Focus lands on the panel itself after a pointer open; the rows carry the visible focus.
|
|
23
23
|
outline: none;
|
|
24
24
|
transform-origin: top left;
|
|
@@ -44,10 +44,86 @@ wui-context-menu {
|
|
|
44
44
|
cursor: default;
|
|
45
45
|
background: transparent;
|
|
46
46
|
}
|
|
47
|
+
// Dropdown rows are flex, which would show a row a search hid unless the hidden state wins here.
|
|
48
|
+
[hidden] {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// A submenu's panel is a descendant of the root panel, so it takes the rows and disabled rules
|
|
54
|
+
// above; it is placed beside its row by anchorOverlay and opens toward the side it chose.
|
|
55
|
+
.dropdown-menu.wui-context-menu-subpanel {
|
|
56
|
+
position: fixed;
|
|
57
|
+
z-index: var(--wui-z-menu);
|
|
58
|
+
max-height: calc(100vh - var(--wui-space-sm));
|
|
59
|
+
outline: none;
|
|
60
|
+
transform-origin: top left;
|
|
61
|
+
|
|
62
|
+
&[data-open] {
|
|
63
|
+
display: block;
|
|
64
|
+
animation: var(--wui-menu-anim) var(--wui-menu-anim-duration) var(--wui-menu-anim-ease);
|
|
65
|
+
}
|
|
66
|
+
&[data-side="start"] {
|
|
67
|
+
transform-origin: top right;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// The filter of a searchable submenu, above its rows.
|
|
72
|
+
.wui-context-menu-search {
|
|
73
|
+
display: block;
|
|
74
|
+
width: 100%;
|
|
75
|
+
margin-block-end: var(--wui-space-xxs);
|
|
76
|
+
padding: var(--wui-space-xs) var(--wui-space-sm);
|
|
77
|
+
font: inherit;
|
|
78
|
+
font-size: var(--wui-fs-sm);
|
|
79
|
+
color: var(--color-text);
|
|
80
|
+
background: var(--color-surface);
|
|
81
|
+
border: 1px solid var(--color-border);
|
|
82
|
+
border-radius: var(--wui-radius-md);
|
|
83
|
+
corner-shape: squircle;
|
|
84
|
+
&:focus-visible {
|
|
85
|
+
outline: var(--wui-focus-ring-width) solid var(--color-focus-ring);
|
|
86
|
+
outline-offset: var(--wui-focus-ring-inset);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// The marker of a row that opens a submenu, at its trailing edge.
|
|
91
|
+
.wui-context-menu-sub > .dropdown-item > .wui-context-menu-chevron {
|
|
92
|
+
flex: none;
|
|
93
|
+
margin-inline-start: auto;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// The muted text a row carries at its trailing edge (its data-hint, such as a shortcut).
|
|
97
|
+
.wui-context-menu-hint {
|
|
98
|
+
margin-inline-start: auto;
|
|
99
|
+
padding-inline-start: var(--wui-space-md);
|
|
100
|
+
color: var(--color-text-subtle);
|
|
101
|
+
font-size: var(--wui-fs-xs);
|
|
102
|
+
font-weight: var(--wui-fw-normal);
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
// The tick of a row that is checked. Every aria-checked row reserves the space, so the labels of
|
|
107
|
+
// a checked and an unchecked row line up.
|
|
108
|
+
.dropdown-menu.wui-context-menu-panel .dropdown-item[aria-checked] {
|
|
109
|
+
position: relative;
|
|
110
|
+
padding-inline-start: var(--wui-space-xl);
|
|
111
|
+
}
|
|
112
|
+
// Glyph geometry: a checkmark drawn with borders, sized to sit beside the row's text.
|
|
113
|
+
.wui-context-menu-tick {
|
|
114
|
+
position: absolute;
|
|
115
|
+
inset-inline-start: var(--wui-space-sm);
|
|
116
|
+
top: 50%;
|
|
117
|
+
width: var(--wui-space-xs);
|
|
118
|
+
height: var(--wui-space-sm);
|
|
119
|
+
border: solid currentColor;
|
|
120
|
+
border-width: 0 var(--wui-space-xxs) var(--wui-space-xxs) 0;
|
|
121
|
+
transform: translateY(-65%) rotate(45deg);
|
|
47
122
|
}
|
|
48
123
|
|
|
49
124
|
@media (prefers-reduced-motion: reduce) {
|
|
50
|
-
.dropdown-menu.wui-context-menu-panel[data-open]
|
|
125
|
+
.dropdown-menu.wui-context-menu-panel[data-open],
|
|
126
|
+
.dropdown-menu.wui-context-menu-subpanel[data-open] {
|
|
51
127
|
animation: none;
|
|
52
128
|
}
|
|
53
129
|
}
|
|
@@ -22,6 +22,19 @@
|
|
|
22
22
|
text-overflow: ellipsis;
|
|
23
23
|
white-space: nowrap;
|
|
24
24
|
}
|
|
25
|
+
// The slot holds interactive content such as a menu, which must not be clipped.
|
|
26
|
+
.page-header.page-header-bar .page-title.wui-page-title-slot {
|
|
27
|
+
overflow: visible;
|
|
28
|
+
text-overflow: clip;
|
|
29
|
+
}
|
|
30
|
+
// A menu in the slot takes its own text styles, not the heading's nowrap and size.
|
|
31
|
+
.wui-page-title-slot .dropdown-menu {
|
|
32
|
+
white-space: normal;
|
|
33
|
+
font-size: var(--wui-fs-sm);
|
|
34
|
+
font-weight: var(--wui-fw-normal);
|
|
35
|
+
letter-spacing: normal;
|
|
36
|
+
line-height: normal;
|
|
37
|
+
}
|
|
25
38
|
.page-header.page-header-bar:has(> .page-header-bar-views) .page-title {
|
|
26
39
|
max-width: 280px;
|
|
27
40
|
}
|