7 lines
12 KiB
JavaScript
7 lines
12 KiB
JavaScript
import{i as e}from"./rolldown-runtime-DWdDZTNf.js";import{At as t,B as n,Et as r,G as i,H as a,I as o,J as s,K as c,Mt as ee,Nt as l,Tt as u,U as d,W as f,Y as p,Z as m,bt as h,ct as g,it as _,j as te,jt as v,k as y,kt as b,mt as x,ot as S,p as ne,rt as C,st as w,ut as T,vt as E,wt as D,xt as re,y as O,z as k}from"./vue-B11_pI9F.js";import{b as A,n as ie,t as j,x as M}from"./const-BjfH-jZe.js";import{t as N}from"./_plugin-vue_export-helper-B67ILkmu.js";import{a as P,s as F}from"./kimi-DRwOD7EI.js";import{h as ae,t as oe}from"./useMessage-Cpv2N0cC.js";import{L as I,a as L,b as R,l as se,n as ce}from"./index-jtNAhQeK.js";import{ot as le,t as ue}from"./ThumbnailSlide-COLdjDXw.js";import{t as z}from"./kimi.button-DiBbOOiZ.js";import{t as B}from"./dayjs.min-BoSdjn8v.js";import{t as de}from"./dom-CWEl93tC.js";import{t as fe}from"./Loading-DTHKpUX9.js";import{t as pe}from"./Screen-e_2r2R5P.js";import{t as me}from"./usePPTDTitle-senR0KSa.js";var V=[`src`],H=[`min`,`max`],U=72,he=N(m({__name:`Lightbox`,props:{src:{},component:{},componentProps:{},aspectRatio:{},padding:{default:48},minScale:{default:.5},maxScale:{default:5}},emits:[`close`,`navigate`],setup(e,{emit:n}){let s=e,l=n,p=r(!1),m=u(1),{width:_,height:y}=O(),b=u(),w=a(()=>s.aspectRatio??b.value),T=a(()=>{let e=Math.max(_.value-s.padding*2,0),t=Math.max(y.value-s.padding*2-U,0),n=w.value;if(!n)return{width:e,height:t};let r=Math.min(e,t*n);return{width:r,height:r/n}}),E=u(),D=a(()=>({x:_.value/2,y:(y.value-U)/2})),A=a(()=>E.value??D.value),ie=a(()=>({width:`${T.value.width}px`,height:`${T.value.height}px`,left:`${A.value.x-T.value.width/2}px`,top:`${A.value.y-T.value.height/2}px`,transform:`scale(${m.value})`})),j=(e,t)=>{let n=Math.min(Math.max(e,s.minScale),s.maxScale);if(n===m.value)return;let r=n/m.value;E.value={x:t.x-(t.x-A.value.x)*r,y:t.y-(t.y-A.value.y)*r},m.value=n},M=e=>{let t=(e.ctrlKey?1.01:1.0015)**-e.deltaY;j(m.value*t,{x:e.clientX,y:e.clientY})},N=a({get:()=>m.value,set:e=>j(e,D.value)}),P=u(!1),F=null,ae=e=>{e.button===0&&(P.value=!0,F={x:e.clientX,y:e.clientY,center:A.value},e.currentTarget.setPointerCapture(e.pointerId))},oe=e=>{F&&(E.value={x:F.center.x+e.clientX-F.x,y:F.center.y+e.clientY-F.y})},I=()=>{F=null,P.value=!1},L=e=>{let t=e.target;t.naturalWidth&&t.naturalHeight&&(b.value=t.naturalWidth/t.naturalHeight)},R=()=>{p.value=!1,setTimeout(()=>l(`close`),225)};return ne(document,`keydown`,e=>{e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),R()):e.key===`ArrowLeft`||e.key===`ArrowUp`?(e.preventDefault(),e.stopPropagation(),l(`navigate`,-1)):(e.key===`ArrowRight`||e.key===`ArrowDown`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),l(`navigate`,1))},!0),S(()=>{p.value=!0}),(n,r)=>(g(),f(te,{name:`fade`},{default:h(()=>[p.value?(g(),c(`div`,{key:0,class:`lightbox-mask`,onWheel:k(M,[`prevent`]),onClick:k(R,[`self`])},[d(`div`,{class:t([`lightbox-stage`,{dragging:P.value}]),style:ee(ie.value),onPointerdown:ae,onPointermove:oe,onPointerup:I,onPointercancel:I},[e.src?(g(),c(`img`,{key:0,class:t([`lightbox-image`,{ready:w.value}]),src:e.src,draggable:`false`,onLoad:L},null,42,V)):e.component?(g(),f(x(e.component),v(C({key:1},e.componentProps)),null,16)):i(``,!0)],38),d(`div`,{class:`lightbox-toolbar`,onClick:r[1]||(r[1]=k(()=>{},[`stop`]))},[re(d(`input`,{"onUpdate:modelValue":r[0]||(r[0]=e=>N.value=e),class:`lightbox-slider`,type:`range`,min:e.minScale,max:e.maxScale,step:`0.01`},null,8,H),[[o,N.value,void 0,{number:!0}]])])],32)):i(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-1f51c9f5`]]),ge=(e={})=>{let{showModal:t}=R(e);return{showLightbox:async e=>await t({component:he,props:e,immediate:!0})}},_e=e(B(),1),ve=e=>{let{pageOrder:t,slideIndex:n,onFullscreen:r}=e,i=i=>{if(t.value.length===0)return;let a=i.key;a===`ArrowDown`||a===`ArrowRight`||a===` `?(n.value<t.value.length-1&&(n.value++,e.scrollTo?.()),i.preventDefault()):a===`ArrowUp`||a===`ArrowLeft`?(n.value>0&&(n.value--,e.scrollTo?.()),i.preventDefault()):a===`F5`&&(i.preventDefault(),r?.())};S(()=>{document.addEventListener(`keydown`,i)}),w(()=>{document.removeEventListener(`keydown`,i)})},ye=e=>{let{pageOrder:t,slideIndex:n}=e,r=u(!1),i=u(!0),a=()=>{if(t.value.length===0)return;let e=document.querySelectorAll(`[data-slide-index]`),r=window.scrollY+window.innerHeight/2,i=n.value,a=1/0;e.forEach(e=>{let t=e.getBoundingClientRect(),n=window.scrollY+t.top+t.height/2,o=Math.abs(n-r),s=Number(e.getAttribute(`data-slide-index`));o<a&&(a=o,i=s)}),i!==n.value&&(n.value=i)},o,s=()=>{i.value&&(r.value=!0,clearTimeout(o),o=setTimeout(()=>{a(),r.value=!1},120))};return S(()=>{window.addEventListener(`scroll`,s)}),w(()=>{window.removeEventListener(`scroll`,s),clearTimeout(o)}),{enableSync:i,isUserScrolling:r}},be=`<svg width="8" height="18" viewBox="0 0 8 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M2.38456 8.43278L7.43792 0.344848C7.57393 0.13865 7.47279 0 7.26703 0H5.40123C5.26522 0 5.19896 0.0355513 5.12921 0.13865L0.0758527 8.32968C-0.0252842 8.50388 -0.0252842 8.64253 0.0758527 8.81318L5.12921 17.0042C5.19547 17.1073 5.26522 17.1429 5.40123 17.1429H7.26703C7.46931 17.1429 7.57393 17.0042 7.43792 16.798L2.38456 8.71008C2.3183 8.57143 2.3183 8.53588 2.38456 8.43278Z" fill="currentColor"/>
|
|
</svg>
|
|
`,xe=`<svg width="8" height="18" viewBox="0 0 8 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M5.11544 8.43278L0.062081 0.344848C-0.0739307 0.13865 0.0272029 0 0.232964 0H2.09877C2.23478 0 2.30104 0.0355513 2.37079 0.13865L7.42415 8.32968C7.52528 8.50388 7.52528 8.64253 7.42415 8.81318L2.37079 17.0042C2.30453 17.1073 2.23478 17.1429 2.09877 17.1429H0.232964C0.0306903 17.1429 -0.0739307 17.0042 0.062081 16.798L5.11544 8.71008C5.1817 8.57143 5.1817 8.53588 5.11544 8.43278Z" fill="currentColor"/>
|
|
</svg>
|
|
`,Se={key:0,class:`top-bar`},Ce={class:`top-bar-left`},we=[`href`],Te=[`innerHTML`],Ee={class:`slides-home-name`},De=[`innerHTML`],Oe={key:0,class:`top-bar-title`},ke={class:`top-bar-desc`},Ae=[`href`],je=[`href`],Me=[`href`],Ne=[`href`],Pe={key:1,class:`info-content`},Fe={key:1,class:`invalid-content`},Ie=[`href`],W=N(m({__name:`Share`,setup(e){let{t:r}=I(),o=oe(),{showLightbox:m}=ge(),{importFSJSON:te,meta:v,pages:x,pageOrder:C,pageSize:w}=le(),{setPPTDTitle:re}=me(),O=u(!0),k=u(!0),N=u(!1),R=se(P),B=y(),V=(e=>e===`https://slides.kimi.link`?j:e===`https://slides.kimi.page`?ie:e)(location.origin),H=u(F.PPTD),U=a(()=>H.value===F.PPTD),he=a(()=>U.value?`PPT`:`ImageCreate`),W=a(()=>typeof B.params.id==`string`?B.params.id:void 0),Le=a(()=>H.value===F.DESIGN?`Design`:r(`common.nameEN`)),Re=a(()=>H.value===F.DESIGN?r(`share.createDesign`):r(`share.create`)),G=a(()=>{let e=H.value===F.DESIGN?`design`:`slides`;return A?`${V}/${e}`:`${location.origin}/${e}`}),ze=a(()=>B.query.raw!==void 0),Be=a(()=>`${V}/report?reportUrl=${encodeURIComponent(location.href)}`),K=u(``),Ve=a(()=>K.value?`${r(`share.updateTime`)}${K.value}`:``),He=a(()=>w.value[1]/w.value[0]),q=u(0),{enableSync:J}=ye({pageOrder:C,slideIndex:q}),Y=u({}),Ue=u(null),We=e=>{let t=C.value[e];t&&(Ue.value=t,Y.value={...Y.value,[t]:(Y.value[t]??0)+1})},Ge=(e,t)=>({enabled:Ue.value===e&&q.value===t,replayKey:Y.value[e]??0}),Ke=()=>{L(`msh_nppt_share_visit_screening`,{share_id:W.value}),N.value=!0},qe=e=>{e.stopPropagation(),Ke()},X=async()=>{J.value=!1,de(document.querySelector(`[data-slide-index="${q.value}"]`)??void 0,{pos:U.value?`center`:`start`}),await new Promise(e=>setTimeout(e,100)),J.value=!0},Je=e=>{let t=C.value[e],n=t?x.value.get(t):void 0;if(!n)return;let r=D({slide:n,pageWidth:w.value[0],pageHeight:w.value[1]});m({component:ue,componentProps:r,aspectRatio:w.value[0]/w.value[1],onNavigate:e=>{let t=q.value+e,n=C.value[t],i=n?x.value.get(n):void 0;i&&(q.value=t,r.slide=i,X())}})},Ye=e=>{q.value=e,X(),H.value===F.DESIGN&&Je(e)};ve({pageOrder:C,slideIndex:q,onFullscreen:Ke,scrollTo:X});let Z=0,Q=()=>{!U.value||Z||M||(Z=requestAnimationFrame(()=>{Z=0;let e=document.querySelectorAll(`.slide`),t=window.innerHeight/2,n=window.innerHeight*.2,r=window.innerHeight*.5;e.forEach(e=>{let i=e.getBoundingClientRect(),a=i.top+i.height/2,o=Math.abs(a-t),s=1-Math.min(Math.max((o-n)/(r-n),0),1)*.01;e.style.scale=`${s}`})}))},Xe=async()=>{if(!W.value){k.value=!1,O.value=!1;return}if(!A){o.error(r(`share.linkError`)),k.value=!1,O.value=!1;return}try{let e=await R.getSlidesShare({shareId:W.value});if(!e.payloadUrl)throw Error(`invalid share`);let t=await fetch(e.payloadUrl);if(!t.ok)throw Error(`failed to fetch share payload: ${t.status}`);te(await t.json()),H.value=e.type,e.shareTime&&(K.value=(0,_e.default)(ae(e.shareTime)).format(`YYYY-MM-DD HH:mm`))}catch(e){ce(e),k.value=!1}finally{O.value=!1,await _(),Q()}},$=e=>{L(`msh_nppt_share_visit_home`,{share_id:W.value,from:e})};return E(()=>v.value.title,e=>re(e),{immediate:!0}),E(q,We),ne(`scroll`,Q),S(async()=>{L(`msh_nppt_share_visit_pv`,{share_id:W.value}),await Xe(),X()}),(e,a)=>N.value?(g(),f(pe,{key:0,"start-index":q.value,onExit:a[0]||(a[0]=e=>N.value=!1)},null,8,[`start-index`])):(g(),c(`div`,{key:1,class:t([`share-page`,{raw:ze.value,pptd:U.value}])},[ze.value?i(``,!0):(g(),c(`div`,Se,[d(`div`,Ce,[d(`a`,{class:`slides-home`,href:G.value,onClick:a[1]||(a[1]=e=>$(`home`))},[a[5]||(a[5]=d(`img`,{class:`logo`,src:`data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGcAAAAjBAMAAAB7pgmwAAAAMFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABaPxwLAAAAEHRSTlPlAB1WqslzOY8O14ErumVHuHNhDQAAAfJJREFUOMt91c1OU1EQwPG/tFihUhgkQGm1NKZxZWITNybGyBtcXbugie5hdWPiQpbubOJKY1LeABIfQBdGwwreoLwBvAFnziygZ87lpB/TOfPL3PTOaQmrL7a+AU2RHsyHT6/RdWZb2+i6K7IKbN9A7VPgQOTBTbRgexdV6CdwTxK0bHufK9BqoY1S1DR0WoEGsWQG/YIlu3LgvUfWaDSLXgFjTW0A/zNoYO1n0EtgX1MdWNz0yBolaDjBcmtQzyBrlKLw3NHUCrQ8skYO7cKhpvag4ZE1cigU39fUFO441J1oI4++Qkss3nHoBKiJR2s2IzKB4xTFRsMM6ljY1a8+RdYog3q6GzOME/TYGmVQ2zY2dZwSFEd4lENSwLHIQ2gmyNZSP4eO4jEMVctZxLscegYL8QjO5VD+PmmPhmi/Nx7V43kbe7QV0jE88Gg41de3DmllXUQrHKpJtyCUXjr0CBbjEfzj0FDkKYRkimwW1lUmyIbhSKMvKdKpO9cj6NC5lq5rNN9Pkc73FrQcstv6V8P6iwRN4fA3NPLIDi8kaA/mFFYg+ZFD36Gml1iFZNch+x0qYFSJNgqPOsS1X4lk4FHP0LgayQeH2jabcguS55ME2f9FM0FlWV6bkAyPsvwUon9lqWP/pAzro+7YW/i0cgXm+ovFEUe3UwAAAABJRU5ErkJggg==`,alt:`Kimi`},null,-1)),d(`span`,{class:`slides-home-icon`,"aria-hidden":`true`,innerHTML:b(be)},null,8,Te),d(`span`,Ee,l(Le.value),1),d(`span`,{class:`slides-home-icon`,"aria-hidden":`true`,innerHTML:b(xe)},null,8,De)],8,we),k.value?(g(),c(`div`,Oe,l(b(v).title),1)):i(``,!0)]),!O.value&&k.value?(g(),c(`div`,{key:0,class:t([`top-bar-right`,{small:b(M)}])},[d(`div`,ke,l(Ve.value),1),b(M)?(g(),c(n,{key:0},[d(`a`,{href:Be.value,target:`_blank`,rel:`noopener noreferrer`},[p(b(z),{type:`icon`,icon:`Message`})],8,Ae),p(b(z),{class:`btn-play`,type:`icon`,icon:`Play`,onClick:qe}),d(`a`,{href:G.value,target:`_blank`,onClick:a[2]||(a[2]=e=>$(`create`))},[p(b(z),{icon:`PPT`,type:`primary`},{default:h(()=>[s(l(Le.value),1)]),_:1})],8,je)],64)):(g(),c(n,{key:1},[d(`a`,{href:Be.value,target:`_blank`,rel:`noopener noreferrer`},[p(b(z),{type:`icon`,icon:`Message`,tooltip:b(r)(`share.report`),"tooltip-placement":`bottom`},null,8,[`tooltip`])],8,Me),p(b(z),{class:`btn-play`,type:`secondary`,icon:`Play`,onClick:qe},{default:h(()=>[s(l(b(r)(`basic.screen`)),1)]),_:1}),d(`a`,{href:G.value,target:`_blank`,onClick:a[3]||(a[3]=e=>$(`create`))},[p(b(z),{icon:he.value,type:`primary`},{default:h(()=>[s(l(Re.value),1)]),_:1},8,[`icon`])],8,Ne)],64))],2)):i(``,!0)])),O.value||!k.value?(g(),c(`div`,Pe,[O.value?(g(),f(fe,{key:0,class:`loading-icon`})):k.value?i(``,!0):(g(),c(`div`,Fe,[a[6]||(a[6]=d(`img`,{src:`./invalid-K3otyC6h.png`},null,-1)),d(`div`,null,l(b(r)(`share.linkInvalid`)),1),d(`a`,{href:G.value,onClick:a[4]||(a[4]=e=>$(`invalid`))},[p(b(z),{type:`primary`,icon:`PPT`},{default:h(()=>[s(l(Re.value),1)]),_:1})],8,Ie)]))])):(g(),c(`div`,{key:2,class:`slides`,style:ee({"--pageWidth":`${b(w)[0]}px`,"--viewportRatio":He.value})},[(g(!0),c(n,null,T(b(C),(e,r)=>(g(),c(n,{key:e},[b(x).get(e)?(g(),f(ue,{key:0,class:t([`slide`,{current:U.value&&q.value===r}]),"data-slide-index":r,slide:b(x).get(e),"page-width":b(w)[0],"page-height":b(w)[1],"chart-animation":Ge(e,r),"interactive-element-types":[`chart`],onClick:e=>Ye(r)},null,8,[`class`,`data-slide-index`,`slide`,`page-width`,`page-height`,`chart-animation`,`onClick`])):i(``,!0)],64))),128))],4))],2))}}),[[`__scopeId`,`data-v-e7603675`]]);export{W as default}; |