@webority/theme 0.68.3 → 0.70.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/README.md +19 -0
- package/dist/purge-safelist.json +8 -1
- package/dist/webority-runtime-brand.css +1 -0
- package/dist/webority-theme-export.mjs +2 -0
- package/dist/webority-theme.css +1 -1
- package/package.json +8 -3
- package/scss/_components.scss +55 -29
- package/scss/_runtime-brand.scss +83 -0
- package/scss/_tokens.scss +8 -9
- package/scss/_wui-aliases.scss +3 -4
- package/scss/wui/_choice.scss +15 -4
- package/scss/wui/_controls.scss +46 -11
- package/scss/wui/_data.scss +14 -2
- package/scss/wui/_display.scss +2 -2
- package/scss/wui/_filter-popover.scss +25 -6
- package/scss/wui/_flow.scss +4 -0
- package/scss/wui/_interaction.scss +7 -37
- package/scss/wui/_media.scss +5 -0
- package/scss/wui/_modal-remote.scss +37 -1
- package/scss/wui/_overlays.scss +15 -0
- package/scss/wui/_page-header-bar.scss +63 -7
package/scss/wui/_media.scss
CHANGED
|
@@ -723,6 +723,11 @@
|
|
|
723
723
|
padding: 0;
|
|
724
724
|
font-size: 12px;
|
|
725
725
|
}
|
|
726
|
+
.file-input.file-input-tall .file-input-text {
|
|
727
|
+
white-space: normal;
|
|
728
|
+
text-align: center;
|
|
729
|
+
overflow-wrap: anywhere;
|
|
730
|
+
}
|
|
726
731
|
|
|
727
732
|
// Large preview shown once an image exists; hover reveals a "Change image"
|
|
728
733
|
// overlay.
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
padding: 0;
|
|
63
63
|
}
|
|
64
64
|
.modal.wui-remote-drawer .modal-dialog.wui-remote-drawer-dialog {
|
|
65
|
-
margin: 0;
|
|
65
|
+
margin: 0 0 0 auto;
|
|
66
66
|
max-width: none;
|
|
67
67
|
width: min(var(--wui-modal-max-width, 480px), 100%);
|
|
68
68
|
height: 100%;
|
|
@@ -87,3 +87,39 @@
|
|
|
87
87
|
transition: none;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
|
+
|
|
91
|
+
// On a phone the drawer rises from the bottom edge as a sheet instead of sliding in from the end.
|
|
92
|
+
@media (max-width: 767.98px) {
|
|
93
|
+
.modal.wui-remote-drawer .modal-dialog.wui-remote-drawer-dialog {
|
|
94
|
+
position: absolute;
|
|
95
|
+
inset: auto 0 0 0;
|
|
96
|
+
width: 100%;
|
|
97
|
+
height: auto;
|
|
98
|
+
max-height: 90dvh;
|
|
99
|
+
margin: 0;
|
|
100
|
+
transform: translateY(100%);
|
|
101
|
+
}
|
|
102
|
+
.modal.wui-remote-drawer.show .modal-dialog.wui-remote-drawer-dialog {
|
|
103
|
+
transform: none;
|
|
104
|
+
}
|
|
105
|
+
.modal.wui-remote-drawer .wui-remote-drawer-dialog .wui-modal {
|
|
106
|
+
height: auto;
|
|
107
|
+
max-height: 90dvh;
|
|
108
|
+
border-radius: var(--wui-radius-lg) var(--wui-radius-lg) 0 0;
|
|
109
|
+
}
|
|
110
|
+
.modal.wui-remote-drawer .wui-remote-drawer-dialog .wui-modal::before {
|
|
111
|
+
content: "";
|
|
112
|
+
display: block;
|
|
113
|
+
width: 36px;
|
|
114
|
+
height: 4px;
|
|
115
|
+
margin: 8px auto 0;
|
|
116
|
+
border-radius: 2px;
|
|
117
|
+
background: var(--color-border);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// A side panel dims the page behind it without blurring it, so the list stays readable.
|
|
122
|
+
body:has(> .modal.wui-remote-drawer.show) > .modal-backdrop {
|
|
123
|
+
backdrop-filter: none;
|
|
124
|
+
-webkit-backdrop-filter: none;
|
|
125
|
+
}
|
package/scss/wui/_overlays.scss
CHANGED
|
@@ -600,6 +600,21 @@
|
|
|
600
600
|
max-width: min(92vw, 400px);
|
|
601
601
|
}
|
|
602
602
|
|
|
603
|
+
// An end-side stack moves clear of an open side drawer, so a toast never covers the panel's
|
|
604
|
+
// content or its Save button. Widths mirror the drawer sizes in _drawer.scss; !important beats
|
|
605
|
+
// Bootstrap's .end-0 utility, which is itself !important.
|
|
606
|
+
@include media-breakpoint-up(md) {
|
|
607
|
+
body:has(.wui-drawer[open]:not([side="start"])) .wui-toast-container.end-0 {
|
|
608
|
+
right: min(480px, 100%) !important;
|
|
609
|
+
}
|
|
610
|
+
body:has(.wui-drawer[open][size="sm"]:not([side="start"])) .wui-toast-container.end-0 {
|
|
611
|
+
right: min(360px, 100%) !important;
|
|
612
|
+
}
|
|
613
|
+
body:has(.wui-drawer[open][size="lg"]:not([side="start"])) .wui-toast-container.end-0 {
|
|
614
|
+
right: min(640px, 100%) !important;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
|
|
603
618
|
// Bootstrap's .toast-container stacks children with margin-bottom: $toast-spacing (1.5rem),
|
|
604
619
|
// which ADDED to the flex gap above — the stack spacing is the gap alone.
|
|
605
620
|
.wui-toast-container > :not(:last-child) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
// ── Bar ── (`size="bar"`): one 40px header row. The breadcrumbs lead as an inline prefix
|
|
2
|
-
// title
|
|
3
|
-
// Below md the row wraps, so the actions drop under
|
|
1
|
+
// ── Bar ── (`size="bar"`): one 40px header row. The breadcrumbs lead as an inline prefix. The
|
|
2
|
+
// title keeps its content width and a spacer takes the spare width, so the views follow the title
|
|
3
|
+
// and the tools and actions sit at the far end. Below md the row wraps, so the actions drop under
|
|
4
|
+
// the title instead of overlapping it.
|
|
4
5
|
// Selectors name `.page-header.page-header-bar` because `.page-header-bar` alone is also the
|
|
5
6
|
// inner row of every other size.
|
|
6
7
|
.page-header.page-header-bar {
|
|
@@ -10,27 +11,58 @@
|
|
|
10
11
|
// The bar sits 4px above the first content block.
|
|
11
12
|
margin-bottom: 4px;
|
|
12
13
|
}
|
|
14
|
+
[data-density="compact"] .app-content:has(.page-header.page-header-bar) {
|
|
15
|
+
--app-content-padding-top: 8px;
|
|
16
|
+
}
|
|
13
17
|
.page-header.page-header-bar .page-title {
|
|
14
|
-
flex:
|
|
15
|
-
min-width:
|
|
18
|
+
flex: 0 1 auto;
|
|
19
|
+
min-width: min(12ch, max-content);
|
|
16
20
|
font-size: 20px;
|
|
17
21
|
overflow: hidden;
|
|
18
22
|
text-overflow: ellipsis;
|
|
19
23
|
white-space: nowrap;
|
|
20
24
|
}
|
|
25
|
+
.page-header.page-header-bar:has(> .page-header-bar-views) .page-title {
|
|
26
|
+
max-width: 280px;
|
|
27
|
+
}
|
|
21
28
|
.page-header.page-header-bar .page-status,
|
|
22
|
-
.page-header-bar-views,
|
|
23
|
-
.page-header-bar-meta,
|
|
24
29
|
.page-header-bar-tools,
|
|
30
|
+
.page-header-bar-meta,
|
|
25
31
|
.page-header.page-header-bar .page-actions {
|
|
26
32
|
flex: none;
|
|
27
33
|
}
|
|
34
|
+
.page-header-bar-views {
|
|
35
|
+
flex: 0 1 auto;
|
|
36
|
+
min-width: 0;
|
|
37
|
+
}
|
|
38
|
+
.page-header-bar-spacer {
|
|
39
|
+
flex: 1 1 0;
|
|
40
|
+
min-width: 0;
|
|
41
|
+
}
|
|
28
42
|
.page-header-bar-crumbs {
|
|
29
43
|
flex: none;
|
|
30
44
|
font-size: 13px;
|
|
31
45
|
color: var(--color-text-muted);
|
|
32
46
|
white-space: nowrap;
|
|
33
47
|
}
|
|
48
|
+
.page-header-bar-crumbs .breadcrumb {
|
|
49
|
+
--bs-breadcrumb-divider: "/";
|
|
50
|
+
margin: 0;
|
|
51
|
+
flex-wrap: nowrap;
|
|
52
|
+
}
|
|
53
|
+
.page-header-bar-crumbs .breadcrumb-item,
|
|
54
|
+
.page-header-bar-crumbs .breadcrumb-item a {
|
|
55
|
+
color: var(--color-text-muted);
|
|
56
|
+
text-decoration: none;
|
|
57
|
+
}
|
|
58
|
+
.page-header-bar-crumbs .breadcrumb-item a:hover {
|
|
59
|
+
text-decoration: underline;
|
|
60
|
+
}
|
|
61
|
+
.page-header-bar-crumbs .breadcrumb-item:last-child::after {
|
|
62
|
+
content: "/";
|
|
63
|
+
padding-inline-start: var(--bs-breadcrumb-item-padding-x, 0.5rem);
|
|
64
|
+
color: var(--color-text-muted);
|
|
65
|
+
}
|
|
34
66
|
.page-header-bar-views,
|
|
35
67
|
.page-header-bar-tools,
|
|
36
68
|
.page-header-bar-bulk {
|
|
@@ -51,6 +83,9 @@
|
|
|
51
83
|
display: none;
|
|
52
84
|
}
|
|
53
85
|
.page-header-bar-meta {
|
|
86
|
+
display: flex;
|
|
87
|
+
align-items: center;
|
|
88
|
+
column-gap: 16px;
|
|
54
89
|
font-size: 13px;
|
|
55
90
|
color: var(--color-text-muted);
|
|
56
91
|
white-space: nowrap;
|
|
@@ -63,6 +98,9 @@
|
|
|
63
98
|
}
|
|
64
99
|
.page-header.wui-page-header-meta-below > .page-header-bar-meta {
|
|
65
100
|
flex: 0 0 100%;
|
|
101
|
+
flex-wrap: wrap;
|
|
102
|
+
white-space: normal;
|
|
103
|
+
column-gap: 16px;
|
|
66
104
|
line-height: 16px;
|
|
67
105
|
}
|
|
68
106
|
|
|
@@ -74,4 +112,22 @@
|
|
|
74
112
|
.page-header.page-header-bar .page-title {
|
|
75
113
|
flex: 0 1 auto;
|
|
76
114
|
}
|
|
115
|
+
.page-header-bar-crumbs {
|
|
116
|
+
display: none;
|
|
117
|
+
}
|
|
118
|
+
.page-header-bar-views {
|
|
119
|
+
order: 5;
|
|
120
|
+
flex: 1 1 100%;
|
|
121
|
+
min-width: 0;
|
|
122
|
+
}
|
|
123
|
+
.page-header-bar-meta {
|
|
124
|
+
order: 6;
|
|
125
|
+
flex: 1 1 100%;
|
|
126
|
+
flex-wrap: wrap;
|
|
127
|
+
white-space: normal;
|
|
128
|
+
}
|
|
129
|
+
.page-header-bar-tools {
|
|
130
|
+
flex-wrap: wrap;
|
|
131
|
+
min-width: 0;
|
|
132
|
+
}
|
|
77
133
|
}
|