Files
open-kimi-ppt-skill/editor/neo-ppt/assets/Screen-e_2r2R5P.js
T

1 line
8.2 KiB
JavaScript

import{At as e,C as t,Et as n,G as r,H as i,K as a,Mt as o,Nt as s,Tt as c,U as l,W as u,Y as d,Z as f,bt as p,ct as m,it as h,kt as g,ot as ee,p as _,vt as v,wt as y,z as b}from"./vue-B11_pI9F.js";import{t as x}from"./_plugin-vue_export-helper-B67ILkmu.js";import{L as te,a as S,v as C}from"./index-jtNAhQeK.js";import{I as ne,a as re,d as ie,et as ae,i as oe,o as se,ot as ce,s as le,t as w}from"./ThumbnailSlide-COLdjDXw.js";import{n as ue,t as T}from"./kimi.button-DiBbOOiZ.js";import{a as E,c as D,i as O,n as de,r as fe,s as k,t as pe}from"./slideTransition-qR4hDwBa.js";import{r as me}from"./menuExclusive-DWJqMbvd.js";import{t as he}from"./PopoverMenu-D6aS9gI3.js";var A=()=>{let e=document.documentElement;return e.requestFullscreen?e.requestFullscreen():e.mozRequestFullScreen?e.mozRequestFullScreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.msRequestFullscreen?e.msRequestFullscreen():Promise.resolve()},j=()=>document.exitFullscreen?document.exitFullscreen():document.mozCancelFullScreen?Promise.resolve(document.mozCancelFullScreen()):document.webkitExitFullscreen?Promise.resolve(document.webkitExitFullscreen()):document.msExitFullscreen?Promise.resolve(document.msExitFullscreen()):Promise.resolve(),M=()=>!!(document.fullscreenElement??document.mozFullScreenElement??document.webkitFullscreenElement??document.msFullscreenElement),N=`neo-design-presenter`,P=()=>({left:Math.round(window.screenX+(window.outerWidth-420)/2),top:Math.round(window.screenY+(window.outerHeight-240)/2)}),F=()=>{let{left:e,top:t}=P();return[`popup`,`width=420`,`height=240`,`left=${e}`,`top=${t}`].join(`,`)},I=(e=`about:blank`)=>window.open(e,N,F()),L={class:`slide-container`},R={class:`slide-container`},ge=x(f({__name:`ThumbnailSlideSwitcher`,props:{slide:{},pageWidth:{},pageHeight:{},slideWidth:{},effect:{default:`horizontal-blinds`},chartAnimation:{},interactive:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},getAnimationSession:{type:Function,default:void 0}},emits:[`before-switch`,`after-switch`],setup(e,{emit:t}){let n=e,r=t;function i(e){return e}function a(e){return e===`from`?{enabled:!1}:n.chartAnimation}return(e,t)=>(m(),u(g(k),{class:`thumbnail-slide-switcher`,"switch-key":n.slide.pageId,item:n.slide,effect:n.effect,disabled:n.disabled,onBeforeSwitch:t[0]||(t[0]=e=>r(`before-switch`)),onAfterSwitch:t[1]||(t[1]=e=>r(`after-switch`))},{from:p(({item:e,phase:t})=>[l(`div`,L,[l(`div`,{class:`slide-wrapper`,style:o({width:`${n.slideWidth}px`})},[d(w,{slide:i(e),"page-width":n.pageWidth,"page-height":n.pageHeight,"chart-animation":a(t),interactive:n.interactive,"animation-session":n.getAnimationSession?.(i(e))},null,8,[`slide`,`page-width`,`page-height`,`chart-animation`,`interactive`,`animation-session`])],4)])]),to:p(({item:e,phase:t})=>[l(`div`,R,[l(`div`,{class:`slide-wrapper`,style:o({width:`${n.slideWidth}px`})},[d(w,{slide:i(e),"page-width":n.pageWidth,"page-height":n.pageHeight,"chart-animation":a(t),interactive:n.interactive,"animation-session":n.getAnimationSession?.(i(e))},null,8,[`slide`,`page-width`,`page-height`,`chart-animation`,`interactive`,`animation-session`])],4)])]),_:1},8,[`switch-key`,`item`,`effect`,`disabled`]))}}),[[`__scopeId`,`data-v-8b20498e`]]),_e={class:`tools-left`},ve={key:0,class:`presenter-button`},ye={class:`effect-menu-trigger`},be={class:`page-number`},xe={class:`screen-close-button`},Se=1800,Ce=.75,z=x(f({__name:`Screen`,props:{startIndex:{},currentPageId:{},autoFullscreen:{type:Boolean,default:!0},control:{type:Boolean,default:!0},presenterEntry:{type:Boolean,default:!1}},emits:[`exit`,`page-change`,`presenter`],setup(o,{emit:f}){let x=o,w=f,{pages:k,pageOrder:N,pageSize:P}=ce(),{t:F}=te(),L=ue();ne(`screen`),ie();let R=c(0),z=c(0),B=c(!1),V=c(!1),H=c(!1),U=ae(fe,de,O),W=c(U.value===`random`?je():U.value===`none`?pe:U.value),we=i(()=>[{label:F(E.none),value:`none`},`divider`,...D.map(e=>({label:F(E[e]),value:e})),`divider`,{label:F(E.random),value:`random`}]),Te=i(()=>F(E[U.value])),Ee=i(()=>U.value===`none`),De=i(()=>x.control&&(V.value||H.value)),Oe=i(()=>x.presenterEntry),ke=i(()=>P.value[1]/P.value[0]),Ae=i(()=>Math.min(R.value,z.value/ke.value)),G=c(0),K=!1;x.startIndex>=0&&x.startIndex<N.value.length&&(G.value=x.startIndex);function je(){return D[Math.floor(Math.random()*D.length)]??`fade`}let q=()=>{U.value!==`none`&&(W.value=U.value===`random`?je():U.value)},{start:Me,stop:Ne}=t(()=>{V.value=!1},Se,{immediate:!1}),Pe=()=>{if(x.control){if(V.value=!0,H.value){Ne();return}Me()}},Fe=e=>{let t=z.value||window.innerHeight;e.clientY<t*Ce||Pe()},Ie=e=>{if(e<0||e>=N.value.length||G.value===e)return;q(),G.value=e;let t=N.value[e];t&&w(`page-change`,{pageId:t,index:e})},Le=()=>{let e=N.value[G.value];return e?{pageId:e,index:G.value}:null},J=i(()=>{let e=N.value[G.value];return e?k.value.get(e):void 0}),Re=i(()=>`${G.value+1} / ${N.value.length}`),Y=n(null),X=null,ze=e=>{let t=e?.animations;return t?.length?y(se(t)):null},Z=()=>{let e=Y.value;e&&re(e)},Be=e=>{if(e.pageId===J.value?.pageId)return Y.value??void 0;if(e.pageId===X?.pageId)return X.session};v(()=>J.value?.pageId,(e,t)=>{let n=Y.value;X=t&&n?{pageId:t,session:n}:null,Y.value=ze(e?k.value.get(e):void 0),e&&Ee.value&&h(Z)},{immediate:!0});let Ve=()=>{B.value=!0},He=()=>{B.value=!1,X=null,Z()};_(window,`resize`,()=>{R.value=window.innerWidth,z.value=window.innerHeight}),_(document,`mousemove`,Fe);let Q=()=>{if(B.value)return;let e=Y.value;if(e&&e.states.some(e=>e!==`pending`)){Y.value=y(se(e.animations));return}G.value>0&&Ie(G.value-1)},$=e=>{if(!(e&&e.target.closest(`a`))&&!B.value&&!(Y.value&&le(Y.value))&&!(Y.value&&oe(Y.value))){if(G.value<N.value.length-1){Ie(G.value+1);return}N.value.length>0&&L.info(F(`basic.lastPage`))}},Ue=()=>{M()&&j(),w(`exit`)},We=async()=>{let e=Le();if(!e)return;let t=I();if(K=!0,M())try{await j()}catch{}if(M()){K=!1,t?.close();return}w(`presenter`,e,t),window.setTimeout(()=>{K=!1})};_(document,`keydown`,e=>{let t={ArrowLeft:Q,ArrowUp:Q,ArrowRight:$,ArrowDown:$," ":$,Escape:Ue}[e.key];t&&(e.preventDefault(),t())}),_(document,`fullscreenchange`,()=>{if(!M()){if(K)return;w(`exit`)}});let Ge=e=>{if(!e)return;let t=N.value.indexOf(e);t!==-1&&(G.value!==t&&q(),G.value=t)},Ke=e=>{let t=O(e);t!==U.value&&(U.value=t,q(),S(`msh_nppt_screen_effect_switch`,{effect:t,from:`screen`}))},qe=e=>{if(H.value=e,e){Pe(),Ne();return}Me()};return v(()=>[x.currentPageId,N.value.join(`|`)],([e])=>Ge(e),{immediate:!0}),ee(()=>{R.value=window.innerWidth,z.value=window.innerHeight,h(Z),x.autoFullscreen&&A().then(()=>{S(`msh_nppt_screening`,{type:`fullscreen`,is_success:!0})}).catch(()=>{S(`msh_nppt_screening`,{type:`fullscreen`,is_success:!1,error_reason:`fullscreen_failed`}),L.error(F(`screen.fullscreenFailed`))})}),(t,n)=>(m(),a(`div`,{class:`screen`,onClick:n[4]||(n[4]=e=>$(e))},[J.value?(m(),u(ge,{key:0,slide:J.value,"page-width":g(P)[0],"page-height":g(P)[1],"slide-width":Ae.value,effect:W.value,disabled:Ee.value,"get-animation-session":Be,interactive:``,onBeforeSwitch:Ve,onAfterSwitch:He},null,8,[`slide`,`page-width`,`page-height`,`slide-width`,`effect`,`disabled`])):r(``,!0),o.control&&g(N).length?(m(),a(`div`,{key:1,class:e([`screen-controls`,{"is-visible":De.value}])},[l(`div`,_e,[l(`button`,{type:`button`,class:`tool-btn`,onClick:n[0]||(n[0]=b(e=>Q(),[`stop`]))},[d(g(C),{name:`Left_b`})]),l(`button`,{type:`button`,class:`tool-btn`,onClick:n[1]||(n[1]=b(e=>$(),[`stop`]))},[d(g(C),{name:`Right_b`})])]),l(`div`,{class:`tools-right`,onClick:n[2]||(n[2]=b(()=>{},[`stop`])),onKeydown:n[3]||(n[3]=b(()=>{},[`stop`]))},[Oe.value?(m(),a(`span`,ve,[d(g(T),{type:`icon`,size:`small`,icon:`Local`,tooltip:g(F)(`presenter.mode`),"tooltip-placement":`top`,onClick:b(We,[`stop`])},null,8,[`tooltip`])])):r(``,!0),d(he,{class:`effect-menu`,"content-class":`effect-menu-content`,"float-options":{teleport:!0,placement:`top`,align:`end`,offset:6,withinWindow:!0,zIndex:220},"onUpdate:open":qe},{trigger:p(()=>[l(`span`,ye,s(Te.value),1)]),popover:p(()=>[d(me,{class:`effect-menu-list`,"menu-list":we.value,"active-menu":g(U),onClick:Ke},null,8,[`menu-list`,`active-menu`])]),_:1}),l(`div`,be,s(Re.value),1),l(`div`,xe,[d(g(T),{type:`icon`,icon:`Close`,size:`small`,danger:``,tooltip:g(F)(`topBar.close`),"tooltip-placement":`top-right`,onClick:b(Ue,[`stop`])},null,8,[`tooltip`])])],32)],2)):r(``,!0)]))}}),[[`__scopeId`,`data-v-a6f7cc7b`]]);export{A as i,P as n,I as r,z as t};