@getv.design/embed 0.5.5 → 0.6.1
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/LICENSE +1 -1
- package/README.md +3 -3
- package/THIRD_PARTY_NOTICES.txt +41 -2
- package/dist/auto.js +2 -2
- package/dist/chunks/{chunk-565P424V.js → chunk-DXK755VP.js} +1 -1
- package/dist/chunks/{chunk-2ZC4KNI4.js → chunk-ER6HNUNJ.js} +2 -2
- package/dist/chunks/{chunk-NMTM7OEB.js → chunk-FM6ZYYTD.js} +2 -2
- package/dist/chunks/{chunk-JOUOURQK.js → chunk-HHLJB4PE.js} +2 -2
- package/dist/chunks/chunk-JAYW4VNL.js +10 -0
- package/dist/chunks/chunk-KF7NJEZQ.js +2 -0
- package/dist/chunks/fonts.js +2 -2
- package/dist/cli.js +19 -19
- package/dist/edit.js +257 -37
- package/dist/index.js +2 -2
- package/dist/markdown-it.js +2 -2
- package/dist/markdown.js +2 -2
- package/dist/marked.js +2 -2
- package/dist/rehype.js +2 -2
- package/dist/static.js +2 -2
- package/dist/view.js +3 -3
- package/edit.css +209 -1
- package/package.json +2 -2
- package/dist/chunks/chunk-5XTOQNJT.js +0 -10
- package/dist/chunks/chunk-OJEQYRTB.js +0 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as y}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as y}from"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";var d=["view","edit","play"];async function l(a,i,e){let o=e?.mode;if(!d.includes(o))throw new TypeError(`mount: mode must be one of ${d.join(", ")}; got ${String(o)}.`);if(o==="edit"){let{edit:t}=await import("./edit.js");return t(a,i,e)}let{view:s}=await import("./view.js"),n=await s(a,i,e);if(o==="view")return n;let r;try{r=await n.play(e.page===void 0?{}:{page:e.page})}catch(t){throw n.destroy(),t}return{goTo:t=>r.goTo(t),destroy(){r.destroy(),n.destroy()}}}export{l as mount,y as version};
|
package/dist/markdown-it.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as f,b as p,d as u}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as f,b as p,d as u}from"./chunks/chunk-HHLJB4PE.js";import{e as F}from"./chunks/chunk-ER6HNUNJ.js";import"./chunks/chunk-FM6ZYYTD.js";import"./chunks/chunk-JAYW4VNL.js";import"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";function I(l,t={}){let o=l.renderer.rules,s=o.fence,i=new WeakMap;o.fence=(n,c,k,d,g)=>{let e=n[c];if(!e||!p(e.info))return s?s(n,c,k,d,g):"";let r=t.idPrefix;r||(r=i.get(n)??f(),i.set(n,r));let{resolveSrc:a,...w}=t;return u(e.content,e.info,{...w,idPrefix:r,...e.attrs?{attributes:e.attrs}:{},...a?{resolveSrc:m=>a(m,d)}:{}})}}var b=I;export{F as createRenderer,b as default,I as vdesignMarkdownIt};
|
package/dist/markdown.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as b,b as c,c as d,d as e}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as b,b as c,c as d,d as e}from"./chunks/chunk-HHLJB4PE.js";import{e as a}from"./chunks/chunk-ER6HNUNJ.js";import"./chunks/chunk-FM6ZYYTD.js";import"./chunks/chunk-JAYW4VNL.js";import"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";export{b as createFenceIds,a as createRenderer,c as isVdFence,d as parseInfo,e as renderFence};
|
package/dist/marked.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as t,b as i,d as o}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as t,b as i,d as o}from"./chunks/chunk-HHLJB4PE.js";import{e as f}from"./chunks/chunk-ER6HNUNJ.js";import"./chunks/chunk-FM6ZYYTD.js";import"./chunks/chunk-JAYW4VNL.js";import"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";function p(r={}){let s=r.idPrefix??t();return{renderer:{code(e,d){let c=typeof e=="string"?e:e.text,n=typeof e=="string"?d:e.lang;return i(n)?o(c,n??"vd",{...r,idPrefix:s}):!1}}}}var a=p;export{f as createRenderer,a as default,p as vdesignMarked};
|
package/dist/rehype.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as h,d as m}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as h,d as m}from"./chunks/chunk-HHLJB4PE.js";import{e as g}from"./chunks/chunk-ER6HNUNJ.js";import"./chunks/chunk-FM6ZYYTD.js";import"./chunks/chunk-JAYW4VNL.js";import"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";function x(e={}){let n,i=()=>e.renderer?Promise.resolve(e.renderer):n??=g({fonts:e.fonts??"exact",...e.fontBase===void 0?{}:{fontBase:e.fontBase}});return async(t,r)=>{let s=r?.path??r?.history?.at(-1);if(e.include&&!e.include(s))return;let o=[];if(v(t,(d,l,a)=>{if(d.type!=="element"||d.tagName!=="pre"||!l)return;let c=d.children?.find(p=>p.type==="element");c?.tagName!=="code"||!F(c)||o.push({parent:l,index:a,code:c})}),o.length===0)return;let u=await i(),f={...e};for(let d of["resolveSrc","fonts","fontBase","include"])delete f[d];let N=e.idPrefix??h(),R=e.resolveSrc??k;for(let{parent:d,index:l,code:a}of o){let c=typeof a.data?.meta=="string"?a.data.meta:"",p=m(y(a),`vd ${c}`,{...f,renderer:u,idPrefix:N,resolveSrc:H=>R(H,s)});d.children[l]={type:"raw",value:p}}}}var B=x;function F(e){let n=e.properties?.className;return(Array.isArray(n)?n:typeof n=="string"?n.split(/\s+/):[]).some(t=>t==="language-vd"||t==="language-vdesign")}function y(e){return e.type==="text"?e.value??"":(e.children??[]).map(y).join("")}function v(e,n,i,t=0){n(e,i,t),e.children?.forEach((r,s)=>v(r,n,e,s))}function k(e,n){let i=globalThis,t=i.process?.getBuiltinModule?.("node:fs"),r=i.process?.getBuiltinModule?.("node:path"),s=i.process?.cwd?.();if(!t||!r||s===void 0||/^[a-z][a-z0-9+.-]*:/i.test(e)||e.includes("\\")||!/\.vd(\.svg)?$/i.test(e))return;let o=n===void 0?s:r.dirname(r.resolve(s,n));try{let u=t.realpathSync(r.resolve(o,e)),f=t.realpathSync(s);return u.startsWith(f+r.sep)?t.readFileSync(u,"utf8"):void 0}catch{return}}export{B as default,x as rehypeVdesign};
|
package/dist/static.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{a as b,b as c,c as d,d as e,e as f,f as g}from"./chunks/chunk-
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{a as b,b as c,c as d,d as e,e as f,f as g}from"./chunks/chunk-ER6HNUNJ.js";import"./chunks/chunk-FM6ZYYTD.js";import"./chunks/chunk-JAYW4VNL.js";import{a}from"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";export{g as approximateRenderer,f as createRenderer,d as designOf,e as outline,b as parse,c as renderSvg,a as version};
|
package/dist/view.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*! @getv.design/embed v0.
|
|
2
|
-
import{c as
|
|
1
|
+
/*! @getv.design/embed v0.6.1. Free to use under the vDesign Embed Licence. © 2026 vDesign. https://getv.design/docs/licence/ */
|
|
2
|
+
import{c as an,e as ct,f as de,g as Oe,h as cn,i as He}from"./chunks/chunk-FM6ZYYTD.js";import{$ as at,A as Ve,B as nt,C as Vt,D as Bt,E as rt,F as it,I as jt,J as Ht,K as Ut,L as Kt,M as ot,N as Be,O as Gt,P as Wt,Q as qt,R as Yt,S as Zt,T as st,U as Xt,V as Jt,W as Qt,X as en,Y as tn,Z as nn,_ as rn,a as Ze,aa as on,b as Tt,ba as je,c as Ot,ca as sn,d as Re,e as Ct,f as Xe,g as Je,h as Pt,i as Qe,j as _t,k as Lt,l as Dt,m as Ee,o as Ft,q as It,s as et,v as tt,w as Nt,x as $t,y as zt,z as Rt}from"./chunks/chunk-JAYW4VNL.js";import{a as qn,b as Mt}from"./chunks/chunk-KF7NJEZQ.js";import"./chunks/chunk-DXK755VP.js";var Yn=.8,Zn=.2;function lt(e,t){let r=e.createElement("canvas").getContext("2d"),i=Bt(),a=new Map,c=new Map,m=new Set;function d(f){return`${f.italic?"italic ":""}${f.weight} ${f.size}px ${f.family}`}function S(){a.clear(),c.clear()}return{advance(f,y){if(!r)return i.advance(f,y);let w=d(y),k=`${w}\0${y.letterSpacing}\0${f}`,_=a.get(k);if(_!==void 0)return _;r.font=w;let v=r.measureText(f).width+y.letterSpacing*[...f].length;return a.set(k,v),v},metrics(f){if(!r)return i.metrics(f);let y=d(f),w=c.get(y);if(w)return w;r.font=y;let k=r.measureText("Hxg"),_=k.fontBoundingBoxAscent??f.size*Yn,v=k.fontBoundingBoxDescent??f.size*Zn,I={ascent:_,descent:v,lineGap:0};return c.set(y,I),I},load(f,y){let w=e.fonts;if(!w||typeof FontFace!="function")return!1;let k=!1;for(let _ of Object.values(f.fonts))for(let v of Xn(_)){let I=`${_.family}\0${v.src}\0${v.weight??400}\0${v.style??"normal"}`;if(m.has(I))continue;m.add(I);let P=v.src.startsWith("data:")?void 0:y?.(v.src),T={weight:String(v.weight??400),style:v.style??"normal"},j=ee=>{let V=new FontFace(_.family,typeof ee=="string"?`url(${ee})`:Jn(ee),T);w.add(V),V.load().then(()=>{S(),t?.()},()=>{w.delete(V)})};P===void 0?j(v.src):(k=!0,P.then(j,()=>{}))}return k},invalidate:S,destroy(){S(),m.clear()}}}function Xn(e){return(e.faces??[]).flatMap(t=>t.src===void 0?[]:[{...t,src:t.src}])}function Jn(e){return e instanceof Uint8Array?e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength):e}var Ue={x:0,y:0,zoom:1},ln=.02,dn=64;function Ce(e){return Number.isFinite(e)?Math.min(Math.max(e,ln),dn):1}function Ke(e,t){return{x:(t.x-e.x)/e.zoom,y:(t.y-e.y)/e.zoom}}function dt(e,t){return{x:t.x*e.zoom+e.x,y:t.y*e.zoom+e.y}}function Pe(e,t,n){let r=Ce(e.zoom*n),i=Ke(e,t);return{zoom:r,x:t.x-i.x*r,y:t.y-i.y*r}}function we(e,t,n){return{...e,x:e.x+t,y:e.y+n}}function ft(e){return`translate(${e.x} ${e.y}) scale(${e.zoom})`}function fe(e,t,n){let r={width:Math.max(1,t.width-n*2),height:Math.max(1,t.height-n*2)};if(e.width<=0||e.height<=0)return Ue;let i=Ce(Math.min(r.width/e.width,r.height/e.height));return{zoom:i,x:(t.width-e.width*i)/2-(e.x??0)*i,y:(t.height-e.height*i)/2-(e.y??0)*i}}var H="http://www.w3.org/2000/svg",fn="vd-viewer-styles",un=`
|
|
3
3
|
.vd-viewer {
|
|
4
4
|
position: relative;
|
|
5
5
|
overflow: hidden;
|
|
@@ -98,4 +98,4 @@ import{c as Ct,e as Ye,f as de,g as Ae,h as It,i as Ne}from"./chunks/chunk-NMTM7
|
|
|
98
98
|
.vd-viewer--interacting .vd-viewer__page {
|
|
99
99
|
filter: none;
|
|
100
100
|
}
|
|
101
|
-
`;function $t(e){if(e.getElementById(Nt))return;let t=e.createElement("style");t.id=Nt,t.textContent=zt,e.head.appendChild(t)}function Vt(e){if(!(e===void 0||typeof fetch!="function"))return async(t,i)=>{let n=e(t,i);if(n===void 0)return;let o=await fetch(n);return o.ok?new Uint8Array(await o.arrayBuffer()):void 0}}function Bt(e,t,i,n,o){return t?kn(e,t,i,n,o):Sn(e,i,n)}function Sn(e,t,i){let n=qe(e,i);return{measurer:n,update:o=>{n.load(o,t)},afterPaint:()=>{},destroy:()=>n.destroy()}}var Rt=new WeakMap;function kn(e,t,i,n,o){let l,a,g,u=()=>{if(!l)throw new Error("canvasFonts: update() before measuring");return l};return{measurer:{advance:(d,y)=>u().measurer.advance(d,y),metrics:d=>u().measurer.metrics(d),itemize:d=>u().measurer.itemize(d)},update(d){l&&d.fonts===a||(g?.(),l?.dispose(),l=t.forDocument(d,{...i?{loader:i}:{},...o?{asset:o}:{}}),a=d.fonts,g=l.onChange(n))},afterPaint(){let d=e.fonts;if(!l||!d||typeof FontFace!="function")return;let y=Rt.get(e);y||Rt.set(e,y=new Set);for(let w of l.usedFaces()){if(y.has(w.id))continue;y.add(w.id);let E=new FontFace(w.id,An(w.bytes),{weight:String(w.weight),style:w.style});d.add(E),E.load().catch(()=>d.delete(E))}},destroy(){g?.(),l?.dispose(),l=void 0}}}function An(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}var Mn=.01,Tn=.004,Ht=40,On=16;function Oe(e,t){$t(e.ownerDocument);let i=t.document,n=r=>Bt(e.ownerDocument,r,t.loadFont,()=>{U(i)},Vt(t.resolveAsset)),o=n(t.fonts),l={advance:(r,p)=>o.measurer.advance(r,p),metrics:r=>o.measurer.metrics(r),itemize:r=>o.measurer.itemize?.(r)??[r]};o.update(i);let a=Fe(i),g=()=>t.resolveAsset?{measure:l,resolveAsset:t.resolveAsset}:{measure:l},u=Ke(i,a,g()),S=t.camera??ze,d=t.interactive??!0,y=t.wheel??"always";e.classList.add("vd-viewer"),t.surface&&(e.style.background=t.surface);let w=e.ownerDocument.createElementNS(ne,"svg");w.setAttribute("class","vd-viewer__surface"),w.setAttribute("width","100%"),w.setAttribute("height","100%");let E=e.ownerDocument.createElementNS(ne,"g");E.setAttribute("class","vd-viewer__camera"),E.style.isolation="isolate",w.appendChild(E);let L=e.ownerDocument.createElementNS(ne,"defs");E.appendChild(L);let x=e.ownerDocument.createElementNS(ne,"rect");x.setAttribute("class","vd-viewer__page"),E.appendChild(x),e.appendChild(w);let V=new Map,_=null;function M(){let r=t.sample;return _&&r?r(u,_.timeline,_.t,{doc:i,resolution:a,options:g()}):u}function H(){E.setAttribute("transform",Xe(S))}function Q(r=!0){let p=M();ee(p);let O=u.background!==void 0;T(x,"x",String(u.x)),T(x,"y",String(u.y)),T(x,"width",String(O?u.width:0)),T(x,"height",String(O?u.height:0)),F(x,"fill",u.background??null);let b=new Set,I=x;for(let A of p.items){let N=A.part===void 0?A.id:`${A.id}\0${A.part}`;b.add(N);let C=V.get(N);(!C||C.tagName!==Ut(A))&&(C?.remove(),C=e.ownerDocument.createElementNS(ne,Ut(A)),C.setAttribute("data-vd-id",A.id),V.set(N,C)),Pn(C,A),I.nextSibling!==C&&E.insertBefore(C,I.nextSibling),I=C}for(let[A,N]of V)b.has(A)||(N.remove(),V.delete(A));o.afterPaint(),r&&t.onSceneChange?.(u,i)}let R=new Map;function ee(r){let p=[...r.gradients.map(Tt),...[...new Map(r.items.filter(A=>A.shadows.length>0).map(A=>[A.id,A])).values()].map(A=>_t(A)),...r.clips.map(Mt)],O=new Set(p);for(let[A,N]of R)O.has(A)||(N.remove(),R.delete(A));let b=p.filter(A=>!R.has(A));if(b.length===0)return;[...new DOMParser().parseFromString(`<svg xmlns="${ne}">${b.join("")}</svg>`,"image/svg+xml").documentElement.children].forEach((A,N)=>{let C=e.ownerDocument.importNode(A,!0);L.appendChild(C),R.set(b[N],C)})}function U(r){i=r,o.update(i),a=Fe(i),u=Ke(i,a,g()),Q()}function G(r){let p=e.getBoundingClientRect();return{x:r.clientX-p.left,y:r.clientY-p.top}}let B=0,D=0;function ae(){e.classList.add("vd-viewer--interacting"),D&&clearTimeout(D),D=setTimeout(()=>{D=0,e.classList.remove("vd-viewer--interacting")},180)}function j(){B&&(cancelAnimationFrame(B),B=0),H(),t.onCameraChange?.(S)}function h(r){S=r,j()}function X(r){S=r,ae(),!B&&(B=requestAnimationFrame(()=>{B=0,H(),t.onCameraChange?.(S)}))}let se=null,Y=null,le=!1,ue=d&&y==="always",re=new Map,K=null,ie=()=>{let[r,p]=[...re.values()];return!r||!p?null:{mid:{x:(r.x+p.x)/2,y:(r.y+p.y)/2},distance:Math.hypot(r.x-p.x,r.y-p.y)}},pe=r=>{let p=re.get(r.pointerId);if(!p)return;let O=G(r);if(re.set(r.pointerId,O),re.size===1){X(ye(S,O.x-p.x,O.y-p.y));return}let b=ie();if(K&&b){let I=ye(S,b.mid.x-K.mid.x,b.mid.y-K.mid.y);X(K.distance>0?Te(I,b.mid,b.distance/K.distance):I)}K=b},J=r=>{re.delete(r.pointerId)&&(e.hasPointerCapture(r.pointerId)&&e.releasePointerCapture(r.pointerId),K=ie())},he=r=>{if(y==="modifier"&&!r.ctrlKey&&!r.metaKey)return;r.preventDefault();let p=G(r),O=r.deltaMode===1?On:r.deltaMode===2?e.clientHeight||800:1,b=r.deltaX*O,I=r.deltaY*O;if(r.ctrlKey||r.metaKey){let A=r.ctrlKey?Mn:Tn,N=Math.max(-Ht,Math.min(Ht,I));X(Te(S,p,Math.exp(-N*A)));return}if(r.shiftKey&&b===0){X(ye(S,-I,0));return}X(ye(S,-b,-I))},q=r=>{if(r.pointerType==="touch"){if(!ue)return;r.preventDefault(),re.set(r.pointerId,G(r)),e.setPointerCapture(r.pointerId),K=ie();return}(r.button===1||r.button===0&&le)&&(r.preventDefault(),se=r.pointerId,Y=G(r),e.setPointerCapture(r.pointerId))},ge=r=>{if(r.pointerType==="touch"){pe(r);return}if(se!==r.pointerId||!Y)return;let p=G(r);X(ye(S,p.x-Y.x,p.y-Y.y)),Y=p},ce=r=>{if(r.pointerType==="touch"){J(r);return}se===r.pointerId&&(se=null,Y=null,e.hasPointerCapture(r.pointerId)&&e.releasePointerCapture(r.pointerId))},me=r=>{r.code==="Space"&&(le=!0)},f=r=>{r.code==="Space"&&(le=!1)};ue&&(e.style.touchAction="none"),d&&(e.addEventListener("wheel",he,{passive:!1}),e.addEventListener("pointerdown",q),e.addEventListener("pointermove",ge),e.addEventListener("pointerup",ce),e.addEventListener("pointercancel",ce),e.ownerDocument.addEventListener("keydown",me),e.ownerDocument.addEventListener("keyup",f)),H(),Q();let v={element:e,surface:w,update:U,getDocument:()=>i,getScene:()=>u,setTime(r){r===null&&_===null||(_=r,Q(!1))},getTime:()=>_,getResolution:()=>a,getMeasurer:()=>l,setFonts(r){o.destroy(),o=n(r),U(i)},getCamera:()=>S,setCamera:h,zoomBy(r,p){let O=e.getBoundingClientRect(),b=p??{x:O.width/2,y:O.height/2};h(Te(S,b,r))},fitToContent(r=32){let p=e.getBoundingClientRect();h(fe({x:u.x,y:u.y,width:u.width,height:u.height},{width:p.width||u.width,height:p.height||u.height},r))},screenToDocument:r=>$e(S,r),documentToScreen:r=>Ze(S,r),pointerPoint:G,hitTest(r,p){for(let O=u.items.length-1;O>=0;O--){let b=u.items[O];if(b&&Bn(b,r,Vn/S.zoom)&&(!p||p(b.id)))return b.id}return null},linkAt(r,p){for(let O=u.items.length-1;O>=0;O--){let b=u.items[O];if(b?.kind!=="text"||p&&!p(b.id))continue;let I=b.rotation===0?r:Ge(r,{x:b.x+b.w/2,y:b.y+b.h/2},-b.rotation);for(let A of b.lines){if(I.y<A.y||I.y>A.y+A.h)continue;let N=A.spans.find(C=>I.x>=C.x&&I.x<=C.x+C.w);if(N)return N.style.link}}},itemOf:r=>u.items.find(p=>p.id===r),elementOf:r=>V.get(r),destroy(){d&&(e.removeEventListener("wheel",he),e.removeEventListener("pointerdown",q),e.removeEventListener("pointermove",ge),e.removeEventListener("pointerup",ce),e.removeEventListener("pointercancel",ce),e.ownerDocument.removeEventListener("keydown",me),e.ownerDocument.removeEventListener("keyup",f)),B&&cancelAnimationFrame(B),D&&clearTimeout(D),B=0,D=0,o.destroy(),e.classList.remove("vd-viewer--interacting"),w.remove(),V.clear(),e.classList.remove("vd-viewer")}};return t.autoFit&&v.fitToContent(),v}var _n="vd-clip-";function Ln(e){return _n+e}function Gt(e){return`url(#${Ln(e)})`}function Ut(e){return Lt(e)||e.pose!==void 0?"g":Je(e)}function Je(e){switch(e.kind){case"ellipse":return"ellipse";case"frame":return"rect";case"image":return e.href===void 0?"rect":"image";case"rect":return"rect";case"text":return"text";case"vector":return"path"}}function Pn(e,t){if(e.tagName!=="g"){jt(e,t);return}F(e,"clip-path",t.clip===void 0?null:Gt(t.clip)),e.style.mixBlendMode=t.blend==="normal"?"":t.blend;let i=t.pose;F(e,"opacity",i&&i.opacity<1?String(i.opacity):null);let n=e.firstElementChild;if((!n||n.tagName!==Je(t))&&(n?.remove(),n=e.ownerDocument.createElementNS(ne,Je(t)),e.appendChild(n)),jt(n,{...t,clip:void 0,blend:"normal"}),i){let o=t.rotation===0?"":` ${We(t)}`;T(n,"transform",`${Pt(i)}${o}`),t.kind==="vector"&&Cn(n,t)}}function Cn(e,t){let i=t.pose?.trace;if(i!==void 0&&t.stroke!==void 0){let o=yt(t.contours)+1;T(e,"stroke-dasharray",`${o} ${o}`),T(e,"stroke-dashoffset",String(o*(1-i)))}let n=t.pose?.fillOpacity;F(e,"fill-opacity",n!==void 0&&n<1?String(n):null)}function jt(e,t){switch(F(e,"clip-path",t.clip===void 0?null:Gt(t.clip)),F(e,"transform",t.rotation===0?null:We(t)),e.style.mixBlendMode=t.blend==="normal"?"":t.blend,e.style.filter=t.shadows.length>0?`url(#${Ot}${t.id})`:"",t.kind){case"ellipse":$n(e,t);return;case"frame":In(e,t);return;case"image":Dn(e,t);return;case"rect":zn(e,t);return;case"text":Nn(e,t);return;case"vector":Rn(e,t);return}}function In(e,t){T(e,"class","vd-viewer__page"),T(e,"x",String(t.x)),T(e,"y",String(t.y)),T(e,"width",String(t.w)),T(e,"height",String(t.h)),F(e,"fill",t.background??null)}function Dn(e,t){if(T(e,"x",String(t.x)),T(e,"y",String(t.y)),T(e,"width",String(t.w)),T(e,"height",String(t.h)),F(e,"opacity",t.opacity<1?String(t.opacity):null),t.href===void 0){T(e,"class","vd-viewer__missing"),F(e,"rx",t.radius>0?String(t.radius):null);return}T(e,"href",t.href),T(e,"preserveAspectRatio",Fn[t.fit])}var Fn={cover:"xMidYMid slice",contain:"xMidYMid meet",fill:"none"};function Nn(e,t){F(e,"opacity",t.opacity<1?String(t.opacity):null),T(e,"xml:space","preserve");let i=t.lines.flatMap(o=>o.spans).filter(o=>o.text!==""),n=e.ownerDocument;for(;e.childNodes.length>i.length;)e.lastChild?.remove();for(;e.childNodes.length<i.length;)e.appendChild(n.createElementNS(ne,"tspan"));i.forEach((o,l)=>{let a=e.childNodes[l];a.textContent!==o.text&&(a.textContent=o.text),T(a,"x",String(o.x)),T(a,"y",String(o.y)),T(a,"font-family",o.style.family),T(a,"font-size",String(o.style.size)),T(a,"fill",o.style.fill),F(a,"font-weight",o.style.weight===400?null:String(o.style.weight)),F(a,"font-style",o.style.italic?"italic":null),F(a,"letter-spacing",o.style.letterSpacing===0?null:String(o.style.letterSpacing)),F(a,"data-vd-link",o.style.link??null);let g=[o.style.underline?"underline":"",o.style.strike?"line-through":""].filter(Boolean).join(" ");F(a,"text-decoration",g===""?null:g)})}function zn(e,t){F(e,"class",null),T(e,"x",String(t.x)),T(e,"y",String(t.y)),T(e,"width",String(t.w)),T(e,"height",String(t.h)),T(e,"fill",t.fill),F(e,"rx",t.radius>0?String(t.radius):null),F(e,"stroke",t.stroke??null),F(e,"stroke-width",t.stroke&&t.strokeWidth>0?String(t.strokeWidth):null),F(e,"opacity",t.opacity<1?String(t.opacity):null)}function Kt(e,t){T(e,"fill",t.fill),F(e,"stroke",t.stroke??null),F(e,"stroke-width",t.stroke&&t.strokeWidth>0?String(t.strokeWidth):null),F(e,"opacity",t.opacity<1?String(t.opacity):null)}function $n(e,t){T(e,"cx",String(t.x+t.w/2)),T(e,"cy",String(t.y+t.h/2)),T(e,"rx",String(t.w/2)),T(e,"ry",String(t.h/2)),Kt(e,t)}function Rn(e,t){T(e,"d",t.d),Kt(e,t),F(e,"fill-rule",t.rule==="nonzero"?null:t.rule),F(e,"stroke-linecap",t.cap==="butt"?null:t.cap),F(e,"stroke-linejoin",t.join==="miter"?null:t.join)}function T(e,t,i){e.getAttribute(t)!==i&&e.setAttribute(t,i)}function F(e,t,i){i===null?e.hasAttribute(t)&&e.removeAttribute(t):T(e,t,i)}var Vn=4;function Bn(e,t,i){let n=e.rotation===0?t:Ge(t,{x:e.x+e.w/2,y:e.y+e.h/2},-e.rotation),o=n.x>=e.x&&n.x<=e.x+e.w&&n.y>=e.y&&n.y<=e.y+e.h;if(e.kind==="ellipse"){let l=e.stroke!==void 0?e.strokeWidth/2:0,a=e.w/2+l,g=e.h/2+l;if(a<=0||g<=0)return!1;let u=(n.x-(e.x+e.w/2))/a,S=(n.y-(e.y+e.h/2))/g;return u*u+S*S<=1}if(e.kind==="vector"){let l=e.stroke!==void 0&&e.strokeWidth>0;return wt(e.contours,n,{fill:e.fill!=="none",rule:e.rule,reach:(l?e.strokeWidth/2:0)+i})}return o}function be(e,t){let i=new Map;for(let o of t.items)o.kind==="frame"&&o.w>0&&o.h>0&&i.set(o.id,{id:o.id,x:o.x,y:o.y,w:o.w,h:o.h});let n=e.root.children.flatMap(o=>{if(o.type!=="frame"||o.component===!0)return[];let l=i.get(o.id);return l?[{...l,skip:o.skip===!0}]:[]});return n.length===0?[{id:null,x:t.x,y:t.y,w:t.width,h:t.height,skip:!1}]:n.every(o=>o.skip)?n.map(o=>({...o,skip:!1})):n}function Wt(e,t){return e.root.children.find(n=>n.type==="frame"&&ut(n,t)!==void 0)?.id}function Yt(e,t){let i=t===void 0?-1:e.findIndex(n=>n.id===t);return i!==-1?i:Math.max(0,e.findIndex(n=>!n.skip))}function Ee(e,t,i){for(let n=t+i;n>=0&&n<e.length;n+=i)if(!e[n]?.skip)return n;return t}function qt(e){return e.filter(t=>!t.skip).length}function Qe(e,t){return e[t]?.skip!==!1?null:e.slice(0,t+1).filter(i=>!i.skip).length}function Zt(e,t){if(!/^\d+$/.test(e))return null;let i=Number(e),n=t.findIndex((o,l)=>Qe(t,l)===i);return n===-1?null:n}function Xt(e,t,i){let n=Wt(e,i),o=t.findIndex(l=>l.id!==null&&l.id===n);return o===-1?null:o}var Hn=et(Et),Un=et(St),Jt=et(kt);function et(e){return`cubic-bezier(${e.join(", ")})`}function Qt(e,t,i,n,o){let l={opacity:i},a=jn(e,t,n,o);if(e==="cut")return{keyframes:t==="enter"?[{visibility:"hidden"},{visibility:"hidden"}]:[{visibility:"visible"},{visibility:"visible"}],easing:"linear"};if(e==="pop"){let g=`${o.x}px ${o.y}px`;l.scale="1",l.transformOrigin=g}else(e==="rise"||e==="drop")&&(l.translate="0 0");return t==="enter"?{keyframes:[a,l],easing:Hn}:{keyframes:[l,a],easing:Un}}function jn(e,t,i,n){switch(e){case"rise":return{opacity:0,translate:`0 ${t==="enter"?i:-i}px`};case"drop":return{opacity:0,translate:`0 ${t==="enter"?-i:i}px`};case"pop":return{opacity:0,scale:String(bt),transformOrigin:`${n.x}px ${n.y}px`};case"fade":case"cut":case"wipe":case"grow":case"count":case"draw":return{opacity:0}}}function en(e,t){let i=t==="forward"?"-100%":"100%",n=t==="forward"?"100%":"-100%";switch(e){case"cut":return null;case"fade":return{still:[{opacity:1},{opacity:0}],live:null,stillOnTop:!0};case"push":return{still:[{translate:"0 0"},{translate:`${i} 0`}],live:[{translate:`${n} 0`},{translate:"0 0"}],stillOnTop:!1};case"slide":return t==="forward"?{still:null,live:[{translate:"100% 0"},{translate:"0 0"}],stillOnTop:!1}:{still:[{translate:"0 0"},{translate:"100% 0"}],live:null,stillOnTop:!0}}}var Gn={enter:"cut",duration:0,steps:[[]],clicks:new Map,scroll:!1};function tt(e){let t=new Map,i=new Map,n=new Map;lt(e.root,(g,u)=>{u&&(i.set(g.id,u.id),n.set(u.id,[...n.get(u.id)??[],g.id]))});let o=gt(e),l=mt(e);for(let[g,u]of Object.entries(e.motion??{})){if(!l.has(g))continue;let S=[[]],d=new Map,y=pt(u);for(let w of u.lines){if(w.id===g||o.get(w.id)!==g)continue;let E=w.go===void 0?void 0:ht(w.go);E&&d.set(w.id,E);let L=w.enter!==void 0?"enter":w.exit!==void 0?"exit":null,x=w.enter??w.exit;L===null||x===void 0||(w.step&&S.push([]),S.at(-1).push({id:w.id,kind:L,effect:x,duration:x==="cut"?0:Be(w.duration,y,He),delay:Be(w.delay,y,0),together:w.together===!0}))}t.set(g,{enter:u.enter??"cut",duration:u.duration??He,steps:S,clicks:d,scroll:u.scroll===!0})}let a=g=>[g,...(n.get(g)??[]).flatMap(u=>a(u))];return{pages:t,parents:i,within:a}}function tn(e,t){let i=t?.id;return(i?e.pages.get(i):void 0)??Gn}function nt(e){let t=0,i=0;return e.map((n,o)=>(t=(o===0?0:n.together?t:i)+n.delay,i=t+n.duration,{build:n,at:t}))}function nn(e){return Math.max(0,...nt(e).map(({build:t,at:i})=>i+t.duration))}function we(e,t){let i=new Set,n=new Set;for(let o of e.steps.flat())n.has(o.id)||(n.add(o.id),o.kind==="enter"&&i.add(o.id));for(let o of e.steps.slice(0,t).flat())o.kind==="enter"?i.delete(o.id):i.add(o.id);return i}function rn(e,t,i){for(let n=i;n!==void 0;n=e.parents.get(n)){let o=t.clicks.get(n);if(o)return{id:n,target:o}}}function on(e,t,i){let n=[...e];for(;n.length>0;){let o=n.pop(),l=t.findIndex(a=>a.id!==null&&a.id===o);if(l!==-1&&l!==i)return{index:l,history:n}}return null}function sn(e,t,i){let n=Me(t.width/Math.max(1,e.w));if(e.h*n<=t.height)return{camera:fe({x:e.x,y:e.y,width:e.w,height:e.h},t,0),top:0,max:0};let o=e.h-t.height/n,l=Math.min(Math.max(0,i),o),a=(t.width-e.w*n)/2-e.x*n;return{camera:{zoom:n,x:a,y:0-(e.y+l)*n},top:l,max:o}}var _e=.9,rt=.1;function an(e,t){return e.deltaMode===1?e.deltaY*16:e.deltaMode===2?e.deltaY*t.height:e.deltaY}var Kn=1500,Wn=2e3,Yn=200,qn=50;function it(e,t){let i=e.ownerDocument;e.classList.add("vd-player"),e.tabIndex=-1;let n=new Set,o=new Set,l=!1,a=Oe(e,{document:t.document,...t.timeline?{sample:t.timeline.sample}:{},interactive:!1,surface:"#000",...t.fonts?{fonts:t.fonts}:{},...t.loadFont?{loadFont:t.loadFont}:{},...t.resolveAsset?{resolveAsset:t.resolveAsset}:{},onSceneChange:()=>{l&&q()}}),g=i.createElementNS(ne,"path");g.setAttribute("class","vd-player__mask"),g.setAttribute("fill","#000"),g.setAttribute("fill-rule","evenodd"),a.surface.appendChild(g);let u=i.createElement("div");u.className="vd-player__counter",u.setAttribute("aria-live","polite"),e.appendChild(u);let S=tt(t.document),d=be(t.document,a.getScene()),y=Yt(d,t.start),w=[],E=0,L=[],x,V=0,_="",M=0,H=0,Q=1,R=new Map,ee,U=0,G,B,D=i.defaultView,ae=()=>typeof a.surface.animate=="function"&&!(D?.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1),j=()=>tn(S,d[y]),h;function X(){let s=d[y]?.id;if(!t.timeline||!s)return;let c=a.getDocument();return Ue(c.motion?.[s])?t.timeline.of(c,s):void 0}function se(s,c){return Math.min(s.length,...s.steps.filter(m=>m>c))}function Y(){h&&(a.setTime({timeline:h.timeline,t:h.t}),h.timeline.camera&&J())}function le(s){if(!h||(h.frame=0,!h.playing))return;let c=h.last===0?0:s-h.last;h.last=s;let m=se(h.timeline,h.t);h.t=Math.min(m,t.sound?.position()??h.t+c),h.t>=m&&(h.playing=!1,t.sound?.stop()),Y(),h.playing&&(h.frame=D?.requestAnimationFrame(le)??0)}function ue(){if(h){if(!ae()||!D?.requestAnimationFrame){h.t=se(h.timeline,h.t),Y();return}h.playing=!0,h.last=0,t.sound?.play(h.timeline,h.t),h.frame=D.requestAnimationFrame(le)}}function re(){h?.frame&&D?.cancelAnimationFrame(h.frame),h=void 0,t.sound?.stop(),a.setTime(null)}function K(s,c){h={timeline:s,t:c?0:s.length,playing:!1,last:0,frame:0},t.sound?.prepare(a.getDocument(),s),Y(),c&&ue()}function ie(){let s=X();s?(E=j().steps.length,K(s,!0)):p()}function pe(){let s=e.getBoundingClientRect(),c=d[y];return{width:s.width||c?.w||1,height:s.height||c?.h||1}}function J(){let s=d[y];if(!s)return;let c=pe(),m=h?.timeline.camera&&t.timeline?t.timeline.camera(h.timeline,h.t,a.getScene(),{doc:a.getDocument(),resolution:a.getResolution()}):{x:s.x,y:s.y,w:s.w,h:s.h},k=fe({x:m.x,y:m.y,width:m.w,height:m.h},c,0);if(H=0,j().scroll){let P=sn(s,c,M);k=P.camera,M=P.top,H=P.max}Q=k.zoom,a.setCamera(k);let z=m.x*k.zoom+k.x,$=m.y*k.zoom+k.y,W=m.w*k.zoom,oe=m.h*k.zoom;g.setAttribute("d",`M0 0H${c.width}V${c.height}H0ZM${z} ${$}h${W}v${oe}h${-W}Z`),g.dataset.slide=s.id??""}function he(){let s=Qe(d,y),c=qt(d);u.textContent=s===null?"Skipped":`${s} / ${c}`,u.classList.add("vd-player__counter--shown"),G&&clearTimeout(G),G=setTimeout(()=>u.classList.remove("vd-player__counter--shown"),Kn),t.onChange?.(s,c)}function q(){let s=new Set;for(let c of n)for(let m of S.within(c))s.add(m);o=s;for(let c of a.surface.querySelectorAll("[data-vd-hidden]")){let m=c.getAttribute("data-vd-id");(m===null||!s.has(m))&&c.removeAttribute("data-vd-hidden")}for(let c of s)a.elementOf(c)?.setAttribute("data-vd-hidden","")}function ge(s){return S.within(s).flatMap(c=>{let m=a.elementOf(c);return m?[m]:[]})}function ce(s){let c=1/0,m=1/0,k=-1/0,z=-1/0;for(let $ of S.within(s)){let W=a.itemOf($);W&&(c=Math.min(c,W.x),m=Math.min(m,W.y),k=Math.max(k,W.x+W.w),z=Math.max(z,W.y+W.h))}return Number.isFinite(c)?{x:(c+k)/2,y:(m+z)/2}:{x:0,y:0}}function me(){if(!(L.length===0&&!x)){V+=1,E===0&&(E=1),n=we(j(),E),q();for(let s of L)s.cancel();L=[],x?.remove(),x=void 0}}function f(){return L.length===0&&!x?!1:(me(),!0)}function v(s,c){return new Promise(m=>{let k=!1,z=()=>{k||(k=!0,m())};Promise.all(s.map($=>$.finished)).then(z,()=>{k=!0}),setTimeout(()=>{if(!k){for(let $ of s)($.playState==="running"||$.playState==="paused")&&$.finish();z()}},c+qn)})}function r(s,c,m){if(s===y||!d[s])return;let k=j(),z=d[y]?.id;z&&R.set(z,ee===void 0?M:U),O(),y=s;let $=j(),W=d[s]?.id;M=c||!W?0:R.get(W)??0;let oe=m==="forward"?$:k,P=ae()?en(oe.enter,m):null;P&&(x=a.surface.cloneNode(!0),x.classList.add("vd-player__still"),x.setAttribute("aria-hidden","true"),P.stillOnTop?a.surface.after(x):a.surface.before(x)),re();let ke=X();if(J(),ke?(E=$.steps.length,n=new Set,K(ke,!1),c&&h&&(h.t=0),Y()):(E=c?0:$.steps.length,n=we($,E)),q(),he(),!P||!x){c&&ie();return}let Ie={duration:oe.duration,easing:Jt},te=[];P.still&&te.push(x.animate(P.still,{...Ie,fill:"forwards"})),P.live&&te.push(a.surface.animate(P.live,Ie)),L.push(...te);let xe=V;v(te,oe.duration).then(()=>{if(xe===V){L=L.filter(ve=>!te.includes(ve));for(let ve of te)ve.cancel();x?.remove(),x=void 0,c&&ie()}})}function p(){let s=j(),c=s.steps[E];if(c===void 0)return;E+=1;let m=we(s,E);if(c.length===0)return;if(!ae()){n=m,q();return}let k=new Set(c.filter(P=>P.kind==="enter").map(P=>P.id));n=new Set([...we(s,E-1)].filter(P=>!k.has(P))),q();let z=d[y],$=je*Math.min(z?.w??0,z?.h??0),W=V,oe=[];for(let{build:P,at:ke}of nt(c)){let Ie=ce(P.id),te=[];for(let xe of ge(P.id)){let ve=Number(xe.getAttribute("opacity")??1),{keyframes:gn,easing:yn}=Qt(P.effect,P.kind,Number.isFinite(ve)?ve:1,$,Ie);te.push(xe.animate(gn,{duration:P.duration,delay:ke,easing:yn,fill:P.kind==="enter"?"backwards":"forwards"}))}oe.push(...te),P.kind==="exit"&&te.length>0&&v(te,ke+P.duration).then(()=>{if(W===V){n.add(P.id),q();for(let xe of te)xe.cancel()}})}L.push(...oe),v(oe,nn(c)).then(()=>{if(W===V){L=L.filter(P=>!oe.includes(P)),n=m,q();for(let P of oe)P.cancel()}})}function O(){ee!==void 0&&D?.cancelAnimationFrame(ee),ee=void 0}function b(s){if(O(),U=Math.min(Math.max(0,s),H),!ae()||!D?.requestAnimationFrame){M=U,J();return}let c=M,m,k=z=>{m??=z;let $=Math.min(1,(z-m)/Yn);M=c+(U-c)*(1-(1-$)**3),J(),ee=$<1?D.requestAnimationFrame(k):void 0};ee=D.requestAnimationFrame(k)}function I(s,c){if(f())return;let m=ee===void 0?M:U;if(!(s>0?M>=H-.5:M<=.5)){b(m+s*pe().height/Q);return}c||(s>0?C():Z())}function A(s){if(!(!j().scroll||H<=0))switch(s.key){case" ":return s.shiftKey?-_e:_e;case"PageDown":return _e;case"PageUp":return-_e;case"ArrowDown":return rt;case"ArrowUp":return-rt;default:return}}function N(s){let c=Math.min(Math.max(0,s),d.length-1);if(c===y)return;let m=d[y]?.id;m&&w.push(m),r(c,!0,"forward")}function C(){if(!f()){if(h){if(h.playing){h.frame&&D?.cancelAnimationFrame(h.frame),h.playing=!1,t.sound?.stop(),h.t=se(h.timeline,h.t),Y();return}if(h.t<h.timeline.length){ue();return}}if(E<j().steps.length){p();return}N(Ee(d,y,1))}}function Z(){if(f())return;let s=on(w,d,y);if(s){w=s.history,r(s.index,!1,"back");return}r(Ee(d,y,-1),!1,"back")}function Pe(s){switch(s.kind){case"url":t.onLink?.(s.url);return;case"back":Z();return;case"next":N(Ee(d,y,1));return;case"frame":{let c=Xt(a.getDocument(),d,s.id);c===null?C():Re(c,s.id)}}}function Re(s,c){let m=s===y;m||N(s);let k=d[y];if(!k||!j().scroll)return;let z=k.id===c?void 0:a.itemOf(c),$=z?z.y-k.y:0;m?b($):(M=$,J())}function Se(s){let c=d[y];if(!c||s.x<c.x||s.y<c.y||s.x>c.x+c.w||s.y>c.y+c.h)return;let m=W=>!o.has(W),k=a.hitTest(s,m),z=k===null?void 0:rn(S,j(),k);if(z)return z.target;let $=a.linkAt(s,m);return $===void 0?void 0:De($)}let Ce=s=>{if(s.stopPropagation(),s.metaKey||s.ctrlKey||s.altKey)return;let c=s.key,m=A(s);if(m!==void 0){_="",I(m,s.repeat),s.preventDefault();return}if(/^\d$/.test(c))_+=c;else if(c==="Enter"&&_!==""){let k=Zt(_,d);_="",!f()&&k!==null&&N(k)}else if(c==="Escape")_!==""?_="":t.onExit?.();else if(["ArrowRight","ArrowDown","PageDown"," ","Enter"].includes(c))_="",C();else if(["ArrowLeft","ArrowUp","PageUp","Backspace"].includes(c))_="",Z();else if(c==="Home")f()||N(Ee(d,-1,1));else if(c==="End")f()||N(Ee(d,d.length,-1));else return;s.preventDefault()},at=s=>{if(f())return;let c=Se(a.screenToDocument(a.pointerPoint(s)));c?Pe(c):C()},ct=s=>{!j().scroll||H<=0||(s.preventDefault(),!(x||s.ctrlKey||s.metaKey)&&(O(),M=Math.min(Math.max(0,M+an(s,pe())/Q),H),J()))},Ve=s=>{if(e.classList.remove("vd-player--idle"),B&&clearTimeout(B),B=setTimeout(()=>e.classList.add("vd-player--idle"),Wn),!s)return;let c=a.screenToDocument(a.pointerPoint(s));e.classList.toggle("vd-player--link",Se(c)!==void 0)},dt=D&&"ResizeObserver"in D?new D.ResizeObserver(()=>J()):void 0;return dt?.observe(e),e.addEventListener("keydown",Ce),e.addEventListener("click",at),e.addEventListener("pointermove",Ve),e.addEventListener("wheel",ct,{passive:!1}),l=!0,J(),n=X()?new Set:we(j(),0),q(),he(),Ve(),e.focus({preventScroll:!0}),ie(),{viewer:a,index:()=>y,count:()=>d.length,next:C,back:Z,go(s){me(),N(s)},update(s){if(s===a.getDocument())return;me();let c=d[y]?.id;a.update(s),S=tt(s),d=be(s,a.getScene());let m=d.findIndex(z=>z.id===c);y=m===-1?Math.min(y,d.length-1):m,m===-1&&(O(),M=0),re();let k=X();k&&K(k,!1),J(),E=j().steps.length,n=k?new Set:we(j(),E),q()},refit:J,destroy(){V+=1,O(),h?.frame&&D?.cancelAnimationFrame(h.frame),h=void 0,t.sound?.stop();for(let s of L)s.cancel();L=[],x?.remove(),dt?.disconnect(),e.removeEventListener("wheel",ct),e.removeEventListener("keydown",Ce),e.removeEventListener("click",at),e.removeEventListener("pointermove",Ve),G&&clearTimeout(G),B&&clearTimeout(B),g.remove(),u.remove(),a.destroy(),e.classList.remove("vd-player","vd-player--idle","vd-player--link"),e.removeAttribute("tabindex")}}}function cn(e){let t=e,i=new Map,n=typeof URL.createObjectURL=="function"&&typeof URL.revokeObjectURL=="function";return{resolve(o){let l=i.get(o.hash);if(l!==void 0)return l;let a=t.get(o.hash);if(a===void 0)return;if(!n)return xt(o.type,a);let g;try{g=vt(a)}catch{return}let u=URL.createObjectURL(new Blob([g],{type:o.type}));return i.set(o.hash,u),u},replace(o){t=o;for(let[l,a]of i)o.has(l)||(URL.revokeObjectURL(a),i.delete(l))},destroy(){for(let o of i.values())URL.revokeObjectURL(o);i.clear(),t=new Map}}}var ot=["page","content","none"],dn=24;function Le(e){let t=e.getBoundingClientRect();return{width:t.width,height:t.height}}function fn(e,t){let i=t===void 0?void 0:e.itemOf(t);if(!(!i||i.w<=0||i.h<=0))return{x:i.x,y:i.y,width:i.w,height:i.h}}function ln(e,t,i,n){if(i==="none")return;let o=i==="page"?fn(e,n):void 0;if(!o){e.fitToContent(dn);return}let l=Le(t);e.setCamera(fe(o,{width:l.width||o.width,height:l.height||o.height},dn))}function un(e,t,i){let n=fn(e,i);if(!n)return;let o=e.getCamera(),l=Le(t),a=l.width||n.width*o.zoom,g=l.height||n.height*o.zoom;e.setCamera({zoom:o.zoom,x:a/2-(n.x+n.width/2)*o.zoom,y:g/2-(n.y+n.height/2)*o.zoom})}var st=Symbol.for("vdesign.embed.handover");function pn(e){return e[st]}var hn=["exact","browser"],mn=["ready","problems","page","fonts"];async function Zn(e,t){try{let{exactFontsAt:i}=await import("./chunks/fonts.js"),n=i(e);return(await n.ensure(t)).length===0?n:void 0}catch{return}}async function Qr(e,t,i={}){let n=i.fit??"page";if(!ot.includes(n))throw new TypeError(`view: fit must be one of ${ot.join(", ")}; got ${String(n)}.`);let o=i.fonts??"exact";if(!hn.includes(o))throw new TypeError(`view: fonts must be one of ${hn.join(", ")}; got ${String(o)}.`);let l=o==="exact"?It(i.fontBase,ft,e.ownerDocument.baseURI):void 0,a=pn(i),g=await Ye(t),u=a?.page!==void 0&&de(g.document).some(f=>f.id===a.page)?a.page:i.page===void 0?de(g.document)[0]?.id:Ae(g.document,i.page).id,S=a?.exact&&l?await Zn(l,g.document):void 0,d=e.ownerDocument,y=d.defaultView,w=cn(g.blocks),E=g.blocks,L=[...g.problems],x,V=()=>x?[...L,x]:[...L],_=d.createElement("div");_.className="vd-embed",_.style.width="100%",_.style.height="100%",e.appendChild(_);let M=Oe(_,{document:g.document,interactive:i.interactive??!0,wheel:"modifier",resolveAsset:f=>w.resolve(f),...i.surface?{surface:i.surface}:{},...a?{camera:a.camera}:{},...S?{fonts:S.library}:{}}),H={ready:new Set,problems:new Set,page:new Set,fonts:new Set},Q=!1,R=!1,ee=0,U,G,B=S,D=o==="browser"?"browser":void 0,ae;function j(){Q=!0;for(let f of H.ready)f()}function h(){for(let f of H.problems)f(V())}function X(f){D=f;for(let v of H.fonts)v(f)}function se(){return ae??=(async()=>{if(l)try{let{exactFontsAt:f}=await import("./chunks/fonts.js");return f(l)}catch{return}})(),ae}function Y(f){B=void 0,M.setFonts(void 0),U?.fonts(void 0),x=f,h(),X("browser")}async function le(){let f=await se();if(!R){if(!f){Y(Ne([],l?"the fonts chunk would not load":"no fontBase was given and this build has no default"));return}for(;;){let v=M.getDocument(),r=await f.ensure(v);if(R)return;if(r.length>0){Y(Ne(r));return}if(M.getDocument()===v)break}B=f,M.setFonts(f.library),U?.fonts(f),X("exact")}}function ue(){let f=re(u);if(f)for(let v of H.page)v(f)}function re(f){let v=de(M.getDocument()).find(r=>r.id===f);if(v)return v.name===void 0?{id:v.id}:{id:v.id,name:v.name}}let K=()=>ln(M,_,n,u),ie=()=>un(M,_,u);function pe(f){if(R)return;let v=Ae(M.getDocument(),f).id,r=v!==u;u=v,n==="page"?K():ie(),r&&ue()}function J(f){i.onLink?i.onLink(f):y?.open(f,"_blank","noopener,noreferrer")}let he=f=>{if(f.button!==0||U)return;let v=M.linkAt(M.screenToDocument(M.pointerPoint(f)));if(v===void 0)return;let r=De(v);if(r){if(f.preventDefault(),r.kind==="frame"){de(M.getDocument()).some(p=>p.id===r.id)&&pe(r.id);return}J(r.url)}};_.addEventListener("click",he);let q=Le(_),ge=y&&"ResizeObserver"in y?new y.ResizeObserver(()=>{let f=Le(_);f.width===q.width&&f.height===q.height||(q=f,K())}):void 0;ge?.observe(_),a||(n==="none"&&u!==void 0&&i.page!==void 0?ie():K()),j(),S?X("exact"):o==="exact"&&le();let ce={async load(f){if(R)throw new Error("view: this view was destroyed.");let v=++ee,r=await Ye(f),p=B,O=p?await p.ensure(r.document):[];if(G&&await G||R||v!==ee)return;O.length>0&&B===p&&Y(Ne(O)),w.replace(r.blocks),E=r.blocks,M.update(r.document),L=[...r.problems],U?.update(r.document),de(r.document).some(I=>I.id===u)||(u=de(r.document)[0]?.id,n==="page"?K():ie(),ue()),h(),j()},pages:()=>de(M.getDocument()).map(f=>f.name===void 0?{id:f.id}:{id:f.id,name:f.name}),goTo:pe,fit:()=>{R||K()},play(f={}){if(R)return Promise.reject(new Error("view: this view was destroyed."));try{return U?.stop(),Promise.resolve(me(M.getDocument(),f.page))}catch(v){return Promise.reject(v instanceof Error?v:new Error(String(v)))}},async edit(f={}){if(R)throw new Error("view: this view was destroyed.");if(G)throw new Error("view: edit() is already opening an editor.");let v;G=new Promise(p=>v=p);let r=!1;try{let{edit:p}=await import("./edit.js");if(R)throw new Error("view: this view was destroyed.");let O={camera:M.getCamera(),page:u,exact:B!==void 0},b=Ct(M.getDocument(),E,L),I=await p(e,b,{...i,...f,[st]:O});if(R)throw I.destroy(),new Error("view: this view was destroyed.");return r=!0,ce.destroy(),I}finally{G=void 0,v(r)}},on(f,v){if(!mn.includes(f))throw new TypeError(`view: on() takes one of ${mn.join(", ")}; got ${String(f)}.`);let r=H[f];if(r.add(v),f==="ready"&&Q&&queueMicrotask(()=>{r.has(v)&&v()}),f==="problems"&&queueMicrotask(()=>{r.has(v)&&v(V())}),f==="fonts"&&D!==void 0){let p=D;queueMicrotask(()=>{r.has(v)&&v(p)})}return()=>{r.delete(v)}},destroy(){if(!R){R=!0,U?.stop(),_.removeEventListener("click",he),ge?.disconnect(),M.destroy(),w.destroy(),_.remove();for(let f of Object.values(H))f.clear()}}};function me(f,v){let r=v===void 0?u:Ae(f,v).id,p=d.createElement("div");p.className="vd-embed__play",p.style.position="absolute",p.style.inset="0";let O=Z=>Z.stopPropagation();p.addEventListener("wheel",O);let b=d.activeElement;_.appendChild(p);let I=!1,A=()=>{if(I)return;I=!0,U===N&&(U=void 0),C.destroy(),p.removeEventListener("wheel",O);let Z=p.contains(d.activeElement);p.remove(),Z&&b&&"focus"in b&&typeof b.focus=="function"&&b.focus({preventScroll:!0})},N={stop:A,update:Z=>C.update(Z),fonts:Z=>C.viewer.setFonts(Z?.library)},C=it(p,{document:f,resolveAsset:Z=>w.resolve(Z),...B?{fonts:B.library}:{},...r===void 0?{}:{start:r},onExit:A,onLink:J});return U=N,{goTo(Z){if(I)return;let Pe=C.viewer.getDocument(),Re=Ae(Pe,Z).id,Se=be(Pe,C.viewer.getScene()).findIndex(Ce=>Ce.id===Re);Se!==-1&&C.go(Se)},destroy:A}}return ce}export{wn as version,Qr as view};
|
|
101
|
+
`;function pn(e){if(e.getElementById(fn))return;let t=e.createElement("style");t.id=fn,t.textContent=un,e.head.appendChild(t)}function mn(e){if(!(e===void 0||typeof fetch!="function"))return async(t,n)=>{let r=e(t,n);if(r===void 0)return;let i=await fetch(r);return i.ok?new Uint8Array(await i.arrayBuffer()):void 0}}function gn(e,t,n,r,i){return t?er(e,t,n,r,i):Qn(e,n,r)}function Qn(e,t,n){let r=lt(e,n);return{measurer:r,update:i=>{r.load(i,t)},afterPaint:()=>{},destroy:()=>r.destroy()}}var hn=new WeakMap;function er(e,t,n,r,i){let a,c,m,d=()=>{if(!a)throw new Error("canvasFonts: update() before measuring");return a};return{measurer:{advance:(f,y)=>d().measurer.advance(f,y),metrics:f=>d().measurer.metrics(f),itemize:f=>d().measurer.itemize(f)},update(f){a&&f.fonts===c||(m?.(),a?.dispose(),a=t.forDocument(f,{...n?{loader:n}:{},...i?{asset:i}:{}}),c=f.fonts,m=a.onChange(r))},afterPaint(){let f=e.fonts;if(!a||!f||typeof FontFace!="function")return;let y=hn.get(e);y||hn.set(e,y=new Set);for(let w of a.usedFaces()){if(y.has(w.id))continue;y.add(w.id);let k=new FontFace(w.id,tr(w.bytes),{weight:String(w.weight),style:w.style});f.add(k),k.load().catch(()=>f.delete(k))}},destroy(){m?.(),a?.dispose(),a=void 0}}}function tr(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}var nr=.01,rr=.004,yn=40,ir=16;function Fe(e,t){pn(e.ownerDocument);let n=t.document,r=o=>gn(e.ownerDocument,o,t.loadFont,()=>{K(n)},mn(t.resolveAsset)),i=r(t.fonts),a={advance:(o,p)=>i.measurer.advance(o,p),metrics:o=>i.measurer.metrics(o),itemize:o=>i.measurer.itemize?.(o)??[o]};i.update(n);let c=Ve(n),m=()=>t.resolveAsset?{measure:a,resolveAsset:t.resolveAsset}:{measure:a},d=it(n,c,m()),S=t.camera??Ue,f=t.interactive??!0,y=t.wheel??"always";e.classList.add("vd-viewer"),t.surface&&(e.style.background=t.surface);let w=e.ownerDocument.createElementNS(H,"svg");w.setAttribute("class","vd-viewer__surface"),w.setAttribute("width","100%"),w.setAttribute("height","100%");let k=e.ownerDocument.createElementNS(H,"g");k.setAttribute("class","vd-viewer__camera"),k.style.isolation="isolate",w.appendChild(k);let _=e.ownerDocument.createElementNS(H,"defs");k.appendChild(_);let v=e.ownerDocument.createElementNS(H,"rect");v.setAttribute("class","vd-viewer__page"),k.appendChild(v),e.appendChild(w);let I=new Map,P=null;function T(){let o=t.sample;return P&&o?o(d,P.timeline,P.t,{doc:n,resolution:c,options:m()}):d}function j(){k.setAttribute("transform",ft(S))}function ee(o=!0){let p=T();ne(p);let O=d.background!==void 0;C(v,"x",String(d.x)),C(v,"y",String(d.y)),C(v,"width",String(O?d.width:0)),C(v,"height",String(O?d.height:0)),M(v,"fill",d.background??null);let b=new Set,D=v;for(let E of p.items){if(E.backdrop!==void 0){let U=vn(E.id);b.add(U);let te=I.get(U);te||(te=e.ownerDocument.createElementNS(H,"g"),te.setAttribute("data-vd-id",E.id),I.set(U,te)),Le(te,Zt(p,E)),D.nextSibling!==te&&k.insertBefore(te,D.nextSibling),D=te}let $=E.kind==="border"?wn(E.id):E.part===void 0?E.id:`${E.id}\0${E.part}`;b.add($);let F=I.get($);(!F||F.tagName!==We(E))&&(F?.remove(),F=e.ownerDocument.createElementNS(H,We(E)),F.setAttribute("data-vd-id",E.id),I.set($,F)),kn(F,E),D.nextSibling!==F&&k.insertBefore(F,D.nextSibling),D=F}for(let[E,$]of I)b.has(E)||($.remove(),I.delete(E));dr(k,p),i.afterPaint(),o&&t.onSceneChange?.(d,n)}let V=new Map;function ne(o){let p=[...o.gradients.map(Kt),...[...new Map(o.items.filter(Be).map(E=>[E.id,E])).values()].map(E=>Gt(E)),...qt(o.items).map(Yt),...o.clips.map(jt),...o.items.filter(E=>E.mask!==void 0).map(nn)],O=new Set(p);for(let[E,$]of V)O.has(E)||($.remove(),V.delete(E));let b=p.filter(E=>!V.has(E));if(b.length===0)return;[...new DOMParser().parseFromString(`<svg xmlns="${H}">${b.join("")}</svg>`,"image/svg+xml").documentElement.children].forEach((E,$)=>{let F=e.ownerDocument.importNode(E,!0);_.appendChild(F),V.set(b[$],F)})}function K(o){n=o,i.update(n),c=Ve(n),d=it(n,c,m()),ee()}function W(o){let p=e.getBoundingClientRect();return{x:o.clientX-p.left,y:o.clientY-p.top}}let B=0,N=0;function ce(){e.classList.add("vd-viewer--interacting"),N&&clearTimeout(N),N=setTimeout(()=>{N=0,e.classList.remove("vd-viewer--interacting")},180)}function G(){B&&(cancelAnimationFrame(B),B=0),j(),t.onCameraChange?.(S)}function h(o){S=o,G()}function J(o){S=o,ce(),!B&&(B=requestAnimationFrame(()=>{B=0,j(),t.onCameraChange?.(S)}))}let ae=null,Z=null,ue=!1,pe=f&&y==="always",ie=new Map,q=null,oe=()=>{let[o,p]=[...ie.values()];return!o||!p?null:{mid:{x:(o.x+p.x)/2,y:(o.y+p.y)/2},distance:Math.hypot(o.x-p.x,o.y-p.y)}},he=o=>{let p=ie.get(o.pointerId);if(!p)return;let O=W(o);if(ie.set(o.pointerId,O),ie.size===1){J(we(S,O.x-p.x,O.y-p.y));return}let b=oe();if(q&&b){let D=we(S,b.mid.x-q.mid.x,b.mid.y-q.mid.y);J(q.distance>0?Pe(D,b.mid,b.distance/q.distance):D)}q=b},Q=o=>{ie.delete(o.pointerId)&&(e.hasPointerCapture(o.pointerId)&&e.releasePointerCapture(o.pointerId),q=oe())},me=o=>{if(y==="modifier"&&!o.ctrlKey&&!o.metaKey)return;o.preventDefault();let p=W(o),O=o.deltaMode===1?ir:o.deltaMode===2?e.clientHeight||800:1,b=o.deltaX*O,D=o.deltaY*O;if(o.ctrlKey||o.metaKey){let E=o.ctrlKey?nr:rr,$=Math.max(-yn,Math.min(yn,D));J(Pe(S,p,Math.exp(-$*E)));return}if(o.shiftKey&&b===0){J(we(S,-D,0));return}J(we(S,-b,-D))},X=o=>{if(o.pointerType==="touch"){if(!pe)return;o.preventDefault(),ie.set(o.pointerId,W(o)),e.setPointerCapture(o.pointerId),q=oe();return}(o.button===1||o.button===0&&ue)&&(o.preventDefault(),ae=o.pointerId,Z=W(o),e.setPointerCapture(o.pointerId))},ye=o=>{if(o.pointerType==="touch"){he(o);return}if(ae!==o.pointerId||!Z)return;let p=W(o);J(we(S,p.x-Z.x,p.y-Z.y)),Z=p},le=o=>{if(o.pointerType==="touch"){Q(o);return}ae===o.pointerId&&(ae=null,Z=null,e.hasPointerCapture(o.pointerId)&&e.releasePointerCapture(o.pointerId))},ge=o=>{o.code==="Space"&&(ue=!0)},u=o=>{o.code==="Space"&&(ue=!1)};pe&&(e.style.touchAction="none"),f&&(e.addEventListener("wheel",me,{passive:!1}),e.addEventListener("pointerdown",X),e.addEventListener("pointermove",ye),e.addEventListener("pointerup",le),e.addEventListener("pointercancel",le),e.ownerDocument.addEventListener("keydown",ge),e.ownerDocument.addEventListener("keyup",u)),j(),ee();let x={element:e,surface:w,update:K,getDocument:()=>n,getScene:()=>d,setTime(o){o===null&&P===null||(P=o,ee(!1))},getTime:()=>P,getResolution:()=>c,getMeasurer:()=>a,setFonts(o){i.destroy(),i=r(o),K(n)},getCamera:()=>S,setCamera:h,zoomBy(o,p){let O=e.getBoundingClientRect(),b=p??{x:O.width/2,y:O.height/2};h(Pe(S,b,o))},fitToContent(o=32){let p=e.getBoundingClientRect();h(fe({x:d.x,y:d.y,width:d.width,height:d.height},{width:p.width||d.width,height:p.height||d.height},o))},screenToDocument:o=>Ke(S,o),documentToScreen:o=>dt(S,o),pointerPoint:W,hitTest(o,p){for(let O=d.items.length-1;O>=0;O--){let b=d.items[O];if(b&&xr(b,o,vr/S.zoom)&&(!p||p(b.id)))return b.id}return null},linkAt(o,p){for(let O=d.items.length-1;O>=0;O--){let b=d.items[O];if(b?.kind!=="text"||p&&!p(b.id))continue;let D=b.rotation===0?o:et(o,{x:b.x+b.w/2,y:b.y+b.h/2},-b.rotation);for(let E of b.lines){if(D.y<E.y||D.y>E.y+E.h)continue;let $=E.spans.find(F=>D.x>=F.x&&D.x<=F.x+F.w);if($)return $.style.link}}},itemOf:o=>d.items.find(p=>p.id===o),elementOf:o=>I.get(o),elementsOf:o=>[I.get(vn(o)),I.get(o),I.get(wn(o))].filter(p=>p!==void 0),destroy(){f&&(e.removeEventListener("wheel",me),e.removeEventListener("pointerdown",X),e.removeEventListener("pointermove",ye),e.removeEventListener("pointerup",le),e.removeEventListener("pointercancel",le),e.ownerDocument.removeEventListener("keydown",ge),e.ownerDocument.removeEventListener("keyup",u)),B&&cancelAnimationFrame(B),N&&clearTimeout(N),B=0,N=0,i.destroy(),e.classList.remove("vd-viewer--interacting"),w.remove(),I.clear(),e.classList.remove("vd-viewer")}};return t.autoFit&&x.fitToContent(),x}function wn(e){return`${e}\0border`}function vn(e){return`${e}\0backdrop`}var or="vd-clip-";function sr(e){return or+e}function Ge(e){return`url(#${sr(e)})`}function We(e){return e.veil!==void 0||En(e)?"g":_e(e)}function ar(e){let{veil:t,...n}=e;return t===void 0?e:n}function En(e){return Xt(e)||e.pose!==void 0}function ke(e){return Ut(e)?"path":"rect"}function _e(e){if(e.mask!==void 0||je(e))return"g";switch(e.kind){case"border":return ke(e.radii);case"connector":return"g";case"ellipse":return"ellipse";case"frame":return ke(e.radii);case"image":return e.href===void 0&&e.video?.clip!==void 0?"g":e.href===void 0?ke(e.radii):Ze(e.radii)?"image":"g";case"rect":return ke(e.radii);case"text":return"text";case"vector":return"path"}}function kn(e,t){if(t.veil!==void 0){M(e,"clip-path",t.veil.clip===void 0?null:Ge(t.veil.clip)),e.style.filter=`url(#${Wt}${t.veil.id})`;let i=ar(t),a=e.firstElementChild;(!a||a.tagName!==We(i)||e.childElementCount!==1)&&(e.replaceChildren(),a=e.ownerDocument.createElementNS(H,We(i)),e.appendChild(a)),kn(a,i);return}if(!En(t)){ut(e,t);return}M(e,"clip-path",t.clip===void 0?null:Ge(t.clip)),e.style.mixBlendMode=t.blend==="normal"?"":t.blend;let n=t.pose;M(e,"opacity",n&&n.opacity<1?String(n.opacity):null);let r=e.firstElementChild;if((!r||r.tagName!==_e(t))&&(r?.remove(),r=e.ownerDocument.createElementNS(H,_e(t)),e.appendChild(r)),ut(r,{...t,clip:void 0,blend:"normal"}),n){let i=t.rotation===0||t.mask!==void 0?"":` ${st(t)}`;C(r,"transform",`${Jt(n)}${i}`),t.kind==="vector"&&cr(r,t)}}function cr(e,t){if(je(t))return;let n=t.pose?.trace;if(n!==void 0&&t.stroke!==void 0){let i=t.dash??[],a=Vt(i,Dt(t.contours),n);C(e,"stroke-dasharray",a.array.join(" ")),M(e,"stroke-dashoffset",a.offset!==0||i.length===0?String(a.offset):null)}let r=t.pose?.fillOpacity;M(e,"fill-opacity",r!==void 0&&r<1?String(r):null)}function ut(e,t){if(t.mask!==void 0){lr(e,t);return}if(M(e,"clip-path",t.clip===void 0?null:Ge(t.clip)),M(e,"transform",t.rotation===0?null:st(t)),e.style.mixBlendMode=t.blend==="normal"?"":t.blend,e.style.filter=Be(t)?`url(#${ot}${t.id})`:"",je(t)){let n="opacity"in t?t.opacity:1;M(e,"opacity",n<1?String(n):null),Le(e,sn(t));return}switch(t.kind){case"border":fr(e,t);return;case"connector":M(e,"opacity",t.opacity<1?String(t.opacity):null),Le(e,on(t));return;case"ellipse":yr(e,t);return;case"frame":ur(e,t);return;case"image":pr(e,t);return;case"rect":gr(e,t);return;case"text":mr(e,t);return;case"vector":wr(e,t);return}}function lr(e,t){M(e,"clip-path",t.clip===void 0?null:Ge(t.clip)),M(e,"transform",null),e.style.mixBlendMode=t.blend==="normal"?"":t.blend,e.style.filter=Be(t)?`url(#${ot}${t.id})`:"";let n="opacity"in t?t.opacity:1;M(e,"opacity",n<1?String(n):null);let r=e.ownerDocument,i=e.firstElementChild;(i?.tagName!=="g"||e.childElementCount!==1)&&(e.replaceChildren(),i=r.createElementNS(H,"g"),e.appendChild(i)),C(i,"clip-path",`url(#${Qt}${t.id})`);let a=en(t),c=i.firstElementChild;c?.tagName!==_e(a)&&(c?.remove(),c=r.createElementNS(H,_e(a)),i.appendChild(c)),ut(c,a);let m=tn(t),d=i.nextElementSibling;if(m===""){d?.remove();return}d||(d=r.createElementNS(H,"g"),e.appendChild(d)),Le(d,m)}var xn=new WeakMap;function dr(e,t){let n=new Map;for(let r of t.items)r.kind==="image"&&r.video?.clip!==void 0&&r.href===void 0&&n.set(r.id,r.video.at/1e3);if(n.size!==0)for(let r of e.querySelectorAll("video[data-vd-video]")){let i=n.get(r.getAttribute("data-vd-video")??"");if(i===void 0)continue;let a=r;if(a.muted=!0,!(Math.abs(a.currentTime-i)<1/60))try{a.currentTime=i}catch{}}}function Le(e,t){let n=xn.get(e);if(n?.markup===t&&n.first===e.firstChild&&n.last===e.lastChild)return;let r=new DOMParser().parseFromString(`<svg xmlns="${H}">${t}</svg>`,"image/svg+xml"),i=e.ownerDocument;e.replaceChildren(...[...r.documentElement.children].map(a=>i.importNode(a,!0))),xn.set(e,{markup:t,first:e.firstChild,last:e.lastChild})}function fr(e,t){M(e,"class",null),De(e,t,t.radii),C(e,"fill","none"),pt(e,t)}function pt(e,t){let n=nt(t);M(e,"stroke",n?.paint??null),M(e,"stroke-width",n?String(n.width):null),t.kind==="vector"&&t.pose?.trace!==void 0||(M(e,"stroke-dasharray",n&&n.dash.length>0?n.dash.join(" "):null),M(e,"stroke-dashoffset",null)),M(e,"stroke-linecap",n&&n.cap!=="butt"?n.cap:null),M(e,"stroke-linejoin",n&&n.join!=="miter"?n.join:null)}function ur(e,t){C(e,"class","vd-viewer__page"),De(e,t,t.radii),M(e,"fill",t.background??null)}function pr(e,t){if(M(e,"opacity",t.opacity<1?String(t.opacity):null),t.href===void 0&&t.video?.clip!==void 0){Le(e,rn(t));return}if(t.href===void 0){C(e,"class","vd-viewer__missing"),De(e,t,t.radii);return}if(e.tagName!=="g"){bn(e,t);return}let n=e.ownerDocument,r=e.firstElementChild;r?.tagName!=="clipPath"&&(e.replaceChildren(),r=n.createElementNS(H,"clipPath"),e.appendChild(r)),C(r,"id",at+t.id);let i=r.firstElementChild;i?.tagName!==ke(t.radii)&&(i?.remove(),i=n.createElementNS(H,ke(t.radii)),r.appendChild(i)),De(i,t,t.radii);let a=r.nextElementSibling;a?.tagName!=="image"&&(a?.remove(),a=n.createElementNS(H,"image"),e.appendChild(a)),bn(a,t),C(a,"clip-path",`url(#${at}${t.id})`)}function bn(e,t){C(e,"x",String(t.x)),C(e,"y",String(t.y)),C(e,"width",String(t.w)),C(e,"height",String(t.h)),C(e,"href",t.href??""),C(e,"preserveAspectRatio",hr[t.fit])}function De(e,t,n){if(e.tagName==="path"){C(e,"d",Ht(t,n));return}C(e,"x",String(t.x)),C(e,"y",String(t.y)),C(e,"width",String(t.w)),C(e,"height",String(t.h)),M(e,"rx",Ze(n)?null:String(n.tl))}var hr={cover:"xMidYMid slice",contain:"xMidYMid meet",fill:"none"};function mr(e,t){M(e,"opacity",t.opacity<1?String(t.opacity):null),C(e,"xml:space","preserve"),pt(e,t),M(e,"paint-order",nt(t)?"stroke":null);let n=t.lines.flatMap(i=>i.spans).filter(i=>i.text!==""),r=e.ownerDocument;for(;e.childNodes.length>n.length;)e.lastChild?.remove();for(;e.childNodes.length<n.length;)e.appendChild(r.createElementNS(H,"tspan"));n.forEach((i,a)=>{let c=e.childNodes[a];c.textContent!==i.text&&(c.textContent=i.text),C(c,"x",String(i.x)),C(c,"y",String(i.y)),C(c,"font-family",i.style.family),C(c,"font-size",String(i.style.size)),C(c,"fill",i.style.fill),M(c,"font-weight",i.style.weight===400?null:String(i.style.weight)),M(c,"font-style",i.style.italic?"italic":null),M(c,"letter-spacing",i.style.letterSpacing===0?null:String(i.style.letterSpacing)),M(c,"data-vd-link",i.style.link??null);let m=[i.style.underline?"underline":"",i.style.strike?"line-through":""].filter(Boolean).join(" ");M(c,"text-decoration",m===""?null:m)})}function gr(e,t){M(e,"class",null),De(e,t,t.radii),ht(e,t)}function ht(e,t){if(C(e,"fill",t.fill),M(e,"stroke",t.stroke??null),M(e,"stroke-width",t.stroke&&t.strokeWidth>0?String(t.strokeWidth):null),M(e,"opacity",t.opacity<1?String(t.opacity):null),t.kind==="vector"){if(t.pose?.trace===void 0){let n=t.stroke!==void 0?t.dash??[]:[];M(e,"stroke-dasharray",n.length>0?n.join(" "):null),M(e,"stroke-dashoffset",null)}return}pt(e,t)}function yr(e,t){C(e,"cx",String(t.x+t.w/2)),C(e,"cy",String(t.y+t.h/2)),C(e,"rx",String(t.w/2)),C(e,"ry",String(t.h/2)),ht(e,t)}function wr(e,t){C(e,"d",t.d),ht(e,t),M(e,"fill-rule",t.rule==="nonzero"?null:t.rule),M(e,"stroke-linecap",t.cap==="butt"?null:t.cap),M(e,"stroke-linejoin",t.join==="miter"?null:t.join)}function C(e,t,n){e.getAttribute(t)!==n&&e.setAttribute(t,n)}function M(e,t,n){n===null?e.hasAttribute(t)&&e.removeAttribute(t):C(e,t,n)}var vr=4;function xr(e,t,n){if(e.mask!==void 0&&!Ee(e.mask.contours,t,{fill:!0,rule:e.mask.rule,reach:n}))return!1;let r=e.rotation===0?t:et(t,{x:e.x+e.w/2,y:e.y+e.h/2},-e.rotation),i=r.x>=e.x&&r.x<=e.x+e.w&&r.y>=e.y&&r.y<=e.y+e.h;if(e.kind==="border")return!1;if(e.kind==="ellipse"){let a=rt(e),c=e.w/2+a,m=e.h/2+a;if(c<=0||m<=0)return!1;let d=(r.x-(e.x+e.w/2))/c,S=(r.y-(e.y+e.h/2))/m;return d*d+S*S<=1}if(e.kind==="connector"){let a=e.strokeWidth/2+n;return Ee(e.contours,r,{fill:!1,rule:"nonzero",reach:a})||Ee(e.filled.contours,r,{fill:!0,rule:"nonzero",reach:n})||Ee(e.lined.contours,r,{fill:!1,rule:"nonzero",reach:a})}if(e.kind==="vector"){let a=e.stroke!==void 0&&e.strokeWidth>0;return Ee(e.contours,r,{fill:e.fill!=="none",rule:e.rule,reach:(a?rt(e):0)+n})}return i}function Se(e,t){let n=new Map;for(let i of t.items)i.kind==="frame"&&i.w>0&&i.h>0&&n.set(i.id,{id:i.id,x:i.x,y:i.y,w:i.w,h:i.h});let r=e.root.children.flatMap(i=>{if(i.type!=="frame"||i.component===!0)return[];let a=n.get(i.id);return a?[{...a,skip:i.skip===!0}]:[]});return r.length===0?[{id:null,x:t.x,y:t.y,w:t.width,h:t.height,skip:!1}]:r.every(i=>i.skip)?r.map(i=>({...i,skip:!1})):r}function Sn(e,t){return e.root.children.find(r=>r.type==="frame"&&Ot(r,t)!==void 0)?.id}function An(e,t){let n=t===void 0?-1:e.findIndex(r=>r.id===t);return n!==-1?n:Math.max(0,e.findIndex(r=>!r.skip))}function Ae(e,t,n){for(let r=t+n;r>=0&&r<e.length;r+=n)if(!e[r]?.skip)return r;return t}function Mn(e){return e.filter(t=>!t.skip).length}function mt(e,t){return e[t]?.skip!==!1?null:e.slice(0,t+1).filter(n=>!n.skip).length}function Tn(e,t){if(!/^\d+$/.test(e))return null;let n=Number(e),r=t.findIndex((i,a)=>mt(t,a)===n);return r===-1?null:r}function On(e,t,n){let r=Sn(e,n),i=t.findIndex(a=>a.id!==null&&a.id===r);return i===-1?null:i}var br=gt($t),Er=gt(zt),Cn=gt(Rt);function gt(e){return`cubic-bezier(${e.join(", ")})`}function Pn(e,t,n,r,i){let a={opacity:n},c=kr(e,t,r,i);if(e==="cut")return{keyframes:t==="enter"?[{visibility:"hidden"},{visibility:"hidden"}]:[{visibility:"visible"},{visibility:"visible"}],easing:"linear"};if(e==="pop"){let m=`${i.x}px ${i.y}px`;a.scale="1",a.transformOrigin=m}else(e==="rise"||e==="drop")&&(a.translate="0 0");return t==="enter"?{keyframes:[c,a],easing:br}:{keyframes:[a,c],easing:Er}}function kr(e,t,n,r){switch(e){case"rise":return{opacity:0,translate:`0 ${t==="enter"?n:-n}px`};case"drop":return{opacity:0,translate:`0 ${t==="enter"?-n:n}px`};case"pop":return{opacity:0,scale:String(Nt),transformOrigin:`${r.x}px ${r.y}px`};case"fade":case"cut":case"wipe":case"grow":case"count":case"draw":return{opacity:0}}}function _n(e,t){let n=t==="forward"?"-100%":"100%",r=t==="forward"?"100%":"-100%";switch(e){case"cut":return null;case"fade":return{still:[{opacity:1},{opacity:0}],live:null,stillOnTop:!0};case"push":return{still:[{translate:"0 0"},{translate:`${n} 0`}],live:[{translate:`${r} 0`},{translate:"0 0"}],stillOnTop:!1};case"slide":return t==="forward"?{still:null,live:[{translate:"100% 0"},{translate:"0 0"}],stillOnTop:!1}:{still:[{translate:"0 0"},{translate:"100% 0"}],live:null,stillOnTop:!0}}}var Sr={enter:"cut",duration:0,steps:[[]],clicks:new Map,scroll:!1};function yt(e){let t=new Map,n=new Map,r=new Map;Tt(e.root,(m,d)=>{d&&(n.set(m.id,d.id),r.set(d.id,[...r.get(d.id)??[],m.id]))});let i=Lt(e),a=_t(e);for(let[m,d]of Object.entries(e.motion??{})){if(!a.has(m))continue;let S=[[]],f=new Map,y=Ct(d);for(let w of d.lines){if(w.id===m||i.get(w.id)!==m)continue;let k=w.go===void 0?void 0:Pt(w.go);k&&f.set(w.id,k);let _=w.enter!==void 0?"enter":w.exit!==void 0?"exit":null,v=w.enter??w.exit;_===null||v===void 0||(w.step&&S.push([]),S.at(-1).push({id:w.id,kind:_,effect:v,duration:v==="cut"?0:Xe(w.duration,y,Je),delay:Xe(w.delay,y,0),together:w.together===!0}))}t.set(m,{enter:d.enter??"cut",duration:d.duration??Je,steps:S,clicks:f,scroll:d.scroll===!0})}let c=m=>[m,...(r.get(m)??[]).flatMap(d=>c(d))];return{pages:t,parents:n,within:c}}function Ln(e,t){let n=t?.id;return(n?e.pages.get(n):void 0)??Sr}function wt(e){let t=0,n=0;return e.map((r,i)=>(t=(i===0?0:r.together?t:n)+r.delay,n=t+r.duration,{build:r,at:t}))}function Dn(e){return Math.max(0,...wt(e).map(({build:t,at:n})=>n+t.duration))}function ve(e,t){let n=new Set,r=new Set;for(let i of e.steps.flat())r.has(i.id)||(r.add(i.id),i.kind==="enter"&&n.add(i.id));for(let i of e.steps.slice(0,t).flat())i.kind==="enter"?n.delete(i.id):n.add(i.id);return n}function Fn(e,t,n){for(let r=n;r!==void 0;r=e.parents.get(r)){let i=t.clicks.get(r);if(i)return{id:r,target:i}}}function In(e,t,n){let r=[...e];for(;r.length>0;){let i=r.pop(),a=t.findIndex(c=>c.id!==null&&c.id===i);if(a!==-1&&a!==n)return{index:a,history:r}}return null}function Nn(e,t,n){let r=Ce(t.width/Math.max(1,e.w));if(e.h*r<=t.height)return{camera:fe({x:e.x,y:e.y,width:e.w,height:e.h},t,0),top:0,max:0};let i=e.h-t.height/r,a=Math.min(Math.max(0,n),i),c=(t.width-e.w*r)/2-e.x*r;return{camera:{zoom:r,x:c,y:0-(e.y+a)*r},top:a,max:i}}var Ie=.9,vt=.1;function $n(e,t){return e.deltaMode===1?e.deltaY*16:e.deltaMode===2?e.deltaY*t.height:e.deltaY}var Ar=1500,Mr=2e3,Tr=200,Or=50;function xt(e,t){let n=e.ownerDocument;e.classList.add("vd-player"),e.tabIndex=-1;let r=new Set,i=new Set,a=!1,c=Fe(e,{document:t.document,...t.timeline?{sample:t.timeline.sample}:{},interactive:!1,surface:"#000",...t.fonts?{fonts:t.fonts}:{},...t.loadFont?{loadFont:t.loadFont}:{},...t.resolveAsset?{resolveAsset:t.resolveAsset}:{},onSceneChange:()=>{a&&X()}}),m=n.createElementNS(H,"path");m.setAttribute("class","vd-player__mask"),m.setAttribute("fill","#000"),m.setAttribute("fill-rule","evenodd"),c.surface.appendChild(m);let d=n.createElement("div");d.className="vd-player__counter",d.setAttribute("aria-live","polite"),e.appendChild(d);let S=yt(t.document),f=Se(t.document,c.getScene()),y=An(f,t.start),w=[],k=0,_=[],v,I=0,P="",T=0,j=0,ee=1,V=new Map,ne,K=0,W,B,N=n.defaultView,ce=()=>typeof c.surface.animate=="function"&&!(N?.matchMedia?.("(prefers-reduced-motion: reduce)").matches??!1),G=()=>Ln(S,f[y]),h;function J(){let s=f[y]?.id;if(!t.timeline||!s)return;let l=c.getDocument();return Qe(l.motion?.[s])?t.timeline.of(l,s):void 0}function ae(s,l){return Math.min(s.length,...s.steps.filter(g=>g>l))}function Z(){h&&(c.setTime({timeline:h.timeline,t:h.t}),h.timeline.camera&&Q())}function ue(s){if(!h||(h.frame=0,!h.playing))return;let l=h.last===0?0:s-h.last;h.last=s;let g=ae(h.timeline,h.t);h.t=Math.min(g,t.sound?.position()??h.t+l),h.t>=g&&(h.playing=!1,t.sound?.stop()),Z(),h.playing&&(h.frame=N?.requestAnimationFrame(ue)??0)}function pe(){if(h){if(!ce()||!N?.requestAnimationFrame){h.t=ae(h.timeline,h.t),Z();return}h.playing=!0,h.last=0,t.sound?.play(h.timeline,h.t),h.frame=N.requestAnimationFrame(ue)}}function ie(){h?.frame&&N?.cancelAnimationFrame(h.frame),h=void 0,t.sound?.stop(),c.setTime(null)}function q(s,l){h={timeline:s,t:l?0:s.length,playing:!1,last:0,frame:0},t.sound?.prepare(c.getDocument(),s),Z(),l&&pe()}function oe(){let s=J();s?(k=G().steps.length,q(s,!0)):p()}function he(){let s=e.getBoundingClientRect(),l=f[y];return{width:s.width||l?.w||1,height:s.height||l?.h||1}}function Q(){let s=f[y];if(!s)return;let l=he(),g=h?.timeline.camera&&t.timeline?t.timeline.camera(h.timeline,h.t,c.getScene(),{doc:c.getDocument(),resolution:c.getResolution()}):{x:s.x,y:s.y,w:s.w,h:s.h},A=fe({x:g.x,y:g.y,width:g.w,height:g.h},l,0);if(j=0,G().scroll){let L=Nn(s,l,T);A=L.camera,T=L.top,j=L.max}ee=A.zoom,c.setCamera(A);let z=g.x*A.zoom+A.x,R=g.y*A.zoom+A.y,Y=g.w*A.zoom,se=g.h*A.zoom;m.setAttribute("d",`M0 0H${l.width}V${l.height}H0ZM${z} ${R}h${Y}v${se}h${-Y}Z`),m.dataset.slide=s.id??""}function me(){let s=mt(f,y),l=Mn(f);d.textContent=s===null?"Skipped":`${s} / ${l}`,d.classList.add("vd-player__counter--shown"),W&&clearTimeout(W),W=setTimeout(()=>d.classList.remove("vd-player__counter--shown"),Ar),t.onChange?.(s,l)}function X(){let s=new Set;for(let l of r)for(let g of S.within(l))s.add(g);i=s;for(let l of c.surface.querySelectorAll("[data-vd-hidden]")){let g=l.getAttribute("data-vd-id");(g===null||!s.has(g))&&l.removeAttribute("data-vd-hidden")}for(let l of s)for(let g of c.elementsOf(l))g.setAttribute("data-vd-hidden","")}function ye(s){return S.within(s).flatMap(l=>c.elementsOf(l))}function le(s){let l=1/0,g=1/0,A=-1/0,z=-1/0;for(let R of S.within(s)){let Y=c.itemOf(R);Y&&(l=Math.min(l,Y.x),g=Math.min(g,Y.y),A=Math.max(A,Y.x+Y.w),z=Math.max(z,Y.y+Y.h))}return Number.isFinite(l)?{x:(l+A)/2,y:(g+z)/2}:{x:0,y:0}}function ge(){if(!(_.length===0&&!v)){I+=1,k===0&&(k=1),r=ve(G(),k),X();for(let s of _)s.cancel();_=[],v?.remove(),v=void 0}}function u(){return _.length===0&&!v?!1:(ge(),!0)}function x(s,l){return new Promise(g=>{let A=!1,z=()=>{A||(A=!0,g())};Promise.all(s.map(R=>R.finished)).then(z,()=>{A=!0}),setTimeout(()=>{if(!A){for(let R of s)(R.playState==="running"||R.playState==="paused")&&R.finish();z()}},l+Or)})}function o(s,l,g){if(s===y||!f[s])return;let A=G(),z=f[y]?.id;z&&V.set(z,ne===void 0?T:K),O(),y=s;let R=G(),Y=f[s]?.id;T=l||!Y?0:V.get(Y)??0;let se=g==="forward"?R:A,L=ce()?_n(se.enter,g):null;L&&(v=c.surface.cloneNode(!0),v.classList.add("vd-player__still"),v.setAttribute("aria-hidden","true"),L.stillOnTop?c.surface.after(v):c.surface.before(v)),ie();let Te=J();if(Q(),Te?(k=R.steps.length,r=new Set,q(Te,!1),l&&h&&(h.t=0),Z()):(k=l?0:R.steps.length,r=ve(R,k)),X(),me(),!L||!v){l&&oe();return}let ze={duration:se.duration,easing:Cn},re=[];L.still&&re.push(v.animate(L.still,{...ze,fill:"forwards"})),L.live&&re.push(c.surface.animate(L.live,ze)),_.push(...re);let xe=I;x(re,se.duration).then(()=>{if(xe===I){_=_.filter(be=>!re.includes(be));for(let be of re)be.cancel();v?.remove(),v=void 0,l&&oe()}})}function p(){let s=G(),l=s.steps[k];if(l===void 0)return;k+=1;let g=ve(s,k);if(l.length===0)return;if(!ce()){r=g,X();return}let A=new Set(l.filter(L=>L.kind==="enter").map(L=>L.id));r=new Set([...ve(s,k-1)].filter(L=>!A.has(L))),X();let z=f[y],R=tt*Math.min(z?.w??0,z?.h??0),Y=I,se=[];for(let{build:L,at:Te}of wt(l)){let ze=le(L.id),re=[];for(let xe of ye(L.id)){let be=Number(xe.getAttribute("opacity")??1),{keyframes:Gn,easing:Wn}=Pn(L.effect,L.kind,Number.isFinite(be)?be:1,R,ze);re.push(xe.animate(Gn,{duration:L.duration,delay:Te,easing:Wn,fill:L.kind==="enter"?"backwards":"forwards"}))}se.push(...re),L.kind==="exit"&&re.length>0&&x(re,Te+L.duration).then(()=>{if(Y===I){r.add(L.id),X();for(let xe of re)xe.cancel()}})}_.push(...se),x(se,Dn(l)).then(()=>{if(Y===I){_=_.filter(L=>!se.includes(L)),r=g,X();for(let L of se)L.cancel()}})}function O(){ne!==void 0&&N?.cancelAnimationFrame(ne),ne=void 0}function b(s){if(O(),K=Math.min(Math.max(0,s),j),!ce()||!N?.requestAnimationFrame){T=K,Q();return}let l=T,g,A=z=>{g??=z;let R=Math.min(1,(z-g)/Tr);T=l+(K-l)*(1-(1-R)**3),Q(),ne=R<1?N.requestAnimationFrame(A):void 0};ne=N.requestAnimationFrame(A)}function D(s,l){if(u())return;let g=ne===void 0?T:K;if(!(s>0?T>=j-.5:T<=.5)){b(g+s*he().height/ee);return}l||(s>0?F():U())}function E(s){if(!(!G().scroll||j<=0))switch(s.key){case" ":return s.shiftKey?-Ie:Ie;case"PageDown":return Ie;case"PageUp":return-Ie;case"ArrowDown":return vt;case"ArrowUp":return-vt;default:return}}function $(s){let l=Math.min(Math.max(0,s),f.length-1);if(l===y)return;let g=f[y]?.id;g&&w.push(g),o(l,!0,"forward")}function F(){if(!u()){if(h){if(h.playing){h.frame&&N?.cancelAnimationFrame(h.frame),h.playing=!1,t.sound?.stop(),h.t=ae(h.timeline,h.t),Z();return}if(h.t<h.timeline.length){pe();return}}if(k<G().steps.length){p();return}$(Ae(f,y,1))}}function U(){if(u())return;let s=In(w,f,y);if(s){w=s.history,o(s.index,!1,"back");return}o(Ae(f,y,-1),!1,"back")}function te(s){switch(s.kind){case"url":t.onLink?.(s.url);return;case"back":U();return;case"next":$(Ae(f,y,1));return;case"frame":{let l=On(c.getDocument(),f,s.id);l===null?F():qe(l,s.id)}}}function qe(s,l){let g=s===y;g||$(s);let A=f[y];if(!A||!G().scroll)return;let z=A.id===l?void 0:c.itemOf(l),R=z?z.y-A.y:0;g?b(R):(T=R,Q())}function Me(s){let l=f[y];if(!l||s.x<l.x||s.y<l.y||s.x>l.x+l.w||s.y>l.y+l.h)return;let g=Y=>!i.has(Y),A=c.hitTest(s,g),z=A===null?void 0:Fn(S,G(),A);if(z)return z.target;let R=c.linkAt(s,g);return R===void 0?void 0:Re(R)}let $e=s=>{if(s.stopPropagation(),s.metaKey||s.ctrlKey||s.altKey)return;let l=s.key,g=E(s);if(g!==void 0){P="",D(g,s.repeat),s.preventDefault();return}if(/^\d$/.test(l))P+=l;else if(l==="Enter"&&P!==""){let A=Tn(P,f);P="",!u()&&A!==null&&$(A)}else if(l==="Escape")P!==""?P="":t.onExit?.();else if(["ArrowRight","ArrowDown","PageDown"," ","Enter"].includes(l))P="",F();else if(["ArrowLeft","ArrowUp","PageUp","Backspace"].includes(l))P="",U();else if(l==="Home")u()||$(Ae(f,-1,1));else if(l==="End")u()||$(Ae(f,f.length,-1));else return;s.preventDefault()},kt=s=>{if(u())return;let l=Me(c.screenToDocument(c.pointerPoint(s)));l?te(l):F()},St=s=>{!G().scroll||j<=0||(s.preventDefault(),!(v||s.ctrlKey||s.metaKey)&&(O(),T=Math.min(Math.max(0,T+$n(s,he())/ee),j),Q()))},Ye=s=>{if(e.classList.remove("vd-player--idle"),B&&clearTimeout(B),B=setTimeout(()=>e.classList.add("vd-player--idle"),Mr),!s)return;let l=c.screenToDocument(c.pointerPoint(s));e.classList.toggle("vd-player--link",Me(l)!==void 0)},At=N&&"ResizeObserver"in N?new N.ResizeObserver(()=>Q()):void 0;return At?.observe(e),e.addEventListener("keydown",$e),e.addEventListener("click",kt),e.addEventListener("pointermove",Ye),e.addEventListener("wheel",St,{passive:!1}),a=!0,Q(),r=J()?new Set:ve(G(),0),X(),me(),Ye(),e.focus({preventScroll:!0}),oe(),{viewer:c,index:()=>y,count:()=>f.length,next:F,back:U,go(s){ge(),$(s)},update(s){if(s===c.getDocument())return;ge();let l=f[y]?.id;c.update(s),S=yt(s),f=Se(s,c.getScene());let g=f.findIndex(z=>z.id===l);y=g===-1?Math.min(y,f.length-1):g,g===-1&&(O(),T=0),ie();let A=J();A&&q(A,!1),Q(),k=G().steps.length,r=A?new Set:ve(G(),k),X()},refit:Q,destroy(){I+=1,O(),h?.frame&&N?.cancelAnimationFrame(h.frame),h=void 0,t.sound?.stop();for(let s of _)s.cancel();_=[],v?.remove(),At?.disconnect(),e.removeEventListener("wheel",St),e.removeEventListener("keydown",$e),e.removeEventListener("click",kt),e.removeEventListener("pointermove",Ye),W&&clearTimeout(W),B&&clearTimeout(B),m.remove(),d.remove(),c.destroy(),e.classList.remove("vd-player","vd-player--idle","vd-player--link"),e.removeAttribute("tabindex")}}}function zn(e){let t=e,n=new Map,r=typeof URL.createObjectURL=="function"&&typeof URL.revokeObjectURL=="function";return{resolve(i){let a=n.get(i.hash);if(a!==void 0)return a;let c=t.get(i.hash);if(c===void 0)return;if(!r)return Ft(i.type,c);let m;try{m=It(c)}catch{return}let d=URL.createObjectURL(new Blob([m],{type:i.type}));return n.set(i.hash,d),d},replace(i){t=i;for(let[a,c]of n)i.has(a)||(URL.revokeObjectURL(c),n.delete(a))},destroy(){for(let i of n.values())URL.revokeObjectURL(i);n.clear(),t=new Map}}}var bt=["page","content","none"],Rn=24;function Ne(e){let t=e.getBoundingClientRect();return{width:t.width,height:t.height}}function Vn(e,t){let n=t===void 0?void 0:e.itemOf(t);if(!(!n||n.w<=0||n.h<=0))return{x:n.x,y:n.y,width:n.w,height:n.h}}function Bn(e,t,n,r){if(n==="none")return;let i=n==="page"?Vn(e,r):void 0;if(!i){e.fitToContent(Rn);return}let a=Ne(t);e.setCamera(fe(i,{width:a.width||i.width,height:a.height||i.height},Rn))}function jn(e,t,n){let r=Vn(e,n);if(!r)return;let i=e.getCamera(),a=Ne(t),c=a.width||r.width*i.zoom,m=a.height||r.height*i.zoom;e.setCamera({zoom:i.zoom,x:c/2-(r.x+r.width/2)*i.zoom,y:m/2-(r.y+r.height/2)*i.zoom})}var Et=Symbol.for("vdesign.embed.handover");function Hn(e){return e[Et]}var Un=["exact","browser"],Kn=["ready","problems","page","fonts"];async function Cr(e,t){try{let{exactFontsAt:n}=await import("./chunks/fonts.js"),r=n(e);return(await r.ensure(t)).length===0?r:void 0}catch{return}}async function Li(e,t,n={}){let r=n.fit??"page";if(!bt.includes(r))throw new TypeError(`view: fit must be one of ${bt.join(", ")}; got ${String(r)}.`);let i=n.fonts??"exact";if(!Un.includes(i))throw new TypeError(`view: fonts must be one of ${Un.join(", ")}; got ${String(i)}.`);let a=i==="exact"?cn(n.fontBase,Mt,e.ownerDocument.baseURI):void 0,c=Hn(n),m=await ct(t),d=c?.page!==void 0&&de(m.document).some(u=>u.id===c.page)?c.page:n.page===void 0?de(m.document)[0]?.id:Oe(m.document,n.page).id,S=c?.exact&&a?await Cr(a,m.document):void 0,f=e.ownerDocument,y=f.defaultView,w=zn(m.blocks),k=m.blocks,_=[...m.problems],v,I=()=>v?[..._,v]:[..._],P=f.createElement("div");P.className="vd-embed",P.style.width="100%",P.style.height="100%",e.appendChild(P);let T=Fe(P,{document:m.document,interactive:n.interactive??!0,wheel:"modifier",resolveAsset:u=>w.resolve(u),...n.surface?{surface:n.surface}:{},...c?{camera:c.camera}:{},...S?{fonts:S.library}:{}}),j={ready:new Set,problems:new Set,page:new Set,fonts:new Set},ee=!1,V=!1,ne=0,K,W,B=S,N=i==="browser"?"browser":void 0,ce;function G(){ee=!0;for(let u of j.ready)u()}function h(){for(let u of j.problems)u(I())}function J(u){N=u;for(let x of j.fonts)x(u)}function ae(){return ce??=(async()=>{if(a)try{let{exactFontsAt:u}=await import("./chunks/fonts.js");return u(a)}catch{return}})(),ce}function Z(u){B=void 0,T.setFonts(void 0),K?.fonts(void 0),v=u,h(),J("browser")}async function ue(){let u=await ae();if(!V){if(!u){Z(He([],a?"the fonts chunk would not load":"no fontBase was given and this build has no default"));return}for(;;){let x=T.getDocument(),o=await u.ensure(x);if(V)return;if(o.length>0){Z(He(o));return}if(T.getDocument()===x)break}B=u,T.setFonts(u.library),K?.fonts(u),J("exact")}}function pe(){let u=ie(d);if(u)for(let x of j.page)x(u)}function ie(u){let x=de(T.getDocument()).find(o=>o.id===u);if(x)return x.name===void 0?{id:x.id}:{id:x.id,name:x.name}}let q=()=>Bn(T,P,r,d),oe=()=>jn(T,P,d);function he(u){if(V)return;let x=Oe(T.getDocument(),u).id,o=x!==d;d=x,r==="page"?q():oe(),o&&pe()}function Q(u){n.onLink?n.onLink(u):y?.open(u,"_blank","noopener,noreferrer")}let me=u=>{if(u.button!==0||K)return;let x=T.linkAt(T.screenToDocument(T.pointerPoint(u)));if(x===void 0)return;let o=Re(x);if(o){if(u.preventDefault(),o.kind==="frame"){de(T.getDocument()).some(p=>p.id===o.id)&&he(o.id);return}Q(o.url)}};P.addEventListener("click",me);let X=Ne(P),ye=y&&"ResizeObserver"in y?new y.ResizeObserver(()=>{let u=Ne(P);u.width===X.width&&u.height===X.height||(X=u,q())}):void 0;ye?.observe(P),c||(r==="none"&&d!==void 0&&n.page!==void 0?oe():q()),G(),S?J("exact"):i==="exact"&&ue();let le={async load(u){if(V)throw new Error("view: this view was destroyed.");let x=++ne,o=await ct(u),p=B,O=p?await p.ensure(o.document):[];if(W&&await W||V||x!==ne)return;O.length>0&&B===p&&Z(He(O)),w.replace(o.blocks),k=o.blocks,T.update(o.document),_=[...o.problems],K?.update(o.document),de(o.document).some(D=>D.id===d)||(d=de(o.document)[0]?.id,r==="page"?q():oe(),pe()),h(),G()},pages:()=>de(T.getDocument()).map(u=>u.name===void 0?{id:u.id}:{id:u.id,name:u.name}),goTo:he,fit:()=>{V||q()},play(u={}){if(V)return Promise.reject(new Error("view: this view was destroyed."));try{return K?.stop(),Promise.resolve(ge(T.getDocument(),u.page))}catch(x){return Promise.reject(x instanceof Error?x:new Error(String(x)))}},async edit(u={}){if(V)throw new Error("view: this view was destroyed.");if(W)throw new Error("view: edit() is already opening an editor.");let x;W=new Promise(p=>x=p);let o=!1;try{let{edit:p}=await import("./edit.js");if(V)throw new Error("view: this view was destroyed.");let O={camera:T.getCamera(),page:d,exact:B!==void 0},b=an(T.getDocument(),k,_),D=await p(e,b,{...n,...u,[Et]:O});if(V)throw D.destroy(),new Error("view: this view was destroyed.");return o=!0,le.destroy(),D}finally{W=void 0,x(o)}},on(u,x){if(!Kn.includes(u))throw new TypeError(`view: on() takes one of ${Kn.join(", ")}; got ${String(u)}.`);let o=j[u];if(o.add(x),u==="ready"&&ee&&queueMicrotask(()=>{o.has(x)&&x()}),u==="problems"&&queueMicrotask(()=>{o.has(x)&&x(I())}),u==="fonts"&&N!==void 0){let p=N;queueMicrotask(()=>{o.has(x)&&x(p)})}return()=>{o.delete(x)}},destroy(){if(!V){V=!0,K?.stop(),P.removeEventListener("click",me),ye?.disconnect(),T.destroy(),w.destroy(),P.remove();for(let u of Object.values(j))u.clear()}}};function ge(u,x){let o=x===void 0?d:Oe(u,x).id,p=f.createElement("div");p.className="vd-embed__play",p.style.position="absolute",p.style.inset="0";let O=U=>U.stopPropagation();p.addEventListener("wheel",O);let b=f.activeElement;P.appendChild(p);let D=!1,E=()=>{if(D)return;D=!0,K===$&&(K=void 0),F.destroy(),p.removeEventListener("wheel",O);let U=p.contains(f.activeElement);p.remove(),U&&b&&"focus"in b&&typeof b.focus=="function"&&b.focus({preventScroll:!0})},$={stop:E,update:U=>F.update(U),fonts:U=>F.viewer.setFonts(U?.library)},F=xt(p,{document:u,resolveAsset:U=>w.resolve(U),...B?{fonts:B.library}:{},...o===void 0?{}:{start:o},onExit:E,onLink:Q});return K=$,{goTo(U){if(D)return;let te=F.viewer.getDocument(),qe=Oe(te,U).id,Me=Se(te,F.viewer.getScene()).findIndex($e=>$e.id===qe);Me!==-1&&F.go(Me)},destroy:E}}return le}export{qn as version,Li as view};
|
package/edit.css
CHANGED
|
@@ -113,6 +113,37 @@
|
|
|
113
113
|
shape-rendering: crispEdges;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
|
+
/* --- masks ---------------------------------------------------------------- */
|
|
117
|
+
|
|
118
|
+
/* The shape cutting a selected image (ROADMAP.md G2). It draws nothing, so
|
|
119
|
+
this outline is the only sight of it: dashed, as a parked node is, because
|
|
120
|
+
it is not what the handles act on. Solid while cropping, when the picture
|
|
121
|
+
is being framed against it. */
|
|
122
|
+
.vd-editor__mask {
|
|
123
|
+
fill: none;
|
|
124
|
+
stroke: var(--vd-selection, var(--vd-accent, #3b82f6));
|
|
125
|
+
stroke-width: 1.5;
|
|
126
|
+
stroke-dasharray: 4 3;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/* Under the dashes, in the halo's colour, so the outline reads on a white page
|
|
130
|
+
in the dark theme and a dark page in the light one. */
|
|
131
|
+
.vd-editor__mask-halo {
|
|
132
|
+
fill: none;
|
|
133
|
+
stroke: var(--vd-selection-halo, #fff);
|
|
134
|
+
stroke-width: 3.5;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.vd-editor__mask--crop {
|
|
138
|
+
stroke-width: 2;
|
|
139
|
+
stroke-dasharray: none;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* The rest of the picture while cropping: there to place, not to read. */
|
|
143
|
+
.vd-editor__ghost {
|
|
144
|
+
opacity: 0.35;
|
|
145
|
+
}
|
|
146
|
+
|
|
116
147
|
/* --- paths: point mode and the pen ---------------------------------------- */
|
|
117
148
|
|
|
118
149
|
.vd-editor__path {
|
|
@@ -533,6 +564,12 @@
|
|
|
533
564
|
opacity: 0.55;
|
|
534
565
|
}
|
|
535
566
|
|
|
567
|
+
/* A mask (ROADMAP.md G2): listed under the image it cuts, and quieter than a
|
|
568
|
+
layer that draws, since it draws nothing. */
|
|
569
|
+
.vd-layers__row[data-mask='true'] .vd-layers__label {
|
|
570
|
+
opacity: 0.7;
|
|
571
|
+
}
|
|
572
|
+
|
|
536
573
|
/* A part this instance changes: a small dot, the way Figma marks an override. */
|
|
537
574
|
.vd-layers__dot {
|
|
538
575
|
flex: 0 0 6px;
|
|
@@ -1333,6 +1370,17 @@
|
|
|
1333
1370
|
outline-offset: 1px;
|
|
1334
1371
|
}
|
|
1335
1372
|
|
|
1373
|
+
/* A multi-selection's effects that differ (G9): said, not a button, so it does not take hover. */
|
|
1374
|
+
.vd-inspector__empty.vd-effect__mixed:hover {
|
|
1375
|
+
border-style: dashed;
|
|
1376
|
+
color: var(--vd-muted, rgb(0 0 0 / 0.55));
|
|
1377
|
+
}
|
|
1378
|
+
|
|
1379
|
+
/* An effect's type sits closer to its values than to the effect above it (G9). */
|
|
1380
|
+
.vd-inspector__list > .vd-effect__type:not(:first-child) {
|
|
1381
|
+
margin-top: 6px;
|
|
1382
|
+
}
|
|
1383
|
+
|
|
1336
1384
|
/* A list inside a section — shadows, stops — under a line naming it. */
|
|
1337
1385
|
.vd-inspector__list {
|
|
1338
1386
|
display: flex;
|
|
@@ -1368,6 +1416,56 @@
|
|
|
1368
1416
|
height: 14px;
|
|
1369
1417
|
}
|
|
1370
1418
|
|
|
1419
|
+
/*
|
|
1420
|
+
* The corners: the one Radius field across the row, and when the corners are
|
|
1421
|
+
* independent a field per corner beneath it, on the panel's own two columns so
|
|
1422
|
+
* every edge lines up with the rows above.
|
|
1423
|
+
*/
|
|
1424
|
+
.vd-inspector__corners {
|
|
1425
|
+
display: grid;
|
|
1426
|
+
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
|
|
1427
|
+
gap: 8px;
|
|
1428
|
+
min-width: 0;
|
|
1429
|
+
}
|
|
1430
|
+
|
|
1431
|
+
/* Independent corners: a button inside the field at its end, pressed while open. */
|
|
1432
|
+
.vd-inspector__icon-button.vd-field__toggle {
|
|
1433
|
+
width: 20px;
|
|
1434
|
+
height: 20px;
|
|
1435
|
+
margin-right: -4px;
|
|
1436
|
+
border-radius: 4px;
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
.vd-field__toggle svg {
|
|
1440
|
+
width: 14px;
|
|
1441
|
+
height: 14px;
|
|
1442
|
+
}
|
|
1443
|
+
|
|
1444
|
+
.vd-inspector__icon-button.vd-field__toggle:hover:not(:disabled) {
|
|
1445
|
+
background: var(--vd-rule, rgb(0 0 0 / 0.08));
|
|
1446
|
+
color: var(--vd-ink, #1a1a1f);
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
/* Pressed is chosen, as a switch that is on is: Ink in light, lime in dark. */
|
|
1450
|
+
.vd-inspector__icon-button.vd-field__toggle[aria-pressed='true'],
|
|
1451
|
+
.vd-inspector__icon-button.vd-field__toggle[aria-pressed='true']:hover:not(:disabled) {
|
|
1452
|
+
background: var(--vd-chosen, var(--vd-ink, #1a1a1f));
|
|
1453
|
+
color: var(--vd-on-chosen, #ffffff);
|
|
1454
|
+
}
|
|
1455
|
+
|
|
1456
|
+
/* Each corner's mark is the radius mark turned to its corner; Lucide draws it top-right. */
|
|
1457
|
+
.vd-inspector__corner--tl .vd-field__prefix--icon svg {
|
|
1458
|
+
transform: rotate(-90deg);
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
.vd-inspector__corner--br .vd-field__prefix--icon svg {
|
|
1462
|
+
transform: rotate(90deg);
|
|
1463
|
+
}
|
|
1464
|
+
|
|
1465
|
+
.vd-inspector__corner--bl .vd-field__prefix--icon svg {
|
|
1466
|
+
transform: rotate(180deg);
|
|
1467
|
+
}
|
|
1468
|
+
|
|
1371
1469
|
.vd-inspector__note {
|
|
1372
1470
|
margin: 0 0 8px;
|
|
1373
1471
|
line-height: 1.5;
|
|
@@ -1600,10 +1698,14 @@ p.vd-inspector__subhead {
|
|
|
1600
1698
|
cursor: default;
|
|
1601
1699
|
}
|
|
1602
1700
|
|
|
1603
|
-
.vd-inspector__button:hover {
|
|
1701
|
+
.vd-inspector__button:hover:not(:disabled) {
|
|
1604
1702
|
background: var(--vd-input-bg, rgb(0 0 0 / 0.06));
|
|
1605
1703
|
}
|
|
1606
1704
|
|
|
1705
|
+
.vd-inspector__button:disabled {
|
|
1706
|
+
opacity: 0.35;
|
|
1707
|
+
}
|
|
1708
|
+
|
|
1607
1709
|
/*
|
|
1608
1710
|
* Six alignments spread across the row. With three or more selected, the two
|
|
1609
1711
|
* distributions follow after a gap, because "even out the gaps" is a
|
|
@@ -1624,6 +1726,19 @@ p.vd-inspector__subhead {
|
|
|
1624
1726
|
margin-left: 8px;
|
|
1625
1727
|
}
|
|
1626
1728
|
|
|
1729
|
+
/*
|
|
1730
|
+
* Merge's four marks across the whole row, each centred in a quarter, as the
|
|
1731
|
+
* Align row fills its width: no half of the row is left empty. Group and
|
|
1732
|
+
* Delete are the panel's ordinary 8px below.
|
|
1733
|
+
*/
|
|
1734
|
+
.vd-inspector__merge {
|
|
1735
|
+
display: grid;
|
|
1736
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
1737
|
+
justify-items: center;
|
|
1738
|
+
gap: 8px;
|
|
1739
|
+
margin-bottom: 8px;
|
|
1740
|
+
}
|
|
1741
|
+
|
|
1627
1742
|
.vd-inspector__icon-button {
|
|
1628
1743
|
display: inline-flex;
|
|
1629
1744
|
align-items: center;
|
|
@@ -1661,6 +1776,9 @@ p.vd-inspector__subhead {
|
|
|
1661
1776
|
display: flex;
|
|
1662
1777
|
flex-wrap: wrap;
|
|
1663
1778
|
align-items: center;
|
|
1779
|
+
/* Lines pack to the top: a row grown by its neighbour's error message
|
|
1780
|
+
stretches this field too, and centring its one line would drop the box. */
|
|
1781
|
+
align-content: flex-start;
|
|
1664
1782
|
min-width: 0;
|
|
1665
1783
|
margin: 0;
|
|
1666
1784
|
}
|
|
@@ -1824,6 +1942,21 @@ p.vd-inspector__subhead {
|
|
|
1824
1942
|
display: inline-flex;
|
|
1825
1943
|
}
|
|
1826
1944
|
|
|
1945
|
+
/* An attached connector end (G5): Detach is the row's one control, always shown. */
|
|
1946
|
+
.vd-field__detach--shown {
|
|
1947
|
+
display: inline-flex;
|
|
1948
|
+
}
|
|
1949
|
+
|
|
1950
|
+
/* What an attached end follows, read rather than typed: the input's type, ellipsed. */
|
|
1951
|
+
.vd-field__value {
|
|
1952
|
+
flex: 1 1 0;
|
|
1953
|
+
min-width: 0;
|
|
1954
|
+
overflow: hidden;
|
|
1955
|
+
font-size: 11.5px;
|
|
1956
|
+
text-overflow: ellipsis;
|
|
1957
|
+
white-space: nowrap;
|
|
1958
|
+
}
|
|
1959
|
+
|
|
1827
1960
|
.vd-field__detach:hover {
|
|
1828
1961
|
background: var(--vd-rule, rgb(0 0 0 / 0.06));
|
|
1829
1962
|
color: var(--vd-ink, #1a1a1f);
|
|
@@ -1850,6 +1983,81 @@ p.vd-inspector__subhead {
|
|
|
1850
1983
|
line-height: 1.4;
|
|
1851
1984
|
}
|
|
1852
1985
|
|
|
1986
|
+
/*
|
|
1987
|
+
* A picture layer's fit, inside its row after the name: "photo · Cover". The
|
|
1988
|
+
* dropdown sheds its own box, so the row reads as one entry, as a gradient's
|
|
1989
|
+
* summary does; it keeps its focus ring, being its own Tab stop.
|
|
1990
|
+
*/
|
|
1991
|
+
.vd-layer__fit {
|
|
1992
|
+
position: relative;
|
|
1993
|
+
flex: 0 0 auto;
|
|
1994
|
+
display: flex;
|
|
1995
|
+
flex-wrap: nowrap;
|
|
1996
|
+
align-items: center;
|
|
1997
|
+
font-family: var(--vd-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
|
|
1998
|
+
font-size: 11.5px;
|
|
1999
|
+
}
|
|
2000
|
+
|
|
2001
|
+
.vd-layer__fit::before {
|
|
2002
|
+
content: '·';
|
|
2003
|
+
margin-right: 6px;
|
|
2004
|
+
color: var(--vd-muted, rgb(0 0 0 / 0.55));
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
.vd-layer__fit > .vd-select {
|
|
2008
|
+
flex: 0 0 auto;
|
|
2009
|
+
width: auto;
|
|
2010
|
+
height: 20px;
|
|
2011
|
+
gap: 2px;
|
|
2012
|
+
padding: 0 2px 0 4px;
|
|
2013
|
+
border-color: transparent;
|
|
2014
|
+
border-radius: 4px;
|
|
2015
|
+
background: transparent;
|
|
2016
|
+
}
|
|
2017
|
+
|
|
2018
|
+
.vd-layer__fit > .vd-select:hover {
|
|
2019
|
+
background: var(--vd-input-bg, rgb(0 0 0 / 0.05));
|
|
2020
|
+
}
|
|
2021
|
+
|
|
2022
|
+
.vd-layer__fit > .vd-select:focus-visible {
|
|
2023
|
+
border-color: var(--vd-accent, #3b82f6);
|
|
2024
|
+
}
|
|
2025
|
+
|
|
2026
|
+
.vd-layer__fit > .vd-listbox {
|
|
2027
|
+
left: auto;
|
|
2028
|
+
right: 0;
|
|
2029
|
+
min-width: 96px;
|
|
2030
|
+
}
|
|
2031
|
+
|
|
2032
|
+
/*
|
|
2033
|
+
* A picture layer naming a picture the document lacks (`fill-asset-missing`):
|
|
2034
|
+
* a warning mark where the swatch was, and the name muted, since the layer is
|
|
2035
|
+
* not drawn. The row's tooltip says why and what to do.
|
|
2036
|
+
*/
|
|
2037
|
+
.vd-layer__missing {
|
|
2038
|
+
display: none;
|
|
2039
|
+
flex: 0 0 auto;
|
|
2040
|
+
color: var(--vd-warning, #b7791f);
|
|
2041
|
+
}
|
|
2042
|
+
|
|
2043
|
+
.vd-layer__missing svg {
|
|
2044
|
+
width: 16px;
|
|
2045
|
+
height: 16px;
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
.vd-field--missing .vd-layer__missing {
|
|
2049
|
+
display: inline-flex;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
.vd-field--missing .vd-field__swatch {
|
|
2053
|
+
display: none;
|
|
2054
|
+
}
|
|
2055
|
+
|
|
2056
|
+
.vd-field--missing .vd-field__input {
|
|
2057
|
+
color: var(--vd-muted, rgb(0 0 0 / 0.55));
|
|
2058
|
+
text-decoration: line-through;
|
|
2059
|
+
}
|
|
2060
|
+
|
|
1853
2061
|
/* A dropdown: our button and list, not the operating system's menu. */
|
|
1854
2062
|
.vd-select {
|
|
1855
2063
|
width: 100%;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@getv.design/embed",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.1",
|
|
4
4
|
"description": "Render, present and edit vDesign (.vd) documents in any web page. Free to use.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "vDesign",
|
|
8
|
-
"email": "
|
|
8
|
+
"email": "teams@getv.design"
|
|
9
9
|
},
|
|
10
10
|
"homepage": "https://getv.design/docs/embed/",
|
|
11
11
|
"private": false,
|