(function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.mdItPluginAttrs={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=e=>!(e===9||e===10||e===12||e===32||e===47||e===62||e===34||e===39||e===61),n=(e,n,r)=>{let i=``,a=``,o=!0,s=!1,c=[];for(let r=n[0];r0?c.filter(([e])=>r.some(t=>t instanceof RegExp?t.test(e):t===e)):c},r=(e,t,r,i)=>{e&&n(t,r,i).forEach(([t,n])=>{switch(t){case`class`:e.attrJoin(`class`,n);break;case`css-module`:e.attrJoin(`css-module`,n);break;default:e.attrPush([t,n])}})},i=(e,t)=>{if(![`start`,`end`,`only`].includes(t))throw Error(`Invalid 'where' parameter: ${t}. Expected 'start', 'end', or 'only'.`);let n=e.left,r=e.right,i=n.length,a=r.length,o=i+1+a;return e=>{if(typeof e!=`string`||e.length=2:u>=1)?[s,c]:!1}},a=(e,t)=>{let n=e[t];if(n.type===`softbreak`)return null;if(n.nesting===0)return n;let r=n.level,i=n.type.replace(`_close`,`_open`);for(;t>=0;){let n=e[t];if(n.type===i&&n.level===r)return n;t--}return null},o=(e,t)=>t>=0?e[t]:e[e.length+t],s=(e,t,n)=>{let r={match:!1,position:null,range:null},i=typeof n.shift==`number`,a=i?t+n.shift:n.position;if(i&&a<0)return r;let c=o(e,a);if(!c)return r;let l=Object.keys(n),u=l.length;for(let e=0;etypeof e.position==`number`)){if(i=e.every(e=>{let n=s(t,e.position,e);return n.match?(n.range&&(a=n.range),!0):!1}),i){let{position:n}=e[e.length-1];r.position=n>=0?n:t.length+n,r.range=a}}else for(let n=0;n{let r=s(t,n,e);return r.match?(r.range&&(a=r.range),!0):!1}),i){r.position=n,a&&(r.range=a);break}if(i===!1)return r;continue}let i=n[t];switch(typeof i){case`boolean`:case`number`:case`string`:if(c[t]!==i)return r;break;case`function`:{let e=i(c[t]);if(!e)return r;Array.isArray(e)&&(r.range=e);break}default:throw Error(`Unknown type of pattern test (key: ${t}). Test should be of type boolean, number, string or function.`)}}return r.match=!0,r},c=e=>e,l=(e,t)=>{let n=e.utils.isSpace;return c({name:`end of block`,tests:[{shift:0,type:`inline`,children:[{position:-1,content:i(t,`end`),type:e=>e!==`code_inline`&&e!==`math_inline`}]}],transform:(e,i,o,s)=>{let c=s[0]-t.left.length,l=e[i].children[o],{content:u}=l,d=n(u.charCodeAt(c-1)),f=i+1;for(;e[f+1]?.nesting===-1;)f++;r(a(e,f),u,s,t.allowed),l.content=u.slice(0,d?c-1:c)}})},u=(e,t)=>{let n=e.utils.isSpace;return c({name:`code-block`,tests:[{shift:0,block:!0,info:i(t,`end`)}],transform:(e,i,a,o)=>{let s=o[0]-t.left.length,c=e[i],{info:l}=c,u=n(l.charCodeAt(s-1));r(c,l,o,t.allowed),c.info=l.slice(0,u?s-1:s)}})},d=(e,t)=>{let n=e.utils.isSpace;return c({name:`end of block`,tests:[{shift:-1,type:`heading_open`},{shift:0,type:`inline`,children:[{position:-1,content:i(t,`end`),type:e=>e!==`code_inline`&&e!==`math_inline`}]}],transform:(e,i,o,s)=>{let c=s[0]-t.left.length,l=e[i].children[o],{content:u}=l,d=n(u.charCodeAt(c-1));r(a(e,i+1),u,s,t.allowed),l.content=u.slice(0,d?c-1:c)}})},f=e=>[c({name:`inline nesting self-close`,tests:[{shift:0,type:`inline`,children:[{shift:-1,type:e=>e===`image`||e===`code_inline`},{shift:0,type:`text`,content:i(e,`start`)}]}],transform:(t,n,i,a)=>{let o=t[n].children,s=o[i],c=o[i-1],l=e.right.length+a[1];r(c,s.content,a,e.allowed),s.content.length===l?o.splice(i,1):s.content=s.content.slice(l)}}),c({name:`inline attributes`,tests:[{shift:0,type:`inline`,children:[{shift:-1,nesting:-1},{shift:0,type:`text`,content:i(e,`start`)}]}],transform:(t,n,i,o)=>{let s=t[n].children,c=s[i],{content:l}=c,u=e.right.length+o[1];r(a(s,i-1),l,o,e.allowed),c.content=l.slice(u)}})],p=(e,t)=>{let n=e.utils.isSpace,o=t.allowed;return[c({name:`list softbreak`,tests:[{shift:-2,type:`list_item_open`},{shift:0,type:`inline`,children:[{position:-2,type:`softbreak`},{position:-1,type:`text`,content:i(t,`only`)}]}],transform:(e,t,n,i)=>{let a=e[t].children,s=a[n],c=t-2;for(;e[c-1]?.type!==`ordered_list_open`&&e[c-1].type!==`bullet_list_open`;)c--;r(e[c-1],s.content,i,o),e[t].children=a.slice(0,-2)}}),c({name:`list double softbreak`,tests:[{shift:0,type:e=>e===`bullet_list_close`||e===`ordered_list_close`},{shift:1,type:`paragraph_open`},{shift:2,type:`inline`,content:i(t,`only`),children:e=>e.length===1},{shift:3,type:`paragraph_close`}],transform:(e,t,n,i)=>{let s=e[t+2];r(a(e,t),s.content,i,o),e.splice(t+1,3)}}),c({name:`list item end`,tests:[{shift:-2,type:`list_item_open`},{shift:0,type:`inline`,children:[{position:-1,type:`text`,content:i(t,`end`)}]}],transform:(e,i,a,s)=>{let c=e[i].children[a],l=c.content,u=s[0]-t.left.length,d=n(l.charCodeAt(u-1));r(e[i-2],l,s,o),c.content=l.slice(0,d?u-1:u)}})]},m=e=>c({name:` {.a} softbreak then curly in start`,tests:[{shift:0,type:`inline`,children:[{position:-2,type:`softbreak`},{position:-1,type:`text`,content:i(e,`only`)}]}],transform:(t,n,i,o)=>{let s=t[n].children,c=s[i],l=n+1;for(;t[l+1]?.nesting===-1;)l++;r(a(t,l),c.content,o,e.allowed),t[n].children=s.slice(0,-2)}}),h=(e,t)=>{let n=e.utils.isSpace;return c({name:`horizontal rule`,tests:[{shift:0,type:`paragraph_open`},{shift:1,type:`inline`,children:e=>e.length===1,content:e=>{let r=0,a,o=e.charCodeAt(r++);if(o!==45&&o!==42&&o!==95)return!1;let s=1;for(;r{let o=e[n],{content:s}=e[n+1];o.type=`hr`,o.tag=`hr`,o.nesting=0,r(o,s,a,t.allowed),o.markup=s,e.splice(n+1,2)}})},g=(e,t)=>{let n=e.utils.isSpace,o=t.allowed;return[c({name:`table`,tests:[{shift:0,type:`table_close`},{shift:1,type:`paragraph_open`},{shift:2,type:`inline`,content:i(t,`only`)}],transform:(e,t,n,i)=>{let s=e[t+2];r(a(e,t),s.content,i,o),e.splice(t+1,3)}}),c({name:`table cell attributes`,tests:[{shift:-1,type:e=>e===`td_open`||e===`th_open`},{shift:0,type:`inline`,children:[{shift:0,type:`text`,content:i(t,`end`)}]}],transform:(e,i,a,s)=>{let c=s[0]-t.left.length,l=e[i].children[a],u=e[i-1],{content:d}=l,f=n(d.charCodeAt(c-1));r(u,d,s,o),l.content=d.slice(0,f?c-1:c)}}),c({name:`table thead metadata`,tests:[{shift:0,type:`tr_close`},{shift:1,type:`thead_close`},{shift:2,type:`tbody_open`}],transform:(e,t)=>{let n=a(e,t),r=e[t-1],i=0,o=t-1;for(;o>0;){let t=e[o];if(t===n){let t=e[o-1];t.meta={...t.meta,columnCount:i};break}t.level===r.level&&t.type===r.type&&i++,o--}let s=e[t+2];s.meta={...s.meta,columnCount:i}}}),c({name:`table tbody calculate`,tests:[{shift:0,type:`tbody_close`,hidden:!1}],transform:(e,t)=>{let n=t-2;for(;n>=0&&e[n].type!==`tbody_open`;)n--;let r=e[n].meta.columnCount;if(r<2)return;let i=Array.from({length:r}).fill(0),a=[],o=n+1;for(;o0){i[d]--,a.push(c[u]),u++,d++;continue}let t=e[c[u][0]],n=Number(t.attrGet(`colspan`))||1,o=Number(t.attrGet(`rowspan`))||1;u++;let s=0;for(let e=0;e1&&s0)for(let e=0;et[0]-e[0]);for(let[t,n]of a)e.splice(t,n-t+1)}})]},_=[`fence`,`inline`,`table`,`list`,`heading`,`hr`,`softbreak`,`block`],v=(e,t)=>{let n=t.rule===!1?[]:Array.isArray(t.rule)?t.rule.filter(e=>_.includes(e)):_,r=[];return n.includes(`fence`)&&r.push(u(e,t)),n.includes(`inline`)&&r.push(...f(t)),n.includes(`table`)&&r.push(...g(e,t)),n.includes(`list`)&&r.push(...p(e,t)),n.includes(`softbreak`)&&r.push(m(t)),n.includes(`hr`)&&r.push(h(e,t)),n.includes(`block`)?r.push(l(e,t)):n.includes(`heading`)&&r.push(d(e,t)),r};e.attrs=(e,{left:t=`{`,right:n=`}`,allowed:r=[],rule:i=`all`}={})=>{let a=v(e,{left:t,right:n,allowed:r,rule:i});e.core.ruler.before(`linkify`,`attrs`,e=>{let t=e.tokens;for(let e=0;e{let r=s(t,e,n);return r.position!=null&&({position:i}=r),r.range&&(o=r.range),r.match})&&(r.transform(t,e,i,o),(r.name===`inline attributes`||r.name===`inline nesting self-close`)&&n--)}})}}); //# sourceMappingURL=cdn.umd.js.map