{"version":3,"file":"Toolstack.CuHMBclF.mjs","names":["useRef","useState","__esmMin","init_ssg_sandbox_shims","window","_e","de","init_jsx_runtime","c","p","init_npm_react_18_3_1","ce","motion","useReducedMotion","init_framer_motion_DhsWWWsN","addPropertyControls","useIsStaticRenderer","ControlType","init_framer_BWFVvmND","InteractiveStack","DEFAULT_TOOLS","props","list","tools","d","i","t","itemWidth","iconSize","minWide","iconGap","minWideRef","reduce","isStatic","rootRef","focus","setFocus","narrow","setNarrow","touch","setTouch","el","load","im","sized","io","entries","check","n","o","ro","off","on","text","ink","textFont","title","titleFont","labelPill","muted","focusOn","cards","shown","IN","OUT","tool","k","style","previewGap","me","dim","El","linkProps","newTab","e","blur","iconRadius","showLabels","EASE","img","init_Toolstack","src","w"],"sources":["https:/framerusercontent.com/modules/5AGrfeicJ7oR2pw7i5Vu/y0MbmX8f3hvpP7Pd4zGn/Toolstack.js"],"sourcesContent":["// Interactive Toolstack: a row of tool icons. Hover one and it takes the stage:\n//   preview cards spring up above it, its name grows in under it, and the other icons blur back.\n//   Move along the row and the focus follows; leave and it all clears.\n//   touch: nothing is focused until a tap; tap an icon to show it, tap it again (or anywhere else) to clear.\n//   links: a tool with a link opens it on click; on touch the first tap shows the tool, the second opens the link.\n// Smoothness: every preview is mounted up front (images decoded before the first hover),\n// focus changes are immediate (no transitions queue), and only the small icons use blur;\n// previews and names move with transform and opacity only.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";import{motion,useReducedMotion}from\"framer-motion\";const EASE=[.22,1,.36,1];const IN={type:\"spring\",stiffness:700,damping:46,mass:.5};const OUT={duration:.16,ease:EASE};// ask the Framer image CDN for a small copy: previews show at ~230px, icons at 64px\nconst sized=(src,w)=>src&&src.includes(\"framerusercontent.com/images/\")?src.split(\"?\")[0]+\"?scale-down-to=\"+w:src;const img=src=>({src,alt:\"\"});// defaults: four generic demo tools with neutral icons and preview mockups (buyers replace them in the panel)\nconst DEFAULT_TOOLS=[{name:\"Design\",icon:img(\"https://framerusercontent.com/images/t8dKka9nBqWzftNtulnWi3p1fA.png\"),previewA:img(\"https://framerusercontent.com/images/bE81IwGutDwb8gbJZYNH0s7gHA.jpg\"),previewB:img(\"https://framerusercontent.com/images/xt8vesY3ZgUPtlkygf3KYkA1Ug.jpg\")},{name:\"Build\",icon:img(\"https://framerusercontent.com/images/lrcO9OvjxqOE5Yn8ALcHduOuEpg.png\"),previewA:img(\"https://framerusercontent.com/images/IeV4ewEYbzud8yd3shyXweqow8.jpg\"),previewB:img(\"https://framerusercontent.com/images/D7C9sVirTLlLQqsStZtW97tdeFg.jpg\")},{name:\"Research\",icon:img(\"https://framerusercontent.com/images/oA4E29XD5xXszqMNHhHfvUlZNMo.png\"),previewA:img(\"https://framerusercontent.com/images/0F5OkBXhhITwisS4EptimmLSq4.jpg\"),previewB:img(\"https://framerusercontent.com/images/1wjFsBB3pkvjRseugfXpj0N5reU.jpg\")},{name:\"AI\",icon:img(\"https://framerusercontent.com/images/7hZAYWwn4rkqNLrmyn6GnChx7ng.png\"),previewA:img(\"https://framerusercontent.com/images/LpJS69dx48mVmPQUfHhfKf3y5s.jpg\"),previewB:img(\"https://framerusercontent.com/images/TwZ1QqZ2LP5XErMg11VqlYWj1Y.jpg\")}];/**\n * Interactive Toolstack\n *\n * @framerIntrinsicWidth 900\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function InteractiveStack(props){const{tools=DEFAULT_TOOLS,blur=6,iconSize=64,iconRadius=14,iconGap=80,previewGap=16,showLabels=true,newTab=true,ink=\"#15110E\",muted=\"rgba(21, 17, 14, 0.06)\",titleFont,textFont,style}=props;// any field left empty in the panel falls back to the default for that slot\nconst list=(tools.length?tools:DEFAULT_TOOLS).map((t,i)=>{const d=DEFAULT_TOOLS[i%DEFAULT_TOOLS.length];return{name:t.name||d.name,icon:t.icon?.src?t.icon:d.icon,iconZoom:t.icon?.src?t.iconZoom||1:d.iconZoom||1,previewA:t.previewA?.src?t.previewA:d.previewA,previewB:t.previewB?.src?t.previewB:d.previewB,link:t.link||\"\"};});// each tool is its icon plus 24px for the name pill; below the full row width the layout goes narrow\nconst itemWidth=iconSize+24;const minWide=Math.max(620,list.length*itemWidth+(list.length-1)*iconGap);const minWideRef=useRef(minWide);minWideRef.current=minWide;const reduce=useReducedMotion();// canvas and export render a still frame: the plain row with no animation, previews or interaction\nconst isStatic=useIsStaticRenderer();const rootRef=useRef(null);const[focus,setFocus]=useState(null);const[narrow,setNarrow]=useState(false);const[touch,setTouch]=useState(false);// decode the previews once the row is near the viewport, so they never delay the first paint\nuseEffect(()=>{const el=rootRef.current;if(!el||isStatic)return;const load=()=>{for(const t of list)for(const p of[t.previewA,t.previewB,t.icon]){if(!p?.src)continue;const im=new Image;im.src=sized(p.src,p===t.icon?iconSize*2:640);im.decode?.().catch(()=>{});}};if(typeof IntersectionObserver===\"undefined\"){load();return;}const io=new IntersectionObserver(entries=>{if(entries.some(e=>e.isIntersecting)){load();io.disconnect();}},{rootMargin:\"600px\"});io.observe(el);return()=>io.disconnect();},[isStatic,list.map(t=>t.previewA?.src+\"|\"+t.previewB?.src).join()]);// narrow widths put the previews under the row instead of above each icon\nuseEffect(()=>{const el=rootRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const check=()=>{const n=el.offsetWidth<minWideRef.current;setNarrow(o=>o===n?o:n);};const ro=new ResizeObserver(check);ro.observe(el);check();if(typeof window!==\"undefined\")setTouch(!window.matchMedia(\"(hover: hover) and (pointer: fine)\").matches);return()=>ro.disconnect();},[minWide]);// touch: tapping outside clears the focus\nuseEffect(()=>{if(!touch||focus===null)return;const off=e=>{if(!rootRef.current?.contains(e.target))setFocus(null);};window.addEventListener(\"pointerdown\",off);return()=>window.removeEventListener(\"pointerdown\",off);},[touch,focus]);const on=focus!==null;const text={fontFamily:\"Inter, sans-serif\",fontSize:15,lineHeight:1.45,color:ink,...textFont};const title={fontFamily:\"Inter, sans-serif\",fontWeight:700,fontSize:24,lineHeight:1,letterSpacing:\"-0.4px\",textTransform:\"uppercase\",color:ink,whiteSpace:\"nowrap\",...titleFont};const labelPill={...text,fontSize:13,lineHeight:1,fontWeight:500,padding:\"7px 12px\",borderRadius:999,background:muted,whiteSpace:\"nowrap\"};const fade=\"opacity 220ms cubic-bezier(0.22, 1, 0.36, 1)\";// interaction only runs live; static renders never change focus\nconst focusOn=i=>{if(!isStatic)setFocus(i);};const cards=(tool,shown)=>isStatic?null:/*#__PURE__*/_jsx(motion.div,{\"aria-hidden\":true,initial:false,animate:shown?{opacity:1,y:0,scale:1}:{opacity:0,y:18,scale:.92},transition:reduce?{duration:0}:shown?IN:OUT,style:{position:\"relative\",width:300,height:190,pointerEvents:\"none\",willChange:\"transform, opacity\",contain:\"layout\"/* no paint containment: it clipped the tilted cards */},children:[tool.previewB,tool.previewA].map((p,k)=>p?.src?/*#__PURE__*/_jsx(\"img\",{src:sized(p.src,640),alt:\"\",decoding:\"async\",style:{// whole image at its own shape, fitted inside the card box, anchored to the bottom centre\n        position:\"absolute\",left:\"50%\",bottom:k?22:8,translate:k?\"-38% 0\":\"-62% 0\",width:\"auto\",height:\"auto\",maxWidth:k?230:200,maxHeight:k?160:140,borderRadius:14,background:\"#FFFFFF\",rotate:k?\"4deg\":\"-7deg\",boxShadow:\"0 1px 3px rgba(0,0,0,.08), 0 14px 28px -18px rgba(21,17,14,.45)\"}},k):null)});return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,onPointerLeave:()=>!touch&&focusOn(null),// the previews (190px) sit Preview Gap above the row on wide screens, below it on narrow ones\nstyle:{...style,position:\"relative\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",gap:previewGap+8,paddingTop:narrow?0:194+previewGap},children:[/*#__PURE__*/_jsx(\"div\",{role:\"list\",style:{display:\"flex\",justifyContent:\"center\",gap:narrow?Math.min(iconGap,8):iconGap,width:\"100%\"},children:list.map((tool,i)=>{const me=focus===i;const dim=on&&!me;// a tool with a link renders as a real link, so it works with middle-click and screen readers\nconst El=tool.link?\"a\":\"button\";const linkProps=tool.link?{href:tool.link,target:newTab?\"_blank\":undefined,rel:newTab?\"noopener noreferrer\":undefined}:{type:\"button\",\"aria-pressed\":me};return /*#__PURE__*/_jsxs(\"div\",{role:\"listitem\",style:{position:\"relative\",display:\"grid\",gridTemplateColumns:\"minmax(0, 1fr)\"/* lets big icons shrink in a narrow row */,justifyItems:\"center\",gap:12,...narrow?{flex:\"1 1 0\",minWidth:0}:{width:itemWidth}},children:[!narrow&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",bottom:\"100%\",left:\"50%\",translate:`-50% -${previewGap}px`,zIndex:3},children:cards(tool,me)}),/*#__PURE__*/_jsx(El,{...linkProps,\"aria-label\":tool.name,onPointerEnter:()=>!touch&&focusOn(i),onFocus:()=>!touch&&focusOn(i),onClick:e=>{// touch + link: the first tap shows the tool, the second follows the link\nif(tool.link){if(touch&&!me){e.preventDefault();focusOn(i);}return;}focusOn(touch&&me?null:i);},style:{display:\"block\",width:\"100%\",color:\"inherit\",textDecoration:\"none\",border:0,padding:0,background:\"none\",cursor:\"pointer\",WebkitTapHighlightColor:\"transparent\",touchAction:\"manipulation\",filter:dim?`blur(${blur}px)`:\"blur(0px)\",opacity:dim?.35:1,transform:me?\"scale(1.06)\":\"scale(1)\",transition:isStatic?\"none\":\"filter 220ms cubic-bezier(0.22, 1, 0.36, 1), opacity 220ms cubic-bezier(0.22, 1, 0.36, 1), transform 220ms cubic-bezier(0.22, 1, 0.36, 1)\",willChange:isStatic?\"auto\":\"filter, transform\"},children:tool.icon?.src?// every icon sits in the same rounded tile; Zoom crops away any padding baked into the file.\n// maxWidth lets the tile shrink when many tools share a narrow row\n/*#__PURE__*/_jsx(\"span\",{style:{display:\"block\",margin:\"0 auto\",width:iconSize,maxWidth:\"100%\",aspectRatio:\"1 / 1\",borderRadius:iconRadius,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"img\",{src:sized(tool.icon.src,iconSize*2),alt:\"\",style:{display:\"block\",width:\"100%\",height:\"100%\",objectFit:\"cover\",transform:`scale(${tool.iconZoom})`}})}):/*#__PURE__*/_jsx(\"span\",{style:{display:\"grid\",placeItems:\"center\",margin:\"0 auto\",width:iconSize,maxWidth:\"100%\",aspectRatio:\"1 / 1\",borderRadius:iconRadius,background:ink,color:\"#FFFFFF\",...title,fontSize:Math.round(iconSize*.34)},children:tool.name.slice(0,2)})}),/*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",height:30,display:\"grid\",placeItems:\"center\"},children:[showLabels&&/*#__PURE__*/_jsx(\"span\",{style:{...labelPill,opacity:me?0:dim?.3:1,transition:isStatic?\"none\":fade},children:tool.name}),!isStatic&&/*#__PURE__*/_jsx(motion.span,{\"aria-hidden\":true,initial:false,animate:me?{opacity:1,y:0}:{opacity:0,y:6},transition:reduce?{duration:0}:me?{duration:.24,ease:EASE}:OUT,style:{...title,position:\"absolute\",pointerEvents:\"none\"},children:tool.name})]})]},i);})}),narrow&&!isStatic&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:300,height:focus===null?0:190,transition:\"height 220ms cubic-bezier(0.22, 1, 0.36, 1)\"},children:list.map((tool,i)=>/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0},children:cards(tool,focus===i)},i))})]});}// the name shown in the Assets panel and insert menu\nInteractiveStack.displayName=\"Interactive Toolstack\";addPropertyControls(InteractiveStack,{tools:{type:ControlType.Array,title:\"Tools\",description:\"Up to 6. Each tool has a name, an icon and two preview images. Empty images use the demo ones.\",maxCount:6,control:{type:ControlType.Object,controls:{name:{type:ControlType.String,title:\"Name\",defaultValue:\"Tool\"},icon:{type:ControlType.ResponsiveImage,title:\"Icon\"},previewA:{type:ControlType.ResponsiveImage,title:\"Preview 1\"},previewB:{type:ControlType.ResponsiveImage,title:\"Preview 2\"},iconZoom:{type:ControlType.Number,title:\"Icon Zoom\",defaultValue:1,min:1,max:1.6,step:.01,description:\"Raise it when the logo file has empty space around it\"},link:{type:ControlType.Link,title:\"Link\",description:\"Optional. Leave empty for no link.\"}}},defaultValue:DEFAULT_TOOLS.map(({name})=>({name}))},iconSize:{type:ControlType.Number,title:\"Icon Size\",description:\"Size of the icon tiles. On narrow screens they shrink to fit.\",defaultValue:64,min:32,max:128,unit:\"px\"},iconRadius:{type:ControlType.Number,title:\"Icon Corners\",description:\"Corner radius of the icon tiles.\",defaultValue:14,min:0,max:64,unit:\"px\"},iconGap:{type:ControlType.Number,title:\"Icon Spacing\",description:\"Space between the tools. Phones use a tight 8px so the row fits.\",defaultValue:80,min:0,max:200,unit:\"px\"},previewGap:{type:ControlType.Number,title:\"Preview Gap\",description:\"Space between the preview cards and the icons.\",defaultValue:16,min:0,max:80,unit:\"px\"},showLabels:{type:ControlType.Boolean,title:\"Labels\",description:\"The small name under each icon. The large name still appears on focus.\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},newTab:{type:ControlType.Boolean,title:\"New Tab\",description:\"Open tool links in a new tab. On touch, the first tap shows the tool and the second opens its link.\",defaultValue:true,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden:p=>!p.tools?.some(t=>t.link)},blur:{type:ControlType.Number,title:\"Blur Others\",description:\"How much the other icons blur while one is in focus.\",defaultValue:6,min:0,max:16,unit:\"px\"},titleFont:{type:ControlType.Font,title:\"Title Font\",description:\"The large name that appears under the focused icon.\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"24px\",variant:\"Extra Bold\",letterSpacing:\"-0.4px\",lineHeight:\"1em\"}},textFont:{type:ControlType.Font,title:\"Text Font\",description:\"The small name pills.\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:\"15px\",variant:\"Regular\",lineHeight:\"1.45em\"}},ink:{type:ControlType.Color,title:\"Text\",defaultValue:\"#15110E\"},muted:{type:ControlType.Color,title:\"Label Pill\",description:\"Background of the small name pills.\\n\\nComponent crafted by [Eniyan Rajaa K](https://x.com/_eniyanrajaa_)\",defaultValue:\"rgba(21, 17, 14, 0.06)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InteractiveStack\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"900\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Toolstack.map"],"mappings":"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"}