UNPKG

@oslokommune/punkt-elements

Version:

Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo

1 lines 1.42 kB
const e=require(`./element-DjtxO-1r.cjs`),t=require(`./directive-CJ2giQBZ.cjs`),n=require(`./directive-helpers-D1QSxY17.cjs`);var r=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},i=t.t(class extends t.n{constructor(e){if(super(e),e.type!==t.r.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(t,[i,a,o]){let s=n.t(t),{values:c,keys:l}=this.dt(i,a,o);if(!Array.isArray(s))return this.ut=l,c;let u=this.ut??=[],d=[],f,p,m=0,h=s.length-1,g=0,_=c.length-1;for(;m<=h&&g<=_;)if(s[m]===null)m++;else if(s[h]===null)h--;else if(u[m]===l[g])d[g]=n.a(s[m],c[g]),m++,g++;else if(u[h]===l[_])d[_]=n.a(s[h],c[_]),h--,_--;else if(u[m]===l[_])d[_]=n.a(s[m],c[_]),n.o(t,d[_+1],s[m]),m++,_--;else if(u[h]===l[g])d[g]=n.a(s[h],c[g]),n.o(t,s[m],s[h]),h--,g++;else if(f===void 0&&(f=r(l,g,_),p=r(u,m,h)),f.has(u[m]))if(f.has(u[h])){let e=p.get(l[g]),r=e===void 0?null:s[e];if(r===null){let e=n.o(t,s[m]);n.a(e,c[g]),d[g]=e}else d[g]=n.a(r,c[g]),n.o(t,s[m],r),s[e]=null;g++}else n.n(s[h]),h--;else n.n(s[m]),m++;for(;g<=_;){let e=n.o(t,d[_+1]);n.a(e,c[g]),d[g++]=e}for(;m<=h;){let e=s[m++];e!==null&&n.n(e)}return this.ut=l,n.r(t,d),e.u}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});