@mhmdaljefri/revogrid
Version:
Virtual reactive data grid component - RevoGrid.
1 lines • 12.2 kB
JavaScript
const e="revo-grid";let t,l,n=!1,o=!1,s=!1,r=!1,i=null,c=!1;const f="undefined"!=typeof window?window:{},a=f.CSS,u=f.document||{head:{}},d={t:0,l:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,l,n)=>e.addEventListener(t,l,n),rel:(e,t,l,n)=>e.removeEventListener(t,l,n),ce:(e,t)=>new CustomEvent(e,t)},$=e=>Promise.resolve(e),p=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replace}catch(e){}return!1})(),y=(e,t,l)=>{l&&l.map((([l,n,o])=>{const s=b(e,l),r=h(t,o),i=m(l);d.ael(s,n,r,i),(t.o=t.o||[]).push((()=>d.rel(s,n,r,i)))}))},h=(e,t)=>l=>{try{256&e.t?e.i[t](l):(e.u=e.u||[]).push([t,l])}catch(e){he(e)}},b=(e,t)=>4&t?u:e,m=e=>0!=(2&e),w="http://www.w3.org/1999/xlink",g=new WeakMap,v=e=>"sc-"+e.$,k={},j=e=>"object"==(e=typeof e)||"function"===e,S=(e,t,...l)=>{let n=null,o=null,s=null,r=!1,i=!1,c=[];const f=t=>{for(let l=0;l<t.length;l++)n=t[l],Array.isArray(n)?f(n):null!=n&&"boolean"!=typeof n&&((r="function"!=typeof e&&!j(n))&&(n+=""),r&&i?c[c.length-1].p+=n:c.push(r?O(null,n):n),i=r)};if(f(l),t){t.key&&(o=t.key),t.name&&(s=t.name);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,c,M);const a=O(e,null);return a.h=t,c.length>0&&(a.m=c),a.g=o,a.v=s,a},O=(e,t)=>({t:0,k:e,p:t,j:null,m:null,h:null,g:null,v:null}),C={},M={forEach:(e,t)=>e.map(x).forEach(t),map:(e,t)=>e.map(x).map(t).map(R)},x=e=>({vattrs:e.h,vchildren:e.m,vkey:e.g,vname:e.v,vtag:e.k,vtext:e.p}),R=e=>{if("function"==typeof e.vtag){const t=Object.assign({},e.vattrs);return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),S(e.vtag,t,...e.vchildren||[])}const t=O(e.vtag,e.vtext);return t.h=e.vattrs,t.m=e.vchildren,t.g=e.vkey,t.v=e.vname,t},_=(e,t,l,n,o,s)=>{if(l!==n){let r=ye(e,t),i=t.toLowerCase();if("class"===t){const t=e.classList,o=T(l),s=T(n);t.remove(...o.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in l)n&&null!=n[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in n)l&&n[t]===l[t]||(t.includes("-")?e.style.setProperty(t,n[t]):e.style[t]=n[t])}else if("key"===t);else if("ref"===t)n&&n(e);else if(r||"o"!==t[0]||"n"!==t[1]){const c=j(n);if((r||c&&null!==n)&&!o)try{if(e.tagName.includes("-"))e[t]=n;else{let o=null==n?"":n;"list"===t?r=!1:null!=l&&e[t]==o||(e[t]=o)}}catch(e){}let f=!1;i!==(i=i.replace(/^xlink\:?/,""))&&(t=i,f=!0),null==n||!1===n?!1===n&&""!==e.getAttribute(t)||(f?e.removeAttributeNS(w,t):e.removeAttribute(t)):(!r||4&s||o)&&!c&&(n=!0===n?"":n,f?e.setAttributeNS(w,t,n):e.setAttribute(t,n))}else t="-"===t[2]?t.slice(3):ye(f,i)?i.slice(2):i[2]+t.slice(3),l&&d.rel(e,t,l,!1),n&&d.ael(e,t,n,!1)}},P=/\s/,T=e=>e?e.split(P):[],E=(e,t,l,n)=>{const o=11===t.j.nodeType&&t.j.host?t.j.host:t.j,s=e&&e.h||k,r=t.h||k;for(n in s)n in r||_(o,n,s[n],void 0,l,t.t);for(n in r)_(o,n,s[n],r[n],l,t.t)},L=(e,o,i)=>{let c,f,a,d=o.m[i],$=0;if(n||(s=!0,"slot"===d.k&&(d.t|=d.m?2:1)),null!==d.p)c=d.j=u.createTextNode(d.p);else if(1&d.t)c=d.j=u.createTextNode("");else{if(r||(r="svg"===d.k),c=d.j=u.createElementNS(r?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",2&d.t?"slot-fb":d.k),r&&"foreignObject"===d.k&&(r=!1),E(null,d,r),d.m)for($=0;$<d.m.length;++$)f=L(e,d,$),f&&c.appendChild(f);"svg"===d.k?r=!1:"foreignObject"===c.tagName&&(r=!0)}return c["s-hn"]=l,3&d.t&&(c["s-sr"]=!0,c["s-cr"]=t,c["s-sn"]=d.v||"",a=e&&e.m&&e.m[i],a&&a.k===d.k&&e.j&&W(e.j,!1)),c},W=(e,t)=>{d.t|=1;const n=e.childNodes;for(let e=n.length-1;e>=0;e--){const o=n[e];o["s-hn"]!==l&&o["s-ol"]&&(H(o).insertBefore(o,F(o)),o["s-ol"].remove(),o["s-ol"]=void 0,s=!0),t&&W(o,t)}d.t&=-2},N=(e,t,l,n,o,s)=>{let r,i=e["s-cr"]&&e["s-cr"].parentNode||e;for(;o<=s;++o)n[o]&&(r=L(null,l,o),r&&(n[o].j=r,i.insertBefore(r,F(t))))},A=(e,t,l,n,s)=>{for(;t<=l;++t)(n=e[t])&&(s=n.j,G(n),o=!0,s["s-ol"]?s["s-ol"].remove():W(s,!0),s.remove())},D=(e,t)=>e.k===t.k&&("slot"===e.k?e.v===t.v:e.g===t.g),F=e=>e&&e["s-ol"]||e,H=e=>(e["s-ol"]?e["s-ol"]:e).parentNode,U=(e,t)=>{const l=t.j=e.j,n=e.m,o=t.m,s=t.k,i=t.p;let c;null===i?(r="svg"===s||"foreignObject"!==s&&r,"slot"===s||E(e,t,r),null!==n&&null!==o?((e,t,l,n)=>{let o,s,r=0,i=0,c=0,f=0,a=t.length-1,u=t[0],d=t[a],$=n.length-1,p=n[0],y=n[$];for(;r<=a&&i<=$;)if(null==u)u=t[++r];else if(null==d)d=t[--a];else if(null==p)p=n[++i];else if(null==y)y=n[--$];else if(D(u,p))U(u,p),u=t[++r],p=n[++i];else if(D(d,y))U(d,y),d=t[--a],y=n[--$];else if(D(u,y))"slot"!==u.k&&"slot"!==y.k||W(u.j.parentNode,!1),U(u,y),e.insertBefore(u.j,d.j.nextSibling),u=t[++r],y=n[--$];else if(D(d,p))"slot"!==u.k&&"slot"!==y.k||W(d.j.parentNode,!1),U(d,p),e.insertBefore(d.j,u.j),d=t[--a],p=n[++i];else{for(c=-1,f=r;f<=a;++f)if(t[f]&&null!==t[f].g&&t[f].g===p.g){c=f;break}c>=0?(s=t[c],s.k!==p.k?o=L(t&&t[i],l,c):(U(s,p),t[c]=void 0,o=s.j),p=n[++i]):(o=L(t&&t[i],l,i),p=n[++i]),o&&H(u.j).insertBefore(o,F(u.j))}r>a?N(e,null==n[$+1]?null:n[$+1].j,l,n,i,$):i>$&&A(t,r,a)})(l,n,t,o):null!==o?(null!==e.p&&(l.textContent=""),N(l,null,t,o,0,o.length-1)):null!==n&&A(n,0,n.length-1),r&&"svg"===s&&(r=!1)):(c=l["s-cr"])?c.parentNode.textContent=i:e.p!==i&&(l.data=i)},q=e=>{let t,l,n,o,s,r,i=e.childNodes;for(l=0,n=i.length;l<n;l++)if(t=i[l],1===t.nodeType){if(t["s-sr"])for(s=t["s-sn"],t.hidden=!1,o=0;o<n;o++)if(r=i[o].nodeType,i[o]["s-hn"]!==t["s-hn"]||""!==s){if(1===r&&s===i[o].getAttribute("slot")){t.hidden=!0;break}}else if(1===r||3===r&&""!==i[o].textContent.trim()){t.hidden=!0;break}q(t)}},V=[],z=e=>{let t,l,n,s,r,i,c=0,f=e.childNodes,a=f.length;for(;c<a;c++){if(t=f[c],t["s-sr"]&&(l=t["s-cr"])&&l.parentNode)for(n=l.parentNode.childNodes,s=t["s-sn"],i=n.length-1;i>=0;i--)l=n[i],l["s-cn"]||l["s-nr"]||l["s-hn"]===t["s-hn"]||(B(l,s)?(r=V.find((e=>e.S===l)),o=!0,l["s-sn"]=l["s-sn"]||s,r?r.O=t:V.push({O:t,S:l}),l["s-sr"]&&V.map((e=>{B(e.S,l["s-sn"])&&(r=V.find((e=>e.S===l)),r&&!e.O&&(e.O=r.O))}))):V.some((e=>e.S===l))||V.push({S:l}));1===t.nodeType&&z(t)}},B=(e,t)=>1===e.nodeType?null===e.getAttribute("slot")&&""===t||e.getAttribute("slot")===t:e["s-sn"]===t||""===t,G=e=>{e.h&&e.h.ref&&e.h.ref(null),e.m&&e.m.map(G)},I=e=>de(e).C,J=(e,t,l)=>{const n=I(e);return{emit:e=>K(n,t,{bubbles:!!(4&l),composed:!!(2&l),cancelable:!!(1&l),detail:e})}},K=(e,t,l)=>{const n=d.ce(t,l);return e.dispatchEvent(n),n},Q=(e,t)=>{t&&!e.M&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.M=t)))},X=(e,t)=>{if(e.t|=16,!(4&e.t))return Q(e,e.R),Ce((()=>Y(e,t)));e.t|=512},Y=(e,t)=>{const l=e.i;let n;return t&&(e.t|=256,e.u&&(e.u.map((([e,t])=>se(l,e,t))),e.u=null),n=se(l,"componentWillLoad")),n=re(n,(()=>se(l,"componentWillRender"))),re(n,(()=>Z(e,l,t)))},Z=async(e,t,l)=>{const n=e.C,o=n["s-rc"];l&&(e=>{const t=e._;((e,t)=>{let l=v(t),n=we.get(l);if(e=11===e.nodeType?e:u,n)if("string"==typeof n){let t,o=g.get(e=e.head||e);o||g.set(e,o=new Set),o.has(l)||(t=u.createElement("style"),t.innerHTML=n,e.insertBefore(t,e.querySelector("link")),o&&o.add(l))}else e.adoptedStyleSheets.includes(n)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,n])})(e.C.getRootNode(),t)})(e);ee(e,t),o&&(o.map((e=>e())),n["s-rc"]=void 0);{const t=n["s-p"],l=()=>le(e);0===t.length?l():(Promise.all(t).then(l),e.t|=4,t.length=0)}},ee=(e,r)=>{try{i=r,r=r.render&&r.render(),e.t&=-17,e.t|=2,((e,r)=>{const i=e.C,c=e._,f=e.P||O(null,null),a=(e=>e&&e.k===C)(r)?r:S(null,null,r);if(l=i.tagName,c.T&&(a.h=a.h||{},c.T.map((([e,t])=>a.h[t]=i[e]))),a.k=null,a.t|=4,e.P=a,a.j=f.j=i,t=i["s-cr"],n=0!=(1&c.t),o=!1,U(f,a),d.t|=1,s){let e,t,l,n,o,s;z(a.j);let r=0;for(;r<V.length;r++)e=V[r],t=e.S,t["s-ol"]||(l=u.createTextNode(""),l["s-nr"]=t,t.parentNode.insertBefore(t["s-ol"]=l,t));for(r=0;r<V.length;r++)if(e=V[r],t=e.S,e.O){for(n=e.O.parentNode,o=e.O.nextSibling,l=t["s-ol"];l=l.previousSibling;)if(s=l["s-nr"],s&&s["s-sn"]===t["s-sn"]&&n===s.parentNode&&(s=s.nextSibling,!s||!s["s-nr"])){o=s;break}(!o&&n!==t.parentNode||t.nextSibling!==o)&&t!==o&&(!t["s-hn"]&&t["s-ol"]&&(t["s-hn"]=t["s-ol"].parentNode.nodeName),n.insertBefore(t,o))}else 1===t.nodeType&&(t.hidden=!0)}o&&q(a.j),d.t&=-2,V.length=0})(e,r)}catch(t){he(t,e.C)}return i=null,null},te=()=>i,le=e=>{const t=e.C,l=e.i,n=e.R;se(l,"componentDidRender"),64&e.t||(e.t|=64,ie(t),se(l,"componentDidLoad"),e.L(t),n||oe()),e.W(t),e.M&&(e.M(),e.M=void 0),512&e.t&&Oe((()=>X(e,!1))),e.t&=-517},ne=e=>{{const t=de(e),l=t.C.isConnected;return l&&2==(18&t.t)&&X(t,!1),l}},oe=()=>{ie(u.documentElement),Oe((()=>K(f,"appload",{detail:{namespace:"revo-grid"}})))},se=(e,t,l)=>{if(e&&e[t])try{return e[t](l)}catch(e){he(e)}},re=(e,t)=>e&&e.then?e.then(t):t(),ie=e=>e.classList.add("hydrated"),ce=(e,t,l)=>{if(t.N){e.watchers&&(t.A=e.watchers);const n=Object.entries(t.N),o=e.prototype;if(n.map((([e,[n]])=>{31&n||2&l&&32&n?Object.defineProperty(o,e,{get(){return((e,t)=>de(this).D.get(t))(0,e)},set(l){((e,t,l,n)=>{const o=de(e),s=o.C,r=o.D.get(t),i=o.t,c=o.i;if(l=((e,t)=>null==e||j(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e)(l,n.N[t][0]),!(8&i&&void 0!==r||l===r)&&(o.D.set(t,l),c)){if(n.A&&128&i){const e=n.A[t];e&&e.map((e=>{try{c[e](l,r,t)}catch(e){he(e,s)}}))}2==(18&i)&&X(o,!1)}})(this,e,l,t)},configurable:!0,enumerable:!0}):1&l&&64&n&&Object.defineProperty(o,e,{value(...t){const l=de(this);return l.F.then((()=>l.i[e](...t)))}})})),1&l){const l=new Map;o.attributeChangedCallback=function(e,t,n){d.jmp((()=>{const t=l.get(e);this[t]=(null!==n||"boolean"!=typeof this[t])&&n}))},e.observedAttributes=n.filter((([e,t])=>15&t[0])).map((([e,n])=>{const o=n[1]||e;return l.set(o,e),512&n[0]&&t.T.push([e,o]),o}))}}return e},fe=e=>{se(e,"connectedCallback")},ae=(e,t={})=>{const l=[],n=t.exclude||[],o=f.customElements,s=u.head,r=s.querySelector("meta[charset]"),i=u.createElement("style"),c=[];let a,$=!0;Object.assign(d,t),d.l=new URL(t.resourcesUrl||"./",u.baseURI).href,e.map((e=>e[1].map((t=>{const s={t:t[0],$:t[1],N:t[2],H:t[3]};s.N=t[2],s.H=t[3],s.T=[],s.A={};const r=s.$,i=class extends HTMLElement{constructor(e){super(e),pe(e=this,s)}connectedCallback(){a&&(clearTimeout(a),a=null),$?c.push(this):d.jmp((()=>(e=>{if(0==(1&d.t)){const t=de(e),l=t._,n=()=>{};if(1&t.t)y(e,t,l.H),fe(t.i);else{t.t|=1,12&l.t&&(e=>{const t=e["s-cr"]=u.createComment("");t["s-cn"]=!0,e.insertBefore(t,e.firstChild)})(e);{let l=e;for(;l=l.parentNode||l.host;)if(l["s-p"]){Q(t,t.R=l);break}}l.N&&Object.entries(l.N).map((([t,[l]])=>{if(31&l&&e.hasOwnProperty(t)){const l=e[t];delete e[t],e[t]=l}})),Oe((()=>(async(e,t,l,n,o)=>{if(0==(32&t.t)){{if(t.t|=32,(o=me(l)).then){const e=()=>{};o=await o,e()}o.isProxied||(l.A=o.watchers,ce(o,l,2),o.isProxied=!0);const e=()=>{};t.t|=8;try{new o(t)}catch(e){he(e)}t.t&=-9,t.t|=128,e(),fe(t.i)}if(o.style){let e=o.style;const t=v(l);if(!we.has(t)){const n=()=>{};((e,t,l)=>{let n=we.get(e);p&&l?(n=n||new CSSStyleSheet,n.replace(t)):n=t,we.set(e,n)})(t,e,!!(1&l.t)),n()}}}const s=t.R,r=()=>X(t,!0);s&&s["s-rc"]?s["s-rc"].push(r):r()})(0,t,l)))}n()}})(this)))}disconnectedCallback(){d.jmp((()=>(()=>{if(0==(1&d.t)){const e=de(this),t=e.i;e.o&&(e.o.map((e=>e())),e.o=void 0),se(t,"disconnectedCallback")}})()))}componentOnReady(){return de(this).U}};s.q=e[0],n.includes(r)||o.get(r)||(l.push(r),o.define(r,ce(i,s,1)))})))),i.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",i.setAttribute("data-styles",""),s.insertBefore(i,r?r.nextSibling:s.firstChild),$=!1,c.length?c.map((e=>e.connectedCallback())):d.jmp((()=>a=setTimeout(oe,30)))},ue=new WeakMap,de=e=>ue.get(e),$e=(e,t)=>ue.set(t.i=e,t),pe=(e,t)=>{const l={t:0,C:e,_:t,D:new Map};return l.F=new Promise((e=>l.W=e)),l.U=new Promise((e=>l.L=e)),e["s-p"]=[],e["s-rc"]=[],y(e,l,t.H),ue.set(e,l)},ye=(e,t)=>t in e,he=(e,t)=>(0,console.error)(e,t),be=new Map,me=e=>{const t=e.$.replace(/-/g,"_"),l=e.q,n=be.get(l);return n?n[t]:__sc_import_revo_grid(`./${l}.entry.js`).then((e=>(be.set(l,e),e[t])),he)},we=new Map,ge=[],ve=[],ke=(e,t)=>l=>{e.push(l),c||(c=!0,t&&4&d.t?Oe(Se):d.raf(Se))},je=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){he(e)}e.length=0},Se=()=>{je(ge),je(ve),(c=ge.length>0)&&d.raf(Se)},Oe=e=>$().then(e),Ce=ke(ve,!0);export{a as C,C as H,e as N,$ as a,ae as b,J as c,u as d,I as e,ne as f,te as g,S as h,d as p,$e as r,f as w}