{"version":3,"file":"Linework.CkoapGAW.mjs","names":["useId","useRef"],"sources":["https:/framerusercontent.com/modules/NqHKSnEp58A04OCQrivr/ykvFirqG9YKSNgBvZagD/Linework.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useId,useRef}from\"react\";import{motion,useScroll,useTransform,useReducedMotion}from\"framer-motion\";/** Outline geometry, drawn in a 1200 x 700 user space. */const OUTLINES={Frame:\"M60 620 L60 180 L1140 180 L1140 620 M180 620 L180 180 M300 620 L300 180 M420 620 L420 180 M540 620 L540 180 M660 620 L660 180 M780 620 L780 180 M900 620 L900 180 M1020 620 L1020 180 M60 400 L1140 400 M60 290 L1140 290 M60 510 L1140 510 M60 620 L1140 620\",Plan:\"M120 140 L780 140 L780 340 L1080 340 L1080 620 L120 620 Z M120 340 L780 340 M420 140 L420 620 M780 480 L1080 480 M120 480 L420 480\",Section:\"M100 620 L100 300 L380 300 L380 200 L720 200 L720 380 L980 380 L980 620 Z M100 460 L980 460 M380 300 L380 620 M720 380 L720 620 M240 300 L240 620 M850 380 L850 620\",Elevation:\"M80 620 L80 320 L1120 320 L1120 620 Z M80 320 L200 220 L320 320 L440 220 L560 320 L680 220 L800 320 L920 220 L1040 320 M80 470 L1120 470 M300 470 L300 620 M600 470 L600 620 M900 470 L900 620\"};export default function Linework({stroke=\"#7FA8C4\",gridOpacity=.35,gridSize=40,outline=\"Frame\",showDimensions=true,style}){const uid=useId().replace(/:/g,\"\");const ref=useRef(null);const reduced=useReducedMotion();const{scrollYProgress}=useScroll({target:ref,offset:[\"start end\",\"end start\"]});// Dimension rules draw in over p 0.05 -> 0.30.\nconst drawn=useTransform(scrollYProgress,[.05,.3],[0,1]);const pathLength=reduced?1:drawn;return /*#__PURE__*/_jsx(\"div\",{ref:ref,\"aria-hidden\":\"true\",style:{...style,width:\"100%\",height:\"100%\",overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"svg\",{width:\"100%\",height:\"100%\",viewBox:\"0 0 1200 700\",preserveAspectRatio:\"xMidYMid slice\",fill:\"none\",focusable:\"false\",children:[/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsx(\"pattern\",{id:`grid-${uid}`,width:gridSize,height:gridSize,patternUnits:\"userSpaceOnUse\",children:/*#__PURE__*/_jsx(\"path\",{d:`M ${gridSize} 0 L 0 0 0 ${gridSize}`,fill:\"none\",stroke:stroke,strokeWidth:\"1\",opacity:gridOpacity,vectorEffect:\"non-scaling-stroke\"})})}),/*#__PURE__*/_jsx(\"rect\",{width:\"1200\",height:\"700\",fill:`url(#grid-${uid})`}),/*#__PURE__*/_jsx(\"path\",{d:OUTLINES[outline]??OUTLINES.Frame,stroke:stroke,strokeWidth:\"1\",vectorEffect:\"non-scaling-stroke\"}),showDimensions&&/*#__PURE__*/_jsxs(\"g\",{stroke:stroke,strokeWidth:\"1\",vectorEffect:\"non-scaling-stroke\",children:[/*#__PURE__*/_jsx(motion.path,{d:\"M60 668 L1140 668\",style:{pathLength}}),/*#__PURE__*/_jsx(motion.path,{d:\"M60 656 L60 680\",style:{pathLength}}),/*#__PURE__*/_jsx(motion.path,{d:\"M1140 656 L1140 680\",style:{pathLength}}),/*#__PURE__*/_jsx(motion.path,{d:\"M32 180 L32 620\",style:{pathLength}}),/*#__PURE__*/_jsx(motion.path,{d:\"M20 180 L44 180\",style:{pathLength}}),/*#__PURE__*/_jsx(motion.path,{d:\"M20 620 L44 620\",style:{pathLength}})]})]})});}addPropertyControls(Linework,{stroke:{type:ControlType.Color,title:\"Stroke\",defaultValue:\"#7FA8C4\"},outline:{type:ControlType.Enum,title:\"Outline\",options:[\"Frame\",\"Plan\",\"Section\",\"Elevation\"],defaultValue:\"Frame\"},gridSize:{type:ControlType.Number,title:\"Grid\",min:16,max:120,step:4,defaultValue:40,unit:\"px\"},gridOpacity:{type:ControlType.Number,title:\"Grid Opacity\",min:0,max:1,step:.05,defaultValue:.35},showDimensions:{type:ControlType.Boolean,title:\"Dimensions\",defaultValue:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Linework\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Linework.map"],"mappings":"+PAA2iC,SAAwB,EAAS,CAAC,SAAO,UAAU,cAAY,IAAI,WAAS,GAAG,UAAQ,QAAQ,iBAAe,GAAK,SAAO,CAAC,IAAM,EAAIA,EAAM,CAAC,CAAC,QAAQ,KAAK,EAAE,EAAQ,EAAIC,EAAO,IAAI,EAAQ,EAAQ,EAAiB,EAAO,CAAC,mBAAiB,EAAU,CAAC,OAAO,EAAI,OAAO,CAAC,YAAY,WAAW,CAAC,CAAC,EACz0C,EAAM,EAAa,EAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAQ,EAAW,EAAQ,EAAE,EAAM,OAAoB,EAAK,MAAM,CAAK,MAAI,cAAc,OAAO,MAAM,CAAC,GAAG,EAAM,MAAM,OAAO,OAAO,OAAO,SAAS,QAAQ,EAAE,SAAsB,EAAM,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,eAAe,oBAAoB,iBAAiB,KAAK,OAAO,UAAU,QAAQ,SAAS,CAAc,EAAK,OAAO,CAAC,SAAsB,EAAK,UAAU,CAAC,GAAG,QAAQ,IAAM,MAAM,EAAS,OAAO,EAAS,aAAa,iBAAiB,SAAsB,EAAK,OAAO,CAAC,EAAE,KAAK,EAAS,aAAa,IAAW,KAAK,OAAc,SAAO,YAAY,IAAI,QAAQ,EAAY,aAAa,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,CAAC,MAAM,OAAO,OAAO,MAAM,KAAK,aAAa,EAAI,EAAE,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,EAAS,IAAU,EAAS,MAAa,SAAO,YAAY,IAAI,aAAa,oBAAoB,CAAC,EAAE,GAA6B,EAAM,IAAI,CAAQ,SAAO,YAAY,IAAI,aAAa,qBAAqB,SAAS,CAAc,EAAK,EAAO,KAAK,CAAC,EAAE,oBAAoB,MAAM,CAAC,YAAU,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,EAAE,kBAAkB,MAAM,CAAC,YAAU,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,EAAE,sBAAsB,MAAM,CAAC,YAAU,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,EAAE,kBAAkB,MAAM,CAAC,YAAU,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,EAAE,kBAAkB,MAAM,CAAC,YAAU,CAAC,CAAC,EAAe,EAAK,EAAO,KAAK,CAAC,EAAE,kBAAkB,MAAM,CAAC,YAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,mBAD73C,IAAoD,IAAgC,IAA0E,EAAiE,EAAS,CAAC,MAAM,gQAAgQ,KAAK,qIAAqI,QAAQ,sKAAsK,UAAU,gMAAgM,EAC6Y,EAAoB,EAAS,CAAC,OAAO,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAY,KAAK,MAAM,UAAU,QAAQ,CAAC,QAAQ,OAAO,UAAU,WAAW,EAAE,aAAa,OAAO,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,IAAI,GAAG,IAAI,IAAI,KAAK,EAAE,aAAa,GAAG,KAAK,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,GAAG,EAAE,eAAe,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,EAAI,CAAC,CAAC"}