"use client"; import { PR_TARGET_HIGHLIGHT_BORDER, PR_TARGET_HIGHLIGHT_FILL, } from "@prototype/lib/pr-split/pr-split-highlight"; import type { StateMapHighlightRect } from "@prototype/lib/prototypes/prototype-state-canvas-types"; import { cn } from "@prototype/lib/utils"; import { createContext, useContext, type CSSProperties, type ReactNode, } from "react"; import styles from "./state-map-wireframe-highlight.module.scss"; const StateMapHighlightContext = createContext(null); export function StateMapHighlightProvider({ highlightId, children, }: { highlightId: string | null; children: ReactNode; }) { return ( {children} ); } export function useStateMapHighlight(): string | null { return useContext(StateMapHighlightContext); } export function StateMapHighlightRegion({ id, children, className, }: { id: string; children: ReactNode; className?: string; }) { const activeHighlightId = useStateMapHighlight(); const isActive = activeHighlightId === id; return (
{children}
); } export function StateMapPreviewHighlightOverlay({ rect, }: { rect: StateMapHighlightRect; }) { const style: CSSProperties = { top: `${rect.top}%`, left: `${rect.left}%`, width: `${rect.width}%`, height: `${rect.height}%`, borderColor: PR_TARGET_HIGHLIGHT_BORDER, backgroundColor: PR_TARGET_HIGHLIGHT_FILL, }; return (
); }