{"version":3,"file":"ProjectDrawing.fWV0Br7W.mjs","names":["useRef","useState"],"sources":["https:/framerusercontent.com/modules/GcPYsobjHZfUVZD0KCbB/o1b48Ys3jds9WSEG7oYq/FlipSelect.js","https:/framerusercontent.com/modules/rNK9r7xGxJ96mnwWxMcK/mmSbpoXlMGsCJ0WpZqwi/ProjectDrawing.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";// Laat bezoekers tekst selecteren in een flip-kaart zonder dat de kaart\n// omdraait. Een gewone klik draait de kaart nog steeds om; een sleep-\n// beweging (tekst selecteren) of een klik terwijl er tekst geselecteerd is\n// wordt genegeerd. Werkt alleen in Preview/live.\nconst ATTR=\"data-at-selectable\";let installed=false;let down=null;function inCard(t){return!!t?.closest?.(`[${ATTR}]`);}function install(){if(installed||typeof window===\"undefined\")return;installed=true;window.addEventListener(\"pointerdown\",e=>{down={x:e.clientX,y:e.clientY,inCard:inCard(e.target)};},true);const guard=e=>{if(!down||!down.inCard)return;const moved=Math.hypot(e.clientX-down.x,e.clientY-down.y)>5;const selected=String(window.getSelection?.()||\"\").trim().length>0;if(moved||selected){e.stopPropagation();e.stopImmediatePropagation();}};window.addEventListener(\"pointerup\",guard,true);window.addEventListener(\"click\",guard,true);}export function withSelectableText(Component){return props=>{install();return /*#__PURE__*/_jsx(\"div\",{[ATTR]:\"\",style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Component,{...props})});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withSelectableText\":{\"type\":\"reactHoc\",\"name\":\"withSelectableText\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FlipSelect.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * Achtergrondtekening die meegroeit met de pagina.\n * - Het bovenste deel van de SVG blijft bovenaan staan.\n * - Het onderste deel (bocht + wortels) schuift mee naar beneden als de pagina langer wordt.\n * - Daartussen wordt de verticale stippellijn automatisch verlengd.\n * Zet dit component absoluut over de hele \"Main\" (boven/onder/links/rechts 0).\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function ProjectDrawing(props){const{image,svgWidth,svgHeight,splitY,baseHeight,lineX,lineWidth,dash,color}=props;const ref=useRef(null);const[size,setSize]=useState({w:1440,h:baseHeight});useEffect(()=>{const el=ref.current;if(!el)return;const update=()=>setSize({w:el.offsetWidth||1440,h:el.offsetHeight||baseHeight});update();if(typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(update);ro.observe(el);return()=>ro.disconnect();},[baseHeight]);const src=image?.src||image;// schaal net als een \"Fill\"-achtergrond: groot genoeg voor de breedte én de basis-hoogte\nconst s=Math.max(size.w/svgWidth,baseHeight/svgHeight);const offsetX=(size.w-svgWidth*s)/2;const split=splitY*s;// hoeveel langer (of korter) de pagina is dan de basis-hoogte\nconst extra=size.h-baseHeight;const bg=y=>({backgroundImage:src?`url(\"${src}\")`:undefined,backgroundRepeat:\"no-repeat\",backgroundSize:`${svgWidth*s}px ${svgHeight*s}px`,backgroundPosition:`${offsetX}px ${-y}px`});const d=dash*s;return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",pointerEvents:\"none\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:0,height:split,...bg(0)}}),extra>0&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:split,height:extra,left:offsetX+lineX*s-lineWidth*s/2,width:lineWidth*s,backgroundImage:`repeating-linear-gradient(to bottom, ${color} 0px, ${color} ${d}px, transparent ${d}px, transparent ${2*d}px)`}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",left:0,right:0,top:split+extra,height:(svgHeight-splitY)*s,...bg(split)}})]});}ProjectDrawing.defaultProps={svgWidth:1383.67,svgHeight:3806.15,splitY:2e3,baseHeight:3608,lineX:152.67,lineWidth:1.55,dash:3.62,color:\"#3f4933\"};addPropertyControls(ProjectDrawing,{image:{type:ControlType.ResponsiveImage,title:\"SVG\"},svgWidth:{type:ControlType.Number,title:\"SVG breedte\",defaultValue:1383.67,step:.01,displayStepper:false},svgHeight:{type:ControlType.Number,title:\"SVG hoogte\",defaultValue:3806.15,step:.01,displayStepper:false},splitY:{type:ControlType.Number,title:\"Knip op (y)\",defaultValue:2e3,displayStepper:false},baseHeight:{type:ControlType.Number,title:\"Basis hoogte\",defaultValue:3608,displayStepper:false},lineX:{type:ControlType.Number,title:\"Lijn x\",defaultValue:152.67,step:.01,displayStepper:false},lineWidth:{type:ControlType.Number,title:\"Lijndikte\",defaultValue:1.55,step:.01,displayStepper:false},dash:{type:ControlType.Number,title:\"Streepje\",defaultValue:3.62,step:.01,displayStepper:false},color:{type:ControlType.Color,title:\"Kleur\",defaultValue:\"#3f4933\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ProjectDrawing\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ProjectDrawing.map"],"mappings":"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"}