|
|
@@ -9,27 +9,35 @@
|
|
|
:root {
|
|
|
--ck-widget-outline-thickness: 3px;
|
|
|
--ck-color-widget-border-blurred: hsl(0, 0%, 87%);
|
|
|
- --ck-color-widget-border-hover: hsl(43, 100%, 68%);
|
|
|
+ --ck-color-widget-border-hover: hsl(43, 100%, 62%);
|
|
|
--ck-color-widget-editable-focused-background: var(--ck-color-base-background);
|
|
|
- --ck-color-widget-drag-handler-icon: hsl(0, 0%, 100%);
|
|
|
- --ck-widget-drag-handler-width: 22px;
|
|
|
+ --ck-color-widget-drag-handler-icon-color: hsl(0, 0%, 100%);
|
|
|
+ --ck-color-widget-drag-icon-size: 16px;
|
|
|
+ --ck-color-widget-drag-animation-duration: 200ms;
|
|
|
+ --ck-color-widget-drag-animation-curve: ease;
|
|
|
}
|
|
|
|
|
|
.ck .ck-widget {
|
|
|
margin: var(--ck-spacing-standard) 0;
|
|
|
padding: 0;
|
|
|
|
|
|
+ outline-width: var(--ck-widget-outline-thickness);
|
|
|
+ outline-style: solid;
|
|
|
+ outline-color: transparent;
|
|
|
+ transition: outline-color var(--ck-color-widget-drag-animation-duration) var(--ck-color-widget-drag-animation-curve);
|
|
|
+
|
|
|
&.ck-widget_selected,
|
|
|
&.ck-widget_selected:hover {
|
|
|
outline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);
|
|
|
}
|
|
|
|
|
|
@nest .ck-editor__editable.ck-blurred &.ck-widget_selected {
|
|
|
- outline: var(--ck-widget-outline-thickness) solid var(--ck-color-widget-border-blurred);
|
|
|
+ outline-width: var(--ck-widget-outline-thickness);
|
|
|
+ outline-color: var(--ck-color-widget-border-blurred);
|
|
|
}
|
|
|
|
|
|
&:hover {
|
|
|
- outline: var(--ck-widget-outline-thickness) solid var(--ck-color-widget-border-hover);
|
|
|
+ outline-color: var(--ck-color-widget-border-hover);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -47,26 +55,46 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-.ck .ck-widget.ck-widget__selectable {
|
|
|
- /* Make the widget wrapper a relative positioning container for the drag handler. */
|
|
|
- position: relative;
|
|
|
-
|
|
|
+.ck .ck-widget.ck-widget_selectable {
|
|
|
& .ck-selection-handler {
|
|
|
- display: none;
|
|
|
+ padding: 4px;
|
|
|
+ box-sizing: border-box;
|
|
|
+
|
|
|
+ /* Background color will be animated as the handler shows up or the widget gets selected. */
|
|
|
+ background-color: transparent;
|
|
|
+
|
|
|
+ /* Transition:
|
|
|
+ * background-color for the .ck-widget_selected state change,
|
|
|
+ * visibility for hiding the handler. */
|
|
|
+ transition:
|
|
|
+ background-color var(--ck-color-widget-drag-animation-duration) var(--ck-color-widget-drag-animation-curve),
|
|
|
+ visibility var(--ck-color-widget-drag-animation-duration) var(--ck-color-widget-drag-animation-curve);
|
|
|
|
|
|
/* Make only top corners round. */
|
|
|
border-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;
|
|
|
|
|
|
- width: var(--ck-widget-drag-handler-width);
|
|
|
- height: calc(var(--ck-widget-outline-thickness) + var(--ck-widget-drag-handler-width));
|
|
|
-
|
|
|
/* Place the drag handler outside the widget wrapper. */
|
|
|
- position: absolute;
|
|
|
- top: calc(0px - var(--ck-widget-outline-thickness) - var(--ck-widget-drag-handler-width));
|
|
|
+ transform: translateY(-100%);
|
|
|
left: calc(0px - var(--ck-widget-outline-thickness));
|
|
|
|
|
|
+ /* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */
|
|
|
+ &:hover .ck-icon .ck-icon__selected-indicator {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+
|
|
|
& .ck-icon {
|
|
|
- color: var(--ck-color-widget-drag-handler-icon);
|
|
|
+ /* Make sure the dimensions of the icon are independent of the fon-size of the content. */
|
|
|
+ width: var(--ck-color-widget-drag-icon-size);
|
|
|
+ height: var(--ck-color-widget-drag-icon-size);
|
|
|
+ color: var(--ck-color-widget-drag-handler-icon-color);
|
|
|
+
|
|
|
+ /* The "selected" part of the icon is invisible by default */
|
|
|
+ & .ck-icon__selected-indicator {
|
|
|
+ opacity: 0;
|
|
|
+
|
|
|
+ /* Note: The animation is longer on purpose. Simply feels better. */
|
|
|
+ transition: opacity 300ms var(--ck-color-widget-drag-animation-curve);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -74,16 +102,17 @@
|
|
|
&.ck-widget_selected,
|
|
|
&.ck-widget_selected:hover {
|
|
|
& .ck-selection-handler {
|
|
|
- display: block;
|
|
|
background-color: var(--ck-color-focus-border);
|
|
|
+
|
|
|
+ /* When the widget is selected, notify the user using the proper look of the icon. */
|
|
|
+ & .ck-icon .ck-icon__selected-indicator {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/* Show the selection handler on mouse hover over the widget. */
|
|
|
- &:hover {
|
|
|
- & .ck-selection-handler {
|
|
|
- display: block;
|
|
|
- background-color: var(--ck-color-widget-border-hover);
|
|
|
- }
|
|
|
+ &:hover .ck-selection-handler {
|
|
|
+ background-color: var(--ck-color-widget-border-hover);
|
|
|
}
|
|
|
}
|