situs-kit 0.1.4 → 0.1.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # situs-kit
2
2
 
3
- A zero-dependency creative developer toolkit for text splitting and DOM animation.
3
+ A zero-dependency creative developer toolkit
4
4
 
5
5
  ## Install
6
6
 
@@ -0,0 +1,2 @@
1
+ function C(z,q){return typeof globalThis.getComputedStyle==="function"?globalThis.getComputedStyle(z,q??null):null}var B=1,Y=2,S=4,I="inline-block",h="nowrap",f="baseline",L="0px",g="block",m="maskChar",E="maskWord",n="maskLine",s=/^\s+$/,w=/(\s+)/,o=",div,span,svg,img,br,hr,canvas,video,audio,iframe,input,textarea,select,button,picture,figure,",i={u:"underline",ins:"underline",s:"line-through",strike:"line-through",del:"line-through"};class d{dom;chars;words;lines;masks;_p;_k;_e;_h;_d=[];_l=new Map;_g=null;_f=0;_i=!1;_a="";_b;_c;constructor(z,q={}){let F=typeof z==="string"?document.querySelector(z):z;if(!F)throw Error("SplitText: element not found");this.dom=F,this._p=F.innerHTML,this.chars=[],this.words=[],this.lines=[],this.masks={chars:[],words:[],lines:[]};let $=q.type?Array.isArray(q.type)?q.type:[q.type]:["chars","words","lines"],V=0;for(let b of $)if(b==="chars")V|=B;else if(b==="words")V|=Y;else if(b==="lines")V|=S;this._k=V,this._h=q.tag??"span";let Q=0;if(q.mask===!0)Q=V;else if(Array.isArray(q.mask)){for(let b of q.mask)if(b==="chars")Q|=B;else if(b==="words")Q|=Y;else if(b==="lines")Q|=S}if(this._e=Q,this._b=q.style,this._c=q.class,this._t(),(q.resize??!0)&&V&S)this._u()}_m(z,q){let F=document.createElement(this._h);if(z)F.dataset[z]="";if(F.style.display=I,q!==void 0)F.textContent=q;return F}_q(z,q){let F=document.createElement(this._h);if(F.dataset[q]="",F.style.overflow="hidden",F.style.display=z,this._b?.mask)Object.assign(F.style,this._b.mask);if(this._c?.mask)F.classList.add(this._c.mask);return F}_o(z,q,F,$,V){if(this._e&q){let Q=this._q(F,$);return Q.appendChild(z),V.push(Q),Q}return z}_j(z,q,F,$){if(F){let{outer:V,inner:Q}=F();if(Q.appendChild(q),$)this._l.set($,V);z.appendChild(V)}else z.appendChild(q)}_n(z,q,F){if(z.style.textDecoration=q,F)z.style.textDecorationColor=F}_t(){this._i=!0;let z=this.dom,q=C(z),F=q?parseFloat(q.letterSpacing)||0:0;if(this._a=q?q.textIndent:"",this._a&&this._a!==L)z.style.textIndent="0";let $=this._k,V=!!($&B),Q=!!($&Y),b=!!($&S),u=Q||b,j=!!(this._e&B),X=new Map,U=(D)=>{for(let H of Array.from(D.childNodes))if(H.nodeType===1){let N=H.tagName.toLowerCase();if(i[N]){let O=C(H)?.textDecorationColor;if(O)X.set(H,O)}U(H)}};U(z);let Z=Array.from(z.childNodes),M=document.createDocumentFragment();z.replaceChildren();let k=(D,H,N,O)=>{if(D.nodeType===3){let T=(D.textContent??"").split(w);for(let G of T){if(!G)continue;if(s.test(G)){M.appendChild(document.createTextNode(G));continue}let J=u?this._m(Q?"word":""):null;if(J){if(J.style.whiteSpace=h,N&&!V)this._n(J,N,O)}if(V){let R=[...G],c=this.chars.length;for(let v=0;v<R.length;v++){let x=this._m("char",R[v]);if(F&&v<R.length-1)x.style.marginRight=`${F}px`;if(N)this._n(x,N,O);if(this.chars.push(x),this._b?.chars)Object.assign(x.style,this._b.chars);if(this._c?.chars)x.classList.add(this._c.chars);let y=j?this._o(x,B,I,m,this.masks.chars):x;if(J)J.appendChild(y)}if(!J){let v=H?H():null,x=v?v.inner:M;for(let y=c;y<this.chars.length;y++){let _=this.chars[y];x.appendChild(j&&_.parentElement?.dataset?.[m]!==void 0?_.parentElement:_)}if(v)M.appendChild(v.outer)}}else if(J){if(J.textContent=G,F)J.style.letterSpacing=`${F}px`}if(J){if(Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let R=this._e&Y?this._o(J,Y,I,E,this.masks.words):J;this._j(M,R,H,J)}else if(!V)this._j(M,document.createTextNode(G),H)}return}if(D.nodeType!==1)return;let P=D,W=P.tagName.toLowerCase();if(o.includes(","+W+",")){let T=P.cloneNode(!0);if(N)this._n(T,N,O);let G=C(P)?.verticalAlign;if(G&&G!==f)T.style.verticalAlign=G;if(u){let J=this._m(Q?"word":"");if(J.style.whiteSpace=h,G&&G!==f)J.style.verticalAlign=G;if(J.appendChild(T),Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let R=this._e&Y?this._o(J,Y,I,E,this.masks.words):J;this._j(M,R,H,J)}else this._j(M,T,H);return}let p=()=>{let T=P.cloneNode(!1);if(H){let{outer:G,inner:J}=H();return J.appendChild(T),{outer:G,inner:T}}return{outer:T,inner:T}},K=i[W],a=K?N?`${N} ${K}`:K:N,r=K?X.get(P)||O:O;for(let T of Array.from(P.childNodes))k(T,p,a,r)};for(let D of Z)k(D,null,"","");z.appendChild(M);let A=!!(this._a&&this._a!==L);if(b)this._v(A);else if(A){let D=Q?this.words[0]:V?this.chars[0]:null;if(D)D.style.marginLeft=this._a,z.style.textIndent="0"}this._i=!1}_v(z){if(z&&this._d[0])this._d[0].style.marginLeft=this._a;this._r();let q=[];if(typeof document.fonts?.status==="string"&&document.fonts.status!=="loaded")q.push(document.fonts.ready);let F=this.dom.querySelectorAll("img");for(let $=0;$<F.length;$++){let V=F[$];if(!V.complete)q.push(new Promise((Q)=>{V.addEventListener("load",Q,{once:!0}),V.addEventListener("error",Q,{once:!0})}))}if(q.length){let $=this.dom.offsetHeight;Promise.all(q).then(()=>{if(this.dom.offsetHeight!==$)this.reflow()})}}_s(z){return this._l.get(z)??z}_r(){let z=this._d;if(!z.length)return;let q=z[0].offsetTop,F=q+z[0].offsetHeight,$=[],V=[];for(let j of z){let X=j.offsetTop,U=X+j.offsetHeight;if(X<F&&U>q)q=Math.min(q,X),F=Math.max(F,U);else V.push($),$=[],q=X,F=U;$.push(j)}if($.length)V.push($);let Q=!!(this._a&&this._a!==L);if(Q&&z[0])z[0].style.marginLeft="";let b=!!(this._e&S),u=document.createDocumentFragment();for(let j=0;j<V.length;j++){let X=V[j],U=document.createElement(this._h);if(U.dataset.line="",U.style.display=g,j===0&&Q)U.style.paddingLeft=this._a;for(let Z=0;Z<X.length;Z++){if(Z>0)U.appendChild(document.createTextNode(" "));U.appendChild(this._s(X[Z]))}if(this.lines.push(U),this._b?.lines)Object.assign(U.style,this._b.lines);if(this._c?.lines)U.classList.add(this._c.lines);if(b){let Z=this._q(g,n);Z.appendChild(U),this.masks.lines.push(Z),u.appendChild(Z)}else u.appendChild(U)}this.dom.replaceChildren(u)}_u(){let z=this.dom.offsetParent?this.dom.offsetParent.offsetWidth:window.innerWidth,q=()=>{if(this._i)return;let $=this.dom.offsetParent,V=$?$.offsetWidth:window.innerWidth;if(V===z)return;if(z=V,this._f)cancelAnimationFrame(this._f);this._f=requestAnimationFrame(()=>this.reflow())};this._g=new ResizeObserver(q);let F=this.dom.offsetParent??this.dom.parentElement;if(F)this._g.observe(F);else this._g.observe(this.dom)}reflow(){if(!(this._k&S)||this._i)return;let z=document.createDocumentFragment();for(let q=0;q<this._d.length;q++){if(q>0)z.appendChild(document.createTextNode(" "));z.appendChild(this._s(this._d[q]))}if(this.dom.replaceChildren(z),this.lines.length=0,this.masks.lines.length=0,this._a&&this._a!==L&&this._d[0])this._d[0].style.marginLeft=this._a;this._r()}revert(){this.destroy(),this.dom.innerHTML=this._p,this.chars.length=0,this.words.length=0,this._d.length=0,this._l.clear(),this.lines.length=0,this.masks.chars.length=0,this.masks.words.length=0,this.masks.lines.length=0}destroy(){if(this._f)cancelAnimationFrame(this._f),this._f=0;if(this._g)this._g.disconnect(),this._g=null}}
2
+ export{d as a};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- function I(z,q){return typeof globalThis.getComputedStyle==="function"?globalThis.getComputedStyle(z,q??null):null}var x=1,y=2,B=4,L="inline-block",h="nowrap",f="baseline",_="0px",g="block",m="maskChar",E="maskWord",w="maskLine",s=/^\s+$/,o=/(\s+)/,d=",div,span,svg,img,br,hr,canvas,video,audio,iframe,input,textarea,select,button,picture,figure,",i={u:"underline",ins:"underline",s:"line-through",strike:"line-through",del:"line-through"};class a{dom;chars;words;lines;masks;_p;_k;_e;_h;_d=[];_l=new Map;_g=null;_f=0;_i=!1;_a="";_b;_c;constructor(z,q={}){let F=typeof z==="string"?document.querySelector(z):z;if(!F)throw Error("SplitText: element not found");this.dom=F,this._p=F.innerHTML,this.chars=[],this.words=[],this.lines=[],this.masks={chars:[],words:[],lines:[]};let $=q.type?Array.isArray(q.type)?q.type:[q.type]:["chars","words","lines"],V=0;for(let b of $)if(b==="chars")V|=x;else if(b==="words")V|=y;else if(b==="lines")V|=B;this._k=V,this._h=q.tag??"span";let Q=0;if(q.mask===!0)Q=V;else if(Array.isArray(q.mask)){for(let b of q.mask)if(b==="chars")Q|=x;else if(b==="words")Q|=y;else if(b==="lines")Q|=B}if(this._e=Q,this._b=q.style,this._c=q.class,this._t(),(q.resize??!0)&&V&B)this._u()}_m(z,q){let F=document.createElement(this._h);if(z)F.dataset[z]="";if(F.style.display=L,q!==void 0)F.textContent=q;return F}_q(z,q){let F=document.createElement(this._h);if(F.dataset[q]="",F.style.overflow="hidden",F.style.display=z,this._b?.mask)Object.assign(F.style,this._b.mask);if(this._c?.mask)F.classList.add(this._c.mask);return F}_o(z,q,F,$,V){if(this._e&q){let Q=this._q(F,$);return Q.appendChild(z),V.push(Q),Q}return z}_j(z,q,F,$){if(F){let{outer:V,inner:Q}=F();if(Q.appendChild(q),$)this._l.set($,V);z.appendChild(V)}else z.appendChild(q)}_n(z,q,F){if(z.style.textDecoration=q,F)z.style.textDecorationColor=F}_t(){this._i=!0;let z=this.dom,q=I(z),F=q?parseFloat(q.letterSpacing)||0:0;if(this._a=q?q.textIndent:"",this._a&&this._a!==_)z.style.textIndent="0";let $=this._k,V=!!($&x),Q=!!($&y),b=!!($&B),N=Q||b,j=!!(this._e&x),Z=new Map,U=(D)=>{for(let H of Array.from(D.childNodes))if(H.nodeType===1){let X=H.tagName.toLowerCase();if(i[X]){let Y=I(H)?.textDecorationColor;if(Y)Z.set(H,Y)}U(H)}};U(z);let v=Array.from(z.childNodes),R=document.createDocumentFragment();z.replaceChildren();let k=(D,H,X,Y)=>{if(D.nodeType===3){let T=(D.textContent??"").split(o);for(let G of T){if(!G)continue;if(s.test(G)){R.appendChild(document.createTextNode(G));continue}let J=N?this._m(Q?"word":""):null;if(J){if(J.style.whiteSpace=h,X&&!V)this._n(J,X,Y)}if(V){let u=[...G],n=this.chars.length;for(let M=0;M<u.length;M++){let O=this._m("char",u[M]);if(F&&M<u.length-1)O.style.marginRight=`${F}px`;if(X)this._n(O,X,Y);if(this.chars.push(O),this._b?.chars)Object.assign(O.style,this._b.chars);if(this._c?.chars)O.classList.add(this._c.chars);let S=j?this._o(O,x,L,m,this.masks.chars):O;if(J)J.appendChild(S)}if(!J){let M=H?H():null,O=M?M.inner:R;for(let S=n;S<this.chars.length;S++){let C=this.chars[S];O.appendChild(j&&C.parentElement?.dataset?.[m]!==void 0?C.parentElement:C)}if(M)R.appendChild(M.outer)}}else if(J){if(J.textContent=G,F)J.style.letterSpacing=`${F}px`}if(J){if(Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let u=this._e&y?this._o(J,y,L,E,this.masks.words):J;this._j(R,u,H,J)}else if(!V)this._j(R,document.createTextNode(G),H)}return}if(D.nodeType!==1)return;let P=D,W=P.tagName.toLowerCase();if(d.includes(","+W+",")){let T=P.cloneNode(!0);if(X)this._n(T,X,Y);let G=I(P)?.verticalAlign;if(G&&G!==f)T.style.verticalAlign=G;if(N){let J=this._m(Q?"word":"");if(J.style.whiteSpace=h,G&&G!==f)J.style.verticalAlign=G;if(J.appendChild(T),Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let u=this._e&y?this._o(J,y,L,E,this.masks.words):J;this._j(R,u,H,J)}else this._j(R,T,H);return}let p=()=>{let T=P.cloneNode(!1);if(H){let{outer:G,inner:J}=H();return J.appendChild(T),{outer:G,inner:T}}return{outer:T,inner:T}},K=i[W],r=K?X?`${X} ${K}`:K:X,c=K?Z.get(P)||Y:Y;for(let T of Array.from(P.childNodes))k(T,p,r,c)};for(let D of v)k(D,null,"","");z.appendChild(R);let A=!!(this._a&&this._a!==_);if(b)this._v(A);else if(A){let D=Q?this.words[0]:V?this.chars[0]:null;if(D)D.style.marginLeft=this._a,z.style.textIndent="0"}this._i=!1}_v(z){if(z&&this._d[0])this._d[0].style.marginLeft=this._a;this._r();let q=[];if(typeof document.fonts?.status==="string"&&document.fonts.status!=="loaded")q.push(document.fonts.ready);let F=this.dom.querySelectorAll("img");for(let $=0;$<F.length;$++){let V=F[$];if(!V.complete)q.push(new Promise((Q)=>{V.addEventListener("load",Q,{once:!0}),V.addEventListener("error",Q,{once:!0})}))}if(q.length){let $=this.dom.offsetHeight;Promise.all(q).then(()=>{if(this.dom.offsetHeight!==$)this.reflow()})}}_s(z){return this._l.get(z)??z}_r(){let z=this._d;if(!z.length)return;let q=z[0].offsetTop,F=q+z[0].offsetHeight,$=[],V=[];for(let j of z){let Z=j.offsetTop,U=Z+j.offsetHeight;if(Z<F&&U>q)q=Math.min(q,Z),F=Math.max(F,U);else V.push($),$=[],q=Z,F=U;$.push(j)}if($.length)V.push($);let Q=!!(this._a&&this._a!==_);if(Q&&z[0])z[0].style.marginLeft="";let b=!!(this._e&B),N=document.createDocumentFragment();for(let j=0;j<V.length;j++){let Z=V[j],U=document.createElement(this._h);if(U.dataset.line="",U.style.display=g,j===0&&Q)U.style.paddingLeft=this._a;for(let v=0;v<Z.length;v++){if(v>0)U.appendChild(document.createTextNode(" "));U.appendChild(this._s(Z[v]))}if(this.lines.push(U),this._b?.lines)Object.assign(U.style,this._b.lines);if(this._c?.lines)U.classList.add(this._c.lines);if(b){let v=this._q(g,w);v.appendChild(U),this.masks.lines.push(v),N.appendChild(v)}else N.appendChild(U)}this.dom.replaceChildren(N)}_u(){let z=this.dom.offsetParent?this.dom.offsetParent.offsetWidth:window.innerWidth,q=()=>{if(this._i)return;let $=this.dom.offsetParent,V=$?$.offsetWidth:window.innerWidth;if(V===z)return;if(z=V,this._f)cancelAnimationFrame(this._f);this._f=requestAnimationFrame(()=>this.reflow())};this._g=new ResizeObserver(q);let F=this.dom.offsetParent??this.dom.parentElement;if(F)this._g.observe(F);else this._g.observe(this.dom)}reflow(){if(!(this._k&B)||this._i)return;let z=document.createDocumentFragment();for(let q=0;q<this._d.length;q++){if(q>0)z.appendChild(document.createTextNode(" "));z.appendChild(this._s(this._d[q]))}if(this.dom.replaceChildren(z),this.lines.length=0,this.masks.lines.length=0,this._a&&this._a!==_&&this._d[0])this._d[0].style.marginLeft=this._a;this._r()}revert(){this.destroy(),this.dom.innerHTML=this._p,this.chars.length=0,this.words.length=0,this._d.length=0,this._l.clear(),this.lines.length=0,this.masks.chars.length=0,this.masks.words.length=0,this.masks.lines.length=0}destroy(){if(this._f)cancelAnimationFrame(this._f),this._f=0;if(this._g)this._g.disconnect(),this._g=null}}export{a as SplitText};
1
+ import{a as b}from"./chunk-fqr7g8fv.js";export{b as SplitText};
@@ -1 +1 @@
1
- function C(z,q){return typeof globalThis.getComputedStyle==="function"?globalThis.getComputedStyle(z,q??null):null}var B=1,Y=2,S=4,I="inline-block",h="nowrap",f="baseline",L="0px",g="block",m="maskChar",E="maskWord",n="maskLine",s=/^\s+$/,w=/(\s+)/,o=",div,span,svg,img,br,hr,canvas,video,audio,iframe,input,textarea,select,button,picture,figure,",i={u:"underline",ins:"underline",s:"line-through",strike:"line-through",del:"line-through"};class d{dom;chars;words;lines;masks;_p;_k;_e;_h;_d=[];_l=new Map;_g=null;_f=0;_i=!1;_a="";_b;_c;constructor(z,q={}){let F=typeof z==="string"?document.querySelector(z):z;if(!F)throw Error("SplitText: element not found");this.dom=F,this._p=F.innerHTML,this.chars=[],this.words=[],this.lines=[],this.masks={chars:[],words:[],lines:[]};let $=q.type?Array.isArray(q.type)?q.type:[q.type]:["chars","words","lines"],V=0;for(let b of $)if(b==="chars")V|=B;else if(b==="words")V|=Y;else if(b==="lines")V|=S;this._k=V,this._h=q.tag??"span";let Q=0;if(q.mask===!0)Q=V;else if(Array.isArray(q.mask)){for(let b of q.mask)if(b==="chars")Q|=B;else if(b==="words")Q|=Y;else if(b==="lines")Q|=S}if(this._e=Q,this._b=q.style,this._c=q.class,this._t(),(q.resize??!0)&&V&S)this._u()}_m(z,q){let F=document.createElement(this._h);if(z)F.dataset[z]="";if(F.style.display=I,q!==void 0)F.textContent=q;return F}_q(z,q){let F=document.createElement(this._h);if(F.dataset[q]="",F.style.overflow="hidden",F.style.display=z,this._b?.mask)Object.assign(F.style,this._b.mask);if(this._c?.mask)F.classList.add(this._c.mask);return F}_o(z,q,F,$,V){if(this._e&q){let Q=this._q(F,$);return Q.appendChild(z),V.push(Q),Q}return z}_j(z,q,F,$){if(F){let{outer:V,inner:Q}=F();if(Q.appendChild(q),$)this._l.set($,V);z.appendChild(V)}else z.appendChild(q)}_n(z,q,F){if(z.style.textDecoration=q,F)z.style.textDecorationColor=F}_t(){this._i=!0;let z=this.dom,q=C(z),F=q?parseFloat(q.letterSpacing)||0:0;if(this._a=q?q.textIndent:"",this._a&&this._a!==L)z.style.textIndent="0";let $=this._k,V=!!($&B),Q=!!($&Y),b=!!($&S),u=Q||b,j=!!(this._e&B),X=new Map,U=(D)=>{for(let H of Array.from(D.childNodes))if(H.nodeType===1){let N=H.tagName.toLowerCase();if(i[N]){let O=C(H)?.textDecorationColor;if(O)X.set(H,O)}U(H)}};U(z);let Z=Array.from(z.childNodes),M=document.createDocumentFragment();z.replaceChildren();let k=(D,H,N,O)=>{if(D.nodeType===3){let T=(D.textContent??"").split(w);for(let G of T){if(!G)continue;if(s.test(G)){M.appendChild(document.createTextNode(G));continue}let J=u?this._m(Q?"word":""):null;if(J){if(J.style.whiteSpace=h,N&&!V)this._n(J,N,O)}if(V){let R=[...G],c=this.chars.length;for(let v=0;v<R.length;v++){let x=this._m("char",R[v]);if(F&&v<R.length-1)x.style.marginRight=`${F}px`;if(N)this._n(x,N,O);if(this.chars.push(x),this._b?.chars)Object.assign(x.style,this._b.chars);if(this._c?.chars)x.classList.add(this._c.chars);let y=j?this._o(x,B,I,m,this.masks.chars):x;if(J)J.appendChild(y)}if(!J){let v=H?H():null,x=v?v.inner:M;for(let y=c;y<this.chars.length;y++){let _=this.chars[y];x.appendChild(j&&_.parentElement?.dataset?.[m]!==void 0?_.parentElement:_)}if(v)M.appendChild(v.outer)}}else if(J){if(J.textContent=G,F)J.style.letterSpacing=`${F}px`}if(J){if(Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let R=this._e&Y?this._o(J,Y,I,E,this.masks.words):J;this._j(M,R,H,J)}else if(!V)this._j(M,document.createTextNode(G),H)}return}if(D.nodeType!==1)return;let P=D,W=P.tagName.toLowerCase();if(o.includes(","+W+",")){let T=P.cloneNode(!0);if(N)this._n(T,N,O);let G=C(P)?.verticalAlign;if(G&&G!==f)T.style.verticalAlign=G;if(u){let J=this._m(Q?"word":"");if(J.style.whiteSpace=h,G&&G!==f)J.style.verticalAlign=G;if(J.appendChild(T),Q){if(this.words.push(J),this._b?.words)Object.assign(J.style,this._b.words);if(this._c?.words)J.classList.add(this._c.words)}this._d.push(J);let R=this._e&Y?this._o(J,Y,I,E,this.masks.words):J;this._j(M,R,H,J)}else this._j(M,T,H);return}let p=()=>{let T=P.cloneNode(!1);if(H){let{outer:G,inner:J}=H();return J.appendChild(T),{outer:G,inner:T}}return{outer:T,inner:T}},K=i[W],a=K?N?`${N} ${K}`:K:N,r=K?X.get(P)||O:O;for(let T of Array.from(P.childNodes))k(T,p,a,r)};for(let D of Z)k(D,null,"","");z.appendChild(M);let A=!!(this._a&&this._a!==L);if(b)this._v(A);else if(A){let D=Q?this.words[0]:V?this.chars[0]:null;if(D)D.style.marginLeft=this._a,z.style.textIndent="0"}this._i=!1}_v(z){if(z&&this._d[0])this._d[0].style.marginLeft=this._a;this._r();let q=[];if(typeof document.fonts?.status==="string"&&document.fonts.status!=="loaded")q.push(document.fonts.ready);let F=this.dom.querySelectorAll("img");for(let $=0;$<F.length;$++){let V=F[$];if(!V.complete)q.push(new Promise((Q)=>{V.addEventListener("load",Q,{once:!0}),V.addEventListener("error",Q,{once:!0})}))}if(q.length){let $=this.dom.offsetHeight;Promise.all(q).then(()=>{if(this.dom.offsetHeight!==$)this.reflow()})}}_s(z){return this._l.get(z)??z}_r(){let z=this._d;if(!z.length)return;let q=z[0].offsetTop,F=q+z[0].offsetHeight,$=[],V=[];for(let j of z){let X=j.offsetTop,U=X+j.offsetHeight;if(X<F&&U>q)q=Math.min(q,X),F=Math.max(F,U);else V.push($),$=[],q=X,F=U;$.push(j)}if($.length)V.push($);let Q=!!(this._a&&this._a!==L);if(Q&&z[0])z[0].style.marginLeft="";let b=!!(this._e&S),u=document.createDocumentFragment();for(let j=0;j<V.length;j++){let X=V[j],U=document.createElement(this._h);if(U.dataset.line="",U.style.display=g,j===0&&Q)U.style.paddingLeft=this._a;for(let Z=0;Z<X.length;Z++){if(Z>0)U.appendChild(document.createTextNode(" "));U.appendChild(this._s(X[Z]))}if(this.lines.push(U),this._b?.lines)Object.assign(U.style,this._b.lines);if(this._c?.lines)U.classList.add(this._c.lines);if(b){let Z=this._q(g,n);Z.appendChild(U),this.masks.lines.push(Z),u.appendChild(Z)}else u.appendChild(U)}this.dom.replaceChildren(u)}_u(){let z=this.dom.offsetParent?this.dom.offsetParent.offsetWidth:window.innerWidth,q=()=>{if(this._i)return;let $=this.dom.offsetParent,V=$?$.offsetWidth:window.innerWidth;if(V===z)return;if(z=V,this._f)cancelAnimationFrame(this._f);this._f=requestAnimationFrame(()=>this.reflow())};this._g=new ResizeObserver(q);let F=this.dom.offsetParent??this.dom.parentElement;if(F)this._g.observe(F);else this._g.observe(this.dom)}reflow(){if(!(this._k&S)||this._i)return;let z=document.createDocumentFragment();for(let q=0;q<this._d.length;q++){if(q>0)z.appendChild(document.createTextNode(" "));z.appendChild(this._s(this._d[q]))}if(this.dom.replaceChildren(z),this.lines.length=0,this.masks.lines.length=0,this._a&&this._a!==L&&this._d[0])this._d[0].style.marginLeft=this._a;this._r()}revert(){this.destroy(),this.dom.innerHTML=this._p,this.chars.length=0,this.words.length=0,this._d.length=0,this._l.clear(),this.lines.length=0,this.masks.chars.length=0,this.masks.words.length=0,this.masks.lines.length=0}destroy(){if(this._f)cancelAnimationFrame(this._f),this._f=0;if(this._g)this._g.disconnect(),this._g=null}}export{d as SplitText};
1
+ import{a}from"../chunk-fqr7g8fv.js";export{a as SplitText};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "situs-kit",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "A creative developer helper library",
5
5
  "license": "MIT",
6
6
  "module": "./dist/index.js",