EmbyCrackedClient/web/modules/polyfills/custom-elements-builtin.js
2025-06-25 11:46:04 +08:00

1 line
No EOL
6.8 KiB
JavaScript

var attributesObserver=(whenDefined,MutationObserver)=>{let attributeChanged=records=>{for(let i=0,length=records.length;i<length;i++)dispatch(records[i])},dispatch=({target,attributeName,oldValue})=>{target.attributeChangedCallback(attributeName,oldValue,target.getAttribute(attributeName))};return(target,is)=>{let attributeFilter=target.constructor.observedAttributes;return attributeFilter&&whenDefined(is).then(()=>{new MutationObserver(attributeChanged).observe(target,{attributes:!0,attributeOldValue:!0,attributeFilter:attributeFilter});for(let i=0,length=attributeFilter.length;i<length;i++)target.hasAttribute(attributeFilter[i])&&dispatch({target:target,attributeName:attributeFilter[i],oldValue:null})}),target}};let keys=Object.keys,expando=element=>{let key=keys(element),value=[],ignore=new Set,length=key.length;for(let i=0;i<length;i++){value[i]=element[key[i]];try{delete element[key[i]]}catch(SafariTP){ignore.add(i)}}return()=>{for(let i=0;i<length;i++)ignore.has(i)||(element[key[i]]=value[i])}},TRUE=!0,FALSE=!1,QSA$1="querySelectorAll",notify=(callback,root=document,MO=MutationObserver,query=["*"])=>{let loop=(nodes,selectors,added,removed,connected,pass)=>{for(var node of nodes)(pass||QSA$1 in node)&&(connected?added.has(node)||(added.add(node),removed.delete(node),callback(node,connected)):removed.has(node)||(removed.add(node),added.delete(node),callback(node,connected)),pass||loop(node[QSA$1](selectors),selectors,added,removed,connected,TRUE))},mo=new MO(records=>{if(query.length){var addedNodes,removedNodes,selectors=query.join(","),added=new Set,removed=new Set;for({addedNodes,removedNodes}of records)loop(removedNodes,selectors,added,removed,FALSE,FALSE),loop(addedNodes,selectors,added,removed,TRUE,FALSE)}}),observe=mo.observe;return(mo.observe=node=>observe.call(mo,node,{subtree:TRUE,childList:TRUE}))(root),mo},QSA="querySelectorAll",{document:document$2,Element:Element$1,MutationObserver:MutationObserver$2,Set:Set$2,WeakMap:WeakMap$1}=self,elements=element=>QSA in element,filter=[].filter;var qsaObserver=options=>{let live=new WeakMap$1;let notifier=(element,connected)=>{let selectors;if(connected)for(let q,m=(element=>element.matches||element.webkitMatchesSelector||element.msMatchesSelector)(element),i=0,length=query.length;i<length;i++)m.call(element,q=query[i])&&(live.has(element)||live.set(element,new Set$2),(selectors=live.get(element)).has(q)||(selectors.add(q),options.handle(element,connected,q)));else live.has(element)&&(selectors=live.get(element),live.delete(element),selectors.forEach(q=>{options.handle(element,connected,q)}))},parse=(elements,connected=!0)=>{for(let i=0,length=elements.length;i<length;i++)notifier(elements[i],connected)},query=options.query;var root=options.root||document$2;let observer=notify(notifier,root,MutationObserver$2,query),attachShadow=Element$1.prototype.attachShadow;return attachShadow&&(Element$1.prototype.attachShadow=function(init){init=attachShadow.call(this,init);return observer.observe(init),init}),query.length&&parse(root[QSA](query)),{drop:elements=>{for(let i=0,length=elements.length;i<length;i++)live.delete(elements[i])},flush:()=>{var records=observer.takeRecords();for(let i=0,length=records.length;i<length;i++)parse(filter.call(records[i].removedNodes,elements),!1),parse(filter.call(records[i].addedNodes,elements),!0)},observer:observer,parse:parse}};let{customElements,document:document$1,Element,MutationObserver:MutationObserver$1,Object:Object$1,Promise:Promise$1,Map,Set:Set$1,WeakMap,Reflect}=self,createElement=document$1.createElement,{define,get,upgrade}=customElements,construct=(Reflect||{construct(HTMLElement){return HTMLElement.call(this)}}).construct,{defineProperty,getOwnPropertyNames,setPrototypeOf}=Object$1,shadowRoots=new WeakMap,shadows=new Set$1,classes=new Map,defined=new Map,prototypes=new Map,registry=new Map,shadowed=[],query=[],getCE=is=>registry.get(is)||get.call(customElements,is),handle=(element,connected,selector)=>{selector=prototypes.get(selector);if(connected&&!selector.isPrototypeOf(element)){var redefine=expando(element);override=setPrototypeOf(element,selector);try{new selector.constructor}finally{override=null,redefine()}}redefine=`${connected?"":"dis"}connectedCallback`;redefine in selector&&element[redefine]()},parse=qsaObserver({query:query,handle:handle}).parse,parseShadowed=qsaObserver({query:shadowed,handle(element,connected){shadowRoots.has(element)&&(connected?shadows.add(element):shadows.delete(element),query.length)&&parseShadow.call(query,element)}}).parse,attachShadow=Element.prototype.attachShadow,whenDefined=(attachShadow&&(Element.prototype.attachShadow=function(init){init=attachShadow.call(this,init);return shadowRoots.set(this,init),init}),name=>{if(!defined.has(name)){let _,$=new Promise$1($=>{_=$});defined.set(name,{$:$,_:_})}return defined.get(name).$}),augment=attributesObserver(whenDefined,MutationObserver$1),override=null;function parseShadow(element){var root=shadowRoots.get(element);parse(root.querySelectorAll(this),element.isConnected)}getOwnPropertyNames(self).filter(k=>/^HTML.*Element$/.test(k)).forEach(k=>{let HTMLElement=self[k];function HTMLBuiltIn(){var is,tag,constructor=this.constructor;if(classes.has(constructor))return{is,tag}=classes.get(constructor),is?override?augment(override,is):((tag=createElement.call(document$1,tag)).setAttribute("is",is),augment(setPrototypeOf(tag,constructor.prototype),is)):construct.call(this,HTMLElement,[],constructor);throw new TypeError("Illegal constructor")}setPrototypeOf(HTMLBuiltIn,HTMLElement),defineProperty(HTMLBuiltIn.prototype=HTMLElement.prototype,"constructor",{value:HTMLBuiltIn}),defineProperty(self,k,{value:HTMLBuiltIn})}),document$1.createElement=function(name,options){options=options&&options.is;if(options){var Class=registry.get(options);if(Class&&classes.get(Class).tag===name)return new Class}Class=createElement.call(document$1,name);return options&&Class.setAttribute("is",options),Class},customElements.get=getCE,customElements.whenDefined=whenDefined,customElements.upgrade=function(element){var is=element.getAttribute("is");if(is){var constructor=registry.get(is);if(constructor)return void augment(setPrototypeOf(element,constructor.prototype),is)}upgrade.call(customElements,element)},customElements.define=function(is,Class,options){if(getCE(is))throw new Error(`'${is}' has already been defined as a custom element`);let selector,tag=options&&options.extends;classes.set(Class,tag?{is:is,tag:tag}:{is:"",tag:is}),tag?(selector=tag+`[is="${is}"]`,prototypes.set(selector,Class.prototype),registry.set(is,Class),query.push(selector)):(define.apply(customElements,arguments),shadowed.push(selector=is)),whenDefined(is).then(()=>{tag?(parse(document$1.querySelectorAll(selector)),shadows.forEach(parseShadow,[selector])):parseShadowed(document$1.querySelectorAll(selector))}),defined.get(is)._(Class)};export default customElements;