3d-effect-cinema 0.5.3 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -7
- package/dist/index.d.mts +7 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +19 -6
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import React from "react";
|
|
3
|
-
var Mt=Object.defineProperty,Et=Object.defineProperties;var Tt=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable;var Fe=(t,e,r)=>e in t?Mt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,N=(t,e)=>{for(var r in e||(e={}))Be.call(e,r)&&Fe(t,r,e[r]);if(le)for(var r of le(e))Ie.call(e,r)&&Fe(t,r,e[r]);return t},D=(t,e)=>Et(t,Tt(e));var ze=(t,e)=>{var r={};for(var n in t)Be.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&le)for(var n of le(t))e.indexOf(n)<0&&Ie.call(t,n)&&(r[n]=t[n]);return r};import{Suspense as wr,useMemo as ae,useState as ke,useEffect as Re}from"react";import{Canvas as Mr}from"@react-three/fiber";import{Environment as Er,Center as Tr}from"@react-three/drei";import{EffectComposer as kr,Bloom as Rr,Vignette as Cr,Noise as Sr}from"@react-three/postprocessing";import{useRef as _e,useMemo as kt}from"react";import{useFrame as Rt}from"@react-three/fiber";import{Text3D as Ct}from"@react-three/drei";import*as K from"three";import{jsx as Oe,jsxs as Lt}from"react/jsx-runtime";var St={gold:{color:"#FFD700",metalness:1,roughness:.15,clearcoat:1,emissive:"#1a0f00",emissiveIntensity:.3,envMapIntensity:2},neon:{color:"#00ffff",metalness:0,roughness:1,clearcoat:0,emissive:"#00ffff",emissiveIntensity:2.5,envMapIntensity:.5},emerald:{color:"#10b981",metalness:.9,roughness:.1,clearcoat:1,emissive:"#065f46",emissiveIntensity:1.2,envMapIntensity:2.5},crimson:{color:"#ff1744",metalness:.8,roughness:.15,clearcoat:1,emissive:"#880e4f",emissiveIntensity:1.8,envMapIntensity:2},obsidian:{color:"#1a1a2e",metalness:1,roughness:.05,clearcoat:1,emissive:"#0a0a1a",emissiveIntensity:.1,envMapIntensity:3},glass:{color:"#ffffff",metalness:0,roughness:0,clearcoat:0,emissive:"#000000",emissiveIntensity:0,envMapIntensity:1.5,transmission:.95,ior:1.5,thickness:.5,transparent:!0}};function X({char:t,index:e,totalLetters:r,position:n,phase:s,theme:m,fontUrl:f}){let c=_e(null),d=_e(null),o=kt(()=>{let l=e/r*Math.PI*2;return{x:Math.cos(l)*4+(Math.random()-.5)*2,y:-3+Math.random()*-3,z:-5+Math.random()*-3,rotX:(Math.random()-.5)*Math.PI*2,rotY:(Math.random()-.5)*Math.PI*2}},[e,r]),a=St[m];return Rt(l=>{if(!c.current)return;let i=l.clock.getElapsedTime();d.current===null&&(d.current=i);let v=i-d.current,u=e*.12;if(s==="loading"){c.current.position.set(n[0]+o.x,n[1]+o.y,n[2]+o.z),c.current.rotation.set(o.rotX,o.rotY,0),c.current.scale.setScalar(0);return}if(s==="entering"){let y=Math.max(0,v-u),p=1-Math.exp(-y*3),M=1+Math.sin(y*8)*Math.max(0,.15-y*.1);c.current.position.set(K.MathUtils.lerp(n[0]+o.x,n[0],p),K.MathUtils.lerp(n[1]+o.y,n[1],p),K.MathUtils.lerp(n[2]+o.z,n[2],p)),c.current.rotation.set(K.MathUtils.lerp(o.rotX,0,p),K.MathUtils.lerp(o.rotY,0,p),0),c.current.scale.setScalar(Math.min(p*M,1.05));return}if(s==="idle"){let y=Math.sin(i*1.2+e*.5)*.015,p=Math.sin(i*.8+e*.3)*.008;c.current.position.set(n[0]+p,n[1]+y,n[2]),c.current.rotation.set(Math.sin(i*.5+e)*.01,Math.sin(i*.3+e*.7)*.01,0),c.current.scale.setScalar(1);return}if(s==="exiting"){let y=Math.max(0,v-u*.5),p=Math.min(y*2,1),M=p*p;c.current.position.set(n[0]+o.x*M*.5,n[1],n[2]-M*8),c.current.scale.setScalar(Math.max(1-M,0)),c.current.rotation.y+=.05}}),t===" "?null:Oe("group",{ref:c,position:n,children:Lt(Ct,{font:f,size:.8,height:.35,bevelEnabled:!0,bevelSize:.02,bevelThickness:.01,bevelSegments:3,curveSegments:12,children:[t,Oe("meshPhysicalMaterial",{color:a.color,metalness:a.metalness,roughness:a.roughness,clearcoat:a.clearcoat,emissive:a.emissive,emissiveIntensity:a.emissiveIntensity,envMapIntensity:a.envMapIntensity,transmission:a.transmission,ior:a.ior,thickness:a.thickness,transparent:a.transparent,toneMapped:m!=="neon"})]})})}import{useRef as ce,useMemo as Nt}from"react";import{useFrame as Pt}from"@react-three/fiber";import{Sparkles as De}from"@react-three/drei";import*as Ue from"three";import{jsx as re,jsxs as Ye}from"react/jsx-runtime";var We={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},Xe={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Ht({color:t,speedMultiplier:e=.5,count:r=60}){let n=ce(null),s=ce(new Ue.Object3D),m=ce(null),f=ce(null);if(!m.current){m.current=new Float32Array(r),f.current=new Float32Array(r*3);for(let c=0;c<r;c++)m.current[c]=.1+Math.random()*.3,f.current[c*3]=(Math.random()-.5)*16,f.current[c*3+1]=(Math.random()-.5)*10,f.current[c*3+2]=(Math.random()-.5)*12}return Pt(c=>{if(!n.current||!m.current||!f.current)return;let d=c.clock.getElapsedTime()*e;for(let o=0;o<r;o++){let a=m.current[o],l=f.current[o*3],i=f.current[o*3+1],v=f.current[o*3+2];s.current.position.set(l+Math.sin(d*a+o)*2,i+Math.cos(d*a*.7+o*.5)*1.5,v+Math.sin(d*a*.5+o*.3)*2),s.current.scale.setScalar(.015+Math.sin(d+o)*.005),s.current.updateMatrix(),n.current.setMatrixAt(o,s.current.matrix)}n.current.instanceMatrix.needsUpdate=!0}),Ye("instancedMesh",{ref:n,args:[void 0,void 0,r],children:[re("sphereGeometry",{args:[1,6,6]}),re("meshBasicMaterial",{color:t,transparent:!0,opacity:.3,toneMapped:!1})]})}function U({theme:t,effectColor:e,effectSpeed:r=.5,visible:n}){let s=Nt(()=>{if(!e)return We[t]||We.gold;let m=e.toLowerCase().trim();return Xe[m]?Xe[m]:e},[e,t]);return n?Ye("group",{children:[re(De,{count:150,scale:10,size:4,speed:.3*r,opacity:.8,color:s,noise:.6}),re(De,{count:80,scale:16,size:2,speed:.15*r,opacity:.4,color:"#ffffff",noise:.8}),re(Ht,{color:s,speedMultiplier:r,count:50})]}):null}import{useRef as Ve}from"react";import{useFrame as At,useThree as Ft}from"@react-three/fiber";import*as q from"three";function Y({phase:t,effectSpeed:e=.5}){let{camera:r,pointer:n}=Ft(),s=Ve(null),m=Ve(t);return m.current!==t&&(m.current=t,s.current=null),At(f=>{let c=f.clock.getElapsedTime()*e;s.current===null&&(s.current=c);let d=c-s.current;if(t==="loading"){r.position.set(0,0,14),r.lookAt(0,0,0);return}if(t==="entering"){let l=Math.min(d/3,1),i=1-Math.pow(1-l,3),v=q.MathUtils.lerp(14,6,i),u=q.MathUtils.lerp(1,.2,i);r.position.set(0,u,v),r.lookAt(0,0,0);return}let o=f.viewport.width/(f.viewport.height||1),a=o<1?Math.max(6,6/Math.max(.45,o*.85)):6;if(t==="idle"){let l=Math.sin(c*.1)*.2,i=Math.cos(c*.08)*.1+.2,v=n.x*.2,u=n.y*.1;r.position.x=q.MathUtils.damp(r.position.x,l+v,3,.016),r.position.y=q.MathUtils.damp(r.position.y,i+u,3,.016),r.position.z=q.MathUtils.damp(r.position.z,a,3,.016),r.lookAt(0,0,0);return}if(t==="exiting"){let l=Math.min(d/1.5,1),i=l*l*l,v=q.MathUtils.lerp(6,-8,i);r.position.set(0,0,v),r.lookAt(0,0,0)}}),null}import{useState as Bt,useRef as It,useCallback as zt,useEffect as _t,useMemo as Ot}from"react";import{useFrame as Dt,useThree as Wt}from"@react-three/fiber";import*as _ from"three";import{jsx as me,jsxs as Ge}from"react/jsx-runtime";var $e={gold:["#FFD700","#FF8C00","#FF4500","#FFF8DC"],neon:["#00ffff","#0088ff","#ff00ff","#ffffff"],emerald:["#00ff88","#10b981","#059669","#a7f3d0"],crimson:["#ff1744","#d50000","#ff5252","#ffb74d"],obsidian:["#a855f7","#6366f1","#3b82f6","#ffffff"],glass:["#ffffff","#e0e7ff","#93c5fd","#60a5fa"]},Xt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function V({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:s,raycaster:m}=Wt(),[f,c]=Bt([]),d=It(0),o=Ot(()=>{if(!e)return $e[t]||$e.gold;let l=e.toLowerCase().trim(),i=Xt[l]||e;return[i,"#ffffff",i]},[e,t]),a=zt(l=>{if(!n)return;let i=0,v=0;if("touches"in l&&l.touches.length>0)i=l.touches[0].clientX,v=l.touches[0].clientY;else if("clientX"in l)i=l.clientX,v=l.clientY;else return;let u=new _.Vector2(i/window.innerWidth*2-1,-(v/window.innerHeight)*2+1);m.setFromCamera(u,s);let y=new _.Plane(new _.Vector3(0,0,1),0),p=new _.Vector3;if(m.ray.intersectPlane(y,p),!p)return;let M=35,b=[];for(let h=0;h<M;h++){let x=Math.random()*Math.PI*2,E=(1.5+Math.random()*4.5)*r,g=(Math.random()-.3)*3*r,k=new _.Vector3(Math.cos(x)*E,Math.sin(x)*E+g,(Math.random()-.5)*E*.8),P=o[Math.floor(Math.random()*o.length)];b.push({id:h,position:p.clone(),velocity:k,color:new _.Color(P),size:.08+Math.random()*.12,life:1,maxLife:(.6+Math.random()*.8)/Math.max(.2,r)})}let w={id:d.current++,origin:p.clone(),sparks:b,color:o[0],lightIntensity:4,time:0};c(h=>[...h.slice(-4),w])},[s,m,o,r,n]);return _t(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),Dt((l,i)=>{f.length!==0&&c(v=>v.map(u=>{let y=u.time+i*r,p=Math.max(0,u.lightIntensity-i*8*r),M=u.sparks.map(b=>{let w=b.life-i*r/b.maxLife;if(w<=0)return null;let h=b.position.clone().addScaledVector(b.velocity,i*r);return b.velocity.y-=i*3.5*r,b.velocity.multiplyScalar(.96),D(N({},b),{position:h,life:w})}).filter(Boolean);return M.length===0&&p<=0?null:D(N({},u),{time:y,lightIntensity:p,sparks:M})}).filter(Boolean))}),me("group",{children:f.map(l=>Ge("group",{children:[l.lightIntensity>.05&&me("pointLight",{position:l.origin,intensity:l.lightIntensity*3,distance:6,color:l.color}),l.sparks.map(i=>Ge("mesh",{position:i.position,children:[me("sphereGeometry",{args:[i.size*i.life,6,6]}),me("meshBasicMaterial",{color:i.color,transparent:!0,opacity:i.life,toneMapped:!1})]},i.id))]},l.id))})}import{useState as Ut,useRef as Yt,useCallback as Vt,useEffect as $t,useMemo as Gt}from"react";import{useFrame as jt,useThree as Zt}from"@react-three/fiber";import*as I from"three";import{jsx as ve,jsxs as qt}from"react/jsx-runtime";var je={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},Ze={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function $({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:s,raycaster:m}=Zt(),[f,c]=Ut([]),d=Yt(0),o=Gt(()=>{if(!e)return je[t]||je.gold;let l=e.toLowerCase().trim();return Ze[l]?Ze[l]:e},[e,t]),a=Vt(l=>{if(!n)return;let i=0,v=0;if("touches"in l&&l.touches.length>0)i=l.touches[0].clientX,v=l.touches[0].clientY;else if("clientX"in l)i=l.clientX,v=l.clientY;else return;let u=new I.Vector2(i/window.innerWidth*2-1,-(v/window.innerHeight)*2+1);m.setFromCamera(u,s);let y=new I.Plane(new I.Vector3(0,0,1),0),p=new I.Vector3;if(m.ray.intersectPlane(y,p),!p)return;let M={id:d.current++,origin:p.clone(),radius:.1,maxRadius:3.5,life:1,color:new I.Color(o)};c(b=>[...b.slice(-4),M])},[s,m,o,n]);return $t(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),jt((l,i)=>{f.length!==0&&c(v=>v.map(u=>{let y=u.life-i*1.8*r;if(y<=0)return null;let p=u.radius+i*5*r;return D(N({},u),{life:y,radius:p})}).filter(Boolean))}),n?ve("group",{children:f.map(l=>qt("mesh",{position:l.origin,rotation:[0,0,0],children:[ve("ringGeometry",{args:[l.radius*.9,l.radius,48]}),ve("meshBasicMaterial",{color:l.color,transparent:!0,opacity:l.life*.75,side:I.DoubleSide,toneMapped:!1})]},l.id))}):null}import{useRef as Kt,useMemo as qe}from"react";import{useFrame as Jt,useThree as Qt}from"@react-three/fiber";import*as de from"three";import{jsx as Qe}from"react/jsx-runtime";var Ke={gold:"#ffaa00",neon:"#00ffff",emerald:"#00ffaa",crimson:"#ff0055",obsidian:"#9900ff",glass:"#88ccff"},Je={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function G({theme:t="neon",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{pointer:s}=Qt(),m=Kt(null),f=qe(()=>{if(!e)return Ke[t]||Ke.neon;let o=e.toLowerCase().trim();return Je[o]?Je[o]:e},[e,t]),c=30,d=qe(()=>{let o=new de.BufferGeometry,a=new Float32Array(c*2*3);return o.setAttribute("position",new de.BufferAttribute(a,3)),o},[c]);return Jt(o=>{if(!m.current||!n)return;let a=o.clock.getElapsedTime()*r,l=m.current.geometry.attributes.position,i=l.array,v=s.x*6,u=s.y*3;for(let y=0;y<c;y++){let p=y*6,M=y/c*Math.PI*2+a*1.5,b=2.5+Math.sin(a*3+y)*.5,w=Math.cos(M)*b,h=Math.sin(M)*b,x=(Math.random()-.5)*1.5,E=w+(v-w)*.3+(Math.random()-.5)*.8,g=h+(u-h)*.3+(Math.random()-.5)*.8,k=x+(Math.random()-.5)*.8;i[p]=w,i[p+1]=h,i[p+2]=x,i[p+3]=E,i[p+4]=g,i[p+5]=k}l.needsUpdate=!0}),n?Qe("lineSegments",{ref:m,geometry:d,children:Qe("lineBasicMaterial",{color:f,transparent:!0,opacity:.75,linewidth:2,toneMapped:!1})}):null}import{useRef as J,useMemo as ye,useEffect as er,useCallback as et}from"react";import{useFrame as tr,useThree as rr}from"@react-three/fiber";import*as W from"three";import{jsx as ne,jsxs as we}from"react/jsx-runtime";var tt={crimson:{color1:"#ff3d00",color2:"#ff9100",light:"#ff1744"},gold:{color1:"#ffb300",color2:"#ffe082",light:"#FFD700"},emerald:{color1:"#00e676",color2:"#a7f3d0",light:"#10b981"},neon:{color1:"#00e5ff",color2:"#80d8ff",light:"#00ffff"},obsidian:{color1:"#d500f9",color2:"#ea80fc",light:"#a855f7"},glass:{color1:"#80d8ff",color2:"#ffffff",light:"#60a5fa"}},rt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function nr(){let t=document.createElement("canvas");t.width=128,t.height=128;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(64,64,0,64,64,64);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),n.addColorStop(.65,"rgba(255, 255, 255, 0.35)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,128,128)}let r=new W.CanvasTexture(t);return r.needsUpdate=!0,r}function fe({theme:t="crimson",effectColor:e,effectSpeed:r=.5,effectDensity:n=.3,mode:s="fluid",enabled:m=!0}){let{pointer:f}=rr(),c=J(null),d=J(null),o=J(null),a=J(new W.Object3D),l=J(!1),i=J([]),v=Math.max(.1,Math.min(1,n)),u=Math.round(110*v),y=ye(()=>nr(),[]),p=ye(()=>{if(!e)return(tt[t]||tt.crimson).color1;let h=e.toLowerCase().trim();return rt[h]?rt[h]:e},[e,t]),M=ye(()=>{let h=[],x=.4+Math.sqrt(v)*.55;for(let E=0;E<u;E++)h.push({x:(Math.random()-.5)*10,y:-2+Math.random()*.4,z:(Math.random()-.5)*2-.5,speedY:.8+Math.random()*1.8,speedX:(Math.random()-.5)*.5,size:(.4+Math.random()*.6)*x,phase:Math.random()*Math.PI*2,life:Math.random()});return h},[u,v]),b=et(()=>{l.current=!0},[]),w=et(()=>{l.current=!1},[]);return er(()=>(window.addEventListener("pointerdown",b),window.addEventListener("pointerup",w),()=>{window.removeEventListener("pointerdown",b),window.removeEventListener("pointerup",w)}),[b,w]),tr((h,x)=>{if(!m)return;let E=h.clock.getElapsedTime()*r;if(l.current){let g=f.x*7,k=f.y*4;i.current.length<25&&i.current.push({x:g+(Math.random()-.5)*.8,y:k+(Math.random()-.5)*.8,z:(Math.random()-.5)*1.5,life:1,size:(.5+Math.random()*.6)*Math.sqrt(v)})}i.current=i.current.map(g=>(g.life-=x*1.8*r,g.y+=x*1.2*r,g)).filter(g=>g.life>0),o.current&&(o.current.intensity=2.2+Math.sin(E*10)*.6+Math.cos(E*15)*.3,o.current.position.y=-1+Math.sin(E*3)*.2),(s==="fluid"||s==="all")&&c.current&&(M.forEach((g,k)=>{g.life+=x*g.speedY*.35*r,g.life>1&&(g.life=0,g.x=(Math.random()-.5)*10,g.y=-2+Math.random()*.4);let P=g.life,B=g.y+P*3.8,te=g.x+Math.sin(E*2.5+g.phase)*.5+g.speedX*P,Z=g.z+Math.cos(E*1.8+g.phase)*.2,O=Math.sin(P*Math.PI)*g.size*(1.2-P*.3);a.current.position.set(te,B,Z),a.current.rotation.set(0,0,Math.sin(E*1.5+k)*.2),a.current.scale.set(O,O*1.3,O),a.current.updateMatrix(),c.current.setMatrixAt(k,a.current.matrix)}),i.current.forEach((g,k)=>{let P=(u-1-k+u)%u,B=Math.sin(g.life*Math.PI)*g.size;a.current.position.set(g.x,g.y,g.z),a.current.rotation.set(0,0,Math.sin(E*3+k)*.3),a.current.scale.set(B,B*1.4,B),a.current.updateMatrix(),c.current.setMatrixAt(P,a.current.matrix)}),c.current.instanceMatrix.needsUpdate=!0),(s==="crystal"||s==="all")&&d.current&&(M.forEach((g,k)=>{let P=g.life,B=g.y+P*3.8,te=g.x+Math.sin(E*2.8+g.phase)*.5+g.speedX*P,Z=g.z+Math.cos(E*2+g.phase)*.3,O=Math.sin(P*Math.PI)*g.size*.6;a.current.position.set(te,B,Z),a.current.rotation.set(E*1.5+k,E*2,k),a.current.scale.set(O,O*2,O),a.current.updateMatrix(),d.current.setMatrixAt(k,a.current.matrix)}),d.current.instanceMatrix.needsUpdate=!0)}),m?we("group",{children:[ne("pointLight",{ref:o,position:[0,-1,1.5],color:p,intensity:2.5,distance:10}),(s==="fluid"||s==="all")&&we("instancedMesh",{ref:c,args:[void 0,void 0,u],children:[ne("planeGeometry",{args:[1.2,1.2]}),ne("meshBasicMaterial",{map:y,color:p,transparent:!0,blending:W.AdditiveBlending,depthWrite:!1,side:W.DoubleSide})]}),(s==="crystal"||s==="all")&&we("instancedMesh",{ref:d,args:[void 0,void 0,u],children:[ne("coneGeometry",{args:[.3,1.2,5]}),ne("meshBasicMaterial",{color:p,transparent:!0,opacity:.65,blending:W.AdditiveBlending,depthWrite:!1})]})]}):null}import{useRef as oe,useMemo as Me,useEffect as or,useCallback as nt}from"react";import{useFrame as ar,useThree as sr}from"@react-three/fiber";import*as j from"three";import{jsx as Ee,jsxs as at}from"react/jsx-runtime";var ot={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function ir(){let t=document.createElement("canvas");t.width=256,t.height=256;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(128,128,0,128,128,128);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.2,"rgba(0, 240, 200, 0.95)"),n.addColorStop(.5,"rgba(0, 200, 140, 0.6)"),n.addColorStop(.8,"rgba(0, 150, 100, 0.2)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,256,256)}let r=new j.CanvasTexture(t);return r.needsUpdate=!0,r}function ue({theme:t="emerald",effectColor:e="#00e676",effectSpeed:r=.5,effectDensity:n=.5,enabled:s=!0}){let{pointer:m}=sr(),f=oe(null),c=oe(null),d=oe(new j.Object3D),o=oe(!1),a=oe([]),l=Math.max(.1,Math.min(1,n)),i=Math.round(60*l),v=Me(()=>ir(),[]),u=Me(()=>{if(!e)return"#00e676";let b=e.toLowerCase().trim();return ot[b]?ot[b]:e},[e]),y=Me(()=>{let b=[],w=1+Math.sqrt(l)*.8;for(let h=0;h<i;h++)b.push({x:(Math.random()-.5)*12,y:(Math.random()-.5)*6,z:(Math.random()-.5)*3,speedY:(Math.random()-.5)*.8,speedX:(Math.random()-.5)*.8,size:(.8+Math.random()*1.2)*w,phase:Math.random()*Math.PI*2,life:Math.random()});return b},[i,l]),p=nt(()=>{o.current=!0},[]),M=nt(()=>{o.current=!1},[]);return or(()=>(window.addEventListener("pointerdown",p),window.addEventListener("pointerup",M),()=>{window.removeEventListener("pointerdown",p),window.removeEventListener("pointerup",M)}),[p,M]),ar((b,w)=>{if(!f.current||!s)return;let h=b.clock.getElapsedTime()*r;if(o.current){let x=m.x*7,E=m.y*4;a.current.length<15&&a.current.push({x:x+(Math.random()-.5)*.5,y:E+(Math.random()-.5)*.5,z:(Math.random()-.5)*1,life:1,size:(1.2+Math.random()*.8)*Math.sqrt(l)})}a.current=a.current.map(x=>(x.life-=w*1.2*r,x)).filter(x=>x.life>0),c.current&&(c.current.intensity=2.5+Math.sin(h*6)*.5),y.forEach((x,E)=>{let g=x.x+Math.sin(h*1.2+x.phase)*1.5,k=x.y+Math.cos(h*.9+x.phase*1.3)*1.2,P=x.z+Math.sin(h*.7+x.phase*.8)*.8,B=x.size*(1+Math.sin(h*2+E)*.25);d.current.position.set(g,k,P),d.current.scale.set(B,B,B),d.current.updateMatrix(),f.current.setMatrixAt(E,d.current.matrix)}),a.current.forEach((x,E)=>{let g=(i-1-E+i)%i,k=Math.sin(x.life*Math.PI)*x.size;d.current.position.set(x.x,x.y,x.z),d.current.scale.set(k,k,k),d.current.updateMatrix(),f.current.setMatrixAt(g,d.current.matrix)}),f.current.instanceMatrix.needsUpdate=!0}),s?at("group",{children:[Ee("pointLight",{ref:c,position:[0,0,2],color:u,intensity:3,distance:12}),at("instancedMesh",{ref:f,args:[void 0,void 0,i],children:[Ee("planeGeometry",{args:[1.8,1.8]}),Ee("meshBasicMaterial",{map:v,color:u,transparent:!0,opacity:.85,blending:j.NormalBlending,depthWrite:!1,side:j.DoubleSide})]})]}):null}import{useState as yr}from"react";var lr={"nav.schedule":"Schedule","nav.experiences":"Experiences","nav.membership":"Membership","nav.login":"Log In","nav.bookTickets":"Book Tickets","hero.genreImax":"IMAX 3D","hero.genreAction":"ACTION / SCI-FI","hero.title":"AVATAR: THE WAY OF WATER","hero.synopsis":"Set more than a decade after the events of the first film, learn the story of the Sully family, the trouble that follows them, the lengths they go to keep each other safe, the battles they fight to stay alive, and the tragedies they endure.","hero.getTickets":"GET TICKETS","hero.watchTrailer":"WATCH TRAILER"};function st(){return t=>lr[t]||t}import{useState as cr}from"react";import{useLocale as mr}from"next-intl";import{Globe as dr}from"lucide-react";import{jsx as fr,jsxs as ur}from"react/jsx-runtime";function Te(){let t="en";try{let s=mr();s&&(t=s)}catch(s){}let[e,r]=cr(t);return ur("button",{onClick:()=>{r(e==="en"?"es":"en")},className:"flex items-center gap-2 text-sm font-medium text-white/70 hover:text-white transition-colors uppercase tracking-wider cursor-pointer",children:[fr(dr,{className:"w-4 h-4"}),e==="en"?"ES":"EN"]})}import*as lt from"react";import{Slot as gr}from"@radix-ui/react-slot";import{cva as br}from"class-variance-authority";import{clsx as pr}from"clsx";import{twMerge as hr}from"tailwind-merge";function it(...t){return hr(pr(t))}import{jsx as vr}from"react/jsx-runtime";var xr=br("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),Q=lt.forwardRef((f,m)=>{var c=f,{className:t,variant:e,size:r,asChild:n=!1}=c,s=ze(c,["className","variant","size","asChild"]);return vr(n?gr:"button",N({className:it(xr({variant:e,size:r,className:t})),ref:m},s))});Q.displayName="Button";import{jsx as R,jsxs as F}from"react/jsx-runtime";function pe({cinemaName:t="NOVA",webTheme:e="neon"}){let r=st(),[n,s]=yr(!1),m=e==="noir"?"bg-slate-900/40 mix-blend-color":e==="crimson"?"bg-red-900/30 mix-blend-color":"bg-blue-900/20 mix-blend-color";return F("div",{className:`min-h-screen bg-black text-white selection:bg-white/30 font-sans transition-colors duration-1000 group theme-${e}`,children:[F("nav",{className:"absolute top-0 left-0 right-0 z-50 flex items-center justify-between px-4 sm:px-8 py-4 sm:py-6 bg-black/40 sm:bg-transparent backdrop-blur-md sm:backdrop-blur-none border-b border-white/10 sm:border-none",children:[F("div",{className:"flex items-center gap-6 lg:gap-12",children:[F("a",{href:"#",className:"text-2xl sm:text-3xl font-bold tracking-tighter uppercase font-display text-white",children:[t,"."]}),F("div",{className:"hidden md:flex items-center gap-6 lg:gap-8 text-sm font-semibold tracking-widest text-white/70",children:[R("a",{href:"#schedule",className:"hover:text-white transition-colors",children:r("nav.schedule")}),R("a",{href:"#experiences",className:"hover:text-white transition-colors",children:r("nav.experiences")}),R("a",{href:"#membership",className:"hover:text-white transition-colors",children:r("nav.membership")})]})]}),F("div",{className:"flex items-center gap-3 sm:gap-6",children:[R(Te,{}),F("div",{className:"hidden sm:flex items-center gap-4",children:[R("a",{href:"#login",className:"text-sm font-semibold tracking-widest text-white/70 hover:text-white transition-colors",children:r("nav.login")}),R(Q,{variant:"outline",className:"rounded-none border-white/40 text-white bg-transparent hover:bg-white hover:text-black transition-colors font-semibold tracking-widest text-xs px-6 py-5 uppercase",children:r("nav.bookTickets")})]}),R("button",{onClick:()=>s(!n),className:"md:hidden p-2 rounded-lg bg-white/10 hover:bg-white/20 text-white text-lg focus:outline-none transition-colors cursor-pointer","aria-label":"Toggle Navigation Menu",children:n?"\u2715":"\u2630"})]})]}),n&&F("div",{className:"fixed inset-0 z-40 bg-black/95 backdrop-blur-2xl md:hidden flex flex-col justify-between p-8 pt-24 animate-fade-in",children:[F("div",{className:"flex flex-col gap-6 text-xl font-bold tracking-wider uppercase font-display",children:[R("a",{href:"#schedule",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.schedule")}),R("a",{href:"#experiences",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.experiences")}),R("a",{href:"#membership",onClick:()=>s(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.membership")}),R("a",{href:"#login",onClick:()=>s(!1),className:"py-2 border-b border-white/10 text-white/70 hover:text-white transition-colors",children:r("nav.login")})]}),R("div",{className:"flex flex-col gap-3 pt-6 border-t border-white/10",children:R(Q,{onClick:()=>s(!1),className:"w-full rounded-none bg-amber-400 text-black hover:bg-amber-300 font-extrabold tracking-widest text-sm py-4 uppercase",children:r("nav.bookTickets")})})]}),F("div",{className:"relative h-screen w-full flex flex-col justify-end pb-28 sm:pb-24 px-4 sm:px-8 md:px-16 overflow-hidden",children:[F("div",{className:"absolute inset-0 z-0",children:[R("div",{className:"absolute inset-0 bg-[url('https://images.unsplash.com/photo-1605810230434-7631ac76ec81?q=80&w=2560&auto=format&fit=crop')] bg-cover bg-center"}),R("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/50 to-transparent z-10"}),R("div",{className:`absolute inset-0 ${m} z-10`})]}),F("div",{className:"relative z-20 max-w-5xl",children:[F("div",{className:"flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6 flex-wrap",children:[R("span",{className:"bg-blue-600 text-white text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreImax")}),R("span",{className:"border border-white/20 text-white/80 text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreAction")})]}),R("h1",{className:"text-4xl sm:text-6xl md:text-7xl lg:text-[8rem] leading-[0.9] sm:leading-[0.85] font-display font-black tracking-tighter mb-4 sm:mb-6 uppercase drop-shadow-2xl",children:r("hero.title")}),R("p",{className:"max-w-2xl text-sm sm:text-lg md:text-xl text-white/70 font-medium mb-6 sm:mb-10 leading-relaxed drop-shadow-md line-clamp-3 sm:line-clamp-none",children:r("hero.synopsis")}),F("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3 sm:gap-4 w-full sm:w-auto",children:[R(Q,{className:"rounded-none bg-white text-black hover:bg-white/90 font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase transition-transform hover:scale-105 active:scale-95 w-full sm:w-auto",children:r("hero.getTickets")}),R(Q,{variant:"outline",className:"rounded-none border-white/30 text-white bg-black/20 backdrop-blur-md hover:bg-white/10 transition-colors font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase w-full sm:w-auto",children:r("hero.watchTrailer")})]})]})]})]})}import{jsx as T,jsxs as he}from"react/jsx-runtime";var ct="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",mt={cinema:ct,helvetiker:ct,gentilis:"https://threejs.org/examples/fonts/gentilis_bold.typeface.json",optimer:"https://threejs.org/examples/fonts/optimer_bold.typeface.json"},dt={rojo:"#3b0712",azul:"#021a38",verde:"#032117",esmeralda:"#032117",dorado:"#1c1503",negro:"#07080c",purpura:"#21032a"},ft={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function Lr(t,e=.85){let n=-(t.length*e)/2+e/2;return t.split("").map((s,m)=>[n+m*e,0,0])}function Nr(t){let e=[];t?Array.isArray(t)?e=t.map(a=>String(a).toLowerCase().trim()):typeof t=="string"&&(e=t.toLowerCase().split(",").map(a=>a.trim())):e=["flames"];let r=e.includes("all")||e.includes("todos")||e.includes("supernova")||e.includes("inferno"),n=r||e.includes("flames")||e.includes("fluid-flames")||e.includes("llamas")||e.includes("llamas-organicas"),s=r||e.includes("fire")||e.includes("crystal-flames")||e.includes("cristales")||e.includes("fuego"),m=r||e.includes("blobs")||e.includes("energy-blobs")||e.includes("plasma-blobs")||e.includes("nubes"),f=r||e.includes("sparks")||e.includes("chispas"),c=r||e.includes("shockwave")||e.includes("wave")||e.includes("onda")||e.includes("onda-3d"),d=r||e.includes("plasma")||e.includes("electric"),o=r||e.includes("embers")||e.includes("ascuas")||n||s||m;return{enableFluidFlames:n,enableCrystalFlames:s,enableBlobs:m,enableSparks:f,enableShockwave:c,enablePlasma:d,enableEmbers:o}}function Ce({containerToDisplay:t,containerSelector:e,effect:r="flames",title:n,backgroundColor:s,effectColor:m,effectSpeed:f=.5,effectDensity:c=.3,autoFitText:d=!0,loaderDuration:o,redirectUrl:a,onComplete:l,fontFamily:i="cinema",fontUrl:v,theme:u="crimson",letterSpacing:y=.85,className:p="",style:M,children:b}){let w=n!=null?n.trim().toUpperCase():"",h=w?w.split(""):[],x=ae(()=>Lr(w,y),[w,y]),[E,g]=ke(!1);Re(()=>{g(!0)},[]);let k=!!(o&&o>0&&(a||l)),[P,B]=ke(0);Re(()=>{if(!k||!o)return;let L=o*1e3,H=50,xe=0,Ae=setInterval(()=>{xe+=H;let wt=Math.min(100,xe/L*100);B(wt),xe>=L&&(clearInterval(Ae),l==null||l(),a&&(window.location.href=a))},H);return()=>clearInterval(Ae)},[k,o,a,l]);let te=ae(()=>{if(v)return v;let L=String(i).toLowerCase().trim();return mt[L]||mt.cinema},[i,v]),[Z,O]=ke(typeof window!="undefined"?window.innerWidth:1200);Re(()=>{let L=()=>O(window.innerWidth);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]);let xt=ae(()=>{if(!d||!h.length)return 1;let L=h.length,H=1;return L<=4?H=1:L<=7?H=.85:L<=10?H=.7:L<=14?H=.55:H=.45,Z<480?H*.55:Z<768?H*.75:H},[d,h.length,Z]),Pe=ae(()=>{if(!s)return ft[u]||ft.gold;let L=s.toLowerCase().trim();return dt[L]?dt[L]:(s.startsWith("#")||s.startsWith("rgb")||s.includes("gradient"),s)},[s,u]),z=ae(()=>Nr(r),[r]),vt=z.enableFluidFlames&&z.enableCrystalFlames?"all":z.enableCrystalFlames?"crystal":"fluid",yt=z.enableFluidFlames||z.enableCrystalFlames,He=e||(typeof t=="string"?t:void 0),ie=()=>He==="lhome"||He==="home"||t==="lhome"||t==="home"?T(pe,{cinemaName:w||"NOVA",webTheme:u}):typeof t=="string"&&t!=="lhome"&&t!=="home"?he("div",{className:"text-center text-white p-8 bg-black/40 backdrop-blur-md rounded-2xl border border-white/10",children:[T("h2",{className:"text-3xl font-bold tracking-widest uppercase mb-2",children:t}),T("p",{className:"text-sm text-white/60",children:"3D Interactive WebGL Background"})]}):t&&typeof t!="string"?t:b;return E?he("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none ${p}`,style:N({background:Pe},M),children:[k&&T("div",{className:"absolute top-0 left-0 right-0 z-30 h-1 bg-white/10 pointer-events-none",children:T("div",{className:"h-full bg-gradient-to-r from-amber-400 via-rose-500 to-cyan-400 transition-all duration-75",style:{width:`${P}%`}})}),T("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:T(Mr,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:he(wr,{fallback:null,children:[T(Er,{preset:"studio"}),T("ambientLight",{intensity:.3}),T("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),T("pointLight",{position:[-5,-3,-5],intensity:.6,color:u==="emerald"?"#10b981":u==="crimson"?"#ff1744":u==="neon"?"#00ffff":"#FFD700"}),T(Y,{phase:k?"entering":"idle",effectSpeed:f}),T(fe,{enabled:yt,theme:u,effectColor:m,effectSpeed:f,effectDensity:c,mode:vt}),T(ue,{enabled:z.enableBlobs,theme:u,effectColor:m,effectSpeed:f,effectDensity:c}),T(V,{enabled:z.enableSparks,theme:u,effectColor:m,effectSpeed:f}),T($,{enabled:z.enableShockwave,theme:u,effectColor:m,effectSpeed:f}),T(G,{enabled:z.enablePlasma,theme:u,effectColor:m,effectSpeed:f}),h.length>0&&T(Tr,{disableY:!0,disableZ:!0,children:T("group",{scale:xt,children:h.map((L,H)=>T(X,{char:L,index:H,totalLetters:h.length,position:x[H],phase:k?"entering":"idle",theme:u,fontUrl:te},`${L}-${H}`))})}),T(U,{theme:u,effectColor:m,effectSpeed:f,visible:z.enableEmbers}),he(kr,{children:[T(Rr,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:u==="neon"||u==="crimson"?1.4:.9,mipmapBlur:!0}),T(Cr,{offset:.3,darkness:.85}),T(Sr,{opacity:.025})]})]})})}),ie()&&T("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:T("div",{className:"pointer-events-auto w-full h-full",children:ie()})})]}):T("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none bg-black ${p}`,style:N({background:Pe},M),children:ie()&&T("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:T("div",{className:"pointer-events-auto w-full h-full",children:ie()})})})}import{Suspense as Pr,useMemo as Hr,useState as Se,useEffect as Ar}from"react";import{Canvas as Fr}from"@react-three/fiber";import{Environment as Br,Center as Ir}from"@react-three/drei";import{EffectComposer as zr,Bloom as _r,Vignette as Or,Noise as Dr}from"@react-three/postprocessing";import{jsx as S,jsxs as Le}from"react/jsx-runtime";var ut={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},Wr="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json";function Xr(t){let n=-(t.length*.65)/2;return t.split("").map((s,m)=>[n+m*.65,0,0])}function ge({text:t="CINEMA",theme:e="emerald",customBackground:r,interactiveSparks:n=!0,interactiveShockwave:s=!0,interactivePlasma:m=!0,showParticles:f=!0,enableBloom:c=!0,className:d="",style:o,children:a}){let[l,i]=Se(!1),[v]=Se(t),[u]=Se(e);Ar(()=>{i(!0)},[]);let y=(v||t||"CINEMA").toUpperCase(),p=y.split(""),M=Hr(()=>Xr(y),[y]),b=u||e||"emerald",w=r||ut[b]||ut.emerald;return l?Le("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none ${d}`,style:N({background:w},o),children:[S("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:S(Fr,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:Le(Pr,{fallback:null,children:[S(Br,{preset:"studio"}),S("ambientLight",{intensity:.3}),S("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),S("pointLight",{position:[-5,-3,-5],intensity:.6,color:b==="emerald"?"#10b981":b==="crimson"?"#ff1744":b==="neon"?"#00ffff":"#FFD700"}),S(Y,{phase:"idle"}),S(V,{enabled:n,theme:b}),S($,{enabled:s,theme:b}),S(G,{enabled:m,theme:b}),S(Ir,{disableY:!0,disableZ:!0,children:S("group",{children:p.map((h,x)=>S(X,{char:h,index:x,totalLetters:p.length,position:M[x],phase:"idle",theme:b,fontUrl:Wr},`${h}-${x}`))})}),f&&S(U,{theme:b,visible:!0}),Le(zr,{children:[S(_r,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:c?.9:0,mipmapBlur:!0}),S(Or,{offset:.3,darkness:.85}),S(Dr,{opacity:.025})]})]})})}),a&&S("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})]}):S("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none bg-black ${d}`,style:N({background:w},o),children:a&&S("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})})}import{jsx as pt}from"react/jsx-runtime";function Ur(t,e={}){let r=n=>pt(ge,D(N({},e),{children:pt(t,N({},n))}));return r.displayName=`WithCinema3D(${t.displayName||t.name||"Component"})`,r}import{Suspense as Vr,useState as se,useEffect as ht,useCallback as $r,useMemo as Gr}from"react";import{Canvas as jr}from"@react-three/fiber";import{Environment as Zr,Center as qr}from"@react-three/drei";import{EffectComposer as Kr,Bloom as Jr,Vignette as Qr,Noise as en}from"@react-three/postprocessing";import{jsx as A,jsxs as ee}from"react/jsx-runtime";var Yr=[{key:"gold",label:"Gold",color:"#FFD700"},{key:"neon",label:"Neon",color:"#00ffff"},{key:"emerald",label:"Emerald",color:"#10b981"},{key:"crimson",label:"Crimson",color:"#ff1744"},{key:"obsidian",label:"Obsidian",color:"#a855f7"},{key:"glass",label:"Glass",color:"#ffffff"}];function be({phase:t,cinemaName:e,theme:r,effects:n,onTitleChange:s,onThemeChange:m,onToggleEffect:f}){return ee("div",{className:"absolute inset-0 pointer-events-none z-10 flex flex-col items-center justify-between p-6 md:p-10",style:{opacity:t==="exiting"?0:1,transition:"opacity 0.8s ease-out"},children:[ee("div",{className:"w-full max-w-xl flex flex-col items-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transform:t==="idle"||t==="entering"?"translateY(0)":"translateY(-20px)",transition:"all 1s ease-out 0.3s"},children:[A("label",{className:"text-[10px] tracking-[0.3em] uppercase text-white/50 font-bold",children:"Live 3D Title Control"}),A("div",{className:"relative w-full",children:A("input",{type:"text",value:e,onChange:o=>s(o.target.value),maxLength:18,placeholder:"Type any title...",className:"w-full px-6 py-3 rounded-full text-center text-sm md:text-base font-bold tracking-widest uppercase outline-none transition-all duration-300",style:{background:"rgba(255, 255, 255, 0.08)",backdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.2)",color:"#ffffff",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.37)"}})})]}),t==="loading"&&A("div",{className:"absolute inset-0 flex items-center justify-center",children:A("div",{className:"w-16 h-16 rounded-full border-2 animate-spin",style:{borderColor:"transparent",borderTopColor:"rgba(255, 215, 0, 0.8)",borderRightColor:"rgba(255, 215, 0, 0.3)"}})}),ee("div",{className:"w-full max-w-3xl flex flex-col items-center gap-5",children:[ee("div",{className:"flex flex-wrap items-center justify-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 0.8s"},children:[A("span",{className:"text-[9px] uppercase tracking-[0.25em] text-white/40 mr-2 font-bold",children:"Effects"}),A("button",{onClick:()=>f("sparks"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.sparks?"bg-amber-500/30 text-amber-200 border-amber-400/60 shadow-[0_0_15px_rgba(245,158,11,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F525} Sparks"}),A("button",{onClick:()=>f("shockwave"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.shockwave?"bg-cyan-500/30 text-cyan-200 border-cyan-400/60 shadow-[0_0_15px_rgba(6,182,212,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F30A} Wave"}),A("button",{onClick:()=>f("plasma"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.plasma?"bg-purple-500/30 text-purple-200 border-purple-400/60 shadow-[0_0_15px_rgba(168,85,247,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u26A1 Plasma"}),A("button",{onClick:()=>f("embers"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.embers?"bg-emerald-500/30 text-emerald-200 border-emerald-400/60 shadow-[0_0_15px_rgba(16,185,129,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u2728 Embers"})]}),ee("div",{className:"flex items-center gap-3 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 1.2s"},children:[A("span",{className:"text-[10px] uppercase tracking-[0.3em] text-white/40 mr-2 font-bold",children:"Theme"}),A("div",{className:"flex items-center gap-2 md:gap-3",children:Yr.map(o=>{let a=r===o.key;return ee("button",{onClick:()=>m(o.key),className:"group relative flex flex-col items-center gap-1.5 cursor-pointer outline-none","aria-label":`Switch to ${o.label} theme`,children:[A("div",{className:"relative w-11 h-7 md:w-14 md:h-9 rounded-md overflow-hidden transition-all duration-300",style:{border:a?`2px solid ${o.color}`:"1px solid rgba(255, 255, 255, 0.15)",transform:a?"scale(1.1) translateY(-2px)":"scale(1) translateY(0)",boxShadow:a?`0 4px 20px ${o.color}60`:"0 2px 10px rgba(0,0,0,0.5)"},children:A("div",{className:"absolute inset-0 opacity-80",style:{backgroundColor:o.color}})}),A("span",{className:"text-[9px] uppercase tracking-widest font-semibold transition-colors duration-300",style:{color:a?"#ffffff":"rgba(255, 255, 255, 0.4)"},children:o.label})]},o.key)})})]})]})]})}import{jsx as C,jsxs as Ne}from"react/jsx-runtime";var tn="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",gt={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function rn(t){let n=-(t.length*.65)/2;return t.split("").map((s,m)=>[n+m*.65,0,0])}function bt({cinemaName:t="CINEMULTIPLEX",defaultTheme:e="emerald",customBackground:r,onEnterCinema:n}){let[s,m]=se(!1),[f,c]=se("loading"),[d,o]=se(e),[a,l]=se(t),[i,v]=se({sparks:!0,shockwave:!0,plasma:!0,embers:!0});ht(()=>{m(!0)},[]);let u=(a||"CINEMA").toUpperCase(),y=u.split(""),p=Gr(()=>rn(u),[u]);ht(()=>{let w=setTimeout(()=>c("entering"),800),h=y.length*120+1500,x=setTimeout(()=>c("idle"),800+h);return()=>{clearTimeout(w),clearTimeout(x)}},[y.length]);let M=$r(w=>{v(h=>D(N({},h),{[w]:!h[w]}))},[]),b=r||gt[d]||gt.emerald;return s?Ne("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden",style:{background:b},children:[C(jr,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:Ne(Vr,{fallback:null,children:[C(Zr,{preset:"studio"}),C("ambientLight",{intensity:.3}),C("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),C("pointLight",{position:[-5,-3,-5],intensity:.6,color:d==="emerald"?"#10b981":d==="crimson"?"#ff1744":d==="neon"?"#00ffff":"#FFD700"}),C("spotLight",{position:[0,10,0],angle:.4,penumbra:.8,intensity:.9,color:"#ffffff"}),C("pointLight",{position:[0,0,-5],intensity:.4,color:"#ffffff"}),C(Y,{phase:f}),i.sparks&&C(V,{theme:d}),C($,{theme:d,enabled:i.shockwave}),C(G,{theme:d,enabled:i.plasma}),C(qr,{disableY:!0,disableZ:!0,children:C("group",{children:y.map((w,h)=>C(X,{char:w,index:h,totalLetters:y.length,position:p[h],phase:f,theme:d,fontUrl:tn},`${w}-${h}`))})}),C(U,{theme:d,visible:f!=="loading"&&i.embers}),Ne(Kr,{children:[C(Jr,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:d==="neon"||d==="emerald"||d==="crimson"?1.4:.7,mipmapBlur:!0}),C(Qr,{offset:.3,darkness:.85}),C(en,{opacity:.025})]})]})}),C(be,{phase:f,cinemaName:a,theme:d,effects:i,onTitleChange:l,onThemeChange:o,onToggleEffect:M})]}):C("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden bg-black flex items-center justify-center",style:{background:b},children:C("div",{className:"w-16 h-16 rounded-full border-2 animate-spin border-t-amber-400 border-r-amber-400/30 border-b-transparent border-l-transparent"})})}export{Ce as AnimatedBackground,X as AnimatedLetter,Y as CameraRig,ge as CinemaBackground,pe as CinemaHome,bt as CinemaLoader,V as ClickFireSparks,$ as ClickShockwave,G as ElectricPlasma,fe as FireFlames,be as LoaderOverlay,ue as PlasmaBlobs,U as SceneParticles,Ce as default,Ur as withCinema3D};
|
|
3
|
+
var kt=Object.defineProperty,Rt=Object.defineProperties;var Ct=Object.getOwnPropertyDescriptors;var le=Object.getOwnPropertySymbols;var Ie=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable;var Be=(t,e,r)=>e in t?kt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,P=(t,e)=>{for(var r in e||(e={}))Ie.call(e,r)&&Be(t,r,e[r]);if(le)for(var r of le(e))ze.call(e,r)&&Be(t,r,e[r]);return t},D=(t,e)=>Rt(t,Ct(e));var _e=(t,e)=>{var r={};for(var n in t)Ie.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&le)for(var n of le(t))e.indexOf(n)<0&&ze.call(t,n)&&(r[n]=t[n]);return r};import{Suspense as Er,useMemo as ae,useState as Re,useEffect as Ce}from"react";import{Canvas as Tr}from"@react-three/fiber";import{Environment as kr,Center as Rr}from"@react-three/drei";import{EffectComposer as Cr,Bloom as Sr,Vignette as Nr,Noise as Lr}from"@react-three/postprocessing";import{useRef as Oe,useMemo as ve}from"react";import{useFrame as St}from"@react-three/fiber";import{Text3D as Nt}from"@react-three/drei";import*as q from"three";import{jsx as De,jsxs as Ht}from"react/jsx-runtime";var Lt={gold:{color:"#FFD700",metalness:1,roughness:.15,clearcoat:1,emissive:"#1a0f00",emissiveIntensity:.3,envMapIntensity:2},neon:{color:"#00ffff",metalness:0,roughness:1,clearcoat:0,emissive:"#00ffff",emissiveIntensity:2.5,envMapIntensity:.5},emerald:{color:"#10b981",metalness:.9,roughness:.1,clearcoat:1,emissive:"#065f46",emissiveIntensity:1.2,envMapIntensity:2.5},crimson:{color:"#ff1744",metalness:.8,roughness:.15,clearcoat:1,emissive:"#880e4f",emissiveIntensity:1.8,envMapIntensity:2},obsidian:{color:"#1a1a2e",metalness:1,roughness:.05,clearcoat:1,emissive:"#0a0a1a",emissiveIntensity:.1,envMapIntensity:3},glass:{color:"#ffffff",metalness:0,roughness:0,clearcoat:0,emissive:"#000000",emissiveIntensity:0,envMapIntensity:1.5,transmission:.95,ior:1.5,thickness:.5,transparent:!0}},Pt={blanco:"#ffffff",dorado:"#FFD700",rojo:"#ff1744",azul:"#00ffff",verde:"#10b981",magenta:"#ff007f",morado:"#a855f7",plata:"#e2e8f0",negro:"#111827"};function X({char:t,index:e,totalLetters:r,position:n,phase:i,theme:d,textColor:m,fontUrl:f}){let l=Oe(null),c=Oe(null),a=ve(()=>{let x=e/r*Math.PI*2;return{x:Math.cos(x)*4+(Math.random()-.5)*2,y:-3+Math.random()*-3,z:-5+Math.random()*-3,rotX:(Math.random()-.5)*Math.PI*2,rotY:(Math.random()-.5)*Math.PI*2}},[e,r]),o=Lt[d],s=ve(()=>{if(!m)return o.color;let x=m.toLowerCase().trim();return Pt[x]||m},[m,o.color]),w=ve(()=>m?s:o.emissive,[m,s,o.emissive]);return St(x=>{if(!l.current)return;let h=x.clock.getElapsedTime();c.current===null&&(c.current=h);let y=h-c.current,T=e*.12;if(i==="loading"){l.current.position.set(n[0]+a.x,n[1]+a.y,n[2]+a.z),l.current.rotation.set(a.rotX,a.rotY,0),l.current.scale.setScalar(0);return}if(i==="entering"){let p=Math.max(0,y-T),v=1-Math.exp(-p*3),u=1+Math.sin(p*8)*Math.max(0,.15-p*.1);l.current.position.set(q.MathUtils.lerp(n[0]+a.x,n[0],v),q.MathUtils.lerp(n[1]+a.y,n[1],v),q.MathUtils.lerp(n[2]+a.z,n[2],v)),l.current.rotation.set(q.MathUtils.lerp(a.rotX,0,v),q.MathUtils.lerp(a.rotY,0,v),0),l.current.scale.setScalar(Math.min(v*u,1.05));return}if(i==="idle"){let p=Math.sin(h*1.2+e*.5)*.015,v=Math.sin(h*.8+e*.3)*.008;l.current.position.set(n[0]+v,n[1]+p,n[2]),l.current.rotation.set(Math.sin(h*.5+e)*.01,Math.sin(h*.3+e*.7)*.01,0),l.current.scale.setScalar(1);return}if(i==="exiting"){let p=Math.max(0,y-T*.5),v=Math.min(p*2,1),u=v*v;l.current.position.set(n[0]+a.x*u*.5,n[1],n[2]-u*8),l.current.scale.setScalar(Math.max(1-u,0)),l.current.rotation.y+=.05}}),t===" "?null:De("group",{ref:l,position:n,children:Ht(Nt,{font:f,size:.8,height:.35,bevelEnabled:!0,bevelSize:.02,bevelThickness:.01,bevelSegments:3,curveSegments:12,children:[t,De("meshPhysicalMaterial",{color:s,metalness:o.metalness,roughness:o.roughness,clearcoat:o.clearcoat,emissive:w,emissiveIntensity:m?.6:o.emissiveIntensity,envMapIntensity:o.envMapIntensity,transmission:o.transmission,ior:o.ior,thickness:o.thickness,transparent:o.transparent,toneMapped:d!=="neon"})]})})}import{useRef as ce,useMemo as At}from"react";import{useFrame as Ft}from"@react-three/fiber";import{Sparkles as We}from"@react-three/drei";import*as je from"three";import{jsx as re,jsxs as Ye}from"react/jsx-runtime";var Xe={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},Ue={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Bt({color:t,speedMultiplier:e=.5,count:r=60}){let n=ce(null),i=ce(new je.Object3D),d=ce(null),m=ce(null);if(!d.current){d.current=new Float32Array(r),m.current=new Float32Array(r*3);for(let f=0;f<r;f++)d.current[f]=.1+Math.random()*.3,m.current[f*3]=(Math.random()-.5)*16,m.current[f*3+1]=(Math.random()-.5)*10,m.current[f*3+2]=(Math.random()-.5)*12}return Ft(f=>{if(!n.current||!d.current||!m.current)return;let l=f.clock.getElapsedTime()*e;for(let c=0;c<r;c++){let a=d.current[c],o=m.current[c*3],s=m.current[c*3+1],w=m.current[c*3+2];i.current.position.set(o+Math.sin(l*a+c)*2,s+Math.cos(l*a*.7+c*.5)*1.5,w+Math.sin(l*a*.5+c*.3)*2),i.current.scale.setScalar(.015+Math.sin(l+c)*.005),i.current.updateMatrix(),n.current.setMatrixAt(c,i.current.matrix)}n.current.instanceMatrix.needsUpdate=!0}),Ye("instancedMesh",{ref:n,args:[void 0,void 0,r],children:[re("sphereGeometry",{args:[1,6,6]}),re("meshBasicMaterial",{color:t,transparent:!0,opacity:.3,toneMapped:!1})]})}function U({theme:t,effectColor:e,effectSpeed:r=.5,visible:n}){let i=At(()=>{if(!e)return Xe[t]||Xe.gold;let d=e.toLowerCase().trim();return Ue[d]?Ue[d]:e},[e,t]);return n?Ye("group",{children:[re(We,{count:150,scale:10,size:4,speed:.3*r,opacity:.8,color:i,noise:.6}),re(We,{count:80,scale:16,size:2,speed:.15*r,opacity:.4,color:"#ffffff",noise:.8}),re(Bt,{color:i,speedMultiplier:r,count:50})]}):null}import{useRef as Ve}from"react";import{useFrame as It,useThree as zt}from"@react-three/fiber";import*as Z from"three";function j({phase:t,effectSpeed:e=.5}){let{camera:r,pointer:n}=zt(),i=Ve(null),d=Ve(t);return d.current!==t&&(d.current=t,i.current=null),It(m=>{let f=m.clock.getElapsedTime()*e;i.current===null&&(i.current=f);let l=f-i.current;if(t==="loading"){r.position.set(0,0,14),r.lookAt(0,0,0);return}if(t==="entering"){let o=Math.min(l/3,1),s=1-Math.pow(1-o,3),w=Z.MathUtils.lerp(14,6,s),x=Z.MathUtils.lerp(1,.2,s);r.position.set(0,x,w),r.lookAt(0,0,0);return}let c=m.viewport.width/(m.viewport.height||1),a=c<1?Math.max(6,6/Math.max(.45,c*.85)):6;if(t==="idle"){let o=Math.sin(f*.1)*.2,s=Math.cos(f*.08)*.1+.2,w=n.x*.2,x=n.y*.1;r.position.x=Z.MathUtils.damp(r.position.x,o+w,3,.016),r.position.y=Z.MathUtils.damp(r.position.y,s+x,3,.016),r.position.z=Z.MathUtils.damp(r.position.z,a,3,.016),r.lookAt(0,0,0);return}if(t==="exiting"){let o=Math.min(l/1.5,1),s=o*o*o,w=Z.MathUtils.lerp(6,-8,s);r.position.set(0,0,w),r.lookAt(0,0,0)}}),null}import{useState as _t,useRef as Ot,useCallback as Dt,useEffect as Wt,useMemo as Xt}from"react";import{useFrame as Ut,useThree as jt}from"@react-three/fiber";import*as O from"three";import{jsx as me,jsxs as $e}from"react/jsx-runtime";var Ge={gold:["#FFD700","#FF8C00","#FF4500","#FFF8DC"],neon:["#00ffff","#0088ff","#ff00ff","#ffffff"],emerald:["#00ff88","#10b981","#059669","#a7f3d0"],crimson:["#ff1744","#d50000","#ff5252","#ffb74d"],obsidian:["#a855f7","#6366f1","#3b82f6","#ffffff"],glass:["#ffffff","#e0e7ff","#93c5fd","#60a5fa"]},Yt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function Y({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:i,raycaster:d}=jt(),[m,f]=_t([]),l=Ot(0),c=Xt(()=>{if(!e)return Ge[t]||Ge.gold;let o=e.toLowerCase().trim(),s=Yt[o]||e;return[s,"#ffffff",s]},[e,t]),a=Dt(o=>{if(!n)return;let s=0,w=0;if("touches"in o&&o.touches.length>0)s=o.touches[0].clientX,w=o.touches[0].clientY;else if("clientX"in o)s=o.clientX,w=o.clientY;else return;let x=new O.Vector2(s/window.innerWidth*2-1,-(w/window.innerHeight)*2+1);d.setFromCamera(x,i);let h=new O.Plane(new O.Vector3(0,0,1),0),y=new O.Vector3;if(d.ray.intersectPlane(h,y),!y)return;let T=35,p=[];for(let u=0;u<T;u++){let b=Math.random()*Math.PI*2,M=(1.5+Math.random()*4.5)*r,g=(Math.random()-.3)*3*r,k=new O.Vector3(Math.cos(b)*M,Math.sin(b)*M+g,(Math.random()-.5)*M*.8),S=c[Math.floor(Math.random()*c.length)];p.push({id:u,position:y.clone(),velocity:k,color:new O.Color(S),size:.08+Math.random()*.12,life:1,maxLife:(.6+Math.random()*.8)/Math.max(.2,r)})}let v={id:l.current++,origin:y.clone(),sparks:p,color:c[0],lightIntensity:4,time:0};f(u=>[...u.slice(-4),v])},[i,d,c,r,n]);return Wt(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),Ut((o,s)=>{m.length!==0&&f(w=>w.map(x=>{let h=x.time+s*r,y=Math.max(0,x.lightIntensity-s*8*r),T=x.sparks.map(p=>{let v=p.life-s*r/p.maxLife;if(v<=0)return null;let u=p.position.clone().addScaledVector(p.velocity,s*r);return p.velocity.y-=s*3.5*r,p.velocity.multiplyScalar(.96),D(P({},p),{position:u,life:v})}).filter(Boolean);return T.length===0&&y<=0?null:D(P({},x),{time:h,lightIntensity:y,sparks:T})}).filter(Boolean))}),me("group",{children:m.map(o=>$e("group",{children:[o.lightIntensity>.05&&me("pointLight",{position:o.origin,intensity:o.lightIntensity*3,distance:6,color:o.color}),o.sparks.map(s=>$e("mesh",{position:s.position,children:[me("sphereGeometry",{args:[s.size*s.life,6,6]}),me("meshBasicMaterial",{color:s.color,transparent:!0,opacity:s.life,toneMapped:!1})]},s.id))]},o.id))})}import{useState as Vt,useRef as Gt,useCallback as $t,useEffect as Zt,useMemo as qt}from"react";import{useFrame as Kt,useThree as Qt}from"@react-three/fiber";import*as z from"three";import{jsx as ye,jsxs as Jt}from"react/jsx-runtime";var Ze={gold:"#FFD700",neon:"#00ffff",emerald:"#10b981",crimson:"#ff1744",obsidian:"#a855f7",glass:"#ffffff"},qe={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function V({theme:t="gold",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{camera:i,raycaster:d}=Qt(),[m,f]=Vt([]),l=Gt(0),c=qt(()=>{if(!e)return Ze[t]||Ze.gold;let o=e.toLowerCase().trim();return qe[o]?qe[o]:e},[e,t]),a=$t(o=>{if(!n)return;let s=0,w=0;if("touches"in o&&o.touches.length>0)s=o.touches[0].clientX,w=o.touches[0].clientY;else if("clientX"in o)s=o.clientX,w=o.clientY;else return;let x=new z.Vector2(s/window.innerWidth*2-1,-(w/window.innerHeight)*2+1);d.setFromCamera(x,i);let h=new z.Plane(new z.Vector3(0,0,1),0),y=new z.Vector3;if(d.ray.intersectPlane(h,y),!y)return;let T={id:l.current++,origin:y.clone(),radius:.1,maxRadius:3.5,life:1,color:new z.Color(c)};f(p=>[...p.slice(-4),T])},[i,d,c,n]);return Zt(()=>(window.addEventListener("pointerdown",a),()=>{window.removeEventListener("pointerdown",a)}),[a]),Kt((o,s)=>{m.length!==0&&f(w=>w.map(x=>{let h=x.life-s*1.8*r;if(h<=0)return null;let y=x.radius+s*5*r;return D(P({},x),{life:h,radius:y})}).filter(Boolean))}),n?ye("group",{children:m.map(o=>Jt("mesh",{position:o.origin,rotation:[0,0,0],children:[ye("ringGeometry",{args:[o.radius*.9,o.radius,48]}),ye("meshBasicMaterial",{color:o.color,transparent:!0,opacity:o.life*.75,side:z.DoubleSide,toneMapped:!1})]},o.id))}):null}import{useRef as er,useMemo as Ke}from"react";import{useFrame as tr,useThree as rr}from"@react-three/fiber";import*as de from"three";import{jsx as et}from"react/jsx-runtime";var Qe={gold:"#ffaa00",neon:"#00ffff",emerald:"#00ffaa",crimson:"#ff0055",obsidian:"#9900ff",glass:"#88ccff"},Je={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function G({theme:t="neon",effectColor:e,effectSpeed:r=.5,enabled:n=!0}){let{pointer:i}=rr(),d=er(null),m=Ke(()=>{if(!e)return Qe[t]||Qe.neon;let c=e.toLowerCase().trim();return Je[c]?Je[c]:e},[e,t]),f=30,l=Ke(()=>{let c=new de.BufferGeometry,a=new Float32Array(f*2*3);return c.setAttribute("position",new de.BufferAttribute(a,3)),c},[f]);return tr(c=>{if(!d.current||!n)return;let a=c.clock.getElapsedTime()*r,o=d.current.geometry.attributes.position,s=o.array,w=i.x*6,x=i.y*3;for(let h=0;h<f;h++){let y=h*6,T=h/f*Math.PI*2+a*1.5,p=2.5+Math.sin(a*3+h)*.5,v=Math.cos(T)*p,u=Math.sin(T)*p,b=(Math.random()-.5)*1.5,M=v+(w-v)*.3+(Math.random()-.5)*.8,g=u+(x-u)*.3+(Math.random()-.5)*.8,k=b+(Math.random()-.5)*.8;s[y]=v,s[y+1]=u,s[y+2]=b,s[y+3]=M,s[y+4]=g,s[y+5]=k}o.needsUpdate=!0}),n?et("lineSegments",{ref:d,geometry:l,children:et("lineBasicMaterial",{color:m,transparent:!0,opacity:.75,linewidth:2,toneMapped:!1})}):null}import{useRef as K,useMemo as we,useEffect as nr,useCallback as tt}from"react";import{useFrame as or,useThree as ar}from"@react-three/fiber";import*as W from"three";import{jsx as ne,jsxs as Me}from"react/jsx-runtime";var rt={crimson:{color1:"#ff3d00",color2:"#ff9100",light:"#ff1744"},gold:{color1:"#ffb300",color2:"#ffe082",light:"#FFD700"},emerald:{color1:"#00e676",color2:"#a7f3d0",light:"#10b981"},neon:{color1:"#00e5ff",color2:"#80d8ff",light:"#00ffff"},obsidian:{color1:"#d500f9",color2:"#ea80fc",light:"#a855f7"},glass:{color1:"#80d8ff",color2:"#ffffff",light:"#60a5fa"}},nt={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function sr(){let t=document.createElement("canvas");t.width=128,t.height=128;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(64,64,0,64,64,64);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.3,"rgba(255, 255, 255, 0.9)"),n.addColorStop(.65,"rgba(255, 255, 255, 0.35)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,128,128)}let r=new W.CanvasTexture(t);return r.needsUpdate=!0,r}function fe({theme:t="crimson",effectColor:e,effectSpeed:r=.5,effectDensity:n=.3,mode:i="fluid",enabled:d=!0}){let{pointer:m}=ar(),f=K(null),l=K(null),c=K(null),a=K(new W.Object3D),o=K(!1),s=K([]),w=Math.max(.1,Math.min(1,n)),x=Math.round(110*w),h=we(()=>sr(),[]),y=we(()=>{if(!e)return(rt[t]||rt.crimson).color1;let u=e.toLowerCase().trim();return nt[u]?nt[u]:e},[e,t]),T=we(()=>{let u=[],b=.4+Math.sqrt(w)*.55;for(let M=0;M<x;M++)u.push({x:(Math.random()-.5)*10,y:-2+Math.random()*.4,z:(Math.random()-.5)*2-.5,speedY:.8+Math.random()*1.8,speedX:(Math.random()-.5)*.5,size:(.4+Math.random()*.6)*b,phase:Math.random()*Math.PI*2,life:Math.random()});return u},[x,w]),p=tt(()=>{o.current=!0},[]),v=tt(()=>{o.current=!1},[]);return nr(()=>(window.addEventListener("pointerdown",p),window.addEventListener("pointerup",v),()=>{window.removeEventListener("pointerdown",p),window.removeEventListener("pointerup",v)}),[p,v]),or((u,b)=>{if(!d)return;let M=u.clock.getElapsedTime()*r;if(o.current){let g=m.x*7,k=m.y*4;s.current.length<25&&s.current.push({x:g+(Math.random()-.5)*.8,y:k+(Math.random()-.5)*.8,z:(Math.random()-.5)*1.5,life:1,size:(.5+Math.random()*.6)*Math.sqrt(w)})}s.current=s.current.map(g=>(g.life-=b*1.8*r,g.y+=b*1.2*r,g)).filter(g=>g.life>0),c.current&&(c.current.intensity=2.2+Math.sin(M*10)*.6+Math.cos(M*15)*.3,c.current.position.y=-1+Math.sin(M*3)*.2),(i==="fluid"||i==="all")&&f.current&&(T.forEach((g,k)=>{g.life+=b*g.speedY*.35*r,g.life>1&&(g.life=0,g.x=(Math.random()-.5)*10,g.y=-2+Math.random()*.4);let S=g.life,B=g.y+S*3.8,ee=g.x+Math.sin(M*2.5+g.phase)*.5+g.speedX*S,te=g.z+Math.cos(M*1.8+g.phase)*.2,I=Math.sin(S*Math.PI)*g.size*(1.2-S*.3);a.current.position.set(ee,B,te),a.current.rotation.set(0,0,Math.sin(M*1.5+k)*.2),a.current.scale.set(I,I*1.3,I),a.current.updateMatrix(),f.current.setMatrixAt(k,a.current.matrix)}),s.current.forEach((g,k)=>{let S=(x-1-k+x)%x,B=Math.sin(g.life*Math.PI)*g.size;a.current.position.set(g.x,g.y,g.z),a.current.rotation.set(0,0,Math.sin(M*3+k)*.3),a.current.scale.set(B,B*1.4,B),a.current.updateMatrix(),f.current.setMatrixAt(S,a.current.matrix)}),f.current.instanceMatrix.needsUpdate=!0),(i==="crystal"||i==="all")&&l.current&&(T.forEach((g,k)=>{let S=g.life,B=g.y+S*3.8,ee=g.x+Math.sin(M*2.8+g.phase)*.5+g.speedX*S,te=g.z+Math.cos(M*2+g.phase)*.3,I=Math.sin(S*Math.PI)*g.size*.6;a.current.position.set(ee,B,te),a.current.rotation.set(M*1.5+k,M*2,k),a.current.scale.set(I,I*2,I),a.current.updateMatrix(),l.current.setMatrixAt(k,a.current.matrix)}),l.current.instanceMatrix.needsUpdate=!0)}),d?Me("group",{children:[ne("pointLight",{ref:c,position:[0,-1,1.5],color:y,intensity:2.5,distance:10}),(i==="fluid"||i==="all")&&Me("instancedMesh",{ref:f,args:[void 0,void 0,x],children:[ne("planeGeometry",{args:[1.2,1.2]}),ne("meshBasicMaterial",{map:h,color:y,transparent:!0,blending:W.AdditiveBlending,depthWrite:!1,side:W.DoubleSide})]}),(i==="crystal"||i==="all")&&Me("instancedMesh",{ref:l,args:[void 0,void 0,x],children:[ne("coneGeometry",{args:[.3,1.2,5]}),ne("meshBasicMaterial",{color:y,transparent:!0,opacity:.65,blending:W.AdditiveBlending,depthWrite:!1})]})]}):null}import{useRef as oe,useMemo as Ee,useEffect as ir,useCallback as ot}from"react";import{useFrame as lr,useThree as cr}from"@react-three/fiber";import*as $ from"three";import{jsx as Te,jsxs as st}from"react/jsx-runtime";var at={azul:"#00e5ff",verde:"#00e676",rojo:"#ff3d00",dorado:"#ffb300",purpura:"#d500f9",magenta:"#ff007f",esmeralda:"#10b981"};function mr(){let t=document.createElement("canvas");t.width=256,t.height=256;let e=t.getContext("2d");if(e){let n=e.createRadialGradient(128,128,0,128,128,128);n.addColorStop(0,"rgba(255, 255, 255, 1)"),n.addColorStop(.2,"rgba(0, 240, 200, 0.95)"),n.addColorStop(.5,"rgba(0, 200, 140, 0.6)"),n.addColorStop(.8,"rgba(0, 150, 100, 0.2)"),n.addColorStop(1,"rgba(0, 0, 0, 0)"),e.fillStyle=n,e.fillRect(0,0,256,256)}let r=new $.CanvasTexture(t);return r.needsUpdate=!0,r}function ue({theme:t="emerald",effectColor:e="#00e676",effectSpeed:r=.5,effectDensity:n=.5,enabled:i=!0}){let{pointer:d}=cr(),m=oe(null),f=oe(null),l=oe(new $.Object3D),c=oe(!1),a=oe([]),o=Math.max(.1,Math.min(1,n)),s=Math.round(60*o),w=Ee(()=>mr(),[]),x=Ee(()=>{if(!e)return"#00e676";let p=e.toLowerCase().trim();return at[p]?at[p]:e},[e]),h=Ee(()=>{let p=[],v=1+Math.sqrt(o)*.8;for(let u=0;u<s;u++)p.push({x:(Math.random()-.5)*12,y:(Math.random()-.5)*6,z:(Math.random()-.5)*3,speedY:(Math.random()-.5)*.8,speedX:(Math.random()-.5)*.8,size:(.8+Math.random()*1.2)*v,phase:Math.random()*Math.PI*2,life:Math.random()});return p},[s,o]),y=ot(()=>{c.current=!0},[]),T=ot(()=>{c.current=!1},[]);return ir(()=>(window.addEventListener("pointerdown",y),window.addEventListener("pointerup",T),()=>{window.removeEventListener("pointerdown",y),window.removeEventListener("pointerup",T)}),[y,T]),lr((p,v)=>{if(!m.current||!i)return;let u=p.clock.getElapsedTime()*r;if(c.current){let b=d.x*7,M=d.y*4;a.current.length<15&&a.current.push({x:b+(Math.random()-.5)*.5,y:M+(Math.random()-.5)*.5,z:(Math.random()-.5)*1,life:1,size:(1.2+Math.random()*.8)*Math.sqrt(o)})}a.current=a.current.map(b=>(b.life-=v*1.2*r,b)).filter(b=>b.life>0),f.current&&(f.current.intensity=2.5+Math.sin(u*6)*.5),h.forEach((b,M)=>{let g=b.x+Math.sin(u*1.2+b.phase)*1.5,k=b.y+Math.cos(u*.9+b.phase*1.3)*1.2,S=b.z+Math.sin(u*.7+b.phase*.8)*.8,B=b.size*(1+Math.sin(u*2+M)*.25);l.current.position.set(g,k,S),l.current.scale.set(B,B,B),l.current.updateMatrix(),m.current.setMatrixAt(M,l.current.matrix)}),a.current.forEach((b,M)=>{let g=(s-1-M+s)%s,k=Math.sin(b.life*Math.PI)*b.size;l.current.position.set(b.x,b.y,b.z),l.current.scale.set(k,k,k),l.current.updateMatrix(),m.current.setMatrixAt(g,l.current.matrix)}),m.current.instanceMatrix.needsUpdate=!0}),i?st("group",{children:[Te("pointLight",{ref:f,position:[0,0,2],color:x,intensity:3,distance:12}),st("instancedMesh",{ref:m,args:[void 0,void 0,s],children:[Te("planeGeometry",{args:[1.8,1.8]}),Te("meshBasicMaterial",{map:w,color:x,transparent:!0,opacity:.85,blending:$.NormalBlending,depthWrite:!1,side:$.DoubleSide})]})]}):null}import{useState as Mr}from"react";var dr={"nav.schedule":"Schedule","nav.experiences":"Experiences","nav.membership":"Membership","nav.login":"Log In","nav.bookTickets":"Book Tickets","hero.genreImax":"IMAX 3D","hero.genreAction":"ACTION / SCI-FI","hero.title":"AVATAR: THE WAY OF WATER","hero.synopsis":"Set more than a decade after the events of the first film, learn the story of the Sully family, the trouble that follows them, the lengths they go to keep each other safe, the battles they fight to stay alive, and the tragedies they endure.","hero.getTickets":"GET TICKETS","hero.watchTrailer":"WATCH TRAILER"};function it(){return t=>dr[t]||t}import{useState as fr}from"react";import{Globe as ur}from"lucide-react";import{jsx as pr,jsxs as hr}from"react/jsx-runtime";function ke(){let[t,e]=fr("en");return hr("button",{onClick:()=>{e(t==="en"?"es":"en")},className:"flex items-center gap-2 text-sm font-medium text-white/70 hover:text-white transition-colors uppercase tracking-wider cursor-pointer",children:[pr(ur,{className:"w-4 h-4"}),t==="en"?"ES":"EN"]})}import*as ct from"react";import{Slot as xr}from"@radix-ui/react-slot";import{cva as vr}from"class-variance-authority";import{clsx as gr}from"clsx";import{twMerge as br}from"tailwind-merge";function lt(...t){return br(gr(t))}import{jsx as wr}from"react/jsx-runtime";var yr=vr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium cursor-pointer transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),Q=ct.forwardRef((m,d)=>{var f=m,{className:t,variant:e,size:r,asChild:n=!1}=f,i=_e(f,["className","variant","size","asChild"]);return wr(n?xr:"button",P({className:lt(yr({variant:e,size:r,className:t})),ref:d},i))});Q.displayName="Button";import{jsx as R,jsxs as F}from"react/jsx-runtime";function pe({cinemaName:t="NOVA",webTheme:e="neon"}){let r=it(),[n,i]=Mr(!1),d=e==="noir"?"bg-slate-900/40 mix-blend-color":e==="crimson"?"bg-red-900/30 mix-blend-color":"bg-blue-900/20 mix-blend-color";return F("div",{className:`min-h-screen bg-black text-white selection:bg-white/30 font-sans transition-colors duration-1000 group theme-${e}`,children:[F("nav",{className:"absolute top-0 left-0 right-0 z-50 flex items-center justify-between px-4 sm:px-8 py-4 sm:py-6 bg-black/40 sm:bg-transparent backdrop-blur-md sm:backdrop-blur-none border-b border-white/10 sm:border-none",children:[F("div",{className:"flex items-center gap-6 lg:gap-12",children:[F("a",{href:"#",className:"text-2xl sm:text-3xl font-bold tracking-tighter uppercase font-display text-white",children:[t,"."]}),F("div",{className:"hidden md:flex items-center gap-6 lg:gap-8 text-sm font-semibold tracking-widest text-white/70",children:[R("a",{href:"#schedule",className:"hover:text-white transition-colors",children:r("nav.schedule")}),R("a",{href:"#experiences",className:"hover:text-white transition-colors",children:r("nav.experiences")}),R("a",{href:"#membership",className:"hover:text-white transition-colors",children:r("nav.membership")})]})]}),F("div",{className:"flex items-center gap-3 sm:gap-6",children:[R(ke,{}),F("div",{className:"hidden sm:flex items-center gap-4",children:[R("a",{href:"#login",className:"text-sm font-semibold tracking-widest text-white/70 hover:text-white transition-colors",children:r("nav.login")}),R(Q,{variant:"outline",className:"rounded-none border-white/40 text-white bg-transparent hover:bg-white hover:text-black transition-colors font-semibold tracking-widest text-xs px-6 py-5 uppercase",children:r("nav.bookTickets")})]}),R("button",{onClick:()=>i(!n),className:"md:hidden p-2 rounded-lg bg-white/10 hover:bg-white/20 text-white text-lg focus:outline-none transition-colors cursor-pointer","aria-label":"Toggle Navigation Menu",children:n?"\u2715":"\u2630"})]})]}),n&&F("div",{className:"fixed inset-0 z-40 bg-black/95 backdrop-blur-2xl md:hidden flex flex-col justify-between p-8 pt-24 animate-fade-in",children:[F("div",{className:"flex flex-col gap-6 text-xl font-bold tracking-wider uppercase font-display",children:[R("a",{href:"#schedule",onClick:()=>i(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.schedule")}),R("a",{href:"#experiences",onClick:()=>i(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.experiences")}),R("a",{href:"#membership",onClick:()=>i(!1),className:"py-2 border-b border-white/10 hover:text-amber-400 transition-colors",children:r("nav.membership")}),R("a",{href:"#login",onClick:()=>i(!1),className:"py-2 border-b border-white/10 text-white/70 hover:text-white transition-colors",children:r("nav.login")})]}),R("div",{className:"flex flex-col gap-3 pt-6 border-t border-white/10",children:R(Q,{onClick:()=>i(!1),className:"w-full rounded-none bg-amber-400 text-black hover:bg-amber-300 font-extrabold tracking-widest text-sm py-4 uppercase",children:r("nav.bookTickets")})})]}),F("div",{className:"relative h-screen w-full flex flex-col justify-end pb-28 sm:pb-24 px-4 sm:px-8 md:px-16 overflow-hidden",children:[F("div",{className:"absolute inset-0 z-0",children:[R("div",{className:"absolute inset-0 bg-[url('https://images.unsplash.com/photo-1605810230434-7631ac76ec81?q=80&w=2560&auto=format&fit=crop')] bg-cover bg-center"}),R("div",{className:"absolute inset-0 bg-gradient-to-t from-black via-black/50 to-transparent z-10"}),R("div",{className:`absolute inset-0 ${d} z-10`})]}),F("div",{className:"relative z-20 max-w-5xl",children:[F("div",{className:"flex items-center gap-2 sm:gap-3 mb-4 sm:mb-6 flex-wrap",children:[R("span",{className:"bg-blue-600 text-white text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreImax")}),R("span",{className:"border border-white/20 text-white/80 text-[9px] sm:text-[10px] font-bold px-2.5 sm:px-3 py-1 tracking-widest",children:r("hero.genreAction")})]}),R("h1",{className:"text-4xl sm:text-6xl md:text-7xl lg:text-[8rem] leading-[0.9] sm:leading-[0.85] font-display font-black tracking-tighter mb-4 sm:mb-6 uppercase drop-shadow-2xl",children:r("hero.title")}),R("p",{className:"max-w-2xl text-sm sm:text-lg md:text-xl text-white/70 font-medium mb-6 sm:mb-10 leading-relaxed drop-shadow-md line-clamp-3 sm:line-clamp-none",children:r("hero.synopsis")}),F("div",{className:"flex flex-col sm:flex-row items-stretch sm:items-center gap-3 sm:gap-4 w-full sm:w-auto",children:[R(Q,{className:"rounded-none bg-white text-black hover:bg-white/90 font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase transition-transform hover:scale-105 active:scale-95 w-full sm:w-auto",children:r("hero.getTickets")}),R(Q,{variant:"outline",className:"rounded-none border-white/30 text-white bg-black/20 backdrop-blur-md hover:bg-white/10 transition-colors font-bold tracking-widest text-xs px-6 sm:px-8 py-5 sm:py-6 uppercase w-full sm:w-auto",children:r("hero.watchTrailer")})]})]})]})]})}import{jsx as E,jsxs as he}from"react/jsx-runtime";var mt="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",dt={cinema:mt,helvetiker:mt,"helvetiker-regular":"https://threejs.org/examples/fonts/helvetiker_regular.typeface.json",gentilis:"https://threejs.org/examples/fonts/gentilis_bold.typeface.json","gentilis-light":"https://threejs.org/examples/fonts/gentilis_regular.typeface.json",optimer:"https://threejs.org/examples/fonts/optimer_bold.typeface.json","optimer-clean":"https://threejs.org/examples/fonts/optimer_regular.typeface.json","droid-sans":"https://threejs.org/examples/fonts/droid/droid_sans_bold.typeface.json","droid-serif":"https://threejs.org/examples/fonts/droid/droid_serif_bold.typeface.json"},ft={rojo:"#3b0712",azul:"#021a38",verde:"#032117",esmeralda:"#032117",dorado:"#1c1503",negro:"#07080c",purpura:"#21032a"},ut={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},pt={i:.35,I:.4,l:.35,1:.4,t:.45,f:.45,j:.4,r:.5,w:1.15,W:1.25,m:1.15,M:1.2,O:.95,Q:.95,G:.95,C:.9,D:.9,B:.85,P:.85,R:.85,A:.85,V:.85,Y:.85,X:.85," ":.45};function Pr(t,e=.85){if(!t)return[];let n=t.split("").map(m=>(pt[m]!==void 0?pt[m]:.75)*e),d=-n.reduce((m,f)=>m+f,0)/2;return n.map(m=>{let f=d+m/2;return d+=m,[f,0,0]})}function Hr(t){let e=[];t?Array.isArray(t)?e=t.map(a=>String(a).toLowerCase().trim()):typeof t=="string"&&(e=t.toLowerCase().split(",").map(a=>a.trim())):e=["flames"];let r=e.includes("all")||e.includes("todos")||e.includes("supernova")||e.includes("inferno"),n=r||e.includes("flames")||e.includes("fluid-flames")||e.includes("llamas")||e.includes("llamas-organicas"),i=r||e.includes("fire")||e.includes("crystal-flames")||e.includes("cristales")||e.includes("fuego"),d=r||e.includes("blobs")||e.includes("energy-blobs")||e.includes("plasma-blobs")||e.includes("nubes"),m=r||e.includes("sparks")||e.includes("chispas"),f=r||e.includes("shockwave")||e.includes("wave")||e.includes("onda")||e.includes("onda-3d"),l=r||e.includes("plasma")||e.includes("electric"),c=r||e.includes("embers")||e.includes("ascuas")||n||i||d;return{enableFluidFlames:n,enableCrystalFlames:i,enableBlobs:d,enableSparks:m,enableShockwave:f,enablePlasma:l,enableEmbers:c}}function Se({containerToDisplay:t,containerSelector:e,effect:r="flames",title:n,backgroundColor:i,effectColor:d,textColor:m,effectSpeed:f=.5,effectDensity:l=.3,autoFitText:c=!0,loaderDuration:a,redirectUrl:o,onComplete:s,fontFamily:w="cinema",fontUrl:x,theme:h="crimson",letterSpacing:y=.85,className:T="",style:p,children:v}){let u=n!=null?n.trim().toUpperCase():"",b=u?u.split(""):[],M=ae(()=>Pr(u,y),[u,y]),[g,k]=Re(!1);Ce(()=>{k(!0)},[]);let S=!!(a&&a>0&&(o||s)),[B,ee]=Re(0);Ce(()=>{if(!S||!a)return;let L=a*1e3,H=50,xe=0,Fe=setInterval(()=>{xe+=H;let Tt=Math.min(100,xe/L*100);ee(Tt),xe>=L&&(clearInterval(Fe),s==null||s(),o&&(window.location.href=o))},H);return()=>clearInterval(Fe)},[S,a,o,s]);let te=ae(()=>{if(x)return x;let L=String(w).toLowerCase().trim();return dt[L]||dt.cinema},[w,x]),[I,yt]=Re(typeof window!="undefined"?window.innerWidth:1200);Ce(()=>{let L=()=>yt(window.innerWidth);return window.addEventListener("resize",L),()=>window.removeEventListener("resize",L)},[]);let wt=ae(()=>{if(!c||!b.length)return 1;let L=b.length,H=1;return L<=4?H=1:L<=7?H=.85:L<=10?H=.7:L<=14?H=.55:H=.45,I<480?H*.55:I<768?H*.75:H},[c,b.length,I]),He=ae(()=>{if(!i)return ut[h]||ut.gold;let L=i.toLowerCase().trim();return ft[L]?ft[L]:(i.startsWith("#")||i.startsWith("rgb")||i.includes("gradient"),i)},[i,h]),_=ae(()=>Hr(r),[r]),Mt=_.enableFluidFlames&&_.enableCrystalFlames?"all":_.enableCrystalFlames?"crystal":"fluid",Et=_.enableFluidFlames||_.enableCrystalFlames,Ae=e||(typeof t=="string"?t:void 0),ie=()=>Ae==="lhome"||Ae==="home"||t==="lhome"||t==="home"?E(pe,{cinemaName:u||"NOVA",webTheme:h}):typeof t=="string"&&t!=="lhome"&&t!=="home"?he("div",{className:"text-center text-white p-8 bg-black/40 backdrop-blur-md rounded-2xl border border-white/10",children:[E("h2",{className:"text-3xl font-bold tracking-widest uppercase mb-2",children:t}),E("p",{className:"text-sm text-white/60",children:"3D Interactive WebGL Background"})]}):t&&typeof t!="string"?t:v;return g?he("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none ${T}`,style:P({background:He},p),children:[S&&E("div",{className:"absolute top-0 left-0 right-0 z-30 h-1 bg-white/10 pointer-events-none",children:E("div",{className:"h-full bg-gradient-to-r from-amber-400 via-rose-500 to-cyan-400 transition-all duration-75",style:{width:`${B}%`}})}),E("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:E(Tr,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:he(Er,{fallback:null,children:[E(kr,{preset:"studio"}),E("ambientLight",{intensity:.3}),E("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),E("pointLight",{position:[-5,-3,-5],intensity:.6,color:h==="emerald"?"#10b981":h==="crimson"?"#ff1744":h==="neon"?"#00ffff":"#FFD700"}),E(j,{phase:S?"entering":"idle",effectSpeed:f}),E(fe,{enabled:Et,theme:h,effectColor:d,effectSpeed:f,effectDensity:l,mode:Mt}),E(ue,{enabled:_.enableBlobs,theme:h,effectColor:d,effectSpeed:f,effectDensity:l}),E(Y,{enabled:_.enableSparks,theme:h,effectColor:d,effectSpeed:f}),E(V,{enabled:_.enableShockwave,theme:h,effectColor:d,effectSpeed:f}),E(G,{enabled:_.enablePlasma,theme:h,effectColor:d,effectSpeed:f}),b.length>0&&E(Rr,{disableY:!0,disableZ:!0,children:E("group",{scale:wt,children:b.map((L,H)=>E(X,{char:L,index:H,totalLetters:b.length,position:M[H],phase:S?"entering":"idle",theme:h,textColor:m,fontUrl:te},`${L}-${H}`))})}),E(U,{theme:h,effectColor:d,effectSpeed:f,visible:_.enableEmbers}),he(Cr,{children:[E(Sr,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:h==="neon"||h==="crimson"?1.4:.9,mipmapBlur:!0}),E(Nr,{offset:.3,darkness:.85}),E(Lr,{opacity:.025})]})]})})}),ie()&&E("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:E("div",{className:"pointer-events-auto w-full h-full",children:ie()})})]}):E("div",{id:e,"data-container-selector":e,className:`relative w-full h-full overflow-hidden select-none bg-black ${T}`,style:P({background:He},p),children:ie()&&E("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:E("div",{className:"pointer-events-auto w-full h-full",children:ie()})})})}import{Suspense as Ar,useMemo as Fr,useState as Ne,useEffect as Br}from"react";import{Canvas as Ir}from"@react-three/fiber";import{Environment as zr,Center as _r}from"@react-three/drei";import{EffectComposer as Or,Bloom as Dr,Vignette as Wr,Noise as Xr}from"@react-three/postprocessing";import{jsx as N,jsxs as Le}from"react/jsx-runtime";var ht={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"},Ur="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json";function jr(t){let n=-(t.length*.65)/2;return t.split("").map((i,d)=>[n+d*.65,0,0])}function ge({text:t="CINEMA",theme:e="emerald",customBackground:r,interactiveSparks:n=!0,interactiveShockwave:i=!0,interactivePlasma:d=!0,showParticles:m=!0,enableBloom:f=!0,className:l="",style:c,children:a}){let[o,s]=Ne(!1),[w]=Ne(t),[x]=Ne(e);Br(()=>{s(!0)},[]);let h=(w||t||"CINEMA").toUpperCase(),y=h.split(""),T=Fr(()=>jr(h),[h]),p=x||e||"emerald",v=r||ht[p]||ht.emerald;return o?Le("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none ${l}`,style:P({background:v},c),children:[N("div",{className:"absolute inset-0 z-0 pointer-events-auto",children:N(Ir,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:Le(Ar,{fallback:null,children:[N(zr,{preset:"studio"}),N("ambientLight",{intensity:.3}),N("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),N("pointLight",{position:[-5,-3,-5],intensity:.6,color:p==="emerald"?"#10b981":p==="crimson"?"#ff1744":p==="neon"?"#00ffff":"#FFD700"}),N(j,{phase:"idle"}),N(Y,{enabled:n,theme:p}),N(V,{enabled:i,theme:p}),N(G,{enabled:d,theme:p}),N(_r,{disableY:!0,disableZ:!0,children:N("group",{children:y.map((u,b)=>N(X,{char:u,index:b,totalLetters:y.length,position:T[b],phase:"idle",theme:p,fontUrl:Ur},`${u}-${b}`))})}),m&&N(U,{theme:p,visible:!0}),Le(Or,{children:[N(Dr,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:f?.9:0,mipmapBlur:!0}),N(Wr,{offset:.3,darkness:.85}),N(Xr,{opacity:.025})]})]})})}),a&&N("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})]}):N("div",{className:`relative w-full h-full min-h-[350px] overflow-hidden select-none bg-black ${l}`,style:P({background:v},c),children:a&&N("div",{className:"relative z-10 w-full h-full pointer-events-none flex flex-col items-center justify-center",children:a})})}import{jsx as gt}from"react/jsx-runtime";function Yr(t,e={}){let r=n=>gt(ge,D(P({},e),{children:gt(t,P({},n))}));return r.displayName=`WithCinema3D(${t.displayName||t.name||"Component"})`,r}import{Suspense as Gr,useState as se,useEffect as bt,useCallback as $r,useMemo as Zr}from"react";import{Canvas as qr}from"@react-three/fiber";import{Environment as Kr,Center as Qr}from"@react-three/drei";import{EffectComposer as Jr,Bloom as en,Vignette as tn,Noise as rn}from"@react-three/postprocessing";import{jsx as A,jsxs as J}from"react/jsx-runtime";var Vr=[{key:"gold",label:"Gold",color:"#FFD700"},{key:"neon",label:"Neon",color:"#00ffff"},{key:"emerald",label:"Emerald",color:"#10b981"},{key:"crimson",label:"Crimson",color:"#ff1744"},{key:"obsidian",label:"Obsidian",color:"#a855f7"},{key:"glass",label:"Glass",color:"#ffffff"}];function be({phase:t,cinemaName:e,theme:r,effects:n,onTitleChange:i,onThemeChange:d,onToggleEffect:m}){return J("div",{className:"absolute inset-0 pointer-events-none z-10 flex flex-col items-center justify-between p-6 md:p-10",style:{opacity:t==="exiting"?0:1,transition:"opacity 0.8s ease-out"},children:[J("div",{className:"w-full max-w-xl flex flex-col items-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transform:t==="idle"||t==="entering"?"translateY(0)":"translateY(-20px)",transition:"all 1s ease-out 0.3s"},children:[A("label",{className:"text-[10px] tracking-[0.3em] uppercase text-white/50 font-bold",children:"Live 3D Title Control"}),A("div",{className:"relative w-full",children:A("input",{type:"text",value:e,onChange:c=>i(c.target.value),maxLength:18,placeholder:"Type any title...",className:"w-full px-6 py-3 rounded-full text-center text-sm md:text-base font-bold tracking-widest uppercase outline-none transition-all duration-300",style:{background:"rgba(255, 255, 255, 0.08)",backdropFilter:"blur(16px)",border:"1px solid rgba(255, 255, 255, 0.2)",color:"#ffffff",boxShadow:"0 8px 32px rgba(0, 0, 0, 0.37)"}})})]}),t==="loading"&&A("div",{className:"absolute inset-0 flex items-center justify-center",children:A("div",{className:"w-16 h-16 rounded-full border-2 animate-spin",style:{borderColor:"transparent",borderTopColor:"rgba(255, 215, 0, 0.8)",borderRightColor:"rgba(255, 215, 0, 0.3)"}})}),J("div",{className:"w-full max-w-3xl flex flex-col items-center gap-5",children:[J("div",{className:"flex flex-wrap items-center justify-center gap-2 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 0.8s"},children:[A("span",{className:"text-[9px] uppercase tracking-[0.25em] text-white/40 mr-2 font-bold",children:"Effects"}),A("button",{onClick:()=>m("sparks"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.sparks?"bg-amber-500/30 text-amber-200 border-amber-400/60 shadow-[0_0_15px_rgba(245,158,11,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F525} Sparks"}),A("button",{onClick:()=>m("shockwave"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.shockwave?"bg-cyan-500/30 text-cyan-200 border-cyan-400/60 shadow-[0_0_15px_rgba(6,182,212,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u{1F30A} Wave"}),A("button",{onClick:()=>m("plasma"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.plasma?"bg-purple-500/30 text-purple-200 border-purple-400/60 shadow-[0_0_15px_rgba(168,85,247,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u26A1 Plasma"}),A("button",{onClick:()=>m("embers"),className:`px-4 py-1.5 rounded-full text-[11px] font-bold tracking-wider uppercase transition-all duration-300 cursor-pointer ${n.embers?"bg-emerald-500/30 text-emerald-200 border-emerald-400/60 shadow-[0_0_15px_rgba(16,185,129,0.4)]":"bg-white/5 text-white/40 border-white/10 hover:text-white/70"} border`,children:"\u2728 Embers"})]}),J("div",{className:"flex items-center gap-3 pointer-events-auto",style:{opacity:t==="idle"||t==="entering"?1:0,transition:"opacity 1s ease-out 1.2s"},children:[A("span",{className:"text-[10px] uppercase tracking-[0.3em] text-white/40 mr-2 font-bold",children:"Theme"}),A("div",{className:"flex items-center gap-2 md:gap-3",children:Vr.map(c=>{let a=r===c.key;return J("button",{onClick:()=>d(c.key),className:"group relative flex flex-col items-center gap-1.5 cursor-pointer outline-none","aria-label":`Switch to ${c.label} theme`,children:[A("div",{className:"relative w-11 h-7 md:w-14 md:h-9 rounded-md overflow-hidden transition-all duration-300",style:{border:a?`2px solid ${c.color}`:"1px solid rgba(255, 255, 255, 0.15)",transform:a?"scale(1.1) translateY(-2px)":"scale(1) translateY(0)",boxShadow:a?`0 4px 20px ${c.color}60`:"0 2px 10px rgba(0,0,0,0.5)"},children:A("div",{className:"absolute inset-0 opacity-80",style:{backgroundColor:c.color}})}),A("span",{className:"text-[9px] uppercase tracking-widest font-semibold transition-colors duration-300",style:{color:a?"#ffffff":"rgba(255, 255, 255, 0.4)"},children:c.label})]},c.key)})})]})]})]})}import{jsx as C,jsxs as Pe}from"react/jsx-runtime";var nn="https://threejs.org/examples/fonts/helvetiker_bold.typeface.json",xt={gold:"radial-gradient(circle at center, #1c1503 0%, #080601 60%, #020201 100%)",neon:"radial-gradient(circle at center, #021a1e 0%, #030d14 60%, #010408 100%)",emerald:"radial-gradient(circle at center, #032117 0%, #02120d 60%, #010705 100%)",crimson:"radial-gradient(circle at center, #240409 0%, #120205 60%, #060102 100%)",obsidian:"radial-gradient(circle at center, #120d24 0%, #080512 60%, #030206 100%)",glass:"radial-gradient(circle at center, #0f172a 0%, #070b14 60%, #020205 100%)"};function on(t){let n=-(t.length*.65)/2;return t.split("").map((i,d)=>[n+d*.65,0,0])}function vt({cinemaName:t="CINEMULTIPLEX",defaultTheme:e="emerald",customBackground:r,onEnterCinema:n}){let[i,d]=se(!1),[m,f]=se("loading"),[l,c]=se(e),[a,o]=se(t),[s,w]=se({sparks:!0,shockwave:!0,plasma:!0,embers:!0});bt(()=>{d(!0)},[]);let x=(a||"CINEMA").toUpperCase(),h=x.split(""),y=Zr(()=>on(x),[x]);bt(()=>{let v=setTimeout(()=>f("entering"),800),u=h.length*120+1500,b=setTimeout(()=>f("idle"),800+u);return()=>{clearTimeout(v),clearTimeout(b)}},[h.length]);let T=$r(v=>{w(u=>D(P({},u),{[v]:!u[v]}))},[]),p=r||xt[l]||xt.emerald;return i?Pe("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden",style:{background:p},children:[C(qr,{camera:{position:[0,0,14],fov:45,near:.1,far:50},dpr:[1,2],gl:{antialias:!0,toneMapping:4,toneMappingExposure:1.2},children:Pe(Gr,{fallback:null,children:[C(Kr,{preset:"studio"}),C("ambientLight",{intensity:.3}),C("directionalLight",{position:[5,8,5],intensity:1.5,color:"#ffffff"}),C("pointLight",{position:[-5,-3,-5],intensity:.6,color:l==="emerald"?"#10b981":l==="crimson"?"#ff1744":l==="neon"?"#00ffff":"#FFD700"}),C("spotLight",{position:[0,10,0],angle:.4,penumbra:.8,intensity:.9,color:"#ffffff"}),C("pointLight",{position:[0,0,-5],intensity:.4,color:"#ffffff"}),C(j,{phase:m}),s.sparks&&C(Y,{theme:l}),C(V,{theme:l,enabled:s.shockwave}),C(G,{theme:l,enabled:s.plasma}),C(Qr,{disableY:!0,disableZ:!0,children:C("group",{children:h.map((v,u)=>C(X,{char:v,index:u,totalLetters:h.length,position:y[u],phase:m,theme:l,fontUrl:nn},`${v}-${u}`))})}),C(U,{theme:l,visible:m!=="loading"&&s.embers}),Pe(Jr,{children:[C(en,{luminanceThreshold:.7,luminanceSmoothing:.9,intensity:l==="neon"||l==="emerald"||l==="crimson"?1.4:.7,mipmapBlur:!0}),C(tn,{offset:.3,darkness:.85}),C(rn,{opacity:.025})]})]})}),C(be,{phase:m,cinemaName:a,theme:l,effects:s,onTitleChange:o,onThemeChange:c,onToggleEffect:T})]}):C("div",{className:"fixed inset-0 w-screen h-screen transition-all duration-1000 select-none overflow-hidden bg-black flex items-center justify-center",style:{background:p},children:C("div",{className:"w-16 h-16 rounded-full border-2 animate-spin border-t-amber-400 border-r-amber-400/30 border-b-transparent border-l-transparent"})})}export{Se as AnimatedBackground,X as AnimatedLetter,j as CameraRig,ge as CinemaBackground,pe as CinemaHome,vt as CinemaLoader,Y as ClickFireSparks,V as ClickShockwave,G as ElectricPlasma,fe as FireFlames,be as LoaderOverlay,ue as PlasmaBlobs,U as SceneParticles,Se as default,Yr as withCinema3D};
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|