pptx-vanilla-viewer 1.7.2 → 1.7.3

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/CHANGELOG.md CHANGED
@@ -4,6 +4,8 @@ All notable changes to this project are documented here.
4
4
  This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
5
5
  by [git-cliff](https://git-cliff.org); do not edit it by hand.
6
6
 
7
+ ## [1.7.2](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vanilla-viewer@1.7.2) - 2026-07-30
8
+
7
9
  ## [1.7.1](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vanilla-viewer@1.7.1) - 2026-07-29
8
10
 
9
11
  ## [1.7.0](https://github.com/ChristopherVR/pptx-viewer/releases/tag/pptx-vanilla-viewer@1.7.0) - 2026-07-27
@@ -1 +1 @@
1
- 'use strict';var chunkRM6Q4LNQ_cjs=require('./chunk-RM6Q4LNQ.cjs');require('./chunk-4VDLQK6F.cjs');function j(e){let{doc:t,t:n,controller:i}=e,p=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-focus"),m=(c,s,d)=>{let r=chunkRM6Q4LNQ_cjs.uf(t,"button","pptxv-ai-focus-btn");return r.type="button",r.title=s,r.setAttribute("aria-label",s),r.appendChild(chunkRM6Q4LNQ_cjs.Df(t,c)),r.addEventListener("click",d),r},x=()=>{p.replaceChildren();let c=i.getEffectiveTargets(),s=i.hasPicks(),d=i.isPinned(),r=i.isPicking(),f=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-focus-row"),b=chunkRM6Q4LNQ_cjs.uf(t,"span","pptxv-ai-focus-label");b.textContent=n("pptx.ai.focusScope"),f.appendChild(b);for(let h of chunkRM6Q4LNQ_cjs.pf(c,e.getSlides())){let T=chunkRM6Q4LNQ_cjs.uf(t,"span","pptxv-ai-focus-chip");(s||d)&&T.classList.add("is-strong"),T.title=h.title,T.textContent=h.label,f.appendChild(T);}if(d){let h=chunkRM6Q4LNQ_cjs.uf(t,"span","pptxv-ai-focus-pinned");h.textContent=n("pptx.ai.pinnedFocus"),f.appendChild(h);}let u=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-focus-actions"),C=chunkRM6Q4LNQ_cjs.qf(c,e.getSlides());if(C){let h=chunkRM6Q4LNQ_cjs.uf(t,"button","pptxv-ai-focus-merge");h.type="button",h.append(chunkRM6Q4LNQ_cjs.Df(t,"git-merge"),t.createTextNode(n("pptx.ai.mergeSelectedTables"))),h.addEventListener("click",()=>e.onSendDirective(chunkRM6Q4LNQ_cjs.rf(C.slideIndex,C.elementIdA,C.elementIdB))),u.appendChild(h);}let v=m("crosshair",n("pptx.ai.pickElement"),()=>r?i.stopPicking():i.startPicking());if(v.setAttribute("aria-pressed",String(r)),v.classList.toggle("is-active",r),u.appendChild(v),s?u.appendChild(m("close",n("pptx.ai.pickClear"),()=>i.clearPicks())):d?u.appendChild(m("pin-off",n("pptx.ai.clearFocus"),()=>i.clearPinnedFocus())):u.appendChild(m("pin",n("pptx.ai.pinFocus"),()=>i.pinFocus())),f.appendChild(u),p.appendChild(f),r){let h=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-focus-pick"),T=chunkRM6Q4LNQ_cjs.Df(t,"crosshair");T.classList.add("pptxv-ai-focus-pick-icon");let A=chunkRM6Q4LNQ_cjs.uf(t,"span","pptxv-ai-focus-pick-hint");A.textContent=n("pptx.ai.pickElementHint");let P=chunkRM6Q4LNQ_cjs.uf(t,"button","pptxv-ai-focus-pick-done");P.type="button",P.textContent=n("pptx.ai.pickDone"),P.addEventListener("click",()=>i.stopPicking()),h.append(T,A,P),p.appendChild(h);}},a=i.subscribe(x);return x(),{el:p,destroy(){a(),p.remove();}}}var J={view:"eye",text:"text-box",shape:"shapes",theme:"font-color",table:"table",slide:"layout",chart:"chart",move:"move-right",delete:"trash",search:"search",nav:"move-right",animation:"play",notes:"sticky-note",tool:"wrench"};function R(e,t,n){let i=t.state==="output-error",p=t.state==="output-available",m=!i&&!p,x=chunkRM6Q4LNQ_cjs.Mf(t.toolName,t.input,m?"present":"past"),a=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-tool"),c=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-tool-head"),s=chunkRM6Q4LNQ_cjs.Df(e,J[x.icon]??"wrench");s.classList.add("pptxv-ai-tool-icon");let d=chunkRM6Q4LNQ_cjs.uf(e,"span","pptxv-ai-tool-name");d.textContent=x.label;let r=chunkRM6Q4LNQ_cjs.uf(e,"span","pptxv-ai-tool-state");if(i?(r.classList.add("is-error"),r.append(chunkRM6Q4LNQ_cjs.Df(e,"alert"),e.createTextNode(n("pptx.ai.toolFailed")))):p?(r.classList.add("is-done"),r.append(chunkRM6Q4LNQ_cjs.Df(e,"check"),e.createTextNode(n("pptx.ai.toolDone")))):(r.classList.add("is-running"),r.textContent=n("pptx.ai.toolRunning")),c.append(s,d,r),a.appendChild(c),i&&t.errorText){let b=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-tool-error");b.textContent=t.errorText,a.appendChild(b);}let f=chunkRM6Q4LNQ_cjs.Lf(t.input);if(f){let b=chunkRM6Q4LNQ_cjs.uf(e,"details","pptxv-ai-tool-details"),u=chunkRM6Q4LNQ_cjs.uf(e,"summary");u.textContent=n("pptx.ai.toolDetails");let C=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-tool-raw");C.textContent=`${chunkRM6Q4LNQ_cjs.Kf(t.toolName)}: ${f}`,b.append(u,C),a.appendChild(b);}return a}function U(e,t,n,i){t.replaceChildren();for(let p of n){if(p.role==="system")continue;let m=p.role==="user",x=chunkRM6Q4LNQ_cjs.Jf(p);if(x.length===0&&!m)continue;let a=chunkRM6Q4LNQ_cjs.uf(e,"div",`pptxv-ai-msg pptxv-ai-msg-${p.role}`),c=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-msg-avatar");c.setAttribute("aria-label",i(m?"pptx.ai.you":"pptx.ai.assistant")),c.appendChild(chunkRM6Q4LNQ_cjs.Df(e,m?"comment":"sparkles"));let s=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-msg-body");for(let d of x)if(d.kind==="text"){let r=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-msg-text");r.textContent=d.text,s.appendChild(r);}else s.appendChild(R(e,d,i));a.append(c,s),t.appendChild(a);}}function $(e,t,n,i,p){if(t.replaceChildren(),t.hidden=n.length===0,n.length===0)return;let m=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-proposals-header"),x=chunkRM6Q4LNQ_cjs.uf(e,"span","pptxv-ai-proposals-title");if(x.textContent=i("pptx.ai.pendingChanges",{count:n.length}),m.appendChild(x),n.length>1){let a=chunkRM6Q4LNQ_cjs.uf(e,"button","pptxv-ai-proposal-btn is-accept-all");a.type="button",a.textContent=i("pptx.ai.acceptAll"),a.addEventListener("click",()=>p.acceptAll()),m.appendChild(a);}t.appendChild(m);for(let a of n)t.appendChild(Q(e,a,i,p));}function Q(e,t,n,i){let p=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-proposal");p.dataset.proposalId=t.id;let m=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-proposal-eyebrow");m.textContent=n("pptx.ai.proposedChange"),p.appendChild(m);let x=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-proposal-label");if(x.textContent=t.label,p.appendChild(x),t.summary.length>0){let d=chunkRM6Q4LNQ_cjs.uf(e,"ul","pptxv-ai-proposal-summary");for(let r of t.summary){let f=chunkRM6Q4LNQ_cjs.uf(e,"li");f.textContent=chunkRM6Q4LNQ_cjs.Ff(r),d.appendChild(f);}p.appendChild(d);}let a=chunkRM6Q4LNQ_cjs.uf(e,"div","pptxv-ai-proposal-actions"),c=chunkRM6Q4LNQ_cjs.uf(e,"button","pptxv-ai-proposal-btn is-accept");c.type="button",c.append(chunkRM6Q4LNQ_cjs.Df(e,"check"),e.createTextNode(n("pptx.ai.accept"))),c.addEventListener("click",()=>i.accept(t.id));let s=chunkRM6Q4LNQ_cjs.uf(e,"button","pptxv-ai-proposal-btn is-reject");return s.type="button",s.append(chunkRM6Q4LNQ_cjs.Df(e,"close"),e.createTextNode(n("pptx.ai.reject"))),s.addEventListener("click",()=>i.reject(t.id)),a.append(c,s),p.appendChild(a),p}async function gt(e){let{doc:t,host:n,t:i}=e;n.replaceChildren();let p=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-header"),m=chunkRM6Q4LNQ_cjs.uf(t,"span","pptxv-ai-title");m.textContent=i("pptx.ai.title"),p.append(chunkRM6Q4LNQ_cjs.Df(t,"sparkles"),m);let x,a=e.controller,c=a?j({doc:t,t:i,controller:a,getSlides:()=>e.bridge.getSlides(),onSendDirective:l=>{x?.sendMessage(l);}}):null,s=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-messages");s.setAttribute("role","log"),s.setAttribute("aria-live","polite");let d=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-empty");d.textContent=i("pptx.ai.emptyHint"),s.appendChild(d);let r=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-proposals");r.hidden=true;let f=chunkRM6Q4LNQ_cjs.uf(t,"div","pptxv-ai-error");f.setAttribute("role","alert"),f.hidden=true;let b=chunkRM6Q4LNQ_cjs.uf(t,"form","pptxv-ai-composer"),u=chunkRM6Q4LNQ_cjs.uf(t,"textarea","pptxv-ai-input");u.rows=2,u.placeholder=i("pptx.ai.placeholder");let C=chunkRM6Q4LNQ_cjs.uf(t,"button","pptxv-ai-send");C.type="submit",C.setAttribute("aria-label",i("pptx.ai.send")),C.appendChild(chunkRM6Q4LNQ_cjs.Df(t,"send")),b.append(u,C),n.append(p,...c?[c.el]:[],s,r,f,b);try{x=await(e.createChat??chunkRM6Q4LNQ_cjs.If)({bridge:e.bridge,config:e.config});}catch{return d.textContent=i("pptx.ai.unavailableTitle"),u.disabled=true,C.disabled=true,c?.destroy(),{destroy:()=>n.replaceChildren()}}let v=x,h=new Set,T=l=>{if(!a)return;let y=l.messages.flatMap(q=>chunkRM6Q4LNQ_cjs.Jf(q).filter(G=>G.kind==="tool")).at(-1);if(!y||y.kind!=="tool"||y.state==="input-streaming"||h.has(y.toolCallId))return;h.add(y.toolCallId);let k=chunkRM6Q4LNQ_cjs.Nf(y.toolName,y.input);k&&k.slideIndex!==void 0&&e.goToSlide?.(k.slideIndex),a.flashToolTarget(k);},A=l=>{U(t,s,l.messages,i),d.hidden=l.messages.length>0,l.messages.length===0&&s.appendChild(d),$(t,r,v.proposals.list(),i,{accept:y=>{a?.flashToolTarget(null),v.proposals.apply(y),A(v.getSnapshot());},reject:y=>{v.proposals.revert(y),A(v.getSnapshot());},acceptAll:()=>{a?.flashToolTarget(null),v.proposals.acceptAll(),A(v.getSnapshot());}});let S=l.status==="submitted"||l.status==="streaming";n.classList.toggle("is-busy",S),C.setAttribute("aria-label",i(S?"pptx.ai.stop":"pptx.ai.send")),f.hidden=!l.error,f.textContent=l.error?i("pptx.ai.errorPrefix"):"",s.scrollTop=s.scrollHeight,T(l);},P=()=>{if(n.classList.contains("is-busy")){v.stop();return}let l=u.value.trim();l&&(u.value="",v.sendMessage(l));};b.addEventListener("submit",l=>{l.preventDefault(),P();}),u.addEventListener("keydown",l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),P());});let w=a?.getPrefill().nonce??0,z=()=>{if(!a)return;let l=a.getPrefill();l.nonce!==w&&(w=l.nonce,u.value=l.text,u.focus());},K=a?.subscribe(z),O=v.subscribe(A);return A(v.getSnapshot()),{changeAnimator:v.changeAnimator,destroy(){O(),K?.(),c?.destroy(),n.replaceChildren();}}}exports.createAiPanel=gt;
1
+ 'use strict';var chunkOIWUOGCL_cjs=require('./chunk-OIWUOGCL.cjs');require('./chunk-4VDLQK6F.cjs');function j(e){let{doc:t,t:n,controller:i}=e,p=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-focus"),m=(c,s,d)=>{let r=chunkOIWUOGCL_cjs.uf(t,"button","pptxv-ai-focus-btn");return r.type="button",r.title=s,r.setAttribute("aria-label",s),r.appendChild(chunkOIWUOGCL_cjs.Df(t,c)),r.addEventListener("click",d),r},x=()=>{p.replaceChildren();let c=i.getEffectiveTargets(),s=i.hasPicks(),d=i.isPinned(),r=i.isPicking(),f=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-focus-row"),b=chunkOIWUOGCL_cjs.uf(t,"span","pptxv-ai-focus-label");b.textContent=n("pptx.ai.focusScope"),f.appendChild(b);for(let h of chunkOIWUOGCL_cjs.pf(c,e.getSlides())){let T=chunkOIWUOGCL_cjs.uf(t,"span","pptxv-ai-focus-chip");(s||d)&&T.classList.add("is-strong"),T.title=h.title,T.textContent=h.label,f.appendChild(T);}if(d){let h=chunkOIWUOGCL_cjs.uf(t,"span","pptxv-ai-focus-pinned");h.textContent=n("pptx.ai.pinnedFocus"),f.appendChild(h);}let u=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-focus-actions"),C=chunkOIWUOGCL_cjs.qf(c,e.getSlides());if(C){let h=chunkOIWUOGCL_cjs.uf(t,"button","pptxv-ai-focus-merge");h.type="button",h.append(chunkOIWUOGCL_cjs.Df(t,"git-merge"),t.createTextNode(n("pptx.ai.mergeSelectedTables"))),h.addEventListener("click",()=>e.onSendDirective(chunkOIWUOGCL_cjs.rf(C.slideIndex,C.elementIdA,C.elementIdB))),u.appendChild(h);}let v=m("crosshair",n("pptx.ai.pickElement"),()=>r?i.stopPicking():i.startPicking());if(v.setAttribute("aria-pressed",String(r)),v.classList.toggle("is-active",r),u.appendChild(v),s?u.appendChild(m("close",n("pptx.ai.pickClear"),()=>i.clearPicks())):d?u.appendChild(m("pin-off",n("pptx.ai.clearFocus"),()=>i.clearPinnedFocus())):u.appendChild(m("pin",n("pptx.ai.pinFocus"),()=>i.pinFocus())),f.appendChild(u),p.appendChild(f),r){let h=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-focus-pick"),T=chunkOIWUOGCL_cjs.Df(t,"crosshair");T.classList.add("pptxv-ai-focus-pick-icon");let A=chunkOIWUOGCL_cjs.uf(t,"span","pptxv-ai-focus-pick-hint");A.textContent=n("pptx.ai.pickElementHint");let P=chunkOIWUOGCL_cjs.uf(t,"button","pptxv-ai-focus-pick-done");P.type="button",P.textContent=n("pptx.ai.pickDone"),P.addEventListener("click",()=>i.stopPicking()),h.append(T,A,P),p.appendChild(h);}},a=i.subscribe(x);return x(),{el:p,destroy(){a(),p.remove();}}}var J={view:"eye",text:"text-box",shape:"shapes",theme:"font-color",table:"table",slide:"layout",chart:"chart",move:"move-right",delete:"trash",search:"search",nav:"move-right",animation:"play",notes:"sticky-note",tool:"wrench"};function R(e,t,n){let i=t.state==="output-error",p=t.state==="output-available",m=!i&&!p,x=chunkOIWUOGCL_cjs.Mf(t.toolName,t.input,m?"present":"past"),a=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-tool"),c=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-tool-head"),s=chunkOIWUOGCL_cjs.Df(e,J[x.icon]??"wrench");s.classList.add("pptxv-ai-tool-icon");let d=chunkOIWUOGCL_cjs.uf(e,"span","pptxv-ai-tool-name");d.textContent=x.label;let r=chunkOIWUOGCL_cjs.uf(e,"span","pptxv-ai-tool-state");if(i?(r.classList.add("is-error"),r.append(chunkOIWUOGCL_cjs.Df(e,"alert"),e.createTextNode(n("pptx.ai.toolFailed")))):p?(r.classList.add("is-done"),r.append(chunkOIWUOGCL_cjs.Df(e,"check"),e.createTextNode(n("pptx.ai.toolDone")))):(r.classList.add("is-running"),r.textContent=n("pptx.ai.toolRunning")),c.append(s,d,r),a.appendChild(c),i&&t.errorText){let b=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-tool-error");b.textContent=t.errorText,a.appendChild(b);}let f=chunkOIWUOGCL_cjs.Lf(t.input);if(f){let b=chunkOIWUOGCL_cjs.uf(e,"details","pptxv-ai-tool-details"),u=chunkOIWUOGCL_cjs.uf(e,"summary");u.textContent=n("pptx.ai.toolDetails");let C=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-tool-raw");C.textContent=`${chunkOIWUOGCL_cjs.Kf(t.toolName)}: ${f}`,b.append(u,C),a.appendChild(b);}return a}function U(e,t,n,i){t.replaceChildren();for(let p of n){if(p.role==="system")continue;let m=p.role==="user",x=chunkOIWUOGCL_cjs.Jf(p);if(x.length===0&&!m)continue;let a=chunkOIWUOGCL_cjs.uf(e,"div",`pptxv-ai-msg pptxv-ai-msg-${p.role}`),c=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-msg-avatar");c.setAttribute("aria-label",i(m?"pptx.ai.you":"pptx.ai.assistant")),c.appendChild(chunkOIWUOGCL_cjs.Df(e,m?"comment":"sparkles"));let s=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-msg-body");for(let d of x)if(d.kind==="text"){let r=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-msg-text");r.textContent=d.text,s.appendChild(r);}else s.appendChild(R(e,d,i));a.append(c,s),t.appendChild(a);}}function $(e,t,n,i,p){if(t.replaceChildren(),t.hidden=n.length===0,n.length===0)return;let m=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-proposals-header"),x=chunkOIWUOGCL_cjs.uf(e,"span","pptxv-ai-proposals-title");if(x.textContent=i("pptx.ai.pendingChanges",{count:n.length}),m.appendChild(x),n.length>1){let a=chunkOIWUOGCL_cjs.uf(e,"button","pptxv-ai-proposal-btn is-accept-all");a.type="button",a.textContent=i("pptx.ai.acceptAll"),a.addEventListener("click",()=>p.acceptAll()),m.appendChild(a);}t.appendChild(m);for(let a of n)t.appendChild(Q(e,a,i,p));}function Q(e,t,n,i){let p=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-proposal");p.dataset.proposalId=t.id;let m=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-proposal-eyebrow");m.textContent=n("pptx.ai.proposedChange"),p.appendChild(m);let x=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-proposal-label");if(x.textContent=t.label,p.appendChild(x),t.summary.length>0){let d=chunkOIWUOGCL_cjs.uf(e,"ul","pptxv-ai-proposal-summary");for(let r of t.summary){let f=chunkOIWUOGCL_cjs.uf(e,"li");f.textContent=chunkOIWUOGCL_cjs.Ff(r),d.appendChild(f);}p.appendChild(d);}let a=chunkOIWUOGCL_cjs.uf(e,"div","pptxv-ai-proposal-actions"),c=chunkOIWUOGCL_cjs.uf(e,"button","pptxv-ai-proposal-btn is-accept");c.type="button",c.append(chunkOIWUOGCL_cjs.Df(e,"check"),e.createTextNode(n("pptx.ai.accept"))),c.addEventListener("click",()=>i.accept(t.id));let s=chunkOIWUOGCL_cjs.uf(e,"button","pptxv-ai-proposal-btn is-reject");return s.type="button",s.append(chunkOIWUOGCL_cjs.Df(e,"close"),e.createTextNode(n("pptx.ai.reject"))),s.addEventListener("click",()=>i.reject(t.id)),a.append(c,s),p.appendChild(a),p}async function gt(e){let{doc:t,host:n,t:i}=e;n.replaceChildren();let p=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-header"),m=chunkOIWUOGCL_cjs.uf(t,"span","pptxv-ai-title");m.textContent=i("pptx.ai.title"),p.append(chunkOIWUOGCL_cjs.Df(t,"sparkles"),m);let x,a=e.controller,c=a?j({doc:t,t:i,controller:a,getSlides:()=>e.bridge.getSlides(),onSendDirective:l=>{x?.sendMessage(l);}}):null,s=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-messages");s.setAttribute("role","log"),s.setAttribute("aria-live","polite");let d=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-empty");d.textContent=i("pptx.ai.emptyHint"),s.appendChild(d);let r=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-proposals");r.hidden=true;let f=chunkOIWUOGCL_cjs.uf(t,"div","pptxv-ai-error");f.setAttribute("role","alert"),f.hidden=true;let b=chunkOIWUOGCL_cjs.uf(t,"form","pptxv-ai-composer"),u=chunkOIWUOGCL_cjs.uf(t,"textarea","pptxv-ai-input");u.rows=2,u.placeholder=i("pptx.ai.placeholder");let C=chunkOIWUOGCL_cjs.uf(t,"button","pptxv-ai-send");C.type="submit",C.setAttribute("aria-label",i("pptx.ai.send")),C.appendChild(chunkOIWUOGCL_cjs.Df(t,"send")),b.append(u,C),n.append(p,...c?[c.el]:[],s,r,f,b);try{x=await(e.createChat??chunkOIWUOGCL_cjs.If)({bridge:e.bridge,config:e.config});}catch{return d.textContent=i("pptx.ai.unavailableTitle"),u.disabled=true,C.disabled=true,c?.destroy(),{destroy:()=>n.replaceChildren()}}let v=x,h=new Set,T=l=>{if(!a)return;let y=l.messages.flatMap(q=>chunkOIWUOGCL_cjs.Jf(q).filter(G=>G.kind==="tool")).at(-1);if(!y||y.kind!=="tool"||y.state==="input-streaming"||h.has(y.toolCallId))return;h.add(y.toolCallId);let k=chunkOIWUOGCL_cjs.Nf(y.toolName,y.input);k&&k.slideIndex!==void 0&&e.goToSlide?.(k.slideIndex),a.flashToolTarget(k);},A=l=>{U(t,s,l.messages,i),d.hidden=l.messages.length>0,l.messages.length===0&&s.appendChild(d),$(t,r,v.proposals.list(),i,{accept:y=>{a?.flashToolTarget(null),v.proposals.apply(y),A(v.getSnapshot());},reject:y=>{v.proposals.revert(y),A(v.getSnapshot());},acceptAll:()=>{a?.flashToolTarget(null),v.proposals.acceptAll(),A(v.getSnapshot());}});let S=l.status==="submitted"||l.status==="streaming";n.classList.toggle("is-busy",S),C.setAttribute("aria-label",i(S?"pptx.ai.stop":"pptx.ai.send")),f.hidden=!l.error,f.textContent=l.error?i("pptx.ai.errorPrefix"):"",s.scrollTop=s.scrollHeight,T(l);},P=()=>{if(n.classList.contains("is-busy")){v.stop();return}let l=u.value.trim();l&&(u.value="",v.sendMessage(l));};b.addEventListener("submit",l=>{l.preventDefault(),P();}),u.addEventListener("keydown",l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),P());});let w=a?.getPrefill().nonce??0,z=()=>{if(!a)return;let l=a.getPrefill();l.nonce!==w&&(w=l.nonce,u.value=l.text,u.focus());},K=a?.subscribe(z),O=v.subscribe(A);return A(v.getSnapshot()),{changeAnimator:v.changeAnimator,destroy(){O(),K?.(),c?.destroy(),n.replaceChildren();}}}exports.createAiPanel=gt;
@@ -1 +1 @@
1
- import {uf,Df,If,Jf,Nf,pf,qf,rf,Mf,Lf,Kf,Ff}from'./chunk-RVVCALIC.js';import'./chunk-WOT6VMZA.js';function j(e){let{doc:t,t:n,controller:i}=e,p=uf(t,"div","pptxv-ai-focus"),m=(c,s,d)=>{let r=uf(t,"button","pptxv-ai-focus-btn");return r.type="button",r.title=s,r.setAttribute("aria-label",s),r.appendChild(Df(t,c)),r.addEventListener("click",d),r},x=()=>{p.replaceChildren();let c=i.getEffectiveTargets(),s=i.hasPicks(),d=i.isPinned(),r=i.isPicking(),f=uf(t,"div","pptxv-ai-focus-row"),b=uf(t,"span","pptxv-ai-focus-label");b.textContent=n("pptx.ai.focusScope"),f.appendChild(b);for(let h of pf(c,e.getSlides())){let T=uf(t,"span","pptxv-ai-focus-chip");(s||d)&&T.classList.add("is-strong"),T.title=h.title,T.textContent=h.label,f.appendChild(T);}if(d){let h=uf(t,"span","pptxv-ai-focus-pinned");h.textContent=n("pptx.ai.pinnedFocus"),f.appendChild(h);}let u=uf(t,"div","pptxv-ai-focus-actions"),C=qf(c,e.getSlides());if(C){let h=uf(t,"button","pptxv-ai-focus-merge");h.type="button",h.append(Df(t,"git-merge"),t.createTextNode(n("pptx.ai.mergeSelectedTables"))),h.addEventListener("click",()=>e.onSendDirective(rf(C.slideIndex,C.elementIdA,C.elementIdB))),u.appendChild(h);}let v=m("crosshair",n("pptx.ai.pickElement"),()=>r?i.stopPicking():i.startPicking());if(v.setAttribute("aria-pressed",String(r)),v.classList.toggle("is-active",r),u.appendChild(v),s?u.appendChild(m("close",n("pptx.ai.pickClear"),()=>i.clearPicks())):d?u.appendChild(m("pin-off",n("pptx.ai.clearFocus"),()=>i.clearPinnedFocus())):u.appendChild(m("pin",n("pptx.ai.pinFocus"),()=>i.pinFocus())),f.appendChild(u),p.appendChild(f),r){let h=uf(t,"div","pptxv-ai-focus-pick"),T=Df(t,"crosshair");T.classList.add("pptxv-ai-focus-pick-icon");let A=uf(t,"span","pptxv-ai-focus-pick-hint");A.textContent=n("pptx.ai.pickElementHint");let P=uf(t,"button","pptxv-ai-focus-pick-done");P.type="button",P.textContent=n("pptx.ai.pickDone"),P.addEventListener("click",()=>i.stopPicking()),h.append(T,A,P),p.appendChild(h);}},a=i.subscribe(x);return x(),{el:p,destroy(){a(),p.remove();}}}var J={view:"eye",text:"text-box",shape:"shapes",theme:"font-color",table:"table",slide:"layout",chart:"chart",move:"move-right",delete:"trash",search:"search",nav:"move-right",animation:"play",notes:"sticky-note",tool:"wrench"};function R(e,t,n){let i=t.state==="output-error",p=t.state==="output-available",m=!i&&!p,x=Mf(t.toolName,t.input,m?"present":"past"),a=uf(e,"div","pptxv-ai-tool"),c=uf(e,"div","pptxv-ai-tool-head"),s=Df(e,J[x.icon]??"wrench");s.classList.add("pptxv-ai-tool-icon");let d=uf(e,"span","pptxv-ai-tool-name");d.textContent=x.label;let r=uf(e,"span","pptxv-ai-tool-state");if(i?(r.classList.add("is-error"),r.append(Df(e,"alert"),e.createTextNode(n("pptx.ai.toolFailed")))):p?(r.classList.add("is-done"),r.append(Df(e,"check"),e.createTextNode(n("pptx.ai.toolDone")))):(r.classList.add("is-running"),r.textContent=n("pptx.ai.toolRunning")),c.append(s,d,r),a.appendChild(c),i&&t.errorText){let b=uf(e,"div","pptxv-ai-tool-error");b.textContent=t.errorText,a.appendChild(b);}let f=Lf(t.input);if(f){let b=uf(e,"details","pptxv-ai-tool-details"),u=uf(e,"summary");u.textContent=n("pptx.ai.toolDetails");let C=uf(e,"div","pptxv-ai-tool-raw");C.textContent=`${Kf(t.toolName)}: ${f}`,b.append(u,C),a.appendChild(b);}return a}function U(e,t,n,i){t.replaceChildren();for(let p of n){if(p.role==="system")continue;let m=p.role==="user",x=Jf(p);if(x.length===0&&!m)continue;let a=uf(e,"div",`pptxv-ai-msg pptxv-ai-msg-${p.role}`),c=uf(e,"div","pptxv-ai-msg-avatar");c.setAttribute("aria-label",i(m?"pptx.ai.you":"pptx.ai.assistant")),c.appendChild(Df(e,m?"comment":"sparkles"));let s=uf(e,"div","pptxv-ai-msg-body");for(let d of x)if(d.kind==="text"){let r=uf(e,"div","pptxv-ai-msg-text");r.textContent=d.text,s.appendChild(r);}else s.appendChild(R(e,d,i));a.append(c,s),t.appendChild(a);}}function $(e,t,n,i,p){if(t.replaceChildren(),t.hidden=n.length===0,n.length===0)return;let m=uf(e,"div","pptxv-ai-proposals-header"),x=uf(e,"span","pptxv-ai-proposals-title");if(x.textContent=i("pptx.ai.pendingChanges",{count:n.length}),m.appendChild(x),n.length>1){let a=uf(e,"button","pptxv-ai-proposal-btn is-accept-all");a.type="button",a.textContent=i("pptx.ai.acceptAll"),a.addEventListener("click",()=>p.acceptAll()),m.appendChild(a);}t.appendChild(m);for(let a of n)t.appendChild(Q(e,a,i,p));}function Q(e,t,n,i){let p=uf(e,"div","pptxv-ai-proposal");p.dataset.proposalId=t.id;let m=uf(e,"div","pptxv-ai-proposal-eyebrow");m.textContent=n("pptx.ai.proposedChange"),p.appendChild(m);let x=uf(e,"div","pptxv-ai-proposal-label");if(x.textContent=t.label,p.appendChild(x),t.summary.length>0){let d=uf(e,"ul","pptxv-ai-proposal-summary");for(let r of t.summary){let f=uf(e,"li");f.textContent=Ff(r),d.appendChild(f);}p.appendChild(d);}let a=uf(e,"div","pptxv-ai-proposal-actions"),c=uf(e,"button","pptxv-ai-proposal-btn is-accept");c.type="button",c.append(Df(e,"check"),e.createTextNode(n("pptx.ai.accept"))),c.addEventListener("click",()=>i.accept(t.id));let s=uf(e,"button","pptxv-ai-proposal-btn is-reject");return s.type="button",s.append(Df(e,"close"),e.createTextNode(n("pptx.ai.reject"))),s.addEventListener("click",()=>i.reject(t.id)),a.append(c,s),p.appendChild(a),p}async function gt(e){let{doc:t,host:n,t:i}=e;n.replaceChildren();let p=uf(t,"div","pptxv-ai-header"),m=uf(t,"span","pptxv-ai-title");m.textContent=i("pptx.ai.title"),p.append(Df(t,"sparkles"),m);let x,a=e.controller,c=a?j({doc:t,t:i,controller:a,getSlides:()=>e.bridge.getSlides(),onSendDirective:l=>{x?.sendMessage(l);}}):null,s=uf(t,"div","pptxv-ai-messages");s.setAttribute("role","log"),s.setAttribute("aria-live","polite");let d=uf(t,"div","pptxv-ai-empty");d.textContent=i("pptx.ai.emptyHint"),s.appendChild(d);let r=uf(t,"div","pptxv-ai-proposals");r.hidden=true;let f=uf(t,"div","pptxv-ai-error");f.setAttribute("role","alert"),f.hidden=true;let b=uf(t,"form","pptxv-ai-composer"),u=uf(t,"textarea","pptxv-ai-input");u.rows=2,u.placeholder=i("pptx.ai.placeholder");let C=uf(t,"button","pptxv-ai-send");C.type="submit",C.setAttribute("aria-label",i("pptx.ai.send")),C.appendChild(Df(t,"send")),b.append(u,C),n.append(p,...c?[c.el]:[],s,r,f,b);try{x=await(e.createChat??If)({bridge:e.bridge,config:e.config});}catch{return d.textContent=i("pptx.ai.unavailableTitle"),u.disabled=true,C.disabled=true,c?.destroy(),{destroy:()=>n.replaceChildren()}}let v=x,h=new Set,T=l=>{if(!a)return;let y=l.messages.flatMap(q=>Jf(q).filter(G=>G.kind==="tool")).at(-1);if(!y||y.kind!=="tool"||y.state==="input-streaming"||h.has(y.toolCallId))return;h.add(y.toolCallId);let k=Nf(y.toolName,y.input);k&&k.slideIndex!==void 0&&e.goToSlide?.(k.slideIndex),a.flashToolTarget(k);},A=l=>{U(t,s,l.messages,i),d.hidden=l.messages.length>0,l.messages.length===0&&s.appendChild(d),$(t,r,v.proposals.list(),i,{accept:y=>{a?.flashToolTarget(null),v.proposals.apply(y),A(v.getSnapshot());},reject:y=>{v.proposals.revert(y),A(v.getSnapshot());},acceptAll:()=>{a?.flashToolTarget(null),v.proposals.acceptAll(),A(v.getSnapshot());}});let S=l.status==="submitted"||l.status==="streaming";n.classList.toggle("is-busy",S),C.setAttribute("aria-label",i(S?"pptx.ai.stop":"pptx.ai.send")),f.hidden=!l.error,f.textContent=l.error?i("pptx.ai.errorPrefix"):"",s.scrollTop=s.scrollHeight,T(l);},P=()=>{if(n.classList.contains("is-busy")){v.stop();return}let l=u.value.trim();l&&(u.value="",v.sendMessage(l));};b.addEventListener("submit",l=>{l.preventDefault(),P();}),u.addEventListener("keydown",l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),P());});let w=a?.getPrefill().nonce??0,z=()=>{if(!a)return;let l=a.getPrefill();l.nonce!==w&&(w=l.nonce,u.value=l.text,u.focus());},K=a?.subscribe(z),O=v.subscribe(A);return A(v.getSnapshot()),{changeAnimator:v.changeAnimator,destroy(){O(),K?.(),c?.destroy(),n.replaceChildren();}}}export{gt as createAiPanel};
1
+ import {uf,Df,If,Jf,Nf,pf,qf,rf,Mf,Lf,Kf,Ff}from'./chunk-P7ALLMBJ.js';import'./chunk-WOT6VMZA.js';function j(e){let{doc:t,t:n,controller:i}=e,p=uf(t,"div","pptxv-ai-focus"),m=(c,s,d)=>{let r=uf(t,"button","pptxv-ai-focus-btn");return r.type="button",r.title=s,r.setAttribute("aria-label",s),r.appendChild(Df(t,c)),r.addEventListener("click",d),r},x=()=>{p.replaceChildren();let c=i.getEffectiveTargets(),s=i.hasPicks(),d=i.isPinned(),r=i.isPicking(),f=uf(t,"div","pptxv-ai-focus-row"),b=uf(t,"span","pptxv-ai-focus-label");b.textContent=n("pptx.ai.focusScope"),f.appendChild(b);for(let h of pf(c,e.getSlides())){let T=uf(t,"span","pptxv-ai-focus-chip");(s||d)&&T.classList.add("is-strong"),T.title=h.title,T.textContent=h.label,f.appendChild(T);}if(d){let h=uf(t,"span","pptxv-ai-focus-pinned");h.textContent=n("pptx.ai.pinnedFocus"),f.appendChild(h);}let u=uf(t,"div","pptxv-ai-focus-actions"),C=qf(c,e.getSlides());if(C){let h=uf(t,"button","pptxv-ai-focus-merge");h.type="button",h.append(Df(t,"git-merge"),t.createTextNode(n("pptx.ai.mergeSelectedTables"))),h.addEventListener("click",()=>e.onSendDirective(rf(C.slideIndex,C.elementIdA,C.elementIdB))),u.appendChild(h);}let v=m("crosshair",n("pptx.ai.pickElement"),()=>r?i.stopPicking():i.startPicking());if(v.setAttribute("aria-pressed",String(r)),v.classList.toggle("is-active",r),u.appendChild(v),s?u.appendChild(m("close",n("pptx.ai.pickClear"),()=>i.clearPicks())):d?u.appendChild(m("pin-off",n("pptx.ai.clearFocus"),()=>i.clearPinnedFocus())):u.appendChild(m("pin",n("pptx.ai.pinFocus"),()=>i.pinFocus())),f.appendChild(u),p.appendChild(f),r){let h=uf(t,"div","pptxv-ai-focus-pick"),T=Df(t,"crosshair");T.classList.add("pptxv-ai-focus-pick-icon");let A=uf(t,"span","pptxv-ai-focus-pick-hint");A.textContent=n("pptx.ai.pickElementHint");let P=uf(t,"button","pptxv-ai-focus-pick-done");P.type="button",P.textContent=n("pptx.ai.pickDone"),P.addEventListener("click",()=>i.stopPicking()),h.append(T,A,P),p.appendChild(h);}},a=i.subscribe(x);return x(),{el:p,destroy(){a(),p.remove();}}}var J={view:"eye",text:"text-box",shape:"shapes",theme:"font-color",table:"table",slide:"layout",chart:"chart",move:"move-right",delete:"trash",search:"search",nav:"move-right",animation:"play",notes:"sticky-note",tool:"wrench"};function R(e,t,n){let i=t.state==="output-error",p=t.state==="output-available",m=!i&&!p,x=Mf(t.toolName,t.input,m?"present":"past"),a=uf(e,"div","pptxv-ai-tool"),c=uf(e,"div","pptxv-ai-tool-head"),s=Df(e,J[x.icon]??"wrench");s.classList.add("pptxv-ai-tool-icon");let d=uf(e,"span","pptxv-ai-tool-name");d.textContent=x.label;let r=uf(e,"span","pptxv-ai-tool-state");if(i?(r.classList.add("is-error"),r.append(Df(e,"alert"),e.createTextNode(n("pptx.ai.toolFailed")))):p?(r.classList.add("is-done"),r.append(Df(e,"check"),e.createTextNode(n("pptx.ai.toolDone")))):(r.classList.add("is-running"),r.textContent=n("pptx.ai.toolRunning")),c.append(s,d,r),a.appendChild(c),i&&t.errorText){let b=uf(e,"div","pptxv-ai-tool-error");b.textContent=t.errorText,a.appendChild(b);}let f=Lf(t.input);if(f){let b=uf(e,"details","pptxv-ai-tool-details"),u=uf(e,"summary");u.textContent=n("pptx.ai.toolDetails");let C=uf(e,"div","pptxv-ai-tool-raw");C.textContent=`${Kf(t.toolName)}: ${f}`,b.append(u,C),a.appendChild(b);}return a}function U(e,t,n,i){t.replaceChildren();for(let p of n){if(p.role==="system")continue;let m=p.role==="user",x=Jf(p);if(x.length===0&&!m)continue;let a=uf(e,"div",`pptxv-ai-msg pptxv-ai-msg-${p.role}`),c=uf(e,"div","pptxv-ai-msg-avatar");c.setAttribute("aria-label",i(m?"pptx.ai.you":"pptx.ai.assistant")),c.appendChild(Df(e,m?"comment":"sparkles"));let s=uf(e,"div","pptxv-ai-msg-body");for(let d of x)if(d.kind==="text"){let r=uf(e,"div","pptxv-ai-msg-text");r.textContent=d.text,s.appendChild(r);}else s.appendChild(R(e,d,i));a.append(c,s),t.appendChild(a);}}function $(e,t,n,i,p){if(t.replaceChildren(),t.hidden=n.length===0,n.length===0)return;let m=uf(e,"div","pptxv-ai-proposals-header"),x=uf(e,"span","pptxv-ai-proposals-title");if(x.textContent=i("pptx.ai.pendingChanges",{count:n.length}),m.appendChild(x),n.length>1){let a=uf(e,"button","pptxv-ai-proposal-btn is-accept-all");a.type="button",a.textContent=i("pptx.ai.acceptAll"),a.addEventListener("click",()=>p.acceptAll()),m.appendChild(a);}t.appendChild(m);for(let a of n)t.appendChild(Q(e,a,i,p));}function Q(e,t,n,i){let p=uf(e,"div","pptxv-ai-proposal");p.dataset.proposalId=t.id;let m=uf(e,"div","pptxv-ai-proposal-eyebrow");m.textContent=n("pptx.ai.proposedChange"),p.appendChild(m);let x=uf(e,"div","pptxv-ai-proposal-label");if(x.textContent=t.label,p.appendChild(x),t.summary.length>0){let d=uf(e,"ul","pptxv-ai-proposal-summary");for(let r of t.summary){let f=uf(e,"li");f.textContent=Ff(r),d.appendChild(f);}p.appendChild(d);}let a=uf(e,"div","pptxv-ai-proposal-actions"),c=uf(e,"button","pptxv-ai-proposal-btn is-accept");c.type="button",c.append(Df(e,"check"),e.createTextNode(n("pptx.ai.accept"))),c.addEventListener("click",()=>i.accept(t.id));let s=uf(e,"button","pptxv-ai-proposal-btn is-reject");return s.type="button",s.append(Df(e,"close"),e.createTextNode(n("pptx.ai.reject"))),s.addEventListener("click",()=>i.reject(t.id)),a.append(c,s),p.appendChild(a),p}async function gt(e){let{doc:t,host:n,t:i}=e;n.replaceChildren();let p=uf(t,"div","pptxv-ai-header"),m=uf(t,"span","pptxv-ai-title");m.textContent=i("pptx.ai.title"),p.append(Df(t,"sparkles"),m);let x,a=e.controller,c=a?j({doc:t,t:i,controller:a,getSlides:()=>e.bridge.getSlides(),onSendDirective:l=>{x?.sendMessage(l);}}):null,s=uf(t,"div","pptxv-ai-messages");s.setAttribute("role","log"),s.setAttribute("aria-live","polite");let d=uf(t,"div","pptxv-ai-empty");d.textContent=i("pptx.ai.emptyHint"),s.appendChild(d);let r=uf(t,"div","pptxv-ai-proposals");r.hidden=true;let f=uf(t,"div","pptxv-ai-error");f.setAttribute("role","alert"),f.hidden=true;let b=uf(t,"form","pptxv-ai-composer"),u=uf(t,"textarea","pptxv-ai-input");u.rows=2,u.placeholder=i("pptx.ai.placeholder");let C=uf(t,"button","pptxv-ai-send");C.type="submit",C.setAttribute("aria-label",i("pptx.ai.send")),C.appendChild(Df(t,"send")),b.append(u,C),n.append(p,...c?[c.el]:[],s,r,f,b);try{x=await(e.createChat??If)({bridge:e.bridge,config:e.config});}catch{return d.textContent=i("pptx.ai.unavailableTitle"),u.disabled=true,C.disabled=true,c?.destroy(),{destroy:()=>n.replaceChildren()}}let v=x,h=new Set,T=l=>{if(!a)return;let y=l.messages.flatMap(q=>Jf(q).filter(G=>G.kind==="tool")).at(-1);if(!y||y.kind!=="tool"||y.state==="input-streaming"||h.has(y.toolCallId))return;h.add(y.toolCallId);let k=Nf(y.toolName,y.input);k&&k.slideIndex!==void 0&&e.goToSlide?.(k.slideIndex),a.flashToolTarget(k);},A=l=>{U(t,s,l.messages,i),d.hidden=l.messages.length>0,l.messages.length===0&&s.appendChild(d),$(t,r,v.proposals.list(),i,{accept:y=>{a?.flashToolTarget(null),v.proposals.apply(y),A(v.getSnapshot());},reject:y=>{v.proposals.revert(y),A(v.getSnapshot());},acceptAll:()=>{a?.flashToolTarget(null),v.proposals.acceptAll(),A(v.getSnapshot());}});let S=l.status==="submitted"||l.status==="streaming";n.classList.toggle("is-busy",S),C.setAttribute("aria-label",i(S?"pptx.ai.stop":"pptx.ai.send")),f.hidden=!l.error,f.textContent=l.error?i("pptx.ai.errorPrefix"):"",s.scrollTop=s.scrollHeight,T(l);},P=()=>{if(n.classList.contains("is-busy")){v.stop();return}let l=u.value.trim();l&&(u.value="",v.sendMessage(l));};b.addEventListener("submit",l=>{l.preventDefault(),P();}),u.addEventListener("keydown",l=>{l.key==="Enter"&&!l.shiftKey&&(l.preventDefault(),P());});let w=a?.getPrefill().nonce??0,z=()=>{if(!a)return;let l=a.getPrefill();l.nonce!==w&&(w=l.nonce,u.value=l.text,u.focus());},K=a?.subscribe(z),O=v.subscribe(A);return A(v.getSnapshot()),{changeAnimator:v.changeAnimator,destroy(){O(),K?.(),c?.destroy(),n.replaceChildren();}}}export{gt as createAiPanel};