@@ -13,7 +13,6 @@ import { useDomEditOverlayRects } from "./useDomEditOverlayRects";
1313import { createDomEditOverlayGestureHandlers } from "./useDomEditOverlayGestures" ;
1414import { SnapGuideOverlay , type SnapGuidesState } from "./SnapGuideOverlay" ;
1515import { GridOverlay } from "./GridOverlay" ;
16- import { useOffScreenIndicators } from "./useOffScreenIndicators" ;
1716
1817// Re-exports for external consumers — preserving existing import paths.
1918export {
@@ -215,7 +214,6 @@ export const DomEditOverlay = memo(function DomEditOverlay({
215214 return ( ) => cancelAnimationFrame ( frame ) ;
216215 } ) ;
217216
218- const offScreenIndicators = useOffScreenIndicators ( { iframeRef, overlayRef, compRect } ) ;
219217
220218 const gestures = createDomEditOverlayGestureHandlers ( {
221219 overlayRef,
@@ -521,64 +519,6 @@ export const DomEditOverlay = memo(function DomEditOverlay({
521519 } }
522520 />
523521 ) ) }
524- { offScreenIndicators . length > 0 &&
525- compRect . width > 0 &&
526- offScreenIndicators . map ( ( ind ) => {
527- const isSelected = selection ?. id === ind . elementId ;
528- return (
529- < div
530- key = { `offscreen-${ ind . key } ` }
531- className = { `absolute rounded-sm ${ isSelected ? "pointer-events-none" : "cursor-grab" } ` }
532- style = { {
533- left : ind . left ,
534- top : ind . top ,
535- width : ind . width ,
536- height : ind . height ,
537- border : `1.5px dashed var(--panel-accent, #34d399)` ,
538- opacity : isSelected ? 0.3 : 0.5 ,
539- zIndex : isSelected ? 1 : 5 ,
540- } }
541- onPointerDown = {
542- isSelected
543- ? undefined
544- : ( e ) => {
545- if ( e . button !== 0 ) return ;
546- e . stopPropagation ( ) ;
547- e . preventDefault ( ) ;
548- const startX = e . clientX ;
549- const startY = e . clientY ;
550- const el = e . currentTarget ;
551- el . setPointerCapture ( e . pointerId ) ;
552- let deltaX = 0 ;
553- let deltaY = 0 ;
554- let moved = false ;
555- const onMove = ( me : PointerEvent ) => {
556- deltaX = me . clientX - startX ;
557- deltaY = me . clientY - startY ;
558- if ( Math . abs ( deltaX ) > 3 || Math . abs ( deltaY ) > 3 ) moved = true ;
559- if ( moved ) {
560- el . style . transform = `translate(${ deltaX } px, ${ deltaY } px)` ;
561- }
562- } ;
563- const onUp = async ( ue : PointerEvent ) => {
564- el . releasePointerCapture ( ue . pointerId ) ;
565- el . removeEventListener ( "pointermove" , onMove ) ;
566- el . removeEventListener ( "pointerup" , onUp ) ;
567- el . style . transform = "" ;
568- const sel = await onSelectElementById ?.( ind . elementId ) ;
569- if ( moved && sel && onPathOffsetCommit ) {
570- const scale = compRect . scaleX || 1 ;
571- onPathOffsetCommit ( sel , { x : deltaX / scale , y : deltaY / scale } ) ;
572- }
573- } ;
574- el . addEventListener ( "pointermove" , onMove ) ;
575- el . addEventListener ( "pointerup" , onUp ) ;
576- }
577- }
578- title = { isSelected ? undefined : `Drag #${ ind . elementId } ` }
579- />
580- ) ;
581- } ) }
582522 < GridOverlay
583523 visible = { gridVisible }
584524 spacing = { gridSpacing }
0 commit comments