Files
hunli/vite-tailwindcss/dist-chk-1785469523/assets/index-Ci3XQb7_.js
2026-07-31 12:13:41 +08:00

6 lines
25 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import{o as Z,c as I,r as x,a as Q,b as s,d as a,w as f,e,t as b,n as S,f as p,F as z,g as $,h as xe,i as he,v as ye,j as we,k as H,u as M,l as R,m as J,p as ke,s as _e,q as Ae}from"./index-B7Bp0mE9.js";import{_ as X,b as Te}from"./_plugin-vue_export-helper-CdZ5VnM5.js";function Me(){const i=x(!1),_=x(!1),n=x([]),d=x("");let c=null,k=null;const T=I(()=>{const r=n.value.find(w=>w.url===d.value);return(r==null?void 0:r.name)||"背景音乐"}),C=()=>c||(c=new Audio,c.loop=!0,c.volume=.5,c.preload="auto",c.addEventListener("canplay",()=>_.value=!0),c.addEventListener("play",()=>i.value=!0),c.addEventListener("pause",()=>i.value=!1),c),y=async r=>{if(!r)return;const w=C();w.src!==r&&(w.src=r),d.value=r;try{await w.play(),i.value=!0}catch{i.value=!1}},q=(r,w)=>{var j;n.value=Array.isArray(r)?r.slice().filter(E=>E&&E.url):[];const N=((j=n.value[0])==null?void 0:j.url)||"",U=w&&n.value.some(E=>E.url===w)?w:N;d.value=U,c&&i.value&&U&&y(U)},L=r=>{n.value.some(w=>w.url===r)&&(i.value?y(r):d.value=r)},F=()=>y(d.value),D=async()=>{if(!d.value)return!1;try{return await y(d.value),i.value}catch{return!1}},m=()=>{c&&c.pause(),i.value=!1},h=()=>{i.value?m():F()},u=()=>{const r=()=>{F(),v()};k=r,window.addEventListener("pointerdown",r,{once:!0}),window.addEventListener("keydown",r,{once:!0})},v=()=>{k&&(window.removeEventListener("pointerdown",k),window.removeEventListener("keydown",k),k=null)};return Z(()=>{m(),v(),c&&(c.src="",c=null)}),{isPlaying:i,isReady:_,tracks:n,activeUrl:d,currentName:T,setTracks:q,setActive:L,play:F,pause:m,toggle:h,attemptAutoplay:D,armAutoplay:u}}const ze={class:"gallery"},$e={class:"text-center mb-5 px-4"},Se={class:"text-xl text-[#a88c6b] tracking-[0.3em] font-light block mb-2"},Ce={class:"text-[9px] text-[#8A8680] uppercase tracking-[0.4em] block mb-4"},Fe={class:"text-[12px] text-[#6b6863] font-light leading-relaxed mx-auto max-w-[280px] tracking-widest block whitespace-pre-wrap"},Ee=["src"],Ie={key:1,class:"overlap-wrap relative w-full mt-2"},Le=["src"],De=["src"],Ue={key:2,class:"relative w-full aspect-square mt-6 grid grid-cols-3 grid-rows-3 gap-1.5 z-20"},Re=["src"],qe=["src"],Ne={key:3,class:"grid grid-cols-3 gap-1.5 px-4 mt-6"},je=["src"],We={key:4,class:"g-masonry mt-6 px-1"},Oe=["src"],He={key:5,class:"relative mt-6"},Ve=["src"],Pe={class:"g-dots"},Be=["onClick"],Ye={key:6,class:"g-polaroid mt-6"},Ge=["src"],Ke={key:7,class:"text-center text-[#8A8680] text-[12px] mt-6"},Je={__name:"PhotoGallery",props:{page:{type:Object,required:!0}},setup(i){const _=i,n=I(()=>Te(_.page.borderStyle)),d=I(()=>_.page.singleWidth==="full"?"max-w-none":"max-w-[300px]"),c=I(()=>{if(_.page.singleWidth==="full"){const m={width:"calc(100% + 48px)",marginLeft:"-24px",marginRight:"-24px"};return _.page.singleKeepRatio?m:{...m,aspectRatio:"4 / 5"}}return{aspectRatio:"4 / 5"}}),k=I(()=>n.value+(_.page.singleWidth==="full"&&_.page.singleKeepRatio?" gf-natural":"")),T=x(0),C=x(null);function y(m){var v;const h=((v=_.page.images)==null?void 0:v.length)||0;if(!h)return;T.value=(m+h)%h;const u=C.value;u&&u.scrollTo({left:T.value*u.clientWidth,behavior:"smooth"})}function q(){const m=C.value;if(!m)return;const h=Math.round(m.scrollLeft/m.clientWidth);h!==T.value&&(T.value=h)}const L=[-5,4,-3,6,-4,3,-2,5],F=[0,10,-8,6,-10,8,4,-6];function D(m){const h=L[m%L.length],u=F[m%F.length];return`rotate(${h}deg) translateY(${u}px)`}return(m,h)=>{const u=Q("reveal");return s(),a("div",ze,[f((s(),a("div",$e,[e("span",Se,b(i.page.title),1),e("span",Ce,b(i.page.subtitle),1),e("span",Fe,b(i.page.desc),1)])),[[u,"up"]]),i.page.type==="single"?f((s(),a("div",{key:0,class:p(["w-full mx-auto mt-6",d.value]),style:S(c.value)},[e("div",{class:p(k.value)},[e("img",{src:i.page.img1},null,8,Ee)],2)],6)),[[u,{variant:"scale",delay:100}]]):i.page.type==="overlap"?(s(),a("div",Ie,[f((s(),a("div",{class:p(["absolute left-0 top-0 w-[72%] h-[78%] z-10 -rotate-2",n.value])},[e("img",{src:i.page.img1},null,8,Le)],2)),[[u,{variant:"left",delay:100}]]),f((s(),a("div",{class:p(["absolute right-0 bottom-0 w-[56%] h-[62%] z-20 rotate-3",n.value])},[e("img",{src:i.page.img2},null,8,De)],2)),[[u,{variant:"right",delay:300}]])])):i.page.type==="one-large-five-small"?(s(),a("div",Ue,[f((s(),a("div",{class:p(["col-span-2 row-span-2 relative",n.value])},[e("img",{src:i.page.images[0],class:"hover:scale-105 transition-transform duration-1000"},null,8,Re)],2)),[[u,{variant:"scale",delay:100}]]),(s(),a(z,null,$([1,2,3,4,5],v=>f(e("div",{key:v,class:p(["relative",n.value])},[e("img",{src:i.page.images[v]},null,8,qe)],2),[[u,{variant:"up",delay:v*80}]])),64))])):i.page.type==="nine-grid"?(s(),a("div",Ne,[(s(!0),a(z,null,$(i.page.images,(v,r)=>f((s(),a("div",{key:r,class:p(["aspect-square relative",n.value])},[e("img",{src:v,class:"hover:scale-105 transition-transform duration-700"},null,8,je)],2)),[[u,{variant:"scale",delay:r*60}]])),128))])):i.page.type==="masonry"?(s(),a("div",We,[(s(!0),a(z,null,$(i.page.images,(v,r)=>f((s(),a("div",{key:r,class:p(["g-masonry-item",n.value])},[e("img",{src:v},null,8,Oe)],2)),[[u,{variant:"up",delay:r*50}]])),128))])):i.page.type==="carousel"?(s(),a("div",He,[e("div",{ref_key:"trackRef",ref:C,class:"g-carousel-track no-scrollbar",onScroll:q},[(s(!0),a(z,null,$(i.page.images,(v,r)=>(s(),a("div",{key:r,class:p(["g-carousel-slide",n.value])},[e("img",{src:v},null,8,Ve)],2))),128))],544),e("button",{class:"g-arrow g-prev",onClick:h[0]||(h[0]=v=>y(T.value-1)),"aria-label":"上一张"},""),e("button",{class:"g-arrow g-next",onClick:h[1]||(h[1]=v=>y(T.value+1)),"aria-label":"下一张"},""),e("div",Pe,[(s(!0),a(z,null,$(i.page.images,(v,r)=>(s(),a("button",{key:r,class:p(["g-dot",{active:r===T.value}]),onClick:w=>y(r)},null,10,Be))),128))])])):i.page.type==="polaroid"?(s(),a("div",Ye,[(s(!0),a(z,null,$(i.page.images,(v,r)=>f((s(),a("div",{key:r,class:"g-polaroid-item",style:S({transform:D(r)})},[e("img",{src:v},null,8,Ge)],4)),[[u,{variant:"scale",delay:r*70}]])),128))])):(s(),a("div",Ke,"未识别的版式:"+b(i.page.type),1))])}}},Ze=X(Je,[["__scopeId","data-v-7bc05578"]]),Qe={class:"wrapper relative w-full h-[100vh] bg-[#Fdfbf7] overflow-hidden text-[#2c2c2c]"},Xe={class:"curtain-emblem"},et={class:"emblem-inner"},tt={class:"emblem-names"},lt={class:"emblem-date"},st={key:0,class:"absolute inset-0 pointer-events-none overflow-hidden z-[1]"},at=["fill"],ot={key:1,class:"absolute inset-0 pointer-events-none overflow-hidden z-[1]"},nt={class:"absolute top-6 right-5 z-50 flex flex-col items-end gap-4"},rt={class:"music-wrap"},it={class:"flex flex-col gap-3 items-end"},ct={key:0,src:"https://api.iconify.design/lucide:music.svg?color=%23a88c6b",class:"w-4 h-4"},ut={key:1,src:"https://api.iconify.design/lucide:volume-x.svg?color=%23a88c6b",class:"w-4 h-4"},dt={key:0,class:"track-pop"},pt=["onClick"],vt={key:0,class:"eq"},mt={class:"tname"},ft={key:1,class:"tcheck"},gt={key:0,src:"https://api.iconify.design/lucide:pause.svg?color=%23a88c6b",class:"w-4 h-4"},bt={key:1,src:"https://api.iconify.design/lucide:play.svg?color=%23a88c6b",class:"w-4 h-4 ml-0.5"},xt={class:"flex flex-col items-center justify-between py-12 h-full w-full relative border-[0.5px] border-[#a88c6b]/20 bg-white/40"},ht={class:"text-center mt-6 z-10"},yt={class:"w-full max-w-[260px] aspect-[3/4] relative z-10"},wt={class:"relative w-full h-full z-10 bg-[#F7F6F2] shadow-md overflow-hidden"},kt=["src"],_t={class:"text-center z-10 mb-10 space-y-4 px-4"},At={class:"flex items-end justify-center gap-6 text-3xl font-light tracking-[0.2em]"},Tt={class:"flex flex-col items-center text-[11px] text-[#8A8680] tracking-[0.2em] mt-4 uppercase"},Mt={class:"flex flex-col items-center w-full"},zt={class:"flex justify-center gap-10 h-72 text-[#3A3A3A] text-lg leading-loose font-light"},$t={class:"vertical-text"},St={class:"vertical-text",style:{"padding-top":"3rem"}},Ct={class:"w-full h-full flex flex-col justify-center py-6 relative z-10"},Ft={class:"text-center mb-14"},Et={class:"relative w-full px-2 max-w-[340px] mx-auto"},It={class:"text-xl font-serif text-[#a88c6b] mb-1 font-light tracking-wider"},Lt={class:"text-[13px] tracking-[0.2em] text-[#3a3a3a] font-medium mb-1"},Dt={class:"text-[9px] tracking-[0.1em] text-[#8A8680] font-sans uppercase"},Ut={class:"w-full flex flex-col items-center z-10 relative py-10"},Rt={class:"w-full max-w-[200px] aspect-[3/4] rounded-t-full overflow-hidden mb-10 shadow-lg border-[4px] border-white relative"},qt=["src"],Nt={class:"text-center space-y-2 mb-10 px-4"},jt={class:"text-[14px] text-[#3A3A3A] tracking-widest font-medium block"},Wt={class:"text-[11px] text-[#8A8680] font-light tracking-[0.1em] leading-loose block max-w-[240px] mx-auto whitespace-pre-wrap"},Ot={class:"flex flex-col gap-4 w-full px-8 max-w-[280px]"},Ht={key:0,class:"space-y-6"},Vt={class:"flex flex-wrap gap-2"},Pt=["onClick"],Bt={key:1,class:"text-center py-10 flex flex-col items-center animate-fade-up"},Yt={__name:"index",setup(i){const _={scrollMode:"snap",petalEnabled:!0,bubbleEnabled:!0,introEnabled:!0,musicList:[],activeMusicUrl:"",freeScrollInterval:50,pageSwitchDuration:800},n=x({groom:"李明",bride:"王华",date:"2026-05-20",lunar:"农历四月初四 星期三",hotel:"杭州星光万丽大酒店",address:`杭州市西湖区星光大道88号
3楼大宴会厅`,formalText1:"两姓联姻 一堂缔约",formalText2:"良缘永结 匹配同称",heroImg:"https://images.unsplash.com/photo-1583939003579-730e3918a45a?auto=format&fit=crop&w=800&q=80",photoPages:[{type:"single",title:"初遇",subtitle:"FIRST MET",desc:`世界那么大,还是遇见了你。
于千万人之中,没有早一步也没有晚一步。`,img1:"https://images.unsplash.com/photo-1606800052052-a08af7148866?auto=format&fit=crop&w=600&q=80",borderStyle:"mat"},{type:"overlap",title:"相知",subtitle:"FALL IN LOVE",desc:`纵然万劫不复,纵然相思入骨。
我也待你眉眼如初,岁月如故。`,img1:"https://images.unsplash.com/photo-1532712938310-34cb3982ef74?auto=format&fit=crop&w=600&q=80",img2:"https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=600&q=80",borderStyle:"mat"},{type:"one-large-five-small",title:"相恋",subtitle:"ROMANCE",desc:`星光坠入眼眸,晚风轻抚过裙摆。
浪漫不止于此,还有无数个明天。`,images:Array.from({length:6},()=>"https://images.unsplash.com/photo-1519741497674-611481863552?auto=format&fit=crop&w=600&q=80"),borderStyle:"mat"},{type:"nine-grid",title:"相守",subtitle:"FOREVER",desc:"往后余生,风雪是你,平淡是你。",images:Array.from({length:9},()=>"https://images.unsplash.com/photo-1511285560929-80b456fea0bc?auto=format&fit=crop&w=400&q=80"),borderStyle:"mat"}],schedule:[{time:"16:00",event:"签到迎宾",desc:"Welcome"},{time:"17:08",event:"仪式开始",desc:"Ceremony"},{time:"18:00",event:"敬备喜宴",desc:"Banquet"}],..._}),d=Me(),c=x(!0),k=x(!1),T=x(!1),C=x(!1),y=x(null),q=x(0),L=x(0),F=x(!1),D=x(!1),m=x(!1),h=x(!1),u=ke({name:"",guest_count:"1",wishes:""}),v=[{value:"1",label:"1 人出席"},{value:"2",label:"2 人出席"},{value:"3",label:"3 人及以上"},{value:"0",label:"遗憾缺席"}];let r=null,w=null,N=null,U=null,j=null,E=null;const ee=I(()=>{const l=Number(n.value.freeScrollInterval);return l>=10&&l<=1e3?l:50}),te=I(()=>{const l=Number(n.value.pageSwitchDuration);return l>=0&&l<=5e3?l:800}),V=["#c9b08a","#e2b3c0","#d4af37","#e8c9d2"],P=["#f7dce3","#fbeee3","#f3c9d6","#efdcc8","#f9e7d6"],le=[{n:5,size:[10,13],opacity:[.1,.16],blur:1.6,dur:[20,26]},{n:4,size:[14,17],opacity:[.16,.24],blur:.7,dur:[16,21]},{n:3,size:[18,22],opacity:[.24,.32],blur:0,dur:[13,17]}];let se=0;const ae=le.flatMap(l=>Array.from({length:l.n}).map(()=>{const t=se++;return{id:t,left:Math.random()*100+"%",top:Math.random()*100+"%",color:V[t%V.length],size:l.size[0]+Math.random()*(l.size[1]-l.size[0]),opacity:+(l.opacity[0]+Math.random()*(l.opacity[1]-l.opacity[0])).toFixed(2),filter:l.blur?`blur(${l.blur}px)`:"none",floatDuration:(l.dur[0]+Math.random()*(l.dur[1]-l.dur[0])).toFixed(1)+"s",swayDuration:(4.5+Math.random()*2.5).toFixed(1)+"s",delay:"-"+(Math.random()*20).toFixed(1)+"s"}})),oe=Array.from({length:16}).map((l,t)=>{const g=t%3===0;return{id:t,left:Math.random()*100+"%",size:g?8+Math.random()*7:13+Math.random()*11,opacity:g?.3+Math.random()*.15:.42+Math.random()*.3,color:P[t%P.length],filter:g?"blur(1.2px) drop-shadow(0 2px 3px rgba(150,110,90,0.08))":"drop-shadow(0 2px 3px rgba(150,110,90,0.12))",duration:(g?13:9)+Math.random()*8+"s",delay:Math.random()*10+"s",sway:4+Math.random()*4+"s"}}),ne=I(()=>({backgroundImage:`url(${n.value.heroImg})`})),re=l=>{const t=l.height||"100vh";return t==="auto"?{minHeight:"auto"}:{minHeight:t}},B=()=>{k.value=!1},Y=()=>{const l=y.value;if(!l)return;const t=l.scrollHeight-l.clientHeight;q.value=t>0?l.scrollTop/t:0,L.value=l.scrollTop*.25},O=()=>{C.value=!0,cancelAnimationFrame(E),clearTimeout(N),N=setTimeout(()=>C.value=!1,3e3)},ie=()=>{var l;return Array.from(((l=y.value)==null?void 0:l.querySelectorAll(".page-section"))||[])},ce=(l,t,g)=>{cancelAnimationFrame(E);const o=l.scrollTop,A=t-o;if(!A)return;if(g<=0){l.scrollTop=t;return}const fe=performance.now(),K=ge=>{const W=Math.min(1,(ge-fe)/g),be=W<.5?2*W*W:1-Math.pow(-2*W+2,2)/2;l.scrollTop=o+A*be,W<1&&(E=requestAnimationFrame(K))};E=requestAnimationFrame(K)},ue=()=>{const l=y.value;if(!l)return;const t=l.scrollTop,g=ie().find(o=>o.offsetTop>t+12);ce(l,g?g.offsetTop:0,te.value)},de=()=>{n.value.scrollMode==="snap"?w=setInterval(()=>{c.value&&!C.value&&!k.value&&ue()},4500):j=setInterval(()=>{const l=y.value;l&&c.value&&!C.value&&!k.value&&(l.scrollTop+=1.2,l.scrollTop>=l.scrollHeight-l.clientHeight-5&&(l.scrollTop=0))},ee.value)},pe=()=>{c.value=!c.value;const l=y.value;c.value&&l&&l.scrollTop>=l.scrollHeight-l.clientHeight-10&&(l.scrollTop=0)},G=()=>{D.value||(D.value=!0,U=setTimeout(()=>{F.value=!1},1e3),n.value.musicList.length&&d.play())},ve=l=>{d.setActive(l),m.value=!1},me=async()=>{if(!u.name.trim())return alert("请填写姓名");try{const l=await _e(u);l.code===200?T.value=!0:alert(l.error||"提交失败")}catch{alert("提交失败,请检查后端运行状态")}};return xe(async()=>{try{const l=await he();if(l.data&&l.data!=="{}"){const t=typeof l.data=="string"?JSON.parse(l.data):l.data;t.musicUrl&&!(t.musicList&&t.musicList.length)&&(t.musicList=[{url:t.musicUrl,name:"背景音乐"}],t.activeMusicUrl=t.musicUrl),n.value={...n.value,..._,...t}}}catch{}d.setTracks(n.value.musicList,n.value.activeMusicUrl),n.value.musicList.length&&(await d.attemptAutoplay()||(h.value=!0)),n.value.introEnabled&&(F.value=!0,U=setTimeout(()=>G(),3600)),de(),Y()}),Z(()=>{cancelAnimationFrame(r),cancelAnimationFrame(E),clearInterval(w),clearInterval(j),clearTimeout(N),clearTimeout(U)}),(l,t)=>{const g=Q("reveal");return s(),a("div",Qe,[f(e("div",{class:p(["curtain-root",{"is-opening":D.value}]),onClick:G},[e("div",{class:"curtain-bg",style:S(ne.value)},null,4),t[10]||(t[10]=we('<div class="curtain-veil" data-v-d3dc844f></div><div class="curtain-door curtain-door-left" data-v-d3dc844f><span class="door-sheen" data-v-d3dc844f></span></div><div class="curtain-door curtain-door-right" data-v-d3dc844f><span class="door-sheen" data-v-d3dc844f></span></div>',3)),e("div",Xe,[e("div",et,[t[6]||(t[6]=e("span",{class:"emblem-floral"},"❀",-1)),t[7]||(t[7]=e("span",{class:"emblem-kicker"},"WEDDING INVITATION",-1)),e("div",tt,[H(b(n.value.groom),1),t[5]||(t[5]=e("span",{class:"amp"},"&",-1)),H(b(n.value.bride),1)]),t[8]||(t[8]=e("div",{class:"emblem-rule"},null,-1)),e("div",lt,b(n.value.date),1),t[9]||(t[9]=e("div",{class:"emblem-hint"},[e("span",{class:"dot"}),H("轻触开启请柬")],-1))])])],2),[[ye,F.value]]),t[38]||(t[38]=e("div",{class:"bg-glow","aria-hidden":"true"},[e("i",{class:"g1"}),e("i",{class:"g2"}),e("i",{class:"g3"})],-1)),n.value.petalEnabled?(s(),a("div",st,[(s(!0),a(z,null,$(M(oe),o=>(s(),a("div",{key:"p"+o.id,class:"petal",style:S({left:o.left,width:o.size+"px",height:o.size+"px",opacity:o.opacity,animationDelay:o.delay,"--p-dur":o.duration})},[(s(),a("svg",{viewBox:"0 0 100 100",class:"petal-inner",style:S({"--p-sway":o.sway,filter:o.filter})},[e("path",{d:"M50 3 C28 26 20 62 50 97 C80 62 72 26 50 3 Z",fill:o.color,opacity:"0.9"},null,8,at),t[11]||(t[11]=e("path",{d:"M50 9 C50 36 50 70 50 91",stroke:"rgba(255,255,255,0.55)","stroke-width":"1.4",fill:"none",opacity:"0.5"},null,-1))],4))],4))),128))])):R("",!0),n.value.bubbleEnabled?(s(),a("div",ot,[(s(!0),a(z,null,$(M(ae),o=>(s(),a("div",{key:"b"+o.id,class:"heart-bubble flex items-center justify-center",style:S({left:o.left,top:o.top,color:o.color,fontSize:o.size+"px",animationDelay:o.delay,"--float-duration":o.floatDuration,"--h-opacity":o.opacity})},[e("span",{class:"heart-inner",style:S({"--sway-duration":o.swayDuration,filter:o.filter})},"♥",4)],4))),128))])):R("",!0),e("div",{class:"absolute top-0 left-0 h-[2px] bg-[#a88c6b] z-[55] transition-[width] duration-150",style:S({width:q.value*100+"%"})},null,4),e("div",nt,[e("div",rt,[e("div",it,[e("div",{onClick:t[0]||(t[0]=o=>M(d).toggle()),class:p(["control-btn cursor-pointer",{"rotate-spin":M(d).isPlaying.value}])},[M(d).isPlaying.value?(s(),a("img",ct)):(s(),a("img",ut))],2),M(d).tracks.value.length>1?(s(),a("div",{key:0,onClick:t[1]||(t[1]=o=>m.value=!m.value),class:"control-btn cursor-pointer"},[...t[12]||(t[12]=[e("img",{src:"https://api.iconify.design/lucide:list-music.svg?color=%23a88c6b",class:"w-4 h-4"},null,-1)])])):R("",!0)]),m.value&&M(d).tracks.value.length?(s(),a("div",dt,[t[14]||(t[14]=e("div",{class:"track-pop-title"},"选择曲目",-1)),(s(!0),a(z,null,$(M(d).tracks.value,o=>(s(),a("div",{key:o.url,class:p(["track-item",{active:o.url===M(d).activeUrl.value}]),onClick:A=>ve(o.url)},[o.url===M(d).activeUrl.value&&M(d).isPlaying.value?(s(),a("span",vt,[...t[13]||(t[13]=[e("i",null,null,-1),e("i",null,null,-1),e("i",null,null,-1)])])):R("",!0),e("span",mt,b(o.name),1),o.url===M(d).activeUrl.value?(s(),a("span",ft,"✓")):R("",!0)],10,pt))),128))])):R("",!0)]),e("div",{onClick:pe,class:p(["control-btn cursor-pointer transition-all duration-300",c.value?"bg-[#a88c6b]/15 !border-[#a88c6b]/60 shadow-sm":"bg-white/60 shadow-sm border-[#a88c6b]/30"])},[c.value?(s(),a("img",gt)):(s(),a("img",bt))],2)]),e("div",{ref_key:"scrollContainerRef",ref:y,class:p(["w-full h-full overflow-y-auto no-scrollbar relative",n.value.scrollMode==="snap"?"snap-y snap-mandatory":""]),onScroll:Y,onTouchstart:O,onTouchmove:O,onWheel:O,onMousedown:O},[e("div",{class:p(["page-section",n.value.scrollMode==="snap"?"snap-start":""])},[e("div",xt,[f((s(),a("div",ht,[...t[15]||(t[15]=[e("span",{class:"text-[10px] tracking-[0.5em] uppercase text-[#a88c6b] font-light block"},"Wedding Invitation",-1),e("div",{class:"w-6 h-[0.5px] bg-[#a88c6b] mx-auto opacity-50 mt-4"},null,-1)])])),[[g,"down"]]),f((s(),a("div",yt,[t[16]||(t[16]=e("div",{class:"absolute inset-0 border border-[#a88c6b] translate-x-3 translate-y-3 opacity-30"},null,-1)),e("div",wt,[e("img",{src:n.value.heroImg,class:"w-full h-full object-cover will-change-transform",style:S({transform:`translateY(${L.value}px) scale(1.12)`})},null,12,kt)])])),[[g,{variant:"scale",delay:120}]]),f((s(),a("div",_t,[e("div",At,[e("span",null,b(n.value.groom),1),t[17]||(t[17]=e("span",{class:"text-[#a88c6b] text-xl pb-1 italic font-serif"},"&",-1)),e("span",null,b(n.value.bride),1)]),e("div",Tt,[e("span",null,b(n.value.date),1),t[18]||(t[18]=e("div",{class:"w-4 h-[0.5px] bg-[#a88c6b]/40 my-2"},null,-1)),e("span",null,b(n.value.lunar),1)])])),[[g,{variant:"up",delay:200}]])])],2),e("div",{class:p(["page-section bg-[#F7F6F2] items-center px-8 relative justify-center",n.value.scrollMode==="snap"?"snap-start":""])},[t[21]||(t[21]=e("div",{class:"absolute top-0 left-0 w-32 h-32 border-l-[0.5px] border-t-[0.5px] border-[#a88c6b]/30 m-6"},null,-1)),t[22]||(t[22]=e("div",{class:"absolute bottom-0 right-0 w-32 h-32 border-r-[0.5px] border-b-[0.5px] border-[#a88c6b]/30 m-6"},null,-1)),f((s(),a("div",Mt,[t[20]||(t[20]=e("div",{class:"text-3xl opacity-60 mb-14 text-[#a88c6b] font-serif float-soft"},"❀",-1)),e("div",zt,[e("span",$t,b(n.value.formalText1),1),e("span",St,b(n.value.formalText2),1),t[19]||(t[19]=e("span",{class:"vertical-text text-[#8A8680] text-[12px] ml-4 border-l-[0.5px] border-[#a88c6b]/30 pl-6 h-56 mt-8 tracking-[0.3em]"},"诚挚邀请您见证我们的幸福",-1))])])),[[g,"blur"]])],2),(s(!0),a(z,null,$(n.value.photoPages,(o,A)=>(s(),a("div",{key:A,class:p(["page-section p-6 relative",n.value.scrollMode==="snap"?"snap-start":""]),style:S(re(o))},[t[23]||(t[23]=e("div",{class:"absolute inset-0 bg-white/40 backdrop-blur-[2px] -z-10"},null,-1)),t[24]||(t[24]=e("div",{class:"absolute top-0 left-0 w-24 h-24 border-l-[0.5px] border-t-[0.5px] border-[#a88c6b]/30 m-6 pointer-events-none z-0"},null,-1)),t[25]||(t[25]=e("div",{class:"absolute bottom-0 right-0 w-24 h-24 border-r-[0.5px] border-b-[0.5px] border-[#a88c6b]/30 m-6 pointer-events-none z-0"},null,-1)),e("div",Ct,[Ae(Ze,{page:o},null,8,["page"])])],6))),128)),e("div",{class:p(["page-section bg-transparent px-6 z-10 justify-center relative",n.value.scrollMode==="snap"?"snap-start":""])},[t[28]||(t[28]=e("div",{class:"absolute inset-0 bg-[#Fdfbf7]/60 backdrop-blur-[2px] -z-10"},null,-1)),f((s(),a("div",Ft,[...t[26]||(t[26]=[e("span",{class:"text-2xl text-[#a88c6b] tracking-[0.3em] font-light block"},"婚礼流程",-1),e("span",{class:"text-[10px] text-[#8A8680] font-sans uppercase tracking-[0.4em] mt-3 block"},"Wedding Schedule",-1)])])),[[g,"up"]]),e("div",Et,[t[27]||(t[27]=e("div",{class:"absolute left-1/2 top-2 bottom-4 w-[0.5px] bg-[#a88c6b]/40 -translate-x-1/2"},null,-1)),(s(!0),a(z,null,$(n.value.schedule,(o,A)=>(s(),a("div",{key:A,class:p(["flex w-full mb-10 relative z-10",A%2===0?"justify-start":"justify-end"])},[f((s(),a("div",{class:p(["w-[45%] flex flex-col relative bg-white/60 p-4 rounded-xl shadow-sm border-[0.5px] border-[#a88c6b]/10",A%2===0?"text-right items-end":"text-left items-start"])},[e("div",{class:p(["absolute top-[22px] w-2 h-2 rounded-full bg-[#a88c6b] shadow-[0_0_0_4px_rgba(168,140,107,0.15)]",A%2===0?"-right-[28px]":"-left-[28px]"])},null,2),e("span",It,b(o.time),1),e("span",Lt,b(o.event),1),e("span",Dt,b(o.desc),1)],2)),[[g,{variant:A%2===0?"left":"right",delay:A*120}]])],2))),128))])],2),e("div",{class:p(["page-section p-6 flex flex-col items-center justify-center relative",n.value.scrollMode==="snap"?"snap-start":""])},[t[31]||(t[31]=e("div",{class:"absolute top-10 bottom-10 left-6 right-6 border-[0.5px] border-[#a88c6b]/40 rounded-t-[10rem] z-0 bg-[#Fdfbf7]/30"},null,-1)),e("div",Ut,[f((s(),a("div",Rt,[e("img",{src:n.value.heroImg,class:"w-full h-full bg-[#F7F6F2] object-cover"},null,8,qt)])),[[g,{variant:"scale",delay:100}]]),f((s(),a("div",Nt,[t[29]||(t[29]=e("span",{class:"text-xl text-[#a88c6b] tracking-[0.3em] font-light block mb-4"},"期待您的光临",-1)),e("span",jt,b(n.value.hotel),1),e("span",Wt,b(n.value.address),1)])),[[g,{variant:"up",delay:200}]]),f((s(),a("div",Ot,[e("button",{class:"rsvp-cta",onClick:t[2]||(t[2]=o=>k.value=!0)},[...t[30]||(t[30]=[e("span",{class:"rsvp-cta-deco"},"❀",-1),e("span",{class:"rsvp-cta-text"},"填写出席回执",-1),e("span",{class:"rsvp-cta-line"},null,-1)])])])),[[g,{variant:"up",delay:300}]])])],2)],34),k.value?(s(),a("div",{key:2,class:"absolute inset-0 z-[60] bg-black/40 backdrop-blur-sm transition-opacity duration-500",onClick:B})):R("",!0),e("div",{class:"absolute bottom-0 left-0 w-full bg-white rounded-t-[2.5rem] shadow-2xl transition-transform duration-500 z-[70] p-10 flex flex-col",style:S({transform:k.value?"translateY(0)":"translateY(100%)"})},[e("div",{onClick:B,class:"absolute top-6 right-6 p-2 text-[#a88c6b] cursor-pointer hover:text-[#2c2c2c] transition-colors text-xl"},"✕"),t[36]||(t[36]=e("span",{class:"text-xl text-center text-[#a88c6b] mb-1 tracking-[0.3em] font-light mt-2"},"出席回执",-1)),t[37]||(t[37]=e("span",{class:"text-center text-[10px] text-[#8A8680] mb-10 tracking-[0.4em]"},"敬 请 回 复",-1)),T.value?(s(),a("div",Bt,[...t[35]||(t[35]=[e("span",{class:"text-3xl text-[#a88c6b] mb-6 animate-pulse-heart"},"♥",-1),e("span",{class:"text-lg text-[#2c2c2c] mb-3 tracking-[0.2em] font-light"},"感恩您的祝福",-1),e("span",{class:"text-[13px] text-[#8A8680] leading-loose tracking-widest font-light"},"回执已妥投,期待与您共享喜悦",-1)])])):(s(),a("div",Ht,[e("div",null,[t[32]||(t[32]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-1.5 tracking-widest pl-1"},"姓名",-1)),f(e("input",{"onUpdate:modelValue":t[3]||(t[3]=o=>u.name=o),placeholder:"您的姓名",class:"w-full bg-[#Fdfbf7] border-[0.5px] border-[#a88c6b]/30 rounded-xl px-5 py-4 text-[13px] focus:outline-none focus:border-[#a88c6b] shadow-[inset_0_2px_4px_rgba(0,0,0,0.02)]"},null,512),[[J,u.name]])]),e("div",null,[t[33]||(t[33]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-2 tracking-widest pl-1"},"出席情况",-1)),e("div",Vt,[(s(),a(z,null,$(v,o=>e("button",{key:o.value,type:"button",class:p(["rsvp-tag",{active:u.guest_count===o.value}]),onClick:A=>u.guest_count=o.value},b(o.label),11,Pt)),64))])]),e("div",null,[t[34]||(t[34]=e("span",{class:"block text-[10px] text-[#a88c6b] mb-1.5 tracking-widest pl-1"},"祝福语",-1)),f(e("textarea",{"onUpdate:modelValue":t[4]||(t[4]=o=>u.wishes=o),placeholder:"写下您的祝福...",class:"w-full bg-[#Fdfbf7] border-[0.5px] border-[#a88c6b]/30 rounded-xl px-5 py-4 text-[13px] h-24 focus:outline-none resize-none shadow-[inset_0_2px_4px_rgba(0,0,0,0.02)]"},null,512),[[J,u.wishes]])]),e("div",{onClick:me,class:"w-full bg-[#a88c6b] text-white py-4 rounded-full text-center tracking-[0.3em] text-[12px] cursor-pointer hover:bg-[#967b5c] transition-all shadow-md"},"确认发送")]))],4)])}}},Jt=X(Yt,[["__scopeId","data-v-d3dc844f"]]);export{Jt as default};