@@ -4,6 +4,7 @@ export class OverlayManager {
44 private static readonly CSS_VAR_BORDER_WIDTH = '--directus-visual-editing--rect--border-width' ;
55 private static readonly CSS_VAR_BORDER_COLOR = '--directus-visual-editing--rect--border-color' ;
66 private static readonly CSS_VAR_BORDER_RADIUS = '--directus-visual-editing--rect--border-radius' ;
7+ private static readonly CSS_VAR_HOVER_OPACITY = '--directus-visual-editing--rect-hover--opacity' ;
78 private static readonly CSS_VAR_HIGHLIGHT_OPACITY = '--directus-visual-editing--rect-highlight--opacity' ;
89 private static readonly CSS_VAR_BUTTON_WIDTH = '--directus-visual-editing--edit-btn--width' ;
910 private static readonly CSS_VAR_BUTTON_HEIGHT = '--directus-visual-editing--edit-btn--height' ;
@@ -21,6 +22,7 @@ export class OverlayManager {
2122 static readonly CONTAINER_RECT_CLASS_NAME = 'directus-visual-editing-overlay' ;
2223 static readonly RECT_CLASS_NAME = 'directus-visual-editing-rect' ;
2324 static readonly RECT_HIGHLIGHT_CLASS_NAME = 'directus-visual-editing-rect-highlight' ;
25+ static readonly RECT_PARENT_HOVER_CLASS_NAME = 'directus-visual-editing-rect-parent-hover' ;
2426 static readonly RECT_HOVER_CLASS_NAME = 'directus-visual-editing-rect-hover' ;
2527 static readonly RECT_INNER_CLASS_NAME = 'directus-visual-editing-rect-inner' ;
2628 static readonly RECT_EDIT_BUTTON_CLASS_NAME = 'directus-visual-editing-edit-button' ;
@@ -75,11 +77,18 @@ export class OverlayManager {
7577 border-radius: var(${ OverlayManager . CSS_VAR_BORDER_RADIUS } , 6px);
7678 opacity: 0;
7779 }
80+ .${ OverlayManager . RECT_CLASS_NAME } .${ OverlayManager . RECT_HOVER_CLASS_NAME } .${ OverlayManager . RECT_INNER_CLASS_NAME } {
81+ --hover-opacity: var(${ OverlayManager . CSS_VAR_HOVER_OPACITY } , 0.333);
82+ opacity: var(--hover-opacity);
83+ }
84+ .${ OverlayManager . RECT_CLASS_NAME } .${ OverlayManager . RECT_PARENT_HOVER_CLASS_NAME } .${ OverlayManager . RECT_INNER_CLASS_NAME } {
85+ opacity: calc(var(--hover-opacity) / 3);
86+ }
7887 .${ OverlayManager . RECT_HIGHLIGHT_CLASS_NAME } {
7988 pointer-events: all;
8089 cursor: pointer;
8190 }
82- .${ OverlayManager . RECT_HIGHLIGHT_CLASS_NAME } .${ OverlayManager . RECT_INNER_CLASS_NAME } {
91+ .${ OverlayManager . RECT_HIGHLIGHT_CLASS_NAME } .${ OverlayManager . RECT_INNER_CLASS_NAME } {
8392 opacity: var(${ OverlayManager . CSS_VAR_HIGHLIGHT_OPACITY } , 0.333);
8493 }
8594 .${ OverlayManager . RECT_EDIT_BUTTON_CLASS_NAME } :visited,
@@ -106,7 +115,7 @@ export class OverlayManager {
106115 opacity: 0;
107116 }
108117 .${ OverlayManager . RECT_EDIT_BUTTON_CLASS_NAME } :hover,
109- .${ OverlayManager . RECT_CLASS_NAME } .${ OverlayManager . RECT_HOVER_CLASS_NAME } .${ OverlayManager . RECT_EDIT_BUTTON_CLASS_NAME } ,
118+ .${ OverlayManager . RECT_CLASS_NAME } .${ OverlayManager . RECT_HOVER_CLASS_NAME } :not(. ${ OverlayManager . RECT_PARENT_HOVER_CLASS_NAME } ) .${ OverlayManager . RECT_EDIT_BUTTON_CLASS_NAME } ,
110119 .${ OverlayManager . RECT_HIGHLIGHT_CLASS_NAME } :hover .${ OverlayManager . RECT_EDIT_BUTTON_CLASS_NAME } {
111120 opacity: 1;
112121 }
0 commit comments