@domphy/theme 0.1.21 → 0.2.0

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.
@@ -1,6 +1,6 @@
1
- "use strict";var Domphy=(()=>{var B=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var me=Object.getOwnPropertyNames;var ce=Object.prototype.hasOwnProperty;var I=(e,t)=>{for(var s in t)B(e,s,{get:t[s],enumerable:!0})},pe=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of me(t))!ce.call(e,r)&&r!==s&&B(e,r,{get:()=>t[r],enumerable:!(i=de(t,r))||i.enumerable});return e};var ye=e=>pe(B({},"__esModule",{value:!0}),e);var Xe={};I(Xe,{core:()=>L,theme:()=>M});var L={};I(L,{AttributeList:()=>ne,BooleanAttributes:()=>P,CamelAttributes:()=>ie,ElementList:()=>re,ElementNode:()=>m,HtmlTags:()=>D,Notifier:()=>R,PrefixCSS:()=>v,RecordState:()=>Be,State:()=>A,SvgTags:()=>se,VoidTags:()=>Le,hashString:()=>Y,merge:()=>E,r:()=>Se,toState:()=>Ee});var be=Object.defineProperty,q=Object.getOwnPropertySymbols,ge=Object.prototype.hasOwnProperty,ve=Object.prototype.propertyIsEnumerable,K=(e,t,s)=>t in e?be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,J=(e,t)=>{for(var s in t||(t={}))ge.call(t,s)&&K(e,s,t[s]);if(q)for(var s of q(t))ve.call(t,s)&&K(e,s,t[s]);return e},_e=["onAbort","onAuxClick","onBeforeMatch","onBeforeToggle","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLoad","onLoadedData","onLoadedMetadata","onLoadStart","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPaste","onPause","onPlay","onPlaying","onProgress","onRateChange","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onSubmit","onSuspend","onTimeUpdate","onToggle","onVolumeChange","onWaiting","onWheel","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onCompositionStart","onCompositionUpdate","onCompositionEnd","onTransitionEnd","onTransitionStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onFullscreenChange","onFullscreenError","onFocusIn","onFocusOut"],ke=_e.reduce((e,t)=>{let s=t.slice(2).toLowerCase();return e[s]=t,e},{}),D=["a","abbr","address","article","aside","audio","b","base","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","i","iframe","img","input","ins","kbd","label","legend","li","main","map","mark","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","slot","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","bdi","bdo","math","menu","search","area","embed","hr","animate","animateMotion","animateTransform","circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","prefetch","radialGradient","rect","set","solidColor","stop","svg","switch","symbol","tbreak","text","textPath","tspan","use","view"],b=[],we=typeof queueMicrotask=="function"?queueMicrotask:e=>{Promise.resolve().then(e).catch(t=>{setTimeout(()=>{throw t},0)})},R=class{constructor(){this._listeners={},this._pending=new Map,this._scheduled=!1}_dispose(){if(this._listeners)for(let e in this._listeners)this._listeners[e].clear();this._listeners=null}addListener(e,t){if(!this._listeners)return()=>{};if(typeof e!="string"||typeof t!="function")throw new Error("Event name must be a string, listener must be a function");this._listeners[e]||(this._listeners[e]=new Set);let s=()=>this.removeListener(e,t);return this._listeners[e].has(t)||(this._listeners[e].add(t),typeof t.onSubscribe=="function"&&t.onSubscribe(s)),s}removeListener(e,t){if(!this._listeners)return;let s=this._listeners[e];s&&s.has(t)&&(s.delete(t),s.size===0&&delete this._listeners[e])}notify(e,...t){this._listeners&&this._listeners[e]&&(this._isCircular(e)||(this._pending.set(e,{args:t,chain:[...b]}),this._scheduled||(this._scheduled=!0,we(()=>this._flushAll()))))}_isCircular(e){let t=b.findIndex(([i,r])=>i===this&&r===e);if(t===-1)return!1;let s=[...b.slice(t).map(([,i])=>i),e];return console.error(`[Domphy] Circular dependency detected:
2
- ${s.join(" \u2192 ")}`),!0}_flushAll(){this._scheduled=!1;let e=this._pending;this._pending=new Map;for(let[t,{args:s,chain:i}]of e)b=i,this._flush(t,s);b=[]}_flush(e,t){if(!this._listeners)return;let s=this._listeners[e];if(s){b.push([this,e]);for(let i of[...s])if(s.has(i))try{i(...t)}catch(r){console.error(r)}b.pop()}}},A=class{constructor(e,t=typeof e){this.name=t,this._isState=!0,this._notifier=new R,this.initialValue=e,this._value=e}get(e){return e&&this.addListener(e),this._value}set(e){this._notifier&&(this._value=e,this._notifier.notify(this.name,e))}reset(){this.set(this.initialValue)}addListener(e){return this._notifier?this._notifier.addListener(this.name,e):()=>{}}removeListener(e){this._notifier&&this._notifier.removeListener(this.name,e)}_dispose(){this._notifier&&(this._notifier._dispose(),this._notifier=null)}};function E(e={},t={}){let s=["animation","transition","boxShadow","textShadow","background","fontFamily"],i=["class","rel","transform","acceptCharset","sandbox"],r=["content"];Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t)===Object.prototype&&(t=_(t));for(let n in t){let o=t[n];if(!(o==null||o===""))if(typeof o=="object"&&!Array.isArray(o))typeof e[n]=="object"?e[n]=E(e[n],o):e[n]=o;else if(s.includes(n))if(typeof e[n]=="function"||typeof o=="function"){let a=e[n];e[n]=l=>{let h=typeof a=="function"?a(l):a,f=typeof o=="function"?o(l):o;return[h,f].filter(u=>u).join(", ")}}else e[n]=[e[n],o].filter(a=>a).join(", ");else if(r.includes(n))if(typeof e[n]=="function"||typeof o=="function"){let a=e[n];e[n]=l=>{let h=typeof a=="function"?a(l):a,f=typeof o=="function"?o(l):o;return[h,f].filter(u=>u).join("")}}else e[n]=[e[n],o].filter(a=>a).join("");else if(i.includes(n))if(typeof e[n]=="function"||typeof o=="function"){let a=e[n];e[n]=l=>{let h=typeof a=="function"?a(l):a,f=typeof o=="function"?o(l):o;return[h,f].filter(u=>u).join(" ")}}else e[n]=[e[n],o].filter(a=>a).join(" ");else if(n.startsWith("on")){let a=n.replace("on","").toLowerCase();Te(e,a,o)}else if(n.startsWith("_on")){let a=n.replace("_on","");xe(e,a,o)}else e[n]=o}return e}function Y(e=""){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=t*16777619>>>0;return String.fromCharCode(97+t%26)+t.toString(16)}function Ee(e,t){return e instanceof A||e!=null&&e._isState?e:new A(e,t)}function Se(e){return e}function xe(e,t,s){let i=`_on${t}`,r=e[i];typeof r=="function"?e[i]=(...n)=>{r(...n),s(...n)}:e[i]=s}function Te(e,t,s){let i=ke[t];if(!i)throw Error(`invalid event name "${t}"`);let r=e[i];typeof r=="function"?e[i]=(n,o)=>{r(n,o),s(n,o)}:e[i]=s}function _(e,t=new WeakMap){if(e===null||typeof e!="object"||typeof e=="function")return e;if(t.has(e))return t.get(e);let s=Object.getPrototypeOf(e);if(s!==Object.prototype&&!Array.isArray(e))return e;let i;if(Array.isArray(e)){i=[],t.set(e,i);for(let r of e)i.push(_(r,t));return i}if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(e instanceof Map){i=new Map,t.set(e,i);for(let[r,n]of e)i.set(_(r,t),_(n,t));return i}if(e instanceof Set){i=new Set,t.set(e,i);for(let r of e)i.add(_(r,t));return i}if(ArrayBuffer.isView(e))return new e.constructor(e);if(e instanceof ArrayBuffer)return e.slice(0);i=Object.create(s),t.set(e,i);for(let r of Reflect.ownKeys(e))i[r]=_(e[r],t);return i}function Z(e,t=!1){if(Object.prototype.toString.call(e)!=="[object Object]")throw Error(`typeof ${e} is invalid DomphyElement`);let s=Object.keys(e);for(let i=0;i<s.length;i++){let r=s[i],n=e[r];if(i==0&&!D.includes(r)&&!r.includes("-")&&!t)throw Error(`key ${r} is not valid HTML tag name`);if(r=="style"&&n&&Object.prototype.toString.call(n)!=="[object Object]")throw Error('"style" must be a object');if(r=="$")e.$.forEach(o=>Z(o,!0));else{if(r.startsWith("_on")&&typeof n!="function")throw Error(`hook ${r} value "${n}" must be a function `);if(r.startsWith("on")&&typeof n!="function")throw Error(`event ${r} value "${n}" must be a function `);if(r=="_portal"&&typeof n!="function")throw Error('"_portal" must be a function return HTMLElement');if(r=="_context"&&Object.prototype.toString.call(n)!=="[object Object]")throw Error('"_context" must be a object');if(r=="_metadata"&&Object.prototype.toString.call(n)!=="[object Object]")throw Error('"_metadata" must be a object');if(r=="_key"&&typeof n!="string"&&typeof n!="number")throw Error('"_key" must be a string or number')}}return!0}function Ne(e){return/<([a-z][\w-]*)(\s[^>]*)?>.*<\/\1>|<([a-z][\w-]*)(\s[^>]*)?\/>/i.test(e.trim())}function X(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function Ce(e){return Object.keys(e).find(t=>D.includes(t))}function Q(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Re(e){if(e.indexOf("@")===0)return[e];for(var t=[],s=0,i=0,r="",n=0,o=e.length;n<o;n++){var a=e[n];if(a==="(")s+=1;else if(a===")")s-=1;else if(a==="[")i+=1;else if(a==="]")i-=1;else if(a===","&&!s&&!i){t.push(r.trim()),r="";continue}r+=a}return t.push(r.trim()),t}function ee(e){var t;let s=e.querySelector("#domphy-style");return s||(s=document.createElement("style"),s.id="domphy-style",e.appendChild(s)),s.dataset.domphyBase!=="true"&&((t=s.sheet)==null||t.insertRule("[hidden] { display: none !important; }",0),s.dataset.domphyBase="true"),s}var te=e=>{if(Array.isArray(e.$)){let t={};return e.$.forEach(s=>E(t,te(s))),delete e.$,E(t,e),t}else return e},Le=["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"],se=["svg","circle","path","rect","ellipse","line","polyline","polygon","g","defs","use","symbol","linearGradient","radialGradient","stop","clipPath","mask","filter","text","tspan","textPath","image","pattern","marker","animate","animateTransform","animateMotion","feGaussianBlur","feComposite","feColorMatrix","feMerge","feMergeNode","feOffset","feFlood","feBlend","foreignObject"],P=["allowFullScreen","async","autoFocus","autoPlay","checked","compact","contentEditable","controls","declare","default","defer","disabled","formNoValidate","hidden","isMap","itemScope","loop","multiple","muted","noHref","noShade","noValidate","open","playsInline","readonly","required","reversed","scoped","selected","sortable","trueSpeed","typeMustMatch","wmode","autoCapitalize","translate","spellCheck","inert","download","noModule","paused","autoPictureInPicture"],v={transform:["webkit","ms"],transition:["webkit","ms"],animation:["webkit"],userSelect:["webkit","ms"],flexDirection:["webkit","ms"],flexWrap:["webkit","ms"],justifyContent:["webkit","ms"],alignItems:["webkit","ms"],alignSelf:["webkit","ms"],order:["webkit","ms"],flexGrow:["webkit","ms"],flexShrink:["webkit","ms"],flexBasis:["webkit","ms"],columns:["webkit"],columnCount:["webkit"],columnGap:["webkit"],columnRule:["webkit"],columnWidth:["webkit"],boxSizing:["webkit"],appearance:["webkit","moz"],filter:["webkit"],backdropFilter:["webkit"],clipPath:["webkit"],mask:["webkit"],maskImage:["webkit"],textSizeAdjust:["webkit","ms"],hyphens:["webkit","ms"],writingMode:["webkit","ms"],gridTemplateColumns:["ms"],gridTemplateRows:["ms"],gridAutoColumns:["ms"],gridAutoRows:["ms"],gridColumn:["ms"],gridRow:["ms"],marginInlineStart:["webkit"],marginInlineEnd:["webkit"],paddingInlineStart:["webkit"],paddingInlineEnd:["webkit"],minInlineSize:["webkit"],maxInlineSize:["webkit"],minBlockSize:["webkit"],maxBlockSize:["webkit"],inlineSize:["webkit"],blockSize:["webkit"],tabSize:["moz"],overscrollBehavior:["webkit","ms"],touchAction:["ms"],resize:["webkit"],printColorAdjust:["webkit"],backgroundClip:["webkit"],boxDecorationBreak:["webkit"],overflowScrolling:["webkit"]},ie=["viewBox","preserveAspectRatio","gradientTransform","gradientUnits","spreadMethod","markerStart","markerMid","markerEnd","markerHeight","markerWidth","markerUnits","refX","refY","patternContentUnits","patternTransform","patternUnits","filterUnits","primitiveUnits","kernelUnitLength","clipPathUnits","maskContentUnits","maskUnits"],$e=class{constructor(e,t,s){this._notifier=new R,this.parent=s,this.isBoolean=P.includes(e),ie.includes(e)?this.name=e:this.name=Q(e),this.value=void 0,this.set(t)}render(){if(!this.parent||!this.parent.domElement)return;let e=this.parent.domElement,t=["value"];this.isBoolean?this.value===!1||this.value==null?e.removeAttribute(this.name):e.setAttribute(this.name,this.value===!0?"":this.value):this.value==null?e.removeAttribute(this.name):t.includes(this.name)?e[this.name]=this.value:e.setAttribute(this.name,this.value)}set(e){var t,s;let i=this.value;if(e==null)this.value=null;else if(typeof e=="string"&&/<\/?[a-z][\s\S]*>/i.test(e))this.value=X(e);else if(typeof e=="function"){let r=()=>{if(!this.parent||this.parent._disposed)return;let n=this.value;this.value=this.isBoolean?!!e():e(),this.render(),n!==this.value&&this._notifier.notify(this.name,this.value)};r.elementNode=this.parent,r.debug=`class:${(t=this.parent)==null?void 0:t.tagName}_${(s=this.parent)==null?void 0:s.nodeId} attribute:${this.name}`,r.onSubscribe=n=>{this.parent&&this.parent.addHook("BeforeRemove",()=>{n(),r=null})},this.value=this.isBoolean?!!e(r):e(r)}else this.value=this.isBoolean?!!e:e;this.render(),i!==this.value&&this._notifier.notify(this.name,this.value)}addListener(e){let t=e;t.onSubscribe=s=>{var i;return(i=this.parent)==null?void 0:i.addHook("BeforeRemove",s)},this._notifier.addListener(this.name,t)}remove(){this.parent&&this.parent.attributes&&this.parent.attributes.remove(this.name),this._dispose()}_dispose(){this._notifier._dispose(),this.value=null,this.parent=null}generateHTML(){let{name:e,value:t}=this;if(this.isBoolean)return t?`${e}`:"";{let s=Array.isArray(t)?JSON.stringify(t):t;return`${e}="${X(String(s))}"`}}},ne=class{constructor(e){this.items={},this.parent=e}generateHTML(){if(!this.items)return"";let e=Object.values(this.items).map(t=>t.generateHTML()).join(" ");return e?` ${e}`:""}get(e){var t;if(this.items)return(t=this.items[e])==null?void 0:t.value}set(e,t){!this.items||!this.parent||(this.items[e]?this.items[e].set(t):this.items[e]=new $e(e,t,this.parent))}addListener(e,t){this.has(e)&&this.items[e].addListener(t)}has(e){return this.items?Object.prototype.hasOwnProperty.call(this.items,e):!1}remove(e){this.items&&(this.items[e]&&(this.items[e]._dispose(),delete this.items[e]),this.parent&&this.parent.domElement&&this.parent.domElement instanceof Element&&this.parent.domElement.removeAttribute(e))}_dispose(){if(this.items)for(let e in this.items)this.items[e]._dispose();this.items=null,this.parent=null}toggle(e,t){if(!P.includes(e))throw Error(`${e} is not a boolean attribute`);t===!0?this.set(e,!0):t===!1?this.remove(e):this.has(e)?this.remove(e):this.set(e,!0)}addClass(e){if(!e||typeof e!="string")return;let t=(i,r)=>{let n=(i||"").split(" ").filter(o=>o);return!n.includes(r)&&n.push(e),n.join(" ")},s=this.get("class");typeof s=="function"?this.set("class",()=>t(s(),e)):this.set("class",t(s,e))}hasClass(e){return!e||typeof e!="string"?!1:(this.get("class")||"").split(" ").filter(t=>t).includes(e)}toggleClass(e){!e||typeof e!="string"||(this.hasClass(e)?this.removeClass(e):this.addClass(e))}removeClass(e){if(!e||typeof e!="string")return;let t=(this.get("class")||"").split(" ").filter(s=>s).filter(s=>s!==e);t.length>0?this.set("class",t.join(" ")):this.remove("class")}replaceClass(e,t){!e||!t||typeof e!="string"||typeof t!="string"||this.hasClass(e)&&(this.removeClass(e),this.addClass(t))}},Me=class{constructor(e,t){this.type="TextNode",this.parent=t,this.text=e===""?"\u200B":String(e)}_createDOMNode(){let e;if(Ne(this.text)){let t=document.createElement("template");t.innerHTML=this.text.trim(),e=t.content.firstChild||document.createTextNode("")}else e=document.createTextNode(this.text);return this.domText=e,e}_dispose(){this.domText=void 0,this.text=""}generateHTML(){return this.text==="\u200B"?"&#8203;":this.text}render(e){let t=this._createDOMNode();e.appendChild(t)}},re=class{constructor(e){this.items=[],this._nextKey=0,this.owner=e}_createNode(e){return typeof e=="object"&&e!==null?new m(e,this.owner,this._nextKey++):new Me(e==null?"":String(e),this.owner)}_moveDomElement(e,t){if(!this.owner||!this.owner.domElement)return;let s=this.owner.domElement,i=e instanceof m?e.domElement:e.domText;if(i){let r=s.childNodes[t]||null;i!==r&&s.insertBefore(i,r)}}_swapDomElement(e,t){if(!this.owner||!this.owner.domElement)return;let s=this.owner.domElement,i=e instanceof m?e.domElement:e.domText,r=t instanceof m?t.domElement:t.domText;if(!i||!r)return;let n=i.nextSibling,o=r.nextSibling;s.insertBefore(i,o),s.insertBefore(r,n)}update(e,t=!0,s=!1){var i,r,n,o;let a=this.items.slice(),l=new Map;for(let h of a)h instanceof m&&h.key!==null&&h.key!==void 0&&l.set(h.key,h);!s&&this.owner.domElement&&((r=(i=this.owner._hooks)==null?void 0:i.BeforeUpdate)==null||r.call(i,this.owner,e));for(let h=0;h<e.length;h++){let f=e[h],u=typeof f=="object"&&f!==null?f._key:void 0;if(u!==void 0){let d=l.get(u);if(d){l.delete(u);let T=this.items.indexOf(d);if(T!==h&&T>=0){let O=d instanceof m&&!!d._portal;this.move(T,h,O?!1:t,!0)}d.parent=this.owner;continue}}this.insert(f,h,t,!0)}for(;this.items.length>e.length;)this.remove(this.items[this.items.length-1],t,!0);l.forEach(h=>this.remove(h,t,!0)),s||(o=(n=this.owner._hooks)==null?void 0:n.Update)==null||o.call(n,this.owner)}insert(e,t,s=!0,i=!1){var r,n;let o=this.items.length,a=typeof t!="number"||isNaN(t)||t<0||t>o?o:t,l=this._createNode(e);if(this.items.splice(a,0,l),l instanceof m){l._hooks.Insert&&l._hooks.Insert(l);let h=this.owner.domElement;if(s&&h)if(l._portal){let f=l._portal(this.owner.getRoot());f&&l.render(f)}else{let f=l._createDOMNode(),u=(r=h.childNodes[a])!=null?r:null;h.insertBefore(f,u);let d=h.getRootNode(),T=d instanceof ShadowRoot?d:document.head,O=ee(T);l.styles.render(O),l._hooks.Mount&&l._hooks.Mount(l),l.children.items.forEach(w=>{if(w instanceof m&&w._portal){let G=w._portal(w.getRoot());G&&w.render(G)}else w.render(f)})}}else{let h=this.owner.domElement;if(s&&h){let f=l._createDOMNode(),u=(n=h.childNodes[a])!=null?n:null;h.insertBefore(f,u)}}return!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner),l}remove(e,t=!0,s=!1){let i=this.items.indexOf(e);if(!(i<0)){if(e instanceof m){let r=()=>{var n,o;let a=e.domElement;this.items.splice(i,1),t&&a&&a.remove(),(o=(n=e._hooks)==null?void 0:n.Remove)==null||o.call(n,e),e._dispose()};if(e._hooks.BeforeRemove&&e.domElement){let n=!1,o=()=>{n||(n=!0,r())};e._hooks.BeforeRemove(e,o),n||o()}else r()}else{let r=e.domText;this.items.splice(i,1),t&&r&&r.remove(),e._dispose()}!s&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}}clear(e=!0,t=!1){if(this.items.length===0)return;let s=this.items.slice();for(let i of s)this.remove(i,e,!0);!t&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}_dispose(){this.items.forEach(e=>e._dispose()),this.items=[]}swap(e,t,s=!0,i=!1){if(e<0||t<0||e>=this.items.length||t>=this.items.length||e===t)return;let r=this.items[e],n=this.items[t];this.items[e]=n,this.items[t]=r,s&&this._swapDomElement(r,n),!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}move(e,t,s=!0,i=!1){if(e<0||e>=this.items.length||t<0||t>=this.items.length||e===t)return;let r=this.items[e];this.items.splice(e,1),this.items.splice(t,0,r),s&&this._moveDomElement(r,t),!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}generateHTML(){let e="";for(let t of this.items)e+=t.generateHTML();return e}},Oe=class{constructor(e,t,s){this.value="",this.name=e,this.cssName=Q(e),this.parentRule=s,this.set(t)}_domUpdate(){if(!this.parentRule)return;let e=this.parentRule.domRule;if(e&&e.style){let t=e.style;t.setProperty(this.cssName,String(this.value)),v[this.name]&&v[this.name].forEach(s=>{t.setProperty(`-${s}-${this.cssName}`,String(this.value))})}}_dispose(){this.value="",this.parentRule=null}set(e){var t,s,i,r;if(typeof e=="function"){let n=(()=>{var o;!this.parentRule||(o=this.parentRule.parentNode)!=null&&o._disposed||(this.value=e(n),this._domUpdate())});n.onSubscribe=o=>{var a;(a=this.parentRule.parentNode)==null||a.addHook("BeforeRemove",()=>{o(),n=null})},n.elementNode=this.parentRule.root,n.debug=`class:${(s=(t=this.parentRule)==null?void 0:t.root)==null?void 0:s.tagName}_${(r=(i=this.parentRule)==null?void 0:i.root)==null?void 0:r.nodeId} style:${this.name}`,this.value=e(n)}else this.value=e;this._domUpdate()}remove(){if(this.parentRule){if(this.parentRule.domRule instanceof CSSStyleRule){let e=this.parentRule.domRule.style;e.removeProperty(this.cssName),v[this.name]&&v[this.name].forEach(t=>{e.removeProperty(`-${t}-${this.cssName}`)})}delete this.parentRule.styleBlock[this.name],this._dispose()}}cssText(){let e=`${this.cssName}: ${this.value}`;return v[this.name]&&v[this.name].forEach(t=>{e+=`; -${t}-${this.cssName}: ${this.value}`}),e}},g=class j{constructor(t,s){this.domRule=null,this.styleBlock={},this.selectorText=t,this.styleList=new oe(this),this.parent=s}_dispose(){if(this.styleBlock)for(let t of Object.values(this.styleBlock))t._dispose();this.styleList&&this.styleList._dispose(),this.styleBlock=null,this.styleList=null,this.domRule=null,this.parent=null}get root(){let t=this.parent;for(;t instanceof j;)t=t.parent;return t}get parentNode(){let t=this.parent;for(;t&&t instanceof j;)t=t.parent;return t}insertStyle(t,s){this.styleBlock&&(this.styleBlock[t]?this.styleBlock[t].set(s):this.styleBlock[t]=new Oe(t,s,this))}removeStyle(t){this.styleBlock&&this.styleBlock[t]&&this.styleBlock[t].remove()}cssText(){if(!this.styleBlock||!this.styleList)return"";let t=Object.values(this.styleBlock).map(i=>i.cssText()).join(";"),s=this.styleList.cssText();return`${this.selectorText} { ${t} ${s} } `}mount(t){!t||!this.styleList||(this.domRule=t,"cssRules"in t&&this.styleList.mount(t.cssRules))}remove(){if(this.domRule&&this.domRule.parentStyleSheet){let t=this.domRule.parentStyleSheet,s=t.cssRules;for(let i=0;i<s.length;i++)if(s[i]===this.domRule){t.deleteRule(i);break}}this._dispose()}render(t){if(!this.styleBlock||!this.styleList)return;let s=Object.values(this.styleBlock).map(i=>i.cssText()).join(";");try{if(this.selectorText.startsWith("@")){if(/^@(media|supports|container|layer)\b/.test(this.selectorText)){let i=t.insertRule(`${this.selectorText} {}`,t.cssRules.length),r=t.cssRules[i];"cssRules"in r&&(this.mount(r),this.styleList.render(r))}else if(this.selectorText.startsWith("@keyframes")||this.selectorText.startsWith("@font-face")){let i=this.cssText(),r=t.insertRule(i,t.cssRules.length),n=t.cssRules[r];this.mount(n)}}else{let i=`${this.selectorText} { ${s} }`,r=t.insertRule(i,t.cssRules.length),n=t.cssRules[r];n&&"selectorText"in n&&this.mount(n)}}catch(i){console.warn("Failed to insert rule:",this.selectorText,i)}}},oe=class{constructor(e){this.items=[],this.domStyle=null,this.parent=e}get parentNode(){let e=this.parent;for(;e&&e instanceof g;)e=e.parent;return e}addCSS(e,t=""){if(!this.items||!this.parent)return;let s={};function i(r,n){return r.startsWith("&")?`${n}${r.slice(1)}`:`${n} ${r}`}for(let r in e){let n=e[r],o=Re(r);for(let a of o){let l=i(a,t);if(/^@(container|layer|supports|media)\b/.test(a)){if(typeof n=="object"&&n!=null){let h=new g(a,this.parent);h.styleList.addCSS(n,t),this.items.push(h)}}else if(a.startsWith("@keyframes")){let h=new g(a,this.parent);h.styleList.addCSS(n,""),this.items.push(h)}else if(a.startsWith("@font-face")){let h=new g(a,this.parent);for(let f in n)h.insertStyle(f,n[f]);this.items.push(h)}else if(typeof n=="object"&&n!=null){let h=new g(l,this.parent);this.items.push(h);for(let[f,u]of Object.entries(n))if(typeof u=="object"&&u!=null){let d=i(f,l);f.startsWith("&")?this.addCSS(u,d):h.styleList.insertRule(d).styleList.addCSS(u,d)}else h.insertStyle(f,u)}else s[a]=n}}if(Object.keys(s).length){let r=new g(t,this.parent);for(let n in s)r.insertStyle(n,s[n]);this.items.push(r)}}cssText(){return this.items?this.items.map(e=>e.cssText()).join(""):""}insertRule(e){if(!this.items||!this.parent)return null;let t=this.items.find(s=>s.selectorText===e);return t||(t=new g(e,this.parent),this.items.push(t)),t}mount(e){if(!this.items)return;if(!e)throw Error("Require domRuleList argument");let t=0,s=i=>i.replace("(odd)","(2n+1)").replace("(even)","(2n)");this.items.forEach((i,r)=>{let n=r-t,o=e[n];o&&(i.selectorText.startsWith("@")&&o instanceof CSSKeyframesRule||"keyText"in o?i.mount(o):"selectorText"in o?o.selectorText!==s(i.selectorText)?t+=1:i.mount(o):"cssRules"in o&&i.mount(o))})}render(e){e instanceof HTMLStyleElement?(this.domStyle=e,this.items.forEach(t=>t.render(e.sheet))):e instanceof CSSGroupingRule&&this.items.forEach(t=>t.render(e))}_dispose(){if(this.items)for(let e=0;e<this.items.length;e++)this.items[e]._dispose();this.items=[],this.parent=null,this.domStyle=null}},m=class N{constructor(t,s=null,i=0){this._disposed=!1,this.type="ElementNode",this.parent=null,this.children=new re(this),this.styles=new oe(this),this.attributes=new ne(this),this.domElement=null,this._hooks={},this._events=null,this._context={},this._metadata={},this.key=null;var r,n;t=_(t),Z(t),t.style=t.style||{},this.parent=s,this.tagName=Ce(t),t=te(t),this.key=(r=t._key)!=null?r:null,this._context=t._context||{},this._metadata=t._metadata||{};let o=`${(n=this.parent)==null?void 0:n.nodeId}.${i}`,a=JSON.stringify(t.style||{},(h,f)=>typeof f=="function"?o:f);this.nodeId=Y(o+a),this.attributes.addClass(`${this.tagName}_${this.nodeId}`),t._onSchedule&&t._onSchedule(this,t),this.merge(t);let l=t[this.tagName];if(l!=null&&l!=null)if(typeof l=="function"){let h=()=>{if(this._disposed)return;let f=l(h);this.children.update(Array.isArray(f)?f:[f])};h.elementNode=this,h.debug=`class:${this.tagName}_${this.nodeId} children`,h.onSubscribe=f=>this.addHook("BeforeRemove",()=>{f(),h=null}),h&&h()}else this.children.update(Array.isArray(l)?l:[l]);this._hooks.Init&&this._hooks.Init(this)}_createDOMNode(){let t=se.includes(this.tagName)?document.createElementNS("http://www.w3.org/2000/svg",this.tagName):document.createElement(this.tagName);if(this.domElement=t,this._events)for(let s in this._events){let i=s,r=this._events[i],n=o=>r(o,this);t.addEventListener(i,n),this.addHook("BeforeRemove",o=>{o.domElement.removeEventListener(i,n),n=null})}return this.attributes&&Object.values(this.attributes.items).forEach(s=>s.render()),t}_dispose(){this._disposed=!0,this.children&&this.children._dispose(),this.styles&&(this.styles.items.forEach(t=>t.remove()),this.styles._dispose()),this.attributes&&this.attributes._dispose(),this.domElement=null,this._hooks={},this._events=null,this._context={},this._metadata={},this.parent=null}merge(t){E(this._context,t._context),E(this._metadata,t._metadata);let s=Object.keys(t);for(let i=0;i<s.length;i++){let r=s[i],n=t[r];["$","_onSchedule","_key","_context","_metadata","style",this.tagName].includes(r)||(["_onInit","_onInsert","_onMount","_onBeforeUpdate","_onUpdate","_onBeforeRemove","_onRemove"].includes(r)?this.addHook(r.substring(3),n):r.startsWith("on")?this.addEvent(r.substring(2).toLowerCase(),n):r=="_portal"?this._portal=n:r=="class"&&typeof n=="string"?this.attributes.addClass(n):this.attributes.set(r,n))}t.style&&this.styles.addCSS(t.style||{},`.${`${this.tagName}_${this.nodeId}`}`)}addEvent(t,s){this._events=this._events||{};let i=this._events[t];typeof i=="function"?this._events[t]=(r,n)=>{i(r,n),s(r,n)}:this._events[t]=s}addHook(t,s){let i=this._hooks[t];typeof i=="function"?this._hooks[t]=((...r)=>{i(...r),s(...r)}):this._hooks[t]=s}getRoot(){let t=this;for(;t&&t instanceof N&&t.parent;)t=t.parent;return t}getContext(t){let s=this;for(;s&&(!s._context||!Object.prototype.hasOwnProperty.call(s._context,t));)s=s.parent;return s&&s._context?s._context[t]:void 0}setContext(t,s){this._context=this._context||{},this._context[t]=s}getMetadata(t){return this._metadata?this._metadata[t]:void 0}setMetadata(t,s){this._metadata=this._metadata||{},this._metadata[t]=s}generateCSS(){if(!this.styles||!this.children)return"";let t=this.styles.cssText();return t+=this.children.items.map(s=>s instanceof N?s.generateCSS():"").join(""),t}generateHTML(){if(!this.children||!this.attributes)return"";let t=this.children.generateHTML(),s=this.attributes.generateHTML();return`<${this.tagName}${s}>${t}</${this.tagName}>`}mount(t,s){if(!t)throw new Error("Missing dom node on bind");if(this.domElement=t,this._events)for(let i in this._events){let r=i,n=this._events[r],o=a=>n(a,this);t.addEventListener(r,o),this.addHook("BeforeRemove",a=>{a.domElement.removeEventListener(r,o),o=null})}this.children&&this.children.items.forEach((i,r)=>{let n=t.childNodes[r];n instanceof Node&&i instanceof N&&i.mount(n,s)}),this._hooks.Mount&&this._hooks.Mount(this)}render(t){let s=this._createDOMNode();t.appendChild(s),this._hooks.Mount&&this._hooks.Mount(this);let i=this.getRoot().styles.domStyle,r=t.getRootNode(),n=r instanceof ShadowRoot?r:document.head;return i||(i=ee(n)),this.styles.render(i),this.children.items.forEach(o=>{if(o instanceof N&&o._portal){let a=o._portal(this.getRoot());a&&o.render(a)}else o.render(s)}),s}remove(){var t;this.parent?this.parent.children.remove(this):((t=this.domElement)==null||t.remove(),this._dispose())}},Be=class{constructor(e){this._notifier=new R,this.initialRecord=J({},e),this._record=J({},e)}get(e,t){return t&&this._notifier.addListener(e,t),this._record[e]}set(e,t){this._record[e]=t,this._notifier.notify(e)}addListener(e,t){return this._notifier.addListener(e,t)}removeListener(e,t){this._notifier.removeListener(e,t)}reset(e){this.set(e,this.initialRecord[e])}_dispose(){this._notifier._dispose()}};var M={};I(M,{getTheme:()=>c,setTheme:()=>De,themeApply:()=>ze,themeCSS:()=>z,themeColor:()=>Ke,themeColorToken:()=>Je,themeDensity:()=>Ge,themeName:()=>y,themeSize:()=>We,themeSpacing:()=>Ue,themeTokens:()=>W,themeVars:()=>x});var Ie={direction:"darken",colors:{primary:["#ffffff","#e3ecff","#c6daff","#aac8ff","#8fb6ff","#76a3ff","#5f91fc","#4a7ff4","#386ee7","#2a5ed7","#1e4ec2","#1440aa","#0c3290","#072674","#041a57","#020f38","#010419","#000000"],secondary:["#ffffff","#fce6ea","#faced6","#f7b5c2","#f29db0","#ec859e","#e36e8d","#d8597d","#ca456e","#b93460","#a42351","#8e1643","#770b36","#5f0529","#46031d","#2d0210","#130104","#000000"],info:["#ffffff","#dcf0f9","#b7e1f6","#90d2f1","#6ac3eb","#42b4e2","#16a4d5","#0094c4","#0084b2","#00739e","#00638a","#005476","#004461","#00354d","#002638","#001623","#00070d","#000000"],success:["#ffffff","#e3f3dc","#c6e8b8","#a9dd94","#8ed171","#75c450","#61b635","#51a51f","#429304","#358100","#2a7000","#215f00","#194d00","#123c00","#0b2b00","#051a00","#010900","#000000"],warning:["#ffffff","#ffeada","#ffd3b3","#ffbd8d","#ffa96b","#ff9853","#ec8640","#d77531","#c16523","#aa5718","#944a0f","#7e3d09","#673106","#512504","#3b1a03","#250e02","#0e0401","#000000"],attention:["#ffffff","#ffeada","#ffd3b3","#ffbd8d","#ffa96b","#ff9853","#ec8640","#d77531","#c16523","#aa5718","#944a0f","#7e3d09","#673106","#512504","#3b1a03","#250e02","#0e0401","#000000"],error:["#ffffff","#fce7e4","#fbcfca","#f8b7b0","#f59f96","#ef877e","#e86f67","#de5852","#d3403e","#c5282c","#b30a1b","#9e000b","#860001","#6c0000","#510000","#340000","#170000","#000000"],danger:["#ffffff","#fce7e4","#fbcfca","#f8b7b0","#f59f96","#ef877e","#e86f67","#de5852","#d3403e","#c5282c","#b30a1b","#9e000b","#860001","#6c0000","#510000","#340000","#170000","#000000"],highlight:["#ffffff","#f9f5cd","#f4eb95","#efe05a","#e6d427","#d3c100","#bfad00","#ab9b00","#988900","#857700","#736600","#615600","#4f4600","#3e3600","#2c2700","#1b1700","#090700","#000000"],neutral:["#ffffff","#ededed","#dbdbdb","#cacaca","#bababa","#ababab","#9b9b9b","#8d8d8d","#7e7e7e","#707070","#636363","#565656","#484848","#383838","#282828","#181818","#080808","#000000"]},baseTones:{highlight:5,warning:6,error:8,danger:8,secondary:8,primary:9,info:8,success:8,neutral:8},fontSizes:["0.75rem","0.875rem","1rem","1.25rem","1.5625rem","1.9375rem","2.4375rem","3.0625rem"],densities:[.75,1,1.5,2,2.5],darkBias:1,custom:{}},k=Ie;var U=e=>JSON.parse(JSON.stringify(e)),S={light:U(k),dark:Pe(k)};function H(e){let t=Object.keys(e.colors)[0];return t?e.colors[t].length:0}function Ae(e){for(let t in e)if(!Object.keys(k).includes(t))throw new Error(`Invalid key: ${t}`);if(e.fontSizes&&!Array.isArray(e.fontSizes))throw new Error("fontSize must be array of string");if(e.densities&&(!Array.isArray(e.densities)||e.densities.some(t=>typeof t!="number")))throw new Error("densities must be array of number");if("custom"in e){let t=e.custom;if(typeof t!="object"||t===null)throw new Error("Invalid custom property: must be an object")}}function ae(e,t){var s;for(let i in t)t[i]&&typeof t[i]=="object"&&!Array.isArray(t[i])?((s=e[i])!=null||(e[i]={}),ae(e[i],t[i])):e[i]=t[i]}function je(e,t){let s={},i=H(t);for(let n in t){let o=t[n];if(n==="colors")for(let a in t.colors)[...Array(i).keys()].forEach(l=>s[`--${a}-${l}`]=t.colors[a][l]);else if(n==="fontSizes")[...Array(8).keys()].forEach(a=>s[`--fontSize-${a}`]=t.fontSizes[a]);else{if(n==="densities")continue;if(typeof o=="object"&&o!==null)for(let a in o)s[`--${n}-${a.replace("/","_")}`]=o[a]}}let r="";for(let n in s)r+=` ${n}: ${s[n]};
1
+ "use strict";var Domphy=(()=>{var j=Object.defineProperty;var ke=Object.getOwnPropertyDescriptor;var we=Object.getOwnPropertyNames;var Ee=Object.prototype.hasOwnProperty;var D=(e,t)=>{for(var s in t)j(e,s,{get:t[s],enumerable:!0})},Se=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of we(t))!Ee.call(e,n)&&n!==s&&j(e,n,{get:()=>t[n],enumerable:!(i=ke(t,n))||i.enumerable});return e};var xe=e=>Se(j({},"__esModule",{value:!0}),e);var it={};D(it,{core:()=>B,theme:()=>I});var B={};D(B,{AttributeList:()=>ue,BooleanAttributes:()=>F,CamelAttributes:()=>fe,ElementList:()=>de,ElementNode:()=>p,HtmlTags:()=>H,Notifier:()=>M,PrefixCSS:()=>E,RecordState:()=>Ue,State:()=>P,SvgTags:()=>he,VoidTags:()=>le,hashString:()=>se,merge:()=>v,r:()=>Be,toState:()=>Me});var Te=Object.defineProperty,X=Object.getOwnPropertySymbols,Re=Object.prototype.hasOwnProperty,Ne=Object.prototype.propertyIsEnumerable,Y=(e,t,s)=>t in e?Te(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,Q=(e,t)=>{for(var s in t||(t={}))Re.call(t,s)&&Y(e,s,t[s]);if(X)for(var s of X(t))Ne.call(t,s)&&Y(e,s,t[s]);return e},Ce=["onAbort","onAuxClick","onBeforeMatch","onBeforeToggle","onBlur","onCancel","onCanPlay","onCanPlayThrough","onChange","onClick","onClose","onContextLost","onContextMenu","onContextRestored","onCopy","onCueChange","onCut","onDblClick","onDrag","onDragEnd","onDragEnter","onDragLeave","onDragOver","onDragStart","onDrop","onDurationChange","onEmptied","onEnded","onError","onFocus","onFormData","onInput","onInvalid","onKeyDown","onKeyPress","onKeyUp","onLoad","onLoadedData","onLoadedMetadata","onLoadStart","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onPaste","onPause","onPlay","onPlaying","onProgress","onRateChange","onReset","onResize","onScroll","onScrollEnd","onSecurityPolicyViolation","onSeeked","onSeeking","onSelect","onSlotChange","onStalled","onSubmit","onSuspend","onTimeUpdate","onToggle","onVolumeChange","onWaiting","onWheel","onTouchStart","onTouchMove","onTouchEnd","onTouchCancel","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onGotPointerCapture","onLostPointerCapture","onCompositionStart","onCompositionUpdate","onCompositionEnd","onTransitionEnd","onTransitionStart","onAnimationStart","onAnimationEnd","onAnimationIteration","onFullscreenChange","onFullscreenError","onFocusIn","onFocusOut"],$e=Ce.reduce((e,t)=>{let s=t.slice(2).toLowerCase();return e[s]=t,e},{}),H=["a","abbr","address","article","aside","audio","b","base","blockquote","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","i","iframe","img","input","ins","kbd","label","legend","li","main","map","mark","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","slot","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","bdi","bdo","math","menu","search","area","embed","hr","animate","animateMotion","animateTransform","circle","clipPath","cursor","defs","desc","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","prefetch","radialGradient","rect","set","solidColor","stop","svg","switch","symbol","tbreak","text","textPath","tspan","use","view"],b=[],Le=typeof queueMicrotask=="function"?queueMicrotask:e=>{Promise.resolve().then(e).catch(t=>{setTimeout(()=>{throw t},0)})},ee=100,M=class{constructor(){this._listeners={},this._pending=new Map,this._scheduled=!1,this._flushing=new Map,this._selfDepth=0}_dispose(){if(this._listeners)for(let e in this._listeners)this._listeners[e].clear();this._listeners=null}addListener(e,t){if(!this._listeners)return()=>{};if(typeof e!="string"||typeof t!="function")throw new Error("Event name must be a string, listener must be a function");this._listeners[e]||(this._listeners[e]=new Set);let s=()=>this.removeListener(e,t);return this._listeners[e].has(t)||(this._listeners[e].add(t),typeof t.onSubscribe=="function"&&t.onSubscribe(s)),s}removeListener(e,t){if(!this._listeners)return;let s=this._listeners[e];s&&s.has(t)&&(s.delete(t),s.size===0&&delete this._listeners[e])}notify(e,...t){if(!this._listeners||!this._listeners[e])return;let s=b.length?b[b.length-1]:null;if(s&&s[0]===this&&s[1]===e){let i=this._flushing.get(e);if(i&&i[0]===t[0])return;if(this._selfDepth>=ee){console.error(`[Domphy] Runaway self-update on "${e}" \u2014 stopped after ${ee} iterations`);return}this._selfDepth++,this._pending.set(e,{args:t,chain:[]})}else{if(this._isCircular(e))return;this._pending.set(e,{args:t,chain:[...b]})}this._scheduled||(this._scheduled=!0,Le(()=>this._flushAll()))}_isCircular(e){let t=b.findIndex(([i,n])=>i===this&&n===e);if(t===-1)return!1;let s=[...b.slice(t).map(([,i])=>i),e];return console.error(`[Domphy] Circular dependency detected:
2
+ ${s.join(" \u2192 ")}`),!0}_flushAll(){this._scheduled=!1;let e=this._pending;this._pending=new Map;for(let[t,{args:s,chain:i}]of e)b=i,this._flush(t,s);b=[],this._pending.size===0&&(this._selfDepth=0)}_flush(e,t){if(!this._listeners)return;let s=this._listeners[e];if(s){b.push([this,e]),this._flushing.set(e,t);for(let i of[...s])if(s.has(i))try{i(...t)}catch(n){console.error(n)}this._flushing.delete(e),b.pop()}}},P=class{constructor(e,t=typeof e){this.name=t,this._isState=!0,this._notifier=new M,this.initialValue=e,this._value=e}get(e){return e&&this.addListener(e),this._value}set(e){this._notifier&&(this._value=e,this._notifier.notify(this.name,e))}reset(){this.set(this.initialValue)}addListener(e){return this._notifier?this._notifier.addListener(this.name,e):()=>{}}removeListener(e){this._notifier&&this._notifier.removeListener(this.name,e)}_dispose(){this._notifier&&(this._notifier._dispose(),this._notifier=null)}};function v(e={},t={}){let s=["animation","transition","boxShadow","textShadow","background","fontFamily"],i=["class","rel","transform","acceptCharset","sandbox"],n=["content"];Object.prototype.toString.call(t)==="[object Object]"&&Object.getPrototypeOf(t)===Object.prototype&&(t=_(t));for(let r in t){let o=t[r];if(!(o==null||o===""))if(typeof o=="object"&&!Array.isArray(o))typeof e[r]=="object"?e[r]=v(e[r],o):e[r]=o;else if(s.includes(r))if(typeof e[r]=="function"||typeof o=="function"){let a=e[r];e[r]=h=>{let l=typeof a=="function"?a(h):a,f=typeof o=="function"?o(h):o;return[l,f].filter(d=>d).join(", ")}}else e[r]=[e[r],o].filter(a=>a).join(", ");else if(n.includes(r))if(typeof e[r]=="function"||typeof o=="function"){let a=e[r];e[r]=h=>{let l=typeof a=="function"?a(h):a,f=typeof o=="function"?o(h):o;return[l,f].filter(d=>d).join("")}}else e[r]=[e[r],o].filter(a=>a).join("");else if(i.includes(r))if(typeof e[r]=="function"||typeof o=="function"){let a=e[r];e[r]=h=>{let l=typeof a=="function"?a(h):a,f=typeof o=="function"?o(h):o;return[l,f].filter(d=>d).join(" ")}}else e[r]=[e[r],o].filter(a=>a).join(" ");else if(r.startsWith("on")){let a=r.replace("on","").toLowerCase();Ie(e,a,o)}else if(r.startsWith("_on")){let a=r.replace("_on","");Oe(e,a,o)}else e[r]=o}return e}function se(e=""){let t=2166136261;for(let s=0;s<e.length;s++)t^=e.charCodeAt(s),t=t*16777619>>>0;return String.fromCharCode(97+t%26)+t.toString(16)}function Me(e,t){return e instanceof P||e!=null&&e._isState?e:new P(e,t)}function Be(e){return e}function Oe(e,t,s){let i=`_on${t}`,n=e[i];typeof n=="function"?e[i]=(...r)=>{n(...r),s(...r)}:e[i]=s}function Ie(e,t,s){let i=$e[t];if(!i)throw Error(`invalid event name "${t}"`);let n=e[i];typeof n=="function"?e[i]=(r,o)=>{n(r,o),s(r,o)}:e[i]=s}function _(e,t=new WeakMap){if(e===null||typeof e!="object"||typeof e=="function")return e;if(t.has(e))return t.get(e);let s=Object.getPrototypeOf(e);if(s!==Object.prototype&&!Array.isArray(e))return e;let i;if(Array.isArray(e)){i=[],t.set(e,i);for(let n of e)i.push(_(n,t));return i}if(e instanceof Date)return new Date(e);if(e instanceof RegExp)return new RegExp(e);if(e instanceof Map){i=new Map,t.set(e,i);for(let[n,r]of e)i.set(_(n,t),_(r,t));return i}if(e instanceof Set){i=new Set,t.set(e,i);for(let n of e)i.add(_(n,t));return i}if(ArrayBuffer.isView(e))return new e.constructor(e);if(e instanceof ArrayBuffer)return e.slice(0);i=Object.create(s),t.set(e,i);for(let n of Reflect.ownKeys(e))i[n]=_(e[n],t);return i}function ie(e,t=!1){if(Object.prototype.toString.call(e)!=="[object Object]")throw Error(`typeof ${e} is invalid DomphyElement`);let s=Object.keys(e);for(let i=0;i<s.length;i++){let n=s[i],r=e[n];if(i==0&&!H.includes(n)&&!n.includes("-")&&!t)throw Error(`key ${n} is not valid HTML tag name`);if(n=="style"&&r&&Object.prototype.toString.call(r)!=="[object Object]")throw Error('"style" must be a object');if(n=="$")e.$.forEach(o=>ie(o,!0));else{if(n.startsWith("_on")&&typeof r!="function")throw Error(`hook ${n} value "${r}" must be a function `);if(n.startsWith("on")&&typeof r!="function")throw Error(`event ${n} value "${r}" must be a function `);if(n=="_portal"&&typeof r!="function")throw Error('"_portal" must be a function return HTMLElement');if(n=="_context"&&Object.prototype.toString.call(r)!=="[object Object]")throw Error('"_context" must be a object');if(n=="_metadata"&&Object.prototype.toString.call(r)!=="[object Object]")throw Error('"_metadata" must be a object');if(n=="_key"&&typeof r!="string"&&typeof r!="number")throw Error('"_key" must be a string or number')}}return!0}function te(e){return/<([a-z][\w-]*)(\s[^>]*)?>.*<\/\1>|<([a-z][\w-]*)(\s[^>]*)?\/>/i.test(e.trim())}function ne(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function re(e){return Object.keys(e).find(t=>H.includes(t))}function oe(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}function Ae(e){if(e.indexOf("@")===0)return[e];for(var t=[],s=0,i=0,n="",r=0,o=e.length;r<o;r++){var a=e[r];if(a==="(")s+=1;else if(a===")")s-=1;else if(a==="[")i+=1;else if(a==="]")i-=1;else if(a===","&&!s&&!i){t.push(n.trim()),n="";continue}n+=a}return t.push(n.trim()),t}function z(e){let t=e.trim();return t.startsWith("@")?t.replace(/\s+/g,""):t.replace(/\s*([>+~,])\s*/g,"$1").replace(/\s+/g," ").replace(/\(\s*odd\s*\)/g,"(2n+1)").replace(/\(\s*even\s*\)/g,"(2n)").trim()}function je(e,t){for(let s=0;s<e.length;s++){let i=e[s],n=null;typeof i.selectorText=="string"?n=z(i.selectorText):typeof i.cssText=="string"&&i.cssText.startsWith("@")&&(n=z(i.cssText.split("{")[0])),n&&!t.has(n)&&t.set(n,i)}return t}function ae(e){var t;let s=e.querySelector("#domphy-style");return s||(s=document.createElement("style"),s.id="domphy-style",e.appendChild(s)),s.dataset.domphyBase!=="true"&&((t=s.sheet)==null||t.insertRule("[hidden] { display: none !important; }",0),s.dataset.domphyBase="true"),s}var U=e=>{if(Array.isArray(e.$)){let t={};return e.$.forEach(s=>v(t,U(s))),delete e.$,v(t,e),t}else return e},le=["area","base","br","col","embed","hr","img","input","link","meta","source","track","wbr"],he=["svg","circle","path","rect","ellipse","line","polyline","polygon","g","defs","use","symbol","linearGradient","radialGradient","stop","clipPath","mask","filter","text","tspan","textPath","image","pattern","marker","animate","animateTransform","animateMotion","feGaussianBlur","feComposite","feColorMatrix","feMerge","feMergeNode","feOffset","feFlood","feBlend","foreignObject"],F=["allowFullScreen","async","autoFocus","autoPlay","checked","compact","contentEditable","controls","declare","default","defer","disabled","formNoValidate","hidden","isMap","itemScope","loop","multiple","muted","noHref","noShade","noValidate","open","playsInline","readonly","required","reversed","scoped","selected","sortable","trueSpeed","typeMustMatch","wmode","autoCapitalize","translate","spellCheck","inert","download","noModule","paused","autoPictureInPicture"],E={transform:["webkit","ms"],transition:["webkit","ms"],animation:["webkit"],userSelect:["webkit","ms"],flexDirection:["webkit","ms"],flexWrap:["webkit","ms"],justifyContent:["webkit","ms"],alignItems:["webkit","ms"],alignSelf:["webkit","ms"],order:["webkit","ms"],flexGrow:["webkit","ms"],flexShrink:["webkit","ms"],flexBasis:["webkit","ms"],columns:["webkit"],columnCount:["webkit"],columnGap:["webkit"],columnRule:["webkit"],columnWidth:["webkit"],boxSizing:["webkit"],appearance:["webkit","moz"],filter:["webkit"],backdropFilter:["webkit"],clipPath:["webkit"],mask:["webkit"],maskImage:["webkit"],textSizeAdjust:["webkit","ms"],hyphens:["webkit","ms"],writingMode:["webkit","ms"],gridTemplateColumns:["ms"],gridTemplateRows:["ms"],gridAutoColumns:["ms"],gridAutoRows:["ms"],gridColumn:["ms"],gridRow:["ms"],marginInlineStart:["webkit"],marginInlineEnd:["webkit"],paddingInlineStart:["webkit"],paddingInlineEnd:["webkit"],minInlineSize:["webkit"],maxInlineSize:["webkit"],minBlockSize:["webkit"],maxBlockSize:["webkit"],inlineSize:["webkit"],blockSize:["webkit"],tabSize:["moz"],overscrollBehavior:["webkit","ms"],touchAction:["ms"],resize:["webkit"],printColorAdjust:["webkit"],backgroundClip:["webkit"],boxDecorationBreak:["webkit"],overflowScrolling:["webkit"]},fe=["viewBox","preserveAspectRatio","gradientTransform","gradientUnits","spreadMethod","markerStart","markerMid","markerEnd","markerHeight","markerWidth","markerUnits","refX","refY","patternContentUnits","patternTransform","patternUnits","filterUnits","primitiveUnits","kernelUnitLength","clipPathUnits","maskContentUnits","maskUnits"],De=class{constructor(e,t,s){this._notifier=new M,this._releases=[],this.parent=s,this.isBoolean=F.includes(e),fe.includes(e)?this.name=e:this.name=oe(e),this.value=void 0,this.set(t)}render(){if(!this.parent||!this.parent.domElement)return;let e=this.parent.domElement,t=["value"];this.isBoolean?this.value===!1||this.value==null?e.removeAttribute(this.name):e.setAttribute(this.name,this.value===!0?"":this.value):this.value==null?e.removeAttribute(this.name):t.includes(this.name)?e[this.name]=this.value:e.setAttribute(this.name,this.value)}set(e){var t,s;let i=this.value;if(this._releases.length){for(let n of this._releases)n();this._releases=[]}if(e==null)this.value=null;else if(typeof e=="function"){let n=()=>{if(!this.parent||this.parent._disposed)return;let r=this.value;this.value=this.isBoolean?!!e(n):e(n),this.render(),r!==this.value&&this._notifier.notify(this.name,this.value)};n.elementNode=this.parent,n.debug=`class:${(t=this.parent)==null?void 0:t.tagName}_${(s=this.parent)==null?void 0:s.nodeId} attribute:${this.name}`,n.onSubscribe=r=>{this._releases.push(r),this.parent&&this.parent.addHook("BeforeRemove",()=>{r(),n=null})},this.value=this.isBoolean?!!e(n):e(n)}else this.value=this.isBoolean?!!e:e;this.render(),i!==this.value&&this._notifier.notify(this.name,this.value)}addListener(e){let t=e;t.onSubscribe=s=>{var i;return(i=this.parent)==null?void 0:i.addHook("BeforeRemove",s)},this._notifier.addListener(this.name,t)}remove(){this.parent&&this.parent.attributes&&this.parent.attributes.remove(this.name),this._dispose()}_dispose(){this._notifier._dispose(),this.value=null,this.parent=null}generateHTML(){let{name:e,value:t}=this;if(this.isBoolean)return t?`${e}`:"";{let s=Array.isArray(t)?JSON.stringify(t):t;return`${e}="${ne(String(s))}"`}}},ue=class{constructor(e){this.items={},this.parent=e}generateHTML(){if(!this.items)return"";let e=Object.values(this.items).map(t=>t.generateHTML()).join(" ");return e?` ${e}`:""}get(e){var t;if(this.items)return(t=this.items[e])==null?void 0:t.value}set(e,t){!this.items||!this.parent||(this.items[e]?this.items[e].set(t):this.items[e]=new De(e,t,this.parent))}addListener(e,t){this.has(e)&&this.items[e].addListener(t)}has(e){return this.items?Object.prototype.hasOwnProperty.call(this.items,e):!1}remove(e){this.items&&(this.items[e]&&(this.items[e]._dispose(),delete this.items[e]),this.parent&&this.parent.domElement&&this.parent.domElement instanceof Element&&this.parent.domElement.removeAttribute(e))}_dispose(){if(this.items)for(let e in this.items)this.items[e]._dispose();this.items=null,this.parent=null}toggle(e,t){if(!F.includes(e))throw Error(`${e} is not a boolean attribute`);t===!0?this.set(e,!0):t===!1?this.remove(e):this.has(e)?this.remove(e):this.set(e,!0)}addClass(e){if(!e||typeof e!="string")return;let t=(i,n)=>{let r=(i||"").split(" ").filter(o=>o);return!r.includes(n)&&r.push(e),r.join(" ")},s=this.get("class");typeof s=="function"?this.set("class",()=>t(s(),e)):this.set("class",t(s,e))}hasClass(e){return!e||typeof e!="string"?!1:(this.get("class")||"").split(" ").filter(t=>t).includes(e)}toggleClass(e){!e||typeof e!="string"||(this.hasClass(e)?this.removeClass(e):this.addClass(e))}removeClass(e){if(!e||typeof e!="string")return;let t=(this.get("class")||"").split(" ").filter(s=>s).filter(s=>s!==e);t.length>0?this.set("class",t.join(" ")):this.remove("class")}replaceClass(e,t){!e||!t||typeof e!="string"||typeof t!="string"||this.hasClass(e)&&(this.removeClass(e),this.addClass(t))}},Pe=class{constructor(e,t){this.type="TextNode",this.parent=t,this.text=e===""?"\u200B":String(e)}_createDOMNode(){let e;if(te(this.text)){let t=document.createElement("template");t.innerHTML=this.text.trim(),e=t.content.firstChild||document.createTextNode("")}else e=document.createTextNode(this.text);return this.domText=e,e}_dispose(){this.domText=void 0,this.text=""}generateHTML(){return this.text==="\u200B"?"&#8203;":te(this.text)?this.text:ne(this.text)}render(e){let t=this._createDOMNode();e.appendChild(t)}},de=class{constructor(e){this.items=[],this._nextKey=0,this.owner=e}_createNode(e){return typeof e=="object"&&e!==null?new p(e,this.owner,this._nextKey++):new Pe(e==null?"":String(e),this.owner)}_moveDomElement(e,t){if(!this.owner||!this.owner.domElement)return;let s=this.owner.domElement,i=e instanceof p?e.domElement:e.domText;if(i){let n=s.childNodes[t]||null;i!==n&&s.insertBefore(i,n)}}_swapDomElement(e,t){if(!this.owner||!this.owner.domElement)return;let s=this.owner.domElement,i=e instanceof p?e.domElement:e.domText,n=t instanceof p?t.domElement:t.domText;if(!i||!n)return;let r=i.nextSibling,o=n.nextSibling;s.insertBefore(i,o),s.insertBefore(n,r)}update(e,t=!0,s=!1){var i,n,r,o;let a=this.items.slice(),h=new Map;for(let u of a)u instanceof p&&u.key!==null&&u.key!==void 0&&h.set(u.key,u);!s&&this.owner.domElement&&((n=(i=this.owner._hooks)==null?void 0:i.BeforeUpdate)==null||n.call(i,this.owner,e));let l=new Set(a),f=new Set;for(let u=0;u<e.length;u++){let g=e[u],C=typeof g=="object"&&g!==null,y=C?g._key:void 0,$=C?re(g):void 0;if(y!==void 0){let m=h.get(y);if(m instanceof p&&m.tagName===$){h.delete(y);let A=this.items.indexOf(m);if(A!==u&&A>=0){let ve=!!m._portal;this.move(A,u,ve?!1:t,!0)}m.parent=this.owner,m.patch(g),f.add(m);continue}}else if(C){let m=this.items[u];if(m instanceof p&&m.key==null&&m.tagName===$&&l.has(m)&&!f.has(m)){m.parent=this.owner,m.patch(g),f.add(m);continue}}f.add(this.insert(g,u,t,!0))}let d=this.items.slice(e.length);for(let u of d)this.remove(u,t,!0);h.forEach(u=>this.remove(u,t,!0)),s||(o=(r=this.owner._hooks)==null?void 0:r.Update)==null||o.call(r,this.owner)}insert(e,t,s=!0,i=!1){var n,r;let o=this.items.length,a=typeof t!="number"||isNaN(t)||t<0||t>o?o:t,h=this._createNode(e);if(this.items.splice(a,0,h),h instanceof p){h._hooks.Insert&&h._hooks.Insert(h);let l=this.owner.domElement;if(s&&l)if(h._portal){let f=h._portal(this.owner.getRoot());f&&h.render(f)}else{let f=h._createDOMNode(),d=(n=l.childNodes[a])!=null?n:null;l.insertBefore(f,d);let u=l.getRootNode(),g=u instanceof ShadowRoot?u:document.head,C=ae(g);h.styles.render(C),h._hooks.Mount&&h._hooks.Mount(h),h.children.items.forEach(y=>{if(y instanceof p&&y._portal){let $=y._portal(y.getRoot());$&&y.render($)}else y.render(f)})}}else{let l=this.owner.domElement;if(s&&l){let f=h._createDOMNode(),d=(r=l.childNodes[a])!=null?r:null;l.insertBefore(f,d)}}return!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner),h}remove(e,t=!0,s=!1){let i=this.items.indexOf(e);if(!(i<0)){if(e instanceof p){if(e._beforeRemoveFired)return;let n=()=>{let r=e.domElement,o=this.items.indexOf(e);o>=0&&this.items.splice(o,1),t&&r&&r.remove(),e._dispose()};if(e._hooks.BeforeRemove&&e.domElement){let r=!1,o=()=>{r||(r=!0,n())};e._beforeRemoveFired=!0,e._hooks.BeforeRemove(e,o),e._hooks.BeforeRemove.length<2&&!r&&o()}else n()}else{let n=e.domText;this.items.splice(i,1),t&&n&&n.remove(),e._dispose()}!s&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}}clear(e=!0,t=!1){if(this.items.length===0)return;let s=this.items.slice();for(let i of s)this.remove(i,e,!0);!t&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}_dispose(){this.items.forEach(e=>e._dispose()),this.items=[]}swap(e,t,s=!0,i=!1){if(e<0||t<0||e>=this.items.length||t>=this.items.length||e===t)return;let n=this.items[e],r=this.items[t];this.items[e]=r,this.items[t]=n,s&&this._swapDomElement(n,r),!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}move(e,t,s=!0,i=!1){if(e<0||e>=this.items.length||t<0||t>=this.items.length||e===t)return;let n=this.items[e];this.items.splice(e,1),this.items.splice(t,0,n),s&&this._moveDomElement(n,t),!i&&this.owner.domElement&&this.owner._hooks.Update&&this.owner._hooks.Update(this.owner)}generateHTML(){let e="";for(let t of this.items)e+=t.generateHTML();return e}},ze=class{constructor(e,t,s){this.value="",this.name=e,this.cssName=oe(e),this.parentRule=s,this.set(t)}_domUpdate(){if(!this.parentRule)return;let e=this.parentRule.domRule;if(e&&e.style){let t=e.style;t.setProperty(this.cssName,String(this.value)),E[this.name]&&E[this.name].forEach(s=>{t.setProperty(`-${s}-${this.cssName}`,String(this.value))})}}_dispose(){this.value="",this.parentRule=null}set(e){var t,s,i,n;if(typeof e=="function"){let r=(()=>{var o;!this.parentRule||(o=this.parentRule.parentNode)!=null&&o._disposed||(this.value=e(r),this._domUpdate())});r.onSubscribe=o=>{var a;(a=this.parentRule.parentNode)==null||a.addHook("BeforeRemove",()=>{o(),r=null})},r.elementNode=this.parentRule.root,r.debug=`class:${(s=(t=this.parentRule)==null?void 0:t.root)==null?void 0:s.tagName}_${(n=(i=this.parentRule)==null?void 0:i.root)==null?void 0:n.nodeId} style:${this.name}`,this.value=e(r)}else this.value=e;this._domUpdate()}remove(){if(this.parentRule){if(this.parentRule.domRule instanceof CSSStyleRule){let e=this.parentRule.domRule.style;e.removeProperty(this.cssName),E[this.name]&&E[this.name].forEach(t=>{e.removeProperty(`-${t}-${this.cssName}`)})}delete this.parentRule.styleBlock[this.name],this._dispose()}}cssText(){let e=`${this.cssName}: ${this.value}`;return E[this.name]&&E[this.name].forEach(t=>{e+=`; -${t}-${this.cssName}: ${this.value}`}),e}},w=class W{constructor(t,s){this.domRule=null,this.styleBlock={},this.selectorText=t,this.styleList=new me(this),this.parent=s}_dispose(){if(this.styleBlock)for(let t of Object.values(this.styleBlock))t._dispose();this.styleList&&this.styleList._dispose(),this.styleBlock=null,this.styleList=null,this.domRule=null,this.parent=null}get root(){let t=this.parent;for(;t instanceof W;)t=t.parent;return t}get parentNode(){let t=this.parent;for(;t&&t instanceof W;)t=t.parent;return t}insertStyle(t,s){this.styleBlock&&(this.styleBlock[t]?this.styleBlock[t].set(s):this.styleBlock[t]=new ze(t,s,this))}removeStyle(t){this.styleBlock&&this.styleBlock[t]&&this.styleBlock[t].remove()}cssText(){if(!this.styleBlock||!this.styleList)return"";let t=Object.values(this.styleBlock).map(i=>i.cssText()).join(";"),s=this.styleList.cssText();return`${this.selectorText} { ${t} ${s} } `}mount(t){!t||!this.styleList||(this.domRule=t,"cssRules"in t&&this.styleList.mount(t.cssRules))}remove(){if(this.domRule&&this.domRule.parentStyleSheet){let t=this.domRule.parentStyleSheet,s=t.cssRules;for(let i=0;i<s.length;i++)if(s[i]===this.domRule){t.deleteRule(i);break}}this._dispose()}render(t){if(!this.styleBlock||!this.styleList)return;let s=Object.values(this.styleBlock).map(i=>i.cssText()).join(";");try{if(this.selectorText.startsWith("@")){if(/^@(media|supports|container|layer)\b/.test(this.selectorText)){let i=t.insertRule(`${this.selectorText} {}`,t.cssRules.length),n=t.cssRules[i];"cssRules"in n&&(this.mount(n),this.styleList.render(n))}else if(this.selectorText.startsWith("@keyframes")||this.selectorText.startsWith("@font-face")){let i=this.cssText(),n=t.insertRule(i,t.cssRules.length),r=t.cssRules[n];this.mount(r)}}else{let i=`${this.selectorText} { ${s} }`,n=t.insertRule(i,t.cssRules.length),r=t.cssRules[n];r&&"selectorText"in r&&this.mount(r)}}catch(i){console.warn("Failed to insert rule:",this.selectorText,i)}}},me=class{constructor(e){this.items=[],this.domStyle=null,this.parent=e}get parentNode(){let e=this.parent;for(;e&&e instanceof w;)e=e.parent;return e}addCSS(e,t=""){if(!this.items||!this.parent)return;let s={};function i(n,r){return n.startsWith("&")?`${r}${n.slice(1)}`:`${r} ${n}`}for(let n in e){let r=e[n],o=Ae(n);for(let a of o){let h=i(a,t);if(/^@(container|layer|supports|media)\b/.test(a)){if(typeof r=="object"&&r!=null){let l=new w(a,this.parent);l.styleList.addCSS(r,t),this.items.push(l)}}else if(a.startsWith("@keyframes")){let l=new w(a,this.parent);l.styleList.addCSS(r,""),this.items.push(l)}else if(a.startsWith("@font-face")){let l=new w(a,this.parent);for(let f in r)l.insertStyle(f,r[f]);this.items.push(l)}else if(typeof r=="object"&&r!=null){let l=new w(h,this.parent);this.items.push(l);for(let[f,d]of Object.entries(r))if(typeof d=="object"&&d!=null){let u=i(f,h);f.startsWith("&")?this.addCSS(d,u):l.styleList.insertRule(u).styleList.addCSS(d,u)}else l.insertStyle(f,d)}else s[a]=r}}if(Object.keys(s).length){let n=new w(t,this.parent);for(let r in s)n.insertStyle(r,s[r]);this.items.push(n)}}cssText(){return this.items?this.items.map(e=>e.cssText()).join(""):""}insertRule(e){if(!this.items||!this.parent)return null;let t=this.items.find(s=>s.selectorText===e);return t||(t=new w(e,this.parent),this.items.push(t)),t}hydrate(e){if(this.items)for(let t of this.items){let s=e.get(z(t.selectorText));s&&t.mount(s)}}mount(e){if(!this.items)return;if(!e)throw Error("Require domRuleList argument");let t=0,s=i=>i.replace("(odd)","(2n+1)").replace("(even)","(2n)");this.items.forEach((i,n)=>{let r=n-t,o=e[r];o&&(i.selectorText.startsWith("@")&&o instanceof CSSKeyframesRule||"keyText"in o?i.mount(o):"selectorText"in o?o.selectorText!==s(i.selectorText)?t+=1:i.mount(o):"cssRules"in o&&i.mount(o))})}render(e){e instanceof HTMLStyleElement?(this.domStyle=e,this.items.forEach(t=>t.render(e.sheet))):e instanceof CSSGroupingRule&&this.items.forEach(t=>t.render(e))}_dispose(){if(this.items)for(let e=0;e<this.items.length;e++)this.items[e]._dispose();this.items=[],this.parent=null,this.domStyle=null}},p=class T{constructor(t,s=null,i=0){this._disposed=!1,this._beforeRemoveFired=!1,this.type="ElementNode",this.parent=null,this.children=new de(this),this.styles=new me(this),this.attributes=new ue(this),this.domElement=null,this._hooks={},this._events=null,this._boundEvents=new Set,this._context={},this._metadata={},this.key=null;var n,r;t=_(t),ie(t),t.style=t.style||{},this.parent=s,this.tagName=re(t),t=U(t),this.key=(n=t._key)!=null?n:null,this._context=t._context||{},this._metadata=t._metadata||{};let o=`${(r=this.parent)==null?void 0:r.nodeId}.${i}`,a=JSON.stringify(t.style||{},(l,f)=>typeof f=="function"?o:f);this.nodeId=se(o+a),this.attributes.addClass(`${this.tagName}_${this.nodeId}`),t._onSchedule&&t._onSchedule(this,t),this.merge(t);let h=t[this.tagName];if(h!=null&&h!=null)if(typeof h=="function"){let l=()=>{if(this._disposed)return;let f=h(l);this.children.update(Array.isArray(f)?f:[f])};l.elementNode=this,l.debug=`class:${this.tagName}_${this.nodeId} children`,l.onSubscribe=f=>this.addHook("BeforeRemove",()=>{f(),l=null}),l&&l()}else this.children.update(Array.isArray(h)?h:[h]);this._hooks.Init&&this._hooks.Init(this)}_createDOMNode(){let t=he.includes(this.tagName)?document.createElementNS("http://www.w3.org/2000/svg",this.tagName):document.createElement(this.tagName);if(this.domElement=t,this._events)for(let s in this._events)this._bindEvent(s);return this.attributes&&Object.values(this.attributes.items).forEach(s=>s.render()),t}_bindEvent(t){if(!this.domElement||this._boundEvents.has(t))return;this._boundEvents.add(t);let s=i=>{var n,r;return(r=(n=this._events)==null?void 0:n[t])==null?void 0:r.call(n,i,this)};this.domElement.addEventListener(t,s),this.addHook("BeforeRemove",i=>{var n;(n=i.domElement)==null||n.removeEventListener(t,s),s=null})}_dispose(){var t,s,i,n;this._disposed||(this._disposed=!0,this._beforeRemoveFired||(this._beforeRemoveFired=!0,(s=(t=this._hooks).BeforeRemove)==null||s.call(t,this,()=>{})),this.children&&this.children._dispose(),this.styles&&(this.styles.items.forEach(r=>r.remove()),this.styles._dispose()),this.attributes&&this.attributes._dispose(),(n=(i=this._hooks).Remove)==null||n.call(i,this),this.domElement=null,this._hooks={},this._events=null,this._context={},this._metadata={},this.parent=null)}merge(t){v(this._context,t._context),v(this._metadata,t._metadata);let s=Object.keys(t);for(let i=0;i<s.length;i++){let n=s[i],r=t[n];["$","_onSchedule","_key","_context","_metadata","style",this.tagName].includes(n)||(["_onInit","_onInsert","_onMount","_onBeforeUpdate","_onUpdate","_onBeforeRemove","_onRemove"].includes(n)?this.addHook(n.substring(3),r):n.startsWith("on")?this.addEvent(n.substring(2).toLowerCase(),r):n=="_portal"?this._portal=r:n=="class"&&typeof r=="string"?this.attributes.addClass(r):this.attributes.set(n,r))}t.style&&this.styles.addCSS(t.style||{},`.${`${this.tagName}_${this.nodeId}`}`)}patch(t){let s=_(t);s.style=s.style||{},s=U(s);let i=s[this.tagName];if(typeof i!="function"){let l=i==null?[]:Array.isArray(i)?i:[i];this.children.update(l,!!this.domElement,!0)}s._context&&v(this._context,s._context),s._metadata&&v(this._metadata,s._metadata);let n=`${this.tagName}_${this.nodeId}`,r=["$","_onSchedule","_key","_context","_metadata","style",this.tagName],o=["_onInit","_onInsert","_onMount","_onBeforeUpdate","_onUpdate","_onBeforeRemove","_onRemove"],a=new Set(["class"]),h=null;this._events={};for(let l of Object.keys(s)){if(r.includes(l)||o.includes(l)||l==="_portal")continue;let f=s[l];l.startsWith("on")&&typeof f=="function"?this.addEvent(l.substring(2).toLowerCase(),f):l==="class"&&typeof f=="string"?h=f:(this.attributes.set(l,f),a.add(l))}if(this.attributes.set("class",h?`${n} ${h}`:n),this.attributes.items)for(let l of Object.keys(this.attributes.items))a.has(l)||this.attributes.remove(l);if(this._events)for(let l in this._events)this._bindEvent(l)}addEvent(t,s){this._events=this._events||{};let i=this._events[t];typeof i=="function"?this._events[t]=(n,r)=>{i(n,r),s(n,r)}:this._events[t]=s}addHook(t,s){let i=this._hooks[t];if(typeof i=="function"){let n=((...r)=>{i(...r),s(...r)});try{Object.defineProperty(n,"length",{value:Math.max(i.length,s.length),configurable:!0})}catch(r){}this._hooks[t]=n}else this._hooks[t]=s}getRoot(){let t=this;for(;t&&t instanceof T&&t.parent;)t=t.parent;return t}getContext(t){let s=this;for(;s&&(!s._context||!Object.prototype.hasOwnProperty.call(s._context,t));)s=s.parent;return s&&s._context?s._context[t]:void 0}setContext(t,s){this._context=this._context||{},this._context[t]=s}getMetadata(t){return this._metadata?this._metadata[t]:void 0}setMetadata(t,s){this._metadata=this._metadata||{},this._metadata[t]=s}generateCSS(){if(!this.styles||!this.children)return"";let t=this.styles.cssText();return t+=this.children.items.map(s=>s instanceof T?s.generateCSS():"").join(""),t}generateHTML(){if(!this.children||!this.attributes)return"";let t=this.attributes.generateHTML();if(le.includes(this.tagName))return`<${this.tagName}${t}>`;let s=this.children.generateHTML();return`<${this.tagName}${t}>${s}</${this.tagName}>`}mount(t,s){if(!t)throw new Error("Missing dom node on bind");if(this.domElement=t,this._events)for(let i in this._events)this._bindEvent(i);if(this.children&&this.children.items.forEach((i,n)=>{let r=t.childNodes[n];r&&(i instanceof T?i.mount(r):i.domText=r)}),s){let i=s.sheet;i&&this._hydrateStyles(je(i.cssRules,new Map))}this._hooks.Mount&&this._hooks.Mount(this)}_hydrateStyles(t){var s;if((s=this.styles)==null||s.hydrate(t),this.children)for(let i of this.children.items)i instanceof T&&i._hydrateStyles(t)}render(t){let s=this._createDOMNode();t.appendChild(s),this._hooks.Mount&&this._hooks.Mount(this);let i=this.getRoot().styles.domStyle,n=t.getRootNode(),r=n instanceof ShadowRoot?n:document.head;return i||(i=ae(r)),this.styles.render(i),this.children.items.forEach(o=>{if(o instanceof T&&o._portal){let a=o._portal(this.getRoot());a&&o.render(a)}else o.render(s)}),s}remove(){if(this.parent)this.parent.children.remove(this);else{let t=()=>{var s;(s=this.domElement)==null||s.remove(),this._dispose()};if(this._hooks.BeforeRemove&&this.domElement){let s=!1,i=()=>{s||(s=!0,t())};this._beforeRemoveFired=!0,this._hooks.BeforeRemove(this,i),this._hooks.BeforeRemove.length<2&&!s&&i()}else t()}}},Ue=class{constructor(e){this._notifier=new M,this.initialRecord=Q({},e),this._record=Q({},e)}get(e,t){return t&&this._notifier.addListener(e,t),this._record[e]}set(e,t){this._record[e]=t,this._notifier.notify(e)}addListener(e,t){return this._notifier.addListener(e,t)}removeListener(e,t){this._notifier.removeListener(e,t)}reset(e){this.set(e,this.initialRecord[e])}_dispose(){this._notifier._dispose()}};var I={};D(I,{getTheme:()=>c,setTheme:()=>Ve,themeApply:()=>qe,themeCSS:()=>V,themeColor:()=>tt,themeColorToken:()=>st,themeDensity:()=>Qe,themeName:()=>N,themeSize:()=>Ze,themeSpacing:()=>Ke,themeTokens:()=>K,themeVars:()=>x});var We={direction:"darken",colors:{primary:["#ffffff","#e3ecff","#c6daff","#aac8ff","#8fb6ff","#76a3ff","#5f91fc","#4a7ff4","#386ee7","#2a5ed7","#1e4ec2","#1440aa","#0c3290","#072674","#041a57","#020f38","#010419","#000000"],secondary:["#ffffff","#fce6ea","#faced6","#f7b5c2","#f29db0","#ec859e","#e36e8d","#d8597d","#ca456e","#b93460","#a42351","#8e1643","#770b36","#5f0529","#46031d","#2d0210","#130104","#000000"],info:["#ffffff","#dcf0f9","#b7e1f6","#90d2f1","#6ac3eb","#42b4e2","#16a4d5","#0094c4","#0084b2","#00739e","#00638a","#005476","#004461","#00354d","#002638","#001623","#00070d","#000000"],success:["#ffffff","#e3f3dc","#c6e8b8","#a9dd94","#8ed171","#75c450","#61b635","#51a51f","#429304","#358100","#2a7000","#215f00","#194d00","#123c00","#0b2b00","#051a00","#010900","#000000"],warning:["#ffffff","#ffeada","#ffd3b3","#ffbd8d","#ffa96b","#ff9853","#ec8640","#d77531","#c16523","#aa5718","#944a0f","#7e3d09","#673106","#512504","#3b1a03","#250e02","#0e0401","#000000"],attention:["#ffffff","#ffeada","#ffd3b3","#ffbd8d","#ffa96b","#ff9853","#ec8640","#d77531","#c16523","#aa5718","#944a0f","#7e3d09","#673106","#512504","#3b1a03","#250e02","#0e0401","#000000"],error:["#ffffff","#fce7e4","#fbcfca","#f8b7b0","#f59f96","#ef877e","#e86f67","#de5852","#d3403e","#c5282c","#b30a1b","#9e000b","#860001","#6c0000","#510000","#340000","#170000","#000000"],danger:["#ffffff","#fce7e4","#fbcfca","#f8b7b0","#f59f96","#ef877e","#e86f67","#de5852","#d3403e","#c5282c","#b30a1b","#9e000b","#860001","#6c0000","#510000","#340000","#170000","#000000"],highlight:["#ffffff","#f9f5cd","#f4eb95","#efe05a","#e6d427","#d3c100","#bfad00","#ab9b00","#988900","#857700","#736600","#615600","#4f4600","#3e3600","#2c2700","#1b1700","#090700","#000000"],neutral:["#ffffff","#ededed","#dbdbdb","#cacaca","#bababa","#ababab","#9b9b9b","#8d8d8d","#7e7e7e","#707070","#636363","#565656","#484848","#383838","#282828","#181818","#080808","#000000"]},baseTones:{highlight:5,warning:6,error:8,danger:8,secondary:8,primary:9,info:8,success:8,neutral:8},fontSizes:["0.75rem","0.875rem","1rem","1.25rem","1.5625rem","1.9375rem","2.4375rem","3.0625rem"],densities:[.75,1,1.5,2,2.5],darkBias:1,custom:{}},S=We;var G=e=>JSON.parse(JSON.stringify(e)),ce=e=>e.replace(/[^a-zA-Z0-9_-]/g,"_"),R={light:G(S),dark:Ge(S)};function q(e){let t=Object.keys(e.colors)[0];return t?e.colors[t].length:0}function He(e){for(let t in e)if(!Object.keys(S).includes(t))throw new Error(`Invalid key: ${t}`);if(e.fontSizes&&!Array.isArray(e.fontSizes))throw new Error("fontSize must be array of string");if(e.densities&&(!Array.isArray(e.densities)||e.densities.some(t=>typeof t!="number")))throw new Error("densities must be array of number");if("custom"in e){let t=e.custom;if(typeof t!="object"||t===null)throw new Error("Invalid custom property: must be an object")}}function pe(e,t){var s;for(let i in t)t[i]&&typeof t[i]=="object"&&!Array.isArray(t[i])?((s=e[i])!=null||(e[i]={}),pe(e[i],t[i])):e[i]=t[i]}function Fe(e,t){let s={},i=q(t);for(let r in t){let o=t[r];if(r==="colors")for(let a in t.colors)[...Array(i).keys()].forEach(h=>s[`--${a}-${h}`]=t.colors[a][h]);else if(r==="fontSizes")[...Array(8).keys()].forEach(a=>s[`--fontSize-${a}`]=t.fontSizes[a]);else if(r==="custom"&&o&&typeof o=="object")for(let a in o)s[`--custom-${ce(a)}`]=o[a]}let n="";for(let r in s)n+=` ${r}: ${s[r]};
3
3
  `;return`[data-theme="${e}"] {
4
- ${r}}`}function c(e){if(!S[e])throw Error(`Theme "${e}" not found`);return S[e]}function De(e,t){Ae(t),S[e]||(S[e]=U(k)),ae(S[e],t)}function Pe(e){let t=U(e);t.direction="lighten";for(let s in t.colors)t.colors[s].reverse(),t.baseTones[s]=t.colors[s].length-1-t.baseTones[s];return t}function W(e){let t=c(e),s=H(t),i={};for(let r in t){let n=t[r];if(r==="colors")for(let o in t.colors){let a={};[...Array(s).keys()].forEach(l=>a[l]=t.colors[o][l]),i[o]=a}else if(r==="fontSizes")i.fontSizes=t.fontSizes;else if(r==="densities")i.densities=t.densities;else if(i[r]={},typeof n=="object"&&n!==null)for(let o in n)i[r][o]=n[o]}return i}function x(){let e=c("light"),t=H(e),s={};for(let i in e){let r=i,n=e[i];if(i==="colors")for(let o in e.colors){let a={};[...Array(t).keys()].forEach(l=>a[l]=`var(--${o}-${l})`),s[o]=a}else if(i==="fontSizes")s.fontSizes=[...Array(8).keys()].map(o=>`var(--fontSize-${o})`);else{if(i==="densities")continue;if(s[r]={},typeof n=="object"&&n!==null)for(let o in n)s[r][o]=`var(--${r}-${o.replace("/","_")})`}}return s}function z(){return Object.entries(S).map(([e,t])=>je(e,t)).join(`
5
- `)}function ze(e){var t;if(typeof document!="undefined")if(e){e.textContent=z();return}else e=(t=document.getElementById("domphy-themes"))!=null?t:Object.assign(document.createElement("style"),{id:"domphy-themes"}),e.textContent=z(),document.head.appendChild(e)}function Ue(e){return e/4+"em"}function y(e){let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataTheme"));)s=s.parent;let i="light";return s&&s.attributes&&s.attributes.has("dataTheme")&&(i=s.attributes.get("dataTheme"),typeof e=="function"&&s.attributes.addListener("dataTheme",e)),i}var F=["inherit"];[...Array(8).keys()].forEach(e=>{F.push(`decrease-${e}`),F.push(`increase-${e}`)});function le(e,t="inherit"){if(!F.includes(t))throw Error(`size name "${t}" invalid`);let s;if(t=="inherit")s=e;else if(t!=null&&t.startsWith("increase-")){let i=parseInt(t.replace("increase-",""),10);s=e+i}else if(t!=null&&t.startsWith("decrease-")){let i=parseInt(t.replace("decrease-",""),10);s=e-i}else s=e;return Math.max(0,Math.min(8,s))}function He(e){if(!e)return 2;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataSize"));)s=s.parent;let i=2;return s&&s.attributes&&s.attributes.has("dataSize")&&(i=le(i,s.attributes.get("dataSize")),typeof e=="function"&&s.attributes.addListener("dataSize",e)),i}function We(e,t="inherit"){let s=le(He(e),t);return x().fontSizes[s]}var V=["inherit"];[...Array(5).keys()].forEach(e=>{V.push(`decrease-${e}`),V.push(`increase-${e}`)});function Fe(e,t="inherit"){if(!V.includes(t))throw Error(`density name "${t}" invalid`);let s;if(t=="inherit")s=e;else if(t!=null&&t.startsWith("increase-")){let i=parseInt(t.replace("increase-",""),10);s=e+i}else if(t!=null&&t.startsWith("decrease-")){let i=parseInt(t.replace("decrease-",""),10);s=e-i}else s=e;return Math.max(0,Math.min(4,s))}function Ve(e){if(!e)return 2;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataDensity"));)s=s.parent;let i=2;return s&&s.attributes&&s.attributes.has("dataDensity")&&(i=Fe(i,s.attributes.get("dataDensity")),typeof e=="function"&&s.attributes.addListener("dataDensity",e)),i}function Ge(e){let t=Ve(e);return c(e?y(e):"light").densities[t]}var p=k.colors.neutral.length,$=["inherit","base"];[...Array(p).keys()].forEach(e=>{$.push(`decrease-${e}`),$.push(`increase-${e}`),$.push(`shift-${e}`)});function he(e,t){if(e<0||e>p-1)return e;let s=e+t;return s=Math.max(0,Math.min(p-1,s)),s}function qe(e,t){if(e<0||e>p-1)return e;let s=Math.floor((p-1)/2),i=e<=s?e+t:e-t;return i=i<0||i>p-1?-i:i,i=Math.max(0,Math.min(p-1,i)),i}function C(e,t="inherit"){if(typeof t=="number")return t;if(t=="inherit")return e;if(!$.includes(t))throw Error(`tone name "${t}" invalid`);if(t.startsWith("increase-")){let s=parseInt(t.replace("increase-",""),10);return he(e,s)}else if(t.startsWith("decrease-")){let s=parseInt(t.replace("decrease-",""),10);return he(e,-s)}else if(t.startsWith("shift-")){let s=parseInt(t.replace("shift-",""),10);return qe(e,s)}else return e}function fe(e){if(!e)return 0;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataTone"));)s=s.parent;let i=0;return s&&s.attributes&&s.attributes.has("dataTone")&&(i=C(i,s.attributes.get("dataTone")),typeof e=="function"&&s.attributes.addListener("dataTone",e)),i}function ue(e,t,s){return s<=0?e:t==="lighten"&&e===0?s:t==="darken"&&e===p-1?p-1-s:e}function Ke(e,t="inherit",s="inherit"){let i=s=="inherit"?"neutral":s;if(!e)return x()[i][C(0,t)];let r;if(t=="base")r=c(y(e)).baseTones[i];else{let a=c(y(e)),l=ue(fe(e),a.direction,a.darkBias);r=C(l,t)}let n=x()[i];if(!n)throw Error(`color "${JSON.stringify(i)}" not found on theme "${y(e)}`);return n[r]}function Je(e,t="inherit",s="inherit"){let i=s=="inherit"?"neutral":s,r=e?y(e):"light",n=W(r);if(!e)return n[i][C(0,t)];let o;if(t=="base")o=c(r).baseTones[i];else{let a=c(r),l=ue(fe(e),a.direction,a.darkBias);o=C(l,t)}return n[i][o]}return ye(Xe);})();
4
+ ${n}}`}function c(e){if(!R[e])throw Error(`Theme "${e}" not found`);return R[e]}function Ve(e,t){He(t),R[e]||(R[e]=G(S)),pe(R[e],t)}function Ge(e){let t=G(e);t.direction="lighten";for(let s in t.colors)t.colors[s].reverse(),t.baseTones[s]=t.colors[s].length-1-t.baseTones[s];return t}function K(e){let t=c(e),s=q(t),i={};for(let n in t){let r=t[n];if(n==="colors")for(let o in t.colors){let a={};[...Array(s).keys()].forEach(h=>a[h]=t.colors[o][h]),i[o]=a}else if(n==="fontSizes")i.fontSizes=t.fontSizes;else if(n==="densities")i.densities=t.densities;else if(n==="custom"&&(i.custom={},r&&typeof r=="object"))for(let o in r)i.custom[o]=r[o]}return i}function x(){let e=c("light"),t=q(e),s={};for(let i in e){let n=e[i];if(i==="colors")for(let r in e.colors){let o={};[...Array(t).keys()].forEach(a=>o[a]=`var(--${r}-${a})`),s[r]=o}else if(i==="fontSizes")s.fontSizes=[...Array(8).keys()].map(r=>`var(--fontSize-${r})`);else if(i==="custom"&&(s.custom={},n&&typeof n=="object"))for(let r in n)s.custom[r]=`var(--custom-${ce(r)})`}return s}function V(){return Object.entries(R).map(([e,t])=>Fe(e,t)).join(`
5
+ `)}function qe(e){var t;if(typeof document!="undefined")if(e){e.textContent=V();return}else e=(t=document.getElementById("domphy-themes"))!=null?t:Object.assign(document.createElement("style"),{id:"domphy-themes"}),e.textContent=V(),document.head.appendChild(e)}function Ke(e){return e/4+"em"}function N(e){let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataTheme"));)s=s.parent;let i="light";return s&&s.attributes&&s.attributes.has("dataTheme")&&(i=s.attributes.get("dataTheme"),typeof e=="function"&&s.attributes.addListener("dataTheme",e)),i}var J=["inherit"];[...Array(8).keys()].forEach(e=>{J.push(`decrease-${e}`),J.push(`increase-${e}`)});function ye(e,t="inherit"){if(!J.includes(t))throw Error(`size name "${t}" invalid`);let s;if(t=="inherit")s=e;else if(t!=null&&t.startsWith("increase-")){let i=parseInt(t.replace("increase-",""),10);s=e+i}else if(t!=null&&t.startsWith("decrease-")){let i=parseInt(t.replace("decrease-",""),10);s=e-i}else s=e;return Math.max(0,Math.min(8,s))}function Je(e){if(!e)return 2;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataSize"));)s=s.parent;let i=2;return s&&s.attributes&&s.attributes.has("dataSize")&&(i=ye(i,s.attributes.get("dataSize")),typeof e=="function"&&s.attributes.addListener("dataSize",e)),i}function Ze(e,t="inherit"){let s=ye(Je(e),t);return x().fontSizes[s]}var Z=["inherit"];[...Array(5).keys()].forEach(e=>{Z.push(`decrease-${e}`),Z.push(`increase-${e}`)});function Xe(e,t="inherit"){if(!Z.includes(t))throw Error(`density name "${t}" invalid`);let s;if(t=="inherit")s=e;else if(t!=null&&t.startsWith("increase-")){let i=parseInt(t.replace("increase-",""),10);s=e+i}else if(t!=null&&t.startsWith("decrease-")){let i=parseInt(t.replace("decrease-",""),10);s=e-i}else s=e;return Math.max(0,Math.min(4,s))}function Ye(e){if(!e)return 2;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataDensity"));)s=s.parent;let i=2;return s&&s.attributes&&s.attributes.has("dataDensity")&&(i=Xe(i,s.attributes.get("dataDensity")),typeof e=="function"&&s.attributes.addListener("dataDensity",e)),i}function Qe(e){let t=Ye(e);return c(e?N(e):"light").densities[t]}var k=S.colors.neutral.length,O=["inherit","base"];[...Array(k).keys()].forEach(e=>{O.push(`decrease-${e}`),O.push(`increase-${e}`),O.push(`shift-${e}`)});function be(e,t){if(e<0||e>k-1)return e;let s=e+t;return s=Math.max(0,Math.min(k-1,s)),s}function et(e,t){if(e<0||e>k-1)return e;let s=Math.floor((k-1)/2),i=e<=s?e+t:e-t;return i=Math.max(0,Math.min(k-1,i)),i}function L(e,t="inherit"){if(typeof t=="number")return t;if(t=="inherit")return e;if(!O.includes(t))throw Error(`tone name "${t}" invalid`);if(t.startsWith("increase-")){let s=parseInt(t.replace("increase-",""),10);return be(e,s)}else if(t.startsWith("decrease-")){let s=parseInt(t.replace("decrease-",""),10);return be(e,-s)}else if(t.startsWith("shift-")){let s=parseInt(t.replace("shift-",""),10);return et(e,s)}else return e}function ge(e){if(!e)return 0;let s=typeof e=="function"?e.elementNode:e;for(;s&&(!s.attributes||!s.attributes.get("dataTone"));)s=s.parent;let i=0;return s&&s.attributes&&s.attributes.has("dataTone")&&(i=L(i,s.attributes.get("dataTone")),typeof e=="function"&&s.attributes.addListener("dataTone",e)),i}function _e(e,t,s){return s<=0?e:t==="lighten"&&e===0?s:t==="darken"&&e===k-1?k-1-s:e}function tt(e,t="inherit",s="inherit"){let i=s=="inherit"?"neutral":s;if(!e)return t=="base"?x()[i][c("light").baseTones[i]]:x()[i][L(0,t)];let n=N(e),r;if(t=="base")r=c(n).baseTones[i];else{let h=c(n),l=_e(ge(e),h.direction,h.darkBias);r=L(l,t)}let o=x()[i];if(!o)throw Error(`color "${i}" not found on theme "${n}"`);return o[r]}function st(e,t="inherit",s="inherit"){let i=s=="inherit"?"neutral":s,n=e?N(e):"light",r=K(n);if(!e)return t=="base"?r[i][c("light").baseTones[i]]:r[i][L(0,t)];let o;if(t=="base")o=c(n).baseTones[i];else{let a=c(n),h=_e(ge(e),a.direction,a.darkBias);o=L(h,t)}return r[i][o]}return xe(it);})();
6
6
  //# sourceMappingURL=core-theme.global.js.map