import {a}from'./chunk-7E2TOWBX.mjs';import {b}from'./chunk-3NRMSZX2.mjs';import {b as b$2,a as a$1}from'./chunk-TCNH27CF.mjs';import {b as b$1}from'./chunk-SDECDOHY.mjs';import {g}from'./chunk-KNY7SXPJ.mjs';function h(p){return JSON.parse(JSON.stringify(p))}function f(p,e){let a=0;for(let r=0;r<p.content.length;r++)if(p.content[r].type==="paragraph"){if(a===e)return r;a++;}return  -1}function I(p){let e="";for(let a of p.content)if(a.type==="run")for(let r of a.content)r.type==="text"&&(e+=r.text);else if(a.type==="hyperlink"){for(let r of a.children)if(r.type==="run")for(let t of r.content)t.type==="text"&&(e+=t.text);}return e}function T(p,e){return {type:"run",formatting:e,content:[{type:"text",text:p}]}}function P(p,e,a,r){let t=[],o=0,c=false;for(let n of p.content)if(n.type==="run"){let s=n.content.filter(l=>l.type==="text").map(l=>l.text).join(""),i=o,u=o+s.length;if(!c&&e>=i&&e<=u){let l=e-i;l>0&&t.push({...n,content:[{type:"text",text:s.slice(0,l)}]}),t.push(T(a,r||n.formatting)),l<s.length&&t.push({...n,content:[{type:"text",text:s.slice(l)}]}),c=true;}else t.push(n);o=u;}else t.push(n);return c||t.push(T(a,r)),t}function m(p,e,a){let r=[],t=0;for(let o of p.content)if(o.type==="run"){let c=o.content.filter(i=>i.type==="text").map(i=>i.text).join(""),n=t,s=t+c.length;if(s<=e||n>=a)r.push(o);else {let i="";n<e&&(i+=c.slice(0,e-n)),s>a&&(i+=c.slice(a-n)),i.length>0&&r.push({...o,content:[{type:"text",text:i}]});}t=s;}else r.push(o);return r}function k(p,e,a,r){let t=[],o=0;for(let c of p.content)if(c.type==="run"){let n=c.content.filter(u=>u.type==="text").map(u=>u.text).join(""),s=o,i=o+n.length;if(i<=e||s>=a)t.push(c);else if(s>=e&&i<=a)t.push({...c,formatting:{...c.formatting,...r}});else {let u=Math.max(e,s),l=Math.min(a,i);s<u&&t.push({...c,content:[{type:"text",text:n.slice(0,u-s)}]}),t.push({...c,formatting:{...c.formatting,...r},content:[{type:"text",text:n.slice(u-s,l-s)}]}),i>l&&t.push({...c,content:[{type:"text",text:n.slice(l-s)}]});}o=i;}else t.push(c);return t}function S(p,e){let a=h(p),r=a.package.document,t=f(r,e.position.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.position.paragraphIndex} not found`);let o=r.content[t];return o.content=P(o,e.position.offset,e.text,e.formatting),a}function F(p,e){let a=h(p),r=a.package.document,{start:t,end:o}=e.range;if(t.paragraphIndex===o.paragraphIndex){let c=f(r,t.paragraphIndex);if(c===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let n=r.content[c];n.content=m(n,t.offset,o.offset),n.content=P(n,t.offset,e.text,e.formatting);}else {let c=f(r,t.paragraphIndex),n=r.content[c],s=I(n);n.content=m(n,t.offset,s.length),n.content=P(n,t.offset,e.text,e.formatting);let i=[];for(let u=t.paragraphIndex+1;u<=o.paragraphIndex;u++)i.push(f(r,u));for(let u=i.length-1;u>=0;u--)i[u]!==-1&&r.content.splice(i[u],1);}return a}function H(p,e){let a=h(p),r=a.package.document,{start:t,end:o}=e.range;if(t.paragraphIndex===o.paragraphIndex){let c=f(r,t.paragraphIndex);if(c===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let n=r.content[c];n.content=m(n,t.offset,o.offset);}else {let c=f(r,t.paragraphIndex),n=r.content[c],s=I(n);n.content=m(n,t.offset,s.length);let i=f(r,o.paragraphIndex),u=r.content[i];u.content=m(u,0,o.offset),n.content.push(...u.content);let l=[];for(let g=t.paragraphIndex+1;g<=o.paragraphIndex;g++)l.push(f(r,g));for(let g=l.length-1;g>=0;g--)l[g]!==-1&&r.content.splice(l[g],1);}return a}function V(p,e){let a=h(p),r=a.package.document,{start:t,end:o}=e.range;if(t.paragraphIndex===o.paragraphIndex){let c=f(r,t.paragraphIndex);if(c===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let n=r.content[c];n.content=k(n,t.offset,o.offset,e.formatting);}else for(let c=t.paragraphIndex;c<=o.paragraphIndex;c++){let n=f(r,c);if(n===-1)continue;let s=r.content[n],i=I(s),u=0,l=i.length;c===t.paragraphIndex&&(u=t.offset),c===o.paragraphIndex&&(l=o.offset),s.content=k(s,u,l,e.formatting);}return a}function $(p,e){let a=h(p),r=a.package.document,t=f(r,e.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.paragraphIndex} not found`);let o=r.content[t];if(o.formatting={...o.formatting,...e.formatting},"numPr"in e.formatting){let c=e.formatting.numPr;if(c&&c.numId!==void 0&&c.numId!==0){let n=c.ilvl??0,s=c.numId===1,i=s?"\u2022":"1.";if(a.package.numbering){let u=a.package.numbering.nums.find(l=>l.numId===c.numId);if(u){let l=a.package.numbering.abstractNums.find(g=>g.abstractNumId===u.abstractNumId);if(l){let g=l.levels.find(x=>x.ilvl===n);g&&(i=g.lvlText||i);}}}o.listRendering={level:n,numId:c.numId,marker:i,isBullet:s};}else delete o.listRendering;}return a}function _(p,e){let a=h(p),r=a.package.document,t=f(r,e.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.paragraphIndex} not found`);let o=r.content[t];return o.formatting={...o.formatting,styleId:e.styleId},a}function O(p,e){let a$2=h(p),r=a$2.package.document,t=a(9360,e.columns),o=[];for(let u=0;u<e.rows;u++){let l=[];for(let g=0;g<e.columns;g++){let x=e.data?.[u]?.[g]||"";l.push({type:"tableCell",formatting:t[g]?{width:{value:t[g],type:"dxa"}}:void 0,content:[{type:"paragraph",content:x?[T(x)]:[]}]});}o.push({type:"tableRow",formatting:u===0&&e.hasHeader?{header:true}:void 0,cells:l});}let c=b$1(a$2.package.styles),n=b$2(a$2.package.settings?.defaultTableStyle,c),s={type:"table",formatting:{width:{value:9360,type:"dxa"},layout:"fixed",...n?{styleId:n,look:{...a$1}}:{}},columnWidths:t,rows:o},i=f(r,e.position.paragraphIndex);return i===-1?r.content.push(s):r.content.splice(i+1,0,s),a$2}function j(p,e){let a=h(p),r=a.package.document,t=f(r,e.position.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.position.paragraphIndex} not found`);let o=r.content[t],n={type:"run",content:[{type:"drawing",image:{type:"image",rId:`rId_img_${Date.now()}`,src:e.src,alt:e.alt,size:{width:g(e.width||100),height:g(e.height||100)},wrap:{type:"inline"}}}]},s=P(o,e.position.offset,"",void 0),i=false,u=0;for(let l=0;l<s.length;l++){let g=s[l];if(g.type==="run"){let x=g.content.filter(d=>d.type==="text").map(d=>d.text).join("");if(u+=x.length,!i&&u>=e.position.offset){s.splice(l+1,0,n),i=true;break}}}return i||s.push(n),o.content=s,a}function M(p,e){let a=h(p),r=a.package.document,{start:t,end:o}=e.range;if(t.paragraphIndex!==o.paragraphIndex)throw new Error("Hyperlinks cannot span multiple paragraphs");let c=f(r,t.paragraphIndex);if(c===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let n=r.content[c],s=I(n),i=e.displayText||s.slice(t.offset,o.offset);n.content=m(n,t.offset,o.offset);let u={type:"hyperlink",href:e.url,tooltip:e.tooltip,children:[T(i)]},l=false,g=0,x=[];for(let d of n.content)if(d.type==="run"){let b=d.content.filter(y=>y.type==="text").map(y=>y.text).join(""),w=g+b.length;if(!l&&g<=t.offset&&t.offset<=w){let y=t.offset-g;y>0&&x.push({...d,content:[{type:"text",text:b.slice(0,y)}]}),x.push(u),y<b.length&&x.push({...d,content:[{type:"text",text:b.slice(y)}]}),l=true;}else x.push(d);g=w;}else x.push(d);return l||x.push(u),n.content=x,a}function L(p,e){let a=h(p),r=a.package.document,{start:t}=e.range,o=f(r,t.paragraphIndex);if(o===-1)throw new Error(`Paragraph index ${t.paragraphIndex} not found`);let c=r.content[o],n=[];for(let s of c.content)if(s.type==="hyperlink")for(let i of s.children)i.type==="run"&&n.push(i);else n.push(s);return c.content=n,a}function C(p,e){let a=h(p),r=a.package.document,t=f(r,e.position.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.position.paragraphIndex} not found`);let o=r.content[t],c=I(o),n=m({...o,content:[...o.content]},e.position.offset,c.length),s=m({...o,content:[...o.content]},0,e.position.offset);o.content=n;let i={type:"paragraph",formatting:o.formatting,content:s};return r.content.splice(t+1,0,i),a}function W(p,e){let a=h(p),r=a.package.document,t=f(r,e.paragraphIndex);if(t===-1)throw new Error(`Paragraph index ${e.paragraphIndex} not found`);let o=r.content[t],c=[];for(let n=1;n<=e.count;n++){let s=f(r,e.paragraphIndex+n);if(s!==-1){let i=r.content[s];o.content.push(...i.content),c.push(s);}}for(let n=c.length-1;n>=0;n--)r.content.splice(c[n],1);return a}function U(p,e){return C(p,{position:e.position})}function J(p,e){let a=h(p);return a.templateVariables||(a.templateVariables=[]),a.templateVariables.includes(e.name)||a.templateVariables.push(e.name),a}function z(p,e){let a=h(p),r=a.package.document;function t(n){for(let s of n.content)if(s.type==="text")for(let[i,u]of Object.entries(e.values)){let l=new RegExp(`\\{${i}\\}`,"g");s.text=s.text.replace(l,u);}}function o(n){for(let s of n.content)if(s.type==="run")t(s);else if(s.type==="hyperlink")for(let i of s.children)i.type==="run"&&t(i);}function c(n){if(n.type==="paragraph")o(n);else if(n.type==="table")for(let s of n.rows)for(let i of s.cells)for(let u of i.content)c(u);}for(let n of r.content)c(n);return a}function K(p,e){let a=b.getCommandHandler(e.type);if(a)return a(p,e);switch(e.type){case "insertText":return S(p,e);case "replaceText":return F(p,e);case "deleteText":return H(p,e);case "formatText":return V(p,e);case "formatParagraph":return $(p,e);case "applyStyle":return _(p,e);case "insertTable":return O(p,e);case "insertImage":return j(p,e);case "insertHyperlink":return M(p,e);case "removeHyperlink":return L(p,e);case "insertParagraphBreak":return C(p,e);case "mergeParagraphs":return W(p,e);case "splitParagraph":return U(p,e);case "setVariable":return J(p,e);case "applyVariables":return z(p,e);default:{let r=e;throw new Error(`Unknown command type: ${r.type}`)}}}function le(p,e){return e.reduce((a,r)=>K(a,r),p)}export{K as a,le as b};