UNPKG

7.45 kBSCSSView Raw
1@import "./components/fullscreen-mode/style.scss";
2@import "./components/header/style.scss";
3@import "./components/header/fullscreen-mode-close/style.scss";
4@import "./components/header/header-toolbar/style.scss";
5@import "./components/header/more-menu/style.scss";
6@import "./components/header/pinned-plugins/style.scss";
7@import "./components/keyboard-shortcut-help-modal/style.scss";
8@import "./components/layout/style.scss";
9@import "./components/manage-blocks-modal/style.scss";
10@import "./components/meta-boxes/meta-boxes-area/style.scss";
11@import "./components/sidebar/style.scss";
12@import "./components/sidebar/last-revision/style.scss";
13@import "./components/sidebar/post-author/style.scss";
14@import "./components/sidebar/post-link/style.scss";
15@import "./components/sidebar/post-schedule/style.scss";
16@import "./components/sidebar/post-status/style.scss";
17@import "./components/sidebar/post-visibility/style.scss";
18@import "./components/sidebar/settings-header/style.scss";
19@import "./components/sidebar/settings-sidebar/style.scss";
20@import "./components/sidebar/sidebar-header/style.scss";
21@import "./components/text-editor/style.scss";
22@import "./components/visual-editor/style.scss";
23@import "./components/options-modal/style.scss";
24
25
26/**
27 * Animations
28 */
29
30// These keyframes should not be part of the _animations.scss mixins file.
31// Because keyframe animations can't be defined as mixins properly, they are duplicated.
32// Since hey are intended only for the editor, we add them here instead.
33@keyframes edit-post__loading-fade-animation {
34 0% {
35 opacity: 0.5;
36 }
37 50% {
38 opacity: 1;
39 }
40 100% {
41 opacity: 0.5;
42 }
43}
44
45@keyframes edit-post__fade-in-animation {
46 from {
47 opacity: 0;
48 }
49 to {
50 opacity: 1;
51 }
52}
53
54// In order to use mix-blend-mode, this element needs to have an explicitly set background-color
55// We scope it to .wp-toolbar to be wp-admin only, to prevent bleed into other implementations
56html.wp-toolbar {
57 background: $white;
58}
59
60body.block-editor-page {
61 background: $white;
62
63 #wpcontent {
64 padding-left: 0;
65 }
66
67 #wpbody-content {
68 padding-bottom: 0;
69 }
70
71 /* We hide legacy notices in Gutenberg, because they were not designed in a way that scaled well.
72 Plugins can use Gutenberg notices if they need to pass on information to the user when they are editing. */
73 #wpbody-content > div:not(.block-editor):not(#screen-meta) {
74 display: none;
75 }
76
77 #wpfooter {
78 display: none;
79 }
80
81 .a11y-speak-region {
82 left: -1px;
83 top: -1px;
84 }
85
86 ul#adminmenu a.wp-has-current-submenu::after,
87 ul#adminmenu > li.current > a.current::after {
88 border-right-color: $white;
89 }
90
91 .media-frame select.attachment-filters:last-of-type {
92 width: auto;
93 max-width: 100%;
94 }
95}
96
97.block-editor,
98// The modals are shown outside the .block-editor wrapper, they need these styles
99.components-modal__frame {
100 box-sizing: border-box;
101
102 *,
103 *::before,
104 *::after {
105 box-sizing: inherit;
106 }
107
108 select {
109 font-size: $default-font-size;
110 color: $dark-gray-500;
111 }
112}
113
114.block-editor__container {
115 // on mobile the main content area has to scroll
116 // otherwise you can invoke the overscroll bounce on the non-scrolling container, causing (ノಠ益ಠ)ノ彡┻━┻
117 @include break-small {
118 position: absolute;
119 top: 0;
120 right: 0;
121 bottom: 0;
122 left: 0;
123 min-height: calc(100vh - #{ $admin-bar-height-big });
124 }
125
126 // The WP header height changes at this breakpoint
127 @include break-medium {
128 min-height: calc(100vh - #{ $admin-bar-height });
129
130 body.is-fullscreen-mode & {
131 min-height: 100vh;
132 }
133 }
134
135 img {
136 max-width: 100%;
137 height: auto;
138 }
139
140 iframe {
141 width: 100%;
142 }
143
144 .components-navigate-regions {
145 height: 100%;
146 }
147}
148
149// Override core input styles to provide styles consistent with Gutenberg.
150// Upstream ticket for redesigned input and styles in general: https://core.trac.wordpress.org/ticket/44749
151// Upstream ticket for redesigned checkbox: https://core.trac.wordpress.org/ticket/35596
152.editor-post-permalink,
153.edit-post-sidebar,
154.editor-post-publish-panel,
155.block-editor-block-list__block,
156.components-popover,
157.components-modal__content {
158 .input-control, // Upstream name is `.regular-text`.
159 input[type="text"],
160 input[type="search"],
161 input[type="radio"],
162 input[type="tel"],
163 input[type="time"],
164 input[type="url"],
165 input[type="week"],
166 input[type="password"],
167 input[type="checkbox"],
168 input[type="color"],
169 input[type="date"],
170 input[type="datetime"],
171 input[type="datetime-local"],
172 input[type="email"],
173 input[type="month"],
174 input[type="number"],
175 select,
176 textarea {
177 font-family: $default-font;
178 padding: 6px 8px;
179 @include input-style__neutral();
180
181 /* Fonts smaller than 16px causes mobile safari to zoom. */
182 font-size: $mobile-text-min-font-size;
183 @include break-small {
184 font-size: $default-font-size;
185 }
186
187 &:focus {
188 @include input-style__focus();
189 }
190 }
191
192 input[type="number"] {
193 padding-left: 4px;
194 padding-right: 4px;
195 }
196
197 select {
198 padding: 2px;
199
200 &:focus {
201 border-color: $blue-medium-600;
202 // Windows High Contrast mode will show this outline
203 outline: 2px solid transparent;
204 outline-offset: 0;
205 }
206 }
207
208 input[type="checkbox"],
209 input[type="radio"] {
210 border: $border-width + 1 solid $dark-gray-300;
211 margin-right: 12px;
212 transition: none;
213
214 &:focus {
215 border-color: $dark-gray-300;
216 box-shadow: 0 0 0 1px $dark-gray-300;
217 }
218
219 &:checked {
220 background: theme(toggle);
221 border-color: theme(toggle);
222 }
223
224 &:checked:focus {
225 box-shadow: 0 0 0 2px $dark-gray-500;
226 }
227 }
228
229 input[type="checkbox"] {
230 border-radius: $radius-round-rectangle / 2;
231
232 &:checked::before,
233 &[aria-checked="mixed"]::before {
234 margin: -3px -5px;
235 color: $white;
236
237 @include break-medium() {
238 margin: -4px 0 0 -5px;
239 }
240 }
241
242 &[aria-checked="mixed"] {
243 background: theme(toggle);
244 border-color: theme(toggle);
245
246 &::before {
247 // Inherited from `forms.css`.
248 // See: https://github.com/WordPress/wordpress-develop/tree/5.1.1/src/wp-admin/css/forms.css#L122-L132
249 content: "\f460";
250 float: left;
251 display: inline-block;
252 vertical-align: middle;
253 width: 16px;
254 /* stylelint-disable */
255 font: normal 30px/1 dashicons;
256 /* stylelint-enable */
257 speak: none;
258 -webkit-font-smoothing: antialiased;
259 -moz-osx-font-smoothing: grayscale;
260
261 @include break-medium() {
262 float: none;
263 font-size: 21px;
264 }
265 }
266
267 &:focus {
268 box-shadow: 0 0 0 2px $dark-gray-500;
269 }
270 }
271 }
272
273 input[type="radio"] {
274 border-radius: $radius-round;
275
276 &:checked::before {
277 margin: 3px 0 0 3px;
278 background-color: $white;
279 }
280 }
281}
282
283// Placeholder colors
284.editor-post-title,
285.block-editor-block-list__block {
286 input,
287 textarea {
288 // Use opacity to work in various editor styles.
289 &::-webkit-input-placeholder {
290 color: $dark-opacity-300;
291 }
292
293 &::-moz-placeholder {
294 opacity: 1; // Necessary because Firefox reduces this from 1.
295 color: $dark-opacity-300;
296 }
297
298 &:-ms-input-placeholder {
299 color: $dark-opacity-300;
300 }
301
302 .is-dark-theme & {
303 &::-webkit-input-placeholder {
304 color: $light-opacity-300;
305 }
306
307 &::-moz-placeholder {
308 opacity: 1; // Necessary because Firefox reduces this from 1.
309 color: $light-opacity-300;
310 }
311
312 &:-ms-input-placeholder {
313 color: $light-opacity-300;
314 }
315 }
316 }
317}
318
319// These are default editor styles in case the theme doesn't provide them.
320.wp-block {
321 max-width: $content-width;
322
323 &[data-align="wide"] {
324 max-width: 1100px;
325 }
326
327 &[data-align="full"] {
328 max-width: none;
329 }
330}