PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.9
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.9
1.1.9 1.1.8 1.1.7 1.1.6 1.1.5 1.1.4 1.1.3 1.1.2 1.1.1 1.1.0 1.0.1 1.0.0 0.9.8 0.9.7 0.9.6 0.9.4 0.9.5 0.9.3 0.9.2 0.9.1 0.9.0 0.8.9 0.8.8 0.8.7 0.8.6 All 33 releases
desktop-mode / apps / users / users.css

users.css in OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin 1.1.9, at apps/users/users.css

198 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * OpenStation — Users app styles.
3 *
4 * The tab strip, the Add User panel, the Profile tab and the
5 * `<os-user-profile>` layout. The User Edit app points its
6 * `->style()` at this same sheet: it hosts the same component, and
7 * one sheet is one place to keep the two in step. The list layout
8 * (toolbar, body, pager, phone bulk footer) is the framework's
9 * `.os-app-list__*` family in `assets/css/app-runtime.css`.
10 *
11 * Cell-content styles are NOT here — `<os-table>` renders into its
12 * own shadow DOM; the cells carry inline styles.
13 */
14
15 /* Tab strip — auto-height, so the active panel below fills the
16 column. Without `flex: 0 0 auto` the strip grows and the panel
17 collapses to zero height — the "no table" regression. */
18 .os-users__tabs {
19 flex: 0 0 auto;
20 padding: 0 18px;
21 border-bottom: 1px solid var( --os-ui-border, #dcdcde );
22 }
23
24 /* The Add User tab. Padding lives on the host so the form's own
25 footer separator sits flush with the panel edges; the active tab
26 fills the remaining height and the inactive one is fully hidden. */
27 .os-users__add-panel {
28 flex: 1 1 auto;
29 min-height: 0;
30 display: block;
31 padding: 32px 24px 28px;
32 box-sizing: border-box;
33 overflow-y: auto;
34 }
35 .os-users__add-panel[ hidden ] {
36 display: none;
37 }
38
39 /* Center the form at a comfortable reading width; the os-form does
40 the column layout. `min(760px, 100%)` keeps it inside narrow panels. */
41 .os-users__add-panel > os-form {
42 display: block;
43 margin-inline: auto;
44 width: min( 760px, 100% );
45 }
46
47 .os-users__add-panel [ slot="header" ] {
48 margin-bottom: 4px;
49 }
50 .os-users__add-panel [ slot="header" ] h2 {
51 margin: 0 0 6px;
52 font-size: 20px;
53 font-weight: 600;
54 letter-spacing: -0.01em;
55 color: var( --os-ui-fg, #1d2327 );
56 }
57 .os-users__form-lede {
58 margin: 0 0 8px;
59 color: var( --os-ui-fg-muted, #50575e );
60 font-size: 13px;
61 line-height: 1.5;
62 }
63 .os-users__form-pwd-actions {
64 display: flex;
65 align-items: center;
66 gap: 12px;
67 flex-wrap: wrap;
68 margin-top: -4px;
69 }
70 .os-users__form-hint {
71 margin: 0;
72 font-size: 12px;
73 color: var( --os-ui-fg-muted, #50575e );
74 }
75
76 /* The bulk bar's clusters: the role pick + Apply, and the reassign
77 picker + Delete. */
78 .os-users__bulk-group {
79 display: inline-flex;
80 align-items: center;
81 gap: 6px;
82 flex-wrap: wrap;
83 }
84 .os-users__bulk-role {
85 min-width: 160px;
86 }
87 .os-users__reassign {
88 display: inline-flex;
89 align-items: center;
90 gap: 6px;
91 font-size: 12px;
92 color: var( --os-ui-fg-muted, #50575e );
93 }
94 .os-users__reassign-name {
95 color: var( --os-ui-fg, #1d2327 );
96 }
97 .os-users__reassign-search {
98 min-width: 160px;
99 }
100
101 /* Narrow-window trim — at < 540px the side padding gets in the way
102 more than it helps. Same breakpoint the form's own grid uses to
103 collapse to one column. */
104 @media ( max-width: 540px ) {
105 .os-users__add-panel {
106 padding: 20px 14px 16px;
107 }
108 .os-users__tabs {
109 padding: 0 12px;
110 }
111 }
112
113 /* Profile tab — the active tabpanel fills the remaining height,
114 scrolls its own content, leaves the tab strip pinned at the top. */
115 .os-users__edit-panel {
116 flex: 1 1 auto;
117 min-height: 0;
118 display: flex;
119 flex-direction: column;
120 overflow: hidden;
121 }
122 .os-users__edit-panel[ hidden ] {
123 display: none;
124 }
125 /* The User Edit window. The body is a chromeless host;
126 `<os-user-profile>` fills the whole space and owns its own scroll.
127 Without `min-height: 0` on the chain, the inner `overflow-y: auto`
128 never gets a chance to clip and scroll. */
129 .os-user-edit-window {
130 display: flex;
131 flex-direction: column;
132 flex: 1 1 auto;
133 height: 100%;
134 min-height: 0;
135 }
136 /* The component — the light-DOM host of the layout — fills whatever
137 hosts it (the Profile tab panel, the User Edit window) so its
138 internal scroll container takes the remaining space. */
139 os-user-profile {
140 flex: 1 1 auto;
141 display: flex;
142 flex-direction: column;
143 min-height: 0;
144 }
145 os-user-profile > .os-users__edit-layout {
146 flex: 1 1 auto;
147 min-height: 0;
148 }
149
150 /* Sidebar layout — at-a-glance summary on the left, editable form +
151 activity feed in the main column on the right. One container query
152 collapses the two columns to one stack on narrow widths, where the
153 aside moves above the form. */
154 .os-users__edit-layout {
155 flex: 1 1 auto;
156 min-height: 0;
157 overflow-y: auto;
158 display: grid;
159 grid-template-columns: 280px minmax( 0, 1fr );
160 gap: 28px;
161 padding: 28px 32px 32px;
162 container-type: inline-size;
163 container-name: desktop-mode-user-edit;
164 }
165 @container desktop-mode-user-edit ( max-width: 800px ) {
166 .os-users__edit-layout {
167 grid-template-columns: minmax( 0, 1fr );
168 }
169 }
170 .os-users__edit-aside {
171 display: flex;
172 flex-direction: column;
173 gap: 8px;
174 min-width: 0;
175 position: sticky;
176 top: 0;
177 align-self: start;
178 }
179 @container desktop-mode-user-edit ( max-width: 800px ) {
180 .os-users__edit-aside {
181 position: static;
182 }
183 }
184 .os-users__edit-main {
185 min-width: 0;
186 width: 100%;
187 max-width: 720px;
188 /* Center within the `minmax(0, 1fr)` grid cell so the form stays
189 readable on wide windows instead of leaving a large empty band
190 on the right edge. */
191 margin-inline: auto;
192 display: flex;
193 flex-direction: column;
194 }
195 .os-users__edit-activity {
196 min-width: 0;
197 }
198