visbug-editor 0.2.0 → 0.3.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.
- package/dist/visbug-editor.browser.js +2 -2
- package/dist/visbug-editor.browser.js.map +1 -1
- package/dist/visbug-editor.cjs.js +1 -1
- package/dist/visbug-editor.cjs.js.map +1 -1
- package/dist/visbug-editor.esm.js +1 -1
- package/dist/visbug-editor.esm.js.map +1 -1
- package/dist/visbug-editor.umd.js +1 -1
- package/dist/visbug-editor.umd.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e={on:function(e,t,r){return e.split(" ").forEach(e=>this.addEventListener(e,t,r)),this},off:function(e,t,r){return e.split(" ").forEach(e=>this.removeEventListener(e,t,r)),this},attr:function(e,t){return void 0===t?this.getAttribute(e):(null==t?this.removeAttribute(e):this.setAttribute(e,t),this)}};function t(t,r=document){let a=t instanceof NodeList||Array.isArray(t)?t:t instanceof HTMLElement||t instanceof SVGElement?[t]:r.querySelectorAll(t);return a.length||(a=[]),Object.assign(Array.from(a).map(t=>Object.assign(t,e)),{on:function(e,t,r){return this.forEach(a=>a.on(e,t,r)),this},off:function(e,t,r){return this.forEach(a=>a.off(e,t,r)),this},attr:function(e,t){return"string"==typeof e&&void 0===t?this[0].attr(e):("object"==typeof e?this.forEach(t=>Object.entries(e).forEach(([e,r])=>t.attr(e,r))):"string"==typeof e&&this.forEach(r=>r.attr(e,t)),this)}})}const r=e=>{const t=new CSSStyleSheet;return t.replaceSync(e),t},a=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{background:transparent;border:none;display:grid;grid-template-rows:1fr;height:var(--height);inset:var(--top) auto auto var(--left);isolation:isolate;overflow:visible;padding:0;pointer-events:none;position:var(--position,"absolute");width:var(--width);z-index:var(--layer-3)}:host>svg{position:absolute}:host::backdrop{background:none!important}'),o=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{display:grid;grid-area:1/-1;place-self:var(--align-self,center) var(--justify-self,center);transform:translate(var(--translate-x,0),var(--translate-y,0))}:host([hidden]){display:none}:host>button{background-color:#fff;border:1px solid var(--neon-pink);border-radius:50%;cursor:var(--cursor);height:.5rem;padding:0;pointer-events:auto;position:relative;width:.5rem;&:before{content:"";inset:-.5rem;position:absolute}}:host([placement^=top]){--align-self:start;--translate-y:-50%}:host([placement^=bottom]){--align-self:end;--translate-y:50%}:host([placement$=start]){--justify-self:start;--translate-x:-50%}:host([placement$=end]){--justify-self:end;--translate-x:50%}:host([placement^=bottom]),:host([placement^=top]){--cursor:ns-resize}:host([placement$=end]),:host([placement$=start]){--cursor:ew-resize}:host([placement=top-start]){--cursor:nw-resize}:host([placement=top-end]){--cursor:ne-resize}:host([placement=bottom-start]){--cursor:sw-resize}:host([placement=bottom-end]){--cursor:se-resize}'),n=r(":host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host rect{vector-effect:non-scaling-stroke;stroke:var(--hover-stroke,var(--neon-purple,#8929ff));stroke-width:2px;fill:none;height:100%;width:100%}:host>svg{z-index:var(--layer-5)}"),s=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{--position:absolute;--top:0;--left:0;--max-width:0;background:transparent;border:none;font-size:16px;margin:0;overflow:visible;padding:0;position:static}:host>span{background:var(--label-bg,var(--neon-pink));color:#fff;display:inline-flex;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:.8em;font-weight:400;inset:var(--top) auto auto var(--left);justify-content:center;line-height:1.1;max-width:var(--max-width);padding:2px 6px;position:var(--position);text-shadow:var(--text-shadow);transform:translateY(-100%);white-space:nowrap;z-index:var(--layer-4)}:host a{color:inherit;cursor:pointer;overflow:hidden;padding-bottom:1px;text-decoration:none;text-overflow:ellipsis;&:hover{color:#fff;text-decoration:underline}&[node]:before{content:"\\003c"}&[node]:after{content:"\\003e"}}:host::backdrop{background:none!important}'),i=r(":host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host svg{display:none;left:var(--left);overflow:visible;pointer-events:none;position:absolute;top:var(--top);z-index:var(--layer-5);&>rect{fill:rgba(255,107,181,.5);height:100%;width:100%}}"),l=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{--position:absolute;--top:0;--left:0;--max-width:0;background:transparent;border:none;font-size:16px;margin:0;overflow:visible;padding:0;position:static}:host>span{background:var(--label-bg,var(--neon-pink));color:#fff;display:inline-flex;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:.8em;font-weight:400;inset:var(--top) auto auto var(--left);justify-content:center;line-height:1.1;max-width:var(--max-width);padding:2px 6px;position:var(--position);text-shadow:var(--text-shadow);transform:translateY(-100%);white-space:nowrap;z-index:var(--layer-4)}:host a{color:inherit;cursor:pointer;overflow:hidden;padding-bottom:1px;text-decoration:none;text-overflow:ellipsis;&:hover{color:#fff;text-decoration:underline}&[node]:before{content:"\\003c"}&[node]:after{content:"\\003e"}}:host::backdrop{background:none!important}:host{--count:"\\00a0 0";--hover-text:""}:host>[offscreen-label]{cursor:none}:host>[offscreen-label]:after{content:var(--count)}:host>[offscreen-label]:hover:after{content:var(--hover-text)}');function h(e,t,r){return Math.max(e,Math.min(t,r))}new CSSStyleSheet,new CSSStyleSheet;class c{constructor(){this.timestamp=Date.now()}undo(){throw new Error("undo() must be implemented")}redo(){throw new Error("redo() must be implemented")}canMerge(e){return!1}merge(e){return this}}class d extends c{constructor({element:e,property:t,oldValue:r,newValue:a}){super(),this.element=e,this.property=t,this.oldValue=r,this.newValue=a}undo(){this.element&&this.element.isConnected&&(this.element.style[this.property]=this.oldValue)}redo(){this.element&&this.element.isConnected&&(this.element.style[this.property]=this.newValue)}canMerge(e){return e instanceof d&&e.element===this.element&&e.property===this.property&&e.timestamp-this.timestamp<1e3}merge(e){return new d({element:this.element,property:this.property,oldValue:this.oldValue,newValue:e.newValue})}}class p extends c{constructor({element:e,attribute:t,oldValue:r,newValue:a}){super(),this.element=e,this.attribute=t,this.oldValue=r,this.newValue=a}undo(){this.element?.isConnected&&(null===this.oldValue?this.element.removeAttribute(this.attribute):this.element.setAttribute(this.attribute,this.oldValue))}redo(){this.element?.isConnected&&(null===this.newValue?this.element.removeAttribute(this.attribute):this.element.setAttribute(this.attribute,this.newValue))}}class u extends c{constructor({element:e,oldParent:t,oldNextSibling:r,newParent:a,newNextSibling:o}){super(),this.element=e,this.oldParent=t,this.oldNextSibling=r,this.newParent=a,this.newNextSibling=o}undo(){this.element&&(this.oldParent?this.oldNextSibling&&this.oldNextSibling.isConnected?this.oldParent.insertBefore(this.element,this.oldNextSibling):this.oldParent.appendChild(this.element):this.newParent&&this.element.isConnected&&this.element.remove())}redo(){this.element&&(this.newParent?this.newNextSibling&&this.newNextSibling.isConnected?this.newParent.insertBefore(this.element,this.newNextSibling):this.newParent.appendChild(this.element):this.element.isConnected&&this.element.remove())}}class g extends c{constructor({element:e,oldText:t,newText:r}){super(),this.element=e,this.oldText=t,this.newText=r}undo(){this.element?.isConnected&&(this.element.textContent=this.oldText)}redo(){this.element?.isConnected&&(this.element.textContent=this.newText)}}class m extends c{constructor(e){super(),this.changes=e}undo(){for(let e=this.changes.length-1;e>=0;e--)this.changes[e].undo()}redo(){for(let e=0;e<this.changes.length;e++)this.changes[e].redo()}}class f{constructor(e={}){this.undoStack=[],this.redoStack=[],this.maxSize=e.maxSize||50,this.batchMode=!1,this.batchedChanges=[],this.mergeTimeout=e.mergeTimeout||1e3,this.listeners={}}on(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}off(e,t){this.listeners[e]&&(this.listeners[e]=this.listeners[e].filter(e=>e!==t))}emit(e,t){this.listeners[e]&&this.listeners[e].forEach(e=>e(t))}push(e){if(this.batchMode)Array.isArray(e)?this.batchedChanges.push(...e):this.batchedChanges.push(e);else{if(Array.isArray(e)){if(0===e.length)return;e=1===e.length?e[0]:new m(e)}if(this.undoStack.length>0){const t=this.undoStack[this.undoStack.length-1];if(t.canMerge(e)){const r=t.merge(e);return this.undoStack[this.undoStack.length-1]=r,void(this.redoStack=[])}}this.undoStack.push(e),this.redoStack=[],this.undoStack.length>this.maxSize&&this.undoStack.shift(),this.emit("change",this.state)}}beginBatch(){this.batchMode=!0,this.batchedChanges=[]}endBatch(){if(this.batchedChanges.length>0){const e=new m(this.batchedChanges);this.undoStack.push(e),this.redoStack=[],this.undoStack.length>this.maxSize&&this.undoStack.shift(),this.emit("change",this.state)}this.batchMode=!1,this.batchedChanges=[]}undo(){if(!this.canUndo())return!1;const e=this.undoStack.pop();try{return e.undo(),this.redoStack.push(e),this.emit("change",this.state),!0}catch(t){return console.error("Error during undo:",t),this.undoStack.push(e),!1}}redo(){if(!this.canRedo())return!1;const e=this.redoStack.pop();try{return e.redo(),this.undoStack.push(e),this.emit("change",this.state),!0}catch(t){return console.error("Error during redo:",t),this.redoStack.push(e),!1}}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}clear(){this.undoStack=[],this.redoStack=[],this.batchedChanges=[],this.batchMode=!1,this.emit("change",this.state)}getHistory(){return this.undoStack}get size(){return{undo:this.undoStack.length,redo:this.redoStack.length}}get state(){return{canUndo:this.canUndo(),canRedo:this.canRedo(),undoSize:this.undoStack.length,redoSize:this.redoStack.length,batchMode:this.batchMode}}}class x extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[o]}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles,this.$shadow.innerHTML=this.render(),this.button=this.$shadow.querySelector("button"),this.button.addEventListener("pointerdown",this.on_element_resize_start.bind(this)),this.placement=this.getAttribute("placement")}static get observedAttributes(){return["placement"]}attributeChangedCallback(e,t,r){"placement"===e&&(this.placement=r)}on_element_resize_start(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;const r=this.placement,a=e.composedPath().find(e=>"VISBUG-HANDLES"===e.tagName),o=a.getAttribute("data-label-id"),[n]=t(`[data-label-id="${o}"]`);if(!n)return;const{x:s,y:i}=e,l=getComputedStyle(n),c=parseFloat(l.width),p=parseFloat(l.height),u=new DOMMatrix(l.transform),g=a.historyManager,f={width:n.style.width,height:n.style.height,transform:n.style.transform},x=n.style.transition,w=document.body.style.cursor,b=document.body.style.userSelect;function v(e){e.preventDefault(),e.stopPropagation();const t=h(0,e.clientX,document.documentElement.clientWidth),a=h(0,e.clientY,document.documentElement.clientHeight),o=t-s,l=a-i;switch(r){case"top-start":{const e=c-o,t=p-l,r=u.translate(o,l).transformPoint();requestAnimationFrame(()=>{n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"top-center":{const e=p-l,t=u.translate(0,l).transformPoint();requestAnimationFrame(()=>{n.style.height=`${e}px`,n.style.transform=`translate(${t.x}px, ${t.y}px)`});break}case"top-end":{const e=c+o,t=p-l,r=u.translate(0,l).transformPoint();requestAnimationFrame(()=>{n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"middle-start":{const e=c-o,t=u.translate(o).transformPoint();requestAnimationFrame(()=>{n.style.width=`${e}px`,n.style.transform=`translate(${t.x}px, ${t.y}px)`});break}case"middle-end":{const e=c+o;requestAnimationFrame(()=>{n.style.width=`${e}px`});break}case"bottom-start":{const e=c-o,t=p+l,r=u.translate(o,0).transformPoint();requestAnimationFrame(()=>{n.style.width=`${e}px`,n.style.height=`${t}px`,n.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"bottom-center":{const e=p+l;requestAnimationFrame(()=>{n.style.height=`${e}px`});break}case"bottom-end":{const e=c+o,t=p+l;requestAnimationFrame(()=>{n.style.width=`${e}px`,n.style.height=`${t}px`});break}}}function y(){if(document.removeEventListener("pointermove",v),document.body.style.cursor=w,document.body.style.userSelect=b,n.style.transition=x,g){const e=[];f.width!==n.style.width&&e.push(new d({element:n,property:"width",oldValue:f.width,newValue:n.style.width})),f.height!==n.style.height&&e.push(new d({element:n,property:"height",oldValue:f.height,newValue:n.style.height})),f.transform!==n.style.transform&&e.push(new d({element:n,property:"transform",oldValue:f.transform,newValue:n.style.transform})),e.length>1?g.push(new m(e)):1===e.length&&g.push(e[0])}}n.style.transition="none",document.body.style.cursor=getComputedStyle(this).getPropertyValue("--cursor"),document.body.style.userSelect="none",document.addEventListener("pointermove",v),document.addEventListener("pointerup",y,{once:!0}),document.addEventListener("mouseleave",y,{once:!0})}disconnectedCallback(){this.button.removeEventListener("pointerdown",this.on_element_resize_start.bind(this))}render(){return'\n <button type="button" aria-label="Resize"></button>\n '}}customElements.define("visbug-handle",x);const w=navigator.userAgent.search("Firefox")>0,b=navigator.userAgent.search("Safari")>0,v=navigator.userAgent.search("Chrome")>0,y=b&&!v,M=(()=>{try{return new window.CSSStyleSheet("a{}"),!0}catch(e){return!1}})(),k={color:"rgb(0, 0, 0)",backgroundColor:"rgba(0, 0, 0, 0)",backgroundImage:"none",backgroundSize:"auto",backgroundPosition:"0% 0%",borderRadius:"0px",boxShadow:"none",padding:"0px",margin:"0px",fontFamily:"auto",fontSize:"16px",fontWeight:"400",textAlign:"start",textShadow:"none",textTransform:"none",lineHeight:"normal",letterSpacing:"normal",display:"block",alignItems:"normal",justifyContent:"normal",flexDirection:"row",flexWrap:"nowrap",flexBasis:"auto",fill:"rgb(0, 0, 0)",stroke:"none",gridTemplateColumns:"none",gridAutoColumns:"auto",gridTemplateRows:"none",gridAutoRows:"auto",gridTemplateAreas:"none",gridArea:"auto",gap:"normal",gridAutoFlow:"row"};w&&(k.backgroundSize="auto",k.borderWidth="",k.borderRadius="",k.padding="",k.margin="",k.gap="",k.gridArea="",k.borderColor=""),y&&(k.gap="normal normal");const C=["role","tabindex","aria-*","for","alt","title","type"],S=[{fontSize:"24px",fontWeight:"0"},{fontSize:"18.5px",fontWeight:"700"}],E=(e,t)=>{if(document.defaultView&&document.defaultView.getComputedStyle){t=(t=t.replace(/([A-Z])/g,"-$1")).toLowerCase();let r=document.defaultView.getComputedStyle(e,"");return r&&r.getPropertyValue(t)}},_=e=>{e.style;const t=window.getComputedStyle(e,null),r=[],a=[];for(const o in e.style){const e=k[o];e&&e!=t[o]&&r.push({prop:o,value:t[o]}),"borderColor"!==o&&"borderWidth"!==o&&"borderStyle"!==o||(a[o]=t[o].replace(/, rgba/g,"\rrgba"))}const{borderColor:o,borderWidth:n,borderStyle:s}=a;return parseFloat(n)>0&&(r.push({prop:"borderColor",value:o}),r.push({prop:"borderStyle",value:s}),r.push({prop:"borderWidth",value:n})),r.sort(function({prop:e},{prop:t}){return e<t?-1:e>t?1:0})};let $;const A=()=>{if($)return $;const e=document.createElement("span");return e.style.backgroundColor="Canvas",document.body.appendChild(e),$=getComputedStyle(e).backgroundColor,document.body.removeChild(e),$},P=e=>"HTML"===e.nodeName?e:e.parentNode&&1===e.parentNode.nodeType?e.parentNode:"#document-fragment"===e.parentNode.nodeName?e.parentNode.host:e.parentNode.parentNode.host,L=new Map,z=e=>{let t=[],r=e;for(;r;)t.push(r),r=!!r.parentNode&&r.parentNode;return t.reduce((t,r)=>`\n ${t}${r.tagName}_${r.className}_${[...e.parentNode.children].indexOf(e)}_${e.children.length}\n `,"")},N=(e,t=!1)=>{if(!e.className)return"";const r=Array.from(e.classList).reduce((e,t)=>e+"."+B(t),"");return t&&r.length>30?r.substring(0,30)+"...":r},B=e=>Array.from(e).map(e=>/[0-9a-zA-Z_\s-]/.test(e)?e:`\\${e}`).join(""),T=window.navigator.platform.includes("Mac")?"cmd":"ctrl",R=window.navigator.platform.includes("Mac")?"opt":"alt",I=(e,t)=>{const r=document.elementFromPoint(e,t),a=r=>{if(r.shadowRoot){const o=r.shadowRoot.elementFromPoint(e,t);return o==r?r:o.shadowRoot?a(o):o}return r};return a(r)||r},O=e=>{let t=e.split("+").pop().replace(/^\w/,e=>e.toUpperCase());return"Up"==t&&(t="Top"),"Down"==t&&(t="Bottom"),t};let j={};const D=(e,t=750)=>(e.setAttribute("data-selected-hide",!0),F(e,!0),j[z(e)]&&clearTimeout(j[z(e)]),j[z(e)]=setTimeout(t=>{e.removeAttribute("data-selected-hide"),F(e,!1)},t),e),F=(e,r=!1)=>{if(!e.hasAttribute("data-label-id"))return;const a=e.getAttribute("data-label-id"),o=t(`\n visbug-label[data-label-id="${a}"],\n visbug-handles[data-label-id="${a}"]\n `);o.length&&r?o.forEach(e=>e.style.display="none"):o.forEach(e=>e.style.display=null)},V=e=>e.closest&&(e.closest("vis-bug")||e.closest("hotkey-map")||e.closest("visbug-metatip")||e.closest("visbug-ally")||e.closest("visbug-label")||e.closest("visbug-handles")||e.closest("visbug-corners")||e.closest("visbug-grip")||e.closest("visbug-gridlines")||e.closest("visbug-hover")||e.closest("visbug-overlay")||e.closest("visbug-offscreen-label")),H=e=>{try{t=e,document.createDocumentFragment().querySelector(t)}catch(e){return!1}var t;return!0},W=(e,t)=>{const r=e.parentNode?e.parentNode:document.body;if(!r)throw new Error("The node must already be attached");const a=new MutationObserver(r=>{for(const o of r)for(const r of o.removedNodes)r===e&&(a.disconnect(),t())});a.observe(r,{childList:!0})};const q=e=>{do{if("fixed"==window.getComputedStyle(e).position)return!0}while(e=e.offsetParent);return!1};function Y(e,t){let r=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let a=t[0].length,o=t[0].map((e,r)=>t.map(e=>e[r])),n=e.map(e=>o.map(t=>{let r=0;if(!Array.isArray(e)){for(let a of t)r+=e*a;return r}for(let a=0;a<e.length;a++)r+=e[a]*(t[a]||0);return r}));return 1===r&&(n=n[0]),1===a?n.map(e=>e[0]):n}function K(e){return"string"===U(e)}function U(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function G(e,{precision:t,unit:r}){return X(e)?"none":J(e,t)+(r??"")}function X(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Z(e){return X(e)?0:e}function J(e,t){if(0===e)return 0;let r=~~e,a=0;r&&t&&(a=1+~~Math.log10(Math.abs(r)));const o=10**(t-a);return Math.floor(e*o+.5)/o}const Q={deg:1,grad:.9,rad:180/Math.PI,turn:360};function ee(e){if(!e)return;e=e.trim();const t=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,a=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g;let o=e.match(/^([a-z]+)\((.+?)\)$/i);if(o){let e=[];return o[2].replace(a,(a,o)=>{let n=o.match(r),s=o;if(n){let e=n[0],t=s.slice(0,-e.length);"%"===e?(s=new Number(t/100),s.type="<percentage>"):(s=new Number(t*Q[e]),s.type="<angle>",s.unit=e)}else t.test(s)?(s=new Number(s),s.type="<number>"):"none"===s&&(s=new Number(NaN),s.none=!0);a.startsWith("/")&&(s=s instanceof Number?s:new Number(s),s.alpha=!0),"object"==typeof s&&s instanceof Number&&(s.raw=o),e.push(s)}),{name:o[1].toLowerCase(),rawName:o[1],rawArgs:o[2],args:e}}}function te(e){return e[e.length-1]}function re(e,t,r){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*r}function ae(e,t,r){return(r-e)/(t-e)}function oe(e,t,r){return re(t[0],t[1],ae(e[0],e[1],r))}function ne(e){return e.map(e=>e.split("|").map(e=>{let t=(e=e.trim()).match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let e=new String(t[1]);return e.range=[+t[2],+t[3]],e}return e}))}function se(e,t,r){return Math.max(Math.min(r,t),e)}function ie(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function le(e,t){return ie(Math.abs(e)**t,e)}function he(e,t){return 0===t?0:e/t}function ce(e,t,r=0,a=e.length){for(;r<a;){const o=r+a>>1;e[o]<t?r=o+1:a=o}return r}var de=Object.freeze({__proto__:null,bisectLeft:ce,clamp:se,copySign:ie,interpolate:re,interpolateInv:ae,isNone:X,isString:K,last:te,mapRange:oe,multiplyMatrices:Y,parseCoordGrammar:ne,parseFunction:ee,serializeNumber:G,skipNone:Z,spow:le,toPrecision:J,type:U,zdiv:he});const pe=new class{add(e,t,r){if("string"==typeof arguments[0])(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this);else for(var e in arguments[0])this.add(e,arguments[0][e],arguments[1])}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}};var ue={gamut_mapping:"css",precision:5,deltaE:"76",verbose:"test"!==globalThis?.process?.env?.NODE_ENV?.toLowerCase(),warn:function(e){this.verbose&&globalThis?.console?.warn?.(e)}};const ge={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function me(e){return Array.isArray(e)?e:ge[e]}function fe(e,t,r,a={}){if(e=me(e),t=me(t),!e||!t)throw new TypeError(`Missing white point to convert ${e?"":"from"}${e||t?"":"/"}${t?"":"to"}`);if(e===t)return r;let o={W1:e,W2:t,XYZ:r,options:a};if(pe.run("chromatic-adaptation-start",o),o.M||(o.W1===ge.D65&&o.W2===ge.D50?o.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:o.W1===ge.D50&&o.W2===ge.D65&&(o.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),pe.run("chromatic-adaptation-end",o),o.M)return Y(o.M,o.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}const xe=new Set(["<number>","<percentage>","<angle>"]);function we(e,t,r,a){let o=Object.entries(e.coords).map(([e,o],n)=>{let s,i=t.coordGrammar[n],l=a[n],h=l?.type;if(s=l.none?i.find(e=>xe.has(e)):i.find(e=>e==h),!s){let t=o.name||e;throw new TypeError(`${h??l.raw} not allowed for ${t} in ${r}()`)}let c=s.range;"<percentage>"===h&&(c||=[0,1]);let d=o.range||o.refRange;return c&&d&&(a[n]=oe(c,d,a[n])),s});return o}function be(e,{meta:t}={}){let r={str:String(e)?.trim()};if(pe.run("parse-start",r),r.color)return r.color;if(r.parsed=ee(r.str),r.parsed){let e=r.parsed.name;if("color"===e){let e=r.parsed.args.shift(),a=e.startsWith("--")?e.substring(2):`--${e}`,o=[e,a],n=r.parsed.rawArgs.indexOf("/")>0?r.parsed.args.pop():1;for(let a of ye.all){let s=a.getFormat("color");if(s&&(o.includes(s.id)||s.ids?.filter(e=>o.includes(e)).length)){const o=Object.keys(a.coords).map((e,t)=>r.parsed.args[t]||0);let i;return s.coordGrammar&&(i=we(a,s,"color",o)),t&&Object.assign(t,{formatId:"color",types:i}),s.id.startsWith("--")&&!e.startsWith("--")&&ue.warn(`${a.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${s.id}) instead of color(${e}).`),e.startsWith("--")&&!s.id.startsWith("--")&&ue.warn(`${a.name} is a standard space and supported in the CSS spec. Use color(${s.id}) instead of prefixed color(${e}).`),{spaceId:a.id,coords:o,alpha:n}}}let s="",i=e in ye.registry?e:a;if(i in ye.registry){let e=ye.registry[i].formats?.color?.id;e&&(s=`Did you mean color(${e})?`)}throw new TypeError(`Cannot parse color(${e}). `+(s||"Missing a plugin?"))}for(let a of ye.all){let o=a.getFormat(e);if(o&&"function"===o.type){let n=1;(o.lastAlpha||te(r.parsed.args).alpha)&&(n=r.parsed.args.pop());let s,i=r.parsed.args;return o.coordGrammar&&(s=we(a,o,e,i)),t&&Object.assign(t,{formatId:o.name,types:s}),{spaceId:a.id,coords:i,alpha:n}}}}else for(let e of ye.all)for(let a in e.formats){let o=e.formats[a];if("custom"!==o.type)continue;if(o.test&&!o.test(r.str))continue;let n=o.parse(r.str);if(n)return n.alpha??=1,t&&(t.formatId=a),n}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function ve(e){if(Array.isArray(e))return e.map(ve);if(!e)throw new TypeError("Empty color reference");K(e)&&(e=be(e));let t=e.space||e.spaceId;return t instanceof ye||(e.space=ye.get(t)),void 0===e.alpha&&(e.alpha=1),e}class ye{constructor(e){this.id=e.id,this.name=e.name,this.base=e.base?ye.get(e.base):null,this.aliases=e.aliases,this.base&&(this.fromBase=e.fromBase,this.toBase=e.toBase);let t=e.coords??this.base.coords;for(let e in t)"name"in t[e]||(t[e].name=e);this.coords=t;let r=e.white??this.base.white??"D65";this.white=me(r),this.formats=e.formats??{};for(let e in this.formats){let t=this.formats[e];t.type||="function",t.name||=e}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:e.cssId||this.id}),e.gamutSpace?this.gamutSpace="self"===e.gamutSpace?this:ye.get(e.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(e,t)=>!0),this.referred=e.referred,Object.defineProperty(this,"path",{value:Me(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),pe.run("colorspace-init-end",this)}inGamut(e,{epsilon:t=75e-6}={}){if(!this.equals(this.gamutSpace))return e=this.to(this.gamutSpace,e),this.gamutSpace.inGamut(e,{epsilon:t});let r=Object.values(this.coords);return e.every((e,a)=>{let o=r[a];if("angle"!==o.type&&o.range){if(Number.isNaN(e))return!0;let[r,a]=o.range;return(void 0===r||e>=r-t)&&(void 0===a||e<=a+t)}return!0})}get isUnbounded(){return Object.values(this.coords).every(e=>!("range"in e))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let e in this.coords)if("angle"===this.coords[e].type)return!0;return!1}getFormat(e){if("object"==typeof e)return e=ke(e,this);let t;return t="default"===e?Object.values(this.formats)[0]:this.formats[e],t?(t=ke(t,this),t):null}equals(e){return!!e&&(this===e||this.id===e||this.id===e.id)}to(e,t){if(1===arguments.length){const r=ve(e);[e,t]=[r.space,r.coords]}if(e=ye.get(e),this.equals(e))return t;t=t.map(e=>Number.isNaN(e)?0:e);let r,a,o=this.path,n=e.path;for(let e=0;e<o.length&&o[e].equals(n[e]);e++)r=o[e],a=e;if(!r)throw new Error(`Cannot convert between color spaces ${this} and ${e}: no connection space was found`);for(let e=o.length-1;e>a;e--)t=o[e].toBase(t);for(let e=a+1;e<n.length;e++)t=n[e].fromBase(t);return t}from(e,t){if(1===arguments.length){const r=ve(e);[e,t]=[r.space,r.coords]}return(e=ye.get(e)).to(this,t)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let e=[];for(let t in this.coords){let r=this.coords[t],a=r.range||r.refRange;e.push(a?.min??0)}return e}static registry={};static get all(){return[...new Set(Object.values(ye.registry))]}static register(e,t){if(1===arguments.length&&(e=(t=arguments[0]).id),t=this.get(t),this.registry[e]&&this.registry[e]!==t)throw new Error(`Duplicate color space registration: '${e}'`);if(this.registry[e]=t,1===arguments.length&&t.aliases)for(let e of t.aliases)this.register(e,t);return t}static get(e,...t){if(!e||e instanceof ye)return e;if("string"===U(e)){let t=ye.registry[e.toLowerCase()];if(!t)throw new TypeError(`No color space found with id = "${e}"`);return t}if(t.length)return ye.get(...t);throw new TypeError(`${e} is not a valid color space`)}static resolveCoord(e,t){let r,a,o=U(e);if("string"===o?e.includes(".")?[r,a]=e.split("."):[r,a]=[,e]:Array.isArray(e)?[r,a]=e:(r=e.space,a=e.coordId),r=ye.get(r),r||(r=t),!r)throw new TypeError(`Cannot resolve coordinate reference ${e}: No color space specified and relative references are not allowed here`);if(o=U(a),"number"===o||"string"===o&&a>=0){let e=Object.entries(r.coords)[a];if(e)return{space:r,id:e[0],index:a,...e[1]}}r=ye.get(r);let n=a.toLowerCase(),s=0;for(let e in r.coords){let t=r.coords[e];if(e.toLowerCase()===n||t.name?.toLowerCase()===n)return{space:r,id:e,index:s,...t};s++}throw new TypeError(`No "${a}" coordinate found in ${r.name}. Its coordinates are: ${Object.keys(r.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}}function Me(e){let t=[e];for(let r=e;r=r.base;)t.push(r);return t}function ke(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=ne(e.coords);let r=Object.entries(t).map(([t,r],a)=>{let o=e.coordGrammar[a][0],n=r.range||r.refRange,s=o.range,i="";return"<percentage>"==o?(s=[0,100],i="%"):"<angle>"==o&&(i="deg"),{fromRange:n,toRange:s,suffix:i}});e.serializeCoords=(e,t)=>e.map((e,a)=>{let{fromRange:o,toRange:n,suffix:s}=r[a];return o&&n&&(e=oe(o,n,e)),e=G(e,{precision:t,unit:s})})}return e}var Ce=new ye({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]});class Se extends ye{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=Ce),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let r=Y(e.toXYZ_M,t);return this.white!==this.base.white&&(r=fe(this.white,this.base.white,r)),r},e.fromBase??=t=>(t=fe(this.base.white,this.white,t),Y(e.fromXYZ_M,t))),e.referred??="display",super(e)}}function Ee(e,t){return e=ve(e),!t||e.space.equals(t)?e.coords.slice():(t=ye.get(t)).from(e)}function _e(e,t){e=ve(e);let{space:r,index:a}=ye.resolveCoord(t,e.space);return Ee(e,r)[a]}function $e(e,t,r){return e=ve(e),t=ye.get(t),e.coords=t.to(e.space,r),e}function Ae(e,t,r){if(e=ve(e),2===arguments.length&&"object"===U(arguments[1])){let t=arguments[1];for(let r in t)Ae(e,r,t[r])}else{"function"==typeof r&&(r=r(_e(e,t)));let{space:a,index:o}=ye.resolveCoord(t,e.space),n=Ee(e,a);n[o]=r,$e(e,a,n)}return e}$e.returns="color",Ae.returns="color";var Pe=new ye({id:"xyz-d50",name:"XYZ D50",white:"D50",base:Ce,fromBase:e=>fe(Ce.white,"D50",e),toBase:e=>fe("D50",Ce.white,e)});const Le=216/24389,ze=24/116,Ne=24389/27;let Be=ge.D50;var Te=new ye({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Be,base:Pe,fromBase(e){let t=e.map((e,t)=>e/Be[t]).map(e=>e>Le?Math.cbrt(e):(Ne*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>ze?Math.pow(t[0],3):(116*t[0]-16)/Ne,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Ne,t[2]>ze?Math.pow(t[2],3):(116*t[2]-16)/Ne].map((e,t)=>e*Be[t])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Re(e){return(e%360+360)%360}var Ie=new ye({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:Te,fromBase(e){let t,[r,a,o]=e;return t=Math.abs(a)<.02&&Math.abs(o)<.02?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let[t,r,a]=e;return r<0&&(r=0),isNaN(a)&&(a=0),[t,r*Math.cos(a*Math.PI/180),r*Math.sin(a*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}});const Oe=25**7,je=Math.PI,De=180/je,Fe=je/180;function Ve(e){const t=e*e;return t*t*t*e}function He(e,t,{kL:r=1,kC:a=1,kH:o=1}={}){[e,t]=ve([e,t]);let[n,s,i]=Te.from(e),l=Ie.from(Te,[n,s,i])[1],[h,c,d]=Te.from(t),p=Ie.from(Te,[h,c,d])[1];l<0&&(l=0),p<0&&(p=0);let u=Ve((l+p)/2),g=.5*(1-Math.sqrt(u/(u+Oe))),m=(1+g)*s,f=(1+g)*c,x=Math.sqrt(m**2+i**2),w=Math.sqrt(f**2+d**2),b=0===m&&0===i?0:Math.atan2(i,m),v=0===f&&0===d?0:Math.atan2(d,f);b<0&&(b+=2*je),v<0&&(v+=2*je),b*=De,v*=De;let y,M=h-n,k=w-x,C=v-b,S=b+v,E=Math.abs(C);x*w===0?y=0:E<=180?y=C:C>180?y=C-360:C<-180?y=C+360:ue.warn("the unthinkable has happened");let _,$=2*Math.sqrt(w*x)*Math.sin(y*Fe/2),A=(n+h)/2,P=(x+w)/2,L=Ve(P);_=x*w===0?S:E<=180?S/2:S<360?(S+360)/2:(S-360)/2;let z=(A-50)**2,N=1+.015*z/Math.sqrt(20+z),B=1+.045*P,T=1;T-=.17*Math.cos((_-30)*Fe),T+=.24*Math.cos(2*_*Fe),T+=.32*Math.cos((3*_+6)*Fe),T-=.2*Math.cos((4*_-63)*Fe);let R=1+.015*P*T,I=30*Math.exp(-1*((_-275)/25)**2),O=2*Math.sqrt(L/(L+Oe)),j=(M/(r*N))**2;return j+=(k/(a*B))**2,j+=($/(o*R))**2,j+=-1*Math.sin(2*I*Fe)*O*(k/(a*B))*($/(o*R)),Math.sqrt(j)}const We=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],qe=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Ye=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ke=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]];var Ue=new ye({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:Ce,fromBase(e){let t=Y(We,e).map(e=>Math.cbrt(e));return Y(Ye,t)},toBase(e){let t=Y(Ke,e).map(e=>e**3);return Y(qe,t)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Ge(e,t){[e,t]=ve([e,t]);let[r,a,o]=Ue.from(e),[n,s,i]=Ue.from(t),l=r-n,h=a-s,c=o-i;return Math.sqrt(l**2+h**2+c**2)}function Xe(e,t,{epsilon:r=75e-6}={}){e=ve(e),t||(t=e.space),t=ye.get(t);let a=e.coords;return t!==e.space&&(a=t.from(e)),t.inGamut(a,{epsilon:r})}function Ze(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function Je(e,t,r="lab"){let a=(r=ye.get(r)).from(e),o=r.from(t);return Math.sqrt(a.reduce((e,t,r)=>{let a=o[r];return isNaN(t)||isNaN(a)?e:e+(a-t)**2},0))}const Qe=Math.PI/180;var et=new ye({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:Ce,fromBase:e=>e.map(e=>Math.max(203*e,0)),toBase:e=>e.map(e=>Math.max(e/203,0))});const tt=1.15,rt=.66,at=2610/16384,ot=16384/2610,nt=.8359375,st=2413/128,it=18.6875,lt=1.7*2523/32,ht=32/(1.7*2523),ct=-.56,dt=16295499532821565e-27,pt=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],ut=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],gt=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],mt=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]];var ft=new ye({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:et,fromBase(e){let[t,r,a]=e,o=Y(pt,[tt*t-(tt-1)*a,rt*r-(rt-1)*t,a]).map(function(e){return((nt+st*(e/1e4)**at)/(1+it*(e/1e4)**at))**lt}),[n,s,i]=Y(gt,o);return[(1+ct)*n/(1+ct*n)-dt,s,i]},toBase(e){let[t,r,a]=e,o=Y(mt,[(t+dt)/(1+ct-ct*(t+dt)),r,a]).map(function(e){return 1e4*((nt-e**ht)/(it*e**ht-st))**ot}),[n,s,i]=Y(ut,o),l=(n+(tt-1)*i)/tt;return[l,(s+(rt-1)*l)/rt,i]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),xt=new ye({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:ft,fromBase(e){let t,[r,a,o]=e;const n=2e-4;return t=Math.abs(a)<n&&Math.abs(o)<n?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase:e=>[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]});const wt=.8359375,bt=2413/128,vt=18.6875,yt=2610/16384,Mt=2523/32,kt=16384/2610,Ct=32/2523,St=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],Et=[[.5,.5,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],_t=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],$t=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]];var At=new ye({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:et,fromBase:e=>function(e){let t=e.map(function(e){return((wt+bt*(e/1e4)**yt)/(1+vt*(e/1e4)**yt))**Mt});return Y(Et,t)}(Y(St,e)),toBase(e){let t=function(e){let t=Y(_t,e),r=t.map(function(e){return 1e4*(Math.max(e**Ct-wt,0)/(bt-vt*e**Ct))**kt});return r}(e);return Y($t,t)}});const Pt=ge.D65,Lt=1/.42,zt=2*Math.PI,Nt=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Bt=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],Tt=[[460,451,288],[460,-891,-261],[460,-220,-6300]],Rt={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},It={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Ot=180/Math.PI,jt=Math.PI/180;function Dt(e,t){const r=e.map(e=>{const r=le(t*Math.abs(e)*.01,.42);return 400*ie(r,e)/(r+27.13)});return r}function Ft(e,t,r,a,o){const n={};n.discounting=o,n.refWhite=e,n.surround=a;const s=e.map(e=>100*e);n.la=t,n.yb=r;const i=s[1],l=Y(Nt,s),h=(a=Rt[n.surround])[0];n.c=a[1],n.nc=a[2];const c=(1/(5*n.la+1))**4;n.fl=c*n.la+.1*(1-c)*(1-c)*Math.cbrt(5*n.la),n.flRoot=n.fl**.25,n.n=n.yb/i,n.z=1.48+Math.sqrt(n.n),n.nbb=.725*n.n**-.2,n.ncb=n.nbb;const d=Math.max(Math.min(h*(1-1/3.6*Math.exp((-n.la-42)/92)),1),0);n.dRgb=l.map(e=>re(1,i/e,d)),n.dRgbInv=n.dRgb.map(e=>1/e);const p=l.map((e,t)=>e*n.dRgb[t]),u=Dt(p,n.fl);return n.aW=n.nbb*(2*u[0]+u[1]+.05*u[2]),n}const Vt=Ft(Pt,64/Math.PI*.2,20,"average",!1);function Ht(e,t){if(!(void 0!==e.J^void 0!==e.Q))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(void 0!==e.C^void 0!==e.M^void 0!==e.s))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(void 0!==e.h^void 0!==e.H))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(0===e.J||0===e.Q)return[0,0,0];let r=0;r=void 0!==e.h?Re(e.h)*jt:function(e){let t=(e%400+400)%400;const r=Math.floor(.01*t);t%=100;const[a,o]=It.h.slice(r,r+2),[n,s]=It.e.slice(r,r+2);return Re((t*(s*a-n*o)-100*a*s)/(t*(s-n)-100*s))}(e.H)*jt;const a=Math.cos(r),o=Math.sin(r);let n=0;void 0!==e.J?n=.1*le(e.J,.5):void 0!==e.Q&&(n=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let s=0;void 0!==e.C?s=e.C/n:void 0!==e.M?s=e.M/t.flRoot/n:void 0!==e.s&&(s=4e-4*e.s**2*(t.aW+4)/t.c);const i=le(s*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),l=.25*(Math.cos(r+2)+3.8),h=t.aW*le(n,2/t.c/t.z),c=5e4/13*t.nc*t.ncb*l,d=h/t.nbb,p=23*(d+.305)*he(i,23*c+i*(11*a+108*o)),u=function(e,t){const r=100/t*2588.068098016295;return e.map(e=>{const t=Math.abs(e);return ie(r*le(t/(400-t),Lt),e)})}(Y(Tt,[d,p*a,p*o]).map(e=>1*e/1403),t.fl);return Y(Bt,u.map((e,r)=>e*t.dRgbInv[r])).map(e=>e/100)}function Wt(e,t){const r=e.map(e=>100*e),a=Dt(Y(Nt,r).map((e,r)=>e*t.dRgb[r]),t.fl),o=a[0]+(-12*a[1]+a[2])/11,n=(a[0]+a[1]-2*a[2])/9,s=(Math.atan2(n,o)%zt+zt)%zt,i=.25*(Math.cos(s+2)+3.8),l=le(5e4/13*t.nc*t.ncb*he(i*Math.sqrt(o**2+n**2),a[0]+a[1]+1.05*a[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),h=le(t.nbb*(2*a[0]+a[1]+.05*a[2])/t.aW,.5*t.c*t.z),c=100*le(h,2),d=4/t.c*h*(t.aW+4)*t.flRoot,p=l*h,u=p*t.flRoot,g=Re(s*Ot),m=function(e){let t=Re(e);t<=It.h[0]&&(t+=360);const r=ce(It.h,t)-1,[a,o]=It.h.slice(r,r+2),[n,s]=It.e.slice(r,r+2),i=(t-a)/n;return It.H[r]+100*i/(i+(o-t)/s)}(g);return{J:c,C:p,h:g,s:50*le(t.c*l/(t.aW+4),.5),Q:d,M:u,H:m}}var qt=new ye({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:Ce,fromBase(e){const t=Wt(e,Vt);return[t.J,t.M,t.h]},toBase:e=>Ht({J:e[0],M:e[1],h:e[2]},Vt)});const Yt=ge.D65,Kt=216/24389,Ut=24389/27;function Gt(e){return e>8?Math.pow((e+16)/116,3):e/Ut}function Xt(e,t){const r=116*((a=e[1])>Kt?Math.cbrt(a):(Ut*a+16)/116)-16;var a;if(0===r)return[0,0,0];const o=Wt(e,Zt);return[Re(o.h),o.C,r]}const Zt=Ft(Yt,200/Math.PI*Gt(50),100*Gt(50),"average",!1);var Jt=new ye({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:Ce,fromBase:e=>Xt(e),toBase:e=>function(e,t){let[r,a,o]=e,n=[],s=0;if(0===o)return[0,0,0];let i=Gt(o);s=o>0?.00379058511492914*o**2+.608983189401032*o+.9155088574762233:9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let l=0,h=1/0;for(;l<=15;){n=Ht({J:s,C:a,h:r},t);const e=Math.abs(n[1]-i);if(e<h){if(e<=2e-12)return n;h=e}s-=(n[1]-i)*s/(2*n[1]),l+=1}return Ht({J:s,C:a,h:r},t)}(e,Zt),formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const Qt=Math.PI/180,er=[1,.007,.0228];function tr(e){e[1]<0&&(e=Jt.fromBase(Jt.toBase(e)));const t=Math.log(Math.max(1+er[2]*e[1]*Zt.flRoot,1))/er[2],r=e[0]*Qt,a=t*Math.cos(r),o=t*Math.sin(r);return[e[2],a,o]}var rr={deltaE76:function(e,t){return Je(e,t,"lab")},deltaECMC:function(e,t,{l:r=2,c:a=1}={}){[e,t]=ve([e,t]);let[o,n,s]=Te.from(e),[,i,l]=Ie.from(Te,[o,n,s]),[h,c,d]=Te.from(t),p=Ie.from(Te,[h,c,d])[1];i<0&&(i=0),p<0&&(p=0);let u=o-h,g=i-p,m=(n-c)**2+(s-d)**2-g**2,f=.511;o>=16&&(f=.040975*o/(1+.01765*o));let x,w=.0638*i/(1+.0131*i)+.638;Number.isNaN(l)&&(l=0),x=l>=164&&l<=345?.56+Math.abs(.2*Math.cos((l+168)*Qe)):.36+Math.abs(.4*Math.cos((l+35)*Qe));let b=Math.pow(i,4),v=Math.sqrt(b/(b+1900)),y=(u/(r*f))**2;return y+=(g/(a*w))**2,y+=m/(w*(v*x+1-v))**2,Math.sqrt(y)},deltaE2000:He,deltaEJz:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=xt.from(e),[n,s,i]=xt.from(t),l=r-n,h=a-s;Number.isNaN(o)&&Number.isNaN(i)?(o=0,i=0):Number.isNaN(o)?o=i:Number.isNaN(i)&&(i=o);let c=o-i,d=2*Math.sqrt(a*s)*Math.sin(c/2*(Math.PI/180));return Math.sqrt(l**2+h**2+d**2)},deltaEITP:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=At.from(e),[n,s,i]=At.from(t);return 720*Math.sqrt((r-n)**2+.25*(a-s)**2+(o-i)**2)},deltaEOK:Ge,deltaEHCT:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=tr(Jt.from(e)),[n,s,i]=tr(Jt.from(t));return Math.sqrt((r-n)**2+(a-s)**2+(o-i)**2)}};const ar={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function or(e,{method:t=ue.gamut_mapping,space:r,deltaEMethod:a="",jnd:o=2,blackWhiteClamp:n={}}={}){if(e=ve(e),K(arguments[1])?r=arguments[1]:r||(r=e.space),Xe(e,r=ye.get(r),{epsilon:0}))return e;let s;if("css"===t)s=function(e,{space:t}={}){const r=.02,a=1e-4;e=ve(e),t||(t=e.space);t=ye.get(t);const o=ye.get("oklch");if(t.isUnbounded)return sr(e,t);const n=sr(e,o);let s=n.coords[0];if(s>=1){const r=sr(nr.WHITE,t);return r.alpha=e.alpha,sr(r,t)}if(s<=0){const r=sr(nr.BLACK,t);return r.alpha=e.alpha,sr(r,t)}if(Xe(n,t,{epsilon:0}))return sr(n,t);function i(e){const r=sr(e,t),a=Object.values(t.coords);return r.coords=r.coords.map((e,t)=>{if("range"in a[t]){const[r,o]=a[t].range;return se(r,e,o)}return e}),r}let l=0,h=n.coords[1],c=!0,d=Ze(n),p=i(d),u=Ge(p,d);if(u<r)return p;for(;h-l>a;){const e=(l+h)/2;if(d.coords[1]=e,c&&Xe(d,t,{epsilon:0}))l=e;else if(p=i(d),u=Ge(p,d),u<r){if(r-u<a)break;c=!1,l=e}else h=e}return p}(e,{space:r});else{if("clip"===t||Xe(e,r))s=sr(e,r);else{Object.prototype.hasOwnProperty.call(ar,t)&&({method:t,jnd:o,deltaEMethod:a,blackWhiteClamp:n}=ar[t]);let i=He;if(""!==a)for(let e in rr)if("deltae"+a.toLowerCase()===e.toLowerCase()){i=rr[e];break}let l=or(sr(e,r),{method:"clip",space:r});if(i(e,l)>o){if(3===Object.keys(n).length){let t=ye.resolveCoord(n.channel),r=_e(sr(e,t.space),t.id);if(X(r)&&(r=0),r>=n.max)return sr({space:"xyz-d65",coords:ge.D65},e.space);if(r<=n.min)return sr({space:"xyz-d65",coords:[0,0,0]},e.space)}let a=ye.resolveCoord(t),l=a.space,h=a.id,c=sr(e,l);c.coords.forEach((e,t)=>{X(e)&&(c.coords[t]=0)});let d=(a.range||a.refRange)[0],p=function(e){const t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat("1e"+(t-2)),1e-6)}(o),u=d,g=_e(c,h);for(;g-u>p;){let e=Ze(c);e=or(e,{space:r,method:"clip"}),i(c,e)-o<p?u=_e(c,h):g=_e(c,h),Ae(c,h,(u+g)/2)}s=sr(c,r)}else s=l}if("clip"===t||!Xe(s,r,{epsilon:0})){let e=Object.values(r.coords).map(e=>e.range||[]);s.coords=s.coords.map((t,r)=>{let[a,o]=e[r];return void 0!==a&&(t=Math.max(a,t)),void 0!==o&&(t=Math.min(t,o)),t})}}return r!==e.space&&(s=sr(s,e.space)),e.coords=s.coords,e}or.returns="color";const nr={WHITE:{space:Ue,coords:[1,0,0]},BLACK:{space:Ue,coords:[0,0,0]}};function sr(e,t,{inGamut:r}={}){e=ve(e);let a=(t=ye.get(t)).from(e),o={space:t,coords:a,alpha:e.alpha};return r&&(o=or(o,!0===r?void 0:r)),o}function ir(e,{precision:t=ue.precision,format:r="default",inGamut:a=!0,...o}={}){let n,s=r;r=(e=ve(e)).space.getFormat(r)??e.space.getFormat("default")??ye.DEFAULT_FORMAT;let i=e.coords.slice();if(a||=r.toGamut,a&&!Xe(e)&&(i=or(Ze(e),!0===a?void 0:a).coords),"custom"===r.type){if(o.precision=t,!r.serialize)throw new TypeError(`format ${s} can only be used to parse colors, not for serialization`);n=r.serialize(i,e.alpha,o)}else{let a=r.name||"color";r.serializeCoords?i=r.serializeCoords(i,t):null!==t&&(i=i.map(e=>G(e,{precision:t})));let o=[...i];if("color"===a){let t=r.id||r.ids?.[0]||e.space.id;o.unshift(t)}let s=e.alpha;null!==t&&(s=G(s,{precision:t}));let l=e.alpha>=1||r.noAlpha?"":`${r.commas?",":" /"} ${s}`;n=`${a}(${o.join(r.commas?", ":" ")}${l})`}return n}sr.returns="color";var lr=new Se({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]});const hr=1.09929682680944,cr=.018053968510807;var dr=new Se({id:"rec2020",name:"REC.2020",base:lr,toBase:e=>e.map(function(e){return e<4.5*cr?e/4.5:Math.pow((e+hr-1)/hr,1/.45)}),fromBase:e=>e.map(function(e){return e>=cr?hr*Math.pow(e,.45)-(hr-1):4.5*e})});var pr=new Se({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]});const ur=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]];var gr=new Se({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],fromXYZ_M:ur}),mr={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[.6,50/255,.8],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,.6],lightslategrey:[119/255,136/255,.6],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[.4,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,.8],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[.4,.2,.6],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]};let fr=Array(3).fill("<percentage> | <number>[0, 255]"),xr=Array(3).fill("<number>[0, 255]");var wr=new Se({id:"srgb",name:"sRGB",base:gr,fromBase:e=>e.map(e=>{let t=e<0?-1:1,r=e*t;return r>.0031308?t*(1.055*r**(1/2.4)-.055):12.92*e}),toBase:e=>e.map(e=>{let t=e<0?-1:1,r=e*t;return r<=.04045?e/12.92:t*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:fr},rgb_number:{name:"rgb",commas:!0,coords:xr,noAlpha:!0},color:{},rgba:{coords:fr,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:xr},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,e=>{t.push(parseInt(e,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:r=!0}={})=>{t<1&&e.push(t),e=e.map(e=>Math.round(255*e));let a=r&&e.every(e=>e%17==0),o=e.map(e=>a?(e/17).toString(16):e.toString(16).padStart(2,"0")).join("");return"#"+o}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){let t={spaceId:"srgb",coords:null,alpha:1};if("transparent"===(e=e.toLowerCase())?(t.coords=mr.black,t.alpha=0):t.coords=mr[e],t.coords)return t}}}}),br=new Se({id:"p3",cssId:"display-p3",name:"P3",base:pr,fromBase:wr.fromBase,toBase:wr.toBase});let vr;if(ue.display_space=wr,"undefined"!=typeof CSS&&CSS.supports)for(let e of[Te,dr,br]){let t=e.getMinCoords(),r=ir({space:e,coords:t,alpha:1});if(CSS.supports("color",r)){ue.display_space=e;break}}function yr(e){return _e(e,[Ce,"y"])}function Mr(e,t){Ae(e,[Ce,"y"],t)}var kr=Object.freeze({__proto__:null,getLuminance:yr,register:function(e){Object.defineProperty(e.prototype,"luminance",{get(){return yr(this)},set(e){Mr(this,e)}})},setLuminance:Mr});function Cr(e){return e>=.022?e:e+(.022-e)**1.414}function Sr(e){let t=e<0?-1:1,r=Math.abs(e);return t*Math.pow(r,2.4)}const Er=216/24389,_r=24/116,$r=24389/27;let Ar=ge.D65;var Pr=new ye({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Ar,base:Ce,fromBase(e){let t=e.map((e,t)=>e/Ar[t]).map(e=>e>Er?Math.cbrt(e):($r*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>_r?Math.pow(t[0],3):(116*t[0]-16)/$r,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/$r,t[2]>_r?Math.pow(t[2],3):(116*t[2]-16)/$r].map((e,t)=>e*Ar[t])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});const Lr=.5*Math.pow(5,.5)+.5;var zr=Object.freeze({__proto__:null,contrastAPCA:function(e,t){let r,a,o,n,s,i;t=ve(t),e=ve(e),t=sr(t,"srgb"),[n,s,i]=t.coords;let l=.2126729*Sr(n)+.7151522*Sr(s)+.072175*Sr(i);e=sr(e,"srgb"),[n,s,i]=e.coords;let h=.2126729*Sr(n)+.7151522*Sr(s)+.072175*Sr(i),c=Cr(l),d=Cr(h),p=d>c;return Math.abs(d-c)<5e-4?a=0:p?(r=d**.56-c**.57,a=1.14*r):(r=d**.65-c**.62,a=1.14*r),o=Math.abs(a)<.1?0:a>0?a-.027:a+.027,100*o},contrastDeltaPhi:function(e,t){e=ve(e),t=ve(t);let r=_e(e,[Pr,"l"]),a=_e(t,[Pr,"l"]),o=Math.abs(Math.pow(r,Lr)-Math.pow(a,Lr)),n=Math.pow(o,1/Lr)*Math.SQRT2-40;return n<7.5?0:n},contrastLstar:function(e,t){e=ve(e),t=ve(t);let r=_e(e,[Te,"l"]),a=_e(t,[Te,"l"]);return Math.abs(r-a)},contrastMichelson:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);a>r&&([r,a]=[a,r]);let o=r+a;return 0===o?0:(r-a)/o},contrastWCAG21:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);return a>r&&([r,a]=[a,r]),(r+.05)/(a+.05)},contrastWeber:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);return a>r&&([r,a]=[a,r]),0===a?5e4:(r-a)/a}});function Nr(e){let[t,r,a]=Ee(e,Ce),o=t+15*r+3*a;return[4*t/o,9*r/o]}function Br(e){let[t,r,a]=Ee(e,Ce),o=t+r+a;return[t/o,r/o]}var Tr=Object.freeze({__proto__:null,register:function(e){Object.defineProperty(e.prototype,"uv",{get(){return Nr(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return Br(this)}})},uv:Nr,xy:Br});function Rr(e,t,r={}){K(r)&&(r={method:r});let{method:a=ue.deltaE,...o}=r;for(let r in rr)if("deltae"+a.toLowerCase()===r.toLowerCase())return rr[r](e,t,o);throw new TypeError(`Unknown deltaE method: ${a}`)}var Ir=Object.freeze({__proto__:null,darken:function(e,t=.25){return Ae(e,[ye.get("oklch","lch"),"l"],e=>e*(1-t))},lighten:function(e,t=.25){return Ae(e,[ye.get("oklch","lch"),"l"],e=>e*(1+t))}});function Or(e,t,r=.5,a={}){return[e,t]=[ve(e),ve(t)],"object"===U(r)&&([r,a]=[.5,r]),Dr(e,t,a)(r)}function jr(e,t,r={}){let a;Fr(e)&&([a,r]=[e,t],[e,t]=a.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:n,steps:s=2,maxSteps:i=1e3,...l}=r;a||([e,t]=[ve(e),ve(t)],a=Dr(e,t,l));let h=Rr(e,t),c=o>0?Math.max(s,Math.ceil(h/o)+1):s,d=[];if(void 0!==i&&(c=Math.min(c,i)),1===c)d=[{p:.5,color:a(.5)}];else{let e=1/(c-1);d=Array.from({length:c},(t,r)=>{let o=r*e;return{p:o,color:a(o)}})}if(o>0){let e=d.reduce((e,t,r)=>{if(0===r)return 0;let a=Rr(t.color,d[r-1].color,n);return Math.max(e,a)},0);for(;e>o;){e=0;for(let t=1;t<d.length&&d.length<i;t++){let r=d[t-1],o=d[t],n=(o.p+r.p)/2,s=a(n);e=Math.max(e,Rr(s,r.color),Rr(s,o.color)),d.splice(t,0,{p:n,color:a(n)}),t++}}}return d=d.map(e=>e.color),d}function Dr(e,t,r={}){if(Fr(e)){let[r,a]=[e,t];return Dr(...r.rangeArgs.colors,{...r.rangeArgs.options,...a})}let{space:a,outputSpace:o,progression:n,premultiplied:s}=r;e=ve(e),t=ve(t),e=Ze(e),t=Ze(t);let i={colors:[e,t],options:r};if(a=a?ye.get(a):ye.registry[ue.interpolationSpace]||e.space,o=o?ye.get(o):a,e=sr(e,a),t=sr(t,a),e=or(e),t=or(t),a.coords.h&&"angle"===a.coords.h.type){let o=r.hue=r.hue||"shorter",n=[a,"h"],[s,i]=[_e(e,n),_e(t,n)];isNaN(s)&&!isNaN(i)?s=i:isNaN(i)&&!isNaN(s)&&(i=s),[s,i]=function(e,t){if("raw"===e)return t;let[r,a]=t.map(Re),o=a-r;return"increasing"===e?o<0&&(a+=360):"decreasing"===e?o>0&&(r+=360):"longer"===e?-180<o&&o<180&&(o>0?r+=360:a+=360):"shorter"===e&&(o>180?r+=360:o<-180&&(a+=360)),[r,a]}(o,[s,i]),Ae(e,n,s),Ae(t,n,i)}return s&&(e.coords=e.coords.map(t=>t*e.alpha),t.coords=t.coords.map(e=>e*t.alpha)),Object.assign(r=>{r=n?n(r):r;let i=e.coords.map((e,a)=>re(e,t.coords[a],r)),l=re(e.alpha,t.alpha,r),h={space:a,coords:i,alpha:l};return s&&(h.coords=h.coords.map(e=>e/l)),o!==a&&(h=sr(h,o)),h},{rangeArgs:i})}function Fr(e){return"function"===U(e)&&!!e.rangeArgs}ue.interpolationSpace="lab";var Vr=Object.freeze({__proto__:null,isRange:Fr,mix:Or,range:Dr,register:function(e){e.defineFunction("mix",Or,{returns:"color"}),e.defineFunction("range",Dr,{returns:"function<color>"}),e.defineFunction("steps",jr,{returns:"array<color>"})},steps:jr}),Hr=new ye({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:wr,fromBase:e=>{let t=Math.max(...e),r=Math.min(...e),[a,o,n]=e,[s,i,l]=[NaN,0,(r+t)/2],h=t-r;if(0!==h){switch(i=0===l||1===l?0:(t-l)/Math.min(l,1-l),t){case a:s=(o-n)/h+(o<n?6:0);break;case o:s=(n-a)/h+2;break;case n:s=(a-o)/h+4}s*=60}return i<0&&(s+=180,i=Math.abs(i)),s>=360&&(s-=360),[s,100*i,100*l]},toBase:e=>{let[t,r,a]=e;function o(e){let o=(e+t/30)%12,n=r*Math.min(a,1-a);return a-n*Math.max(-1,Math.min(o-3,9-o,1))}return t%=360,t<0&&(t+=360),r/=100,a/=100,[o(0),o(8),o(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),Wr=new ye({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:Hr,fromBase(e){let[t,r,a]=e;r/=100,a/=100;let o=a+r*Math.min(a,1-a);return[t,0===o?0:200*(1-a/o),100*o]},toBase(e){let[t,r,a]=e;r/=100,a/=100;let o=a*(1-r/2);return[t,0===o||1===o?0:(a-o)/Math.min(o,1-o)*100,100*o]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),qr=new ye({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Wr,fromBase(e){let[t,r,a]=e;return[t,a*(100-r)/100,100-a]},toBase(e){let[t,r,a]=e;r/=100,a/=100;let o=r+a;if(o>=1){return[t,0,100*(r/o)]}let n=1-a;return[t,100*(0===n?0:1-r/n),100*n]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});var Yr=new Se({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe® 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),Kr=new Se({id:"a98rgb",cssId:"a98-rgb",name:"Adobe® 98 RGB compatible",base:Yr,toBase:e=>e.map(e=>Math.pow(Math.abs(e),563/256)*Math.sign(e)),fromBase:e=>e.map(e=>Math.pow(Math.abs(e),256/563)*Math.sign(e))});var Ur=new Se({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:Pe,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]});const Gr=1/512;var Xr=new Se({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:Ur,toBase:e=>e.map(e=>e<.03125?e/16:e**1.8),fromBase:e=>e.map(e=>e>=Gr?e**(1/1.8):16*e)}),Zr=new ye({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:Ue,fromBase(e){let t,[r,a,o]=e;const n=2e-4;return t=Math.abs(a)<n&&Math.abs(o)<n?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let t,r,[a,o,n]=e;return isNaN(n)?(t=0,r=0):(t=o*Math.cos(n*Math.PI/180),r=o*Math.sin(n*Math.PI/180)),[a,t,r]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}});let Jr=ge.D65;const Qr=216/24389,ea=24389/27,[ta,ra]=Nr({space:Ce,coords:Jr});var aa=new ye({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:Jr,base:Ce,fromBase(e){let t=[Z(e[0]),Z(e[1]),Z(e[2])],r=t[1],[a,o]=Nr({space:Ce,coords:t});if(!Number.isFinite(a)||!Number.isFinite(o))return[0,0,0];let n=r<=Qr?ea*r:116*Math.cbrt(r)-16;return[n,13*n*(a-ta),13*n*(o-ra)]},toBase(e){let[t,r,a]=e;if(0===t||X(t))return[0,0,0];r=Z(r),a=Z(a);let o=r/(13*t)+ta,n=a/(13*t)+ra,s=t<=8?t/ea:Math.pow((t+16)/116,3);return[s*(9*o/(4*n)),s,s*((12-3*o-20*n)/(4*n))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),oa=new ye({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:aa,fromBase(e){let t,[r,a,o]=e;return t=Math.abs(a)<.02&&Math.abs(o)<.02?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let[t,r,a]=e;return r<0&&(r=0),isNaN(a)&&(a=0),[t,r*Math.cos(a*Math.PI/180),r*Math.sin(a*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}});const na=216/24389,sa=24389/27,ia=ur[0][0],la=ur[0][1],ha=ur[0][2],ca=ur[1][0],da=ur[1][1],pa=ur[1][2],ua=ur[2][0],ga=ur[2][1],ma=ur[2][2];function fa(e,t,r){const a=t/(Math.sin(r)-e*Math.cos(r));return a<0?1/0:a}function xa(e){const t=Math.pow(e+16,3)/1560896,r=t>na?t:e/sa,a=r*(284517*ia-94839*ha),o=r*(838422*ha+769860*la+731718*ia),n=r*(632260*ha-126452*la),s=r*(284517*ca-94839*pa),i=r*(838422*pa+769860*da+731718*ca),l=r*(632260*pa-126452*da),h=r*(284517*ua-94839*ma),c=r*(838422*ma+769860*ga+731718*ua),d=r*(632260*ma-126452*ga);return{r0s:a/n,r0i:o*e/n,r1s:a/(n+126452),r1i:(o-769860)*e/(n+126452),g0s:s/l,g0i:i*e/l,g1s:s/(l+126452),g1i:(i-769860)*e/(l+126452),b0s:h/d,b0i:c*e/d,b1s:h/(d+126452),b1i:(c-769860)*e/(d+126452)}}function wa(e,t){const r=t/360*Math.PI*2,a=fa(e.r0s,e.r0i,r),o=fa(e.r1s,e.r1i,r),n=fa(e.g0s,e.g0i,r),s=fa(e.g1s,e.g1i,r),i=fa(e.b0s,e.b0i,r),l=fa(e.b1s,e.b1i,r);return Math.min(a,o,n,s,i,l)}var ba=new ye({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:oa,gamutSpace:wr,fromBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/wa(xa(r),o)*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=wa(xa(o),r)/100*a}return[o,t,r]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});function va(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function ya(e){let t=va(e.r0s,e.r0i),r=va(e.r1s,e.r1i),a=va(e.g0s,e.g0i),o=va(e.g1s,e.g1i),n=va(e.b0s,e.b0i),s=va(e.b1s,e.b1i);return Math.min(t,r,a,o,n,s)}ur[0][0],ur[0][1],ur[0][2],ur[1][0],ur[1][1],ur[1][2],ur[2][0],ur[2][1],ur[2][2];var Ma=new ye({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:oa,gamutSpace:"self",fromBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/ya(xa(r))*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=ya(xa(o))/100*a}return[o,t,r]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const ka=2610/16384,Ca=16384/2610,Sa=32/2523,Ea=.8359375,_a=2413/128,$a=18.6875;var Aa=new Se({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:lr,toBase:e=>e.map(function(e){return 1e4*(Math.max(e**Sa-Ea,0)/(_a-$a*e**Sa))**Ca/203}),fromBase:e=>e.map(function(e){let t=Math.max(203*e/1e4,0);return((Ea+_a*t**ka)/(1+$a*t**ka))**78.84375})});const Pa=.17883277,La=.28466892,za=.55991073,Na=3.7743;var Ba=new Se({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:lr,toBase:e=>e.map(function(e){return e<=.5?e**2/3*Na:(Math.exp((e-za)/Pa)+La)/12*Na}),fromBase:e=>e.map(function(e){return(e/=Na)<=1/12?Math.sqrt(3*e):Pa*Math.log(12*e-La)+za})});const Ta={};function Ra({id:e,toCone_M:t,fromCone_M:r}){Ta[e]=arguments[0]}function Ia(e,t,r="Bradford"){let a=Ta[r],[o,n,s]=Y(a.toCone_M,e),[i,l,h]=Y(a.toCone_M,t),c=Y([[i/o,0,0],[0,l/n,0],[0,0,h/s]],a.toCone_M);return Y(a.fromCone_M,c)}pe.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=Ia(e.W1,e.W2,e.options.method))}),pe.add("chromatic-adaptation-end",e=>{e.M||(e.M=Ia(e.W1,e.W2,e.options.method))}),Ra({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]}),Ra({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]}),Ra({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]}),Ra({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]}),Object.assign(ge,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]}),ge.ACES=[.32168/.33767,1,.34065/.33767];var Oa=new Se({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:ge.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]});const ja=2**-16,Da=-.35828683,Fa=(Math.log2(65504)+9.72)/17.52;var Va=new Se({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[Da,Fa],name:"Red"},g:{range:[Da,Fa],name:"Green"},b:{range:[Da,Fa],name:"Blue"}},referred:"scene",base:Oa,toBase:e=>e.map(function(e){return e<=-.3013698630136986?2*(2**(17.52*e-9.72)-ja):e<Fa?2**(17.52*e-9.72):65504}),fromBase:e=>e.map(function(e){return e<=0?(Math.log2(ja)+9.72)/17.52:e<ja?(Math.log2(ja+.5*e)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})}),Ha=Object.freeze({__proto__:null,A98RGB:Kr,A98RGB_Linear:Yr,ACEScc:Va,ACEScg:Oa,CAM16_JMh:qt,HCT:Jt,HPLuv:Ma,HSL:Hr,HSLuv:ba,HSV:Wr,HWB:qr,ICTCP:At,JzCzHz:xt,Jzazbz:ft,LCH:Ie,LCHuv:oa,Lab:Te,Lab_D65:Pr,Luv:aa,OKLCH:Zr,OKLab:Ue,P3:br,P3_Linear:pr,ProPhoto:Xr,ProPhoto_Linear:Ur,REC_2020:dr,REC_2020_Linear:lr,REC_2100_HLG:Ba,REC_2100_PQ:Aa,XYZ_ABS_D65:et,XYZ_D50:Pe,XYZ_D65:Ce,sRGB:wr,sRGB_Linear:gr});class Wa{constructor(...e){let t,r,a,o;1===e.length&&(t=ve(e[0])),t?(r=t.space||t.spaceId,a=t.coords,o=t.alpha):[r,a,o]=e,Object.defineProperty(this,"space",{value:ye.get(r),writable:!1,enumerable:!0,configurable:!0}),this.coords=a?a.slice():[0,0,0],this.alpha=o>1||void 0===o?1:o<0?0:o;for(let e=0;e<this.coords.length;e++)"NaN"===this.coords[e]&&(this.coords[e]=NaN);for(let e in this.space.coords)Object.defineProperty(this,e,{get:()=>this.get(e),set:t=>this.set(e,t)})}get spaceId(){return this.space.id}clone(){return new Wa(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...e){let t=function(e,{space:t=ue.display_space,...r}={}){let a=ir(e,r);if("undefined"==typeof CSS||CSS.supports("color",a)||!ue.display_space)a=new String(a),a.color=e;else{let o=e;if((e.coords.some(X)||X(e.alpha))&&!(vr??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=Ze(e),o.coords=o.coords.map(Z),o.alpha=Z(o.alpha),a=ir(o,r),CSS.supports("color",a)))return a=new String(a),a.color=o,a;o=sr(o,t),a=new String(ir(o,r)),a.color=o}return a}(this,...e);return t.color=new Wa(t.color),t}static get(e,...t){return e instanceof Wa?e:new Wa(e,...t)}static defineFunction(e,t,r=t){let{instance:a=!0,returns:o}=r,n=function(...e){let r=t(...e);if("color"===o)r=Wa.get(r);else if("function<color>"===o){let e=r;r=function(...t){let r=e(...t);return Wa.get(r)},Object.assign(r,e)}else"array<color>"===o&&(r=r.map(e=>Wa.get(e)));return r};e in Wa||(Wa[e]=n),a&&(Wa.prototype[e]=function(...e){return n(this,...e)})}static defineFunctions(e){for(let t in e)Wa.defineFunction(t,e[t],e[t])}static extend(e){if(e.register)e.register(Wa);else for(let t in e)Wa.defineFunction(t,e[t])}}Wa.defineFunctions({get:_e,getAll:Ee,set:Ae,setAll:$e,to:sr,equals:function(e,t){return e=ve(e),t=ve(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((e,r)=>e===t.coords[r])},inGamut:Xe,toGamut:or,distance:Je,toString:ir}),Object.assign(Wa,{util:de,hooks:pe,WHITES:ge,Space:ye,spaces:ye.registry,parse:be,defaults:ue});for(let e of Object.keys(Ha))ye.register(Ha[e]);for(let e in ye.registry)qa(e,ye.registry[e]);function qa(e,t){let r=e.replace(/-/g,"_");Object.defineProperty(Wa.prototype,r,{get(){let r=this.getAll(e);return"undefined"==typeof Proxy?r:new Proxy(r,{has:(e,r)=>{try{return ye.resolveCoord([t,r]),!0}catch(e){}return Reflect.has(e,r)},get:(e,r,a)=>{if(r&&"symbol"!=typeof r&&!(r in e)){let{index:a}=ye.resolveCoord([t,r]);if(a>=0)return e[a]}return Reflect.get(e,r,a)},set:(r,a,o,n)=>{if(a&&"symbol"!=typeof a&&!(a in r)||a>=0){let{index:n}=ye.resolveCoord([t,a]);if(n>=0)return r[n]=o,this.setAll(e,r),!0}return Reflect.set(r,a,o,n)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}pe.add("colorspace-init-end",e=>{qa(e.id,e),e.aliases?.forEach(t=>{qa(t,e)})}),Wa.extend(rr),Wa.extend({deltaE:Rr}),Object.assign(Wa,{deltaEMethods:rr}),Wa.extend(Ir),Wa.extend({contrast:function(e,t,r={}){K(r)&&(r={algorithm:r});let{algorithm:a,...o}=r;if(!a){let e=Object.keys(zr).map(e=>e.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${e}`)}e=ve(e),t=ve(t);for(let r in zr)if("contrast"+a.toLowerCase()===r.toLowerCase())return zr[r](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${a}`)}}),Wa.extend(Tr),Wa.extend(kr),Wa.extend(Vr),Wa.extend(zr);var Ya=Object.freeze({__proto__:null,altKey:R,camelToDash:(e="")=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),clamp:h,colors:["#eb4034","#30850f","#116da7","#4334eb","#b134eb","#df168e","#e8172c","#8f2e2b","#8f692b","#8a8f2b","#358f2b","#2b8f82","#2b678f","#2b2b8f","#8f2b8f","#8f2b55","#1eff00","#a86800","#ff0000","#008035","#0026ff","#bb00ff","#d600b6","#e60067","#137878"],constructibleStylesheetSupport:M,contrast_color:function(e){try{const t=new Wa(e),r=t.contrastLstar("white");return r>t.contrastLstar("black")?"white":"black"}catch{}},createClassname:N,deepElementFromPoint:I,expandBorders:e=>{let t={},r=e.split(" ").map(e=>parseInt(e));switch(r.length){case 1:t={top:r[0],right:r[0],bottom:r[0],left:r[0]};break;case 2:t={top:r[0],right:r[1],bottom:r[0],left:r[1]};break;case 4:t={top:r[0],right:r[1],bottom:r[2],left:r[3]}}return t},findNearestChildElement:e=>e.shadowRoot&&e.shadowRoot.children.length?[...e.shadowRoot.children].filter(({nodeName:e})=>!["LINK","STYLE","SCRIPT","HTML","HEAD"].includes(e))[0]:e.children.length?e.children[0]:void 0,findNearestParentElement:P,firstUsableFontFromFamily:e=>{if(L.has(e))return L.get(e);const t=e.split(","),r=window.document.createElement("canvas").getContext("2d"),a=t.map(e=>e.trim()).map(e=>{const t=String(e).match(/^["']?(.+?)["']?$/i);return Array.isArray(t)?t[1]:""}).map(e=>{const t=r.measureText(12).width;return r.font=`12px ${e}, sans-serif`,t!==r.measureText("font-test").width&&e}).filter(e=>!1!==e)[0];return L.set(e,a),a},getA11ys:e=>{const t=e.getAttributeNames();return C.reduce((r,a)=>(t.includes(a)&&r.push({prop:a,value:e.getAttribute(a)}),"aria-*"===a&&t.forEach(t=>{t.includes("aria")&&r.push({prop:t,value:e.getAttribute(t)})}),r),[])},getColorScheme:()=>"undefined"==typeof window?"light":window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",getComputedBackgroundColor:e=>{let t=E(e,"background-color");if("rgba(0, 0, 0, 0)"===t){let r=P(e),a=!1;for(;!a;){let e=E(r,"background-color");"HTML"===r.nodeName&&(a=!0,t=A()),"rgba(0, 0, 0, 0)"!==e&&(a=!0,t=e),r=P(r)}}return t},getComputedCanvasBackgroundColor:A,getNodeIndex:e=>[...e.parentElement.parentElement.children].indexOf(e.parentElement),getShadowValues:e=>/([^\)]+\)) ([^\s]+) ([^\s]+) ([^\s]+) ([^\s]+)/.exec(e),getSide:O,getStyle:E,getStyles:_,getTextShadowValues:e=>/([^\)]+\)) ([^\s]+) ([^\s]+) ([^\s]+)/.exec(e),getWCAG2TextSize:e=>{const t=_(e).reduce((e,t)=>(e[t.prop]=t.value,e),{}),{fontSize:r=k.fontSize,fontWeight:a=k.fontWeight}=t;return S.some(e=>parseFloat(r)>=parseFloat(e.fontSize)&&parseFloat(a)>=parseFloat(e.fontWeight))?"Large":"Small"},htmlStringToDom:(e="")=>(new DOMParser).parseFromString(e,"text/html").body.firstChild,isChrome:v,isFirefox:w,isFixed:q,isOffBounds:V,isPolyfilledCE:e=>1===e.children.length&&"STYLE"===e.firstElementChild.nodeName,isSafari:y,isSafarish:b,isSelectorValid:H,loadStyles:async e=>{const t=await Promise.all(e.map(e=>fetch(e))),r=await Promise.all(t.map(e=>e.text())),a=document.createElement("style");a.textContent=r.reduce((e,t)=>e+t,""),document.head.appendChild(a)},metaKey:T,nodeKey:z,notList:":not(vis-bug):not(script):not(hotkey-map):not(.visbug-metatip):not(visbug-label):not(visbug-handles):not(visbug-corners):not(visbug-grip):not(visbug-gridlines)",numberBetween:function(e,t){return Math.floor(e+Math.random()*(t-e))},onRemove:W,schemeRule:(e,t,r,a)=>o=>{e.adoptedStyleSheets="light"===o&&r?[t,r]:"dark"===o&&a?[t,a]:[t]},showEdge:function(e){return e.animate([{outline:"1px solid transparent"},{outline:"1px solid hsla(330, 100%, 71%, 80%)"},{outline:"1px solid transparent"}],600)},showHideNodeLabel:F,showHideSelected:D,swapElements:(e,t)=>{var r=document.createElement("div");e.parentNode.insertBefore(r,e),t.parentNode.insertBefore(e,t),r.parentNode.insertBefore(t,r),r.parentNode.removeChild(r)},watchColorScheme:e=>{if("undefined"==typeof window)return()=>{};const t=window.matchMedia("(prefers-color-scheme: dark)"),r=t=>{e(t.matches?"dark":"light")};return t.addEventListener?(t.addEventListener("change",r),()=>t.removeEventListener("change",r)):t.addListener?(t.addListener(r),()=>t.removeListener(r)):()=>{}},windowBounds:function(){const e=window.innerHeight,t=window.innerWidth,r=document.documentElement.clientWidth;return{winHeight:e,winWidth:r<=t?r:t}}});class Ka extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[a],this.on_resize=this.on_window_resize.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles,this.setAttribute("popover","manual"),this.showPopover&&this.showPopover(),window.addEventListener("resize",this.on_window_resize)}disconnectedCallback(){this.hidePopover&&this.hidePopover()&&this.hidePopover&&this.hidePopover(),window.removeEventListener("resize",this.on_window_resize)}on_window_resize(){this.$shadow&&window.requestAnimationFrame(()=>{const e=this.$shadow.host.getAttribute("data-label-id"),[r]=t(`[data-label-id="${e}"]`);r&&(this.position={node_label_id:e,el:r,isFixed:q(r)})})}set position({el:e,node_label_id:t}){this.$shadow.innerHTML=this.render(e.getBoundingClientRect(),t,q(e)),this._backdrop&&(this.backdrop={element:this._backdrop.update(e),update:this._backdrop.update})}set backdrop(e){this._backdrop=e;const t=this.$shadow.querySelector("visbug-boxmodel");t?this.$shadow.replaceChild(e.element,t):this.$shadow.appendChild(e.element)}render({x:e,y:t,width:r,height:a,top:o,left:n},s,i){return this.$shadow.host.setAttribute("data-label-id",s),this.style.setProperty("--top",`${o+(i?0:window.scrollY)}px`),this.style.setProperty("--left",`${n}px`),this.style.setProperty("--position",i?"fixed":"absolute"),this.style.setProperty("--width",`${r}px`),this.style.setProperty("--height",`${a}px`),`\n <svg\n class="visbug-handles"\n width="${r}" height="${a}"\n viewBox="0 0 ${r} ${a}"\n version="1.1" xmlns="http://www.w3.org/2000/svg"\n >\n <rect stroke="var(--neon-pink)" fill="none" width="100%" height="100%"></rect>\n </svg>\n <visbug-handle placement="top-start"></visbug-handle>\n <visbug-handle placement="top-center"></visbug-handle>\n <visbug-handle placement="top-end"></visbug-handle>\n <visbug-handle placement="middle-start"></visbug-handle>\n <visbug-handle placement="middle-end"></visbug-handle>\n <visbug-handle placement="bottom-start"></visbug-handle>\n <visbug-handle placement="bottom-center"></visbug-handle>\n <visbug-handle placement="bottom-end"></visbug-handle>\n `}}customElements.define("visbug-handles",Ka),window.addEventListener("scroll",function(){Xa(),document.querySelectorAll("visbug-label").forEach(e=>{e.detectOutsideViewport()})}),document.body.addEventListener("click",()=>{Xa()},!0);class Ua extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.dispatchQuery=this.dispatchQuery.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=[l],t("a",this.$shadow).on("click mouseenter",this.dispatchQuery)}disconnectedCallback(){t("a",this.$shadow).off("click mouseenter",this.dispatchQuery)}dispatchQuery(e){this.$shadow.host.dispatchEvent(new CustomEvent("query",{bubbles:!0,detail:{text:e.target.textContent,activator:e.type}}))}set text(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.textContent=e:this._text=e}set position({boundingRect:e,node_label_id:t,isFixed:r}){this.$shadow.innerHTML=this.render(t),this.update={boundingRect:e,isFixed:r}}set update({boundingRect:e,isFixed:t}){this.style.setProperty("--top",`${e.y+(t?0:window.scrollY)}px`),this.style.setProperty("--left",e.x-1+"px"),this.style.setProperty("--max-width",`${e.width+(window.innerWidth-e.x-e.width-20)}px`),this.style.setProperty("--position","fixed")}set count(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.count=e:this._count=e}get count(){return this.$shadow.childElementCount?this.$shadow.firstElementChild.count:this._count}render(e){return this.$shadow.host.setAttribute("data-label-id",e||"label_"+Number(new Date)),`<span offscreen-label>${this._text}</span>`}}function Ga(e,t,r,a,o,n,s){const i=document.querySelectorAll(`visbug-offscreen-label[id=${t}]`);if(i.length){const l=i[0];return l.style.display="",l.style.setProperty("--left",a),l.style.setProperty("--top",o),l.style.setProperty("--position","fixed"),l.style.setProperty("--label-bg",n),l.seen[e]=!0,l.count=Object.keys(l.seen).length,l.text=t,l.style.setProperty("--count",`"\\00a0 ${l.count}"`),l.style.setProperty("--hover-text",`"\\00a0 ${r?"offscreen label: "+r:l.count}"`),void(s&&(a=a.includes("calc(")?a.replace(")",` - ${l.count.toString().length}ch)`):`${l.count.toString().length}ch`,l.style.setProperty("--left",a)))}const l=document.createElement("visbug-offscreen-label");l.id=t,l.position={boundingRect:document.body.getBoundingClientRect(),isFixed:!0},l.seen={},l.seen[e]=!0,l.count=1,l.text=t,l.style.display="",l.style.setProperty("--left",a),l.style.setProperty("--top",o),l.style.setProperty("--count",`"\\00a0 ${l.count}"`),l.style.setProperty("--hover-text",`"\\00a0 ${r?"offscreen label: "+r:l.count}"`),l.style.setProperty("--label-bg",n),s&&(a=a.includes("calc(")?a.replace(")"," - 1ch)"):"1ch",l.style.setProperty("--left",a)),document.body.appendChild(l)}function Xa(){document.querySelectorAll("visbug-offscreen-label").forEach(e=>{e.seen={},e.count=0,e.text="",e.style.display="none"})}customElements.define("visbug-offscreen-label",Ua);class Za extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.on_resize=this.on_resize.bind(this),this.dispatchQuery=this.dispatchQuery.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=[s],this.setAttribute("popover","manual"),this.showPopover&&this.showPopover(),t("a",this.$shadow).on("click mouseenter",this.dispatchQuery),window.addEventListener("resize",this.on_resize)}disconnectedCallback(){this.hidePopover&&this.hidePopover(),t("a",this.$shadow).off("click mouseenter",this.dispatchQuery),window.removeEventListener("resize",this.on_resize)}on_resize(){window.requestAnimationFrame(()=>{const e=this.$shadow.host.getAttribute("data-label-id"),[r]=t(`[data-label-id="${e}"]`);r&&(this.position={node_label_id:e,boundingRect:r.getBoundingClientRect(),isFixed:q(r)})})}dispatchQuery(e){this.$shadow.host.dispatchEvent(new CustomEvent("query",{bubbles:!0,detail:{text:e.target.textContent,activator:e.type}}))}set text(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.innerHTML=e:this._text=e}set position({boundingRect:e,node_label_id:t,isFixed:r}){this.$shadow.innerHTML=this.render(t),this.update={boundingRect:e,isFixed:r}}set update({boundingRect:e,isFixed:t}){const r=e.y+(t?0:window.scrollY),a=e.x,o=t?"fixed":"absolute";this.style.setProperty("--top",`${r}px`),this.style.setProperty("--left",`${a}px`),this.style.setProperty("--max-width",`${e.width+(window.innerWidth-e.x-e.width-40)}px`),this.style.setProperty("--position",o),this.setAttribute("data-original-top",r),this.setAttribute("data-original-left",a),this.setAttribute("data-original-position",o),this.detectOutsideViewport()}render(e){return this.$shadow.host.setAttribute("data-label-id",e||"label_"+Number(new Date)),`<span>${this._text}</span>`}detectOutsideViewport(){const e=this.$shadow.firstElementChild.innerText.replace(/\s+/g," ");if("body"===e)return;const t=this.$shadow.firstElementChild.getBoundingClientRect(),r=window.getComputedStyle(this),a={top:r.getPropertyValue("--top").replace("px",""),left:r.getPropertyValue("--left").replace("px","")},o={top:this.getAttribute("data-original-top"),left:this.getAttribute("data-original-left"),position:this.getAttribute("data-original-position")},n=document.body.scrollX||window.pageXOffset,s=document.body.scrollY||window.pageYOffset,i=o.top-t.height-s<0,l=o.top-s>window.innerHeight,h=o.left-n<0,c=o.left-n>window.innerWidth;if(!(i||l||h||c))return this.style.setProperty("--position",o.position),this.style.setProperty("--left",`${o.left}px`),void this.style.setProperty("--top",`${o.top}px`);const d=!0,p=this.getAttribute("data-label-id"),u={color:"var(--theme-purple)",left:a.left,top:a.top,offscreenText:"",hoverText:e};!i||h||c?i&&h?(u.left=t.width,u.top=t.height,u.offscreenText="↖",Ga(p,u.offscreenText,u.hoverText,"0","1rem",u.color)):i&&c?(u.left=Math.max(t.width,a.left),u.top=t.height,u.offscreenText="↗",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","1rem",u.color,d)):!h||i||l?!c||i||l?!l||h||c?l&&h?(u.left=t.width,u.top=window.innerHeight-t.height,u.offscreenText="↙",Ga(p,u.offscreenText,u.hoverText,0,"100vh",u.color)):l&&c&&(u.left=Math.max(t.width,a.left),u.top=window.innerHeight-t.height,u.offscreenText="↘",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","100vh",u.color,d)):(u.left=Math.max(t.width,a.left),u.top=window.innerHeight-t.height,u.offscreenText="↓",Ga(p,u.offscreenText,u.hoverText,"calc(50vw - 0.5rem)","100vh",u.color)):(u.left=window.innerWidth-t.width,u.top=Math.max(t.height,a.top),u.offscreenText="→",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","calc(50vh - 0.5rem)",u.color,d)):(u.left=t.width,u.top=Math.max(t.height,a.top),u.offscreenText="←",Ga(p,u.offscreenText,u.hoverText,0,"calc(50vh - 0.5rem)",u.color)):(u.left=Math.max(t.width,a.left),u.top=t.height,u.offscreenText="↑",Ga(p,u.offscreenText,u.hoverText,"calc(50vw - 0.5rem)","1rem",u.color))}}customElements.define("visbug-label",Za);customElements.define("visbug-hover",class extends Ka{constructor(){super(),this.styles=[a,n]}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles}disconnectedCallback(){}set position({el:e,boundingRect:t,isFixed:r,uiContainer:a}){this.$shadow.innerHTML=this.render(t||e.getBoundingClientRect(),null,r,a)}render({width:e,height:t,top:r,left:a,x:o,y:n},s,i,l){let h=0,c=0;if(l&&l!==document.body){const e=l.getBoundingClientRect();h=e.left+(i?0:window.scrollX),c=e.top+(i?0:window.scrollY)}const d=n+(i?0:window.scrollY)-c,p=o-h;return this.style.setProperty("--top",`${d}px`),this.style.setProperty("--left",`${p}px`),this.style.setProperty("--position",i?"fixed":"absolute"),`\n <svg\n width="${e}" height="${t}"\n viewBox="0 0 ${e} ${t}"\n >\n <rect fill="none" width="100%" height="100%"></rect>\n `}});class Ja extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"})}connectedCallback(){this.$shadow.adoptedStyleSheets=[i]}disconnectedCallback(){}set position(e){this.$shadow.innerHTML=this.render(e)}set update({top:e,left:t,width:r,height:a}){const[o]=this.$shadow.children;this.$shadow.host.style.display="block",o.style.display="block",this.style.setProperty("--top",`${e+window.scrollY}px`),this.style.setProperty("--left",t-1+"px"),o.setAttribute("width",r+"px"),o.setAttribute("height",a+"px")}render({height:e,width:t}){return`\n <svg class="visbug-overlay"\n width="${t}px" height="${e}px"\n viewBox="0 0 ${t} ${e}"\n >\n <rect></rect>\n </svg>\n `}}customElements.define("visbug-overlay",Ja);
|
|
1
|
+
const e={on:function(e,t,r){return e.split(" ").forEach(e=>this.addEventListener(e,t,r)),this},off:function(e,t,r){return e.split(" ").forEach(e=>this.removeEventListener(e,t,r)),this},attr:function(e,t){return void 0===t?this.getAttribute(e):(null==t?this.removeAttribute(e):this.setAttribute(e,t),this)}};function t(t,r=document){let a=t instanceof NodeList||Array.isArray(t)?t:t instanceof HTMLElement||t instanceof SVGElement?[t]:r.querySelectorAll(t);return a.length||(a=[]),Object.assign(Array.from(a).map(t=>Object.assign(t,e)),{on:function(e,t,r){return this.forEach(a=>a.on(e,t,r)),this},off:function(e,t,r){return this.forEach(a=>a.off(e,t,r)),this},attr:function(e,t){return"string"==typeof e&&void 0===t?this[0].attr(e):("object"==typeof e?this.forEach(t=>Object.entries(e).forEach(([e,r])=>t.attr(e,r))):"string"==typeof e&&this.forEach(r=>r.attr(e,t)),this)}})}const r=e=>{const t=new CSSStyleSheet;return t.replaceSync(e),t},a=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{background:transparent;border:none;display:grid;grid-template-rows:1fr;height:var(--height);inset:var(--top) auto auto var(--left);isolation:isolate;overflow:visible;padding:0;pointer-events:none;position:var(--position,"absolute");width:var(--width);z-index:var(--layer-3)}:host>svg{position:absolute}:host::backdrop{background:none!important}'),o=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{display:grid;grid-area:1/-1;place-self:var(--align-self,center) var(--justify-self,center);transform:translate(var(--translate-x,0),var(--translate-y,0))}:host([hidden]){display:none}:host>button{background-color:#fff;border:1px solid var(--neon-pink);border-radius:50%;cursor:var(--cursor);height:.5rem;padding:0;pointer-events:auto;position:relative;width:.5rem;&:before{content:"";inset:-.5rem;position:absolute}}:host([placement^=top]){--align-self:start;--translate-y:-50%}:host([placement^=bottom]){--align-self:end;--translate-y:50%}:host([placement$=start]){--justify-self:start;--translate-x:-50%}:host([placement$=end]){--justify-self:end;--translate-x:50%}:host([placement^=bottom]),:host([placement^=top]){--cursor:ns-resize}:host([placement$=end]),:host([placement$=start]){--cursor:ew-resize}:host([placement=top-start]){--cursor:nw-resize}:host([placement=top-end]){--cursor:ne-resize}:host([placement=bottom-start]){--cursor:sw-resize}:host([placement=bottom-end]){--cursor:se-resize}'),s=r(":host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host rect{vector-effect:non-scaling-stroke;stroke:var(--hover-stroke,var(--neon-purple,#8929ff));stroke-width:2px;fill:none;height:100%;width:100%}:host>svg{z-index:var(--layer-5)}"),n=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{--position:absolute;--top:0;--left:0;--max-width:0;background:transparent;border:none;font-size:16px;margin:0;overflow:visible;padding:0;position:static}:host>span{background:var(--label-bg,var(--neon-pink));color:#fff;display:inline-flex;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:.8em;font-weight:400;inset:var(--top) auto auto var(--left);justify-content:center;line-height:1.1;max-width:var(--max-width);padding:2px 6px;position:var(--position);text-shadow:var(--text-shadow);transform:translateY(-100%);white-space:nowrap;z-index:var(--layer-4)}:host a{color:inherit;cursor:pointer;overflow:hidden;padding-bottom:1px;text-decoration:none;text-overflow:ellipsis;&:hover{color:#fff;text-decoration:underline}&[node]:before{content:"\\003c"}&[node]:after{content:"\\003e"}}:host::backdrop{background:none!important}'),i=r(":host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host svg{display:none;left:var(--left);overflow:visible;pointer-events:none;position:absolute;top:var(--top);z-index:var(--layer-5);&>rect{fill:rgba(255,107,181,.5);height:100%;width:100%}}"),l=r(':host{--shadow-color:220 3% 15%;--shadow-strength:1%;--inner-shadow-highlight:inset 0 -.5px 0 0 #fff,inset 0 .5px 0 0 rgba(0,0,0,.067);--shadow-1:0 1px 2px -1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--shadow-2:0 3px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 14px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%));--shadow-3:0 -1px 3px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 2px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 5px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 4px 12px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 12px 15px -5px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-4:0 -2px 5px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 1px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 2px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 9px 9px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 16px 16px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%));--shadow-5:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 2px 1px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 5px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 10px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 20px 20px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 40px 40px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--shadow-6:0 -1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 2%)),0 3px 2px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 7px 5px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 3%)),0 12px 10px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 4%)),0 22px 18px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 5%)),0 41px 33px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 6%)),0 100px 80px -2px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 7%));--inner-shadow-0:inset 0 0 0 1px hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%));--inner-shadow-1:inset 0 1px 2px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-2:inset 0 1px 4px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-3:inset 0 2px 8px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight);--inner-shadow-4:inset 0 2px 14px 0 hsl(var(--shadow-color)/calc(var(--shadow-strength) + 9%)),var(--inner-shadow-highlight)}@media (prefers-color-scheme:dark){:host{--shadow-color:220 40% 2%;--shadow-strength:25%;--inner-shadow-highlight:inset 0 -.5px 0 0 hsla(0,0%,100%,.067),inset 0 .5px 0 0 rgba(0,0,0,.467)}}:host{--border-size-1:1px;--border-size-2:2px;--border-size-3:5px;--border-size-4:10px;--border-size-5:25px;--radius-1:2px;--radius-2:5px;--radius-3:1rem;--radius-4:2rem;--radius-5:4rem;--radius-6:8rem;--radius-drawn-1:255px 15px 225px 15px/15px 225px 15px 255px;--radius-drawn-2:125px 10px 20px 185px/25px 205px 205px 25px;--radius-drawn-3:15px 255px 15px 225px/225px 15px 255px 15px;--radius-drawn-4:15px 25px 155px 25px/225px 150px 25px 115px;--radius-drawn-5:250px 25px 15px 20px/15px 80px 105px 115px;--radius-drawn-6:28px 100px 20px 15px/150px 30px 205px 225px;--radius-round:1e5px;--radius-blob-1:30% 70% 70% 30%/53% 30% 70% 47%;--radius-blob-2:53% 47% 34% 66%/63% 46% 54% 37%;--radius-blob-3:37% 63% 56% 44%/49% 56% 44% 51%;--radius-blob-4:63% 37% 37% 63%/43% 37% 63% 57%;--radius-blob-5:49% 51% 48% 52%/57% 44% 56% 43%;--radius-conditional-1:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-1));--radius-conditional-2:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-2));--radius-conditional-3:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-3));--radius-conditional-4:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-4));--radius-conditional-5:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-5));--radius-conditional-6:clamp(0px,calc(100vw - 100%) * 1e5,var(--radius-6))}:host{--gray-0:#f8f9fa;--gray-1:#f1f3f5;--gray-2:#e9ecef;--gray-3:#dee2e6;--gray-4:#ced4da;--gray-5:#adb5bd;--gray-6:#868e96;--gray-7:#495057;--gray-8:#343a40;--gray-9:#212529;--gray-10:#16191d;--gray-11:#0d0f12;--gray-12:#030507}:host{--gray-0-hsl:210 17% 98%;--gray-1-hsl:210 17% 95%;--gray-2-hsl:210 16% 93%;--gray-3-hsl:210 14% 89%;--gray-4-hsl:210 14% 83%;--gray-5-hsl:210 11% 71%;--gray-6-hsl:210 7% 56%;--gray-7-hsl:210 9% 31%;--gray-8-hsl:210 10% 23%;--gray-9-hsl:210 11% 15%;--gray-10-hsl:214 14% 10%;--gray-11-hsl:216 16% 6%;--gray-12-hsl:210 40% 2%}:host{--theme-bg:#fff;--theme-bd:hsl(0 0% 100%/var(--theme-bd-opacity));--theme-bd-2:hsl(0 0% 100%/var(--theme-bd-2-opacity));--theme-bd-opacity:1;--theme-bd-2-opacity:1;--theme-color:hotpink;--theme-blue:#0bbeda;--theme-purple:#8929ff;--neon-pink:color(display-p3 1 0 1);--neon-purple:color(display-p3 .5 0 1);--neon-lime:color(display-p3 0.25 1 0);--neon-cyan:color(display-p3 0 1 1);--theme-text_color:var(--gray-11);--theme-icon_color:var(--gray-9);--theme-icon_hover-bg:#fff;--theme-icon_active-bg:#fff;--layer-top:2147483647;--layer-1:2147483646;--layer-2:2147483645;--layer-3:2147483644;--layer-4:2147483643;--layer-5:2147483642;--text-shadow:0 1px rgba(0,0,0,.4);@media (-webkit-min-device-pixel-ratio:2){--text-shadow:0 .5px rgba(0,0,0,.5)}@media (prefers-color-scheme:dark){--theme-bg:var(--gray-10);--theme-bd:hsl(var(--gray-10-hsl)/var(--theme-bd-opacity));--theme-bd-2:hsl(var(--gray-10-hsl)/var(--theme-bd-2-opacity));--theme-color:#e996bf;--theme-text_color:var(--gray-0);--theme-icon_color:var(--gray-2);--theme-icon_hover-bg:var(--gray-8);--theme-icon_active-bg:var(--gray-8)}@supports (backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}@supports (-webkit-backdrop-filter:blur(5px)){--theme-bd-opacity:.8;--theme-bd-2-opacity:.9}}:host{--position:absolute;--top:0;--left:0;--max-width:0;background:transparent;border:none;font-size:16px;margin:0;overflow:visible;padding:0;position:static}:host>span{background:var(--label-bg,var(--neon-pink));color:#fff;display:inline-flex;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;font-size:.8em;font-weight:400;inset:var(--top) auto auto var(--left);justify-content:center;line-height:1.1;max-width:var(--max-width);padding:2px 6px;position:var(--position);text-shadow:var(--text-shadow);transform:translateY(-100%);white-space:nowrap;z-index:var(--layer-4)}:host a{color:inherit;cursor:pointer;overflow:hidden;padding-bottom:1px;text-decoration:none;text-overflow:ellipsis;&:hover{color:#fff;text-decoration:underline}&[node]:before{content:"\\003c"}&[node]:after{content:"\\003e"}}:host::backdrop{background:none!important}:host{--count:"\\00a0 0";--hover-text:""}:host>[offscreen-label]{cursor:none}:host>[offscreen-label]:after{content:var(--count)}:host>[offscreen-label]:hover:after{content:var(--hover-text)}');function c(e,t,r){return Math.max(e,Math.min(t,r))}new CSSStyleSheet,new CSSStyleSheet;class h{constructor(){this.timestamp=Date.now()}undo(){throw new Error("undo() must be implemented")}redo(){throw new Error("redo() must be implemented")}canMerge(e){return!1}merge(e){return this}}class d extends h{constructor({element:e,property:t,oldValue:r,newValue:a}){super(),this.element=e,this.property=t,this.oldValue=r,this.newValue=a}undo(){this.element&&this.element.isConnected&&(this.element.style[this.property]=this.oldValue)}redo(){this.element&&this.element.isConnected&&(this.element.style[this.property]=this.newValue)}canMerge(e){return e instanceof d&&e.element===this.element&&e.property===this.property&&e.timestamp-this.timestamp<1e3}merge(e){return new d({element:this.element,property:this.property,oldValue:this.oldValue,newValue:e.newValue})}}class p extends h{constructor({element:e,attribute:t,oldValue:r,newValue:a}){super(),this.element=e,this.attribute=t,this.oldValue=r,this.newValue=a}undo(){this.element?.isConnected&&(null===this.oldValue?this.element.removeAttribute(this.attribute):this.element.setAttribute(this.attribute,this.oldValue))}redo(){this.element?.isConnected&&(null===this.newValue?this.element.removeAttribute(this.attribute):this.element.setAttribute(this.attribute,this.newValue))}}class u extends h{constructor({element:e,oldParent:t,oldNextSibling:r,newParent:a,newNextSibling:o}){super(),this.element=e,this.oldParent=t,this.oldNextSibling=r,this.newParent=a,this.newNextSibling=o}undo(){this.element&&(this.oldParent?this.oldNextSibling&&this.oldNextSibling.isConnected?this.oldParent.insertBefore(this.element,this.oldNextSibling):this.oldParent.appendChild(this.element):this.newParent&&this.element.isConnected&&this.element.remove())}redo(){this.element&&(this.newParent?this.newNextSibling&&this.newNextSibling.isConnected?this.newParent.insertBefore(this.element,this.newNextSibling):this.newParent.appendChild(this.element):this.element.isConnected&&this.element.remove())}}class g extends h{constructor({element:e,oldText:t,newText:r}){super(),this.element=e,this.oldText=t,this.newText=r}undo(){this.element?.isConnected&&(this.element.textContent=this.oldText)}redo(){this.element?.isConnected&&(this.element.textContent=this.newText)}}class m extends h{constructor(e){super(),this.changes=e}undo(){for(let e=this.changes.length-1;e>=0;e--)this.changes[e].undo()}redo(){for(let e=0;e<this.changes.length;e++)this.changes[e].redo()}}class f{constructor(e={}){this.undoStack=[],this.redoStack=[],this.maxSize=e.maxSize||50,this.batchMode=!1,this.batchedChanges=[],this.mergeTimeout=e.mergeTimeout||1e3,this.listeners={}}on(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}off(e,t){this.listeners[e]&&(this.listeners[e]=this.listeners[e].filter(e=>e!==t))}emit(e,t){this.listeners[e]&&this.listeners[e].forEach(e=>e(t))}push(e){if(this.batchMode)Array.isArray(e)?this.batchedChanges.push(...e):this.batchedChanges.push(e);else{if(Array.isArray(e)){if(0===e.length)return;e=1===e.length?e[0]:new m(e)}if(this.undoStack.length>0){const t=this.undoStack[this.undoStack.length-1];if(t.canMerge(e)){const r=t.merge(e);return this.undoStack[this.undoStack.length-1]=r,void(this.redoStack=[])}}this.undoStack.push(e),this.redoStack=[],this.undoStack.length>this.maxSize&&this.undoStack.shift(),this.emit("change",this.state)}}beginBatch(){this.batchMode=!0,this.batchedChanges=[]}endBatch(){if(this.batchedChanges.length>0){const e=new m(this.batchedChanges);this.undoStack.push(e),this.redoStack=[],this.undoStack.length>this.maxSize&&this.undoStack.shift(),this.emit("change",this.state)}this.batchMode=!1,this.batchedChanges=[]}undo(){if(!this.canUndo())return!1;const e=this.undoStack.pop();try{return e.undo(),this.redoStack.push(e),this.emit("change",this.state),!0}catch(t){return console.error("Error during undo:",t),this.undoStack.push(e),!1}}redo(){if(!this.canRedo())return!1;const e=this.redoStack.pop();try{return e.redo(),this.undoStack.push(e),this.emit("change",this.state),!0}catch(t){return console.error("Error during redo:",t),this.redoStack.push(e),!1}}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}clear(){this.undoStack=[],this.redoStack=[],this.batchedChanges=[],this.batchMode=!1,this.emit("change",this.state)}getHistory(){return this.undoStack}get size(){return{undo:this.undoStack.length,redo:this.redoStack.length}}get state(){return{canUndo:this.canUndo(),canRedo:this.canRedo(),undoSize:this.undoStack.length,redoSize:this.redoStack.length,batchMode:this.batchMode}}}class x extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[o]}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles,this.$shadow.innerHTML=this.render(),this.button=this.$shadow.querySelector("button"),this.button.addEventListener("pointerdown",this.on_element_resize_start.bind(this)),this.placement=this.getAttribute("placement")}static get observedAttributes(){return["placement"]}attributeChangedCallback(e,t,r){"placement"===e&&(this.placement=r)}on_element_resize_start(e){if(e.preventDefault(),e.stopPropagation(),0!==e.button)return;const r=this.placement,a=e.composedPath().find(e=>"VISBUG-HANDLES"===e.tagName),o=a.getAttribute("data-label-id"),[s]=t(`[data-label-id="${o}"]`);if(!s)return;const{x:n,y:i}=e,l=getComputedStyle(s),h=parseFloat(l.width),p=parseFloat(l.height),u=new DOMMatrix(l.transform),g=a.historyManager,f={width:s.style.width,height:s.style.height,transform:s.style.transform},x=s.style.transition,w=document.body.style.cursor,b=document.body.style.userSelect;function v(e){e.preventDefault(),e.stopPropagation();const t=c(0,e.clientX,document.documentElement.clientWidth),a=c(0,e.clientY,document.documentElement.clientHeight),o=t-n,l=a-i;switch(r){case"top-start":{const e=h-o,t=p-l,r=u.translate(o,l).transformPoint();requestAnimationFrame(()=>{s.style.width=`${e}px`,s.style.height=`${t}px`,s.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"top-center":{const e=p-l,t=u.translate(0,l).transformPoint();requestAnimationFrame(()=>{s.style.height=`${e}px`,s.style.transform=`translate(${t.x}px, ${t.y}px)`});break}case"top-end":{const e=h+o,t=p-l,r=u.translate(0,l).transformPoint();requestAnimationFrame(()=>{s.style.width=`${e}px`,s.style.height=`${t}px`,s.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"middle-start":{const e=h-o,t=u.translate(o).transformPoint();requestAnimationFrame(()=>{s.style.width=`${e}px`,s.style.transform=`translate(${t.x}px, ${t.y}px)`});break}case"middle-end":{const e=h+o;requestAnimationFrame(()=>{s.style.width=`${e}px`});break}case"bottom-start":{const e=h-o,t=p+l,r=u.translate(o,0).transformPoint();requestAnimationFrame(()=>{s.style.width=`${e}px`,s.style.height=`${t}px`,s.style.transform=`translate(${r.x}px, ${r.y}px)`});break}case"bottom-center":{const e=p+l;requestAnimationFrame(()=>{s.style.height=`${e}px`});break}case"bottom-end":{const e=h+o,t=p+l;requestAnimationFrame(()=>{s.style.width=`${e}px`,s.style.height=`${t}px`});break}}}function y(){if(document.removeEventListener("pointermove",v),document.body.style.cursor=w,document.body.style.userSelect=b,s.style.transition=x,g){const e=[];f.width!==s.style.width&&e.push(new d({element:s,property:"width",oldValue:f.width,newValue:s.style.width})),f.height!==s.style.height&&e.push(new d({element:s,property:"height",oldValue:f.height,newValue:s.style.height})),f.transform!==s.style.transform&&e.push(new d({element:s,property:"transform",oldValue:f.transform,newValue:s.style.transform})),e.length>1?g.push(new m(e)):1===e.length&&g.push(e[0])}}s.style.transition="none",document.body.style.cursor=getComputedStyle(this).getPropertyValue("--cursor"),document.body.style.userSelect="none",document.addEventListener("pointermove",v),document.addEventListener("pointerup",y,{once:!0}),document.addEventListener("mouseleave",y,{once:!0})}disconnectedCallback(){this.button.removeEventListener("pointerdown",this.on_element_resize_start.bind(this))}render(){return'\n <button type="button" aria-label="Resize"></button>\n '}}customElements.define("visbug-handle",x);const w=navigator.userAgent.search("Firefox")>0,b=navigator.userAgent.search("Safari")>0,v=navigator.userAgent.search("Chrome")>0,y=b&&!v,M=(()=>{try{return new window.CSSStyleSheet("a{}"),!0}catch(e){return!1}})(),k={color:"rgb(0, 0, 0)",backgroundColor:"rgba(0, 0, 0, 0)",backgroundImage:"none",backgroundSize:"auto",backgroundPosition:"0% 0%",borderRadius:"0px",boxShadow:"none",padding:"0px",margin:"0px",fontFamily:"auto",fontSize:"16px",fontWeight:"400",textAlign:"start",textShadow:"none",textTransform:"none",lineHeight:"normal",letterSpacing:"normal",display:"block",alignItems:"normal",justifyContent:"normal",flexDirection:"row",flexWrap:"nowrap",flexBasis:"auto",fill:"rgb(0, 0, 0)",stroke:"none",gridTemplateColumns:"none",gridAutoColumns:"auto",gridTemplateRows:"none",gridAutoRows:"auto",gridTemplateAreas:"none",gridArea:"auto",gap:"normal",gridAutoFlow:"row"};w&&(k.backgroundSize="auto",k.borderWidth="",k.borderRadius="",k.padding="",k.margin="",k.gap="",k.gridArea="",k.borderColor=""),y&&(k.gap="normal normal");const S=["role","tabindex","aria-*","for","alt","title","type"],C=[{fontSize:"24px",fontWeight:"0"},{fontSize:"18.5px",fontWeight:"700"}],E=(e,t)=>{if(document.defaultView&&document.defaultView.getComputedStyle){t=(t=t.replace(/([A-Z])/g,"-$1")).toLowerCase();let r=document.defaultView.getComputedStyle(e,"");return r&&r.getPropertyValue(t)}},_=e=>{e.style;const t=window.getComputedStyle(e,null),r=[],a=[];for(const o in e.style){const e=k[o];e&&e!=t[o]&&r.push({prop:o,value:t[o]}),"borderColor"!==o&&"borderWidth"!==o&&"borderStyle"!==o||(a[o]=t[o].replace(/, rgba/g,"\rrgba"))}const{borderColor:o,borderWidth:s,borderStyle:n}=a;return parseFloat(s)>0&&(r.push({prop:"borderColor",value:o}),r.push({prop:"borderStyle",value:n}),r.push({prop:"borderWidth",value:s})),r.sort(function({prop:e},{prop:t}){return e<t?-1:e>t?1:0})};let A;const $=()=>{if(A)return A;const e=document.createElement("span");return e.style.backgroundColor="Canvas",document.body.appendChild(e),A=getComputedStyle(e).backgroundColor,document.body.removeChild(e),A},P=e=>"HTML"===e.nodeName?e:e.parentNode&&1===e.parentNode.nodeType?e.parentNode:"#document-fragment"===e.parentNode.nodeName?e.parentNode.host:e.parentNode.parentNode.host,L=new Map,z=e=>{let t=[],r=e;for(;r;)t.push(r),r=!!r.parentNode&&r.parentNode;return t.reduce((t,r)=>`\n ${t}${r.tagName}_${r.className}_${[...e.parentNode.children].indexOf(e)}_${e.children.length}\n `,"")},N=(e,t=!1)=>{if(!e.className)return"";const r=Array.from(e.classList).reduce((e,t)=>e+"."+B(t),"");return t&&r.length>30?r.substring(0,30)+"...":r},B=e=>Array.from(e).map(e=>/[0-9a-zA-Z_\s-]/.test(e)?e:`\\${e}`).join(""),T=window.navigator.platform.includes("Mac")?"cmd":"ctrl",R=window.navigator.platform.includes("Mac")?"opt":"alt",I=(e,t)=>{const r=document.elementFromPoint(e,t),a=r=>{if(r.shadowRoot){const o=r.shadowRoot.elementFromPoint(e,t);return o==r?r:o.shadowRoot?a(o):o}return r};return a(r)||r},O=e=>{let t=e.split("+").pop().replace(/^\w/,e=>e.toUpperCase());return"Up"==t&&(t="Top"),"Down"==t&&(t="Bottom"),t};let j={};const D=(e,t=750)=>(e.setAttribute("data-selected-hide",!0),F(e,!0),j[z(e)]&&clearTimeout(j[z(e)]),j[z(e)]=setTimeout(t=>{e.removeAttribute("data-selected-hide"),F(e,!1)},t),e),F=(e,r=!1)=>{if(!e.hasAttribute("data-label-id"))return;const a=e.getAttribute("data-label-id"),o=t(`\n visbug-label[data-label-id="${a}"],\n visbug-handles[data-label-id="${a}"]\n `);o.length&&r?o.forEach(e=>e.style.display="none"):o.forEach(e=>e.style.display=null)},V=e=>e.closest&&(e.closest("vis-bug")||e.closest("hotkey-map")||e.closest("visbug-metatip")||e.closest("visbug-ally")||e.closest("visbug-label")||e.closest("visbug-handles")||e.closest("visbug-corners")||e.closest("visbug-grip")||e.closest("visbug-gridlines")||e.closest("visbug-hover")||e.closest("visbug-overlay")||e.closest("visbug-offscreen-label")),H=e=>{try{t=e,document.createDocumentFragment().querySelector(t)}catch(e){return!1}var t;return!0},W=(e,t)=>{const r=e.parentNode?e.parentNode:document.body;if(!r)throw new Error("The node must already be attached");const a=new MutationObserver(r=>{for(const o of r)for(const r of o.removedNodes)r===e&&(a.disconnect(),t())});a.observe(r,{childList:!0})};const q=e=>{do{if("fixed"==window.getComputedStyle(e).position)return!0}while(e=e.offsetParent);return!1};function Y(e,t){let r=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let a=t[0].length,o=t[0].map((e,r)=>t.map(e=>e[r])),s=e.map(e=>o.map(t=>{let r=0;if(!Array.isArray(e)){for(let a of t)r+=e*a;return r}for(let a=0;a<e.length;a++)r+=e[a]*(t[a]||0);return r}));return 1===r&&(s=s[0]),1===a?s.map(e=>e[0]):s}function K(e){return"string"===U(e)}function U(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function G(e,{precision:t,unit:r}){return X(e)?"none":J(e,t)+(r??"")}function X(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function Z(e){return X(e)?0:e}function J(e,t){if(0===e)return 0;let r=~~e,a=0;r&&t&&(a=1+~~Math.log10(Math.abs(r)));const o=10**(t-a);return Math.floor(e*o+.5)/o}const Q={deg:1,grad:.9,rad:180/Math.PI,turn:360};function ee(e){if(!e)return;e=e.trim();const t=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,a=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g;let o=e.match(/^([a-z]+)\((.+?)\)$/i);if(o){let e=[];return o[2].replace(a,(a,o)=>{let s=o.match(r),n=o;if(s){let e=s[0],t=n.slice(0,-e.length);"%"===e?(n=new Number(t/100),n.type="<percentage>"):(n=new Number(t*Q[e]),n.type="<angle>",n.unit=e)}else t.test(n)?(n=new Number(n),n.type="<number>"):"none"===n&&(n=new Number(NaN),n.none=!0);a.startsWith("/")&&(n=n instanceof Number?n:new Number(n),n.alpha=!0),"object"==typeof n&&n instanceof Number&&(n.raw=o),e.push(n)}),{name:o[1].toLowerCase(),rawName:o[1],rawArgs:o[2],args:e}}}function te(e){return e[e.length-1]}function re(e,t,r){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*r}function ae(e,t,r){return(r-e)/(t-e)}function oe(e,t,r){return re(t[0],t[1],ae(e[0],e[1],r))}function se(e){return e.map(e=>e.split("|").map(e=>{let t=(e=e.trim()).match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let e=new String(t[1]);return e.range=[+t[2],+t[3]],e}return e}))}function ne(e,t,r){return Math.max(Math.min(r,t),e)}function ie(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function le(e,t){return ie(Math.abs(e)**t,e)}function ce(e,t){return 0===t?0:e/t}function he(e,t,r=0,a=e.length){for(;r<a;){const o=r+a>>1;e[o]<t?r=o+1:a=o}return r}var de=Object.freeze({__proto__:null,bisectLeft:he,clamp:ne,copySign:ie,interpolate:re,interpolateInv:ae,isNone:X,isString:K,last:te,mapRange:oe,multiplyMatrices:Y,parseCoordGrammar:se,parseFunction:ee,serializeNumber:G,skipNone:Z,spow:le,toPrecision:J,type:U,zdiv:ce});const pe=new class{add(e,t,r){if("string"==typeof arguments[0])(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][r?"unshift":"push"](t)},this);else for(var e in arguments[0])this.add(e,arguments[0][e],arguments[1])}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}};var ue={gamut_mapping:"css",precision:5,deltaE:"76",verbose:"test"!==globalThis?.process?.env?.NODE_ENV?.toLowerCase(),warn:function(e){this.verbose&&globalThis?.console?.warn?.(e)}};const ge={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function me(e){return Array.isArray(e)?e:ge[e]}function fe(e,t,r,a={}){if(e=me(e),t=me(t),!e||!t)throw new TypeError(`Missing white point to convert ${e?"":"from"}${e||t?"":"/"}${t?"":"to"}`);if(e===t)return r;let o={W1:e,W2:t,XYZ:r,options:a};if(pe.run("chromatic-adaptation-start",o),o.M||(o.W1===ge.D65&&o.W2===ge.D50?o.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:o.W1===ge.D50&&o.W2===ge.D65&&(o.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),pe.run("chromatic-adaptation-end",o),o.M)return Y(o.M,o.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}const xe=new Set(["<number>","<percentage>","<angle>"]);function we(e,t,r,a){let o=Object.entries(e.coords).map(([e,o],s)=>{let n,i=t.coordGrammar[s],l=a[s],c=l?.type;if(n=l.none?i.find(e=>xe.has(e)):i.find(e=>e==c),!n){let t=o.name||e;throw new TypeError(`${c??l.raw} not allowed for ${t} in ${r}()`)}let h=n.range;"<percentage>"===c&&(h||=[0,1]);let d=o.range||o.refRange;return h&&d&&(a[s]=oe(h,d,a[s])),n});return o}function be(e,{meta:t}={}){let r={str:String(e)?.trim()};if(pe.run("parse-start",r),r.color)return r.color;if(r.parsed=ee(r.str),r.parsed){let e=r.parsed.name;if("color"===e){let e=r.parsed.args.shift(),a=e.startsWith("--")?e.substring(2):`--${e}`,o=[e,a],s=r.parsed.rawArgs.indexOf("/")>0?r.parsed.args.pop():1;for(let a of ye.all){let n=a.getFormat("color");if(n&&(o.includes(n.id)||n.ids?.filter(e=>o.includes(e)).length)){const o=Object.keys(a.coords).map((e,t)=>r.parsed.args[t]||0);let i;return n.coordGrammar&&(i=we(a,n,"color",o)),t&&Object.assign(t,{formatId:"color",types:i}),n.id.startsWith("--")&&!e.startsWith("--")&&ue.warn(`${a.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${n.id}) instead of color(${e}).`),e.startsWith("--")&&!n.id.startsWith("--")&&ue.warn(`${a.name} is a standard space and supported in the CSS spec. Use color(${n.id}) instead of prefixed color(${e}).`),{spaceId:a.id,coords:o,alpha:s}}}let n="",i=e in ye.registry?e:a;if(i in ye.registry){let e=ye.registry[i].formats?.color?.id;e&&(n=`Did you mean color(${e})?`)}throw new TypeError(`Cannot parse color(${e}). `+(n||"Missing a plugin?"))}for(let a of ye.all){let o=a.getFormat(e);if(o&&"function"===o.type){let s=1;(o.lastAlpha||te(r.parsed.args).alpha)&&(s=r.parsed.args.pop());let n,i=r.parsed.args;return o.coordGrammar&&(n=we(a,o,e,i)),t&&Object.assign(t,{formatId:o.name,types:n}),{spaceId:a.id,coords:i,alpha:s}}}}else for(let e of ye.all)for(let a in e.formats){let o=e.formats[a];if("custom"!==o.type)continue;if(o.test&&!o.test(r.str))continue;let s=o.parse(r.str);if(s)return s.alpha??=1,t&&(t.formatId=a),s}throw new TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function ve(e){if(Array.isArray(e))return e.map(ve);if(!e)throw new TypeError("Empty color reference");K(e)&&(e=be(e));let t=e.space||e.spaceId;return t instanceof ye||(e.space=ye.get(t)),void 0===e.alpha&&(e.alpha=1),e}class ye{constructor(e){this.id=e.id,this.name=e.name,this.base=e.base?ye.get(e.base):null,this.aliases=e.aliases,this.base&&(this.fromBase=e.fromBase,this.toBase=e.toBase);let t=e.coords??this.base.coords;for(let e in t)"name"in t[e]||(t[e].name=e);this.coords=t;let r=e.white??this.base.white??"D65";this.white=me(r),this.formats=e.formats??{};for(let e in this.formats){let t=this.formats[e];t.type||="function",t.name||=e}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:e.cssId||this.id}),e.gamutSpace?this.gamutSpace="self"===e.gamutSpace?this:ye.get(e.gamutSpace):this.isPolar?this.gamutSpace=this.base:this.gamutSpace=this,this.gamutSpace.isUnbounded&&(this.inGamut=(e,t)=>!0),this.referred=e.referred,Object.defineProperty(this,"path",{value:Me(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),pe.run("colorspace-init-end",this)}inGamut(e,{epsilon:t=75e-6}={}){if(!this.equals(this.gamutSpace))return e=this.to(this.gamutSpace,e),this.gamutSpace.inGamut(e,{epsilon:t});let r=Object.values(this.coords);return e.every((e,a)=>{let o=r[a];if("angle"!==o.type&&o.range){if(Number.isNaN(e))return!0;let[r,a]=o.range;return(void 0===r||e>=r-t)&&(void 0===a||e<=a+t)}return!0})}get isUnbounded(){return Object.values(this.coords).every(e=>!("range"in e))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let e in this.coords)if("angle"===this.coords[e].type)return!0;return!1}getFormat(e){if("object"==typeof e)return e=ke(e,this);let t;return t="default"===e?Object.values(this.formats)[0]:this.formats[e],t?(t=ke(t,this),t):null}equals(e){return!!e&&(this===e||this.id===e||this.id===e.id)}to(e,t){if(1===arguments.length){const r=ve(e);[e,t]=[r.space,r.coords]}if(e=ye.get(e),this.equals(e))return t;t=t.map(e=>Number.isNaN(e)?0:e);let r,a,o=this.path,s=e.path;for(let e=0;e<o.length&&o[e].equals(s[e]);e++)r=o[e],a=e;if(!r)throw new Error(`Cannot convert between color spaces ${this} and ${e}: no connection space was found`);for(let e=o.length-1;e>a;e--)t=o[e].toBase(t);for(let e=a+1;e<s.length;e++)t=s[e].fromBase(t);return t}from(e,t){if(1===arguments.length){const r=ve(e);[e,t]=[r.space,r.coords]}return(e=ye.get(e)).to(this,t)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let e=[];for(let t in this.coords){let r=this.coords[t],a=r.range||r.refRange;e.push(a?.min??0)}return e}static registry={};static get all(){return[...new Set(Object.values(ye.registry))]}static register(e,t){if(1===arguments.length&&(e=(t=arguments[0]).id),t=this.get(t),this.registry[e]&&this.registry[e]!==t)throw new Error(`Duplicate color space registration: '${e}'`);if(this.registry[e]=t,1===arguments.length&&t.aliases)for(let e of t.aliases)this.register(e,t);return t}static get(e,...t){if(!e||e instanceof ye)return e;if("string"===U(e)){let t=ye.registry[e.toLowerCase()];if(!t)throw new TypeError(`No color space found with id = "${e}"`);return t}if(t.length)return ye.get(...t);throw new TypeError(`${e} is not a valid color space`)}static resolveCoord(e,t){let r,a,o=U(e);if("string"===o?e.includes(".")?[r,a]=e.split("."):[r,a]=[,e]:Array.isArray(e)?[r,a]=e:(r=e.space,a=e.coordId),r=ye.get(r),r||(r=t),!r)throw new TypeError(`Cannot resolve coordinate reference ${e}: No color space specified and relative references are not allowed here`);if(o=U(a),"number"===o||"string"===o&&a>=0){let e=Object.entries(r.coords)[a];if(e)return{space:r,id:e[0],index:a,...e[1]}}r=ye.get(r);let s=a.toLowerCase(),n=0;for(let e in r.coords){let t=r.coords[e];if(e.toLowerCase()===s||t.name?.toLowerCase()===s)return{space:r,id:e,index:n,...t};n++}throw new TypeError(`No "${a}" coordinate found in ${r.name}. Its coordinates are: ${Object.keys(r.coords).join(", ")}`)}static DEFAULT_FORMAT={type:"functions",name:"color"}}function Me(e){let t=[e];for(let r=e;r=r.base;)t.push(r);return t}function ke(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||="function",e.name||="color",e.coordGrammar=se(e.coords);let r=Object.entries(t).map(([t,r],a)=>{let o=e.coordGrammar[a][0],s=r.range||r.refRange,n=o.range,i="";return"<percentage>"==o?(n=[0,100],i="%"):"<angle>"==o&&(i="deg"),{fromRange:s,toRange:n,suffix:i}});e.serializeCoords=(e,t)=>e.map((e,a)=>{let{fromRange:o,toRange:s,suffix:n}=r[a];return o&&s&&(e=oe(o,s,e)),e=G(e,{precision:t,unit:n})})}return e}var Se=new ye({id:"xyz-d65",name:"XYZ D65",coords:{x:{name:"X"},y:{name:"Y"},z:{name:"Z"}},white:"D65",formats:{color:{ids:["xyz-d65","xyz"]}},aliases:["xyz"]});class Ce extends ye{constructor(e){e.coords||(e.coords={r:{range:[0,1],name:"Red"},g:{range:[0,1],name:"Green"},b:{range:[0,1],name:"Blue"}}),e.base||(e.base=Se),e.toXYZ_M&&e.fromXYZ_M&&(e.toBase??=t=>{let r=Y(e.toXYZ_M,t);return this.white!==this.base.white&&(r=fe(this.white,this.base.white,r)),r},e.fromBase??=t=>(t=fe(this.base.white,this.white,t),Y(e.fromXYZ_M,t))),e.referred??="display",super(e)}}function Ee(e,t){return e=ve(e),!t||e.space.equals(t)?e.coords.slice():(t=ye.get(t)).from(e)}function _e(e,t){e=ve(e);let{space:r,index:a}=ye.resolveCoord(t,e.space);return Ee(e,r)[a]}function Ae(e,t,r){return e=ve(e),t=ye.get(t),e.coords=t.to(e.space,r),e}function $e(e,t,r){if(e=ve(e),2===arguments.length&&"object"===U(arguments[1])){let t=arguments[1];for(let r in t)$e(e,r,t[r])}else{"function"==typeof r&&(r=r(_e(e,t)));let{space:a,index:o}=ye.resolveCoord(t,e.space),s=Ee(e,a);s[o]=r,Ae(e,a,s)}return e}Ae.returns="color",$e.returns="color";var Pe=new ye({id:"xyz-d50",name:"XYZ D50",white:"D50",base:Se,fromBase:e=>fe(Se.white,"D50",e),toBase:e=>fe("D50",Se.white,e)});const Le=216/24389,ze=24/116,Ne=24389/27;let Be=ge.D50;var Te=new ye({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Be,base:Pe,fromBase(e){let t=e.map((e,t)=>e/Be[t]).map(e=>e>Le?Math.cbrt(e):(Ne*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>ze?Math.pow(t[0],3):(116*t[0]-16)/Ne,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Ne,t[2]>ze?Math.pow(t[2],3):(116*t[2]-16)/Ne].map((e,t)=>e*Be[t])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Re(e){return(e%360+360)%360}var Ie=new ye({id:"lch",name:"LCH",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,150],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:Te,fromBase(e){let t,[r,a,o]=e;return t=Math.abs(a)<.02&&Math.abs(o)<.02?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let[t,r,a]=e;return r<0&&(r=0),isNaN(a)&&(a=0),[t,r*Math.cos(a*Math.PI/180),r*Math.sin(a*Math.PI/180)]},formats:{lch:{coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}});const Oe=25**7,je=Math.PI,De=180/je,Fe=je/180;function Ve(e){const t=e*e;return t*t*t*e}function He(e,t,{kL:r=1,kC:a=1,kH:o=1}={}){[e,t]=ve([e,t]);let[s,n,i]=Te.from(e),l=Ie.from(Te,[s,n,i])[1],[c,h,d]=Te.from(t),p=Ie.from(Te,[c,h,d])[1];l<0&&(l=0),p<0&&(p=0);let u=Ve((l+p)/2),g=.5*(1-Math.sqrt(u/(u+Oe))),m=(1+g)*n,f=(1+g)*h,x=Math.sqrt(m**2+i**2),w=Math.sqrt(f**2+d**2),b=0===m&&0===i?0:Math.atan2(i,m),v=0===f&&0===d?0:Math.atan2(d,f);b<0&&(b+=2*je),v<0&&(v+=2*je),b*=De,v*=De;let y,M=c-s,k=w-x,S=v-b,C=b+v,E=Math.abs(S);x*w===0?y=0:E<=180?y=S:S>180?y=S-360:S<-180?y=S+360:ue.warn("the unthinkable has happened");let _,A=2*Math.sqrt(w*x)*Math.sin(y*Fe/2),$=(s+c)/2,P=(x+w)/2,L=Ve(P);_=x*w===0?C:E<=180?C/2:C<360?(C+360)/2:(C-360)/2;let z=($-50)**2,N=1+.015*z/Math.sqrt(20+z),B=1+.045*P,T=1;T-=.17*Math.cos((_-30)*Fe),T+=.24*Math.cos(2*_*Fe),T+=.32*Math.cos((3*_+6)*Fe),T-=.2*Math.cos((4*_-63)*Fe);let R=1+.015*P*T,I=30*Math.exp(-1*((_-275)/25)**2),O=2*Math.sqrt(L/(L+Oe)),j=(M/(r*N))**2;return j+=(k/(a*B))**2,j+=(A/(o*R))**2,j+=-1*Math.sin(2*I*Fe)*O*(k/(a*B))*(A/(o*R)),Math.sqrt(j)}const We=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],qe=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Ye=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ke=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]];var Ue=new ye({id:"oklab",name:"Oklab",coords:{l:{refRange:[0,1],name:"Lightness"},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:"D65",base:Se,fromBase(e){let t=Y(We,e).map(e=>Math.cbrt(e));return Y(Ye,t)},toBase(e){let t=Y(Ke,e).map(e=>e**3);return Y(qe,t)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Ge(e,t){[e,t]=ve([e,t]);let[r,a,o]=Ue.from(e),[s,n,i]=Ue.from(t),l=r-s,c=a-n,h=o-i;return Math.sqrt(l**2+c**2+h**2)}function Xe(e,t,{epsilon:r=75e-6}={}){e=ve(e),t||(t=e.space),t=ye.get(t);let a=e.coords;return t!==e.space&&(a=t.from(e)),t.inGamut(a,{epsilon:r})}function Ze(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function Je(e,t,r="lab"){let a=(r=ye.get(r)).from(e),o=r.from(t);return Math.sqrt(a.reduce((e,t,r)=>{let a=o[r];return isNaN(t)||isNaN(a)?e:e+(a-t)**2},0))}const Qe=Math.PI/180;var et=new ye({id:"xyz-abs-d65",cssId:"--xyz-abs-d65",name:"Absolute XYZ D65",coords:{x:{refRange:[0,9504.7],name:"Xa"},y:{refRange:[0,1e4],name:"Ya"},z:{refRange:[0,10888.3],name:"Za"}},base:Se,fromBase:e=>e.map(e=>Math.max(203*e,0)),toBase:e=>e.map(e=>Math.max(e/203,0))});const tt=1.15,rt=.66,at=2610/16384,ot=16384/2610,st=.8359375,nt=2413/128,it=18.6875,lt=1.7*2523/32,ct=32/(1.7*2523),ht=-.56,dt=16295499532821565e-27,pt=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],ut=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],gt=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],mt=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]];var ft=new ye({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:et,fromBase(e){let[t,r,a]=e,o=Y(pt,[tt*t-(tt-1)*a,rt*r-(rt-1)*t,a]).map(function(e){return((st+nt*(e/1e4)**at)/(1+it*(e/1e4)**at))**lt}),[s,n,i]=Y(gt,o);return[(1+ht)*s/(1+ht*s)-dt,n,i]},toBase(e){let[t,r,a]=e,o=Y(mt,[(t+dt)/(1+ht-ht*(t+dt)),r,a]).map(function(e){return 1e4*((st-e**ct)/(it*e**ct-nt))**ot}),[s,n,i]=Y(ut,o),l=(s+(tt-1)*i)/tt;return[l,(n+(rt-1)*l)/rt,i]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),xt=new ye({id:"jzczhz",name:"JzCzHz",coords:{jz:{refRange:[0,1],name:"Jz"},cz:{refRange:[0,1],name:"Chroma"},hz:{refRange:[0,360],type:"angle",name:"Hue"}},base:ft,fromBase(e){let t,[r,a,o]=e;const s=2e-4;return t=Math.abs(a)<s&&Math.abs(o)<s?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase:e=>[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]});const wt=.8359375,bt=2413/128,vt=18.6875,yt=2610/16384,Mt=2523/32,kt=16384/2610,St=32/2523,Ct=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],Et=[[.5,.5,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],_t=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],At=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]];var $t=new ye({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:et,fromBase:e=>function(e){let t=e.map(function(e){return((wt+bt*(e/1e4)**yt)/(1+vt*(e/1e4)**yt))**Mt});return Y(Et,t)}(Y(Ct,e)),toBase(e){let t=function(e){let t=Y(_t,e),r=t.map(function(e){return 1e4*(Math.max(e**St-wt,0)/(bt-vt*e**St))**kt});return r}(e);return Y(At,t)}});const Pt=ge.D65,Lt=1/.42,zt=2*Math.PI,Nt=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Bt=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],Tt=[[460,451,288],[460,-891,-261],[460,-220,-6300]],Rt={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},It={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Ot=180/Math.PI,jt=Math.PI/180;function Dt(e,t){const r=e.map(e=>{const r=le(t*Math.abs(e)*.01,.42);return 400*ie(r,e)/(r+27.13)});return r}function Ft(e,t,r,a,o){const s={};s.discounting=o,s.refWhite=e,s.surround=a;const n=e.map(e=>100*e);s.la=t,s.yb=r;const i=n[1],l=Y(Nt,n),c=(a=Rt[s.surround])[0];s.c=a[1],s.nc=a[2];const h=(1/(5*s.la+1))**4;s.fl=h*s.la+.1*(1-h)*(1-h)*Math.cbrt(5*s.la),s.flRoot=s.fl**.25,s.n=s.yb/i,s.z=1.48+Math.sqrt(s.n),s.nbb=.725*s.n**-.2,s.ncb=s.nbb;const d=Math.max(Math.min(c*(1-1/3.6*Math.exp((-s.la-42)/92)),1),0);s.dRgb=l.map(e=>re(1,i/e,d)),s.dRgbInv=s.dRgb.map(e=>1/e);const p=l.map((e,t)=>e*s.dRgb[t]),u=Dt(p,s.fl);return s.aW=s.nbb*(2*u[0]+u[1]+.05*u[2]),s}const Vt=Ft(Pt,64/Math.PI*.2,20,"average",!1);function Ht(e,t){if(!(void 0!==e.J^void 0!==e.Q))throw new Error("Conversion requires one and only one: 'J' or 'Q'");if(!(void 0!==e.C^void 0!==e.M^void 0!==e.s))throw new Error("Conversion requires one and only one: 'C', 'M' or 's'");if(!(void 0!==e.h^void 0!==e.H))throw new Error("Conversion requires one and only one: 'h' or 'H'");if(0===e.J||0===e.Q)return[0,0,0];let r=0;r=void 0!==e.h?Re(e.h)*jt:function(e){let t=(e%400+400)%400;const r=Math.floor(.01*t);t%=100;const[a,o]=It.h.slice(r,r+2),[s,n]=It.e.slice(r,r+2);return Re((t*(n*a-s*o)-100*a*n)/(t*(n-s)-100*n))}(e.H)*jt;const a=Math.cos(r),o=Math.sin(r);let s=0;void 0!==e.J?s=.1*le(e.J,.5):void 0!==e.Q&&(s=.25*t.c*e.Q/((t.aW+4)*t.flRoot));let n=0;void 0!==e.C?n=e.C/s:void 0!==e.M?n=e.M/t.flRoot/s:void 0!==e.s&&(n=4e-4*e.s**2*(t.aW+4)/t.c);const i=le(n*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),l=.25*(Math.cos(r+2)+3.8),c=t.aW*le(s,2/t.c/t.z),h=5e4/13*t.nc*t.ncb*l,d=c/t.nbb,p=23*(d+.305)*ce(i,23*h+i*(11*a+108*o)),u=function(e,t){const r=100/t*2588.068098016295;return e.map(e=>{const t=Math.abs(e);return ie(r*le(t/(400-t),Lt),e)})}(Y(Tt,[d,p*a,p*o]).map(e=>1*e/1403),t.fl);return Y(Bt,u.map((e,r)=>e*t.dRgbInv[r])).map(e=>e/100)}function Wt(e,t){const r=e.map(e=>100*e),a=Dt(Y(Nt,r).map((e,r)=>e*t.dRgb[r]),t.fl),o=a[0]+(-12*a[1]+a[2])/11,s=(a[0]+a[1]-2*a[2])/9,n=(Math.atan2(s,o)%zt+zt)%zt,i=.25*(Math.cos(n+2)+3.8),l=le(5e4/13*t.nc*t.ncb*ce(i*Math.sqrt(o**2+s**2),a[0]+a[1]+1.05*a[2]+.305),.9)*Math.pow(1.64-Math.pow(.29,t.n),.73),c=le(t.nbb*(2*a[0]+a[1]+.05*a[2])/t.aW,.5*t.c*t.z),h=100*le(c,2),d=4/t.c*c*(t.aW+4)*t.flRoot,p=l*c,u=p*t.flRoot,g=Re(n*Ot),m=function(e){let t=Re(e);t<=It.h[0]&&(t+=360);const r=he(It.h,t)-1,[a,o]=It.h.slice(r,r+2),[s,n]=It.e.slice(r,r+2),i=(t-a)/s;return It.H[r]+100*i/(i+(o-t)/n)}(g);return{J:h,C:p,h:g,s:50*le(t.c*l/(t.aW+4),.5),Q:d,M:u,H:m}}var qt=new ye({id:"cam16-jmh",cssId:"--cam16-jmh",name:"CAM16-JMh",coords:{j:{refRange:[0,100],name:"J"},m:{refRange:[0,105],name:"Colorfulness"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:Se,fromBase(e){const t=Wt(e,Vt);return[t.J,t.M,t.h]},toBase:e=>Ht({J:e[0],M:e[1],h:e[2]},Vt)});const Yt=ge.D65,Kt=216/24389,Ut=24389/27;function Gt(e){return e>8?Math.pow((e+16)/116,3):e/Ut}function Xt(e,t){const r=116*((a=e[1])>Kt?Math.cbrt(a):(Ut*a+16)/116)-16;var a;if(0===r)return[0,0,0];const o=Wt(e,Zt);return[Re(o.h),o.C,r]}const Zt=Ft(Yt,200/Math.PI*Gt(50),100*Gt(50),"average",!1);var Jt=new ye({id:"hct",name:"HCT",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},c:{refRange:[0,145],name:"Colorfulness"},t:{refRange:[0,100],name:"Tone"}},base:Se,fromBase:e=>Xt(e),toBase:e=>function(e,t){let[r,a,o]=e,s=[],n=0;if(0===o)return[0,0,0];let i=Gt(o);n=o>0?.00379058511492914*o**2+.608983189401032*o+.9155088574762233:9514440756550361e-21*o**2+.08693057439788597*o-21.928975842194614;let l=0,c=1/0;for(;l<=15;){s=Ht({J:n,C:a,h:r},t);const e=Math.abs(s[1]-i);if(e<c){if(e<=2e-12)return s;c=e}n-=(s[1]-i)*n/(2*s[1]),l+=1}return Ht({J:n,C:a,h:r},t)}(e,Zt),formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const Qt=Math.PI/180,er=[1,.007,.0228];function tr(e){e[1]<0&&(e=Jt.fromBase(Jt.toBase(e)));const t=Math.log(Math.max(1+er[2]*e[1]*Zt.flRoot,1))/er[2],r=e[0]*Qt,a=t*Math.cos(r),o=t*Math.sin(r);return[e[2],a,o]}var rr={deltaE76:function(e,t){return Je(e,t,"lab")},deltaECMC:function(e,t,{l:r=2,c:a=1}={}){[e,t]=ve([e,t]);let[o,s,n]=Te.from(e),[,i,l]=Ie.from(Te,[o,s,n]),[c,h,d]=Te.from(t),p=Ie.from(Te,[c,h,d])[1];i<0&&(i=0),p<0&&(p=0);let u=o-c,g=i-p,m=(s-h)**2+(n-d)**2-g**2,f=.511;o>=16&&(f=.040975*o/(1+.01765*o));let x,w=.0638*i/(1+.0131*i)+.638;Number.isNaN(l)&&(l=0),x=l>=164&&l<=345?.56+Math.abs(.2*Math.cos((l+168)*Qe)):.36+Math.abs(.4*Math.cos((l+35)*Qe));let b=Math.pow(i,4),v=Math.sqrt(b/(b+1900)),y=(u/(r*f))**2;return y+=(g/(a*w))**2,y+=m/(w*(v*x+1-v))**2,Math.sqrt(y)},deltaE2000:He,deltaEJz:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=xt.from(e),[s,n,i]=xt.from(t),l=r-s,c=a-n;Number.isNaN(o)&&Number.isNaN(i)?(o=0,i=0):Number.isNaN(o)?o=i:Number.isNaN(i)&&(i=o);let h=o-i,d=2*Math.sqrt(a*n)*Math.sin(h/2*(Math.PI/180));return Math.sqrt(l**2+c**2+d**2)},deltaEITP:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=$t.from(e),[s,n,i]=$t.from(t);return 720*Math.sqrt((r-s)**2+.25*(a-n)**2+(o-i)**2)},deltaEOK:Ge,deltaEHCT:function(e,t){[e,t]=ve([e,t]);let[r,a,o]=tr(Jt.from(e)),[s,n,i]=tr(Jt.from(t));return Math.sqrt((r-s)**2+(a-n)**2+(o-i)**2)}};const ar={hct:{method:"hct.c",jnd:2,deltaEMethod:"hct",blackWhiteClamp:{}},"hct-tonal":{method:"hct.c",jnd:0,deltaEMethod:"hct",blackWhiteClamp:{channel:"hct.t",min:0,max:100}}};function or(e,{method:t=ue.gamut_mapping,space:r,deltaEMethod:a="",jnd:o=2,blackWhiteClamp:s={}}={}){if(e=ve(e),K(arguments[1])?r=arguments[1]:r||(r=e.space),Xe(e,r=ye.get(r),{epsilon:0}))return e;let n;if("css"===t)n=function(e,{space:t}={}){const r=.02,a=1e-4;e=ve(e),t||(t=e.space);t=ye.get(t);const o=ye.get("oklch");if(t.isUnbounded)return nr(e,t);const s=nr(e,o);let n=s.coords[0];if(n>=1){const r=nr(sr.WHITE,t);return r.alpha=e.alpha,nr(r,t)}if(n<=0){const r=nr(sr.BLACK,t);return r.alpha=e.alpha,nr(r,t)}if(Xe(s,t,{epsilon:0}))return nr(s,t);function i(e){const r=nr(e,t),a=Object.values(t.coords);return r.coords=r.coords.map((e,t)=>{if("range"in a[t]){const[r,o]=a[t].range;return ne(r,e,o)}return e}),r}let l=0,c=s.coords[1],h=!0,d=Ze(s),p=i(d),u=Ge(p,d);if(u<r)return p;for(;c-l>a;){const e=(l+c)/2;if(d.coords[1]=e,h&&Xe(d,t,{epsilon:0}))l=e;else if(p=i(d),u=Ge(p,d),u<r){if(r-u<a)break;h=!1,l=e}else c=e}return p}(e,{space:r});else{if("clip"===t||Xe(e,r))n=nr(e,r);else{Object.prototype.hasOwnProperty.call(ar,t)&&({method:t,jnd:o,deltaEMethod:a,blackWhiteClamp:s}=ar[t]);let i=He;if(""!==a)for(let e in rr)if("deltae"+a.toLowerCase()===e.toLowerCase()){i=rr[e];break}let l=or(nr(e,r),{method:"clip",space:r});if(i(e,l)>o){if(3===Object.keys(s).length){let t=ye.resolveCoord(s.channel),r=_e(nr(e,t.space),t.id);if(X(r)&&(r=0),r>=s.max)return nr({space:"xyz-d65",coords:ge.D65},e.space);if(r<=s.min)return nr({space:"xyz-d65",coords:[0,0,0]},e.space)}let a=ye.resolveCoord(t),l=a.space,c=a.id,h=nr(e,l);h.coords.forEach((e,t)=>{X(e)&&(h.coords[t]=0)});let d=(a.range||a.refRange)[0],p=function(e){const t=e?Math.floor(Math.log10(Math.abs(e))):0;return Math.max(parseFloat("1e"+(t-2)),1e-6)}(o),u=d,g=_e(h,c);for(;g-u>p;){let e=Ze(h);e=or(e,{space:r,method:"clip"}),i(h,e)-o<p?u=_e(h,c):g=_e(h,c),$e(h,c,(u+g)/2)}n=nr(h,r)}else n=l}if("clip"===t||!Xe(n,r,{epsilon:0})){let e=Object.values(r.coords).map(e=>e.range||[]);n.coords=n.coords.map((t,r)=>{let[a,o]=e[r];return void 0!==a&&(t=Math.max(a,t)),void 0!==o&&(t=Math.min(t,o)),t})}}return r!==e.space&&(n=nr(n,e.space)),e.coords=n.coords,e}or.returns="color";const sr={WHITE:{space:Ue,coords:[1,0,0]},BLACK:{space:Ue,coords:[0,0,0]}};function nr(e,t,{inGamut:r}={}){e=ve(e);let a=(t=ye.get(t)).from(e),o={space:t,coords:a,alpha:e.alpha};return r&&(o=or(o,!0===r?void 0:r)),o}function ir(e,{precision:t=ue.precision,format:r="default",inGamut:a=!0,...o}={}){let s,n=r;r=(e=ve(e)).space.getFormat(r)??e.space.getFormat("default")??ye.DEFAULT_FORMAT;let i=e.coords.slice();if(a||=r.toGamut,a&&!Xe(e)&&(i=or(Ze(e),!0===a?void 0:a).coords),"custom"===r.type){if(o.precision=t,!r.serialize)throw new TypeError(`format ${n} can only be used to parse colors, not for serialization`);s=r.serialize(i,e.alpha,o)}else{let a=r.name||"color";r.serializeCoords?i=r.serializeCoords(i,t):null!==t&&(i=i.map(e=>G(e,{precision:t})));let o=[...i];if("color"===a){let t=r.id||r.ids?.[0]||e.space.id;o.unshift(t)}let n=e.alpha;null!==t&&(n=G(n,{precision:t}));let l=e.alpha>=1||r.noAlpha?"":`${r.commas?",":" /"} ${n}`;s=`${a}(${o.join(r.commas?", ":" ")}${l})`}return s}nr.returns="color";var lr=new Ce({id:"rec2020-linear",cssId:"--rec2020-linear",name:"Linear REC.2020",white:"D65",toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]});const cr=1.09929682680944,hr=.018053968510807;var dr=new Ce({id:"rec2020",name:"REC.2020",base:lr,toBase:e=>e.map(function(e){return e<4.5*hr?e/4.5:Math.pow((e+cr-1)/cr,1/.45)}),fromBase:e=>e.map(function(e){return e>=hr?cr*Math.pow(e,.45)-(cr-1):4.5*e})});var pr=new Ce({id:"p3-linear",cssId:"--display-p3-linear",name:"Linear P3",white:"D65",toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]});const ur=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]];var gr=new Ce({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],fromXYZ_M:ur}),mr={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[.6,50/255,.8],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,.6],lightslategrey:[119/255,136/255,.6],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[.4,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,.8],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[.4,.2,.6],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]};let fr=Array(3).fill("<percentage> | <number>[0, 255]"),xr=Array(3).fill("<number>[0, 255]");var wr=new Ce({id:"srgb",name:"sRGB",base:gr,fromBase:e=>e.map(e=>{let t=e<0?-1:1,r=e*t;return r>.0031308?t*(1.055*r**(1/2.4)-.055):12.92*e}),toBase:e=>e.map(e=>{let t=e<0?-1:1,r=e*t;return r<=.04045?e/12.92:t*((r+.055)/1.055)**2.4}),formats:{rgb:{coords:fr},rgb_number:{name:"rgb",commas:!0,coords:xr,noAlpha:!0},color:{},rgba:{coords:fr,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:xr},hex:{type:"custom",toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,"$&$&"));let t=[];return e.replace(/[a-f0-9]{2}/gi,e=>{t.push(parseInt(e,16)/255)}),{spaceId:"srgb",coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:r=!0}={})=>{t<1&&e.push(t),e=e.map(e=>Math.round(255*e));let a=r&&e.every(e=>e%17==0),o=e.map(e=>a?(e/17).toString(16):e.toString(16).padStart(2,"0")).join("");return"#"+o}},keyword:{type:"custom",test:e=>/^[a-z]+$/i.test(e),parse(e){let t={spaceId:"srgb",coords:null,alpha:1};if("transparent"===(e=e.toLowerCase())?(t.coords=mr.black,t.alpha=0):t.coords=mr[e],t.coords)return t}}}}),br=new Ce({id:"p3",cssId:"display-p3",name:"P3",base:pr,fromBase:wr.fromBase,toBase:wr.toBase});let vr;if(ue.display_space=wr,"undefined"!=typeof CSS&&CSS.supports)for(let e of[Te,dr,br]){let t=e.getMinCoords(),r=ir({space:e,coords:t,alpha:1});if(CSS.supports("color",r)){ue.display_space=e;break}}function yr(e){return _e(e,[Se,"y"])}function Mr(e,t){$e(e,[Se,"y"],t)}var kr=Object.freeze({__proto__:null,getLuminance:yr,register:function(e){Object.defineProperty(e.prototype,"luminance",{get(){return yr(this)},set(e){Mr(this,e)}})},setLuminance:Mr});function Sr(e){return e>=.022?e:e+(.022-e)**1.414}function Cr(e){let t=e<0?-1:1,r=Math.abs(e);return t*Math.pow(r,2.4)}const Er=216/24389,_r=24/116,Ar=24389/27;let $r=ge.D65;var Pr=new ye({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:$r,base:Se,fromBase(e){let t=e.map((e,t)=>e/$r[t]).map(e=>e>Er?Math.cbrt(e):(Ar*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>_r?Math.pow(t[0],3):(116*t[0]-16)/Ar,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Ar,t[2]>_r?Math.pow(t[2],3):(116*t[2]-16)/Ar].map((e,t)=>e*$r[t])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});const Lr=.5*Math.pow(5,.5)+.5;var zr=Object.freeze({__proto__:null,contrastAPCA:function(e,t){let r,a,o,s,n,i;t=ve(t),e=ve(e),t=nr(t,"srgb"),[s,n,i]=t.coords;let l=.2126729*Cr(s)+.7151522*Cr(n)+.072175*Cr(i);e=nr(e,"srgb"),[s,n,i]=e.coords;let c=.2126729*Cr(s)+.7151522*Cr(n)+.072175*Cr(i),h=Sr(l),d=Sr(c),p=d>h;return Math.abs(d-h)<5e-4?a=0:p?(r=d**.56-h**.57,a=1.14*r):(r=d**.65-h**.62,a=1.14*r),o=Math.abs(a)<.1?0:a>0?a-.027:a+.027,100*o},contrastDeltaPhi:function(e,t){e=ve(e),t=ve(t);let r=_e(e,[Pr,"l"]),a=_e(t,[Pr,"l"]),o=Math.abs(Math.pow(r,Lr)-Math.pow(a,Lr)),s=Math.pow(o,1/Lr)*Math.SQRT2-40;return s<7.5?0:s},contrastLstar:function(e,t){e=ve(e),t=ve(t);let r=_e(e,[Te,"l"]),a=_e(t,[Te,"l"]);return Math.abs(r-a)},contrastMichelson:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);a>r&&([r,a]=[a,r]);let o=r+a;return 0===o?0:(r-a)/o},contrastWCAG21:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);return a>r&&([r,a]=[a,r]),(r+.05)/(a+.05)},contrastWeber:function(e,t){e=ve(e),t=ve(t);let r=Math.max(yr(e),0),a=Math.max(yr(t),0);return a>r&&([r,a]=[a,r]),0===a?5e4:(r-a)/a}});function Nr(e){let[t,r,a]=Ee(e,Se),o=t+15*r+3*a;return[4*t/o,9*r/o]}function Br(e){let[t,r,a]=Ee(e,Se),o=t+r+a;return[t/o,r/o]}var Tr=Object.freeze({__proto__:null,register:function(e){Object.defineProperty(e.prototype,"uv",{get(){return Nr(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return Br(this)}})},uv:Nr,xy:Br});function Rr(e,t,r={}){K(r)&&(r={method:r});let{method:a=ue.deltaE,...o}=r;for(let r in rr)if("deltae"+a.toLowerCase()===r.toLowerCase())return rr[r](e,t,o);throw new TypeError(`Unknown deltaE method: ${a}`)}var Ir=Object.freeze({__proto__:null,darken:function(e,t=.25){return $e(e,[ye.get("oklch","lch"),"l"],e=>e*(1-t))},lighten:function(e,t=.25){return $e(e,[ye.get("oklch","lch"),"l"],e=>e*(1+t))}});function Or(e,t,r=.5,a={}){return[e,t]=[ve(e),ve(t)],"object"===U(r)&&([r,a]=[.5,r]),Dr(e,t,a)(r)}function jr(e,t,r={}){let a;Fr(e)&&([a,r]=[e,t],[e,t]=a.rangeArgs.colors);let{maxDeltaE:o,deltaEMethod:s,steps:n=2,maxSteps:i=1e3,...l}=r;a||([e,t]=[ve(e),ve(t)],a=Dr(e,t,l));let c=Rr(e,t),h=o>0?Math.max(n,Math.ceil(c/o)+1):n,d=[];if(void 0!==i&&(h=Math.min(h,i)),1===h)d=[{p:.5,color:a(.5)}];else{let e=1/(h-1);d=Array.from({length:h},(t,r)=>{let o=r*e;return{p:o,color:a(o)}})}if(o>0){let e=d.reduce((e,t,r)=>{if(0===r)return 0;let a=Rr(t.color,d[r-1].color,s);return Math.max(e,a)},0);for(;e>o;){e=0;for(let t=1;t<d.length&&d.length<i;t++){let r=d[t-1],o=d[t],s=(o.p+r.p)/2,n=a(s);e=Math.max(e,Rr(n,r.color),Rr(n,o.color)),d.splice(t,0,{p:s,color:a(s)}),t++}}}return d=d.map(e=>e.color),d}function Dr(e,t,r={}){if(Fr(e)){let[r,a]=[e,t];return Dr(...r.rangeArgs.colors,{...r.rangeArgs.options,...a})}let{space:a,outputSpace:o,progression:s,premultiplied:n}=r;e=ve(e),t=ve(t),e=Ze(e),t=Ze(t);let i={colors:[e,t],options:r};if(a=a?ye.get(a):ye.registry[ue.interpolationSpace]||e.space,o=o?ye.get(o):a,e=nr(e,a),t=nr(t,a),e=or(e),t=or(t),a.coords.h&&"angle"===a.coords.h.type){let o=r.hue=r.hue||"shorter",s=[a,"h"],[n,i]=[_e(e,s),_e(t,s)];isNaN(n)&&!isNaN(i)?n=i:isNaN(i)&&!isNaN(n)&&(i=n),[n,i]=function(e,t){if("raw"===e)return t;let[r,a]=t.map(Re),o=a-r;return"increasing"===e?o<0&&(a+=360):"decreasing"===e?o>0&&(r+=360):"longer"===e?-180<o&&o<180&&(o>0?r+=360:a+=360):"shorter"===e&&(o>180?r+=360:o<-180&&(a+=360)),[r,a]}(o,[n,i]),$e(e,s,n),$e(t,s,i)}return n&&(e.coords=e.coords.map(t=>t*e.alpha),t.coords=t.coords.map(e=>e*t.alpha)),Object.assign(r=>{r=s?s(r):r;let i=e.coords.map((e,a)=>re(e,t.coords[a],r)),l=re(e.alpha,t.alpha,r),c={space:a,coords:i,alpha:l};return n&&(c.coords=c.coords.map(e=>e/l)),o!==a&&(c=nr(c,o)),c},{rangeArgs:i})}function Fr(e){return"function"===U(e)&&!!e.rangeArgs}ue.interpolationSpace="lab";var Vr=Object.freeze({__proto__:null,isRange:Fr,mix:Or,range:Dr,register:function(e){e.defineFunction("mix",Or,{returns:"color"}),e.defineFunction("range",Dr,{returns:"function<color>"}),e.defineFunction("steps",jr,{returns:"array<color>"})},steps:jr}),Hr=new ye({id:"hsl",name:"HSL",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:wr,fromBase:e=>{let t=Math.max(...e),r=Math.min(...e),[a,o,s]=e,[n,i,l]=[NaN,0,(r+t)/2],c=t-r;if(0!==c){switch(i=0===l||1===l?0:(t-l)/Math.min(l,1-l),t){case a:n=(o-s)/c+(o<s?6:0);break;case o:n=(s-a)/c+2;break;case s:n=(a-o)/c+4}n*=60}return i<0&&(n+=180,i=Math.abs(i)),n>=360&&(n-=360),[n,100*i,100*l]},toBase:e=>{let[t,r,a]=e;function o(e){let o=(e+t/30)%12,s=r*Math.min(a,1-a);return a-s*Math.max(-1,Math.min(o-3,9-o,1))}return t%=360,t<0&&(t+=360),r/=100,a/=100,[o(0),o(8),o(4)]},formats:{hsl:{coords:["<number> | <angle>","<percentage>","<percentage>"]},hsla:{coords:["<number> | <angle>","<percentage>","<percentage>"],commas:!0,lastAlpha:!0}}}),Wr=new ye({id:"hsv",name:"HSV",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},v:{range:[0,100],name:"Value"}},base:Hr,fromBase(e){let[t,r,a]=e;r/=100,a/=100;let o=a+r*Math.min(a,1-a);return[t,0===o?0:200*(1-a/o),100*o]},toBase(e){let[t,r,a]=e;r/=100,a/=100;let o=a*(1-r/2);return[t,0===o||1===o?0:(a-o)/Math.min(o,1-o)*100,100*o]},formats:{color:{id:"--hsv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}}),qr=new ye({id:"hwb",name:"HWB",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},w:{range:[0,100],name:"Whiteness"},b:{range:[0,100],name:"Blackness"}},base:Wr,fromBase(e){let[t,r,a]=e;return[t,a*(100-r)/100,100-a]},toBase(e){let[t,r,a]=e;r/=100,a/=100;let o=r+a;if(o>=1){return[t,0,100*(r/o)]}let s=1-a;return[t,100*(0===s?0:1-r/s),100*s]},formats:{hwb:{coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});var Yr=new Ce({id:"a98rgb-linear",cssId:"--a98-rgb-linear",name:"Linear Adobe® 98 RGB compatible",white:"D65",toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),Kr=new Ce({id:"a98rgb",cssId:"a98-rgb",name:"Adobe® 98 RGB compatible",base:Yr,toBase:e=>e.map(e=>Math.pow(Math.abs(e),563/256)*Math.sign(e)),fromBase:e=>e.map(e=>Math.pow(Math.abs(e),256/563)*Math.sign(e))});var Ur=new Ce({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:Pe,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]});const Gr=1/512;var Xr=new Ce({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:Ur,toBase:e=>e.map(e=>e<.03125?e/16:e**1.8),fromBase:e=>e.map(e=>e>=Gr?e**(1/1.8):16*e)}),Zr=new ye({id:"oklch",name:"Oklch",coords:{l:{refRange:[0,1],name:"Lightness"},c:{refRange:[0,.4],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},white:"D65",base:Ue,fromBase(e){let t,[r,a,o]=e;const s=2e-4;return t=Math.abs(a)<s&&Math.abs(o)<s?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let t,r,[a,o,s]=e;return isNaN(s)?(t=0,r=0):(t=o*Math.cos(s*Math.PI/180),r=o*Math.sin(s*Math.PI/180)),[a,t,r]},formats:{oklch:{coords:["<percentage> | <number>","<number> | <percentage>[0,1]","<number> | <angle>"]}}});let Jr=ge.D65;const Qr=216/24389,ea=24389/27,[ta,ra]=Nr({space:Se,coords:Jr});var aa=new ye({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:Jr,base:Se,fromBase(e){let t=[Z(e[0]),Z(e[1]),Z(e[2])],r=t[1],[a,o]=Nr({space:Se,coords:t});if(!Number.isFinite(a)||!Number.isFinite(o))return[0,0,0];let s=r<=Qr?ea*r:116*Math.cbrt(r)-16;return[s,13*s*(a-ta),13*s*(o-ra)]},toBase(e){let[t,r,a]=e;if(0===t||X(t))return[0,0,0];r=Z(r),a=Z(a);let o=r/(13*t)+ta,s=a/(13*t)+ra,n=t<=8?t/ea:Math.pow((t+16)/116,3);return[n*(9*o/(4*s)),n,n*((12-3*o-20*s)/(4*s))]},formats:{color:{id:"--luv",coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),oa=new ye({id:"lchuv",name:"LChuv",coords:{l:{refRange:[0,100],name:"Lightness"},c:{refRange:[0,220],name:"Chroma"},h:{refRange:[0,360],type:"angle",name:"Hue"}},base:aa,fromBase(e){let t,[r,a,o]=e;return t=Math.abs(a)<.02&&Math.abs(o)<.02?NaN:180*Math.atan2(o,a)/Math.PI,[r,Math.sqrt(a**2+o**2),Re(t)]},toBase(e){let[t,r,a]=e;return r<0&&(r=0),isNaN(a)&&(a=0),[t,r*Math.cos(a*Math.PI/180),r*Math.sin(a*Math.PI/180)]},formats:{color:{id:"--lchuv",coords:["<number> | <percentage>","<number> | <percentage>","<number> | <angle>"]}}});const sa=216/24389,na=24389/27,ia=ur[0][0],la=ur[0][1],ca=ur[0][2],ha=ur[1][0],da=ur[1][1],pa=ur[1][2],ua=ur[2][0],ga=ur[2][1],ma=ur[2][2];function fa(e,t,r){const a=t/(Math.sin(r)-e*Math.cos(r));return a<0?1/0:a}function xa(e){const t=Math.pow(e+16,3)/1560896,r=t>sa?t:e/na,a=r*(284517*ia-94839*ca),o=r*(838422*ca+769860*la+731718*ia),s=r*(632260*ca-126452*la),n=r*(284517*ha-94839*pa),i=r*(838422*pa+769860*da+731718*ha),l=r*(632260*pa-126452*da),c=r*(284517*ua-94839*ma),h=r*(838422*ma+769860*ga+731718*ua),d=r*(632260*ma-126452*ga);return{r0s:a/s,r0i:o*e/s,r1s:a/(s+126452),r1i:(o-769860)*e/(s+126452),g0s:n/l,g0i:i*e/l,g1s:n/(l+126452),g1i:(i-769860)*e/(l+126452),b0s:c/d,b0i:h*e/d,b1s:c/(d+126452),b1i:(h-769860)*e/(d+126452)}}function wa(e,t){const r=t/360*Math.PI*2,a=fa(e.r0s,e.r0i,r),o=fa(e.r1s,e.r1i,r),s=fa(e.g0s,e.g0i,r),n=fa(e.g1s,e.g1i,r),i=fa(e.b0s,e.b0i,r),l=fa(e.b1s,e.b1i,r);return Math.min(a,o,s,n,i,l)}var ba=new ye({id:"hsluv",name:"HSLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:oa,gamutSpace:wr,fromBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/wa(xa(r),o)*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=wa(xa(o),r)/100*a}return[o,t,r]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});function va(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function ya(e){let t=va(e.r0s,e.r0i),r=va(e.r1s,e.r1i),a=va(e.g0s,e.g0i),o=va(e.g1s,e.g1i),s=va(e.b0s,e.b0i),n=va(e.b1s,e.b1i);return Math.min(t,r,a,o,s,n)}ur[0][0],ur[0][1],ur[0][2],ur[1][0],ur[1][1],ur[1][2],ur[2][0],ur[2][1],ur[2][2];var Ma=new ye({id:"hpluv",name:"HPLuv",coords:{h:{refRange:[0,360],type:"angle",name:"Hue"},s:{range:[0,100],name:"Saturation"},l:{range:[0,100],name:"Lightness"}},base:oa,gamutSpace:"self",fromBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/ya(xa(r))*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[Z(e[0]),Z(e[1]),Z(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=ya(xa(o))/100*a}return[o,t,r]},formats:{color:{id:"--hpluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const ka=2610/16384,Sa=16384/2610,Ca=32/2523,Ea=.8359375,_a=2413/128,Aa=18.6875;var $a=new Ce({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:lr,toBase:e=>e.map(function(e){return 1e4*(Math.max(e**Ca-Ea,0)/(_a-Aa*e**Ca))**Sa/203}),fromBase:e=>e.map(function(e){let t=Math.max(203*e/1e4,0);return((Ea+_a*t**ka)/(1+Aa*t**ka))**78.84375})});const Pa=.17883277,La=.28466892,za=.55991073,Na=3.7743;var Ba=new Ce({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:lr,toBase:e=>e.map(function(e){return e<=.5?e**2/3*Na:(Math.exp((e-za)/Pa)+La)/12*Na}),fromBase:e=>e.map(function(e){return(e/=Na)<=1/12?Math.sqrt(3*e):Pa*Math.log(12*e-La)+za})});const Ta={};function Ra({id:e,toCone_M:t,fromCone_M:r}){Ta[e]=arguments[0]}function Ia(e,t,r="Bradford"){let a=Ta[r],[o,s,n]=Y(a.toCone_M,e),[i,l,c]=Y(a.toCone_M,t),h=Y([[i/o,0,0],[0,l/s,0],[0,0,c/n]],a.toCone_M);return Y(a.fromCone_M,h)}pe.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=Ia(e.W1,e.W2,e.options.method))}),pe.add("chromatic-adaptation-end",e=>{e.M||(e.M=Ia(e.W1,e.W2,e.options.method))}),Ra({id:"von Kries",toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]}),Ra({id:"Bradford",toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]}),Ra({id:"CAT02",toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]}),Ra({id:"CAT16",toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]}),Object.assign(ge,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]}),ge.ACES=[.32168/.33767,1,.34065/.33767];var Oa=new Ce({id:"acescg",cssId:"--acescg",name:"ACEScg",coords:{r:{range:[0,65504],name:"Red"},g:{range:[0,65504],name:"Green"},b:{range:[0,65504],name:"Blue"}},referred:"scene",white:ge.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]});const ja=2**-16,Da=-.35828683,Fa=(Math.log2(65504)+9.72)/17.52;var Va=new Ce({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[Da,Fa],name:"Red"},g:{range:[Da,Fa],name:"Green"},b:{range:[Da,Fa],name:"Blue"}},referred:"scene",base:Oa,toBase:e=>e.map(function(e){return e<=-.3013698630136986?2*(2**(17.52*e-9.72)-ja):e<Fa?2**(17.52*e-9.72):65504}),fromBase:e=>e.map(function(e){return e<=0?(Math.log2(ja)+9.72)/17.52:e<ja?(Math.log2(ja+.5*e)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})}),Ha=Object.freeze({__proto__:null,A98RGB:Kr,A98RGB_Linear:Yr,ACEScc:Va,ACEScg:Oa,CAM16_JMh:qt,HCT:Jt,HPLuv:Ma,HSL:Hr,HSLuv:ba,HSV:Wr,HWB:qr,ICTCP:$t,JzCzHz:xt,Jzazbz:ft,LCH:Ie,LCHuv:oa,Lab:Te,Lab_D65:Pr,Luv:aa,OKLCH:Zr,OKLab:Ue,P3:br,P3_Linear:pr,ProPhoto:Xr,ProPhoto_Linear:Ur,REC_2020:dr,REC_2020_Linear:lr,REC_2100_HLG:Ba,REC_2100_PQ:$a,XYZ_ABS_D65:et,XYZ_D50:Pe,XYZ_D65:Se,sRGB:wr,sRGB_Linear:gr});class Wa{constructor(...e){let t,r,a,o;1===e.length&&(t=ve(e[0])),t?(r=t.space||t.spaceId,a=t.coords,o=t.alpha):[r,a,o]=e,Object.defineProperty(this,"space",{value:ye.get(r),writable:!1,enumerable:!0,configurable:!0}),this.coords=a?a.slice():[0,0,0],this.alpha=o>1||void 0===o?1:o<0?0:o;for(let e=0;e<this.coords.length;e++)"NaN"===this.coords[e]&&(this.coords[e]=NaN);for(let e in this.space.coords)Object.defineProperty(this,e,{get:()=>this.get(e),set:t=>this.set(e,t)})}get spaceId(){return this.space.id}clone(){return new Wa(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...e){let t=function(e,{space:t=ue.display_space,...r}={}){let a=ir(e,r);if("undefined"==typeof CSS||CSS.supports("color",a)||!ue.display_space)a=new String(a),a.color=e;else{let o=e;if((e.coords.some(X)||X(e.alpha))&&!(vr??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=Ze(e),o.coords=o.coords.map(Z),o.alpha=Z(o.alpha),a=ir(o,r),CSS.supports("color",a)))return a=new String(a),a.color=o,a;o=nr(o,t),a=new String(ir(o,r)),a.color=o}return a}(this,...e);return t.color=new Wa(t.color),t}static get(e,...t){return e instanceof Wa?e:new Wa(e,...t)}static defineFunction(e,t,r=t){let{instance:a=!0,returns:o}=r,s=function(...e){let r=t(...e);if("color"===o)r=Wa.get(r);else if("function<color>"===o){let e=r;r=function(...t){let r=e(...t);return Wa.get(r)},Object.assign(r,e)}else"array<color>"===o&&(r=r.map(e=>Wa.get(e)));return r};e in Wa||(Wa[e]=s),a&&(Wa.prototype[e]=function(...e){return s(this,...e)})}static defineFunctions(e){for(let t in e)Wa.defineFunction(t,e[t],e[t])}static extend(e){if(e.register)e.register(Wa);else for(let t in e)Wa.defineFunction(t,e[t])}}Wa.defineFunctions({get:_e,getAll:Ee,set:$e,setAll:Ae,to:nr,equals:function(e,t){return e=ve(e),t=ve(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((e,r)=>e===t.coords[r])},inGamut:Xe,toGamut:or,distance:Je,toString:ir}),Object.assign(Wa,{util:de,hooks:pe,WHITES:ge,Space:ye,spaces:ye.registry,parse:be,defaults:ue});for(let e of Object.keys(Ha))ye.register(Ha[e]);for(let e in ye.registry)qa(e,ye.registry[e]);function qa(e,t){let r=e.replace(/-/g,"_");Object.defineProperty(Wa.prototype,r,{get(){let r=this.getAll(e);return"undefined"==typeof Proxy?r:new Proxy(r,{has:(e,r)=>{try{return ye.resolveCoord([t,r]),!0}catch(e){}return Reflect.has(e,r)},get:(e,r,a)=>{if(r&&"symbol"!=typeof r&&!(r in e)){let{index:a}=ye.resolveCoord([t,r]);if(a>=0)return e[a]}return Reflect.get(e,r,a)},set:(r,a,o,s)=>{if(a&&"symbol"!=typeof a&&!(a in r)||a>=0){let{index:s}=ye.resolveCoord([t,a]);if(s>=0)return r[s]=o,this.setAll(e,r),!0}return Reflect.set(r,a,o,s)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}pe.add("colorspace-init-end",e=>{qa(e.id,e),e.aliases?.forEach(t=>{qa(t,e)})}),Wa.extend(rr),Wa.extend({deltaE:Rr}),Object.assign(Wa,{deltaEMethods:rr}),Wa.extend(Ir),Wa.extend({contrast:function(e,t,r={}){K(r)&&(r={algorithm:r});let{algorithm:a,...o}=r;if(!a){let e=Object.keys(zr).map(e=>e.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${e}`)}e=ve(e),t=ve(t);for(let r in zr)if("contrast"+a.toLowerCase()===r.toLowerCase())return zr[r](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${a}`)}}),Wa.extend(Tr),Wa.extend(kr),Wa.extend(Vr),Wa.extend(zr);var Ya=Object.freeze({__proto__:null,altKey:R,camelToDash:(e="")=>e.replace(/([A-Z])/g,e=>"-"+e.toLowerCase()),clamp:c,colors:["#eb4034","#30850f","#116da7","#4334eb","#b134eb","#df168e","#e8172c","#8f2e2b","#8f692b","#8a8f2b","#358f2b","#2b8f82","#2b678f","#2b2b8f","#8f2b8f","#8f2b55","#1eff00","#a86800","#ff0000","#008035","#0026ff","#bb00ff","#d600b6","#e60067","#137878"],constructibleStylesheetSupport:M,contrast_color:function(e){try{const t=new Wa(e),r=t.contrastLstar("white");return r>t.contrastLstar("black")?"white":"black"}catch{}},createClassname:N,deepElementFromPoint:I,expandBorders:e=>{let t={},r=e.split(" ").map(e=>parseInt(e));switch(r.length){case 1:t={top:r[0],right:r[0],bottom:r[0],left:r[0]};break;case 2:t={top:r[0],right:r[1],bottom:r[0],left:r[1]};break;case 4:t={top:r[0],right:r[1],bottom:r[2],left:r[3]}}return t},findNearestChildElement:e=>e.shadowRoot&&e.shadowRoot.children.length?[...e.shadowRoot.children].filter(({nodeName:e})=>!["LINK","STYLE","SCRIPT","HTML","HEAD"].includes(e))[0]:e.children.length?e.children[0]:void 0,findNearestParentElement:P,firstUsableFontFromFamily:e=>{if(L.has(e))return L.get(e);const t=e.split(","),r=window.document.createElement("canvas").getContext("2d"),a=t.map(e=>e.trim()).map(e=>{const t=String(e).match(/^["']?(.+?)["']?$/i);return Array.isArray(t)?t[1]:""}).map(e=>{const t=r.measureText(12).width;return r.font=`12px ${e}, sans-serif`,t!==r.measureText("font-test").width&&e}).filter(e=>!1!==e)[0];return L.set(e,a),a},getA11ys:e=>{const t=e.getAttributeNames();return S.reduce((r,a)=>(t.includes(a)&&r.push({prop:a,value:e.getAttribute(a)}),"aria-*"===a&&t.forEach(t=>{t.includes("aria")&&r.push({prop:t,value:e.getAttribute(t)})}),r),[])},getColorScheme:()=>"undefined"==typeof window?"light":window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light",getComputedBackgroundColor:e=>{let t=E(e,"background-color");if("rgba(0, 0, 0, 0)"===t){let r=P(e),a=!1;for(;!a;){let e=E(r,"background-color");"HTML"===r.nodeName&&(a=!0,t=$()),"rgba(0, 0, 0, 0)"!==e&&(a=!0,t=e),r=P(r)}}return t},getComputedCanvasBackgroundColor:$,getNodeIndex:e=>[...e.parentElement.parentElement.children].indexOf(e.parentElement),getShadowValues:e=>/([^\)]+\)) ([^\s]+) ([^\s]+) ([^\s]+) ([^\s]+)/.exec(e),getSide:O,getStyle:E,getStyles:_,getTextShadowValues:e=>/([^\)]+\)) ([^\s]+) ([^\s]+) ([^\s]+)/.exec(e),getWCAG2TextSize:e=>{const t=_(e).reduce((e,t)=>(e[t.prop]=t.value,e),{}),{fontSize:r=k.fontSize,fontWeight:a=k.fontWeight}=t;return C.some(e=>parseFloat(r)>=parseFloat(e.fontSize)&&parseFloat(a)>=parseFloat(e.fontWeight))?"Large":"Small"},htmlStringToDom:(e="")=>(new DOMParser).parseFromString(e,"text/html").body.firstChild,isChrome:v,isFirefox:w,isFixed:q,isOffBounds:V,isPolyfilledCE:e=>1===e.children.length&&"STYLE"===e.firstElementChild.nodeName,isSafari:y,isSafarish:b,isSelectorValid:H,loadStyles:async e=>{const t=await Promise.all(e.map(e=>fetch(e))),r=await Promise.all(t.map(e=>e.text())),a=document.createElement("style");a.textContent=r.reduce((e,t)=>e+t,""),document.head.appendChild(a)},metaKey:T,nodeKey:z,notList:":not(vis-bug):not(script):not(hotkey-map):not(.visbug-metatip):not(visbug-label):not(visbug-handles):not(visbug-corners):not(visbug-grip):not(visbug-gridlines)",numberBetween:function(e,t){return Math.floor(e+Math.random()*(t-e))},onRemove:W,schemeRule:(e,t,r,a)=>o=>{e.adoptedStyleSheets="light"===o&&r?[t,r]:"dark"===o&&a?[t,a]:[t]},showEdge:function(e){return e.animate([{outline:"1px solid transparent"},{outline:"1px solid hsla(330, 100%, 71%, 80%)"},{outline:"1px solid transparent"}],600)},showHideNodeLabel:F,showHideSelected:D,swapElements:(e,t)=>{var r=document.createElement("div");e.parentNode.insertBefore(r,e),t.parentNode.insertBefore(e,t),r.parentNode.insertBefore(t,r),r.parentNode.removeChild(r)},watchColorScheme:e=>{if("undefined"==typeof window)return()=>{};const t=window.matchMedia("(prefers-color-scheme: dark)"),r=t=>{e(t.matches?"dark":"light")};return t.addEventListener?(t.addEventListener("change",r),()=>t.removeEventListener("change",r)):t.addListener?(t.addListener(r),()=>t.removeListener(r)):()=>{}},windowBounds:function(){const e=window.innerHeight,t=window.innerWidth,r=document.documentElement.clientWidth;return{winHeight:e,winWidth:r<=t?r:t}}});class Ka extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[a],this.on_resize=this.on_window_resize.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles,this.setAttribute("popover","manual"),this.showPopover&&this.showPopover(),window.addEventListener("resize",this.on_window_resize)}disconnectedCallback(){this.hidePopover&&this.hidePopover()&&this.hidePopover&&this.hidePopover(),window.removeEventListener("resize",this.on_window_resize)}on_window_resize(){this.$shadow&&window.requestAnimationFrame(()=>{const e=this.$shadow.host.getAttribute("data-label-id"),[r]=t(`[data-label-id="${e}"]`);r&&(this.position={node_label_id:e,el:r,isFixed:q(r)})})}set position({el:e,node_label_id:t}){this.$shadow.innerHTML=this.render(e.getBoundingClientRect(),t,q(e)),this._backdrop&&(this.backdrop={element:this._backdrop.update(e),update:this._backdrop.update})}set backdrop(e){this._backdrop=e;const t=this.$shadow.querySelector("visbug-boxmodel");t?this.$shadow.replaceChild(e.element,t):this.$shadow.appendChild(e.element)}render({x:e,y:t,width:r,height:a,top:o,left:s},n,i){return this.$shadow.host.setAttribute("data-label-id",n),this.style.setProperty("--top",`${o+(i?0:window.scrollY)}px`),this.style.setProperty("--left",`${s}px`),this.style.setProperty("--position",i?"fixed":"absolute"),this.style.setProperty("--width",`${r}px`),this.style.setProperty("--height",`${a}px`),`\n <svg\n class="visbug-handles"\n width="${r}" height="${a}"\n viewBox="0 0 ${r} ${a}"\n version="1.1" xmlns="http://www.w3.org/2000/svg"\n >\n <rect stroke="var(--neon-pink)" fill="none" width="100%" height="100%"></rect>\n </svg>\n <visbug-handle placement="top-start"></visbug-handle>\n <visbug-handle placement="top-center"></visbug-handle>\n <visbug-handle placement="top-end"></visbug-handle>\n <visbug-handle placement="middle-start"></visbug-handle>\n <visbug-handle placement="middle-end"></visbug-handle>\n <visbug-handle placement="bottom-start"></visbug-handle>\n <visbug-handle placement="bottom-center"></visbug-handle>\n <visbug-handle placement="bottom-end"></visbug-handle>\n `}}customElements.define("visbug-handles",Ka),window.addEventListener("scroll",function(){Xa(),document.querySelectorAll("visbug-label").forEach(e=>{e.detectOutsideViewport()})}),document.body.addEventListener("click",()=>{Xa()},!0);class Ua extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.dispatchQuery=this.dispatchQuery.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=[l],t("a",this.$shadow).on("click mouseenter",this.dispatchQuery)}disconnectedCallback(){t("a",this.$shadow).off("click mouseenter",this.dispatchQuery)}dispatchQuery(e){this.$shadow.host.dispatchEvent(new CustomEvent("query",{bubbles:!0,detail:{text:e.target.textContent,activator:e.type}}))}set text(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.textContent=e:this._text=e}set position({boundingRect:e,node_label_id:t,isFixed:r}){this.$shadow.innerHTML=this.render(t),this.update={boundingRect:e,isFixed:r}}set update({boundingRect:e,isFixed:t}){this.style.setProperty("--top",`${e.y+(t?0:window.scrollY)}px`),this.style.setProperty("--left",e.x-1+"px"),this.style.setProperty("--max-width",`${e.width+(window.innerWidth-e.x-e.width-20)}px`),this.style.setProperty("--position","fixed")}set count(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.count=e:this._count=e}get count(){return this.$shadow.childElementCount?this.$shadow.firstElementChild.count:this._count}render(e){return this.$shadow.host.setAttribute("data-label-id",e||"label_"+Number(new Date)),`<span offscreen-label>${this._text}</span>`}}function Ga(e,t,r,a,o,s,n){const i=document.querySelectorAll(`visbug-offscreen-label[id=${t}]`);if(i.length){const l=i[0];return l.style.display="",l.style.setProperty("--left",a),l.style.setProperty("--top",o),l.style.setProperty("--position","fixed"),l.style.setProperty("--label-bg",s),l.seen[e]=!0,l.count=Object.keys(l.seen).length,l.text=t,l.style.setProperty("--count",`"\\00a0 ${l.count}"`),l.style.setProperty("--hover-text",`"\\00a0 ${r?"offscreen label: "+r:l.count}"`),void(n&&(a=a.includes("calc(")?a.replace(")",` - ${l.count.toString().length}ch)`):`${l.count.toString().length}ch`,l.style.setProperty("--left",a)))}const l=document.createElement("visbug-offscreen-label");l.id=t,l.position={boundingRect:document.body.getBoundingClientRect(),isFixed:!0},l.seen={},l.seen[e]=!0,l.count=1,l.text=t,l.style.display="",l.style.setProperty("--left",a),l.style.setProperty("--top",o),l.style.setProperty("--count",`"\\00a0 ${l.count}"`),l.style.setProperty("--hover-text",`"\\00a0 ${r?"offscreen label: "+r:l.count}"`),l.style.setProperty("--label-bg",s),n&&(a=a.includes("calc(")?a.replace(")"," - 1ch)"):"1ch",l.style.setProperty("--left",a)),document.body.appendChild(l)}function Xa(){document.querySelectorAll("visbug-offscreen-label").forEach(e=>{e.seen={},e.count=0,e.text="",e.style.display="none"})}customElements.define("visbug-offscreen-label",Ua);class Za extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.on_resize=this.on_resize.bind(this),this.dispatchQuery=this.dispatchQuery.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=[n],this.setAttribute("popover","manual"),this.showPopover&&this.showPopover(),t("a",this.$shadow).on("click mouseenter",this.dispatchQuery),window.addEventListener("resize",this.on_resize)}disconnectedCallback(){this.hidePopover&&this.hidePopover(),t("a",this.$shadow).off("click mouseenter",this.dispatchQuery),window.removeEventListener("resize",this.on_resize)}on_resize(){window.requestAnimationFrame(()=>{const e=this.$shadow.host.getAttribute("data-label-id"),[r]=t(`[data-label-id="${e}"]`);r&&(this.position={node_label_id:e,boundingRect:r.getBoundingClientRect(),isFixed:q(r)})})}dispatchQuery(e){this.$shadow.host.dispatchEvent(new CustomEvent("query",{bubbles:!0,detail:{text:e.target.textContent,activator:e.type}}))}set text(e){this.$shadow.childElementCount?this.$shadow.firstElementChild.innerHTML=e:this._text=e}set position({boundingRect:e,node_label_id:t,isFixed:r}){this.$shadow.innerHTML=this.render(t),this.update={boundingRect:e,isFixed:r}}set update({boundingRect:e,isFixed:t}){const r=e.y+(t?0:window.scrollY),a=e.x,o=t?"fixed":"absolute";this.style.setProperty("--top",`${r}px`),this.style.setProperty("--left",`${a}px`),this.style.setProperty("--max-width",`${e.width+(window.innerWidth-e.x-e.width-40)}px`),this.style.setProperty("--position",o),this.setAttribute("data-original-top",r),this.setAttribute("data-original-left",a),this.setAttribute("data-original-position",o),this.detectOutsideViewport()}render(e){return this.$shadow.host.setAttribute("data-label-id",e||"label_"+Number(new Date)),`<span>${this._text}</span>`}detectOutsideViewport(){const e=this.$shadow.firstElementChild.innerText.replace(/\s+/g," ");if("body"===e)return;const t=this.$shadow.firstElementChild.getBoundingClientRect(),r=window.getComputedStyle(this),a={top:r.getPropertyValue("--top").replace("px",""),left:r.getPropertyValue("--left").replace("px","")},o={top:this.getAttribute("data-original-top"),left:this.getAttribute("data-original-left"),position:this.getAttribute("data-original-position")},s=document.body.scrollX||window.pageXOffset,n=document.body.scrollY||window.pageYOffset,i=o.top-t.height-n<0,l=o.top-n>window.innerHeight,c=o.left-s<0,h=o.left-s>window.innerWidth;if(!(i||l||c||h))return this.style.setProperty("--position",o.position),this.style.setProperty("--left",`${o.left}px`),void this.style.setProperty("--top",`${o.top}px`);const d=!0,p=this.getAttribute("data-label-id"),u={color:"var(--theme-purple)",left:a.left,top:a.top,offscreenText:"",hoverText:e};!i||c||h?i&&c?(u.left=t.width,u.top=t.height,u.offscreenText="↖",Ga(p,u.offscreenText,u.hoverText,"0","1rem",u.color)):i&&h?(u.left=Math.max(t.width,a.left),u.top=t.height,u.offscreenText="↗",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","1rem",u.color,d)):!c||i||l?!h||i||l?!l||c||h?l&&c?(u.left=t.width,u.top=window.innerHeight-t.height,u.offscreenText="↙",Ga(p,u.offscreenText,u.hoverText,0,"100vh",u.color)):l&&h&&(u.left=Math.max(t.width,a.left),u.top=window.innerHeight-t.height,u.offscreenText="↘",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","100vh",u.color,d)):(u.left=Math.max(t.width,a.left),u.top=window.innerHeight-t.height,u.offscreenText="↓",Ga(p,u.offscreenText,u.hoverText,"calc(50vw - 0.5rem)","100vh",u.color)):(u.left=window.innerWidth-t.width,u.top=Math.max(t.height,a.top),u.offscreenText="→",Ga(p,u.offscreenText,u.hoverText,"calc(100vw - 1.5rem)","calc(50vh - 0.5rem)",u.color,d)):(u.left=t.width,u.top=Math.max(t.height,a.top),u.offscreenText="←",Ga(p,u.offscreenText,u.hoverText,0,"calc(50vh - 0.5rem)",u.color)):(u.left=Math.max(t.width,a.left),u.top=t.height,u.offscreenText="↑",Ga(p,u.offscreenText,u.hoverText,"calc(50vw - 0.5rem)","1rem",u.color))}}customElements.define("visbug-label",Za);customElements.define("visbug-hover",class extends Ka{constructor(){super(),this.styles=[a,s]}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles}disconnectedCallback(){}set position({el:e,boundingRect:t,isFixed:r,uiContainer:a}){this.$shadow.innerHTML=this.render(t||e.getBoundingClientRect(),null,r,a)}render({width:e,height:t,top:r,left:a,x:o,y:s},n,i,l){let c=0,h=0;if(l&&l!==document.body){const e=l.getBoundingClientRect();c=e.left+(i?0:window.scrollX),h=e.top+(i?0:window.scrollY)}const d=s+(i?0:window.scrollY)-h,p=o-c;return this.style.setProperty("--top",`${d}px`),this.style.setProperty("--left",`${p}px`),this.style.setProperty("--position",i?"fixed":"absolute"),`\n <svg\n width="${e}" height="${t}"\n viewBox="0 0 ${e} ${t}"\n >\n <rect fill="none" width="100%" height="100%"></rect>\n `}});class Ja extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"})}connectedCallback(){this.$shadow.adoptedStyleSheets=[i]}disconnectedCallback(){}set position(e){this.$shadow.innerHTML=this.render(e)}set update({top:e,left:t,width:r,height:a}){const[o]=this.$shadow.children;this.$shadow.host.style.display="block",o.style.display="block",this.style.setProperty("--top",`${e+window.scrollY}px`),this.style.setProperty("--left",t-1+"px"),o.setAttribute("width",r+"px"),o.setAttribute("height",a+"px")}render({height:e,width:t}){return`\n <svg class="visbug-overlay"\n width="${t}px" height="${e}px"\n viewBox="0 0 ${t} ${e}"\n >\n <rect></rect>\n </svg>\n `}}customElements.define("visbug-overlay",Ja);
|
|
2
2
|
/**!
|
|
3
3
|
* hotkeys-js v3.13.15
|
|
4
4
|
* A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.
|
|
@@ -10,4 +10,4 @@ const e={on:function(e,t,r){return e.split(" ").forEach(e=>this.addEventListener
|
|
|
10
10
|
|
|
11
11
|
* Licensed under the MIT license
|
|
12
12
|
*/
|
|
13
|
-
const Qa="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function eo(e,t,r,a){e.addEventListener?e.addEventListener(t,r,a):e.attachEvent&&e.attachEvent("on".concat(t),r)}function to(e,t,r,a){e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent&&e.detachEvent("on".concat(t),r)}function ro(e,t){const r=t.slice(0,t.length-1);for(let t=0;t<r.length;t++)r[t]=e[r[t].toLowerCase()];return r}function ao(e){"string"!=typeof e&&(e="");const t=(e=e.replace(/\s/g,"")).split(",");let r=t.lastIndexOf("");for(;r>=0;)t[r-1]+=",",t.splice(r,1),r=t.lastIndexOf("");return t}const oo={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,arrowup:38,arrowdown:40,arrowleft:37,arrowright:39,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Qa?173:189,"=":Qa?61:187,";":Qa?59:186,"'":222,"{":219,"}":221,"[":219,"]":221,"\\":220},no={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,meta:91,command:91},so={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},io={16:!1,18:!1,17:!1,91:!1},lo={};for(let e=1;e<20;e++)oo["f".concat(e)]=111+e;let ho=[],co=null,po="all";const uo=new Map,go=e=>oo[e.toLowerCase()]||no[e.toLowerCase()]||e.toUpperCase().charCodeAt(0);function mo(e){po=e||"all"}function fo(){return po||"all"}function xo(e){if(void 0===e)Object.keys(lo).forEach(e=>{Array.isArray(lo[e])&&lo[e].forEach(e=>wo(e)),delete lo[e]}),Mo(null);else if(Array.isArray(e))e.forEach(e=>{e.key&&wo(e)});else if("object"==typeof e)e.key&&wo(e);else if("string"==typeof e){for(var t=arguments.length,r=new Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];let[o,n]=r;"function"==typeof o&&(n=o,o=""),wo({key:e,scope:o,method:n,splitKey:"+"})}}const wo=e=>{let{key:t,scope:r,method:a,splitKey:o="+"}=e;ao(t).forEach(e=>{const t=e.split(o),n=t.length,s=t[n-1],i="*"===s?"*":go(s);if(!lo[i])return;r||(r=fo());const l=n>1?ro(no,t):[],h=[];lo[i]=lo[i].filter(e=>{const t=(!a||e.method===a)&&e.scope===r&&function(e,t){const r=e.length>=t.length?e:t,a=e.length>=t.length?t:e;let o=!0;for(let e=0;e<r.length;e++)-1===a.indexOf(r[e])&&(o=!1);return o}(e.mods,l);return t&&h.push(e.element),!t}),h.forEach(e=>Mo(e))})};function bo(e,t,r,a){if(t.element!==a)return;let o;if(t.scope===r||"all"===t.scope){o=t.mods.length>0;for(const e in io)Object.prototype.hasOwnProperty.call(io,e)&&(!io[e]&&t.mods.indexOf(+e)>-1||io[e]&&-1===t.mods.indexOf(+e))&&(o=!1);(0!==t.mods.length||io[16]||io[18]||io[17]||io[91])&&!o&&"*"!==t.shortcut||(t.keys=[],t.keys=t.keys.concat(ho),!1===t.method(e,t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0)))}}function vo(e,t){const r=lo["*"];let a=e.keyCode||e.which||e.charCode;if(e.key&&"capslock"===e.key.toLowerCase())return;if(!yo.filter.call(this,e))return;if(93!==a&&224!==a||(a=91),-1===ho.indexOf(a)&&229!==a&&ho.push(a),["metaKey","ctrlKey","altKey","shiftKey"].forEach(t=>{const r=so[t];e[t]&&-1===ho.indexOf(r)?ho.push(r):!e[t]&&ho.indexOf(r)>-1?ho.splice(ho.indexOf(r),1):"metaKey"===t&&e[t]&&(ho=ho.filter(e=>e in so||e===a))}),a in io){io[a]=!0;for(const t in no)if(Object.prototype.hasOwnProperty.call(no,t)){const r=so[no[t]];yo[t]=e[r]}if(!r)return}for(const t in io)Object.prototype.hasOwnProperty.call(io,t)&&(io[t]=e[so[t]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(-1===ho.indexOf(17)&&ho.push(17),-1===ho.indexOf(18)&&ho.push(18),io[17]=!0,io[18]=!0);const o=fo();if(r)for(let a=0;a<r.length;a++)r[a].scope===o&&("keydown"===e.type&&r[a].keydown||"keyup"===e.type&&r[a].keyup)&&bo(e,r[a],o,t);if(!(a in lo))return;const n=lo[a],s=n.length;for(let r=0;r<s;r++)if(("keydown"===e.type&&n[r].keydown||"keyup"===e.type&&n[r].keyup)&&n[r].key){const a=n[r],{splitKey:s}=a,i=a.key.split(s),l=[];for(let e=0;e<i.length;e++)l.push(go(i[e]));l.sort().join("")===ho.sort().join("")&&bo(e,a,o,t)}}function yo(e,t,r){ho=[];const a=ao(e);let o=[],n="all",s=document,i=0,l=!1,h=!0,c="+",d=!1,p=!1;for(void 0===r&&"function"==typeof t&&(r=t),"[object Object]"===Object.prototype.toString.call(t)&&(t.scope&&(n=t.scope),t.element&&(s=t.element),t.keyup&&(l=t.keyup),void 0!==t.keydown&&(h=t.keydown),void 0!==t.capture&&(d=t.capture),"string"==typeof t.splitKey&&(c=t.splitKey),!0===t.single&&(p=!0)),"string"==typeof t&&(n=t),p&&xo(e,n);i<a.length;i++)o=[],(e=a[i].split(c)).length>1&&(o=ro(no,e)),(e="*"===(e=e[e.length-1])?"*":go(e))in lo||(lo[e]=[]),lo[e].push({keyup:l,keydown:h,scope:n,mods:o,shortcut:a[i],method:r,key:a[i],splitKey:c,element:s});if(void 0!==s&&window){if(!uo.has(s)){const e=function(){return vo(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,s)},t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;vo(e,s),function(e){let t=e.keyCode||e.which||e.charCode;e.key&&"capslock"===e.key.toLowerCase()&&(t=go(e.key));const r=ho.indexOf(t);if(r>=0&&ho.splice(r,1),e.key&&"meta"===e.key.toLowerCase()&&ho.splice(0,ho.length),93!==t&&224!==t||(t=91),t in io){io[t]=!1;for(const e in no)no[e]===t&&(yo[e]=!1)}}(e)};uo.set(s,{keydownListener:e,keyupListenr:t,capture:d}),eo(s,"keydown",e,d),eo(s,"keyup",t,d)}if(!co){const e=()=>{ho=[]};co={listener:e,capture:d},eo(window,"focus",e,d)}}}function Mo(e){const t=Object.values(lo).flat();if(t.findIndex(t=>{let{element:r}=t;return r===e})<0){const{keydownListener:t,keyupListenr:r,capture:a}=uo.get(e)||{};t&&r&&(to(e,"keyup",r,a),to(e,"keydown",t,a),uo.delete(e))}if(t.length<=0||uo.size<=0){if(Object.keys(uo).forEach(e=>{const{keydownListener:t,keyupListenr:r,capture:a}=uo.get(e)||{};t&&r&&(to(e,"keyup",r,a),to(e,"keydown",t,a),uo.delete(e))}),uo.clear(),Object.keys(lo).forEach(e=>delete lo[e]),co){const{listener:e,capture:t}=co;to(window,"focus",e,t),co=null}}}const ko={getPressedKeyString:function(){return ho.map(e=>{return t=e,Object.keys(oo).find(e=>oo[e]===t)||(e=>Object.keys(no).find(t=>no[t]===e))(e)||String.fromCharCode(e);var t})},setScope:mo,getScope:fo,deleteScope:function(e,t){let r,a;e||(e=fo());for(const t in lo)if(Object.prototype.hasOwnProperty.call(lo,t))for(r=lo[t],a=0;a<r.length;)if(r[a].scope===e){r.splice(a,1).forEach(e=>{let{element:t}=e;return Mo(t)})}else a++;fo()===e&&mo(t||"all")},getPressedKeyCodes:function(){return ho.slice(0)},getAllKeyCodes:function(){const e=[];return Object.keys(lo).forEach(t=>{lo[t].forEach(t=>{let{key:r,scope:a,mods:o,shortcut:n}=t;e.push({scope:a,shortcut:n,mods:o,keys:r.split("+").map(e=>go(e))})})}),e},isPressed:function(e){return"string"==typeof e&&(e=go(e)),-1!==ho.indexOf(e)},filter:function(e){const t=e.target||e.srcElement,{tagName:r}=t;let a=!0;const o="INPUT"===r&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(t.type);return(t.isContentEditable||(o||"TEXTAREA"===r||"SELECT"===r)&&!t.readOnly)&&(a=!1),a},trigger:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(lo).forEach(r=>{lo[r].filter(r=>r.scope===t&&r.shortcut===e).forEach(e=>{e&&e.method&&e.method()})})},unbind:xo,keyMap:oo,modifier:no,modifierMap:so};for(const e in ko)Object.prototype.hasOwnProperty.call(ko,e)&&(yo[e]=ko[e]);if("undefined"!=typeof window){const e=window.hotkeys;yo.noConflict=t=>(t&&window.hotkeys===yo&&(window.hotkeys=e),yo),window.hotkeys=yo}const Co="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},alt+${t},shift+${t},shift+alt+${t}`,"").substring(1);function So(e){const t={elements:[]};yo(Co,(r,a)=>{r.cancelBubble||(r.preventDefault(),function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>Po(e)).map(e=>D(e)).map(e=>({el:e,...Eo(e,t),amount:t.split("+").includes("shift")?10:1,negative:Ao(e,t)})).map(e=>Object.assign(e,{position:e.negative?e.current+e.amount:e.current-e.amount})).forEach(({el:e,style:a,position:o,current:n})=>{if(e instanceof SVGElement){const a=e.getAttribute("transform");$o(e,t,o);const n=e.getAttribute("transform");r&&r.push(new p({element:e,attribute:"transform",oldValue:a,newValue:n}))}else{const t=e.style[a],n=o+"px";r&&r.push(new d({element:e,property:a,oldValue:t,newValue:n})),e.style[a]=n}}),e.length>1&&r&&r.endBatch()}(t.elements,a.key,e))});return{onNodesSelected:r=>{t.elements.forEach(e=>e.teardown()),t.elements=r.map(t=>function({el:e,surface:t=e,cursor:r="move",clickEvent:a,historyManager:o}){const n={surface:t,mouse:{down:!1,x:0,y:0},element:{x:0,y:0},travelDistance:0,historyManager:o,initialPosition:null,initialTransform:null,zIndex:null},s=()=>{e.style.transition="none",t.style.cursor=r,t.addEventListener("mousedown",l,!0),t.addEventListener("mouseup",h,!0),document.addEventListener("mousemove",c,!0)},i=()=>{e.style.transition=null,t.style.cursor=null,t.removeEventListener("mousedown",l,!0),t.removeEventListener("mouseup",h,!0),document.removeEventListener("mousemove",c,!0)},l=t=>{if(t.target===n.surface){if(t.preventDefault(),null==n.zIndex&&(n.zIndex=e.style.zIndex,e.style.zIndex=9999999999999),"static"==getComputedStyle(e).position&&(e.style.position="relative"),e.style.willChange="top,left",e instanceof SVGElement){const t=e.getAttribute("transform"),[r,a]=t?_o(t):[0,0];n.element.x=r,n.element.y=a,n.historyManager&&(n.initialTransform=t||null)}else n.element.x=parseInt(E(e,"left")),n.element.y=parseInt(E(e,"top")),n.historyManager&&(n.initialPosition={left:e.style.left,top:e.style.top});n.mouse.x=t.clientX,n.mouse.y=t.clientY,n.mouse.down=!0,n.travelDistance=0}},h=t=>{if(t.target!==n.surface)return;if(t.preventDefault(),t.stopPropagation(),null!=n.zIndex&&(e.style.zIndex=n.zIndex,n.zIndex=null),n.mouse.down=!1,e.style.willChange=null,e instanceof SVGElement){const t=e.getAttribute("transform"),[r,a]=t?_o(t):[0,0];n.historyManager&&n.initialTransform!==t&&(n.historyManager.push(new p({element:e,attribute:"transform",oldValue:n.initialTransform,newValue:t})),n.initialTransform=null),n.element.x=r,n.element.y=a}else if(n.element.x=parseInt(e.style.left)||0,n.element.y=parseInt(e.style.top)||0,n.historyManager&&n.initialPosition){const t=e.style.left,r=e.style.top,a=n.initialPosition.left!==t,o=n.initialPosition.top!==r;(a||o)&&(a&&o&&n.historyManager.beginBatch(),a&&n.historyManager.push(new d({element:e,property:"left",oldValue:n.initialPosition.left,newValue:t})),o&&n.historyManager.push(new d({element:e,property:"top",oldValue:n.initialPosition.top,newValue:r})),a&&o&&n.historyManager.endBatch()),n.initialPosition=null}const r=!n.travelDistance||n.travelDistance<5;a&&r&&a(t),n.travelDistance=0},c=t=>{n.mouse.down&&(t.preventDefault(),t.stopPropagation(),e instanceof SVGElement?e.setAttribute("transform",`translate(\n ${n.element.x+t.clientX-n.mouse.x},\n ${n.element.y+t.clientY-n.mouse.y}\n )`):(e.style.left=n.element.x+t.clientX-n.mouse.x+"px",e.style.top=n.element.y+t.clientY-n.mouse.y+"px"),n.travelDistance+=1)};return s(),e.teardown=i,e}({el:t,historyManager:e}))},disconnect:()=>{t.elements.forEach(e=>e.teardown()),yo.unbind(Co),yo.unbind("up,down,left,right")}}}const Eo=(e,t)=>{let r,a;if(e instanceof SVGElement){const o=e.attr("transform"),[n,s]=o?_o(o):[0,0];r="transform",a=t.includes("down")||t.includes("up")?s:n}else{const o=O(t).toLowerCase();r="top"===o||"bottom"===o?"top":"left",a=E(e,r),a="auto"===a?0:parseInt(a,10)}return{style:r,current:a}},_o=e=>e.substring(e.indexOf("(")+1,e.indexOf(")")).split(",").map(e=>parseFloat(e)),$o=(e,t,r)=>{const a=e.attr("transform"),[o,n]=a?_o(a):[0,0],s=t.includes("down")||t.includes("up")?`${o},${r}`:`${r},${n}`;e.attr("transform",`translate(${s})`)},Ao=(e,t)=>t.includes("right")||t.includes("down"),Po=e=>(e instanceof HTMLElement&&(e.style.position="relative"),e),Lo={historyManager:null,originalText:new WeakMap},zo=({target:e})=>{if(Lo.historyManager&&Lo.originalText.has(e)){const t=Lo.originalText.get(e),r=e.textContent;t!==r&&Lo.historyManager.push(new g({element:e,oldText:t,newText:r})),Lo.originalText.delete(e)}e.removeAttribute("contenteditable"),e.removeAttribute("spellcheck"),e.removeEventListener("blur",zo),e.removeEventListener("keydown",No)},No=e=>{"Escape"!==e.key&&"Esc"!==e.key?e.stopPropagation():Bo()},Bo=(e,r)=>{t('[spellcheck="true"]').forEach(e=>zo({target:e})),window.getSelection().empty()};const To="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},shift+${t}`,"").substring(1),Ro=`${T}+up,${T}+down`;function Io({selection:e,historyManager:t}){return yo(To,(r,a)=>{if(r.cancelBubble)return;r.preventDefault();let o=e(),n=a.key.split("+");n.includes("left")||n.includes("right")?n.includes("shift")?function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"letterSpacing",current:parseFloat(E(e,"letterSpacing")),amount:.1,negative:t.split("+").includes("left")})).map(e=>Object.assign(e,{current:"normal"==e.current||isNaN(e.current)?0:e.current})).map(e=>Object.assign(e,{value:e.negative?(e.current-e.amount).toFixed(2):(e.current+e.amount).toFixed(2)})).forEach(({el:e,style:t,value:a,current:o})=>{const n=`${o}px`,s=`${a<=-2?-2:a}px`;r&&r.push(new d({element:e,property:t,oldValue:n,newValue:s})),e.style[t]=s}),e.length>1&&r&&r.endBatch()}(o,a.key,t):function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"textAlign",current:E(e,"textAlign"),direction:t.split("+").includes("left")})).map(e=>Object.assign(e,{value:e.direction?Do[e.current]-1:Do[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const n=o,s=Fo[a<0?0:a>=2?2:a];r&&r.push(new d({element:e,property:t,oldValue:n,newValue:s})),e.style[t]=s}),e.length>1&&r&&r.endBatch()}(o,a.key,t):n.includes("shift")?function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"lineHeight",current:parseInt(E(e,"lineHeight")),amount:1,negative:t.split("+").includes("down")})).map(e=>Object.assign(e,{current:"normal"==e.current||isNaN(e.current)?1.14*parseInt(E(e.el,"fontSize")):e.current})).map(e=>Object.assign(e,{value:e.negative?e.current-e.amount:e.current+e.amount})).forEach(({el:e,style:t,value:a,current:o})=>{const n=`${o}px`,s=`${a}px`;r&&r.push(new d({element:e,property:t,oldValue:n,newValue:s})),e.style[t]=s}),e.length>1&&r&&r.endBatch()}(o,a.key,t):function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"fontSize",current:parseInt(E(e,"fontSize")),amount:t.split("+").includes("shift")?10:1,negative:t.split("+").includes("down")})).map(e=>Object.assign(e,{font_size:e.negative?e.current-e.amount:e.current+e.amount})).forEach(({el:e,style:t,font_size:a,current:o})=>{const n=`${o}px`,s=`${a<=6?6:a}px`;r&&r.push(new d({element:e,property:t,oldValue:n,newValue:s})),e.style[t]=s}),e.length>1&&r&&r.endBatch()}(o,a.key,t)}),yo(Ro,(r,a)=>{r.preventDefault();let o=a.key.split("+");!function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"fontWeight",current:E(e,"fontWeight"),direction:t.split("+").includes("down")})).map(e=>Object.assign(e,{value:e.direction?Oo[e.current]-1:Oo[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const n=jo[a<0?0:a>=jo.length?jo.length:a],s=o,i=String(n);r&&r.push(new d({element:e,property:t,oldValue:s,newValue:i})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(e(),o.includes("up")?"up":"down",t)}),yo("cmd+b",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontWeight;t&&t.push(new d({element:e,property:"fontWeight",oldValue:r,newValue:"bold"==e.style.fontWeight?"":"bold"})),e.style.fontWeight="bold"==e.style.fontWeight?null:"bold"}),a.length>1&&t&&t.endBatch()}),yo("cmd+i",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontStyle;t&&t.push(new d({element:e,property:"fontStyle",oldValue:r,newValue:"italic"==e.style.fontStyle?"":"italic"})),e.style.fontStyle="italic"==e.style.fontStyle?null:"italic"}),a.length>1&&t&&t.endBatch()}),()=>{yo.unbind(To),yo.unbind(Ro),yo.unbind("cmd+b,cmd+i"),yo.unbind("up,down,left,right")}}const Oo={normal:2,bold:5,light:0,"":2,100:0,200:1,300:2,400:3,500:4,600:5,700:6,800:7,900:8,1e3:9},jo=[100,200,300,400,500,600,700,800,900,1e3];const Do={start:0,left:0,center:1,right:2},Fo=["left","center","right"];let Vo,Ho=[],Wo=[];const qo={watching:!0,historyManager:null,imageCache:new Map};const Yo=e=>{e.on("dragover",Qo),e.on("dragleave",en),e.on("drop",tn),t(document.body).on("dragover",Qo),t(document.body).on("dragleave",en),t(document.body).on("drop",tn),t(document.body).on("dragstart",Zo),t(document.body).on("dragend",Jo)},Ko=e=>{e.off("dragover",Qo),e.off("dragleave",en),e.off("drop",tn),t(document.body).off("dragover",Qo),t(document.body).off("dragleave",en),t(document.body).off("drop",tn),t(document.body).off("dragstart",Zo),t(document.body).off("dragend",Jo),e=[]},Uo=e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>t(a.result)}),Go=async e=>{if(qo.imageCache.has(e)||e.startsWith("data:")||e.startsWith("blob:"))return qo.imageCache.get(e)||e;try{const t=await fetch(e),r=await t.blob(),a=URL.createObjectURL(r);return qo.imageCache.set(e,a),a}catch(t){return console.warn("Failed to cache image:",e,t),e}},Xo=e=>qo.imageCache.get(e)||e,Zo=({target:e})=>Vo=e,Jo=e=>Vo=void 0,Qo=async e=>{e.preventDefault(),e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");Ho.some(t=>t===e.target)&&(r.length?(r.some(t=>t==e.target)&&!xn(e)&&r.forEach(e=>un(e)),r.forEach((e,t)=>cn(e,t))):(xn(e)||un(e.target),cn(e.currentTarget,0)))},en=e=>{e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");r.some(t=>t===e.target)?r.forEach(e=>mn(e)):mn(e.target),dn()},tn=async e=>{e.stopPropagation(),e.preventDefault();const r=await rn(Vo,e);if(r.length){const a=t("img[data-selected=true], [data-selected=true] > img"),o=an(a,e);if(o.length)on(o,r);else{const t=sn(Ho,e);ln(t,r[0])}}dn()},rn=async(e,t)=>e?[e.currentSrc]:t.dataTransfer.files.length?await Promise.all([...t.dataTransfer.files].filter(e=>e.type.includes("image")).map(Uo)):[],an=(e,t)=>e.length?e:"IMG"!==t.target.nodeName||e.length?[]:[t.target],on=async(e,t)=>{e.length>1&&qo.historyManager&&qo.historyManager.beginBatch();let r=0;for(const a of e)fn(a),await nn(a,t[r]),r=++r%t.length;e.length>1&&qo.historyManager&&qo.historyManager.endBatch()},nn=async(e,t)=>{const r=e.getAttribute("src"),a=e.getAttribute("srcset")||"";!r||r.startsWith("data:")||r.startsWith("blob:")||Go(r).catch(()=>{});let o=t;t.startsWith("data:")||t.startsWith("blob:")||(o=await Go(t)),e.src=o,""!==e.srcset&&(e.srcset=o),qo.historyManager&&(qo.historyManager.push(new p({element:e,attribute:"src",oldValue:Xo(r)||r,newValue:o})),""!==a&&qo.historyManager.push(new p({element:e,attribute:"srcset",oldValue:Xo(a)||a,newValue:o})));const n=hn(e);n.length&&qo.historyManager&&n.forEach(e=>{const t=e.getAttribute("srcset");e.srcset=o,qo.historyManager.push(new p({element:e,attribute:"srcset",oldValue:Xo(t)||t,newValue:o}))})},sn=(e,t)=>e.filter(e=>e.contains(t.target)),ln=(e,t)=>{e.length>1&&qo.historyManager&&qo.historyManager.beginBatch(),e.forEach(e=>{if(fn(e),"none"!=window.getComputedStyle(e).backgroundImage){const r=e.style.backgroundImage,a=`url(${t})`;qo.historyManager&&qo.historyManager.push(new d({element:e,property:"backgroundImage",oldValue:r,newValue:a})),e.style.backgroundImage=a}}),e.length>1&&qo.historyManager&&qo.historyManager.endBatch()},hn=e=>Array.from(e.parentElement.children).filter(e=>"SOURCE"===e.nodeName).filter(e=>!e.media||window.matchMedia(e.media).matches),cn=(e,t)=>{const r=e.getBoundingClientRect(),a=Wo[t];a?a.update=r:(Wo[t]=document.createElement("visbug-overlay"),Wo[t].position=r,document.body.appendChild(Wo[t]))},dn=()=>{Wo.forEach(e=>e.remove()),Wo=[]},pn=e=>{const r=/url\(\s*?['"]?\s*?(\S+?)\s*?["']?\s*?\)/i;return t("*").reduce((e,t)=>{const a=E(t,"background-image");return r.exec(a)&&e.push(t),e},[])},un=async e=>{if(!["lastSrc","lastSrcset","lastSiblings","lastBackgroundImage"].some(t=>e[t])){const t=Vo.currentSrc;if("none"!==window.getComputedStyle(e).backgroundImage)e.lastBackgroundImage=window.getComputedStyle(e).backgroundImage,e.style.backgroundImage=`url(${t})`;else{gn(e),e.src=t,""!==e.srcset&&(e.srcset=t);const r=hn(e);r.length&&r.forEach(e=>{e.srcset=t})}}},gn=e=>{e.lastSrc=e.src,e.lastSrcset=e.srcset;const t=hn(e);t.length&&t.forEach(e=>{e.lastSrcset=e.srcset,e.lastSrc=e.src})},mn=e=>{e.lastSrc&&(e.src=e.lastSrc),e.lastSrcset&&(e.srcset=e.lastSrcset);const t=hn(e);t.length&&t.forEach(e=>{e.lastSrcset&&(e.srcset=e.lastSrcset),e.lastSrc&&(e.src=e.lastSrc)}),e.lastBackgroundImage&&(e.style.backgroundImage=e.lastBackgroundImage),fn(e)},fn=e=>{["lastSrc","lastSrcset","lastBackgroundImage"].forEach(t=>e[t]=null);const t=hn(e);t&&t.forEach(e=>{e.lastSrcset=null,e.lastSrc=null})},xn=e=>e.dataTransfer.types.some(e=>"Files"===e);class wn{constructor(e={}){if(!e.container)throw new Error("VisBugEditor requires a container element");this.container=e.container,this.mode=e.mode,this.initialTool=e.initialTool||"position",this.options=e,this.onToolChange=e.onToolChange,this.onSelectionChange=e.onSelectionChange,this.onChange=e.onChange,this.onImageUpload=e.onImageUpload,this.currentTool=null,this.activeFeature=null,this.selectorEngine=null,this.isInitialized=!1,this.uiContainer="inside"===this.mode?this.container:document.body,this.historyManager=new f,this.historyManager.on("change",()=>{this.onChange&&this.onChange({canUndo:this.historyManager.canUndo(),canRedo:this.historyManager.canRedo()})}),this.init()}init(){try{this.selectorEngine=function(e){const r=e.container,a=e.historyManager,o=e.getUIContainer();let n=[],s=[],i=[],l=[],h=[];const c={target:null,element:null,label:null},d=()=>{r.addEventListener("click",g,!0),r.addEventListener("dblclick",m,!0),r.addEventListener("selectstart",P),r.addEventListener("mousemove",f),document.addEventListener("copy",D),document.addEventListener("cut",F),document.addEventListener("paste",H),A(),yo("esc",L),yo(`${T}+d`,z),yo("backspace,del,delete",B),yo("alt+del,alt+backspace",R),yo("tab,shift+tab,enter,shift+enter",O)},g=e=>{const t=I(e.clientX,e.clientY);V(t)&&!n.filter(e=>e==t).length||(e.preventDefault(),e.altKey||e.stopPropagation(),e.shiftKey||b({silent:!0}),e.shiftKey&&t.hasAttribute("data-selected")?w(t.getAttribute("data-label-id")):x(t))},m=t=>{t.preventDefault(),t.stopPropagation(),V(t.target)||e.onDoubleClick&&e.onDoubleClick(t.target)},f=e=>{const t=I(e.clientX,e.clientY);if(!V(t))return t.hasAttribute("data-selected")||"visbug-hover"===t.nodeName?v():void(c.target&&c.target===t||(v(),c.target=t,c.element=y(t),c.label=k(t,M(t))));c.element&&v()},x=e=>{if(V(e)||e.hasAttribute("data-pseudo-select"))return;if(e.hasAttribute("data-selected"))return;c.target===e&&v(),e.setAttribute("data-selected",!0),e.setAttribute("data-selected-hide",!0),n.unshift(e);const t=e.getAttribute("data-label-id")||"label_"+Number(new Date);e.hasAttribute("data-label-id")||e.setAttribute("data-label-id",t);const r=C(e,t),a=k(e,M(e),t);l.push(r),i.push(a);const o=_(e,{label:a,handle:r});o.observe(e,{attributes:!0,attributeFilter:["style","class"]});const s=new MutationObserver(()=>{a&&document.body.contains(a)&&S(e,a),r&&document.body.contains(r)&&E(e,r)});return e.parentElement&&s.observe(e.parentElement,{childList:!0,subtree:!1}),h.push({element:e,observer:o,parentObserver:s,label:a,handle:r}),W(e,()=>{a&&a.remove(),r&&r.remove(),o.disconnect(),s.disconnect(),n=n.filter(t=>t!==e),i=i.filter(e=>e!==a),l=l.filter(e=>e!==r),h=h.filter(t=>t.element!==e),$()}),$(),e},w=e=>{const r=h.find(t=>t.element.getAttribute("data-label-id")===e);r&&(r.observer.disconnect(),r.parentObserver.disconnect(),h=h.filter(e=>e!==r)),[...i,...l].filter(t=>t.getAttribute("data-label-id")===e).forEach(e=>e.remove()),n.filter(t=>t.getAttribute("data-label-id")===e).forEach(e=>t(e).attr({"data-selected":null,"data-selected-hide":null,"data-label-id":null,"data-pseudo-select":null})),n=n.filter(t=>t.getAttribute("data-label-id")!==e),$()},b=({silent:e=!1}={})=>{h.forEach(e=>{e.observer.disconnect(),e.parentObserver.disconnect()}),h=[],n.forEach(e=>e.removeAttribute("data-selected")&&e.removeAttribute("data-selected-hide")&&e.removeAttribute("data-label-id")&&e.removeAttribute("data-pseudo-select")),i.forEach(e=>e.remove()),l.forEach(e=>e.remove()),n=[],l=[],i=[],e||$()},v=()=>{c.element&&(c.element.remove(),c.element=null),c.label&&(c.label.remove(),c.label=null),c.target=null},y=e=>{const t=document.createElement("visbug-hover"),r=e.getBoundingClientRect();return t.position={el:e,boundingRect:r,isFixed:q(e),uiContainer:o},o.appendChild(t),t},M=e=>`${e.nodeName.toLowerCase()}${N(e)}`,k=(e,t,r)=>{const a=document.createElement("visbug-label"),n=e.getBoundingClientRect();return a.text=t,a.position={boundingRect:n,isFixed:q(e),uiContainer:o},r&&a.setAttribute("data-label-id",r),o.appendChild(a),a},C=(e,t)=>{const r=document.createElement("visbug-handles");return e.getBoundingClientRect(),r.position={el:e,node_label_id:t,isFixed:q(e),uiContainer:o},r.setAttribute("data-label-id",t),r.historyManager=a,o.appendChild(r),r},S=(e,t)=>{t.text=M(e),t.update={boundingRect:e.getBoundingClientRect(),isFixed:q(e),uiContainer:o}},E=(e,t)=>{t.position={el:e,node_label_id:e.getAttribute("data-label-id"),isFixed:q(e),uiContainer:o}},_=(e,{label:t,handle:r})=>new MutationObserver(a=>{t&&document.body.contains(t)&&S(e,t),r&&document.body.contains(r)&&E(e,r)}),$=()=>{const t=n;s.forEach(e=>e(t)),e.onSelectionChange&&e.onSelectionChange(t)},A=()=>{const e=document.body;document.addEventListener("keydown",t=>{t[T+"Key"]&&!e.hasAttribute("data-"+T)&&e.setAttribute("data-"+T,!0)}),document.addEventListener("keyup",t=>{!t[T+"Key"]&&e.hasAttribute("data-"+T)&&e.removeAttribute("data-"+T)})},P=e=>e.preventDefault(),L=e=>{e.preventDefault(),b(),v()},z=e=>{if(e.preventDefault(),!a||!n.length)return;const t=[];n.forEach(e=>{const r=e.cloneNode(!0);r.removeAttribute("data-selected"),r.removeAttribute("data-label-id"),e.parentNode.insertBefore(r,e.nextSibling),t.push(new u({element:r,oldParent:null,oldNextSibling:null,newParent:e.parentNode,newNextSibling:e.nextSibling}))}),t.length&&a.push(t)},B=e=>{if(e.preventDefault(),!a||!n.length)return;const t=n.map(e=>{const t=e.parentNode,r=e.nextSibling;return new u({element:e,oldParent:t,oldNextSibling:r,newParent:null,newNextSibling:null})});n.forEach(e=>e.remove()),b(),t.length&&a.push(t)},R=e=>{if(e.preventDefault(),!a||!n.length)return;const t=n.map(e=>{const t=e.getAttribute("style")||"";return new p({element:e,attribute:"style",oldValue:t,newValue:""})});n.forEach(e=>e.removeAttribute("style")),t.length&&a.push(t)},O=e=>{if(!n.length)return;e.preventDefault(),e.stopPropagation();const t=n[0];let r;"Tab"!==e.key||e.shiftKey?"Tab"===e.key&&e.shiftKey?r=t.previousElementSibling:"Enter"!==e.key||e.shiftKey?"Enter"===e.key&&e.shiftKey&&(r=t.parentElement):r=t.firstElementChild:r=t.nextElementSibling,r&&!V(r)&&(b({silent:!0}),x(r))};let j=null;const D=e=>{n.length&&(e.preventDefault(),j=n[0].cloneNode(!0),e.clipboardData.setData("text/html",n[0].outerHTML),e.clipboardData.setData("text/plain",n[0].textContent))},F=e=>{n.length&&(D(e),B(e))},H=e=>{if(!n.length||!j)return;e.preventDefault();const t=n[0],r=j.cloneNode(!0);t.parentNode.insertBefore(r,t.nextSibling),a&&a.push(new u({element:r,oldParent:null,oldNextSibling:null,newParent:t.parentNode,newNextSibling:t.nextSibling}))};return d(),{listen:d,disconnect:()=>{r.removeEventListener("click",g,!0),r.removeEventListener("dblclick",m,!0),r.removeEventListener("selectstart",P),r.removeEventListener("mousemove",f),document.removeEventListener("copy",D),document.removeEventListener("cut",F),document.removeEventListener("paste",H),yo.unbind(`esc,${T}+d,backspace,del,delete,alt+del,alt+backspace,tab,shift+tab,enter,shift+enter`)},unselect_all:b,select:x,unselect:w,onSelectedUpdate:e=>{if("function"==typeof e)return s.push(e),()=>{s=s.filter(t=>t!==e)}},selection:()=>n,labels:()=>i,handles:()=>l}}(this),this.selectorEngine.onSelectedUpdate(e=>{this.onSelectionChange&&this.onSelectionChange(e),this.activeFeature?.onNodesSelected&&this.activeFeature.onNodesSelected(e)}),e=this.historyManager,qo.historyManager=e,Ho=t([...document.images,...t("picture"),...pn()]),Ko(Ho),Yo(Ho),this.initialTool&&this.activateTool(this.initialTool),this.isInitialized=!0,console.log("VisBugEditor initialized successfully")}catch(e){throw console.error("Failed to initialize VisBugEditor:",e),e}var e}getEditingContext(){return this.container}getUIContainer(){return this.uiContainer}activateTool(e){switch(this.activeFeature?.disconnect&&(this.activeFeature.disconnect(),this.activeFeature=null),e){case"position":this.activeFeature=So(this.historyManager);const r=this.getSelectedElements();r.length>0&&this.activeFeature.onNodesSelected(r);break;case"text":this.activeFeature={onNodesSelected:e=>{e.length>0&&function(e,r){e.length&&(Lo.historyManager=r,e.map(e=>{let a=t(e);r&&Lo.originalText.set(e,e.textContent),a.attr({contenteditable:!0,spellcheck:!0}),e.focus(),F(e,!0),a.on("keydown",No),a.on("blur",zo)}))}(e,this.historyManager)},disconnect:()=>{}};break;case"font":this.activeFeature=Io({selection:()=>this.getSelectedElements(),historyManager:this.historyManager});break;default:return void console.warn(`Unknown tool: ${e}`)}this.currentTool=e,this.onToolChange&&this.onToolChange(e),console.log(`Activated tool: ${e}`)}getCurrentTool(){return this.currentTool}selectElement(e){this.selectorEngine&&this.selectorEngine.select(e)}selectElements(e){this.selectorEngine&&(this.selectorEngine.unselect_all({silent:!0}),e.forEach(e=>this.selectorEngine.select(e)))}getSelectedElements(){return this.selectorEngine?this.selectorEngine.selection():[]}clearSelection(){this.selectorEngine&&this.selectorEngine.unselect_all()}undo(){return this.historyManager.undo()}redo(){return this.historyManager.redo()}canUndo(){return this.historyManager.canUndo()}canRedo(){return this.historyManager.canRedo()}getHistory(){return this.historyManager.getHistory()}clearHistory(){this.historyManager.clear()}getContent(){const e=this.getEditingContext().cloneNode(!0);e.querySelectorAll("visbug-handles, visbug-label, visbug-hover, visbug-overlay, [data-visbug-ignore]").forEach(e=>e.remove());return e.querySelectorAll("[data-selected], [data-label-id], [data-visbug]").forEach(e=>{e.removeAttribute("data-selected"),e.removeAttribute("data-label-id"),e.removeAttribute("data-visbug")}),e.innerHTML}setContent(e){const t=this.getEditingContext();this.clearSelection(),this.removeEditorUI(),t.innerHTML=e,!1!==this.options.clearHistoryOnSetContent&&this.historyManager.clear()}removeEditorUI(){this.getUIContainer().querySelectorAll("visbug-handles, visbug-label, visbug-hover, visbug-overlay, [data-visbug-ignore]").forEach(e=>e.remove())}on(e,t){console.log(`Event listener added: ${e}`)}off(e,t){console.log(`Event listener removed: ${e}`)}destroy(){this.activeFeature?.disconnect&&this.activeFeature.disconnect(),this.selectorEngine?.disconnect&&this.selectorEngine.disconnect(),this.removeEditorUI(),this.historyManager.clear(),this.isInitialized=!1,this.currentTool=null,this.activeFeature=null,this.selectorEngine=null,console.log("VisBugEditor destroyed")}}const bn="0.1.0";export{f as HistoryManager,bn as VERSION,wn as VisBugEditor,Ya as utilities};
|
|
13
|
+
const Qa="undefined"!=typeof navigator&&navigator.userAgent.toLowerCase().indexOf("firefox")>0;function eo(e,t,r,a){e.addEventListener?e.addEventListener(t,r,a):e.attachEvent&&e.attachEvent("on".concat(t),r)}function to(e,t,r,a){e.removeEventListener?e.removeEventListener(t,r,a):e.detachEvent&&e.detachEvent("on".concat(t),r)}function ro(e,t){const r=t.slice(0,t.length-1);for(let t=0;t<r.length;t++)r[t]=e[r[t].toLowerCase()];return r}function ao(e){"string"!=typeof e&&(e="");const t=(e=e.replace(/\s/g,"")).split(",");let r=t.lastIndexOf("");for(;r>=0;)t[r-1]+=",",t.splice(r,1),r=t.lastIndexOf("");return t}const oo={backspace:8,"⌫":8,tab:9,clear:12,enter:13,"↩":13,return:13,esc:27,escape:27,space:32,left:37,up:38,right:39,down:40,arrowup:38,arrowdown:40,arrowleft:37,arrowright:39,del:46,delete:46,ins:45,insert:45,home:36,end:35,pageup:33,pagedown:34,capslock:20,num_0:96,num_1:97,num_2:98,num_3:99,num_4:100,num_5:101,num_6:102,num_7:103,num_8:104,num_9:105,num_multiply:106,num_add:107,num_enter:108,num_subtract:109,num_decimal:110,num_divide:111,"⇪":20,",":188,".":190,"/":191,"`":192,"-":Qa?173:189,"=":Qa?61:187,";":Qa?59:186,"'":222,"{":219,"}":221,"[":219,"]":221,"\\":220},so={"⇧":16,shift:16,"⌥":18,alt:18,option:18,"⌃":17,ctrl:17,control:17,"⌘":91,cmd:91,meta:91,command:91},no={16:"shiftKey",18:"altKey",17:"ctrlKey",91:"metaKey",shiftKey:16,ctrlKey:17,altKey:18,metaKey:91},io={16:!1,18:!1,17:!1,91:!1},lo={};for(let e=1;e<20;e++)oo["f".concat(e)]=111+e;let co=[],ho=null,po="all";const uo=new Map,go=e=>oo[e.toLowerCase()]||so[e.toLowerCase()]||e.toUpperCase().charCodeAt(0);function mo(e){po=e||"all"}function fo(){return po||"all"}function xo(e){if(void 0===e)Object.keys(lo).forEach(e=>{Array.isArray(lo[e])&&lo[e].forEach(e=>wo(e)),delete lo[e]}),Mo(null);else if(Array.isArray(e))e.forEach(e=>{e.key&&wo(e)});else if("object"==typeof e)e.key&&wo(e);else if("string"==typeof e){for(var t=arguments.length,r=new Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];let[o,s]=r;"function"==typeof o&&(s=o,o=""),wo({key:e,scope:o,method:s,splitKey:"+"})}}const wo=e=>{let{key:t,scope:r,method:a,splitKey:o="+"}=e;ao(t).forEach(e=>{const t=e.split(o),s=t.length,n=t[s-1],i="*"===n?"*":go(n);if(!lo[i])return;r||(r=fo());const l=s>1?ro(so,t):[],c=[];lo[i]=lo[i].filter(e=>{const t=(!a||e.method===a)&&e.scope===r&&function(e,t){const r=e.length>=t.length?e:t,a=e.length>=t.length?t:e;let o=!0;for(let e=0;e<r.length;e++)-1===a.indexOf(r[e])&&(o=!1);return o}(e.mods,l);return t&&c.push(e.element),!t}),c.forEach(e=>Mo(e))})};function bo(e,t,r,a){if(t.element!==a)return;let o;if(t.scope===r||"all"===t.scope){o=t.mods.length>0;for(const e in io)Object.prototype.hasOwnProperty.call(io,e)&&(!io[e]&&t.mods.indexOf(+e)>-1||io[e]&&-1===t.mods.indexOf(+e))&&(o=!1);(0!==t.mods.length||io[16]||io[18]||io[17]||io[91])&&!o&&"*"!==t.shortcut||(t.keys=[],t.keys=t.keys.concat(co),!1===t.method(e,t)&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0)))}}function vo(e,t){const r=lo["*"];let a=e.keyCode||e.which||e.charCode;if(e.key&&"capslock"===e.key.toLowerCase())return;if(!yo.filter.call(this,e))return;if(93!==a&&224!==a||(a=91),-1===co.indexOf(a)&&229!==a&&co.push(a),["metaKey","ctrlKey","altKey","shiftKey"].forEach(t=>{const r=no[t];e[t]&&-1===co.indexOf(r)?co.push(r):!e[t]&&co.indexOf(r)>-1?co.splice(co.indexOf(r),1):"metaKey"===t&&e[t]&&(co=co.filter(e=>e in no||e===a))}),a in io){io[a]=!0;for(const t in so)if(Object.prototype.hasOwnProperty.call(so,t)){const r=no[so[t]];yo[t]=e[r]}if(!r)return}for(const t in io)Object.prototype.hasOwnProperty.call(io,t)&&(io[t]=e[no[t]]);e.getModifierState&&(!e.altKey||e.ctrlKey)&&e.getModifierState("AltGraph")&&(-1===co.indexOf(17)&&co.push(17),-1===co.indexOf(18)&&co.push(18),io[17]=!0,io[18]=!0);const o=fo();if(r)for(let a=0;a<r.length;a++)r[a].scope===o&&("keydown"===e.type&&r[a].keydown||"keyup"===e.type&&r[a].keyup)&&bo(e,r[a],o,t);if(!(a in lo))return;const s=lo[a],n=s.length;for(let r=0;r<n;r++)if(("keydown"===e.type&&s[r].keydown||"keyup"===e.type&&s[r].keyup)&&s[r].key){const a=s[r],{splitKey:n}=a,i=a.key.split(n),l=[];for(let e=0;e<i.length;e++)l.push(go(i[e]));l.sort().join("")===co.sort().join("")&&bo(e,a,o,t)}}function yo(e,t,r){co=[];const a=ao(e);let o=[],s="all",n=document,i=0,l=!1,c=!0,h="+",d=!1,p=!1;for(void 0===r&&"function"==typeof t&&(r=t),"[object Object]"===Object.prototype.toString.call(t)&&(t.scope&&(s=t.scope),t.element&&(n=t.element),t.keyup&&(l=t.keyup),void 0!==t.keydown&&(c=t.keydown),void 0!==t.capture&&(d=t.capture),"string"==typeof t.splitKey&&(h=t.splitKey),!0===t.single&&(p=!0)),"string"==typeof t&&(s=t),p&&xo(e,s);i<a.length;i++)o=[],(e=a[i].split(h)).length>1&&(o=ro(so,e)),(e="*"===(e=e[e.length-1])?"*":go(e))in lo||(lo[e]=[]),lo[e].push({keyup:l,keydown:c,scope:s,mods:o,shortcut:a[i],method:r,key:a[i],splitKey:h,element:n});if(void 0!==n&&window){if(!uo.has(n)){const e=function(){return vo(arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,n)},t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event;vo(e,n),function(e){let t=e.keyCode||e.which||e.charCode;e.key&&"capslock"===e.key.toLowerCase()&&(t=go(e.key));const r=co.indexOf(t);if(r>=0&&co.splice(r,1),e.key&&"meta"===e.key.toLowerCase()&&co.splice(0,co.length),93!==t&&224!==t||(t=91),t in io){io[t]=!1;for(const e in so)so[e]===t&&(yo[e]=!1)}}(e)};uo.set(n,{keydownListener:e,keyupListenr:t,capture:d}),eo(n,"keydown",e,d),eo(n,"keyup",t,d)}if(!ho){const e=()=>{co=[]};ho={listener:e,capture:d},eo(window,"focus",e,d)}}}function Mo(e){const t=Object.values(lo).flat();if(t.findIndex(t=>{let{element:r}=t;return r===e})<0){const{keydownListener:t,keyupListenr:r,capture:a}=uo.get(e)||{};t&&r&&(to(e,"keyup",r,a),to(e,"keydown",t,a),uo.delete(e))}if(t.length<=0||uo.size<=0){if(Object.keys(uo).forEach(e=>{const{keydownListener:t,keyupListenr:r,capture:a}=uo.get(e)||{};t&&r&&(to(e,"keyup",r,a),to(e,"keydown",t,a),uo.delete(e))}),uo.clear(),Object.keys(lo).forEach(e=>delete lo[e]),ho){const{listener:e,capture:t}=ho;to(window,"focus",e,t),ho=null}}}const ko={getPressedKeyString:function(){return co.map(e=>{return t=e,Object.keys(oo).find(e=>oo[e]===t)||(e=>Object.keys(so).find(t=>so[t]===e))(e)||String.fromCharCode(e);var t})},setScope:mo,getScope:fo,deleteScope:function(e,t){let r,a;e||(e=fo());for(const t in lo)if(Object.prototype.hasOwnProperty.call(lo,t))for(r=lo[t],a=0;a<r.length;)if(r[a].scope===e){r.splice(a,1).forEach(e=>{let{element:t}=e;return Mo(t)})}else a++;fo()===e&&mo(t||"all")},getPressedKeyCodes:function(){return co.slice(0)},getAllKeyCodes:function(){const e=[];return Object.keys(lo).forEach(t=>{lo[t].forEach(t=>{let{key:r,scope:a,mods:o,shortcut:s}=t;e.push({scope:a,shortcut:s,mods:o,keys:r.split("+").map(e=>go(e))})})}),e},isPressed:function(e){return"string"==typeof e&&(e=go(e)),-1!==co.indexOf(e)},filter:function(e){const t=e.target||e.srcElement,{tagName:r}=t;let a=!0;const o="INPUT"===r&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(t.type);return(t.isContentEditable||(o||"TEXTAREA"===r||"SELECT"===r)&&!t.readOnly)&&(a=!1),a},trigger:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"all";Object.keys(lo).forEach(r=>{lo[r].filter(r=>r.scope===t&&r.shortcut===e).forEach(e=>{e&&e.method&&e.method()})})},unbind:xo,keyMap:oo,modifier:so,modifierMap:no};for(const e in ko)Object.prototype.hasOwnProperty.call(ko,e)&&(yo[e]=ko[e]);if("undefined"!=typeof window){const e=window.hotkeys;yo.noConflict=t=>(t&&window.hotkeys===yo&&(window.hotkeys=e),yo),window.hotkeys=yo}const So="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},alt+${t},shift+${t},shift+alt+${t}`,"").substring(1);function Co(e){const t={elements:[]};yo(So,(r,a)=>{r.cancelBubble||(r.preventDefault(),function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>Po(e)).map(e=>D(e)).map(e=>({el:e,...Eo(e,t),amount:t.split("+").includes("shift")?10:1,negative:$o(e,t)})).map(e=>Object.assign(e,{position:e.negative?e.current+e.amount:e.current-e.amount})).forEach(({el:e,style:a,position:o,current:s})=>{if(e instanceof SVGElement){const a=e.getAttribute("transform");Ao(e,t,o);const s=e.getAttribute("transform");r&&r.push(new p({element:e,attribute:"transform",oldValue:a,newValue:s}))}else{const t=e.style[a],s=o+"px";r&&r.push(new d({element:e,property:a,oldValue:t,newValue:s})),e.style[a]=s}}),e.length>1&&r&&r.endBatch()}(t.elements,a.key,e))});return{onNodesSelected:r=>{t.elements.forEach(e=>e.teardown()),t.elements=r.map(t=>function({el:e,surface:t=e,cursor:r="move",clickEvent:a,historyManager:o}){const s={surface:t,mouse:{down:!1,x:0,y:0},element:{x:0,y:0},travelDistance:0,historyManager:o,initialPosition:null,initialTransform:null,zIndex:null},n=()=>{e.style.transition="none",t.style.cursor=r,t.addEventListener("mousedown",l,!0),t.addEventListener("mouseup",c,!0),document.addEventListener("mousemove",h,!0)},i=()=>{e.style.transition=null,t.style.cursor=null,t.removeEventListener("mousedown",l,!0),t.removeEventListener("mouseup",c,!0),document.removeEventListener("mousemove",h,!0)},l=t=>{if(t.target===s.surface){if(t.preventDefault(),null==s.zIndex&&(s.zIndex=e.style.zIndex,e.style.zIndex=9999999999999),"static"==getComputedStyle(e).position&&(e.style.position="relative"),e.style.willChange="top,left",e instanceof SVGElement){const t=e.getAttribute("transform"),[r,a]=t?_o(t):[0,0];s.element.x=r,s.element.y=a,s.historyManager&&(s.initialTransform=t||null)}else s.element.x=parseInt(E(e,"left")),s.element.y=parseInt(E(e,"top")),s.historyManager&&(s.initialPosition={left:e.style.left,top:e.style.top});s.mouse.x=t.clientX,s.mouse.y=t.clientY,s.mouse.down=!0,s.travelDistance=0}},c=t=>{if(t.target!==s.surface)return;if(t.preventDefault(),t.stopPropagation(),null!=s.zIndex&&(e.style.zIndex=s.zIndex,s.zIndex=null),s.mouse.down=!1,e.style.willChange=null,e instanceof SVGElement){const t=e.getAttribute("transform"),[r,a]=t?_o(t):[0,0];s.historyManager&&s.initialTransform!==t&&(s.historyManager.push(new p({element:e,attribute:"transform",oldValue:s.initialTransform,newValue:t})),s.initialTransform=null),s.element.x=r,s.element.y=a}else if(s.element.x=parseInt(e.style.left)||0,s.element.y=parseInt(e.style.top)||0,s.historyManager&&s.initialPosition){const t=e.style.left,r=e.style.top,a=s.initialPosition.left!==t,o=s.initialPosition.top!==r;(a||o)&&(a&&o&&s.historyManager.beginBatch(),a&&s.historyManager.push(new d({element:e,property:"left",oldValue:s.initialPosition.left,newValue:t})),o&&s.historyManager.push(new d({element:e,property:"top",oldValue:s.initialPosition.top,newValue:r})),a&&o&&s.historyManager.endBatch()),s.initialPosition=null}const r=!s.travelDistance||s.travelDistance<5;a&&r&&a(t),s.travelDistance=0},h=t=>{s.mouse.down&&(t.preventDefault(),t.stopPropagation(),e instanceof SVGElement?e.setAttribute("transform",`translate(\n ${s.element.x+t.clientX-s.mouse.x},\n ${s.element.y+t.clientY-s.mouse.y}\n )`):(e.style.left=s.element.x+t.clientX-s.mouse.x+"px",e.style.top=s.element.y+t.clientY-s.mouse.y+"px"),s.travelDistance+=1)};return n(),e.teardown=i,e}({el:t,historyManager:e}))},disconnect:()=>{t.elements.forEach(e=>e.teardown()),yo.unbind(So),yo.unbind("up,down,left,right")}}}const Eo=(e,t)=>{let r,a;if(e instanceof SVGElement){const o=e.attr("transform"),[s,n]=o?_o(o):[0,0];r="transform",a=t.includes("down")||t.includes("up")?n:s}else{const o=O(t).toLowerCase();r="top"===o||"bottom"===o?"top":"left",a=E(e,r),a="auto"===a?0:parseInt(a,10)}return{style:r,current:a}},_o=e=>e.substring(e.indexOf("(")+1,e.indexOf(")")).split(",").map(e=>parseFloat(e)),Ao=(e,t,r)=>{const a=e.attr("transform"),[o,s]=a?_o(a):[0,0],n=t.includes("down")||t.includes("up")?`${o},${r}`:`${r},${s}`;e.attr("transform",`translate(${n})`)},$o=(e,t)=>t.includes("right")||t.includes("down"),Po=e=>(e instanceof HTMLElement&&(e.style.position="relative"),e),Lo={historyManager:null,originalText:new WeakMap},zo=({target:e})=>{if(Lo.historyManager&&Lo.originalText.has(e)){const t=Lo.originalText.get(e),r=e.textContent;t!==r&&Lo.historyManager.push(new g({element:e,oldText:t,newText:r})),Lo.originalText.delete(e)}e.removeAttribute("contenteditable"),e.removeAttribute("spellcheck"),e.removeEventListener("blur",zo),e.removeEventListener("keydown",No)},No=e=>{"Escape"!==e.key&&"Esc"!==e.key?e.stopPropagation():Bo()},Bo=(e,r)=>{t('[spellcheck="true"]').forEach(e=>zo({target:e})),window.getSelection().empty()};const To="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},shift+${t}`,"").substring(1),Ro=`${T}+up,${T}+down`;function Io({selection:e,historyManager:t}){return yo(To,(r,a)=>{if(r.cancelBubble)return;r.preventDefault();let o=e(),s=a.key.split("+");s.includes("left")||s.includes("right")?s.includes("shift")?function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"letterSpacing",current:parseFloat(E(e,"letterSpacing")),amount:.1,negative:t.split("+").includes("left")})).map(e=>Object.assign(e,{current:"normal"==e.current||isNaN(e.current)?0:e.current})).map(e=>Object.assign(e,{value:e.negative?(e.current-e.amount).toFixed(2):(e.current+e.amount).toFixed(2)})).forEach(({el:e,style:t,value:a,current:o})=>{const s=`${o}px`,n=`${a<=-2?-2:a}px`;r&&r.push(new d({element:e,property:t,oldValue:s,newValue:n})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(o,a.key,t):function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"textAlign",current:E(e,"textAlign"),direction:t.split("+").includes("left")})).map(e=>Object.assign(e,{value:e.direction?Do[e.current]-1:Do[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const s=o,n=Fo[a<0?0:a>=2?2:a];r&&r.push(new d({element:e,property:t,oldValue:s,newValue:n})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(o,a.key,t):s.includes("shift")?function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"lineHeight",current:parseInt(E(e,"lineHeight")),amount:1,negative:t.split("+").includes("down")})).map(e=>Object.assign(e,{current:"normal"==e.current||isNaN(e.current)?1.14*parseInt(E(e.el,"fontSize")):e.current})).map(e=>Object.assign(e,{value:e.negative?e.current-e.amount:e.current+e.amount})).forEach(({el:e,style:t,value:a,current:o})=>{const s=`${o}px`,n=`${a}px`;r&&r.push(new d({element:e,property:t,oldValue:s,newValue:n})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(o,a.key,t):function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"fontSize",current:parseInt(E(e,"fontSize")),amount:t.split("+").includes("shift")?10:1,negative:t.split("+").includes("down")})).map(e=>Object.assign(e,{font_size:e.negative?e.current-e.amount:e.current+e.amount})).forEach(({el:e,style:t,font_size:a,current:o})=>{const s=`${o}px`,n=`${a<=6?6:a}px`;r&&r.push(new d({element:e,property:t,oldValue:s,newValue:n})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(o,a.key,t)}),yo(Ro,(r,a)=>{r.preventDefault();let o=a.key.split("+");!function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>D(e)).map(e=>({el:e,style:"fontWeight",current:E(e,"fontWeight"),direction:t.split("+").includes("down")})).map(e=>Object.assign(e,{value:e.direction?Oo[e.current]-1:Oo[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const s=jo[a<0?0:a>=jo.length?jo.length:a],n=o,i=String(s);r&&r.push(new d({element:e,property:t,oldValue:n,newValue:i})),e.style[t]=s}),e.length>1&&r&&r.endBatch()}(e(),o.includes("up")?"up":"down",t)}),yo("cmd+b",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontWeight;t&&t.push(new d({element:e,property:"fontWeight",oldValue:r,newValue:"bold"==e.style.fontWeight?"":"bold"})),e.style.fontWeight="bold"==e.style.fontWeight?null:"bold"}),a.length>1&&t&&t.endBatch()}),yo("cmd+i",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontStyle;t&&t.push(new d({element:e,property:"fontStyle",oldValue:r,newValue:"italic"==e.style.fontStyle?"":"italic"})),e.style.fontStyle="italic"==e.style.fontStyle?null:"italic"}),a.length>1&&t&&t.endBatch()}),()=>{yo.unbind(To),yo.unbind(Ro),yo.unbind("cmd+b,cmd+i"),yo.unbind("up,down,left,right")}}const Oo={normal:2,bold:5,light:0,"":2,100:0,200:1,300:2,400:3,500:4,600:5,700:6,800:7,900:8,1e3:9},jo=[100,200,300,400,500,600,700,800,900,1e3];const Do={start:0,left:0,center:1,right:2},Fo=["left","center","right"];let Vo,Ho=[],Wo=[];const qo={watching:!0,historyManager:null,imageCache:new Map};const Yo=e=>{e.on("dragover",Qo),e.on("dragleave",es),e.on("drop",ts),t(document.body).on("dragover",Qo),t(document.body).on("dragleave",es),t(document.body).on("drop",ts),t(document.body).on("dragstart",Zo),t(document.body).on("dragend",Jo)},Ko=e=>{e.off("dragover",Qo),e.off("dragleave",es),e.off("drop",ts),t(document.body).off("dragover",Qo),t(document.body).off("dragleave",es),t(document.body).off("drop",ts),t(document.body).off("dragstart",Zo),t(document.body).off("dragend",Jo),e=[]},Uo=e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>t(a.result)}),Go=async e=>{if(qo.imageCache.has(e)||e.startsWith("data:")||e.startsWith("blob:"))return qo.imageCache.get(e)||e;try{const t=await fetch(e),r=await t.blob(),a=URL.createObjectURL(r);return qo.imageCache.set(e,a),a}catch(t){return console.warn("Failed to cache image:",e,t),e}},Xo=e=>qo.imageCache.get(e)||e,Zo=({target:e})=>Vo=e,Jo=e=>Vo=void 0,Qo=async e=>{e.preventDefault(),e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");Ho.some(t=>t===e.target)&&(r.length?(r.some(t=>t==e.target)&&!fs(e)&&r.forEach(e=>ps(e)),r.forEach((e,t)=>cs(e,t))):(fs(e)||ps(e.target),cs(e.currentTarget,0)))},es=e=>{e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");r.some(t=>t===e.target)?r.forEach(e=>gs(e)):gs(e.target),hs()},ts=async e=>{e.stopPropagation(),e.preventDefault();const r=await rs(Vo,e);if(r.length){const a=t("img[data-selected=true], [data-selected=true] > img"),o=as(a,e);if(o.length)os(o,r);else{const t=ns(Ho,e);is(t,r[0])}}hs()},rs=async(e,t)=>e?[e.currentSrc]:t.dataTransfer.files.length?await Promise.all([...t.dataTransfer.files].filter(e=>e.type.includes("image")).map(Uo)):[],as=(e,t)=>e.length?e:"IMG"!==t.target.nodeName||e.length?[]:[t.target],os=async(e,t)=>{e.length>1&&qo.historyManager&&qo.historyManager.beginBatch();let r=0;for(const a of e)ms(a),await ss(a,t[r]),r=++r%t.length;e.length>1&&qo.historyManager&&qo.historyManager.endBatch()},ss=async(e,t)=>{const r=e.getAttribute("src"),a=e.getAttribute("srcset")||"";!r||r.startsWith("data:")||r.startsWith("blob:")||Go(r).catch(()=>{});let o=t;t.startsWith("data:")||t.startsWith("blob:")||(o=await Go(t)),e.src=o,""!==e.srcset&&(e.srcset=o),qo.historyManager&&(qo.historyManager.push(new p({element:e,attribute:"src",oldValue:Xo(r)||r,newValue:o})),""!==a&&qo.historyManager.push(new p({element:e,attribute:"srcset",oldValue:Xo(a)||a,newValue:o})));const s=ls(e);s.length&&qo.historyManager&&s.forEach(e=>{const t=e.getAttribute("srcset");e.srcset=o,qo.historyManager.push(new p({element:e,attribute:"srcset",oldValue:Xo(t)||t,newValue:o}))})},ns=(e,t)=>e.filter(e=>e.contains(t.target)),is=(e,t)=>{e.length>1&&qo.historyManager&&qo.historyManager.beginBatch(),e.forEach(e=>{if(ms(e),"none"!=window.getComputedStyle(e).backgroundImage){const r=e.style.backgroundImage,a=`url(${t})`;qo.historyManager&&qo.historyManager.push(new d({element:e,property:"backgroundImage",oldValue:r,newValue:a})),e.style.backgroundImage=a}}),e.length>1&&qo.historyManager&&qo.historyManager.endBatch()},ls=e=>Array.from(e.parentElement.children).filter(e=>"SOURCE"===e.nodeName).filter(e=>!e.media||window.matchMedia(e.media).matches),cs=(e,t)=>{const r=e.getBoundingClientRect(),a=Wo[t];a?a.update=r:(Wo[t]=document.createElement("visbug-overlay"),Wo[t].position=r,document.body.appendChild(Wo[t]))},hs=()=>{Wo.forEach(e=>e.remove()),Wo=[]},ds=e=>{const r=/url\(\s*?['"]?\s*?(\S+?)\s*?["']?\s*?\)/i;return t("*").reduce((e,t)=>{const a=E(t,"background-image");return r.exec(a)&&e.push(t),e},[])},ps=async e=>{if(!["lastSrc","lastSrcset","lastSiblings","lastBackgroundImage"].some(t=>e[t])){const t=Vo.currentSrc;if("none"!==window.getComputedStyle(e).backgroundImage)e.lastBackgroundImage=window.getComputedStyle(e).backgroundImage,e.style.backgroundImage=`url(${t})`;else{us(e),e.src=t,""!==e.srcset&&(e.srcset=t);const r=ls(e);r.length&&r.forEach(e=>{e.srcset=t})}}},us=e=>{e.lastSrc=e.src,e.lastSrcset=e.srcset;const t=ls(e);t.length&&t.forEach(e=>{e.lastSrcset=e.srcset,e.lastSrc=e.src})},gs=e=>{e.lastSrc&&(e.src=e.lastSrc),e.lastSrcset&&(e.srcset=e.lastSrcset);const t=ls(e);t.length&&t.forEach(e=>{e.lastSrcset&&(e.srcset=e.lastSrcset),e.lastSrc&&(e.src=e.lastSrc)}),e.lastBackgroundImage&&(e.style.backgroundImage=e.lastBackgroundImage),ms(e)},ms=e=>{["lastSrc","lastSrcset","lastBackgroundImage"].forEach(t=>e[t]=null);const t=ls(e);t&&t.forEach(e=>{e.lastSrcset=null,e.lastSrc=null})},fs=e=>e.dataTransfer.types.some(e=>"Files"===e);class xs{constructor(e={}){if(!e.container)throw new Error("VisBugEditor requires a container element");this.container=e.container,this.mode=e.mode,this.initialTool=e.initialTool||"position",this.options=e,this.onToolChange=e.onToolChange,this.onSelectionChange=e.onSelectionChange,this.onChange=e.onChange,this.onImageUpload=e.onImageUpload,this.currentTool=null,this.activeFeature=null,this.selectorEngine=null,this.isInitialized=!1,this.ignoreSelectors=[],this.uiContainer="inside"===this.mode?this.container:document.body,this.historyManager=new f,this.historyManager.on("change",()=>{this.onChange&&this.onChange({canUndo:this.historyManager.canUndo(),canRedo:this.historyManager.canRedo()})}),this.init()}init(){try{this.selectorEngine=function(e){const r=e.container,a=e.historyManager,o=e.getUIContainer();let s=[],n=[],i=[],l=[],c=[];const h={target:null,element:null,label:null},d=t=>!(!t||!e.ignoreSelectors||0===e.ignoreSelectors.length)&&e.ignoreSelectors.some(e=>{try{return t.matches(e)}catch(t){return console.warn(`Invalid CSS selector in ignore list: ${e}`),!1}}),g=()=>{r.addEventListener("click",m,!0),r.addEventListener("dblclick",f,!0),r.addEventListener("selectstart",L),r.addEventListener("mousemove",x),document.addEventListener("copy",F),document.addEventListener("cut",H),document.addEventListener("paste",Y),P(),yo("esc",z),yo(`${T}+d`,B),yo("backspace,del,delete",R),yo("alt+del,alt+backspace",O),yo("tab,shift+tab,enter,shift+enter",j)},m=e=>{const t=I(e.clientX,e.clientY);(!V(t)&&!d(t)||s.filter(e=>e==t).length)&&(e.preventDefault(),e.altKey||e.stopPropagation(),e.shiftKey||v({silent:!0}),e.shiftKey&&t.hasAttribute("data-selected")?b(t.getAttribute("data-label-id")):w(t))},f=t=>{t.preventDefault(),t.stopPropagation(),V(t.target)||e.onDoubleClick&&e.onDoubleClick(t.target)},x=e=>{const t=I(e.clientX,e.clientY);if(!V(t)&&!d(t))return t.hasAttribute("data-selected")||"visbug-hover"===t.nodeName?y():void(h.target&&h.target===t||(y(),h.target=t,h.element=M(t),h.label=S(t,k(t))));h.element&&y()},w=e=>{if(V(e)||d(e)||e.hasAttribute("data-pseudo-select"))return;if(e.hasAttribute("data-selected"))return;h.target===e&&y(),e.setAttribute("data-selected",!0),e.setAttribute("data-selected-hide",!0),s.unshift(e);const t=e.getAttribute("data-label-id")||"label_"+Number(new Date);e.hasAttribute("data-label-id")||e.setAttribute("data-label-id",t);const r=C(e,t),a=S(e,k(e),t);l.push(r),i.push(a);const o=A(e,{label:a,handle:r});o.observe(e,{attributes:!0,attributeFilter:["style","class"]});const n=new MutationObserver(()=>{a&&document.body.contains(a)&&E(e,a),r&&document.body.contains(r)&&_(e,r)});return e.parentElement&&n.observe(e.parentElement,{childList:!0,subtree:!1}),c.push({element:e,observer:o,parentObserver:n,label:a,handle:r}),W(e,()=>{a&&a.remove(),r&&r.remove(),o.disconnect(),n.disconnect(),s=s.filter(t=>t!==e),i=i.filter(e=>e!==a),l=l.filter(e=>e!==r),c=c.filter(t=>t.element!==e),$()}),$(),e},b=e=>{const r=c.find(t=>t.element.getAttribute("data-label-id")===e);r&&(r.observer.disconnect(),r.parentObserver.disconnect(),c=c.filter(e=>e!==r)),[...i,...l].filter(t=>t.getAttribute("data-label-id")===e).forEach(e=>e.remove()),s.filter(t=>t.getAttribute("data-label-id")===e).forEach(e=>t(e).attr({"data-selected":null,"data-selected-hide":null,"data-label-id":null,"data-pseudo-select":null})),s=s.filter(t=>t.getAttribute("data-label-id")!==e),$()},v=({silent:e=!1}={})=>{c.forEach(e=>{e.observer.disconnect(),e.parentObserver.disconnect()}),c=[],s.forEach(e=>e.removeAttribute("data-selected")&&e.removeAttribute("data-selected-hide")&&e.removeAttribute("data-label-id")&&e.removeAttribute("data-pseudo-select")),i.forEach(e=>e.remove()),l.forEach(e=>e.remove()),s=[],l=[],i=[],e||$()},y=()=>{h.element&&(h.element.remove(),h.element=null),h.label&&(h.label.remove(),h.label=null),h.target=null},M=e=>{const t=document.createElement("visbug-hover"),r=e.getBoundingClientRect();return t.position={el:e,boundingRect:r,isFixed:q(e),uiContainer:o},o.appendChild(t),t},k=e=>`${e.nodeName.toLowerCase()}${N(e)}`,S=(e,t,r)=>{const a=document.createElement("visbug-label"),s=e.getBoundingClientRect();return a.text=t,a.position={boundingRect:s,isFixed:q(e),uiContainer:o},r&&a.setAttribute("data-label-id",r),o.appendChild(a),a},C=(e,t)=>{const r=document.createElement("visbug-handles");return e.getBoundingClientRect(),r.position={el:e,node_label_id:t,isFixed:q(e),uiContainer:o},r.setAttribute("data-label-id",t),r.historyManager=a,o.appendChild(r),r},E=(e,t)=>{t.text=k(e),t.update={boundingRect:e.getBoundingClientRect(),isFixed:q(e),uiContainer:o}},_=(e,t)=>{t.position={el:e,node_label_id:e.getAttribute("data-label-id"),isFixed:q(e),uiContainer:o}},A=(e,{label:t,handle:r})=>new MutationObserver(a=>{t&&document.body.contains(t)&&E(e,t),r&&document.body.contains(r)&&_(e,r)}),$=()=>{const t=s;n.forEach(e=>e(t)),e.onSelectionChange&&e.onSelectionChange(t)},P=()=>{const e=document.body;document.addEventListener("keydown",t=>{t[T+"Key"]&&!e.hasAttribute("data-"+T)&&e.setAttribute("data-"+T,!0)}),document.addEventListener("keyup",t=>{!t[T+"Key"]&&e.hasAttribute("data-"+T)&&e.removeAttribute("data-"+T)})},L=e=>e.preventDefault(),z=e=>{e.preventDefault(),v(),y()},B=e=>{if(e.preventDefault(),!a||!s.length)return;const t=[];s.forEach(e=>{const r=e.cloneNode(!0);r.removeAttribute("data-selected"),r.removeAttribute("data-label-id"),e.parentNode.insertBefore(r,e.nextSibling),t.push(new u({element:r,oldParent:null,oldNextSibling:null,newParent:e.parentNode,newNextSibling:e.nextSibling}))}),t.length&&a.push(t)},R=e=>{if(e.preventDefault(),!a||!s.length)return;const t=s.map(e=>{const t=e.parentNode,r=e.nextSibling;return new u({element:e,oldParent:t,oldNextSibling:r,newParent:null,newNextSibling:null})});s.forEach(e=>e.remove()),v(),t.length&&a.push(t)},O=e=>{if(e.preventDefault(),!a||!s.length)return;const t=s.map(e=>{const t=e.getAttribute("style")||"";return new p({element:e,attribute:"style",oldValue:t,newValue:""})});s.forEach(e=>e.removeAttribute("style")),t.length&&a.push(t)},j=e=>{if(!s.length)return;e.preventDefault(),e.stopPropagation();const t=s[0];let r;"Tab"!==e.key||e.shiftKey?"Tab"===e.key&&e.shiftKey?r=t.previousElementSibling:"Enter"!==e.key||e.shiftKey?"Enter"===e.key&&e.shiftKey&&(r=t.parentElement):r=t.firstElementChild:r=t.nextElementSibling,r&&!V(r)&&(v({silent:!0}),w(r))};let D=null;const F=e=>{s.length&&(e.preventDefault(),D=s[0].cloneNode(!0),e.clipboardData.setData("text/html",s[0].outerHTML),e.clipboardData.setData("text/plain",s[0].textContent))},H=e=>{s.length&&(F(e),R(e))},Y=e=>{if(!s.length||!D)return;e.preventDefault();const t=s[0],r=D.cloneNode(!0);t.parentNode.insertBefore(r,t.nextSibling),a&&a.push(new u({element:r,oldParent:null,oldNextSibling:null,newParent:t.parentNode,newNextSibling:t.nextSibling}))};return g(),{listen:g,disconnect:()=>{r.removeEventListener("click",m,!0),r.removeEventListener("dblclick",f,!0),r.removeEventListener("selectstart",L),r.removeEventListener("mousemove",x),document.removeEventListener("copy",F),document.removeEventListener("cut",H),document.removeEventListener("paste",Y),yo.unbind(`esc,${T}+d,backspace,del,delete,alt+del,alt+backspace,tab,shift+tab,enter,shift+enter`)},unselect_all:v,select:w,unselect:b,onSelectedUpdate:e=>{if("function"==typeof e)return n.push(e),()=>{n=n.filter(t=>t!==e)}},selection:()=>s,labels:()=>i,handles:()=>l}}(this),this.selectorEngine.onSelectedUpdate(e=>{this.onSelectionChange&&this.onSelectionChange(e),this.activeFeature?.onNodesSelected&&this.activeFeature.onNodesSelected(e)}),e=this.historyManager,qo.historyManager=e,Ho=t([...document.images,...t("picture"),...ds()]),Ko(Ho),Yo(Ho),this.initialTool&&this.activateTool(this.initialTool),this.isInitialized=!0,console.log("VisBugEditor initialized successfully")}catch(e){throw console.error("Failed to initialize VisBugEditor:",e),e}var e}getEditingContext(){return this.container}getUIContainer(){return this.uiContainer}activateTool(e){switch(this.activeFeature?.disconnect&&(this.activeFeature.disconnect(),this.activeFeature=null),e){case"position":this.activeFeature=Co(this.historyManager);const r=this.getSelectedElements();r.length>0&&this.activeFeature.onNodesSelected(r);break;case"text":this.activeFeature={onNodesSelected:e=>{e.length>0&&function(e,r){e.length&&(Lo.historyManager=r,e.map(e=>{let a=t(e);r&&Lo.originalText.set(e,e.textContent),a.attr({contenteditable:!0,spellcheck:!0}),e.focus(),F(e,!0),a.on("keydown",No),a.on("blur",zo)}))}(e,this.historyManager)},disconnect:()=>{}};break;case"font":this.activeFeature=Io({selection:()=>this.getSelectedElements(),historyManager:this.historyManager});break;default:return void console.warn(`Unknown tool: ${e}`)}this.currentTool=e,this.onToolChange&&this.onToolChange(e),console.log(`Activated tool: ${e}`)}getCurrentTool(){return this.currentTool}selectElement(e){this.selectorEngine&&this.selectorEngine.select(e)}selectElements(e){this.selectorEngine&&(this.selectorEngine.unselect_all({silent:!0}),e.forEach(e=>this.selectorEngine.select(e)))}getSelectedElements(){return this.selectorEngine?this.selectorEngine.selection():[]}clearSelection(){this.selectorEngine&&this.selectorEngine.unselect_all()}undo(){return this.historyManager.undo()}redo(){return this.historyManager.redo()}canUndo(){return this.historyManager.canUndo()}canRedo(){return this.historyManager.canRedo()}getHistory(){return this.historyManager.getHistory()}clearHistory(){this.historyManager.clear()}ignoreList(e){if(!Array.isArray(e))throw new Error("ignoreList expects an array of CSS selector strings");return this.ignoreSelectors=e,this}getIgnoreList(){return[...this.ignoreSelectors]}getContent(){const e=this.getEditingContext().cloneNode(!0);e.querySelectorAll("visbug-handles, visbug-label, visbug-hover, visbug-overlay, [data-visbug-ignore]").forEach(e=>e.remove());return e.querySelectorAll("[data-selected], [data-label-id], [data-visbug]").forEach(e=>{e.removeAttribute("data-selected"),e.removeAttribute("data-label-id"),e.removeAttribute("data-visbug")}),e.innerHTML}setContent(e){const t=this.getEditingContext();this.clearSelection(),this.removeEditorUI(),t.innerHTML=e,!1!==this.options.clearHistoryOnSetContent&&this.historyManager.clear()}removeEditorUI(){this.getUIContainer().querySelectorAll("visbug-handles, visbug-label, visbug-hover, visbug-overlay, [data-visbug-ignore]").forEach(e=>e.remove())}on(e,t){console.log(`Event listener added: ${e}`)}off(e,t){console.log(`Event listener removed: ${e}`)}destroy(){this.activeFeature?.disconnect&&this.activeFeature.disconnect(),this.selectorEngine?.disconnect&&this.selectorEngine.disconnect(),this.removeEditorUI(),this.historyManager.clear(),this.isInitialized=!1,this.currentTool=null,this.activeFeature=null,this.selectorEngine=null,console.log("VisBugEditor destroyed")}}const ws="0.3.0";export{f as HistoryManager,ws as VERSION,xs as VisBugEditor,Ya as utilities};
|