PluginProbe
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin / 1.1.5
OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin v1.1.5
1.1.10 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 All 34 releases
desktop-mode / assets / css / recycle-bin.css

recycle-bin.css in OpenStation: Desktop Windows, Dock & Virtual Desktops for WP Admin 1.1.5, at assets/css/recycle-bin.css

153 lines 4.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * OpenStation — Recycle Bin window styles.
3 *
4 * Scoped to `.desktop-mode-recycle-bin` so the rules can't leak into other
5 * windows. Layout: a sticky toolbar across the top, then a flex-1
6 * body that hosts a `<os-table>`. The table is told to size to the
7 * body via `--os-ui-table-max-height: 100%` so its sticky header
8 * engages.
9 */
10
11 .desktop-mode-recycle-bin {
12 display: flex;
13 flex-direction: column;
14 height: 100%;
15 width: 100%;
16 background: var( --os-ui-surface, #fff );
17 color: var( --os-ui-fg, #1d2327 );
18 }
19
20 .os-recycle-bin__toolbar {
21 display: flex;
22 flex-wrap: wrap;
23 align-items: center;
24 gap: 12px;
25 padding: 10px 14px;
26 border-bottom: 1px solid var( --os-ui-border, rgba( 0, 0, 0, 0.08 ) );
27 background: var( --os-ui-surface-elevated, #f6f7f7 );
28 }
29
30 .os-recycle-bin__toolbar-left,
31 .os-recycle-bin__toolbar-right,
32 .os-recycle-bin__toolbar-trailing {
33 display: flex;
34 align-items: center;
35 gap: 8px;
36 }
37
38 /*
39 * Honour the `hidden` attribute. The browser's UA stylesheet
40 * sets `[hidden] { display: none }`, but our explicit
41 * `display: flex` above wins on specificity. These rules restore
42 * the expected behaviour for the two groups the JS hides: the bulk
43 * actions (nothing selected) and the whole toolbar (nothing in the
44 * bin). `<os-empty-state>` handles its own.
45 */
46 .os-recycle-bin__toolbar[hidden],
47 .os-recycle-bin__toolbar-right[hidden] {
48 display: none;
49 }
50
51 .os-recycle-bin__toolbar-trailing {
52 margin-inline-start: auto;
53 }
54
55 .os-recycle-bin__count {
56 font-size: 12px;
57 font-weight: 600;
58 color: var( --os-ui-fg-muted, #50575e );
59 font-variant-numeric: tabular-nums;
60 padding-inline-end: 4px;
61 }
62
63 .os-recycle-bin__body {
64 flex: 1 1 auto;
65 min-height: 0;
66 display: flex;
67 padding: 8px 12px 12px;
68 }
69
70 .os-recycle-bin__body os-table {
71 flex: 1 1 auto;
72 --os-ui-table-max-height: 100%;
73 }
74
75 /*
76 * NOTE — cell-content styles are now inlined in `src/recycle-bin/
77 * index.ts`. `<os-table>` renders into its own shadow DOM, which
78 * blocks document-level stylesheets (and Dashicons) from reaching
79 * any node we return from a `column.render` callback. The empty-
80 * state, toolbar, and body styles below remain CSS because they
81 * live in the bin window's light-DOM template.
82 */
83
84 /* `<os-empty-state>` centres its own contents; this makes it fill
85 * the body once the table beside it is hidden. */
86 .os-recycle-bin__body os-empty-state {
87 flex: 1 1 auto;
88 }
89
90 /*
91 * Drop-target highlight for cross-window drag-to-trash. Set when
92 * the desktop drag handler hit-tests the cursor over the bin's
93 * root via `data-os-trash-drop-active`. Returns to
94 * normal on pointer-up or when the cursor leaves the window.
95 */
96 .desktop-mode-recycle-bin[ data-os-trash-drop-active ] {
97 position: relative;
98 box-shadow: inset 0 0 0 2px var( --wp-admin-theme-color, #2271b1 );
99 transition: box-shadow 80ms ease;
100 }
101
102 /* Dock-icon variant: when the recycle-bin window is closed, the
103 * desktop drag handler highlights the dock tile instead. Same
104 * affordance — outline + faint tint — so the user reads the icon
105 * as a valid drop target without needing to open the window
106 * first. The selector matches the dock tile's `data-system-id`
107 * so this CSS applies wherever the recycle-bin dock entry
108 * renders (left rail, bottom rail, future placements). */
109 .os-dock__item[ data-system-id="desktop-mode-recycle-bin" ][ data-os-trash-drop-active ] {
110 outline: 2px solid var( --wp-admin-theme-color, #2271b1 );
111 outline-offset: 2px;
112 border-radius: 12px;
113 background: color-mix(
114 in srgb,
115 var( --wp-admin-theme-color, #2271b1 ) 14%,
116 transparent
117 );
118 transition:
119 outline-color 80ms ease,
120 background 80ms ease;
121 }
122
123 .desktop-mode-recycle-bin[ data-os-trash-drop-active ]::before {
124 content: '';
125 position: absolute;
126 inset: 0;
127 pointer-events: none;
128 background: color-mix(
129 in srgb,
130 var( --wp-admin-theme-color, #2271b1 ) 8%,
131 transparent
132 );
133 z-index: 1;
134 }
135
136 .desktop-mode-recycle-bin[ data-os-trash-drop-active ]::after {
137 content: '🗑 Drop to move to Trash';
138 position: absolute;
139 left: 50%;
140 top: 50%;
141 transform: translate( -50%, -50% );
142 padding: 10px 18px;
143 border-radius: 999px;
144 background: var( --wp-admin-theme-color, #2271b1 );
145 color: var( --os-ui-fg-on-accent, #fff );
146 font-weight: 600;
147 font-size: 13px;
148 letter-spacing: 0.2px;
149 box-shadow: 0 8px 24px rgba( 0, 0, 0, 0.18 );
150 pointer-events: none;
151 z-index: 2;
152 }
153