mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-06-28 22:30:04 +00:00
Customize: Add edit shortcuts in customizer preview to visually expose editable elements and focus on the corresponding controls when clicked.
* Edit shortcuts show initially for a moment and then fade away so as to not get in the way of the preview. * Visibility of edit shortcuts is toggled by clicking/touching anywhere inert in the document. * Implements UI for mobile and touch devices which do not support shift-click. * Adds `editShortcutVisibility` state. * Adds new methods to `wp.customize.selectiveRefresh.Partial` for managing edit shortcuts. Incorporates aspects of the Customize Direct Manipulation feature plugin. Props sirbrillig, mattwiebe, celloexpressions, melchoyce, westonruter, afercia. Fixes #27403. git-svn-id: https://develop.svn.wordpress.org/trunk@38967 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -10,3 +10,153 @@
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Make shortcut buttons essentially invisible */
|
||||
.widget button.customize-partial-edit-shortcut,
|
||||
.customize-partial-edit-shortcut {
|
||||
position: relative;
|
||||
float: left;
|
||||
width: 1px; /* required to have a size to be focusable in Safari */
|
||||
height: 1px;
|
||||
padding: 0;
|
||||
margin: -1px 0 0 -1px;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
color: transparent;
|
||||
box-shadow: none;
|
||||
outline: none;
|
||||
z-index: 5;
|
||||
}
|
||||
|
||||
.customize-partial-edit-shortcut:active {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/* Styles for the actual shortcut */
|
||||
.customize-partial-edit-shortcut:before {
|
||||
position: absolute;
|
||||
left: -36px;
|
||||
color: #fff;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
font-size: 18px;
|
||||
font-family: dashicons;
|
||||
content: '\f464';
|
||||
z-index: 5;
|
||||
background-color: #0085ba;
|
||||
border-radius: 50%;
|
||||
border: 2px solid #fff;
|
||||
box-shadow: 0 2px 1px rgba(46,68,83,0.15);
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
animation-fill-mode: both;
|
||||
animation-duration: .4s;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
text-shadow: 0 -1px 1px #006799,
|
||||
1px 0 1px #006799,
|
||||
0 1px 1px #006799,
|
||||
-1px 0 1px #006799;
|
||||
}
|
||||
|
||||
.customize-partial-edit-shortcut:hover:before,
|
||||
.customize-partial-edit-shortcut:focus:before {
|
||||
background: #008ec2; /* matches primary buttons */
|
||||
border-color: #191e23; /* provides visual focus style with 4.5 contrast against background color */
|
||||
}
|
||||
|
||||
body.customize-partial-edit-shortcuts-shown .customize-partial-edit-shortcut:before {
|
||||
animation-name: customize-partial-edit-shortcut-bounce-appear;
|
||||
pointer-events: auto;
|
||||
}
|
||||
body.customize-partial-edit-shortcuts-hidden .customize-partial-edit-shortcut:before {
|
||||
animation-name: customize-partial-edit-shortcut-bounce-disappear;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
body.customize-partial-edit-shortcuts-flash .customize-partial-edit-shortcut:before {
|
||||
animation-duration: 1.5s;
|
||||
animation-delay: 0.4s;
|
||||
animation-name: customize-partial-edit-shortcut-bounce-disappear;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.page-sidebar-collapsed .customize-partial-edit-shortcut:before,
|
||||
.customize-partial-edit-shortcut-hidden:before {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.widget button.customize-partial-edit-shortcut-absolute,
|
||||
.customize-partial-edit-shortcut-absolute {
|
||||
position: static;
|
||||
}
|
||||
|
||||
.customize-partial-edit-shortcut-left-margin:before {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
@keyframes customize-partial-edit-shortcut-bounce-appear {
|
||||
from, 20%, 40%, 60%, 80%, to {
|
||||
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
}
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: scale3d(.3, .3, .3);
|
||||
}
|
||||
20% {
|
||||
transform: scale3d(1.1, 1.1, 1.1);
|
||||
}
|
||||
40% {
|
||||
transform: scale3d(.9, .9, .9);
|
||||
}
|
||||
60% {
|
||||
opacity: 1;
|
||||
transform: scale3d(1.03, 1.03, 1.03);
|
||||
}
|
||||
80% {
|
||||
transform: scale3d(.97, .97, .97);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes customize-partial-edit-shortcut-bounce-disappear {
|
||||
from, 20%, 40%, 60%, 80%, to {
|
||||
animation-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
|
||||
}
|
||||
0% {
|
||||
opacity: 1;
|
||||
transform: scale3d(1, 1, 1);
|
||||
}
|
||||
20% {
|
||||
transform: scale3d(.97, .97, .97);
|
||||
}
|
||||
40% {
|
||||
opacity: 1;
|
||||
transform: scale3d(1.03, 1.03, 1.03);
|
||||
}
|
||||
60% {
|
||||
transform: scale3d(.9, .9, .9);
|
||||
}
|
||||
80% {
|
||||
transform: scale3d(1.1, 1.1, 1.1);
|
||||
}
|
||||
to {
|
||||
opacity: 0;
|
||||
transform: scale3d(.3, .3, .3);
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width:800px) {
|
||||
.customize-partial-edit-shortcut:before {
|
||||
left: -18px; /* Assume there will be less of a margin available on smaller screens */
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user