{"version":3,"file":"Pattern_Generator.Cyd59Jlv.mjs","names":["useMemo"],"sources":["https:/framerusercontent.com/modules/QZ5wV9klVoalVt3D7L8Z/RT6Ajbpwu5BH2uHESwzX/Pattern_Generator.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useMemo}from\"react\";import{addPropertyControls,ControlType}from\"framer\";function hashSeed(seed){let t=Math.floor(seed)+1831565813;t=Math.imul(t^t>>>15,t|1);t^=t+Math.imul(t^t>>>7,t|61);return(t^t>>>14)>>>0;}function mulberry32(seed){let a=hashSeed(seed);return function(){a|=0;a=a+1831565813|0;let t=Math.imul(a^a>>>15,1|a);t^=t+Math.imul(t^t>>>7,61|t);return((t^t>>>14)>>>0)/4294967296;};}function heightMultiplier(index,seed,variation){if(variation<=0)return 1;const rand=mulberry32(seed+index*101)();const amplitude=Math.max(0,Math.min(variation,100))/100;return 1-amplitude*.45+rand*amplitude*.9;}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */export default function PatternGenerator(props){const{style,layout,shape,count,columns,rows,gap,shapeWidth,shapeHeight,cornerRadius,gradientSoftness,gradientAngle,palette,heightVariation,randomSeed,background,backgroundRadius,padding,animation,animationSpeed,animationStagger,animationIntensity,glow,blurAmount,grain,grainOpacity,grainScale,grainBlendMode,blendMode,shapeOpacity}=props;const safePalette=palette.length>0?palette:[{top:\"#A7C8FF\",middle:\"#C5D9FF\",bottom:\"#7EA8FF\"}];const totalItems=Math.max(1,Math.floor(count));const softness=Math.max(0,Math.min(gradientSoftness,100));const fadeOffset=(100-softness)*.18;const intensity=Math.max(0,Math.min(animationIntensity,100))/100;const safeSpeed=Math.max(.4,animationSpeed);const staggerFactor=Math.max(0,Math.min(animationStagger,100))/100;const instanceClass=useMemo(()=>`pg-${hashSeed(randomSeed+totalItems*31+shapeWidth*7+shapeHeight*11).toString(36)}`,[randomSeed,totalItems,shapeWidth,shapeHeight]);const styleTagContent=useMemo(()=>{const floatY=5+intensity*14;const bounceY=8+intensity*22;const pulseScale=1+intensity*.08;const breatheScale=1+intensity*.06;const swayDeg=1+intensity*6;const wobbleX=3+intensity*14;const wobbleDeg=1+intensity*6;const tiltDeg=3+intensity*14;const slideX=4+intensity*24;const driftX=5+intensity*24;const driftY=4+intensity*18;const streamDistance=6+intensity*28;const popScale=1.05+intensity*.17;const heartbeatScale=1.02+intensity*.14;const rippleScale=1.03+intensity*.14;const orbitRadius=4+intensity*15;const flickerLow=Math.max(.35,.88-intensity*.55);const breatheOpacity=Math.max(.55,.95-intensity*.35);const glimmerBrightness=1+intensity*.55;const glimmerContrast=1+intensity*.35;return`\n.${instanceClass} .pg-shape {\n    position: relative;\n    overflow: hidden;\n    will-change: transform, opacity, background-position, filter;\n    transform-origin: center center;\n    isolation: isolate;\n}\n\n.${instanceClass} .pg-shape-grain {\n    position: absolute;\n    inset: 0;\n    pointer-events: none;\n    will-change: transform, opacity;\n}\n\n.${instanceClass} .pg-anim-float {\n    animation-name: ${instanceClass}-float;\n}\n\n.${instanceClass} .pg-anim-pulse {\n    animation-name: ${instanceClass}-pulse;\n}\n\n.${instanceClass} .pg-anim-sway {\n    animation-name: ${instanceClass}-sway;\n}\n\n.${instanceClass} .pg-anim-bounce {\n    animation-name: ${instanceClass}-bounce;\n}\n\n.${instanceClass} .pg-anim-wobble {\n    animation-name: ${instanceClass}-wobble;\n}\n\n.${instanceClass} .pg-anim-breathe {\n    animation-name: ${instanceClass}-breathe;\n}\n\n.${instanceClass} .pg-anim-flicker {\n    animation-name: ${instanceClass}-flicker;\n}\n\n.${instanceClass} .pg-anim-spin {\n    animation-name: ${instanceClass}-spin;\n    animation-timing-function: linear;\n}\n\n.${instanceClass} .pg-anim-slide {\n    animation-name: ${instanceClass}-slide;\n}\n\n.${instanceClass} .pg-anim-drift {\n    animation-name: ${instanceClass}-drift;\n}\n\n.${instanceClass} .pg-anim-stream {\n    animation-name: ${instanceClass}-stream;\n    animation-timing-function: linear;\n}\n\n.${instanceClass} .pg-anim-pop {\n    animation-name: ${instanceClass}-pop;\n}\n\n.${instanceClass} .pg-anim-heartbeat {\n    animation-name: ${instanceClass}-heartbeat;\n}\n\n.${instanceClass} .pg-anim-ripple {\n    animation-name: ${instanceClass}-ripple;\n}\n\n.${instanceClass} .pg-anim-glimmer {\n    animation-name: ${instanceClass}-glimmer;\n}\n\n.${instanceClass} .pg-anim-orbit {\n    animation-name: ${instanceClass}-orbit;\n}\n\n.${instanceClass} .pg-anim-float,\n.${instanceClass} .pg-anim-pulse,\n.${instanceClass} .pg-anim-sway,\n.${instanceClass} .pg-anim-bounce,\n.${instanceClass} .pg-anim-wobble,\n.${instanceClass} .pg-anim-breathe,\n.${instanceClass} .pg-anim-flicker,\n.${instanceClass} .pg-anim-spin,\n.${instanceClass} .pg-anim-slide,\n.${instanceClass} .pg-anim-drift,\n.${instanceClass} .pg-anim-stream,\n.${instanceClass} .pg-anim-pop,\n.${instanceClass} .pg-anim-heartbeat,\n.${instanceClass} .pg-anim-ripple,\n.${instanceClass} .pg-anim-glimmer,\n.${instanceClass} .pg-anim-orbit {\n    animation-duration: var(--pg-duration);\n    animation-timing-function: ease-in-out;\n    animation-iteration-count: infinite;\n    animation-delay: var(--pg-delay);\n}\n\n@keyframes ${instanceClass}-float {\n    0%, 100% { transform: translateY(0px); }\n    50% { transform: translateY(-${floatY}px); }\n}\n\n@keyframes ${instanceClass}-bounce {\n    0%, 100% { transform: translateY(0px); }\n    20% { transform: translateY(-${bounceY}px); }\n    45% { transform: translateY(0px); }\n    65% { transform: translateY(-${bounceY*.45}px); }\n    82% { transform: translateY(0px); }\n}\n\n@keyframes ${instanceClass}-wobble {\n    0%, 100% { transform: translateX(0px) rotate(0deg); }\n    20% { transform: translateX(${wobbleX}px) rotate(${wobbleDeg}deg); }\n    40% { transform: translateX(-${wobbleX}px) rotate(-${wobbleDeg}deg); }\n    60% { transform: translateX(${wobbleX*.7}px) rotate(${wobbleDeg*.7}deg); }\n    80% { transform: translateX(-${wobbleX*.45}px) rotate(-${wobbleDeg*.45}deg); }\n}\n\n@keyframes ${instanceClass}-pulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(${pulseScale}); }\n}\n\n@keyframes ${instanceClass}-breathe {\n    0%, 100% { transform: scale(1); opacity: 1; }\n    50% { transform: scale(${breatheScale}); opacity: ${breatheOpacity}; }\n}\n\n@keyframes ${instanceClass}-flicker {\n    0%, 100% { opacity: 1; }\n    10% { opacity: ${flickerLow}; }\n    20% { opacity: 0.96; }\n    30% { opacity: ${Math.max(.3,flickerLow-.08)}; }\n    55% { opacity: 0.9; }\n    70% { opacity: ${Math.max(.25,flickerLow-.12)}; }\n    85% { opacity: 0.95; }\n}\n\n@keyframes ${instanceClass}-spin {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n}\n\n@keyframes ${instanceClass}-sway {\n    0%, 100% { transform: rotate(0deg); }\n    50% { transform: rotate(${swayDeg}deg); }\n}\n\n@keyframes ${instanceClass}-slide {\n    0%, 100% { transform: translateX(0px); }\n    50% { transform: translateX(${slideX}px); }\n}\n\n@keyframes ${instanceClass}-drift {\n    0%, 100% { transform: translate(0px, 0px); }\n    25% { transform: translate(${driftX}px, -${driftY}px); }\n    50% { transform: translate(0px, -${driftY*1.25}px); }\n    75% { transform: translate(-${driftX}px, ${driftY*.7}px); }\n}\n\n@keyframes ${instanceClass}-stream {\n    0% { transform: translateX(calc(var(--pg-stream-distance, ${streamDistance}px) * -1)); }\n    50% { transform: translateX(var(--pg-stream-distance, ${streamDistance}px)); }\n    100% { transform: translateX(calc(var(--pg-stream-distance, ${streamDistance}px) * -1)); }\n}\n\n@keyframes ${instanceClass}-pop {\n    0%, 100% { transform: scale(1); }\n    12% { transform: scale(${popScale}); }\n    26% { transform: scale(0.97); }\n    40% { transform: scale(1); }\n}\n\n@keyframes ${instanceClass}-heartbeat {\n    0%, 100% { transform: scale(1); }\n    14% { transform: scale(${heartbeatScale}); }\n    28% { transform: scale(1); }\n    42% { transform: scale(${heartbeatScale*.92}); }\n    58% { transform: scale(1); }\n}\n\n@keyframes ${instanceClass}-ripple {\n    0%, 100% { transform: scale(1); opacity: 1; }\n    50% { transform: scale(${rippleScale}); opacity: ${Math.max(.5,.88-intensity*.35)}; }\n}\n\n@keyframes ${instanceClass}-glimmer {\n    0%, 100% { filter: brightness(1) contrast(1); }\n    50% { filter: brightness(${glimmerBrightness}) contrast(${glimmerContrast}); }\n}\n\n@keyframes ${instanceClass}-orbit {\n    0% { transform: translate(${orbitRadius}px, 0px); }\n    25% { transform: translate(0px, ${orbitRadius}px); }\n    50% { transform: translate(-${orbitRadius}px, 0px); }\n    75% { transform: translate(0px, -${orbitRadius}px); }\n    100% { transform: translate(${orbitRadius}px, 0px); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n    .${instanceClass} .pg-shape {\n        animation: none !important;\n        transform: none !important;\n        filter: none !important;\n    }\n}\n`;},[instanceClass,intensity]);const resolvedAnimation=useMemo(()=>{switch(animation){case\"Shimmer\":case\"Tilt3D\":case\"Jelly\":case\"Sequence\":case\"GradientShift\":return\"Float\";default:return animation;}},[animation]);const getShapeStyle=useMemo(()=>{return index=>{const paletteItem=safePalette[index%safePalette.length];const dynamicHeight=shape===\"Circle\"?shapeWidth:Math.max(4,shapeHeight*heightMultiplier(index,randomSeed,heightVariation));const dynamicWidth=shape===\"Circle\"?shapeWidth:shapeWidth;const gradientDirection=`${gradientAngle}deg`;const middleColor=paletteItem.middle??`color-mix(in srgb, ${paletteItem.top} 50%, ${paletteItem.bottom} 50%)`;const middleStart=Math.max(30,50-fadeOffset);const middleEnd=Math.min(70,50+fadeOffset);const backgroundImage=`linear-gradient(${gradientDirection}, ${paletteItem.top} 0%, ${middleColor} ${middleStart}%, ${middleColor} ${middleEnd}%, ${paletteItem.bottom} 100%)`;let borderRadiusValue=cornerRadius;let clipPath;if(shape===\"Pill\")borderRadiusValue=9999;if(shape===\"Bar\")borderRadiusValue=Math.min(Math.max(2,cornerRadius),14);if(shape===\"Block\")borderRadiusValue=0;if(shape===\"Circle\")borderRadiusValue=9999;if(shape===\"Diamond\"){borderRadiusValue=0;clipPath=\"polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%)\";}if(shape===\"Triangle\"){borderRadiusValue=0;clipPath=\"polygon(50% 0%, 100% 100%, 0% 100%)\";}if(shape===\"Squircle\"){borderRadiusValue=Math.max(18,Math.min(dynamicWidth,dynamicHeight)*.36);}if(shape===\"Hexagon\"){borderRadiusValue=0;clipPath=\"polygon(25% 6%, 75% 6%, 100% 50%, 75% 94%, 25% 94%, 0% 50%)\";}if(shape===\"Pentagon\"){borderRadiusValue=0;clipPath=\"polygon(50% 0%, 96% 36%, 78% 100%, 22% 100%, 4% 36%)\";}if(shape===\"Star\"){borderRadiusValue=0;clipPath=\"polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%)\";}if(shape===\"Cross\"){borderRadiusValue=Math.max(4,cornerRadius*.4);clipPath=\"polygon(35% 0%, 65% 0%, 65% 35%, 100% 35%, 100% 65%, 65% 65%, 65% 100%, 35% 100%, 35% 65%, 0% 65%, 0% 35%, 35% 35%)\";}if(shape===\"Heart\"){borderRadiusValue=0;clipPath=\"polygon(50% 96%, 18% 66%, 4% 42%, 8% 22%, 24% 10%, 40% 16%, 50% 28%, 60% 16%, 76% 10%, 92% 22%, 96% 42%, 82% 66%)\";}if(shape===\"Chevron\"){borderRadiusValue=0;clipPath=\"polygon(0% 50%, 56% 8%, 56% 30%, 100% 30%, 100% 70%, 56% 70%, 56% 92%)\";}if(shape===\"Parallelogram\"){borderRadiusValue=0;clipPath=\"polygon(18% 0%, 100% 0%, 82% 100%, 0% 100%)\";}if(shape===\"Trapezoid\"){borderRadiusValue=0;clipPath=\"polygon(16% 0%, 84% 0%, 100% 100%, 0% 100%)\";}if(shape===\"Rounded Bar\"){borderRadiusValue=9999;}if(shape===\"Teardrop\"){borderRadiusValue=9999;clipPath=\"polygon(50% 0%, 88% 32%, 90% 64%, 72% 90%, 50% 100%, 28% 90%, 10% 64%, 12% 32%)\";}if(shape===\"Octagon\"){borderRadiusValue=0;clipPath=\"polygon(30% 0%, 70% 0%, 100% 30%, 100% 70%, 70% 100%, 30% 100%, 0% 70%, 0% 30%)\";}return{width:dynamicWidth,height:shape===\"Rounded Bar\"?Math.max(dynamicHeight,dynamicWidth*1.45):dynamicHeight,borderRadius:borderRadiusValue,backgroundColor:middleColor,backgroundImage,backgroundBlendMode:\"normal\",backgroundRepeat:\"no-repeat\",backgroundPosition:\"center\",clipPath,flexShrink:0,mixBlendMode:blendMode,opacity:Math.max(0,Math.min(shapeOpacity,100))/100,filter:blurAmount>0?`blur(${blurAmount}px)`:undefined,boxShadow:glow>0?`0 8px ${10+glow*.5}px color-mix(in srgb, ${paletteItem.bottom} ${15+glow*.65}%, transparent)`:undefined};};},[safePalette,shape,shapeWidth,shapeHeight,gradientAngle,fadeOffset,cornerRadius,randomSeed,heightVariation,blendMode,shapeOpacity,blurAmount,glow]);const items=useMemo(()=>Array.from({length:totalItems},(_,i)=>i),[totalItems]);const waveAmplitude=Math.max(6,shapeHeight*.24);const scatterData=useMemo(()=>{if(layout!==\"Scatter\")return[];const rand=mulberry32(randomSeed);return items.map(index=>({index,x:rand()*100,y:rand()*100,scale:.78+rand()*.5,rotate:-10+rand()*20}));},[layout,randomSeed,items]);const customLayoutData=useMemo(()=>{const rand=mulberry32(randomSeed+177);const cols=Math.max(1,Math.floor(columns));const rowsCount=Math.max(1,Math.floor(rows));const maxIndex=Math.max(1,totalItems-1);if(layout===\"Diagonal\"){return items.map(index=>{const t=index/maxIndex;return{index,x:10+t*80,y:14+t*72,rotate:0};});}if(layout===\"Arc\"){return items.map(index=>{const t=index/maxIndex;const angle=Math.PI-t*Math.PI;return{index,x:50+Math.cos(angle)*40,y:78-Math.sin(angle)*55,rotate:0};});}if(layout===\"Circle\"){return items.map(index=>{const t=index/Math.max(1,totalItems);const angle=t*Math.PI*2-Math.PI/2;return{index,x:50+Math.cos(angle)*34,y:50+Math.sin(angle)*34,rotate:0};});}if(layout===\"Spiral\"){return items.map(index=>{const t=index/maxIndex;const angle=t*Math.PI*6.5-Math.PI/2;const radius=4+t*38;return{index,x:50+Math.cos(angle)*radius,y:50+Math.sin(angle)*radius,rotate:angle*(180/Math.PI)*.08};});}if(layout===\"Staircase\"){return items.map(index=>{const t=index/maxIndex;return{index,x:10+t*80,y:86-t*72,rotate:0};});}if(layout===\"Pyramid\"){const placements=[];let cursor=0;let levels=0;while(levels*(levels+1)/2<totalItems)levels+=1;for(let rowIndex=0;rowIndex<levels&&cursor<totalItems;rowIndex++){const cells=rowIndex+1;const y=14+rowIndex/Math.max(1,levels-1)*72;for(let c=0;c<cells&&cursor<totalItems;c++){const x=cells===1?50:50+(c/(cells-1)*2-1)*(rowIndex*6.5);placements.push({index:cursor,x,y,rotate:0});cursor+=1;}}return placements;}if(layout===\"Masonry\"){const colHeights=Array.from({length:cols},()=>8+rand()*8);return items.map(index=>{let targetCol=0;for(let c=1;c<cols;c++){if(colHeights[c]<colHeights[targetCol])targetCol=c;}const x=(targetCol+.5)/cols*100;const y=colHeights[targetCol];colHeights[targetCol]+=12+rand()*20;return{index,x,y:Math.min(92,y),rotate:-6+rand()*12};});}if(layout===\"Cross\"){const center=Math.floor(totalItems/2);return items.map(index=>{const offset=index-center;const horizontal=index%2===0;return{index,x:horizontal?50+offset*7:50,y:horizontal?50:50+offset*7,rotate:0};});}if(layout===\"Random Grid\"){return items.map(index=>{const c=index%cols;const r=Math.floor(index/cols)%rowsCount;const cellW=100/cols;const cellH=100/rowsCount;const jx=(rand()-.5)*Math.min(cellW*.55,gap*.35);const jy=(rand()-.5)*Math.min(cellH*.55,gap*.35);return{index,x:(c+.5)*cellW+jx,y:(r+.5)*cellH+jy,rotate:-5+rand()*10};});}if(layout===\"Zigzag\"){return items.map(index=>{const t=index/maxIndex;return{index,x:8+t*84,y:index%2===0?34:66,rotate:0};});}if(layout===\"Concentric Rings\"){const placements=[];const ringCount=Math.max(2,Math.ceil(Math.sqrt(totalItems)/1.6));let cursor=0;for(let ring=0;ring<ringCount&&cursor<totalItems;ring++){const ringRadius=10+ring/Math.max(1,ringCount-1)*38;const isLastRing=ring===ringCount-1;const remaining=totalItems-cursor;const ringItems=isLastRing?remaining:Math.min(remaining,Math.max(4,Math.round((ring+1)*5.2)));for(let i=0;i<ringItems&&cursor<totalItems;i++){const angle=i/Math.max(1,ringItems)*Math.PI*2-Math.PI/2;placements.push({index:cursor,x:50+Math.cos(angle)*ringRadius,y:50+Math.sin(angle)*ringRadius,rotate:angle*180/Math.PI});cursor+=1;}}return placements;}if(layout===\"Sunburst\"){const spokes=Math.max(3,Math.min(totalItems,Math.floor(cols*1.2+rowsCount)));return items.map(index=>{const spokeIndex=index%spokes;const layer=Math.floor(index/spokes);const maxLayer=Math.max(1,Math.ceil(totalItems/spokes));const angle=spokeIndex/spokes*Math.PI*2-Math.PI/2;const radius=10+(layer+1)/(maxLayer+.25)*38;return{index,x:50+Math.cos(angle)*radius,y:50+Math.sin(angle)*radius,rotate:angle*180/Math.PI+90};});}if(layout===\"Phyllotaxis\"){const goldenAngle=137.50776405003785;const maxRadius=43;return items.map(index=>{const r=Math.sqrt((index+.5)/totalItems)*maxRadius;const angleDeg=index*goldenAngle;const angle=angleDeg*Math.PI/180;return{index,x:50+Math.cos(angle)*r,y:50+Math.sin(angle)*r,rotate:angleDeg%360};});}if(layout===\"Honeycomb\"){const cellW=100/cols;const rowStep=100/Math.max(1,rowsCount)*.86;return items.map(index=>{const r=Math.floor(index/cols);const c=index%cols;const offset=r%2===0?0:cellW*.5;const x=(c+.5)*cellW+offset;const wrappedX=(x%100+100)%100;const y=8+r*rowStep;return{index,x:Math.max(2,Math.min(98,wrappedX)),y:Math.max(6,Math.min(94,y)),rotate:0};});}if(layout===\"Wave Grid\"){const cellW=100/cols;const cellH=100/rowsCount;const amplitude=Math.max(4,Math.min(14,gap*.28));const frequency=Math.PI/Math.max(2,cols-1);return items.map(index=>{const c=index%cols;const r=Math.floor(index/cols)%rowsCount;const baseX=(c+.5)*cellW;const baseY=(r+.5)*cellH;const wave=Math.sin(c*frequency+r*.8)*amplitude;return{index,x:baseX,y:baseY+wave,rotate:-5+rand()*10};});}if(layout===\"Lissajous\"){const a=3;const b=2;const phase=Math.PI/2.5;return items.map(index=>{const t=index/Math.max(1,totalItems-1)*Math.PI*2;return{index,x:50+Math.sin(a*t)*38,y:50+Math.sin(b*t+phase)*30,rotate:0};});}if(layout===\"Infinity (Figure-8)\"){return items.map(index=>{const t=index/Math.max(1,totalItems-1)*Math.PI*2;const denom=1+Math.sin(t)*Math.sin(t);const x=Math.cos(t)/denom*42;const y=Math.sin(t)*Math.cos(t)/denom*34;return{index,x:50+x,y:50+y,rotate:Math.atan2(y,x)*180/Math.PI};});}if(layout===\"Diamond Grid\"){const cellW=100/cols;const cellH=100/rowsCount;const angle=Math.PI/4;return items.map(index=>{const c=index%cols;const r=Math.floor(index/cols)%rowsCount;const px=(c+.5)*cellW-50;const py=(r+.5)*cellH-50;const rx=px*Math.cos(angle)-py*Math.sin(angle);const ry=px*Math.sin(angle)+py*Math.cos(angle);return{index,x:50+rx*.8,y:50+ry*.8,rotate:45};});}if(layout===\"Nested Squares\"){const placements=[];let cursor=0;let ring=0;while(cursor<totalItems){const side=9+ring*8;const ringItems=Math.min(totalItems-cursor,Math.max(4,8+ring*8));for(let i=0;i<ringItems&&cursor<totalItems;i++){const p=i/ringItems;let x=50;let y=50;if(p<.25){x=50-side+p/.25*side*2;y=50-side;}else if(p<.5){x=50+side;y=50-side+(p-.25)/.25*side*2;}else if(p<.75){x=50+side-(p-.5)/.25*side*2;y=50+side;}else{x=50-side;y=50+side-(p-.75)/.25*side*2;}placements.push({index:cursor,x,y,rotate:ring*6});cursor+=1;}ring+=1;}return placements;}if(layout===\"Nested Triangles\"){const placements=[];let cursor=0;let ring=0;while(cursor<totalItems){const radius=12+ring*9;const vertices=[{x:50,y:50-radius},{x:50+radius*.88,y:50+radius*.52},{x:50-radius*.88,y:50+radius*.52}];const ringItems=Math.min(totalItems-cursor,Math.max(6,6+ring*6));for(let i=0;i<ringItems&&cursor<totalItems;i++){const edge=Math.floor(i/ringItems*3)%3;const local=i/ringItems*3%1;const from=vertices[edge];const to=vertices[(edge+1)%3];placements.push({index:cursor,x:from.x+(to.x-from.x)*local,y:from.y+(to.y-from.y)*local,rotate:0});cursor+=1;}ring+=1;}return placements;}if(layout===\"Radial Bands\"){const bands=Math.max(2,Math.min(6,Math.ceil(rowsCount/1.2)));return items.map(index=>{const band=index%bands;const stepInBand=Math.floor(index/bands);const perBand=Math.max(1,Math.ceil(totalItems/bands));const radius=14+band/Math.max(1,bands-1)*33;const start=(-145+band*8)*(Math.PI/180);const end=(35+band*8)*(Math.PI/180);const t=stepInBand/Math.max(1,perBand-1);const angle=start+(end-start)*t;return{index,x:50+Math.cos(angle)*radius,y:50+Math.sin(angle)*radius,rotate:angle*180/Math.PI+90};});}if(layout===\"Serpentine Rows\"){const cellW=100/cols;const cellH=100/rowsCount;return items.map(index=>{const r=Math.floor(index/cols)%rowsCount;const cRaw=index%cols;const c=r%2===0?cRaw:cols-1-cRaw;return{index,x:(c+.5)*cellW,y:(r+.5)*cellH,rotate:0};});}if(layout===\"S-Curve\"){return items.map(index=>{const t=index/Math.max(1,totalItems-1);const x=8+t*84;const y=50+Math.sin((t*Math.PI-Math.PI/2)*1.2)*24;const tangent=Math.cos((t*Math.PI-Math.PI/2)*1.2);return{index,x,y,rotate:tangent*18};});}if(layout===\"V-Formation\"){const center=Math.floor(totalItems/2);return items.map(index=>{const d=index-center;return{index,x:50+d*4.8,y:18+Math.abs(d)*5.6,rotate:d<0?-16:16};});}if(layout===\"Checker Offset\"){const cellW=100/cols;const cellH=100/rowsCount;const jitter=Math.min(4.5,gap*.14);return items.map(index=>{const c=index%cols;const r=Math.floor(index/cols)%rowsCount;const isAlt=(r+c)%2===0;const jx=(rand()-.5)*jitter;const jy=(rand()-.5)*jitter;return{index,x:(c+.5)*cellW+(isAlt?cellW*.14:-cellW*.14)+jx,y:(r+.5)*cellH+(isAlt?cellH*.09:-cellH*.09)+jy,rotate:isAlt?4:-4};});}return[];},[layout,randomSeed,columns,rows,totalItems,items,gap]);const dataStreamData=useMemo(()=>{if(layout!==\"Data Stream\")return[];const rowsCount=Math.max(1,Math.floor(rows));const colsPerRow=Math.max(1,Math.ceil(totalItems/rowsCount));const rowBand=100/rowsCount;return items.map(index=>{const rowIndex=Math.floor(index/colsPerRow)%rowsCount;const colIndex=index%colsPerRow;const x=(colIndex+.5)/colsPerRow*100;const y=(rowIndex+.5)*rowBand;const rowSeed=mulberry32(randomSeed+rowIndex*911+19)();const distanceMul=.65+rowSeed*1.05;const speedMul=.72+rowSeed*.65;const delayMul=rowIndex/Math.max(1,rowsCount-1)*.5;return{index,x,y,rowIndex,distanceMul,speedMul,delayMul};});},[layout,rows,totalItems,items,randomSeed]);const getAnimationClass=useMemo(()=>{switch(resolvedAnimation){case\"Float\":return\"pg-anim-float\";case\"Pulse\":return\"pg-anim-pulse\";case\"Sway\":return\"pg-anim-sway\";case\"Bounce\":return\"pg-anim-bounce\";case\"Wobble\":return\"pg-anim-wobble\";case\"Breathe\":return\"pg-anim-breathe\";case\"Flicker\":return\"pg-anim-flicker\";case\"Spin\":return\"pg-anim-spin\";case\"Slide\":return\"pg-anim-slide\";case\"Drift\":return\"pg-anim-drift\";case\"Stream\":return\"pg-anim-stream\";case\"Pop\":return\"pg-anim-pop\";case\"Heartbeat\":return\"pg-anim-heartbeat\";case\"Ripple\":return\"pg-anim-ripple\";case\"Glimmer\":return\"pg-anim-glimmer\";case\"Orbit\":return\"pg-anim-orbit\";default:return\"\";}},[resolvedAnimation]);const grainDataUri=useMemo(()=>{const safeScale=Math.max(40,Math.min(420,grainScale||180));const frequency=Math.max(.1,Math.min(1.6,170/safeScale));const encodedSvg=`<svg xmlns='http://www.w3.org/2000/svg' width='${safeScale}' height='${safeScale}' viewBox='0 0 ${safeScale} ${safeScale}'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='${frequency}' numOctaves='2' stitchTiles='stitch'/></filter><rect width='${safeScale}' height='${safeScale}' filter='url(#n)' opacity='0.8'/></svg>`;return`url(\"data:image/svg+xml,${encodeURIComponent(encodedSvg)}\")`;},[grainScale]);const renderShape=(index,outerStyle,innerStyle)=>{const phaseRand=mulberry32(randomSeed+index*131+17)();const durationRand=mulberry32(randomSeed+index*197+43)();const durationVariance=.88+durationRand*.24;const phaseOffset=phaseRand*safeSpeed;const orderedDelay=index*staggerFactor*(safeSpeed*.12);const delay=-phaseOffset+orderedDelay;const duration=safeSpeed*durationVariance;return /*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",...outerStyle},children:/*#__PURE__*/_jsx(\"div\",{className:`pg-shape ${getAnimationClass}`,style:{...getShapeStyle(index),...{\"--pg-duration\":`${duration}s`,\"--pg-delay\":`${delay}s`},...innerStyle},children:grain?/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,className:\"pg-shape-grain\",style:{opacity:Math.max(0,Math.min(100,grainOpacity))/100,mixBlendMode:grainBlendMode,borderRadius:getShapeStyle(index).borderRadius,clipPath:getShapeStyle(index).clipPath,backgroundImage:grainDataUri,backgroundRepeat:\"repeat\",backgroundPosition:\"0 0\",backgroundSize:`${Math.max(40,Math.min(420,grainScale||180))}px ${Math.max(40,Math.min(420,grainScale||180))}px`}}):null})},index);};return /*#__PURE__*/_jsxs(\"div\",{className:instanceClass,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background,borderRadius:backgroundRadius,padding,boxSizing:\"border-box\",...style},children:[/*#__PURE__*/_jsx(\"style\",{children:styleTagContent}),layout===\"Grid\"?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"grid\",gridTemplateColumns:`repeat(${Math.max(1,Math.floor(columns))}, minmax(0, 1fr))`,gridAutoRows:\"1fr\",gap,alignItems:\"center\",justifyItems:\"center\",zIndex:1},children:items.map(index=>renderShape(index))}):layout===\"Scatter\"?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",zIndex:1},children:scatterData.map(point=>renderShape(point.index,{position:\"absolute\",left:`${point.x}%`,top:`${point.y}%`,transform:`translate(-50%, -50%) scale(${point.scale}) rotate(${point.rotate}deg)`}))}):layout===\"Data Stream\"?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",zIndex:1},children:dataStreamData.map(point=>renderShape(point.index,{position:\"absolute\",left:`${Math.max(2,Math.min(98,point.x))}%`,top:`${Math.max(2,Math.min(98,point.y))}%`,transform:\"translate(-50%, -50%)\"},{\"--pg-stream-distance\":`${(6+intensity*28)*point.distanceMul}px`,\"--pg-duration\":`${safeSpeed*point.speedMul}s`,\"--pg-delay\":`${point.delayMul*safeSpeed*(.8+staggerFactor)}s`}))}):layout===\"Row\"||layout===\"Wave\"||layout===\"Column\"?/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:layout===\"Column\"?\"column\":\"row\",alignItems:\"center\",justifyContent:\"center\",gap,zIndex:1},children:items.map(index=>{const waveOffset=layout===\"Wave\"?Math.sin(index/Math.max(1,totalItems-1)*Math.PI*2)*waveAmplitude:0;return renderShape(index,{transform:layout===\"Column\"?`translateX(${waveOffset*.55}px)`:`translateY(${waveOffset}px)`});})}):/*#__PURE__*/_jsx(\"div\",{style:{position:\"relative\",width:\"100%\",height:\"100%\",zIndex:1},children:customLayoutData.map(point=>renderShape(point.index,{position:\"absolute\",left:`${Math.max(2,Math.min(98,point.x))}%`,top:`${Math.max(2,Math.min(98,point.y))}%`,transform:`translate(-50%, -50%) rotate(${point.rotate}deg)`}))})]});}addPropertyControls(PatternGenerator,{layout:{type:ControlType.Enum,title:\"Layout\",defaultValue:\"Row\",options:[\"Arc\",\"Checker Offset\",\"Circle\",\"Column\",\"Concentric Rings\",\"Cross\",\"Data Stream\",\"Diagonal\",\"Diamond Grid\",\"Grid\",\"Honeycomb\",\"Infinity (Figure-8)\",\"Lissajous\",\"Masonry\",\"Nested Squares\",\"Nested Triangles\",\"Phyllotaxis\",\"Pyramid\",\"Radial Bands\",\"Random Grid\",\"Row\",\"S-Curve\",\"Scatter\",\"Serpentine Rows\",\"Spiral\",\"Staircase\",\"Sunburst\",\"V-Formation\",\"Wave\",\"Wave Grid\",\"Zigzag\"],optionTitles:[\"Arc\",\"Checker Offset\",\"Circle (Ring)\",\"Column\",\"Concentric Rings\",\"Cross\",\"Data Stream\",\"Diagonal\",\"Diamond Grid\",\"Grid\",\"Honeycomb\",\"Infinity (Figure-8)\",\"Lissajous\",\"Masonry\",\"Nested Squares\",\"Nested Triangles\",\"Phyllotaxis\",\"Pyramid\",\"Radial Bands\",\"Random Grid\",\"Row\",\"S-Curve\",\"Scatter\",\"Serpentine Rows\",\"Spiral\",\"Staircase\",\"Sunburst / Radial\",\"V-Formation\",\"Wave\",\"Wave Grid\",\"Zigzag\"]},shape:{type:ControlType.Enum,title:\"Shape\",defaultValue:\"Pill\",options:[\"Pill\",\"Bar\",\"Block\",\"Circle\",\"Diamond\",\"Triangle\",\"Squircle\",\"Hexagon\",\"Pentagon\",\"Star\",\"Cross\",\"Heart\",\"Chevron\",\"Parallelogram\",\"Trapezoid\",\"Rounded Bar\",\"Teardrop\",\"Octagon\"],optionTitles:[\"Pill\",\"Bar\",\"Block\",\"Circle\",\"Diamond\",\"Triangle\",\"Squircle\",\"Hexagon\",\"Pentagon\",\"Star\",\"Cross / Plus\",\"Heart\",\"Chevron / Arrow\",\"Parallelogram\",\"Trapezoid\",\"Rounded Bar\",\"Teardrop\",\"Octagon\"]},count:{type:ControlType.Number,title:\"Count\",defaultValue:8,min:1,max:500,step:1},columns:{type:ControlType.Number,title:\"Columns\",defaultValue:6,min:1,max:20,step:1},rows:{type:ControlType.Number,title:\"Rows\",defaultValue:4,min:1,max:20,step:1},gap:{type:ControlType.Number,title:\"Gap\",defaultValue:14,min:0,max:120,unit:\"px\"},shapeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:44,min:4,max:240,unit:\"px\"},shapeHeight:{type:ControlType.Number,title:\"Height\",defaultValue:144,min:4,max:800,unit:\"px\"},cornerRadius:{type:ControlType.Number,title:\"Corner\",defaultValue:18,min:0,max:200,unit:\"px\"},gradientSoftness:{type:ControlType.Number,title:\"Softness\",defaultValue:72,min:0,max:100,step:1},gradientAngle:{type:ControlType.Number,title:\"Angle\",defaultValue:180,min:0,max:360,step:1,unit:\"deg\"},palette:{type:ControlType.Array,title:\"Palette\",maxCount:12,defaultValue:[{top:\"#7CFFB2\",middle:\"#37E08A\",bottom:\"#159B5A\"},{top:\"#A8FFC8\",middle:\"#4CE39A\",bottom:\"#1FAE66\"},{top:\"#5BE39A\",middle:\"#2FCB80\",bottom:\"#0E8A4E\"}],control:{type:ControlType.Object,controls:{top:{type:ControlType.Color,title:\"Top\",defaultValue:\"#7CFFB2\"},middle:{type:ControlType.Color,title:\"Middle\",defaultValue:\"#37E08A\"},bottom:{type:ControlType.Color,title:\"Bottom\",defaultValue:\"#159B5A\"}}}},heightVariation:{type:ControlType.Number,title:\"H Variation\",defaultValue:22,min:0,max:100,step:1},randomSeed:{type:ControlType.Number,title:\"Seed\",defaultValue:7,min:0,max:9999,step:1},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(255,255,255,0)\"},backgroundRadius:{type:ControlType.Number,title:\"BG Radius\",defaultValue:20,min:0,max:200,unit:\"px\"},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:16,min:0,max:200,unit:\"px\"},animation:{type:ControlType.Enum,title:\"Animation\",defaultValue:\"Float\",options:[\"None\",\"Float\",\"Pulse\",\"Sway\",\"Bounce\",\"Wobble\",\"Breathe\",\"Flicker\",\"Spin\",\"Slide\",\"Drift\",\"Stream\",\"Pop\",\"Heartbeat\",\"Ripple\",\"Glimmer\",\"Orbit\"],optionTitles:[\"None\",\"Float\",\"Pulse\",\"Sway\",\"Bounce\",\"Wobble\",\"Breathe\",\"Flicker\",\"Spin\",\"Slide\",\"Drift\",\"Stream\",\"Pop\",\"Heartbeat\",\"Ripple\",\"Glimmer\",\"Orbit\"]},animationSpeed:{type:ControlType.Number,title:\"Anim Speed\",defaultValue:4,min:.4,max:20,step:.1,unit:\"s\"},animationStagger:{type:ControlType.Number,title:\"Anim Stagger\",defaultValue:0,min:0,max:100,step:1},animationIntensity:{type:ControlType.Number,title:\"Anim Intensity\",defaultValue:45,min:0,max:100,step:1},glow:{type:ControlType.Number,title:\"Glow\",defaultValue:0,min:0,max:100,step:1},blurAmount:{type:ControlType.Number,title:\"Blur\",defaultValue:0,min:0,max:20,step:.2,unit:\"px\"},grain:{type:ControlType.Boolean,title:\"Grain\",defaultValue:false},grainOpacity:{type:ControlType.Number,title:\"Grain Opacity\",defaultValue:10,min:0,max:100,step:1,hidden:props=>!props.grain},grainScale:{type:ControlType.Number,title:\"Grain Scale\",defaultValue:180,min:40,max:420,step:1,hidden:props=>!props.grain},grainBlendMode:{type:ControlType.Enum,title:\"Grain Blend\",defaultValue:\"soft-light\",options:[\"overlay\",\"soft-light\",\"multiply\",\"screen\",\"normal\"],optionTitles:[\"Overlay\",\"Soft Light\",\"Multiply\",\"Screen\",\"Normal\"],hidden:props=>!props.grain},blendMode:{type:ControlType.Enum,title:\"Blend\",defaultValue:\"normal\",options:[\"normal\",\"screen\",\"multiply\",\"overlay\",\"soft-light\",\"lighten\"],optionTitles:[\"Normal\",\"Screen\",\"Multiply\",\"Overlay\",\"Soft Light\",\"Lighten\"]},shapeOpacity:{type:ControlType.Number,title:\"Opacity\",defaultValue:100,min:0,max:100,step:1,unit:\"%\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PatternGenerator\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Pattern_Generator.map"],"mappings":"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"}