{"version":3,"file":"StructureMap.DLvE8dAi.mjs","names":["React.useState","React.useRef"],"sources":["https:/framerusercontent.com/modules/8ntZW1Vi7DWy4yiF0raT/MRugBaYzoKH807vcsU4I/StructureMap.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";import{motion,useInView,useReducedMotion}from\"framer-motion\";const FONT=\"'Inter Variable', Inter, 'Pretendard Variable', Pretendard, system-ui, sans-serif\";const EASE=[.16,1,.3,1];const DOT=14;// 뷰포트가 아니라 컴포넌트 자신의 폭으로 가로·세로를 정한다.\nfunction useWidth(ref){const[w,setW]=React.useState(0);React.useEffect(()=>{const el=ref.current;if(!el||typeof ResizeObserver===\"undefined\")return;const ro=new ResizeObserver(([e])=>setW(e.contentRect.width));ro.observe(el);return()=>ro.disconnect();},[ref]);return w;}export default function StructureMap(props){const nodes=[1,2,3].map(i=>({name:props[`node${i}Name`],place:props[`node${i}Place`],role:props[`node${i}Role`]})).filter(n=>n.name);const{ariaLabel,verticalBelow,inkColor,accentColor,lineColor,paperColor,style}=props;const ref=React.useRef(null);const width=useWidth(ref);const vertical=width>0&&width<verticalBelow;const inView=useInView(ref,{once:true,amount:.4});const reduced=useReducedMotion();const show=inView||reduced;const n=nodes.length;const lineSeconds=1.2;const olRef=React.useRef(null);const dotRefs=React.useRef([]);const[span,setSpan]=React.useState(null);// 선은 첫 점 중심에서 마지막 점 중심까지. 폭이 바뀔 때마다 다시 잰다.\nReact.useLayoutEffect(()=>{const ol=olRef.current;const first=dotRefs.current[0];const last=dotRefs.current[n-1];if(!ol||!first||!last)return;const o=ol.getBoundingClientRect();const a=first.getBoundingClientRect();const b=last.getBoundingClientRect();setSpan(vertical?{start:a.top+a.height/2-o.top,end:b.top+b.height/2-o.top,cross:a.left+a.width/2-o.left}:{start:a.left+a.width/2-o.left,end:b.left+b.width/2-o.left,cross:a.top+a.height/2-o.top});},[width,vertical,n]);const dot=i=>/*#__PURE__*/_jsx(motion.span,{ref:el=>{dotRefs.current[i]=el;},\"aria-hidden\":\"true\",initial:reduced?false:{scale:0},animate:show?{scale:1}:{scale:0},transition:{duration:.4,ease:EASE,delay:reduced?0:lineSeconds*i/Math.max(n-1,1)},style:{width:DOT,height:DOT,borderRadius:\"50%\",background:accentColor,outline:`6px solid ${paperColor}`,display:\"block\",flex:\"none\",position:\"relative\",zIndex:1,marginTop:vertical?7:0}});const text=node=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8},children:[/*#__PURE__*/_jsx(\"h3\",{style:{margin:0,font:`700 ${vertical?20:24}px/1.4 ${FONT}`,color:inkColor},children:node.name}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,font:`500 14px/1.45 ${FONT}`,color:inkColor},children:node.place}),/*#__PURE__*/_jsx(\"p\",{style:{margin:0,font:`500 17px/1.55 ${FONT}`,color:inkColor,maxWidth:\"20em\"},children:node.role})]});// 선: 바탕 선(Line) 위에 Accent 선이 한 번 그려진다.\nconst line=span&&n>1&&/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":\"true\",style:vertical?{position:\"absolute\",left:span.cross-1,top:span.start,height:span.end-span.start,width:2,background:lineColor}:{position:\"absolute\",top:span.cross-1,left:span.start,width:span.end-span.start,height:2,background:lineColor},children:/*#__PURE__*/_jsx(motion.span,{initial:reduced?false:vertical?{scaleX:1,scaleY:0}:{scaleX:0,scaleY:1},animate:show?{scaleX:1,scaleY:1}:undefined,transition:{duration:reduced?0:lineSeconds,ease:EASE},style:{position:\"absolute\",inset:0,background:accentColor,transformOrigin:vertical?\"50% 0%\":\"0% 50%\"}})},vertical?\"v\":\"h\");return /*#__PURE__*/_jsx(\"div\",{ref:ref,role:\"group\",\"aria-label\":ariaLabel,style:{width:\"100%\",fontFamily:FONT,...style},children:/*#__PURE__*/_jsxs(\"ol\",{ref:olRef,style:{listStyle:\"none\",margin:0,padding:0,position:\"relative\",display:\"grid\",gridTemplateColumns:vertical?\"1fr\":`repeat(${n}, minmax(0, 1fr))`,gap:vertical?48:24},children:[line,nodes.map((node,i)=>/*#__PURE__*/_jsxs(\"li\",{style:vertical?{display:\"grid\",gridTemplateColumns:`${DOT}px 1fr`,gap:24,alignItems:\"start\"}:{display:\"flex\",flexDirection:\"column\",alignItems:\"center\",textAlign:\"center\",gap:32},children:[dot(i),text(node)]},i))]})});}// 실행 스튜디오명(PYMCreative·MJF Branding)은 노출 확정 전까지 넣지 않는다 (open-questions 8번).\nStructureMap.defaultProps={node1Name:\"한국\",node1Place:\"서울 강남\",node1Role:\"크리에이티브 실행\",node2Name:\"싱가포르 HQ\",node2Place:\"싱가포르\",node2Role:\"글로벌 매니지먼트\",node3Name:\"말레이시아\",node3Place:\"쿠알라룸푸르\",node3Role:\"동남아시아 로컬과 무슬림 시장 실행\",ariaLabel:\"ARKEE 3국 운영 구조\",verticalBelow:720,inkColor:\"#0A1655\",accentColor:\"#2D359C\",lineColor:\"rgba(10, 22, 85, 0.16)\",paperColor:\"#E9E9E9\"};addPropertyControls(StructureMap,{node1Name:{type:ControlType.String,title:\"Node 1 Name\"},node1Place:{type:ControlType.String,title:\"Node 1 Place\"},node1Role:{type:ControlType.String,title:\"Node 1 Role\",displayTextArea:true},node2Name:{type:ControlType.String,title:\"Node 2 Name\"},node2Place:{type:ControlType.String,title:\"Node 2 Place\"},node2Role:{type:ControlType.String,title:\"Node 2 Role\",displayTextArea:true},node3Name:{type:ControlType.String,title:\"Node 3 Name\"},node3Place:{type:ControlType.String,title:\"Node 3 Place\"},node3Role:{type:ControlType.String,title:\"Node 3 Role\",displayTextArea:true},ariaLabel:{type:ControlType.String,title:\"Aria Label\",defaultValue:\"ARKEE 3국 운영 구조\"},verticalBelow:{type:ControlType.Number,title:\"Vertical Below\",defaultValue:720,min:320,max:1200,step:10,unit:\"px\"},inkColor:{type:ControlType.Color,title:\"Ink\",defaultValue:\"#0A1655\"},accentColor:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#2D359C\"},lineColor:{type:ControlType.Color,title:\"Line\",defaultValue:\"rgba(10, 22, 85, 0.16)\"},paperColor:{type:ControlType.Color,title:\"Paper\",description:\"섹션 바탕색과 같게\",defaultValue:\"#E9E9E9\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"StructureMap\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StructureMap.map"],"mappings":"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"}