import { useValue } from '@tldraw/state-react' import { useEditor } from '../../../hooks/useEditor' import { Box } from '../../../primitives/Box' import { getPerfectDashProps } from '../shared/getPerfectDashProps' export function DashedOutlineBox({ bounds, className }: { bounds: Box; className: string }) { const editor = useEditor() const zoomLevel = useValue('zoom level', () => editor.getEfficientZoomLevel(), [editor]) return ( {bounds.sides.map((side, i) => { const { strokeDasharray, strokeDashoffset } = getPerfectDashProps( side[0].dist(side[1]), 1 / zoomLevel, { style: 'dashed', lengthRatio: 4, } ) return ( ) })} ) }