@webreflection/elements-utils
Version:
regular/wicked elements common utilities
2 lines (1 loc) • 1.87 kB
JavaScript
self.elementsUtils=function(e){"use strict";var t=(e,t,r)=>{const l=new WeakMap,o=new WeakMap,{filter:a}=[],c=(e,t)=>{for(let n=0,{length:r}=e;n<r;n++){const{target:r,attributeName:l,oldValue:a}=e[n],c=r.getAttribute(l);o.get(t).call(r,l,a,c)}},s=e=>"querySelectorAll"in e,i=e=>{if(r.length)for(let t=0,{length:n}=e;t<n;t++){const{addedNodes:n,removedNodes:r}=e[t];u(a.call(n,s),"c",new Set),u(a.call(r,s),"d",new Set)}},u=(e,o,a)=>{for(let c=0,{length:s}=e;c<s;c++){const s=e[c];a.has(s)||(a.add(s),l.has(s)?l.get(s)[o].forEach(n,s):"c"===o&&t(s),u(s.querySelectorAll(r),o,a))}},d=new MutationObserver(i);return d.observe(e,{childList:!0,subtree:!0}),(e,{connectedCallback:t,disconnectedCallback:n,observedAttributes:r,attributeChangedCallback:a})=>{i(d.takeRecords());const{c:s,d:u}=l.get(e)||(e=>{const t={c:new Set,d:new Set};return l.set(e,t),t})(e);if(r){const t=new MutationObserver(c);t.observe(e,{attributes:!0,attributeOldValue:!0,attributeFilter:r.map(t=>(e.hasAttribute(t)&&a.call(e,t,null,e.getAttribute(t)),t))}),o.set(t,a)}return n&&u.add(n),t&&(s.add(t),e.ownerDocument.compareDocumentPosition(e)&e.DOCUMENT_POSITION_DISCONNECTED||t.call(e)),e}};function n(e){e.call(this)}const r="function"==typeof Promise?Promise:function(e){let t=[],n=0;return e(()=>{n=1,t.splice(0).forEach(r)}),{then:r};function r(e){return n?setTimeout(e):t.push(e),this}};return e.default=(e,n,l,o,a)=>{const c=(e,t)=>{for(let n=0,{length:r}=e;n<r;n++)t.has(e[n])||(t.add(e[n]),s(e[n],t))},s=(e,t)=>{for(let t=0,{length:r}=n;t<r;t++)(e.matches||e.webkitMatchesSelector||e.msMatchesSelector).call(e,n[t])&&a(e,l[t]);t&&((e,t)=>{n.length&&c(e.querySelectorAll(n),t)})(e,t)};return{get:e=>{const t=n.indexOf(e);return t<0?void 0:l[t].o},upgrade:e=>{s(e,new Set)},whenDefined:e=>{if(!(e in o)){let t,n=new r(e=>{t=e});o[e]={_:t,$:n}}return o[e].$},$:c,_:t(e,s,n)}},e}({}).default;