@codename/deck 0.2.0 → 0.3.0
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/README.md +1 -1
- package/dist/deck.bundle.mjs +74 -74
- package/dist/deck.bundle.mjs.map +3 -3
- package/dist/deck.css +7 -0
- package/dist/deck.js +67 -60
- package/dist/deck.js.map +3 -3
- package/dist/deck.mjs +33 -33
- package/dist/deck.mjs.map +3 -3
- package/dist/template.mjs +3 -1
- package/dist/template.mjs.map +4 -4
- package/dist/types/index.d.ts +1 -1
- package/dist/types/kit.d.ts +11 -4
- package/dist/types/look.d.ts +6 -2
- package/dist/types/template.d.ts +35 -0
- package/dist/types/version.d.ts +1 -1
- package/docs/host.md +2 -2
- package/docs/kits.md +11 -2
- package/package.json +1 -1
- package/src/deck.css +7 -0
- package/src/deck.js +2 -2
- package/src/index.js +1 -1
- package/src/kit.js +27 -12
- package/src/look.js +22 -16
- package/src/pptx.js +25 -9
- package/src/render.js +4 -1
- package/src/template.js +451 -26
- package/src/version.js +1 -1
package/dist/deck.mjs
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
function
|
|
1
|
+
function we(e){let t=e.replace(/\r\n?/g,`
|
|
2
2
|
`).split(`
|
|
3
|
-
`).map(n=>({indent:n.length-n.trimStart().length,text:
|
|
4
|
-
`);return r?o.replace(/([^\n])\n(?=[^\n])/g,"$1 "):o}function
|
|
3
|
+
`).map(n=>({indent:n.length-n.trimStart().length,text:dt(n).trimEnd(),raw:n})),r=ue(t,{i:0},0);return r&&typeof r=="object"&&!Array.isArray(r)?r:{}}function dt(e){let t="";for(let s=0;s<e.length;s++){let r=e[s];if(t)r===t&&(t="");else if(r==='"'||r==="'")t=r;else if(r==="#"&&(s===0||/\s/.test(e[s-1])))return e.slice(0,s)}return e}function ue(e,t,s){for(;t.i<e.length&&!e[t.i].text.trim();)t.i++;if(t.i>=e.length||e[t.i].indent<s)return null;let r=e[t.i].indent;if(/^-(\s|$)/.test(e[t.i].text.trim())){let i=[];for(;t.i<e.length;){let o=e[t.i];if(!o.text.trim()){t.i++;continue}if(o.indent!==r||!/^-(\s|$)/.test(o.text.trim()))break;let a=o.text.trim().slice(1).trim();if(t.i++,!a)i.push(ue(e,t,r+1));else if(/^[^'"[{][^:]*:(\s|$)/.test(a)){let c=o.raw.indexOf(a);e.splice(t.i,0,{indent:c,text:" ".repeat(c)+a,raw:" ".repeat(c)+a}),i.push(ue(e,t,c))}else i.push(pe(a))}return i}let n={};for(;t.i<e.length;){let i=e[t.i];if(!i.text.trim()){t.i++;continue}if(i.indent!==r)break;let o=/^("(?:[^"\\]|\\.)*"|'(?:[^']|'')*'|[^:]+?)\s*:(?:\s+(.*))?$/.exec(i.text.trim());if(t.i++,!o)continue;let a=String(pe(o[1])),c=(o[2]??"").trim();c==="|"||c===">"||/^[|>][+-]$/.test(c)?n[a]=ut(e,t,r,c[0]===">"):c?n[a]=pe(c):n[a]=ue(e,t,r+1)}return n}function ut(e,t,s,r){let n=[];for(;t.i<e.length&&(!e[t.i].raw.trim()||e[t.i].indent>s);)n.push(e[t.i++].raw);for(;n.length&&!n.at(-1)?.trim();)n.pop();let i=Math.min(...n.filter(a=>a.trim()).map(a=>a.length-a.trimStart().length)),o=n.map(a=>a.slice(i)).join(`
|
|
4
|
+
`);return r?o.replace(/([^\n])\n(?=[^\n])/g,"$1 "):o}function pe(e){let t=e.trim();if(t.startsWith("[")||t.startsWith("{")){let s=Ue(t,{i:0});if(s!==void 0)return s}if(/^"(?:[^"\\]|\\.)*"$/.test(t))try{return JSON.parse(t)}catch{return t.slice(1,-1)}return/^'(?:[^']|'')*'$/.test(t)?t.slice(1,-1).replace(/''/g,"'"):/^(true|yes|on)$/i.test(t)?!0:/^(false|no|off)$/i.test(t)?!1:/^(null|~)$/i.test(t)||t===""?null:/^[-+]?(\d+\.?\d*|\.\d+)(e[-+]?\d+)?$/i.test(t)?Number(t):t}function Ue(e,t){let s=()=>{for(;/\s/.test(e[t.i]??"");)t.i++},r=()=>{if(s(),e[t.i]==="["||e[t.i]==="{")return Ue(e,t);let o=t.i;if(e[t.i]==='"'||e[t.i]==="'"){let a=e[t.i++];for(;t.i<e.length&&!(e[t.i]===a&&e[t.i-1]!=="\\");)t.i++;t.i++}else for(;t.i<e.length&&!/[,\]}]/.test(e[t.i])&&!(e[t.i]===":"&&/^[\s,\]}]?$/.test(e[t.i+1]??""));)t.i++;return pe(e.slice(o,t.i))},n=e[t.i++];if(s(),n==="["){let o=[];for(;t.i<e.length&&e[t.i]!=="]";){if(o.push(r()),s(),e[t.i]===",")t.i++;else if(e[t.i]!=="]")return;s()}return t.i++,o}let i={};for(;t.i<e.length&&e[t.i]!=="}";){let o=r();if(s(),e[t.i]!==":")return;if(t.i++,i[String(o)]=r(),s(),e[t.i]===",")t.i++;else if(e[t.i]!=="}")return;s()}return t.i++,i}var pt=/^::([\w-]+)::\s*$/;function fe(e){let s=e.replace(/\r\n?/g,`
|
|
5
5
|
`).split(`
|
|
6
|
-
`),r=[0];for(let
|
|
7
|
-
`)):{},
|
|
8
|
-
`)),s=
|
|
9
|
-
`),
|
|
10
|
-
`).trim(),
|
|
11
|
-
`:"")+
|
|
12
|
-
`:"")+
|
|
13
|
-
`),
|
|
14
|
-
`),start:t[
|
|
15
|
-
`));for(let[
|
|
16
|
-
`).entries()){let
|
|
6
|
+
`),r=[0];for(let u of s)r.push(r.at(-1)+u.length+1);let n=[],i=0,o=null,a=!1;for(let u=0;u<s.length;u++){let l=s[u].trimEnd();if(a){a=Ve(l,!0);continue}if(l.startsWith("---")&&!/^---\s*-/.test(l)){if((u>i||o)&&n.push({start:i,end:u,matter:o}),o=null,i=u+1,l[3]!=="-"&&s[u+1]?.trim()&&/^\s*([\w-]+\s*:|#\s)/.test(s[u+1])&&!/^#{1,6}\s/.test(s[u+1])){let d=u+1;for(;d<s.length&&s[d].trimEnd()!=="---";)d++;o=[u+1,d],u=d,i=d+1}}else if(/^\s*(`{3,}|~{3,})/.test(l)){let d=/^\s*(`{3,}|~{3,})/.exec(l)[1],g=u+1;for(;g<s.length&&!s[g].trimStart().startsWith(d);)g++;g<s.length&&(u=g)}else a=Ve(l,!1)}(i<s.length||o)&&n.push({start:i,end:s.length,matter:o});let c=n.at(-1);if(n.length===1&&c){let u="",l=[];for(let d=c.start;d<c.end;d++){let g=/^\s*(`{3,}|~{3,})/.exec(s[d])?.[1];u?g&&s[d].trimStart().startsWith(u)&&(u=""):g?u=g:/^#{1,2}\s+\S/.test(s[d])&&l.push(d)}if(l.length>=2){n.pop();let d=l[0]>c.start&&!s.slice(c.start,l[0]).some(g=>g.trim())?l:[c.start,...l.slice(l[0]===c.start?1:0)];d.forEach((g,h)=>n.push({start:h===0?c.start:g,end:d[h+1]??c.end,matter:h===0?c.matter:null}))}}let p=n.map(({start:u,end:l,matter:d},g)=>mt(s,r,u,l,d,g)).filter((u,l)=>l===0||u.slots.some(d=>d.text.trim())||Object.keys(u.settings).length);return p.forEach((u,l)=>{u.index=l}),{settings:p[0]?.settings??{},slides:p}}function ft(e){let t=new Map,s=e.findIndex(a=>/^:{3,}[ \t]*\{?[ \t]*\.?columns\b/.test(a));if(s<0)return t;let r=/^:+/.exec(e[s])[0],n=e.findIndex((a,c)=>c>s&&a.trim()===r),i=e.map((a,c)=>[a,c]).filter(([a,c])=>Number(c)>s&&(n<0||Number(c)<n)&&/^:{3,}[ \t]*\{?[ \t]*\.?col(umn)?\b/.test(String(a))).map(([,a])=>Number(a));if(i.length<2)return t;let o=i.length===2?["left","right"]:["left","middle","right",...i.slice(3).map((a,c)=>`col-${c+4}`)];return i.forEach((a,c)=>t.set(a,o[c])),n>0&&e.slice(n+1).some(a=>a.trim())&&t.set(n,"bottom"),t}function Ve(e,t){let s=0;for(;;)if(t){let r=e.indexOf("-->",s);if(r<0)return!0;t=!1,s=r+3}else{let r=e.indexOf("<!--",s);if(r<0)return!1;let n=e.indexOf("-->",r+4);if(n<0)return!0;s=n+3}}function mt(e,t,s,r,n,i){let o=n?we(e.slice(n[0],n[1]).join(`
|
|
7
|
+
`)):{},a=s;for(;a<r&&!e[a].trim();)a++;if(!n&&/^```ya?ml\s*$/.test(e[a]??"")){let E=a+1;for(;E<r&&!e[E].startsWith("```");)E++;o=we(e.slice(a+1,E).join(`
|
|
8
|
+
`)),s=E+1}let c=e.slice(s,r).join(`
|
|
9
|
+
`),p="",u=/^(\?\?\?|Notes?:)[ \t]*(.*)$/m.exec(c);u&&u.index!==void 0&&!/^```/m.test(c.slice(u.index))&&(p=[u[2],c.slice(u.index+u[0].length)].join(`
|
|
10
|
+
`).trim(),c=c.slice(0,u.index)),c=c.replace(/<aside\b[^>]*class=["']?notes["']?[^>]*>([\s\S]*?)<\/aside>/gi,(E,M)=>(p+=(p?`
|
|
11
|
+
`:"")+M.replace(/<[^>]*>/g," ").replace(/[ \t]+/g," ").trim(),E.replace(/[^\n]/g," "))),c=c.replace(/^(:{3,})[ \t]*\{?[ \t]*\.?notes[ \t]*\}?[ \t]*\n([\s\S]*?)\n\1[ \t]*$/gm,(E,M,q)=>(p+=(p?`
|
|
12
|
+
`:"")+q.trim(),E.replace(/[^\n]/g," ")));let d=[...c.matchAll(/<!--([\s\S]*?)-->/g)].at(-1);d&&d.index!==void 0&&!c.slice(d.index+d[0].length).trim()&&(p=[d[1].trim(),p].filter(Boolean).join(`
|
|
13
|
+
`),c=c.slice(0,d.index));let g=[],h="default",m=s,b="",y=[],S=()=>g.push({name:h,text:y.join(`
|
|
14
|
+
`),start:t[m]}),N=ft(c.split(`
|
|
15
|
+
`));for(let[E,M]of c.split(`
|
|
16
|
+
`).entries()){let q=/^\s*(`{3,}|~{3,})/.exec(M)?.[1],V=pt.exec(M)??(N.has(E)?[M,N.get(E)]:null);if(b)q&&M.trimStart().startsWith(b)&&(b="");else if(q)b=q;else if(V){S(),h=V[1],y=[],m=s+E+1;continue}y.push(M)}S();let U=g.filter((E,M)=>M>0||E.text.trim()||g.length===1),R=/^#{1,6}\s+(.+)$/m.exec(c.replace(/^```[\s\S]*?^```/gm,""));return{index:i,start:t[n?n[0]-1:s],end:t[r]-1,settings:o,slots:U,notes:p,title:String(o.title??R?.[1]??"").trim()}}var me=/^[a-z][a-z0-9-]{0,31}$/,gt=/^(auto|min-content|max-content|\d{1,2}(\.\d)?fr|\d{1,3}%)$/,ht=["Title Slide","Title and Content","Section Header","Two Content","Comparison","Title Only","Blank","Content with Caption","Picture with Caption"],Ge={align:["start","center","end"],justify:["start","center","end"],paper:["paper","fill","ink","soft"],title:["normal","large","huge"],logo:["small","big","none"]},ne=["top-end","top-start","bottom-end","bottom-start"],Ke=e=>typeof e=="string"&&e.length<=7e5&&/^data:image\/(png|jpeg|gif|webp|svg\+xml);base64,[a-z0-9+/]+=*$/i.test(e)?e:null,yt=e=>typeof e=="string"&&e.length<=3145728&&/^data:image\/(?:(?:png|jpeg|gif|webp|svg\+xml);base64,[a-z0-9+/]+=*|svg\+xml,[\w.!~*'()%/+=-]*)$/i.test(e)?e:null,Se={title:"cover","title-slide":"cover","two-columns":"two-cols","two-column":"two-cols",columns:"two-cols",comparison:"two-cols-header","three-columns":"three-cols","section-header":"section",divider:"section",big:"fact",number:"fact","image-text":"image-right",closing:"end",thanks:"end"},ge={name:"standard",tokens:{},pictures:{},layouts:Object.fromEntries(Object.entries({default:{label:{en:"Title and content",fr:"Titre et contenu"},pptx:"Title and Content"},cover:{label:{en:"Cover",fr:"Couverture"},justify:"center",paper:"fill",title:"huge",logo:"big",pptx:"Title Slide",numbered:!1},intro:{label:{en:"Introduction",fr:"Introduction"},justify:"center",paper:"fill",title:"large",logo:"big",pptx:"Title Slide",numbered:!1},section:{label:{en:"Section",fr:"Section"},justify:"center",paper:"ink",title:"huge",pptx:"Section Header",numbered:!1},center:{label:{en:"Centred",fr:"Centré"},justify:"center",align:"center",pptx:"Title Only"},statement:{label:{en:"Statement",fr:"Affirmation"},justify:"center",align:"center",title:"large",pptx:"Title Only"},fact:{label:{en:"Big number",fr:"Grand chiffre"},justify:"center",align:"center",title:"huge",pptx:"Title Only"},quote:{label:{en:"Quote",fr:"Citation"},justify:"center",pptx:"Title Only"},end:{label:{en:"Closing",fr:"Clôture"},justify:"center",align:"center",paper:"fill",title:"large",logo:"big",pptx:"Title Slide",numbered:!1},full:{label:{en:"Full",fr:"Plein cadre"},logo:"none",pptx:"Blank",numbered:!1},none:{label:{en:"Blank",fr:"Vide"},logo:"none",pptx:"Blank",numbered:!1},"two-cols":{label:{en:"Two columns",fr:"Deux colonnes"},slots:["default","right"],areas:"default right",columns:"1fr 1fr",pptx:"Two Content"},"two-cols-header":{label:{en:"Comparison",fr:"Comparaison"},slots:["default","left","right","bottom"],areas:"default default | left right | bottom bottom",columns:"1fr 1fr",rows:"auto 1fr auto",pptx:"Comparison"},"three-cols":{label:{en:"Three columns",fr:"Trois colonnes"},slots:["default","left","middle","right"],areas:"default default default | left middle right",columns:"1fr 1fr 1fr",rows:"auto 1fr",pptx:"Comparison"},"image-left":{label:{en:"Picture left",fr:"Image à gauche"},pptx:"Picture with Caption",justify:"center"},"image-right":{label:{en:"Picture right",fr:"Image à droite"},pptx:"Picture with Caption",justify:"center"},image:{label:{en:"Picture",fr:"Image"},logo:"none",pptx:"Blank",numbered:!1}}).map(([e,t])=>[e,$e(t).layout]))};function $e(e){let t=[];if(!e||typeof e!="object")return{layout:null,problems:["not a layout"]};let s={},r=Array.isArray(e.slots)||typeof e.slots=="string"?[e.slots].flat().map(String):e.slots&&typeof e.slots=="object"?Object.entries(e.slots).map(([m,b])=>(b&&typeof b=="object"&&(s[m]=bt(b)),m==="title"?"default":m)):["default"],n=[...new Set(r)];if(!n.every(m=>me.test(m)))return{layout:null,problems:["a slot name is not a-z, 0-9 and -"]};n.includes("default")||n.unshift("default");let o=(Array.isArray(e.areas)?e.areas.map(m=>[m].flat().join(" ")):String(e.areas??n.join(" ")).split(/\||\n/)).map(m=>m.trim().replace(/^"|"$/g,"").split(/\s+/)).filter(m=>m.length&&m[0]),a=o[0]?.length??0;if(!o.length||o.some(m=>m.length!==a)||o.flat().some(m=>m!=="."&&!n.includes(m)))return{layout:null,problems:["areas are not a rectangle of its slots"]};for(let m of n){let b=o.flatMap((N,U)=>N.map((R,E)=>[R,E,U])).filter(([N])=>N===m);if(!b.length){m!=="default"&&t.push(`slot ${m} has no area`);continue}let y=b.map(N=>N[1]),S=b.map(N=>N[2]);if(b.length!==(Math.max(...y)-Math.min(...y)+1)*(Math.max(...S)-Math.min(...S)+1))return{layout:null,problems:[`slot ${m} is not a rectangle`]}}let c=(m,b)=>{let y=m===void 0?Array(b).fill("1fr"):(Array.isArray(m)?m:String(m).split(/\s+/)).map(String);return y.length===b&&y.every(S=>gt.test(S))?y:null},p=c(e.columns,a),u=c(e.rows,o.length);if(!p||!u)return{layout:null,problems:["columns or rows are not tracks deck knows (auto, 1fr, 40%…), one per column or row"]};let l=(m,b)=>{let y=String(e[m]??b);return Ge[m].includes(y)?y:(t.push(`${m} ${y} is not one of ${Ge[m].join(", ")}`),b)},d=typeof e.label=="string"||e.label&&typeof e.label=="object"?e.label:void 0,g=Array.isArray(e.art)&&e.art.length<=8&&e.art.every(m=>typeof m=="string"&&me.test(m))?e.art:void 0;e.art!==void 0&&!g&&t.push("art is not 8 names at most");let h=m=>typeof m=="string"?m.slice(0,300):void 0;return{layout:{label:d,intent:h(e.intent),use_when:h(e.use_when),avoid_when:h(e.avoid_when),slots:n,budgets:s,areas:o,columns:p,rows:u,align:l("align","start"),justify:l("justify","start"),paper:l("paper","paper"),title:l("title","normal"),logo:l("logo","small"),pptx:ht.includes(e.pptx)?e.pptx:n.length>1?"Comparison":"Title and Content",numbered:e.numbered!==!1,art:g},problems:t}}function bt(e){let t={};for(let s of["max_words","max_chars","item_max_words","heading_max_words"])Number.isInteger(e[s])&&e[s]>0&&(t[s]=e[s]);return Array.isArray(e.items)&&e.items.length===2&&e.items.every(Number.isInteger)&&(t.items=e.items),typeof e.required=="boolean"&&(t.required=e.required),typeof e.kind=="string"&&/^[a-z-]{1,20}$/.test(e.kind)&&(t.kind=e.kind),t}function Xe(e){if(!e||typeof e!="object")return{};if(!JSON.stringify(e).includes('"$value"'))return e;let t=d=>d&&typeof d=="object"&&"$value"in d?d.$value:d,s=d=>{let g=t(d);return typeof g=="string"?g:typeof g?.hex=="string"?`${g.hex}${typeof g.alpha=="number"&&g.alpha<1?Math.round(Math.max(0,g.alpha)*255).toString(16).padStart(2,"0"):""}`:void 0},r=d=>{let g=t(d);return Array.isArray(g)?g.map(String):typeof g=="string"?[g]:void 0},n={bg:"paper",background:"paper",paper:"paper",fg:"ink",text:"ink",ink:"ink",accent:"primary",primary:"primary",muted:"muted",surface:"soft",soft:"soft"},i=d=>Object.fromEntries(Object.entries(d??{}).filter(([g])=>g in n).map(([g,h])=>[n[g],s(h)]).filter(([,g])=>g)),o=e.color??e.colour??{},a={...i(o),...i(o.light)},c=i(o.dark);Object.keys(c).length&&(a.dark=c);let p=e.font??e.fontFamily??{},u=r(p.heading??p.display??p.sans),l=r(p.body??p.text??p.sans);return(u||l)&&(a.fonts={heading:u??l,body:l??u}),a}function he(...e){let t={name:"standard",tokens:{},layouts:{...ge.layouts},pictures:{}},s=[];for(let r of e)if(!(!r||typeof r!="object")){if(typeof r.name=="string"&&(t.name=r.name),r.tokens&&typeof r.tokens=="object"){let n=Xe(r.tokens),i=n.dark&&typeof n.dark=="object"?{...t.tokens.dark,...n.dark}:t.tokens.dark;t.tokens={...t.tokens,...n,...i&&{dark:i}}}for(let[n,i]of Object.entries(r.pictures??{}))me.test(n)&&yt(i)?t.pictures[n]=i:s.push(`picture ${n}: not a picture inside the kit`);for(let[n,i]of Object.entries(r.layouts??r.types??{})){if(!me.test(n)){s.push(`layout ${n}: not a-z, 0-9 and -`);continue}if(i===!1){n!=="default"&&delete t.layouts[n];continue}let{layout:o,problems:a}=$e(i);s.push(...a.map(c=>`layout ${n}: ${c}`)),o&&(t.layouts[n]=o)}}for(let[r,n]of[["logo",t.tokens],["dark logo",t.tokens.dark]])n?.logo!==void 0&&!Ke(n.logo)&&(s.push(`${r}: not a picture inside the kit (PNG, JPEG, GIF, WebP or SVG as data:, 512 KB at most)`),delete n.logo);return t.tokens.logoAt!==void 0&&!ne.includes(t.tokens.logoAt)&&(s.push(`logoAt ${t.tokens.logoAt} is not one of ${ne.join(", ")}`),delete t.tokens.logoAt),{kit:t,problems:s}}function Ce(e,t,s){return typeof e.label=="string"?e.label:e.label?.[s]??e.label?.[s.split("-")[0]]??e.label?.en??t}function ve(e){let t=e.slots.map(n=>n.name);if(t.includes("middle"))return"three-cols";if(t.includes("left"))return"two-cols-header";if(t.includes("right"))return"two-cols";if(e.index===0)return"cover";let r=e.slots.map(n=>n.text).join(`
|
|
17
17
|
`).trim().split(`
|
|
18
18
|
`).filter(n=>n.trim());return r.length===1&&/^#{1,2}\s+\S/.test(r[0])?"section":/^#\s+[^\s]*\d[\d\s.,%€$£¥]*\S*\s*$/u.test(r[0]??"")&&r.length<=3&&!/^\s*[-*\d]+[.)]?\s/m.test(r.slice(1).join(`
|
|
19
|
-
`))?"fact":r.length&&r.every((n,i)=>n.startsWith(">")||i===r.length-1&&!n.startsWith("#"))&&r[0].startsWith(">")?"quote":"default"}function
|
|
20
|
-
`).map(
|
|
19
|
+
`))?"fact":r.length&&r.every((n,i)=>n.startsWith(">")||i===r.length-1&&!n.startsWith("#"))&&r[0].startsWith(">")?"quote":"default"}function x(e,t={},s=[]){let r=document.createElement(e);for(let[n,i]of Object.entries(t))i!==void 0&&i!==!1&&r.setAttribute(n,i===!0?"":String(i));for(let n of s)(n||n==="")&&r.append(n);return r}function kt(e){let t=String(e??"").trim();return/^(https?:|mailto:|blob:|#)/i.test(t)||/^data:image\/(png|jpe?g|gif|webp|avif|svg\+xml);/i.test(t)?t:/^[a-z][\w+.-]*:/i.test(t)?null:t}function ye(e,t){let s=String(e.settings.layout??"").trim().toLowerCase(),r=t.kit.layouts[s]?s:t.kit.layouts[Se[s]]?Se[s]:ve(e),n=t.kit.layouts[r]??ge.layouts.default,i=String(e.settings.class??"").split(/\s+/).filter(y=>["invert","text-center","text-left"].includes(y)),o={step:0},a=new Map(e.slots.map(y=>[y.name,y])),c=n.slots,p=(n.art??[]).map(y=>t.kit.pictures?.[y]).filter(Boolean),u=x("section",{class:["deck-slide",`deck-layout-${r}`,...i.map(y=>`deck-class-${y}`),...p.length?["has-art"]:[]].join(" "),"data-index":e.index,"data-layout":r,"data-paper":n.paper,"data-align":n.align,"data-justify":n.justify,"data-title":n.title,"aria-roledescription":t.slide,role:"group"});for(let y of p)u.append(x("img",{class:"deck-art",src:y,alt:"","aria-hidden":"true"}));let l=x("div",{class:"deck-canvas"});l.style.setProperty("grid-template-areas",n.areas.map(y=>`"${y.map(S=>S==="."?".":`s-${S}`).join(" ")}"`).join(" ")),l.style.setProperty("grid-template-columns",n.columns.join(" ")),l.style.setProperty("grid-template-rows",n.rows.join(" ")),u.append(l);let d=e.settings.image??e.settings.background;if(typeof d=="string"&&["image-left","image-right","image","cover"].includes(r)){let y=t.resolve(d);if(y){let S=x("div",{class:"deck-image",role:"img","aria-label":String(e.settings.alt??"")||void 0});S.style.setProperty("--deck-image",`url("${y.replace(/["\\\n]/g,encodeURIComponent)}")`),l.append(S),u.classList.add("has-image")}}for(let y of c){let S=a.get(y),N=x("div",{class:"deck-slot","data-slot":y},S?Je(S,t,o):[]);N.style.setProperty("grid-area",`s-${y}`),l.append(N)}for(let y of e.slots)c.includes(y.name)||l.append(x("div",{class:"deck-slot","data-slot":y.name},Je(y,t,o)));n.numbered&&e.settings.paginate!==!1&&u.append(x("span",{class:"deck-number","aria-hidden":"true"},[t.number(e.index+1)]));let{logo:g,logoAt:h,dark:m}=t.kit.tokens,b=ne.includes(h)?h:ne[0];if(g&&n.logo!=="none")for(let[y,S]of[[g,m?.logo?"has-dark":""],[m?.logo,"is-dark"]])y&&u.append(x("img",{class:`deck-logo ${S}`.trim(),src:y,alt:"","aria-hidden":"true","data-size":n.logo,"data-at":b}));return{element:u,steps:o.step}}function Je(e,t,s){let r=t.lex(e.text),n=[],i=e.start,o="";for(let a of r){let c=i;i+=a.raw.length;let p=a.type==="paragraph"?a.raw.trim().split(`
|
|
20
|
+
`).map(l=>l.trim()):[];if(p.length&&p.every(l=>/^:{3,}/.test(l))){for(let l of p)/^:{3,}[ \t]*\{?[ \t]*\.?incremental\b/.test(l)?o="clicks":/^:{3,}\s*$/.test(l)&&o==="clicks"&&(o="");continue}if(a.type==="html"){let l=/^\s*<(\/?)(v-clicks?|br)\b[^>]*>\s*$/i.exec(a.raw);if(l&&l[2]==="br")n.push(x("br"));else if(l)o=l[1]?"":l[2].toLowerCase()==="v-clicks"?"clicks":"click";else if(/<li\b/i.test(a.raw)){let d=x(/<ol\b/i.test(a.raw)?"ol":"ul",{dir:"auto"});for(let[,g,h]of a.raw.matchAll(/<li\b([^>]*)>([\s\S]*?)(?=<\/li>|<li\b|<\/[ou]l>|$)/gi)){let m=h.replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();if(!m)continue;let b=x("li",{dir:"auto"},[m]);(/\bv-click\b/.test(g)||o==="clicks")&&Ee(b,++s.step),d.append(b)}d.childElementCount&&n.push(d)}else{let d=a.raw.replace(/<!--[\s\S]*?-->/g,"").replace(/<[^>]*>/g," ").replace(/\s+/g," ").trim();d&&n.push(x("p",{},[d]))}continue}let u=Me(a,c,t,o==="clicks"?s:null);u&&((o==="click"||o==="clicks"&&a.type!=="list")&&Ee(u,++s.step),n.push(u))}return n}var Ee=(e,t)=>{e.classList.add("deck-step"),e.setAttribute("data-step",String(t))};function Me(e,t,s,r){switch(e.type){case"heading":{let n=/^\s*#{1,6}[ \t]+/.exec(e.raw),i=n?Ae(t+n[0].length,t+e.raw.replace(/\s*#*\s*$/,"").length):void 0;return s.headings==="real"?x(`h${e.depth}`,{dir:"auto","data-edit":i},_(e.tokens,s)):x("p",{class:`deck-h deck-h${e.depth}`,role:"heading","aria-level":Math.min(6,e.depth+2),dir:"auto","data-edit":i},_(e.tokens,s))}case"paragraph":{let n=e.tokens.length===1&&e.tokens[0].type==="image";return x("p",{dir:"auto",class:n?"deck-picture":void 0,"data-edit":n?void 0:Ae(t,t+e.raw.trimEnd().length)},_(e.tokens,s))}case"text":return x("p",{dir:"auto"},_(e.tokens??[{type:"text",text:e.text}],s));case"blockquote":return x("blockquote",{},xt(e.tokens,t,e.raw,s));case"list":{let n=0,i=x(e.ordered?"ol":"ul",{start:e.ordered&&e.start!==1?e.start:void 0,class:e.items.some(o=>o.task)?"deck-tasks":void 0});for(let o of e.items){let a=e.raw.indexOf(o.raw,n);n=a+o.raw.length;let c=t+Math.max(0,a),p=/^\s*(?:[-*+]|\d+[.)])\s+(?:\[[ xX]\]\s+)?/.exec(o.raw),u=o.tokens.length===1&&o.tokens[0].type==="text"&&!/\n\s*\S/.test(o.raw.trim().split(`
|
|
21
21
|
`).slice(1).join(`
|
|
22
|
-
`)),
|
|
23
|
-
`).entries())
|
|
24
|
-
`]));return
|
|
25
|
-
`),r=
|
|
26
|
-
`),r=
|
|
27
|
-
`,A:`[${r}](${s.getAttribute("href")??""})`}[s.tagName]??r}return t.replace(/ /g," ").replace(/\n+$/,"")}var
|
|
22
|
+
`)),l=x("li",{dir:"auto","data-edit":u&&p?Ae(c+p[0].length,c+o.raw.trimEnd().length):void 0},[o.task?x("input",{type:"checkbox",checked:o.checked,disabled:!0,"aria-label":o.text}):null,...o.tokens.flatMap(d=>d.type==="text"?_(d.tokens??[{type:"text",text:d.text}],s):[Me(d,c+Math.max(0,o.raw.indexOf(d.raw)),s,null)])]);r&&Ee(l,++r.step),i.append(l)}return i}case"code":{let n=/^(\S*)\s*(?:\{([^}]*)\})?/.exec(e.lang??"")??[],i=(n[1]??"").toLowerCase(),o=s.blocks[i];if(o){let p=x("div",{class:`deck-block deck-${i}`,"data-source":e.text});return p.append(x("pre",{class:"deck-block-source",dir:"ltr"},[x("code",{},[e.text])])),queueMicrotask(()=>Promise.resolve(o(p,e.text)).catch(()=>p.classList.add("is-failed"))),p}let a=wt(n[2]??""),c=x("code",{class:i?`language-${i}`:void 0});for(let[p,u]of e.text.split(`
|
|
23
|
+
`).entries())c.append(x("span",{class:a.has(p+1)?"deck-line is-marked":"deck-line"},[u,`
|
|
24
|
+
`]));return x("pre",{dir:"ltr",class:a.size?"has-marks":void 0,tabindex:0},[c])}case"table":{let n=i=>i??void 0;return x("div",{class:"deck-table"},[x("table",{},[x("thead",{},[x("tr",{},e.header.map((i,o)=>x("th",{"data-align":n(e.align[o]),dir:"auto"},_(i.tokens,s))))]),x("tbody",{},e.rows.map(i=>x("tr",{},i.map((o,a)=>x("td",{"data-align":n(e.align[a]),dir:"auto"},_(o.tokens,s))))))])])}default:return null}}function xt(e,t,s,r){let n=0;return e.map(i=>{let o=s.indexOf(i.raw,n);return n=Math.max(n,o+i.raw.length),Me(i,t+Math.max(0,o),r,null)})}function wt(e){let t=new Set;for(let s of e.split(/[,|]/)){let[r,n]=s.split("-").map(i=>parseInt(i,10));if(Number.isFinite(r))for(let i=r;i<=(Number.isFinite(n)?n:r);i++)t.add(i)}return t}var Ae=(e,t)=>t>e?`${e}-${t}`:void 0;function _(e=[],t){return e.flatMap(s=>{switch(s.type){case"text":case"escape":return s.tokens?_(s.tokens,t):[s.text.replace(/&(amp|lt|gt|quot|#39);/g,(r,n)=>({amp:"&",lt:"<",gt:">",quot:'"',"#39":"'"})[n])];case"strong":return[x("strong",{},_(s.tokens,t))];case"em":return[x("em",{},_(s.tokens,t))];case"del":return[x("del",{},_(s.tokens,t))];case"codespan":return[x("code",{},[s.text.replace(/&(amp|lt|gt|quot|#39);/g,(r,n)=>({amp:"&",lt:"<",gt:">",quot:'"',"#39":"'"})[n])])];case"br":return[x("br")];case"link":{let r=kt(s.href);return r?[x("a",{href:r,rel:"noopener noreferrer",target:r.startsWith("#")?void 0:"_blank"},_(s.tokens,t))]:_(s.tokens,t)}case"image":{let r=t.resolve(s.href);return r?[x("img",{src:r,alt:s.text,loading:"lazy"})]:[s.text]}case"html":return/^<br\s*\/?>$/i.test(s.raw)?[x("br")]:[];default:return s.text?[s.text]:[]}})}var Oe={default:{paper:"#fffdf8",ink:"#1d1b16",primary:"#f7c531",voice:"calm",radius:10},ocean:{paper:"#f6fafb",ink:"#0d2530",primary:"#0f766e",voice:"calm",radius:6},ember:{paper:"#fff8f3",ink:"#2a160c",primary:"#d9480f",voice:"bold",radius:2},ink:{paper:"#ffffff",ink:"#111111",primary:"#3b5bdb",voice:"elegant",radius:0}},Ne={calm:{heading:'ui-sans-serif, system-ui, "Segoe UI", Roboto, "Noto Sans", sans-serif',body:'ui-sans-serif, system-ui, "Segoe UI", Roboto, "Noto Sans", sans-serif'},elegant:{heading:'ui-serif, "Iowan Old Style", Georgia, "Noto Serif", serif',body:'ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif'},bold:{heading:'"Avenir Next Condensed", "Arial Narrow", ui-sans-serif, system-ui, sans-serif',body:'ui-sans-serif, system-ui, "Segoe UI", Roboto, sans-serif'},friendly:{heading:'ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif',body:'ui-rounded, "SF Pro Rounded", system-ui, sans-serif'}};function Le(e,t={}){let s=Oe[String(e.theme??"")]??Oe.default,r=typeof e.themeConfig=="object"&&e.themeConfig?e.themeConfig:{},n={...s,...Ye(t),...Ye(r)};return Ne[n.voice]||(n.voice="calm"),n}function Ye(e){let t={};for(let s of["paper","ink","primary","muted","soft"])typeof e[s]=="string"&&D(e[s])&&(t[s]=e[s]);return e.dark&&typeof e.dark=="object"&&(t.dark=Object.fromEntries(Object.entries(e.dark).filter(([,s])=>typeof s=="string"&&D(s)))),e.fonts&&Array.isArray(e.fonts.heading)&&Array.isArray(e.fonts.body)&&(t.fonts={heading:e.fonts.heading.map(String),body:e.fonts.body.map(String)}),typeof e.voice=="string"&&(t.voice=e.voice),typeof e.radius=="number"&&(t.radius=e.radius),Array.isArray(e.series)&&e.series.length&&e.series.every(s=>typeof s=="string"&&D(s))&&(t.series=e.series.slice(0,6)),t}function Te(e,t){let s=D(e.paper)??[255,253,248],r=D(e.ink,s)??[29,27,22],n=t==="dark"?e.dark??{}:{},i=se(D(n.paper??"",t==="dark"?[0,0,0]:[255,255,255])??(t==="dark"?ee(r,[0,0,0],.35):s)),o=se(D(n.ink??"",i)??(t==="dark"?ee(s,[255,255,255],.2):r)),a=D(n.primary??e.primary,i)??[247,197,49],c=be(a,i,4.5),p=te(o,a)>=te(i,a)?o:i,u=(e.series??[]).map(d=>D(d,i)).filter(d=>d!==null),l=[0,1,2,3,4,5].map(d=>be(u[d%(u.length||1)]??St(a,d*57),i,3));return{paper:Z(i),ink:Z(o),muted:Z(be(se(D(n.muted??(t==="light"?e.muted??"":""),i)??ee(o,i,.38)),i,4.5)),line:Z(ee(o,i,.82)),primary:Z(c),onPrimary:Z(p),soft:Z(D(n.soft??(t==="light"?e.soft??"":""),i)??ee(a,i,.78)),series:l.map(Z)}}function D(e,t=[255,255,255]){let s=String(e).trim(),r=/^#?([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i.exec(s)?.[1],n=/^rgba?\(([^)]*)\)$/i.exec(s)?.[1].split(/[\s,/]+/).filter(Boolean),i=(u,l)=>u.endsWith("%")?parseFloat(u)/100*l:Number(u),[o,a,c,p=1]=r?(r.length<5?[...r].map(u=>u+u):r.match(/../g)).map((u,l)=>parseInt(u,16)/(l>2?255:1)):n?.length===3||n?.length===4?n.map((u,l)=>i(u,l>2?1:255)):[];return o!==void 0&&[o,a,c].every(u=>u>=0&&u<=255)&&p>=0&&p<=1?se(ee(t,[o,a,c],p)):null}var Z=e=>`#${e.map(t=>Math.round(Math.max(0,Math.min(255,t))).toString(16).padStart(2,"0")).join("")}`,se=e=>e.map(t=>Math.round(Math.max(0,Math.min(255,t)))),ee=(e,t,s)=>e.map((r,n)=>r+(t[n]-r)*s);function je(e){let[t,s,r]=e.map(n=>{let i=n/255;return i<=.03928?i/12.92:((i+.055)/1.055)**2.4});return .2126*t+.7152*s+.0722*r}function te(e,t){let[s,r]=[je(e),je(t)].sort((n,i)=>i-n);return(s+.05)/(r+.05)}function be(e,t,s){let r=je(t)>.18?[0,0,0]:[255,255,255],n=0,i=se(e);for(;te(i,t)<s&&n<1;)i=se(ee(e,r,n=Math.min(1,n+.02)));return i}function St(e,t){let[s,r,n]=e.map(y=>y/255),i=Math.max(s,r,n),o=Math.min(s,r,n),a=(i+o)/2,c=i-o,p=c===0?0:c/(1-Math.abs(2*a-1)),u=c===0?0:i===s?(r-n)/c%6:i===r?(n-s)/c+2:(s-r)/c+4;u=(u*60+t+360)%360;let l=(1-Math.abs(2*a-1))*Math.max(p,.55),d=l*(1-Math.abs(u/60%2-1)),g=a-l/2,[h,m,b]=u<60?[l,d,0]:u<120?[d,l,0]:u<180?[0,l,d]:u<240?[0,d,l]:u<300?[d,0,l]:[l,0,d];return[h+g,m+g,b+g].map(y=>y*255)}var Qe={en:{deck:"Slides",slide:"slide",carousel:"carousel",previous:"Previous",next:"Next",present:"Present full screen",presenter:"Presenter view",overview:"All slides",edit:"Change",scheme:"Light or dark",export:"Save as PowerPoint",source:"The deck as text",notes:"Notes",noNotes:"No notes for this slide.",upNext:"Next",last:"Last slide",where:"Slide {n} of {count}",saved:"Saved"},fr:{deck:"Diapositives",slide:"diapositive",carousel:"carrousel",previous:"Précédente",next:"Suivante",present:"Présenter en plein écran",presenter:"Vue présentateur",overview:"Toutes les diapositives",edit:"Modifier",scheme:"Clair ou sombre",export:"Enregistrer en PowerPoint",source:"La présentation en texte",notes:"Notes",noNotes:"Pas de notes pour cette diapositive.",upNext:"Ensuite",last:"Dernière diapositive",where:"Diapositive {n} sur {count}",saved:"Enregistré"},ar:{deck:"الشرائح",slide:"شريحة",carousel:"عرض شرائح",previous:"السابقة",next:"التالية",present:"العرض بملء الشاشة",presenter:"عرض المقدّم",overview:"كل الشرائح",edit:"تعديل",scheme:"فاتح أو داكن",export:"الحفظ بصيغة PowerPoint",source:"العرض كنص",notes:"الملاحظات",noNotes:"لا ملاحظات لهذه الشريحة.",upNext:"التالية",last:"الشريحة الأخيرة",where:"الشريحة {n} من {count}",saved:"تم الحفظ"},ja:{deck:"スライド",slide:"スライド",carousel:"カルーセル",previous:"前へ",next:"次へ",present:"全画面で発表",presenter:"発表者ビュー",overview:"すべてのスライド",edit:"編集",scheme:"ライトまたはダーク",export:"PowerPoint で保存",source:"テキストとしてのスライド",notes:"メモ",noNotes:"このスライドにメモはありません。",upNext:"次",last:"最後のスライド",where:"スライド {n} / {count}",saved:"保存しました"}},Ze=e=>Qe[e.split("-")[0].toLowerCase()]??Qe.en;import{Lexer as $t}from"marked";var Ct=/^(ar|he|fa|ur|ps|sd|ug|yi|dv|ckb)\b/i,vt={back:"M15 5l-7 7 7 7",next:"M9 5l7 7-7 7",present:"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5",presenter:"M3 5h12v9H3zM18 8h3M18 12h3M6 19h6",grid:"M4 4h6v6H4zM14 4h6v6h-6zM4 14h6v6H4zM14 14h6v6h-6z",edit:"M4 20h4L19 9l-4-4L4 16zM13.5 6.5l4 4",scheme:"M12 3a9 9 0 1 0 9 9 7 7 0 0 1-9-9z",export:"M12 4v11M7 10l5 5 5-5M5 20h14"};function At(e){let t=document.createElementNS("http://www.w3.org/2000/svg","svg");t.setAttribute("viewBox","0 0 24 24"),t.setAttribute("aria-hidden","true"),(e==="back"||e==="next")&&t.setAttribute("class","deck-flip");let s=document.createElementNS("http://www.w3.org/2000/svg","path");return s.setAttribute("d",vt[e]),t.append(s),t}function Et(e,t){let s=t.source.replace(/\r\n?/g,`
|
|
25
|
+
`),r=fe(s),n=0,i=0,o=[],a=String(t.lang??r.settings.lang??document.documentElement.lang??"en")||"en",c=String(t.dir??r.settings.dir??(Ct.test(a)?"rtl":"ltr")),p={...Ze(a),...t.strings},u=new Intl.NumberFormat(a).format,l=matchMedia("(prefers-color-scheme: dark)"),d="light",g=Date.now();e.classList.add("deck"),e.lang=a,e.dir=c;let h=x("div",{class:"deck-stage",tabindex:0,role:"region","aria-roledescription":p.carousel,"aria-label":p.deck}),m=x("span",{class:"deck-where","aria-live":"polite"}),b=(f,k,$)=>{let j=x("button",{type:"button","aria-label":k,"data-act":f},[At(f)]);return j.addEventListener("click",$),j},y=b("back",p.previous,()=>w(-1)),S=b("next",p.next,()=>w(1)),N=b("edit",p.edit,()=>T("is-editing")),U=b("presenter",p.presenter,()=>T("is-presenting")),R=b("grid",p.overview,()=>T("is-overview")),E=x("div",{class:"deck-bar"},[y,m,S,x("span",{class:"deck-gap"}),R,U,t.editable===!1?null:N,b("scheme",p.scheme,()=>{d=d==="dark"?"light":"dark",F()}),t.onExport?b("export",p.export,()=>t.onExport?.(_e)):null,document.fullscreenEnabled?b("present",p.present,()=>K()):null]),M=x("textarea",{class:"deck-source",spellcheck:"false","aria-label":p.source,dir:"auto"}),q=x("div",{class:"deck-next"}),V=x("div",{class:"deck-notes",dir:"auto","aria-label":p.notes}),B=x("span",{class:"deck-clock"}),re=x("div",{class:"deck-presenter"},[q,V]);e.replaceChildren(M,h,re,E),E.insertBefore(B,E.querySelector(".deck-gap"));let J=[],le=()=>{let f=he(t.kit,r.settings.kit);return J=f.problems,f.kit};function F(){G.kit=le();let f=Le(r.settings,G.kit.tokens),k=Te(f,d),$=A=>A.map(P=>/^[\w-]+$/.test(P)?P:`"${P.replace(/["\\]/g,"")}"`).join(", "),j=f.fonts?{heading:$(f.fonts.heading),body:$(f.fonts.body)}:Ne[f.voice];for(let[A,P]of Object.entries({paper:k.paper,ink:k.ink,muted:k.muted,line:k.line,primary:k.primary,fill:f.primary,"on-fill":k.onPrimary,soft:k.soft,heading:j.heading,body:j.body,radius:`${f.radius}px`,...Object.fromEntries(k.series.map((z,O)=>[`series-${O+1}`,z]))}))e.style.setProperty(`--deck-${A}`,P);e.dataset.scheme=d,e.dataset.fill=(A=>te(A,[255,255,255])>te(A,[0,0,0])?"dark":"light")(D(f.primary)??[247,197,49]),e.dispatchEvent(new CustomEvent("deck-scheme",{detail:{scheme:d,colours:k,tokens:f}}))}let Y=()=>{let f=t.scheme??r.settings.colorSchema??"auto";d=f==="dark"||f==="auto"&&l.matches?"dark":"light"},G={blocks:t.blocks??{},resolve:t.resolve??(f=>f),headings:t.headings??"real",number:f=>u(f),total:0,kit:he().kit,lex:t.lex??(f=>new $t({gfm:!0}).lex(f)),slide:p.slide};function oe(){G.total=r.slides.length,o=r.slides.map(f=>ye(f,G));for(let[f,{element:k}]of o.entries())k.setAttribute("aria-label",p.where.replace("{n}",u(f+1)).replace("{count}",u(o.length))),k.addEventListener("click",()=>{e.classList.contains("is-overview")&&(T("is-overview"),I(f,0))});h.replaceChildren(...o.map(({element:f})=>f)),n=Math.min(n,o.length-1),W(),requestAnimationFrame(()=>v())}function v(){for(let{element:f}of o)L(f)}function L(f){let k=!1;for(let $ of f.querySelectorAll(".deck-slot")){let j=1;for($.style.setProperty("--deck-fit","1");$.scrollHeight>$.clientHeight+1&&j>.6;)$.style.setProperty("--deck-fit",String(j=Math.round((j-.05)*100)/100));$.scrollHeight>$.clientHeight+1&&(k=!0)}k?f.dataset.overflow="true":delete f.dataset.overflow}function W(){for(let[k,{element:$,steps:j}]of o.entries()){$.classList.toggle("is-shown",k===n),$.inert=k!==n&&!e.classList.contains("is-overview");for(let A of $.querySelectorAll(".deck-step"))A.classList.toggle("is-on",k<n||k===n&&Number(A.getAttribute("data-step"))<=i||j===0)}m.textContent=`${u(n+1)} / ${u(o.length)}`,y.toggleAttribute("disabled",n===0&&i===0),S.toggleAttribute("disabled",n>=o.length-1&&i>=(o[n]?.steps??0)),V.textContent=r.slides[n]?.notes||p.noNotes;let f=r.slides[n+1];q.replaceChildren(x("span",{},[f?p.upNext:p.last]),...f?[ye(f,G).element]:[]),e.dispatchEvent(new CustomEvent("deck-move",{detail:{at:n,step:i}}))}function w(f){let k=o[n]?.steps??0;if(f>0&&i<k){i++,W();return}if(f<0&&i>0){i--,W();return}let $=n+f;$<0||$>=o.length||I($,f>0?0:o[$].steps)}function I(f,k=0){if(f===n){i=k,W();return}let $=f>n,j=r.slides[$?f:n]?.settings??{},A=String(j.transition??r.settings.transition??"none"),[P,z]=A.split("|").map(ce=>ce.trim()),O=$?P:z??P;c==="rtl"&&(O=O.replace(/-(left|right)$/,(ce,de)=>de==="left"?"-right":"-left")),O==="view-transition"&&(O="morph");let Q=()=>{n=f,i=k,O==="morph"&&C(o[f].element),W()},ct=matchMedia("(prefers-reduced-motion: reduce)").matches;if(!document.startViewTransition||O==="none"||ct||e.classList.contains("is-overview"))return Q();O==="morph"&&C(o[n].element,o[f].element),document.documentElement.dataset.deckTransition=O;let He=document.startViewTransition(Q);He.ready.catch(()=>{}),He.finished.finally(()=>{delete document.documentElement.dataset.deckTransition;for(let{element:ce}of o)for(let de of ce.querySelectorAll("[data-morph]"))de.style.removeProperty("view-transition-name"),de.removeAttribute("data-morph")})}function C(f,k){let $=A=>`${A.tagName}:${A.tagName==="IMG"?A.getAttribute("src"):(A.textContent??"").trim().slice(0,80)}`,j=A=>[...A.querySelectorAll("h1, h2, h3, h4, .deck-h, li, p, img, .deck-block, blockquote, .deck-image")];if(k){let A=new Map(j(k).map(z=>[$(z),z])),P=0;for(let z of j(f)){let O=A.get($(z));if(!O||O.dataset.morph||z.closest("[data-morph]"))continue;let Q=`deck-m${P++}`;z.dataset.morph=O.dataset.morph=Q,z.style.setProperty("view-transition-name",Q)}return}for(let A of f.querySelectorAll("[data-morph]")){let P=A.dataset.morph;for(let z of h.querySelectorAll(`[data-morph="${P}"]`))z!==A&&z.style.removeProperty("view-transition-name");A.style.setProperty("view-transition-name",P)}}function T(f){for(let k of["is-editing","is-presenting","is-overview"])k!==f&&e.classList.remove(k);e.classList.toggle(f),N.setAttribute("aria-pressed",String(e.classList.contains("is-editing"))),U.setAttribute("aria-pressed",String(e.classList.contains("is-presenting"))),R.setAttribute("aria-pressed",String(e.classList.contains("is-overview"))),e.classList.contains("is-editing")&&(M.value=s,M.focus()),W(),requestAnimationFrame(()=>v())}function K(){h.requestFullscreen?.().then(()=>h.focus(),()=>{})}function X(f){s=f.replace(/\r\n?/g,`
|
|
26
|
+
`),r=fe(s),F(),oe(),t.onChange?.(s)}let qe=0;M.addEventListener("input",f=>{f.isComposing||(clearTimeout(qe),qe=setTimeout(()=>X(M.value),120))});let Be=()=>{let f=M.selectionStart,k=r.slides.findIndex($=>f>=$.start&&f<=$.end+1);k>=0&&k!==n&&(n=k,i=o[k]?.steps??0,W())};M.addEventListener("keyup",Be),M.addEventListener("click",Be),h.addEventListener("dblclick",f=>{if(t.editable===!1||document.fullscreenElement)return;let k=f.target.closest("[data-edit]");if(!k)return;let[$,j]=k.dataset.edit.split("-").map(Number);k.contentEditable="true",k.focus();let A=O=>{k.removeEventListener("keydown",P),k.removeEventListener("blur",z),k.contentEditable="false";let Q=Pe(k);O&&Q!==s.slice($,j)?X(s.slice(0,$)+Q+s.slice(j)):oe()},P=O=>{O.isComposing||(O.key==="Enter"&&!O.shiftKey&&(O.preventDefault(),A(!0)),O.key==="Escape"&&(O.preventDefault(),A(!1)))},z=()=>A(!0);k.addEventListener("keydown",P),k.addEventListener("blur",z)}),e.addEventListener("keydown",f=>{let k=f.target;if(k.isContentEditable||k===M||k.tagName==="BUTTON"&&(f.key===" "||f.key==="Enter")){(f.metaKey||f.ctrlKey)&&f.key==="s"&&(f.preventDefault(),t.onSave?.(s));return}let $=c==="rtl"?"ArrowLeft":"ArrowRight",j=c==="rtl"?"ArrowRight":"ArrowLeft";if(f.altKey||f.ctrlKey||f.metaKey){(f.metaKey||f.ctrlKey)&&f.key==="s"&&(f.preventDefault(),t.onSave?.(s));return}let P={[$]:()=>w(1),[j]:()=>w(-1),ArrowDown:()=>w(1),ArrowUp:()=>w(-1),PageDown:()=>w(1),PageUp:()=>w(-1)," ":()=>w(1),Home:()=>I(0),End:()=>I(o.length-1,o.at(-1)?.steps??0),f:K,p:()=>T("is-presenting"),o:()=>T("is-overview"),e:()=>T("is-editing")}[f.key];P&&(f.preventDefault(),P())}),h.addEventListener("click",f=>{document.fullscreenElement&&!f.target.closest("a, button, input")&&w(1)});let We=0;h.addEventListener("touchstart",f=>{We=f.touches[0].clientX},{passive:!0}),h.addEventListener("touchend",f=>{let k=f.changedTouches[0].clientX-We;Math.abs(k)>50&&w(k<0==(c!=="rtl")?1:-1)}),l.addEventListener("change",()=>{Y(),F()});let lt=setInterval(()=>{let f=Math.floor((Date.now()-g)/1e3);B.textContent=e.classList.contains("is-presenting")?`${String(Math.floor(f/60)).padStart(2,"0")}:${String(f%60).padStart(2,"0")}`:""},1e3);Y(),F(),oe(),document.fonts?.ready.then(()=>v());let _e={root:e,stage:h,get source(){return s},get deck(){return r},get at(){return n},get scheme(){return d},get kit(){return G.kit},get kitProblems(){return J},lang:a,dir:c,slides:()=>o.map(({element:f})=>f),setSource:X,go:I,toggle:T,present:K,fitAll:v,setScheme:f=>{d=f,F()},destroy:()=>clearInterval(lt)};return _e}function Pe(e){let t="";for(let s of e.childNodes)if(s.nodeType===Node.TEXT_NODE)t+=(s.textContent??"").replace(/([*_`[\]\\])/g,"\\$1");else if(s instanceof HTMLElement){let r=Pe(s);t+={STRONG:`**${r}**`,B:`**${r}**`,EM:`*${r}*`,I:`*${r}*`,CODE:`\`${s.textContent}\``,DEL:`~~${r}~~`,BR:`
|
|
27
|
+
`,A:`[${r}](${s.getAttribute("href")??""})`}[s.tagName]??r}return t.replace(/ /g," ").replace(/\n+$/,"")}var ke="0.3.0";var Ie='<script type="text/markdown" id="deck">',Mt="<\/script>",et=e=>e.replace(/<(\\*)(\/?script)/gi,"<\\$1$2"),tt=e=>e.replace(/<\\(\\*)(\/?script)/gi,"<$1$2"),ie=e=>e.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<"),Ot=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");function jt(e){if(/\\<(!--|\/?script)/i.test(e))throw new Error("This code cannot be held in a page as it is.");return e.replace(/<(!--|\/?script)/gi,"\\x3C$1")}function Nt(e){let t=e.indexOf(Ie);if(t<0)return null;let s=t+Ie.length,r=e.slice(s).search(/<\/script/i);return r<0?null:tt(e.slice(s,s+r).replace(/^\n/,"").replace(/\n$/,""))}var nt=(e=ke)=>`https://cdn.jsdelivr.net/npm/@codename/deck@${e}/dist/deck.js`;function Lt(e,{title:t="",lang:s="en",dir:r="auto",renderer:n={src:nt()},base:i,generator:o=`deck ${ke}`}={}){let a=i?` data-base="${ie(i)}"`:"",c="src"in n?`<script src="${ie(n.src)}"${a}><\/script>`:`<script${a}>${jt(n.code)}<\/script>`;return`<!doctype html>
|
|
28
28
|
<html lang="${ie(s)}" dir="${ie(r)}">
|
|
29
29
|
<meta charset="utf-8">
|
|
30
30
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
31
31
|
<meta name="generator" content="${ie(o)}">
|
|
32
|
-
<title>${
|
|
32
|
+
<title>${Ot(t)}</title>
|
|
33
33
|
<style>#deck{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:1rem/1.6 ui-monospace,Menlo,Consolas,monospace;max-width:72ch;margin:2rem auto;padding:0 1rem}</style>
|
|
34
34
|
<body>
|
|
35
|
-
${
|
|
36
|
-
${
|
|
37
|
-
${
|
|
38
|
-
${
|
|
35
|
+
${Ie}
|
|
36
|
+
${et(e)}
|
|
37
|
+
${Mt}
|
|
38
|
+
${c}
|
|
39
39
|
</html>
|
|
40
|
-
`}var tt=13.333,jt=7.5,nt="h1, h2, h3, h4, h5, h6, .deck-h, p:not(.deck-picture), ul, ol, blockquote";function H(e){let t=/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)/.exec(e);return t?[t[1],t[2],t[3]].map(s=>Math.round(Number(s)).toString(16).padStart(2,"0")).join("").toUpperCase():e.replace("#","").toUpperCase().slice(0,6)||"000000"}async function Lt(e,{PptxGenJS:t,JSZip:s}){let r=new t;r.layout="LAYOUT_WIDE",r.title=e.deck.slides[0]?.title??"",r.rtlMode=e.dir==="rtl";let n=getComputedStyle(e.root),i=f=>f.split(",").map(y=>y.trim().replace(/^["']|["']$/g,"")).find(y=>!/^(ui-|system-ui|-apple|sans-serif|serif|monospace)/.test(y))??"Arial";r.theme={headFontFace:i(n.getPropertyValue("--deck-heading")),bodyFontFace:i(n.getPropertyValue("--deck-body"))};let o={slides:0,charts:0,pictures:0,tables:0,placeholders:0},l=e.dir==="rtl",a=e.slides(),u=new Map,p=[];for(let[f,y]of a.entries()){let h=y.getBoundingClientRect(),w=tt/h.width,$=v=>{let E=v.getBoundingClientRect();return{x:(E.left-h.left)*w,y:(E.top-h.top)*w,w:E.width*w,h:E.height*w}},_=v=>{let E=v.closest(".deck-slot")??v,{x:q,w:x}=$(E),{y:j,h:L}=$(v),P=getComputedStyle(E),Z=parseFloat(P.paddingInlineStart)*w,ee=parseFloat(P.paddingInlineEnd)*w;return{x:q+(l?ee:Z),y:j,w:x-Z-ee,h:L*1.08}},U=v=>getComputedStyle(v).justifyContent==="center"?"middle":"top",F=v=>Math.round(v*w*72*10)/10,O=getComputedStyle(y),A=y.dataset.layout??"default",D=[...y.querySelectorAll(".deck-slot")],V=D[0]?.firstElementChild,R=V&&V.matches("h1, h2, h3, .deck-h")?V:null,se=e.kit.layouts[A],K=`${se?Se(se,A,e.lang):A}${y.classList.contains("deck-class-invert")?" (dark)":""}`;if(!u.has(K)){let v=[];R&&v.push({placeholder:{options:{name:"title",type:"title",..._(R),valign:"bottom",margin:0,fontFace:r.theme.headFontFace,color:H(getComputedStyle(R).color),align:l?"right":"left"},text:""}});for(let x of D){let j=$(x),L=R&&x===D[0]?$(R).y+$(R).h:j.y,P=x.firstElementChild&&x.firstElementChild!==R?_(x.firstElementChild):{x:j.x,w:j.w};v.push({placeholder:{options:{name:`body-${x.dataset.slot}`,type:"body",x:P.x,y:L+.08,w:P.w,h:Math.max(.3,j.y+j.h-L-.08),margin:0,valign:U(x),color:H(getComputedStyle(x).color)},text:""}})}let E=[...y.querySelectorAll(".deck-logo")].find(x=>getComputedStyle(x).display!=="none"),q=E&&await be(E.src,E.clientWidth*3,E.clientHeight*3);E&&q&&(v.push({image:{data:q,...$(E)}}),o.pictures++),r.defineSlideMaster({title:K,background:{color:H(O.backgroundColor)},objects:v,slideNumber:se?.numbered!==!1?{x:l?.3:tt-.9,y:jt-.55,w:.6,h:.3,fontSize:10,color:H(n.getPropertyValue("--deck-muted").trim()||"#666666")}:void 0}),u.set(K,new Set(v.flatMap(x=>x.placeholder?[x.placeholder.options.name]:[])))}let ae=u.get(K),z=r.addSlide({masterName:K});o.slides++;let X=y.querySelector(".deck-image");if(X){let v=/url\("?(.*?)"?\)/.exec(getComputedStyle(X).backgroundImage)?.[1],E=v&&await be(v,X.clientWidth*2,X.clientHeight*2,!0);E&&(z.addImage({data:E,...$(X)}),o.pictures++)}R&&ae.has("title")&&(z.addText(Pe(R,{pt:F,rtl:l,lang:e.lang}),{placeholder:"title"}),o.placeholders++);for(let v of D){let E=[...v.children].filter(x=>x!==R);if(E.length>0&&E.every(x=>x.matches(nt))&&ae.has(`body-${v.dataset.slot}`)){z.addText(E.flatMap(x=>Pe(x,{pt:F,rtl:l,lang:e.lang})),{placeholder:`body-${v.dataset.slot}`,valign:U(v),...st(v)}),o.placeholders++;continue}for(let x of E){let j=$(x);if(x.matches(nt))z.addText(Pe(x,{pt:F,rtl:l,lang:e.lang}),{..._(x),valign:"top",margin:0,...st(v)});else if(x.matches("pre"))z.addText(x.textContent?.replace(/\n$/,"")??"",{...j,fontFace:"Consolas",fontSize:F(parseFloat(getComputedStyle(x).fontSize)),color:H(getComputedStyle(x).color),fill:{color:H(getComputedStyle(x).backgroundColor)},valign:"top",margin:6,rtlMode:!1,align:"left"});else if(x.matches(".deck-table"))Pt(z,x,j,{pt:F,rtl:l,lang:e.lang}),o.tables++;else if(x.matches(".deck-echarts")&&x.chart){let L=x.chart;It(r,z,L,j,{pt:F,rtl:l,lang:e.lang,ink:H(O.color)})?o.charts++:(z.addImage({data:await be(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(L.renderToSVGString())}`,j.w/w*2,j.h/w*2),...j}),o.pictures++)}else{let L=x.querySelector("img");if(L){L.complete||(L.loading="eager",await L.decode().catch(()=>{}));let P=await be(L.src,L.clientWidth*2,L.clientHeight*2);P&&(z.addImage({data:P,...$(L),altText:L.alt}),o.pictures++)}}}}let G=e.deck.slides[f]?.notes;G&&z.addNotes(G);let re=e.deck.slides[f]?.settings??{};p.push(String(re.transition??e.deck.settings.transition??"none").split("|")[0].trim())}let c=await s.loadAsync(await r.write({outputType:"arraybuffer",compression:!0}));for(let[f,y]of p.entries()){let h=`ppt/slides/slide${f+1}.xml`,w=await c.file(h)?.async("string");!w||y==="none"||c.file(h,w.replace(/<\/p:clrMapOvr>|(?=<p:timing|<\/p:sld>)/,$=>`${$}${zt(y,l)}`))}let d=await c.file("ppt/theme/theme1.xml")?.async("string");if(d){let f=w=>H(n.getPropertyValue(`--deck-${w}`).trim()),y=[f("fill"),...[2,3,4,5,6].map(w=>f(`series-${w}`))],h=`<a:clrScheme name="Deck"><a:dk1><a:srgbClr val="${f("ink")}"/></a:dk1><a:lt1><a:srgbClr val="${f("paper")}"/></a:lt1><a:dk2><a:srgbClr val="${f("ink")}"/></a:dk2><a:lt2><a:srgbClr val="${f("soft")}"/></a:lt2>${y.map((w,$)=>`<a:accent${$+1}><a:srgbClr val="${w}"/></a:accent${$+1}>`).join("")}<a:hlink><a:srgbClr val="${f("primary")}"/></a:hlink><a:folHlink><a:srgbClr val="${f("primary")}"/></a:folHlink></a:clrScheme>`;c.file("ppt/theme/theme1.xml",d.replace(/<a:clrScheme[\s\S]*?<\/a:clrScheme>/,h))}return{blob:await c.generateAsync({type:"blob",compression:"DEFLATE",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}),report:o}}function st(e){let t=e.firstElementChild,s=t?parseFloat(getComputedStyle(t).marginBlockEnd):0;return{paraSpaceAfter:Math.round(s*.5)}}function Pe(e,t){let s=[],r=(i,o)=>{let l=getComputedStyle(i),a={fontSize:t.pt(parseFloat(l.fontSize)),color:H(l.color),bold:Number(l.fontWeight)>=600,lang:t.lang,rtlMode:t.rtl,align:l.textAlign==="center"?"center":t.rtl?"right":"left",...o},u=Tt(i,a);u.length&&(u[u.length-1].options.breakLine=!0,s.push(...u))},n=(i,o)=>{let l=0;for(let a of i.children){l++;let u=[...a.children].filter(c=>c.matches("ul, ol")),p=a.cloneNode(!0);for(let c of[...p.children])c.matches("ul, ol, input")&&c.remove();a.after(p),r(p,{bullet:i.tagName==="OL"?{type:"number",startAt:l===1?Number(i.getAttribute("start")??1):void 0}:!0,indentLevel:o}),p.remove();for(let c of u)n(c,o+1)}};if(e.matches("ul, ol"))n(e,0);else if(e.matches("blockquote"))for(let i of e.children)r(i,{italic:getComputedStyle(i).fontStyle==="italic"});else r(e,{});return s}function Tt(e,t){let s=[],r=(n,i)=>{if(n.nodeType===Node.TEXT_NODE){let l=(n.textContent??"").replace(/\s+/g," ");l&&s.push({text:l,options:{...i}});return}if(!(n instanceof HTMLElement))return;if(n.tagName==="BR"){s.length&&(s[s.length-1].options.breakLine=!0);return}let o={...i};n.matches("strong, b")&&(o.bold=!0,o.color=H(getComputedStyle(n).color)),n.matches("em, i")&&(o.italic=!0),n.matches("del, s")&&(o.strike="sngStrike"),n.matches("code")&&(o.fontFace="Consolas"),n.matches("a[href]")&&(o.hyperlink={url:n.getAttribute("href")});for(let l of n.childNodes)r(l,o)};for(let n of e.childNodes)r(n,t);return s.length&&(s[0].text=s[0].text.trimStart(),s[s.length-1].text=s[s.length-1].text.trimEnd()),s.filter(n=>n.text)}function Pt(e,t,s,r){let n=[...t.querySelectorAll("tr")].map(l=>[...l.children].map(a=>{let u=getComputedStyle(a),p=a.getAttribute("data-align");return{text:a.textContent?.trim()??"",options:{bold:a.tagName==="TH",fontSize:r.pt(parseFloat(u.fontSize)),color:H(u.color),lang:r.lang,rtlMode:r.rtl,align:p==="center"?"center":p==="right"!==r.rtl?"right":"left",border:[{type:"none"},{type:"none"},{type:"solid",pt:a.tagName==="TH"?1.5:.75,color:H(u.borderBlockEndColor)},{type:"none"}]}}})),i=[...t.querySelector("tr")?.children??[]].map(l=>l.getBoundingClientRect().width),o=i.reduce((l,a)=>l+a,0)||1;e.addTable(r.rtl?n.map(l=>l.reverse()):n,{...s,colW:(r.rtl?i.reverse():i).map(l=>l/o*s.w),margin:.06})}function It(e,t,s,r,n){let i=s.getOption(),o=i.series??[];if(!o.length)return!1;let l=new Set(o.map(c=>c.type)),a=(i.color??[]).map(H),u=c=>Array.isArray(c)?Number(c.at(-1)):Number(typeof c=="object"&&c!==null?c.value:c),p={...r,showLegend:o.length>1||l.has("pie"),legendPos:"b",legendFontSize:12,legendColor:n.ink,chartColors:a,showTitle:!!i.title?.[0]?.text,title:i.title?.[0]?.text,titleFontSize:16,titleColor:n.ink,catAxisLabelColor:n.ink,valAxisLabelColor:n.ink,dataLabelColor:n.ink,lang:n.lang};if(l.size===1&&l.has("pie")){let c=o[0],d=Array.isArray(c.radius)&&parseFloat(c.radius[0])>0;return t.addChart(d?e.charts.DOUGHNUT:e.charts.PIE,[{name:c.name??"",labels:c.data.map(g=>g.name),values:c.data.map(u)}],{...p,showPercent:!0,showLegend:!0,holeSize:d?55:void 0}),!0}if([...l].every(c=>c==="bar"||c==="line")){let c=i.yAxis?.[0]?.type==="category",d=(c?i.yAxis:i.xAxis)?.[0]?.data??[],g=h=>[{name:h.name??"",labels:d.map(String),values:h.data.map(u)}],f=h=>h.type==="bar"?e.charts.BAR:h.areaStyle?e.charts.AREA:e.charts.LINE,y={catAxisLabelFontSize:11,valAxisLabelFontSize:11,valGridLine:{color:"D9D9D9",size:.5},catAxisOrientation:n.rtl&&!c?"maxMin":"minMax",valAxisLabelFormatCode:"#,##0"};if(l.size===1){let h=o.flatMap(g);t.addChart(f(o[0]),h,{...p,...y,barDir:c?"bar":"col",barGrouping:o.some(w=>w.stack)?"stacked":"clustered",lineDataSymbol:"circle",lineSize:2})}else t.addChart(o.map(h=>({type:f(h),data:g(h),options:{barDir:c?"bar":"col",chartColors:[a[o.indexOf(h)%a.length]]}})),{...p,...y});return!0}if(l.size===1&&l.has("scatter")){let c=o[0].data.map(d=>Array.isArray(d)?d:[d.value?.[0],d.value?.[1]]);return t.addChart(e.charts.SCATTER,[{name:"X",values:c.map(d=>d[0])},{name:o[0].name??"Y",values:c.map(d=>d[1])}],{...p,lineSize:0,lineDataSymbolSize:8}),!0}if(l.size===1&&l.has("radar")){let c=i.radar?.[0]?.indicator??[];return t.addChart(e.charts.RADAR,o[0].data.map(d=>({name:d.name??"",labels:c.map(g=>g.name),values:d.value})),{...p,showLegend:!0,radarStyle:"standard"}),!0}return!1}function zt(e,t){let s=r=>`<p:transition spd="med"><p:push dir="${r}"/></p:transition>`;return e==="view-transition"||e==="morph"?'<mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice xmlns:p159="http://schemas.microsoft.com/office/powerpoint/2015/09/main" Requires="p159"><p:transition spd="slow"><p159:morph option="byObject"/></p:transition></mc:Choice><mc:Fallback><p:transition spd="slow"><p:fade/></p:transition></mc:Fallback></mc:AlternateContent>':e==="slide-left"?s(t?"r":"l"):e==="slide-right"?s(t?"l":"r"):e==="slide-up"?s("u"):e==="slide-down"?s("d"):'<p:transition spd="med"><p:fade/></p:transition>'}async function be(e,t,s,r=!1){try{let n=new Image;n.crossOrigin="anonymous",n.src=e,await n.decode();let i=document.createElement("canvas");i.width=Math.max(1,Math.round(t)),i.height=Math.max(1,Math.round(s));let o=i.getContext("2d"),l=n.naturalWidth||t,a=n.naturalHeight||s,u=r?Math.max(i.width/l,i.height/a):Math.min(i.width/l,i.height/a);return o.drawImage(n,(i.width-l*u)/2,(i.height-a*u)/2,l*u,a*u),i.toDataURL("image/png")}catch{return null}}var Ie=new Map;function rt(e,t){return Ie.has(e)||Ie.set(e,new Promise((s,r)=>{let n=document.createElement("script");n.src=e,n.onload=()=>s(globalThis[t]),n.onerror=r,document.head.append(n)})),Ie.get(e)}var ze=(e,t,s,r)=>/node_modules\/$/.test(e)?`${e}${t}/${r}`:`${e}${t}@${s}/${r}`;function Ft({base:e,root:t,versions:s={}}){let{echarts:r="6.1.0",pele:n="1.10.0"}=s,i=new Set,o=null;t.addEventListener("deck-scheme",a=>{o=a.detail.colours;for(let u of i)u.chart.setOption(l(u.option,u.box),!0)});let l=(a,u)=>{let p=parseFloat(getComputedStyle(u).fontSize)||16,c=getComputedStyle(u).direction==="rtl",d=Math.round(p*.6),g=(f,y)=>f===void 0?void 0:[f].flat().map(h=>({axisLabel:{color:o?.muted,fontSize:d},axisLine:{lineStyle:{color:o?.line}},splitLine:{lineStyle:{color:o?.line}},nameTextStyle:{color:o?.muted,fontSize:d},...c&&y&&h.type==="category"?{inverse:!0}:{},...c&&!y?{position:"right"}:{},...h}));return{color:o?.series,backgroundColor:"transparent",animation:!matchMedia("(prefers-reduced-motion: reduce)").matches,textStyle:{fontFamily:getComputedStyle(t).getPropertyValue("--deck-body")||"system-ui",color:o?.ink,fontSize:d},...a,title:a.title?{...a.title,textStyle:{color:o?.ink,fontSize:Math.round(p*.8),...a.title?.textStyle}}:void 0,legend:a.legend?{itemWidth:d*1.6,itemHeight:d,...a.legend,textStyle:{color:o?.ink,fontSize:d,...a.legend?.textStyle}}:void 0,grid:{containLabel:!0,left:d,right:d,top:a.title?p*1.8:d,bottom:a.legend?p*1.6:d,...a.grid},xAxis:g(a.xAxis,!0),yAxis:g(a.yAxis,!1),toolbox:void 0,series:[a.series??[]].flat().map(f=>f.type==="pie"?{label:{color:o?.ink,fontSize:d},...f}:f)}};return{async echarts(a,u){let p=JSON.parse(u),c=await rt(ze(e,"echarts",r,"dist/echarts.min.js"),"echarts"),d=document.createElement("div");d.className="deck-chart",d.setAttribute("role","img"),d.setAttribute("aria-label",String(p.title?.text??"")),a.append(d);let g=c.init(d,null,{renderer:"svg",locale:document.documentElement.lang?.startsWith("ja")?"JA":"EN"}),f={chart:g,option:p,box:a};i.add(f),g.setOption(l(p,a)),new ResizeObserver(()=>{g.resize(),g.setOption(l(p,a),!0)}).observe(d),Object.assign(a,{chart:g})},async mermaid(a,u){let p=await rt(ze(e,"pele",n,"dist/pele.global.js"),"pele"),c=getComputedStyle(t).getPropertyValue("--deck-body")||"system-ui, sans-serif",{svg:d}=p.render(u,{fontFamily:c,links:!1,images:!1,autoDirection:!0,maxWidth:Math.max(320,a.clientWidth*1.4)}),g=`--pele-bg:transparent;--pele-fg:${o?.ink};--pele-muted:${o?.muted};--pele-line:${o?.muted};--pele-surface:${o?.soft};--pele-surface-alt:${o?.line};--pele-border:${o?.primary};--pele-accent:${o?.primary};--pele-font:${c.replace(/[<>"]/g,"")}`,f=document.createElement("img");f.alt=u,f.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(d.replace(/^(<svg\b[^>]*>)/,`$1<style>svg{${g}}</style>`))}`;let y=document.createElement("div");y.className="deck-diagram",y.append(f),a.append(y)}}}var ot=/^(\s*(?:image|background|backgroundImage)\s*:\s*)(['"]?)([^'"\n#]+?)\2(\s*(?:#.*)?)$/gm,it=/(!\[[^\]\n]*\]\()(<[^>\n]+>|[^\s)\n]+)((?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\))/g,Dt=e=>/^data:/i.test(e),Rt=e=>/^(https?:)?\/\//i.test(e);function qt(e){let t="";for(let s=0;s<e.length;s+=32768)t+=String.fromCharCode(...e.subarray(s,s+32768));return btoa(t)}async function Bt(e,t,{web:s=!1,largest:r=8*1024*1024}={}){let n=new Map,i=[...e.matchAll(it)].map(c=>c[2].replace(/^<|>$/g,"")).concat([...e.matchAll(ot)].map(c=>c[3].trim())),o=[],l=[],a=[];for(let c of new Set(i)){if(Dt(c)||Rt(c)&&!s||/^(#|mailto:|javascript:)/i.test(c))continue;let d=await t(c).catch(()=>null);if(!d||!/^image\/(png|jpeg|gif|webp|avif|svg\+xml)$/.test(d.type)){l.push(c),n.set(c,null);continue}if(d.bytes.length>r){a.push(c),n.set(c,null);continue}n.set(c,`data:${d.type};base64,${qt(d.bytes)}`),o.push(c)}let u=c=>n.get(c)??null;return{source:e.replace(it,(c,d,g,f)=>{let y=u(g.replace(/^<|>$/g,""));return y?`${d}${y}${f}`:c}).replace(ot,(c,d,g,f,y)=>{let h=u(f.trim());return h?`${d}${g}${h}${g}${y}`:c}),inlined:o,missing:l,kept:a}}var Wt=/^(`{3,}|~{3,})[ \t]*(deck|slidev|markdown|md)?[ \t]*$/,Ht="layout|transition|class|image|background|clicks|title|level|hide|zoom|theme|colorSchema|lang|themeConfig|paginate|alt";function _t(e){let t=e.replace(/\r\n?/g,`
|
|
40
|
+
`}var xe=13.333,ze=7.5,st="h1, h2, h3, h4, h5, h6, .deck-h, p:not(.deck-picture), ul, ol, blockquote";function H(e){let t=/rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)/.exec(e);return t?[t[1],t[2],t[3]].map(s=>Math.round(Number(s)).toString(16).padStart(2,"0")).join("").toUpperCase():e.replace("#","").toUpperCase().slice(0,6)||"000000"}async function Tt(e,{PptxGenJS:t,JSZip:s}){let r=new t;r.layout="LAYOUT_WIDE",r.title=e.deck.slides[0]?.title??"",r.rtlMode=e.dir==="rtl";let n=getComputedStyle(e.root),i=h=>h.split(",").map(m=>m.trim().replace(/^["']|["']$/g,"")).find(m=>!/^(ui-|system-ui|-apple|sans-serif|serif|monospace)/.test(m))??"Arial";r.theme={headFontFace:i(n.getPropertyValue("--deck-heading")),bodyFontFace:i(n.getPropertyValue("--deck-body"))};let o={slides:0,charts:0,pictures:0,tables:0,placeholders:0},a=e.dir==="rtl",c=e.slides(),p=new Map,u=[];for(let[h,m]of c.entries()){let b=m.getBoundingClientRect(),y=xe/b.width,S=v=>{let L=v.getBoundingClientRect();return{x:(L.left-b.left)*y,y:(L.top-b.top)*y,w:L.width*y,h:L.height*y}},N=v=>{let L=v.closest(".deck-slot")??v,{x:W,w}=S(L),{y:I,h:C}=S(v),T=getComputedStyle(L),K=parseFloat(T.paddingInlineStart)*y,X=parseFloat(T.paddingInlineEnd)*y;return{x:W+(a?X:K),y:I,w:w-K-X,h:C*1.08}},U=v=>getComputedStyle(v).justifyContent==="center"?"middle":"top",R=v=>Math.round(v*y*72*10)/10,E=getComputedStyle(m),M=m.dataset.layout??"default",q=[...m.querySelectorAll(".deck-slot")],V=q[0]?.firstElementChild,B=V&&V.matches("h1, h2, h3, .deck-h")?V:null,re=e.kit.layouts[M],J=`${re?Ce(re,M,e.lang):M}${m.classList.contains("deck-class-invert")?" (dark)":""}`;if(!p.has(J)){let v=[],L=[...m.querySelectorAll("img.deck-art")].map(C=>C.src),W=L.length&&await ae(L,xe*150,ze*150,!1,E.backgroundColor);W&&(v.push({image:{data:W,x:0,y:0,w:xe,h:ze}}),o.pictures++),B&&v.push({placeholder:{options:{name:"title",type:"title",...N(B),valign:"bottom",margin:0,fontFace:r.theme.headFontFace,color:H(getComputedStyle(B).color),align:a?"right":"left"},text:""}});for(let C of q){let T=S(C),K=B&&C===q[0]?S(B).y+S(B).h:T.y,X=C.firstElementChild&&C.firstElementChild!==B?N(C.firstElementChild):{x:T.x,w:T.w};v.push({placeholder:{options:{name:`body-${C.dataset.slot}`,type:"body",x:X.x,y:K+.08,w:X.w,h:Math.max(.3,T.y+T.h-K-.08),margin:0,valign:U(C),color:H(getComputedStyle(C).color)},text:""}})}let w=[...m.querySelectorAll(".deck-logo")].find(C=>getComputedStyle(C).display!=="none"),I=w&&await ae(w.src,w.clientWidth*3,w.clientHeight*3);w&&I&&(v.push({image:{data:I,...S(w)}}),o.pictures++),r.defineSlideMaster({title:J,background:{color:H(E.backgroundColor)},objects:v,slideNumber:re?.numbered!==!1?{x:a?.3:xe-.9,y:ze-.55,w:.6,h:.3,fontSize:10,color:H(n.getPropertyValue("--deck-muted").trim()||"#666666")}:void 0}),p.set(J,new Set(v.flatMap(C=>C.placeholder?[C.placeholder.options.name]:[])))}let le=p.get(J),F=r.addSlide({masterName:J});o.slides++;let Y=m.querySelector(".deck-image");if(Y){let v=/url\("?(.*?)"?\)/.exec(getComputedStyle(Y).backgroundImage)?.[1],L=v&&await ae(v,Y.clientWidth*2,Y.clientHeight*2,!0);L&&(F.addImage({data:L,...S(Y)}),o.pictures++)}B&&le.has("title")&&(F.addText(Fe(B,{pt:R,rtl:a,lang:e.lang}),{placeholder:"title"}),o.placeholders++);for(let v of q){let L=[...v.children].filter(w=>w!==B);if(L.length>0&&L.every(w=>w.matches(st))&&le.has(`body-${v.dataset.slot}`)){F.addText(L.flatMap(w=>Fe(w,{pt:R,rtl:a,lang:e.lang})),{placeholder:`body-${v.dataset.slot}`,valign:U(v),...rt(v)}),o.placeholders++;continue}for(let w of L){let I=S(w);if(w.matches(st))F.addText(Fe(w,{pt:R,rtl:a,lang:e.lang}),{...N(w),valign:"top",margin:0,...rt(v)});else if(w.matches("pre"))F.addText(w.textContent?.replace(/\n$/,"")??"",{...I,fontFace:"Consolas",fontSize:R(parseFloat(getComputedStyle(w).fontSize)),color:H(getComputedStyle(w).color),fill:{color:H(getComputedStyle(w).backgroundColor)},valign:"top",margin:6,rtlMode:!1,align:"left"});else if(w.matches(".deck-table"))It(F,w,I,{pt:R,rtl:a,lang:e.lang}),o.tables++;else if(w.matches(".deck-echarts")&&w.chart){let C=w.chart;zt(r,F,C,I,{pt:R,rtl:a,lang:e.lang,ink:H(E.color)})?o.charts++:(F.addImage({data:await ae(`data:image/svg+xml;charset=utf-8,${encodeURIComponent(C.renderToSVGString())}`,I.w/y*2,I.h/y*2),...I}),o.pictures++)}else{let C=w.querySelector("img");if(C){C.complete||(C.loading="eager",await C.decode().catch(()=>{}));let T=await ae(C.src,C.clientWidth*2,C.clientHeight*2);T&&(F.addImage({data:T,...S(C),altText:C.alt}),o.pictures++)}}}}let G=e.deck.slides[h]?.notes;G&&F.addNotes(G);let oe=e.deck.slides[h]?.settings??{};u.push(String(oe.transition??e.deck.settings.transition??"none").split("|")[0].trim())}let l=await s.loadAsync(await r.write({outputType:"arraybuffer",compression:!0}));for(let[h,m]of u.entries()){let b=`ppt/slides/slide${h+1}.xml`,y=await l.file(b)?.async("string");!y||m==="none"||l.file(b,y.replace(/<\/p:clrMapOvr>|(?=<p:timing|<\/p:sld>)/,S=>`${S}${Ft(m,a)}`))}let d=await l.file("ppt/theme/theme1.xml")?.async("string");if(d){let h=y=>H(n.getPropertyValue(`--deck-${y}`).trim()),m=[h("fill"),...[2,3,4,5,6].map(y=>h(`series-${y}`))],b=`<a:clrScheme name="Deck"><a:dk1><a:srgbClr val="${h("ink")}"/></a:dk1><a:lt1><a:srgbClr val="${h("paper")}"/></a:lt1><a:dk2><a:srgbClr val="${h("ink")}"/></a:dk2><a:lt2><a:srgbClr val="${h("soft")}"/></a:lt2>${m.map((y,S)=>`<a:accent${S+1}><a:srgbClr val="${y}"/></a:accent${S+1}>`).join("")}<a:hlink><a:srgbClr val="${h("primary")}"/></a:hlink><a:folHlink><a:srgbClr val="${h("primary")}"/></a:folHlink></a:clrScheme>`;l.file("ppt/theme/theme1.xml",d.replace(/<a:clrScheme[\s\S]*?<\/a:clrScheme>/,b))}return{blob:await l.generateAsync({type:"blob",compression:"DEFLATE",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation"}),report:o}}function rt(e){let t=e.firstElementChild,s=t?parseFloat(getComputedStyle(t).marginBlockEnd):0;return{paraSpaceAfter:Math.round(s*.5)}}function Fe(e,t){let s=[],r=(i,o)=>{let a=getComputedStyle(i),c={fontSize:t.pt(parseFloat(a.fontSize)),color:H(a.color),bold:Number(a.fontWeight)>=600,lang:t.lang,rtlMode:t.rtl,align:a.textAlign==="center"?"center":t.rtl?"right":"left",...o},p=Pt(i,c);p.length&&(p[p.length-1].options.breakLine=!0,s.push(...p))},n=(i,o)=>{let a=0;for(let c of i.children){a++;let p=[...c.children].filter(l=>l.matches("ul, ol")),u=c.cloneNode(!0);for(let l of[...u.children])l.matches("ul, ol, input")&&l.remove();c.after(u),r(u,{bullet:i.tagName==="OL"?{type:"number",startAt:a===1?Number(i.getAttribute("start")??1):void 0}:!0,indentLevel:o}),u.remove();for(let l of p)n(l,o+1)}};if(e.matches("ul, ol"))n(e,0);else if(e.matches("blockquote"))for(let i of e.children)r(i,{italic:getComputedStyle(i).fontStyle==="italic"});else r(e,{});return s}function Pt(e,t){let s=[],r=(n,i)=>{if(n.nodeType===Node.TEXT_NODE){let a=(n.textContent??"").replace(/\s+/g," ");a&&s.push({text:a,options:{...i}});return}if(!(n instanceof HTMLElement))return;if(n.tagName==="BR"){s.length&&(s[s.length-1].options.breakLine=!0);return}let o={...i};n.matches("strong, b")&&(o.bold=!0,o.color=H(getComputedStyle(n).color)),n.matches("em, i")&&(o.italic=!0),n.matches("del, s")&&(o.strike="sngStrike"),n.matches("code")&&(o.fontFace="Consolas"),n.matches("a[href]")&&(o.hyperlink={url:n.getAttribute("href")});for(let a of n.childNodes)r(a,o)};for(let n of e.childNodes)r(n,t);return s.length&&(s[0].text=s[0].text.trimStart(),s[s.length-1].text=s[s.length-1].text.trimEnd()),s.filter(n=>n.text)}function It(e,t,s,r){let n=[...t.querySelectorAll("tr")].map(a=>[...a.children].map(c=>{let p=getComputedStyle(c),u=c.getAttribute("data-align");return{text:c.textContent?.trim()??"",options:{bold:c.tagName==="TH",fontSize:r.pt(parseFloat(p.fontSize)),color:H(p.color),lang:r.lang,rtlMode:r.rtl,align:u==="center"?"center":u==="right"!==r.rtl?"right":"left",border:[{type:"none"},{type:"none"},{type:"solid",pt:c.tagName==="TH"?1.5:.75,color:H(p.borderBlockEndColor)},{type:"none"}]}}})),i=[...t.querySelector("tr")?.children??[]].map(a=>a.getBoundingClientRect().width),o=i.reduce((a,c)=>a+c,0)||1;e.addTable(r.rtl?n.map(a=>a.reverse()):n,{...s,colW:(r.rtl?i.reverse():i).map(a=>a/o*s.w),margin:.06})}function zt(e,t,s,r,n){let i=s.getOption(),o=i.series??[];if(!o.length)return!1;let a=new Set(o.map(l=>l.type)),c=(i.color??[]).map(H),p=l=>Array.isArray(l)?Number(l.at(-1)):Number(typeof l=="object"&&l!==null?l.value:l),u={...r,showLegend:o.length>1||a.has("pie"),legendPos:"b",legendFontSize:12,legendColor:n.ink,chartColors:c,showTitle:!!i.title?.[0]?.text,title:i.title?.[0]?.text,titleFontSize:16,titleColor:n.ink,catAxisLabelColor:n.ink,valAxisLabelColor:n.ink,dataLabelColor:n.ink,lang:n.lang};if(a.size===1&&a.has("pie")){let l=o[0],d=Array.isArray(l.radius)&&parseFloat(l.radius[0])>0;return t.addChart(d?e.charts.DOUGHNUT:e.charts.PIE,[{name:l.name??"",labels:l.data.map(g=>g.name),values:l.data.map(p)}],{...u,showPercent:!0,showLegend:!0,holeSize:d?55:void 0}),!0}if([...a].every(l=>l==="bar"||l==="line")){let l=i.yAxis?.[0]?.type==="category",d=(l?i.yAxis:i.xAxis)?.[0]?.data??[],g=b=>[{name:b.name??"",labels:d.map(String),values:b.data.map(p)}],h=b=>b.type==="bar"?e.charts.BAR:b.areaStyle?e.charts.AREA:e.charts.LINE,m={catAxisLabelFontSize:11,valAxisLabelFontSize:11,valGridLine:{color:"D9D9D9",size:.5},catAxisOrientation:n.rtl&&!l?"maxMin":"minMax",valAxisLabelFormatCode:"#,##0"};if(a.size===1){let b=o.flatMap(g);t.addChart(h(o[0]),b,{...u,...m,barDir:l?"bar":"col",barGrouping:o.some(y=>y.stack)?"stacked":"clustered",lineDataSymbol:"circle",lineSize:2})}else t.addChart(o.map(b=>({type:h(b),data:g(b),options:{barDir:l?"bar":"col",chartColors:[c[o.indexOf(b)%c.length]]}})),{...u,...m});return!0}if(a.size===1&&a.has("scatter")){let l=o[0].data.map(d=>Array.isArray(d)?d:[d.value?.[0],d.value?.[1]]);return t.addChart(e.charts.SCATTER,[{name:"X",values:l.map(d=>d[0])},{name:o[0].name??"Y",values:l.map(d=>d[1])}],{...u,lineSize:0,lineDataSymbolSize:8}),!0}if(a.size===1&&a.has("radar")){let l=i.radar?.[0]?.indicator??[];return t.addChart(e.charts.RADAR,o[0].data.map(d=>({name:d.name??"",labels:l.map(g=>g.name),values:d.value})),{...u,showLegend:!0,radarStyle:"standard"}),!0}return!1}function Ft(e,t){let s=r=>`<p:transition spd="med"><p:push dir="${r}"/></p:transition>`;return e==="view-transition"||e==="morph"?'<mc:AlternateContent xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"><mc:Choice xmlns:p159="http://schemas.microsoft.com/office/powerpoint/2015/09/main" Requires="p159"><p:transition spd="slow"><p159:morph option="byObject"/></p:transition></mc:Choice><mc:Fallback><p:transition spd="slow"><p:fade/></p:transition></mc:Fallback></mc:AlternateContent>':e==="slide-left"?s(t?"r":"l"):e==="slide-right"?s(t?"l":"r"):e==="slide-up"?s("u"):e==="slide-down"?s("d"):'<p:transition spd="med"><p:fade/></p:transition>'}async function ae(e,t,s,r=!1,n=""){try{let i=await Promise.all([e].flat().map(async d=>{let g=new Image;return g.crossOrigin="anonymous",g.src=d,await g.decode(),g})),o=i[0],a=document.createElement("canvas");a.width=Math.max(1,Math.round(t)),a.height=Math.max(1,Math.round(s));let c=a.getContext("2d"),p=o.naturalWidth||t,u=o.naturalHeight||s,l=r?Math.max(a.width/p,a.height/u):Math.min(a.width/p,a.height/u);if(!n)c.drawImage(o,(a.width-p*l)/2,(a.height-u*l)/2,p*l,u*l);else{c.fillStyle=n,c.fillRect(0,0,a.width,a.height);for(let d of i)c.drawImage(d,0,0,a.width,a.height)}return a.toDataURL(n?"image/jpeg":"image/png",.9)}catch{return null}}var De=new Map;function ot(e,t){return De.has(e)||De.set(e,new Promise((s,r)=>{let n=document.createElement("script");n.src=e,n.onload=()=>s(globalThis[t]),n.onerror=r,document.head.append(n)})),De.get(e)}var Re=(e,t,s,r)=>/node_modules\/$/.test(e)?`${e}${t}/${r}`:`${e}${t}@${s}/${r}`;function Dt({base:e,root:t,versions:s={}}){let{echarts:r="6.1.0",pele:n="1.10.0"}=s,i=new Set,o=null;t.addEventListener("deck-scheme",c=>{o=c.detail.colours;for(let p of i)p.chart.setOption(a(p.option,p.box),!0)});let a=(c,p)=>{let u=parseFloat(getComputedStyle(p).fontSize)||16,l=getComputedStyle(p).direction==="rtl",d=Math.round(u*.6),g=(h,m)=>h===void 0?void 0:[h].flat().map(b=>({axisLabel:{color:o?.muted,fontSize:d},axisLine:{lineStyle:{color:o?.line}},splitLine:{lineStyle:{color:o?.line}},nameTextStyle:{color:o?.muted,fontSize:d},...l&&m&&b.type==="category"?{inverse:!0}:{},...l&&!m?{position:"right"}:{},...b}));return{color:o?.series,backgroundColor:"transparent",animation:!matchMedia("(prefers-reduced-motion: reduce)").matches,textStyle:{fontFamily:getComputedStyle(t).getPropertyValue("--deck-body")||"system-ui",color:o?.ink,fontSize:d},...c,title:c.title?{...c.title,textStyle:{color:o?.ink,fontSize:Math.round(u*.8),...c.title?.textStyle}}:void 0,legend:c.legend?{itemWidth:d*1.6,itemHeight:d,...c.legend,textStyle:{color:o?.ink,fontSize:d,...c.legend?.textStyle}}:void 0,grid:{containLabel:!0,left:d,right:d,top:c.title?u*1.8:d,bottom:c.legend?u*1.6:d,...c.grid},xAxis:g(c.xAxis,!0),yAxis:g(c.yAxis,!1),toolbox:void 0,series:[c.series??[]].flat().map(h=>h.type==="pie"?{label:{color:o?.ink,fontSize:d},...h}:h)}};return{async echarts(c,p){let u=JSON.parse(p),l=await ot(Re(e,"echarts",r,"dist/echarts.min.js"),"echarts"),d=document.createElement("div");d.className="deck-chart",d.setAttribute("role","img"),d.setAttribute("aria-label",String(u.title?.text??"")),c.append(d);let g=l.init(d,null,{renderer:"svg",locale:document.documentElement.lang?.startsWith("ja")?"JA":"EN"}),h={chart:g,option:u,box:c};i.add(h),g.setOption(a(u,c)),new ResizeObserver(()=>{g.resize(),g.setOption(a(u,c),!0)}).observe(d),Object.assign(c,{chart:g})},async mermaid(c,p){let u=await ot(Re(e,"pele",n,"dist/pele.global.js"),"pele"),l=getComputedStyle(t).getPropertyValue("--deck-body")||"system-ui, sans-serif",{svg:d}=u.render(p,{fontFamily:l,links:!1,images:!1,autoDirection:!0,maxWidth:Math.max(320,c.clientWidth*1.4)}),g=`--pele-bg:transparent;--pele-fg:${o?.ink};--pele-muted:${o?.muted};--pele-line:${o?.muted};--pele-surface:${o?.soft};--pele-surface-alt:${o?.line};--pele-border:${o?.primary};--pele-accent:${o?.primary};--pele-font:${l.replace(/[<>"]/g,"")}`,h=document.createElement("img");h.alt=p,h.src=`data:image/svg+xml;charset=utf-8,${encodeURIComponent(d.replace(/^(<svg\b[^>]*>)/,`$1<style>svg{${g}}</style>`))}`;let m=document.createElement("div");m.className="deck-diagram",m.append(h),c.append(m)}}}var it=/^(\s*(?:image|background|backgroundImage)\s*:\s*)(['"]?)([^'"\n#]+?)\2(\s*(?:#.*)?)$/gm,at=/(!\[[^\]\n]*\]\()(<[^>\n]+>|[^\s)\n]+)((?:\s+(?:"[^"\n]*"|'[^'\n]*'))?\))/g,Rt=e=>/^data:/i.test(e),qt=e=>/^(https?:)?\/\//i.test(e);function Bt(e){let t="";for(let s=0;s<e.length;s+=32768)t+=String.fromCharCode(...e.subarray(s,s+32768));return btoa(t)}async function Wt(e,t,{web:s=!1,largest:r=8*1024*1024}={}){let n=new Map,i=[...e.matchAll(at)].map(l=>l[2].replace(/^<|>$/g,"")).concat([...e.matchAll(it)].map(l=>l[3].trim())),o=[],a=[],c=[];for(let l of new Set(i)){if(Rt(l)||qt(l)&&!s||/^(#|mailto:|javascript:)/i.test(l))continue;let d=await t(l).catch(()=>null);if(!d||!/^image\/(png|jpeg|gif|webp|avif|svg\+xml)$/.test(d.type)){a.push(l),n.set(l,null);continue}if(d.bytes.length>r){c.push(l),n.set(l,null);continue}n.set(l,`data:${d.type};base64,${Bt(d.bytes)}`),o.push(l)}let p=l=>n.get(l)??null;return{source:e.replace(at,(l,d,g,h)=>{let m=p(g.replace(/^<|>$/g,""));return m?`${d}${m}${h}`:l}).replace(it,(l,d,g,h,m)=>{let b=p(h.trim());return b?`${d}${g}${b}${g}${m}`:l}),inlined:o,missing:a,kept:c}}var _t=/^(`{3,}|~{3,})[ \t]*(deck|slidev|markdown|md)?[ \t]*$/,Ht="layout|transition|class|image|background|clicks|title|level|hide|zoom|theme|colorSchema|lang|themeConfig|paginate|alt";function Ut(e){let t=e.replace(/\r\n?/g,`
|
|
41
41
|
`).split(`
|
|
42
|
-
`),s=[];for(let
|
|
43
|
-
`),o=(
|
|
42
|
+
`),s=[];for(let c=0;c<t.length;c++){let p=_t.exec(t[c]);if(!p)continue;let u=p[1],l=c+1,d=!1,g=[];for(;l<t.length;l++){let h=t[l].trimEnd();if(!d&&h===u)break;/^(`{3,}|~{3,})\s*\S/.test(h)&&!d?d=!0:d&&/^(`{3,}|~{3,})\s*$/.test(h)&&(d=!1),g.push(t[l])}s.push({tag:p[2]??"",body:g}),c=l}let r=s.find(c=>c.tag==="deck")??s.find(c=>c.body.filter(p=>/^---\s*$/.test(p)).length>=2);if(!r)return null;let n=[];r.tag!=="deck"&&n.push(`fenced as ${r.tag||"nothing"}`);let i=r.body.join(`
|
|
43
|
+
`),o=(c,p,u)=>{let l=i.replace(p,u);l!==i&&(n.push(c),i=l)};o("settings after an empty line",new RegExp(`^---[ \\t]*\\n\\s*\\n((?:(?:${Ht})\\s*:.*\\n(?:[ \\t]+\\S.*\\n)*)+)---[ \\t]*$`,"gm"),`---
|
|
44
44
|
$1---`),o("steps without empty lines",/^[ \t]*(<\/?v-clicks?>)[ \t]*$/gm,`
|
|
45
45
|
$1
|
|
46
|
-
`);let
|
|
47
|
-
${
|
|
46
|
+
`);let a=i.replace(/^```json[ \t]*\n([\s\S]*?)^```/gm,(c,p)=>p.includes('"series"')?`\`\`\`echarts
|
|
47
|
+
${p}\`\`\``:c);return a!==i&&(n.push("a chart fenced as json"),i=a),o("words after a slot marker",/^::([\w-]+)::[ \t]+(\S.*)$/gm,`::$1::
|
|
48
48
|
|
|
49
|
-
$2`),{source:i,mended:n}}export{
|
|
49
|
+
$2`),{source:i,mended:n}}export{ne as CORNERS,Oe as LOOKS,ge as STANDARD,ke as VERSION,te as contrast,Et as createDeck,Ut as deckIn,Dt as defaultBlocks,et as escape,ve as inferLayout,Wt as inlinePictures,Ce as labelOf,$e as layoutOf,Re as libraryAt,Ke as logoOf,Pe as markdownOf,he as mergeKits,fe as parseDeck,Nt as readDeckFile,be as readable,ye as renderSlide,nt as rendererUrl,D as rgbOf,Te as schemeOf,Tt as toPptx,Xe as tokensFrom,Le as tokensOf,tt as unescape,Lt as writeDeckFile};
|
|
50
50
|
//# sourceMappingURL=deck.mjs.map
|