visbug-editor 0.1.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/LICENSE +169 -0
- package/README.md +490 -0
- package/dist/visbug-editor.cjs.js +1 -0
- package/dist/visbug-editor.esm.js +1 -0
- package/dist/visbug-editor.umd.js +1 -0
- package/package.json +70 -0
- package/types/index.d.ts +457 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("blingblingjs"),require("hotkeys-js")):"function"==typeof define&&define.amd?define(["exports","blingblingjs","hotkeys-js"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).VisBugEditor={},e.blingblingjs,e.hotkeys)}(this,function(e,t,r){"use strict";const a=e=>{const t=new CSSStyleSheet;return t.replaceSync(e),t},o=a(':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}'),s=a(':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=a(":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)}"),i=a(':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}'),l=a(":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%}}"),h=a(':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 d{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 p extends d{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 p&&e.element===this.element&&e.property===this.property&&e.timestamp-this.timestamp<1e3}merge(e){return new p({element:this.element,property:this.property,oldValue:this.oldValue,newValue:e.newValue})}}class u extends d{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 g extends d{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 m extends d{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 x extends d{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 x(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 x(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 w extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[s]}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),d=parseFloat(l.height),u=new DOMMatrix(l.transform),g=a.historyManager,m={width:s.style.width,height:s.style.height,transform:s.style.transform},f=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=d-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=d-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=d-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=d+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=d+l;requestAnimationFrame(()=>{s.style.height=`${e}px`});break}case"bottom-end":{const e=h+o,t=d+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=f,g){const e=[];m.width!==s.style.width&&e.push(new p({element:s,property:"width",oldValue:m.width,newValue:s.style.width})),m.height!==s.style.height&&e.push(new p({element:s,property:"height",oldValue:m.height,newValue:s.style.height})),m.transform!==s.style.transform&&e.push(new p({element:s,property:"transform",oldValue:m.transform,newValue:s.style.transform})),e.length>1?g.push(new x(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",w);const b=navigator.userAgent.search("Firefox")>0,v=navigator.userAgent.search("Safari")>0,y=navigator.userAgent.search("Chrome")>0,M=v&&!y,S=(()=>{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"};b&&(k.backgroundSize="auto",k.borderWidth="",k.borderRadius="",k.padding="",k.margin="",k.gap="",k.gridArea="",k.borderColor=""),M&&(k.gap="normal normal");const C=["role","tabindex","aria-*","for","alt","title","type"],E=[{fontSize:"24px",fontWeight:"0"},{fontSize:"18.5px",fontWeight:"700"}],_=(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 P=()=>{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},z=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,N=new Map,B=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 `,"")},R=(e,t=!1)=>{if(!e.className)return"";const r=Array.from(e.classList).reduce((e,t)=>e+"."+L(t),"");return t&&r.length>30?r.substring(0,30)+"...":r},L=e=>Array.from(e).map(e=>/[0-9a-zA-Z_\s-]/.test(e)?e:`\\${e}`).join(""),T=window.navigator.platform.includes("Mac")?"cmd":"ctrl",I=window.navigator.platform.includes("Mac")?"opt":"alt",D=(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},F=e=>{let t=e.split("+").pop().replace(/^\w/,e=>e.toUpperCase());return"Up"==t&&(t="Top"),"Down"==t&&(t="Bottom"),t};let V={};const O=(e,t=750)=>(e.setAttribute("data-selected-hide",!0),j(e,!0),V[B(e)]&&clearTimeout(V[B(e)]),V[B(e)]=setTimeout(t=>{e.removeAttribute("data-selected-hide"),j(e,!1)},t),e),j=(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)},H=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")),W=e=>{try{t=e,document.createDocumentFragment().querySelector(t)}catch(e){return!1}var t;return!0},q=(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 Y=e=>{do{if("fixed"==window.getComputedStyle(e).position)return!0}while(e=e.offsetParent);return!1};function G(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 U(e){return"string"===X(e)}function X(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||"").toLowerCase()}function Z(e,{precision:t,unit:r}){return J(e)?"none":Q(e,t)+(r??"")}function J(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function K(e){return J(e)?0:e}function Q(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 ee={deg:1,grad:.9,rad:180/Math.PI,turn:360};function te(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*ee[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 re(e){return e[e.length-1]}function ae(e,t,r){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*r}function oe(e,t,r){return(r-e)/(t-e)}function se(e,t,r){return ae(t[0],t[1],oe(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 ie(e,t,r){return Math.max(Math.min(r,t),e)}function le(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function he(e,t){return le(Math.abs(e)**t,e)}function ce(e,t){return 0===t?0:e/t}function de(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 pe=Object.freeze({__proto__:null,bisectLeft:de,clamp:ie,copySign:le,interpolate:ae,interpolateInv:oe,isNone:J,isString:U,last:re,mapRange:se,multiplyMatrices:G,parseCoordGrammar:ne,parseFunction:te,serializeNumber:Z,skipNone:K,spow:he,toPrecision:Q,type:X,zdiv:ce});const ue=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 ge={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 me={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function xe(e){return Array.isArray(e)?e:me[e]}function fe(e,t,r,a={}){if(e=xe(e),t=xe(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(ue.run("chromatic-adaptation-start",o),o.M||(o.W1===me.D65&&o.W2===me.D50?o.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:o.W1===me.D50&&o.W2===me.D65&&(o.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),ue.run("chromatic-adaptation-end",o),o.M)return G(o.M,o.XYZ);throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.")}const we=new Set(["<number>","<percentage>","<angle>"]);function be(e,t,r,a){let o=Object.entries(e.coords).map(([e,o],s)=>{let n,i=t.coordGrammar[s],l=a[s],h=l?.type;if(n=l.none?i.find(e=>we.has(e)):i.find(e=>e==h),!n){let t=o.name||e;throw new TypeError(`${h??l.raw} not allowed for ${t} in ${r}()`)}let c=n.range;"<percentage>"===h&&(c||=[0,1]);let d=o.range||o.refRange;return c&&d&&(a[s]=se(c,d,a[s])),n});return o}function ve(e,{meta:t}={}){let r={str:String(e)?.trim()};if(ue.run("parse-start",r),r.color)return r.color;if(r.parsed=te(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 Me.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=be(a,n,"color",o)),t&&Object.assign(t,{formatId:"color",types:i}),n.id.startsWith("--")&&!e.startsWith("--")&&ge.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("--")&&ge.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 Me.registry?e:a;if(i in Me.registry){let e=Me.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 Me.all){let o=a.getFormat(e);if(o&&"function"===o.type){let s=1;(o.lastAlpha||re(r.parsed.args).alpha)&&(s=r.parsed.args.pop());let n,i=r.parsed.args;return o.coordGrammar&&(n=be(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 Me.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 ye(e){if(Array.isArray(e))return e.map(ye);if(!e)throw new TypeError("Empty color reference");U(e)&&(e=ve(e));let t=e.space||e.spaceId;return t instanceof Me||(e.space=Me.get(t)),void 0===e.alpha&&(e.alpha=1),e}class Me{constructor(e){this.id=e.id,this.name=e.name,this.base=e.base?Me.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=xe(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:Me.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:Se(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),ue.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=ye(e);[e,t]=[r.space,r.coords]}if(e=Me.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=ye(e);[e,t]=[r.space,r.coords]}return(e=Me.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(Me.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 Me)return e;if("string"===X(e)){let t=Me.registry[e.toLowerCase()];if(!t)throw new TypeError(`No color space found with id = "${e}"`);return t}if(t.length)return Me.get(...t);throw new TypeError(`${e} is not a valid color space`)}static resolveCoord(e,t){let r,a,o=X(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=Me.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=X(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=Me.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 Se(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],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=se(o,s,e)),e=Z(e,{precision:t,unit:n})})}return e}var Ce=new Me({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 Ee extends Me{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=G(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),G(e.fromXYZ_M,t))),e.referred??="display",super(e)}}function _e(e,t){return e=ye(e),!t||e.space.equals(t)?e.coords.slice():(t=Me.get(t)).from(e)}function $e(e,t){e=ye(e);let{space:r,index:a}=Me.resolveCoord(t,e.space);return _e(e,r)[a]}function Ae(e,t,r){return e=ye(e),t=Me.get(t),e.coords=t.to(e.space,r),e}function Pe(e,t,r){if(e=ye(e),2===arguments.length&&"object"===X(arguments[1])){let t=arguments[1];for(let r in t)Pe(e,r,t[r])}else{"function"==typeof r&&(r=r($e(e,t)));let{space:a,index:o}=Me.resolveCoord(t,e.space),s=_e(e,a);s[o]=r,Ae(e,a,s)}return e}Ae.returns="color",Pe.returns="color";var ze=new Me({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 Ne=216/24389,Be=24/116,Re=24389/27;let Le=me.D50;var Te=new Me({id:"lab",name:"Lab",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Le,base:ze,fromBase(e){let t=e.map((e,t)=>e/Le[t]).map(e=>e>Ne?Math.cbrt(e):(Re*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]>Be?Math.pow(t[0],3):(116*t[0]-16)/Re,e[0]>8?Math.pow((e[0]+16)/116,3):e[0]/Re,t[2]>Be?Math.pow(t[2],3):(116*t[2]-16)/Re].map((e,t)=>e*Le[t])},formats:{lab:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Ie(e){return(e%360+360)%360}var De=new Me({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),Ie(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 Fe=25**7,Ve=Math.PI,Oe=180/Ve,je=Ve/180;function He(e){const t=e*e;return t*t*t*e}function We(e,t,{kL:r=1,kC:a=1,kH:o=1}={}){[e,t]=ye([e,t]);let[s,n,i]=Te.from(e),l=De.from(Te,[s,n,i])[1],[h,c,d]=Te.from(t),p=De.from(Te,[h,c,d])[1];l<0&&(l=0),p<0&&(p=0);let u=He((l+p)/2),g=.5*(1-Math.sqrt(u/(u+Fe))),m=(1+g)*n,x=(1+g)*c,f=Math.sqrt(m**2+i**2),w=Math.sqrt(x**2+d**2),b=0===m&&0===i?0:Math.atan2(i,m),v=0===x&&0===d?0:Math.atan2(d,x);b<0&&(b+=2*Ve),v<0&&(v+=2*Ve),b*=Oe,v*=Oe;let y,M=h-s,S=w-f,k=v-b,C=b+v,E=Math.abs(k);f*w===0?y=0:E<=180?y=k:k>180?y=k-360:k<-180?y=k+360:ge.warn("the unthinkable has happened");let _,$=2*Math.sqrt(w*f)*Math.sin(y*je/2),A=(s+h)/2,P=(f+w)/2,z=He(P);_=f*w===0?C:E<=180?C/2:C<360?(C+360)/2:(C-360)/2;let N=(A-50)**2,B=1+.015*N/Math.sqrt(20+N),R=1+.045*P,L=1;L-=.17*Math.cos((_-30)*je),L+=.24*Math.cos(2*_*je),L+=.32*Math.cos((3*_+6)*je),L-=.2*Math.cos((4*_-63)*je);let T=1+.015*P*L,I=30*Math.exp(-1*((_-275)/25)**2),D=2*Math.sqrt(z/(z+Fe)),F=(M/(r*B))**2;return F+=(S/(a*R))**2,F+=($/(o*T))**2,F+=-1*Math.sin(2*I*je)*D*(S/(a*R))*($/(o*T)),Math.sqrt(F)}const qe=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],Ye=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],Ge=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],Ue=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]];var Xe=new Me({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=G(qe,e).map(e=>Math.cbrt(e));return G(Ge,t)},toBase(e){let t=G(Ue,e).map(e=>e**3);return G(Ye,t)},formats:{oklab:{coords:["<percentage> | <number>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});function Ze(e,t){[e,t]=ye([e,t]);let[r,a,o]=Xe.from(e),[s,n,i]=Xe.from(t),l=r-s,h=a-n,c=o-i;return Math.sqrt(l**2+h**2+c**2)}function Je(e,t,{epsilon:r=75e-6}={}){e=ye(e),t||(t=e.space),t=Me.get(t);let a=e.coords;return t!==e.space&&(a=t.from(e)),t.inGamut(a,{epsilon:r})}function Ke(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function Qe(e,t,r="lab"){let a=(r=Me.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 et=Math.PI/180;var tt=new Me({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 rt=1.15,at=.66,ot=2610/16384,st=16384/2610,nt=.8359375,it=2413/128,lt=18.6875,ht=1.7*2523/32,ct=32/(1.7*2523),dt=-.56,pt=16295499532821565e-27,ut=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],gt=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],mt=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],xt=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]];var ft=new Me({id:"jzazbz",name:"Jzazbz",coords:{jz:{refRange:[0,1],name:"Jz"},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:tt,fromBase(e){let[t,r,a]=e,o=G(ut,[rt*t-(rt-1)*a,at*r-(at-1)*t,a]).map(function(e){return((nt+it*(e/1e4)**ot)/(1+lt*(e/1e4)**ot))**ht}),[s,n,i]=G(mt,o);return[(1+dt)*s/(1+dt*s)-pt,n,i]},toBase(e){let[t,r,a]=e,o=G(xt,[(t+pt)/(1+dt-dt*(t+pt)),r,a]).map(function(e){return 1e4*((nt-e**ct)/(lt*e**ct-it))**st}),[s,n,i]=G(gt,o),l=(s+(rt-1)*i)/rt;return[l,(n+(at-1)*l)/at,i]},formats:{color:{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}}),wt=new Me({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),Ie(t)]},toBase:e=>[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]});const bt=.8359375,vt=2413/128,yt=18.6875,Mt=2610/16384,St=2523/32,kt=16384/2610,Ct=32/2523,Et=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],_t=[[.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 Pt=new Me({id:"ictcp",name:"ICTCP",coords:{i:{refRange:[0,1],name:"I"},ct:{refRange:[-.5,.5],name:"CT"},cp:{refRange:[-.5,.5],name:"CP"}},base:tt,fromBase:e=>function(e){let t=e.map(function(e){return((bt+vt*(e/1e4)**Mt)/(1+yt*(e/1e4)**Mt))**St});return G(_t,t)}(G(Et,e)),toBase(e){let t=function(e){let t=G($t,e),r=t.map(function(e){return 1e4*(Math.max(e**Ct-bt,0)/(vt-yt*e**Ct))**kt});return r}(e);return G(At,t)}});const zt=me.D65,Nt=1/.42,Bt=2*Math.PI,Rt=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],Lt=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],Tt=[[460,451,288],[460,-891,-261],[460,-220,-6300]],It={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},Dt={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},Ft=180/Math.PI,Vt=Math.PI/180;function Ot(e,t){const r=e.map(e=>{const r=he(t*Math.abs(e)*.01,.42);return 400*le(r,e)/(r+27.13)});return r}function jt(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=G(Rt,n),h=(a=It[s.surround])[0];s.c=a[1],s.nc=a[2];const c=(1/(5*s.la+1))**4;s.fl=c*s.la+.1*(1-c)*(1-c)*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(h*(1-1/3.6*Math.exp((-s.la-42)/92)),1),0);s.dRgb=l.map(e=>ae(1,i/e,d)),s.dRgbInv=s.dRgb.map(e=>1/e);const p=l.map((e,t)=>e*s.dRgb[t]),u=Ot(p,s.fl);return s.aW=s.nbb*(2*u[0]+u[1]+.05*u[2]),s}const Ht=jt(zt,64/Math.PI*.2,20,"average",!1);function Wt(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?Ie(e.h)*Vt:function(e){let t=(e%400+400)%400;const r=Math.floor(.01*t);t%=100;const[a,o]=Dt.h.slice(r,r+2),[s,n]=Dt.e.slice(r,r+2);return Ie((t*(n*a-s*o)-100*a*n)/(t*(n-s)-100*n))}(e.H)*Vt;const a=Math.cos(r),o=Math.sin(r);let s=0;void 0!==e.J?s=.1*he(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=he(n*Math.pow(1.64-Math.pow(.29,t.n),-.73),10/9),l=.25*(Math.cos(r+2)+3.8),h=t.aW*he(s,2/t.c/t.z),c=5e4/13*t.nc*t.ncb*l,d=h/t.nbb,p=23*(d+.305)*ce(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 le(r*he(t/(400-t),Nt),e)})}(G(Tt,[d,p*a,p*o]).map(e=>1*e/1403),t.fl);return G(Lt,u.map((e,r)=>e*t.dRgbInv[r])).map(e=>e/100)}function qt(e,t){const r=e.map(e=>100*e),a=Ot(G(Rt,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)%Bt+Bt)%Bt,i=.25*(Math.cos(n+2)+3.8),l=he(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),h=he(t.nbb*(2*a[0]+a[1]+.05*a[2])/t.aW,.5*t.c*t.z),c=100*he(h,2),d=4/t.c*h*(t.aW+4)*t.flRoot,p=l*h,u=p*t.flRoot,g=Ie(n*Ft),m=function(e){let t=Ie(e);t<=Dt.h[0]&&(t+=360);const r=de(Dt.h,t)-1,[a,o]=Dt.h.slice(r,r+2),[s,n]=Dt.e.slice(r,r+2),i=(t-a)/s;return Dt.H[r]+100*i/(i+(o-t)/n)}(g);return{J:c,C:p,h:g,s:50*he(t.c*l/(t.aW+4),.5),Q:d,M:u,H:m}}var Yt=new Me({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=qt(e,Ht);return[t.J,t.M,t.h]},toBase:e=>Wt({J:e[0],M:e[1],h:e[2]},Ht)});const Gt=me.D65,Ut=216/24389,Xt=24389/27;function Zt(e){return e>8?Math.pow((e+16)/116,3):e/Xt}function Jt(e,t){const r=116*((a=e[1])>Ut?Math.cbrt(a):(Xt*a+16)/116)-16;var a;if(0===r)return[0,0,0];const o=qt(e,Kt);return[Ie(o.h),o.C,r]}const Kt=jt(Gt,200/Math.PI*Zt(50),100*Zt(50),"average",!1);var Qt=new Me({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=>Jt(e),toBase:e=>function(e,t){let[r,a,o]=e,s=[],n=0;if(0===o)return[0,0,0];let i=Zt(o);n=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;){s=Wt({J:n,C:a,h:r},t);const e=Math.abs(s[1]-i);if(e<h){if(e<=2e-12)return s;h=e}n-=(s[1]-i)*n/(2*s[1]),l+=1}return Wt({J:n,C:a,h:r},t)}(e,Kt),formats:{color:{id:"--hct",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});const er=Math.PI/180,tr=[1,.007,.0228];function rr(e){e[1]<0&&(e=Qt.fromBase(Qt.toBase(e)));const t=Math.log(Math.max(1+tr[2]*e[1]*Kt.flRoot,1))/tr[2],r=e[0]*er,a=t*Math.cos(r),o=t*Math.sin(r);return[e[2],a,o]}var ar={deltaE76:function(e,t){return Qe(e,t,"lab")},deltaECMC:function(e,t,{l:r=2,c:a=1}={}){[e,t]=ye([e,t]);let[o,s,n]=Te.from(e),[,i,l]=De.from(Te,[o,s,n]),[h,c,d]=Te.from(t),p=De.from(Te,[h,c,d])[1];i<0&&(i=0),p<0&&(p=0);let u=o-h,g=i-p,m=(s-c)**2+(n-d)**2-g**2,x=.511;o>=16&&(x=.040975*o/(1+.01765*o));let f,w=.0638*i/(1+.0131*i)+.638;Number.isNaN(l)&&(l=0),f=l>=164&&l<=345?.56+Math.abs(.2*Math.cos((l+168)*et)):.36+Math.abs(.4*Math.cos((l+35)*et));let b=Math.pow(i,4),v=Math.sqrt(b/(b+1900)),y=(u/(r*x))**2;return y+=(g/(a*w))**2,y+=m/(w*(v*f+1-v))**2,Math.sqrt(y)},deltaE2000:We,deltaEJz:function(e,t){[e,t]=ye([e,t]);let[r,a,o]=wt.from(e),[s,n,i]=wt.from(t),l=r-s,h=a-n;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*n)*Math.sin(c/2*(Math.PI/180));return Math.sqrt(l**2+h**2+d**2)},deltaEITP:function(e,t){[e,t]=ye([e,t]);let[r,a,o]=Pt.from(e),[s,n,i]=Pt.from(t);return 720*Math.sqrt((r-s)**2+.25*(a-n)**2+(o-i)**2)},deltaEOK:Ze,deltaEHCT:function(e,t){[e,t]=ye([e,t]);let[r,a,o]=rr(Qt.from(e)),[s,n,i]=rr(Qt.from(t));return Math.sqrt((r-s)**2+(a-n)**2+(o-i)**2)}};const or={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 sr(e,{method:t=ge.gamut_mapping,space:r,deltaEMethod:a="",jnd:o=2,blackWhiteClamp:s={}}={}){if(e=ye(e),U(arguments[1])?r=arguments[1]:r||(r=e.space),Je(e,r=Me.get(r),{epsilon:0}))return e;let n;if("css"===t)n=function(e,{space:t}={}){const r=.02,a=1e-4;e=ye(e),t||(t=e.space);t=Me.get(t);const o=Me.get("oklch");if(t.isUnbounded)return ir(e,t);const s=ir(e,o);let n=s.coords[0];if(n>=1){const r=ir(nr.WHITE,t);return r.alpha=e.alpha,ir(r,t)}if(n<=0){const r=ir(nr.BLACK,t);return r.alpha=e.alpha,ir(r,t)}if(Je(s,t,{epsilon:0}))return ir(s,t);function i(e){const r=ir(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 ie(r,e,o)}return e}),r}let l=0,h=s.coords[1],c=!0,d=Ke(s),p=i(d),u=Ze(p,d);if(u<r)return p;for(;h-l>a;){const e=(l+h)/2;if(d.coords[1]=e,c&&Je(d,t,{epsilon:0}))l=e;else if(p=i(d),u=Ze(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||Je(e,r))n=ir(e,r);else{Object.prototype.hasOwnProperty.call(or,t)&&({method:t,jnd:o,deltaEMethod:a,blackWhiteClamp:s}=or[t]);let i=We;if(""!==a)for(let e in ar)if("deltae"+a.toLowerCase()===e.toLowerCase()){i=ar[e];break}let l=sr(ir(e,r),{method:"clip",space:r});if(i(e,l)>o){if(3===Object.keys(s).length){let t=Me.resolveCoord(s.channel),r=$e(ir(e,t.space),t.id);if(J(r)&&(r=0),r>=s.max)return ir({space:"xyz-d65",coords:me.D65},e.space);if(r<=s.min)return ir({space:"xyz-d65",coords:[0,0,0]},e.space)}let a=Me.resolveCoord(t),l=a.space,h=a.id,c=ir(e,l);c.coords.forEach((e,t)=>{J(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=Ke(c);e=sr(e,{space:r,method:"clip"}),i(c,e)-o<p?u=$e(c,h):g=$e(c,h),Pe(c,h,(u+g)/2)}n=ir(c,r)}else n=l}if("clip"===t||!Je(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=ir(n,e.space)),e.coords=n.coords,e}sr.returns="color";const nr={WHITE:{space:Xe,coords:[1,0,0]},BLACK:{space:Xe,coords:[0,0,0]}};function ir(e,t,{inGamut:r}={}){e=ye(e);let a=(t=Me.get(t)).from(e),o={space:t,coords:a,alpha:e.alpha};return r&&(o=sr(o,!0===r?void 0:r)),o}function lr(e,{precision:t=ge.precision,format:r="default",inGamut:a=!0,...o}={}){let s,n=r;r=(e=ye(e)).space.getFormat(r)??e.space.getFormat("default")??Me.DEFAULT_FORMAT;let i=e.coords.slice();if(a||=r.toGamut,a&&!Je(e)&&(i=sr(Ke(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=>Z(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=Z(n,{precision:t}));let l=e.alpha>=1||r.noAlpha?"":`${r.commas?",":" /"} ${n}`;s=`${a}(${o.join(r.commas?", ":" ")}${l})`}return s}ir.returns="color";var hr=new Ee({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,dr=.018053968510807;var pr=new Ee({id:"rec2020",name:"REC.2020",base:hr,toBase:e=>e.map(function(e){return e<4.5*dr?e/4.5:Math.pow((e+cr-1)/cr,1/.45)}),fromBase:e=>e.map(function(e){return e>=dr?cr*Math.pow(e,.45)-(cr-1):4.5*e})});var ur=new Ee({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 gr=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]];var mr=new Ee({id:"srgb-linear",name:"Linear sRGB",white:"D65",toXYZ_M:[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],fromXYZ_M:gr}),xr={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]"),wr=Array(3).fill("<number>[0, 255]");var br=new Ee({id:"srgb",name:"sRGB",base:mr,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:wr,noAlpha:!0},color:{},rgba:{coords:fr,commas:!0,lastAlpha:!0},rgba_number:{name:"rgba",commas:!0,coords:wr},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=xr.black,t.alpha=0):t.coords=xr[e],t.coords)return t}}}}),vr=new Ee({id:"p3",cssId:"display-p3",name:"P3",base:ur,fromBase:br.fromBase,toBase:br.toBase});let yr;if(ge.display_space=br,"undefined"!=typeof CSS&&CSS.supports)for(let e of[Te,pr,vr]){let t=e.getMinCoords(),r=lr({space:e,coords:t,alpha:1});if(CSS.supports("color",r)){ge.display_space=e;break}}function Mr(e){return $e(e,[Ce,"y"])}function Sr(e,t){Pe(e,[Ce,"y"],t)}var kr=Object.freeze({__proto__:null,getLuminance:Mr,register:function(e){Object.defineProperty(e.prototype,"luminance",{get(){return Mr(this)},set(e){Sr(this,e)}})},setLuminance:Sr});function Cr(e){return e>=.022?e:e+(.022-e)**1.414}function Er(e){let t=e<0?-1:1,r=Math.abs(e);return t*Math.pow(r,2.4)}const _r=216/24389,$r=24/116,Ar=24389/27;let Pr=me.D65;var zr=new Me({id:"lab-d65",name:"Lab D65",coords:{l:{refRange:[0,100],name:"Lightness"},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:Pr,base:Ce,fromBase(e){let t=e.map((e,t)=>e/Pr[t]).map(e=>e>_r?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*Pr[t])},formats:{"lab-d65":{coords:["<number> | <percentage>","<number> | <percentage>[-1,1]","<number> | <percentage>[-1,1]"]}}});const Nr=.5*Math.pow(5,.5)+.5;var Br=Object.freeze({__proto__:null,contrastAPCA:function(e,t){let r,a,o,s,n,i;t=ye(t),e=ye(e),t=ir(t,"srgb"),[s,n,i]=t.coords;let l=.2126729*Er(s)+.7151522*Er(n)+.072175*Er(i);e=ir(e,"srgb"),[s,n,i]=e.coords;let h=.2126729*Er(s)+.7151522*Er(n)+.072175*Er(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=ye(e),t=ye(t);let r=$e(e,[zr,"l"]),a=$e(t,[zr,"l"]),o=Math.abs(Math.pow(r,Nr)-Math.pow(a,Nr)),s=Math.pow(o,1/Nr)*Math.SQRT2-40;return s<7.5?0:s},contrastLstar:function(e,t){e=ye(e),t=ye(t);let r=$e(e,[Te,"l"]),a=$e(t,[Te,"l"]);return Math.abs(r-a)},contrastMichelson:function(e,t){e=ye(e),t=ye(t);let r=Math.max(Mr(e),0),a=Math.max(Mr(t),0);a>r&&([r,a]=[a,r]);let o=r+a;return 0===o?0:(r-a)/o},contrastWCAG21:function(e,t){e=ye(e),t=ye(t);let r=Math.max(Mr(e),0),a=Math.max(Mr(t),0);return a>r&&([r,a]=[a,r]),(r+.05)/(a+.05)},contrastWeber:function(e,t){e=ye(e),t=ye(t);let r=Math.max(Mr(e),0),a=Math.max(Mr(t),0);return a>r&&([r,a]=[a,r]),0===a?5e4:(r-a)/a}});function Rr(e){let[t,r,a]=_e(e,Ce),o=t+15*r+3*a;return[4*t/o,9*r/o]}function Lr(e){let[t,r,a]=_e(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 Rr(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return Lr(this)}})},uv:Rr,xy:Lr});function Ir(e,t,r={}){U(r)&&(r={method:r});let{method:a=ge.deltaE,...o}=r;for(let r in ar)if("deltae"+a.toLowerCase()===r.toLowerCase())return ar[r](e,t,o);throw new TypeError(`Unknown deltaE method: ${a}`)}var Dr=Object.freeze({__proto__:null,darken:function(e,t=.25){return Pe(e,[Me.get("oklch","lch"),"l"],e=>e*(1-t))},lighten:function(e,t=.25){return Pe(e,[Me.get("oklch","lch"),"l"],e=>e*(1+t))}});function Fr(e,t,r=.5,a={}){return[e,t]=[ye(e),ye(t)],"object"===X(r)&&([r,a]=[.5,r]),Or(e,t,a)(r)}function Vr(e,t,r={}){let a;jr(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]=[ye(e),ye(t)],a=Or(e,t,l));let h=Ir(e,t),c=o>0?Math.max(n,Math.ceil(h/o)+1):n,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=Ir(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,Ir(n,r.color),Ir(n,o.color)),d.splice(t,0,{p:s,color:a(s)}),t++}}}return d=d.map(e=>e.color),d}function Or(e,t,r={}){if(jr(e)){let[r,a]=[e,t];return Or(...r.rangeArgs.colors,{...r.rangeArgs.options,...a})}let{space:a,outputSpace:o,progression:s,premultiplied:n}=r;e=ye(e),t=ye(t),e=Ke(e),t=Ke(t);let i={colors:[e,t],options:r};if(a=a?Me.get(a):Me.registry[ge.interpolationSpace]||e.space,o=o?Me.get(o):a,e=ir(e,a),t=ir(t,a),e=sr(e),t=sr(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(Ie),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]),Pe(e,s,n),Pe(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)=>ae(e,t.coords[a],r)),l=ae(e.alpha,t.alpha,r),h={space:a,coords:i,alpha:l};return n&&(h.coords=h.coords.map(e=>e/l)),o!==a&&(h=ir(h,o)),h},{rangeArgs:i})}function jr(e){return"function"===X(e)&&!!e.rangeArgs}ge.interpolationSpace="lab";var Hr=Object.freeze({__proto__:null,isRange:jr,mix:Fr,range:Or,register:function(e){e.defineFunction("mix",Fr,{returns:"color"}),e.defineFunction("range",Or,{returns:"function<color>"}),e.defineFunction("steps",Vr,{returns:"array<color>"})},steps:Vr}),Wr=new Me({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:br,fromBase:e=>{let t=Math.max(...e),r=Math.min(...e),[a,o,s]=e,[n,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:n=(o-s)/h+(o<s?6:0);break;case o:n=(s-a)/h+2;break;case s:n=(a-o)/h+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}}}),qr=new Me({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:Wr,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>"]}}}),Yr=new Me({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:qr,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 Gr=new Ee({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]]}),Ur=new Ee({id:"a98rgb",cssId:"a98-rgb",name:"Adobe® 98 RGB compatible",base:Gr,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 Xr=new Ee({id:"prophoto-linear",cssId:"--prophoto-rgb-linear",name:"Linear ProPhoto",white:"D50",base:ze,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 Zr=1/512;var Jr=new Ee({id:"prophoto",cssId:"prophoto-rgb",name:"ProPhoto",base:Xr,toBase:e=>e.map(e=>e<.03125?e/16:e**1.8),fromBase:e=>e.map(e=>e>=Zr?e**(1/1.8):16*e)}),Kr=new Me({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:Xe,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),Ie(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 Qr=me.D65;const ea=216/24389,ta=24389/27,[ra,aa]=Rr({space:Ce,coords:Qr});var oa=new Me({id:"luv",name:"Luv",coords:{l:{refRange:[0,100],name:"Lightness"},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:Qr,base:Ce,fromBase(e){let t=[K(e[0]),K(e[1]),K(e[2])],r=t[1],[a,o]=Rr({space:Ce,coords:t});if(!Number.isFinite(a)||!Number.isFinite(o))return[0,0,0];let s=r<=ea?ta*r:116*Math.cbrt(r)-16;return[s,13*s*(a-ra),13*s*(o-aa)]},toBase(e){let[t,r,a]=e;if(0===t||J(t))return[0,0,0];r=K(r),a=K(a);let o=r/(13*t)+ra,s=a/(13*t)+aa,n=t<=8?t/ta: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]"]}}}),sa=new Me({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:oa,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),Ie(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,ia=24389/27,la=gr[0][0],ha=gr[0][1],ca=gr[0][2],da=gr[1][0],pa=gr[1][1],ua=gr[1][2],ga=gr[2][0],ma=gr[2][1],xa=gr[2][2];function fa(e,t,r){const a=t/(Math.sin(r)-e*Math.cos(r));return a<0?1/0:a}function wa(e){const t=Math.pow(e+16,3)/1560896,r=t>na?t:e/ia,a=r*(284517*la-94839*ca),o=r*(838422*ca+769860*ha+731718*la),s=r*(632260*ca-126452*ha),n=r*(284517*da-94839*ua),i=r*(838422*ua+769860*pa+731718*da),l=r*(632260*ua-126452*pa),h=r*(284517*ga-94839*xa),c=r*(838422*xa+769860*ma+731718*ga),d=r*(632260*xa-126452*ma);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:h/d,b0i:c*e/d,b1s:h/(d+126452),b1i:(c-769860)*e/(d+126452)}}function ba(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 va=new Me({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:sa,gamutSpace:br,fromBase(e){let t,[r,a,o]=[K(e[0]),K(e[1]),K(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/ba(wa(r),o)*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[K(e[0]),K(e[1]),K(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=ba(wa(o),r)/100*a}return[o,t,r]},formats:{color:{id:"--hsluv",coords:["<number> | <angle>","<percentage> | <number>","<percentage> | <number>"]}}});function ya(e,t){return Math.abs(t)/Math.sqrt(Math.pow(e,2)+1)}function Ma(e){let t=ya(e.r0s,e.r0i),r=ya(e.r1s,e.r1i),a=ya(e.g0s,e.g0i),o=ya(e.g1s,e.g1i),s=ya(e.b0s,e.b0i),n=ya(e.b1s,e.b1i);return Math.min(t,r,a,o,s,n)}gr[0][0],gr[0][1],gr[0][2],gr[1][0],gr[1][1],gr[1][2],gr[2][0],gr[2][1],gr[2][2];var Sa=new Me({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:sa,gamutSpace:"self",fromBase(e){let t,[r,a,o]=[K(e[0]),K(e[1]),K(e[2])];if(r>99.9999999)t=0,r=100;else if(r<1e-8)t=0,r=0;else{t=a/Ma(wa(r))*100}return[o,t,r]},toBase(e){let t,[r,a,o]=[K(e[0]),K(e[1]),K(e[2])];if(o>99.9999999)o=100,t=0;else if(o<1e-8)o=0,t=0;else{t=Ma(wa(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,Ea=32/2523,_a=.8359375,$a=2413/128,Aa=18.6875;var Pa=new Ee({id:"rec2100pq",cssId:"rec2100-pq",name:"REC.2100-PQ",base:hr,toBase:e=>e.map(function(e){return 1e4*(Math.max(e**Ea-_a,0)/($a-Aa*e**Ea))**Ca/203}),fromBase:e=>e.map(function(e){let t=Math.max(203*e/1e4,0);return((_a+$a*t**ka)/(1+Aa*t**ka))**78.84375})});const za=.17883277,Na=.28466892,Ba=.55991073,Ra=3.7743;var La=new Ee({id:"rec2100hlg",cssId:"rec2100-hlg",name:"REC.2100-HLG",referred:"scene",base:hr,toBase:e=>e.map(function(e){return e<=.5?e**2/3*Ra:(Math.exp((e-Ba)/za)+Na)/12*Ra}),fromBase:e=>e.map(function(e){return(e/=Ra)<=1/12?Math.sqrt(3*e):za*Math.log(12*e-Na)+Ba})});const Ta={};function Ia({id:e,toCone_M:t,fromCone_M:r}){Ta[e]=arguments[0]}function Da(e,t,r="Bradford"){let a=Ta[r],[o,s,n]=G(a.toCone_M,e),[i,l,h]=G(a.toCone_M,t),c=G([[i/o,0,0],[0,l/s,0],[0,0,h/n]],a.toCone_M);return G(a.fromCone_M,c)}ue.add("chromatic-adaptation-start",e=>{e.options.method&&(e.M=Da(e.W1,e.W2,e.options.method))}),ue.add("chromatic-adaptation-end",e=>{e.M||(e.M=Da(e.W1,e.W2,e.options.method))}),Ia({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]]}),Ia({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]]}),Ia({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]]}),Ia({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(me,{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]}),me.ACES=[.32168/.33767,1,.34065/.33767];var Fa=new Ee({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:me.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 Va=2**-16,Oa=-.35828683,ja=(Math.log2(65504)+9.72)/17.52;var Ha=new Ee({id:"acescc",cssId:"--acescc",name:"ACEScc",coords:{r:{range:[Oa,ja],name:"Red"},g:{range:[Oa,ja],name:"Green"},b:{range:[Oa,ja],name:"Blue"}},referred:"scene",base:Fa,toBase:e=>e.map(function(e){return e<=-.3013698630136986?2*(2**(17.52*e-9.72)-Va):e<ja?2**(17.52*e-9.72):65504}),fromBase:e=>e.map(function(e){return e<=0?(Math.log2(Va)+9.72)/17.52:e<Va?(Math.log2(Va+.5*e)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})}),Wa=Object.freeze({__proto__:null,A98RGB:Ur,A98RGB_Linear:Gr,ACEScc:Ha,ACEScg:Fa,CAM16_JMh:Yt,HCT:Qt,HPLuv:Sa,HSL:Wr,HSLuv:va,HSV:qr,HWB:Yr,ICTCP:Pt,JzCzHz:wt,Jzazbz:ft,LCH:De,LCHuv:sa,Lab:Te,Lab_D65:zr,Luv:oa,OKLCH:Kr,OKLab:Xe,P3:vr,P3_Linear:ur,ProPhoto:Jr,ProPhoto_Linear:Xr,REC_2020:pr,REC_2020_Linear:hr,REC_2100_HLG:La,REC_2100_PQ:Pa,XYZ_ABS_D65:tt,XYZ_D50:ze,XYZ_D65:Ce,sRGB:br,sRGB_Linear:mr});class qa{constructor(...e){let t,r,a,o;1===e.length&&(t=ye(e[0])),t?(r=t.space||t.spaceId,a=t.coords,o=t.alpha):[r,a,o]=e,Object.defineProperty(this,"space",{value:Me.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 qa(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=ge.display_space,...r}={}){let a=lr(e,r);if("undefined"==typeof CSS||CSS.supports("color",a)||!ge.display_space)a=new String(a),a.color=e;else{let o=e;if((e.coords.some(J)||J(e.alpha))&&!(yr??=CSS.supports("color","hsl(none 50% 50%)"))&&(o=Ke(e),o.coords=o.coords.map(K),o.alpha=K(o.alpha),a=lr(o,r),CSS.supports("color",a)))return a=new String(a),a.color=o,a;o=ir(o,t),a=new String(lr(o,r)),a.color=o}return a}(this,...e);return t.color=new qa(t.color),t}static get(e,...t){return e instanceof qa?e:new qa(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=qa.get(r);else if("function<color>"===o){let e=r;r=function(...t){let r=e(...t);return qa.get(r)},Object.assign(r,e)}else"array<color>"===o&&(r=r.map(e=>qa.get(e)));return r};e in qa||(qa[e]=s),a&&(qa.prototype[e]=function(...e){return s(this,...e)})}static defineFunctions(e){for(let t in e)qa.defineFunction(t,e[t],e[t])}static extend(e){if(e.register)e.register(qa);else for(let t in e)qa.defineFunction(t,e[t])}}qa.defineFunctions({get:$e,getAll:_e,set:Pe,setAll:Ae,to:ir,equals:function(e,t){return e=ye(e),t=ye(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((e,r)=>e===t.coords[r])},inGamut:Je,toGamut:sr,distance:Qe,toString:lr}),Object.assign(qa,{util:pe,hooks:ue,WHITES:me,Space:Me,spaces:Me.registry,parse:ve,defaults:ge});for(let e of Object.keys(Wa))Me.register(Wa[e]);for(let e in Me.registry)Ya(e,Me.registry[e]);function Ya(e,t){let r=e.replace(/-/g,"_");Object.defineProperty(qa.prototype,r,{get(){let r=this.getAll(e);return"undefined"==typeof Proxy?r:new Proxy(r,{has:(e,r)=>{try{return Me.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}=Me.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}=Me.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})}ue.add("colorspace-init-end",e=>{Ya(e.id,e),e.aliases?.forEach(t=>{Ya(t,e)})}),qa.extend(ar),qa.extend({deltaE:Ir}),Object.assign(qa,{deltaEMethods:ar}),qa.extend(Dr),qa.extend({contrast:function(e,t,r={}){U(r)&&(r={algorithm:r});let{algorithm:a,...o}=r;if(!a){let e=Object.keys(Br).map(e=>e.replace(/^contrast/,"")).join(", ");throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${e}`)}e=ye(e),t=ye(t);for(let r in Br)if("contrast"+a.toLowerCase()===r.toLowerCase())return Br[r](e,t,o);throw new TypeError(`Unknown contrast algorithm: ${a}`)}}),qa.extend(Tr),qa.extend(kr),qa.extend(Hr),qa.extend(Br);var Ga=Object.freeze({__proto__:null,altKey:I,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:S,contrast_color:function(e){try{const t=new qa(e),r=t.contrastLstar("white");return r>t.contrastLstar("black")?"white":"black"}catch{}},createClassname:R,deepElementFromPoint:D,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:z,firstUsableFontFromFamily:e=>{if(N.has(e))return N.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 N.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,"background-color");if("rgba(0, 0, 0, 0)"===t){let r=z(e),a=!1;for(;!a;){let e=_(r,"background-color");"HTML"===r.nodeName&&(a=!0,t=P()),"rgba(0, 0, 0, 0)"!==e&&(a=!0,t=e),r=z(r)}}return t},getComputedCanvasBackgroundColor:P,getNodeIndex:e=>[...e.parentElement.parentElement.children].indexOf(e.parentElement),getShadowValues:e=>/([^\)]+\)) ([^\s]+) ([^\s]+) ([^\s]+) ([^\s]+)/.exec(e),getSide:F,getStyle:_,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 E.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:y,isFirefox:b,isFixed:Y,isOffBounds:H,isPolyfilledCE:e=>1===e.children.length&&"STYLE"===e.firstElementChild.nodeName,isSafari:M,isSafarish:v,isSelectorValid:W,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:B,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:q,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:j,showHideSelected:O,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 Ua extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.styles=[o],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:Y(r)})})}set position({el:e,node_label_id:t}){this.$shadow.innerHTML=this.render(e.getBoundingClientRect(),t,Y(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",Ua),window.addEventListener("scroll",function(){Ja(),document.querySelectorAll("visbug-label").forEach(e=>{e.detectOutsideViewport()})}),document.body.addEventListener("click",()=>{Ja()},!0);class Xa extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"}),this.dispatchQuery=this.dispatchQuery.bind(this)}connectedCallback(){this.$shadow.adoptedStyleSheets=[h],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 Za(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 Ja(){document.querySelectorAll("visbug-offscreen-label").forEach(e=>{e.seen={},e.count=0,e.text="",e.style.display="none"})}customElements.define("visbug-offscreen-label",Xa);class Ka 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=[i],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:Y(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,h=o.left-s<0,c=o.left-s>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="↖",Za(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="↗",Za(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="↙",Za(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="↘",Za(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="↓",Za(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="→",Za(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="←",Za(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="↑",Za(p,u.offscreenText,u.hoverText,"calc(50vw - 0.5rem)","1rem",u.color))}}customElements.define("visbug-label",Ka);customElements.define("visbug-hover",class extends Ua{constructor(){super(),this.styles=[o,n]}connectedCallback(){this.$shadow.adoptedStyleSheets=this.styles}disconnectedCallback(){}render({width:e,height:t,top:r,left:a},o,s){return this.style.setProperty("--top",`${r+(s?0:window.scrollY)}px`),this.style.setProperty("--left",`${a}px`),this.style.setProperty("--position",s?"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 Qa extends HTMLElement{constructor(){super(),this.$shadow=this.attachShadow({mode:"closed"})}connectedCallback(){this.$shadow.adoptedStyleSheets=[l]}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",Qa);const eo="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},alt+${t},shift+${t},shift+alt+${t}`,"").substring(1);function to(e){const t={elements:[]};r(eo,(r,a)=>{r.cancelBubble||(r.preventDefault(),function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>no(e)).map(e=>O(e)).map(e=>({el:e,...ro(e,t),amount:t.split("+").includes("shift")?10:1,negative:so(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");oo(e,t,o);const s=e.getAttribute("transform");r&&r.push(new u({element:e,attribute:"transform",oldValue:a,newValue:s}))}else{const t=e.style[a],s=o+"px";r&&r.push(new p({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",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===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?ao(t):[0,0];s.element.x=r,s.element.y=a,s.historyManager&&(s.initialTransform=t||null)}else s.element.x=parseInt(_(e,"left")),s.element.y=parseInt(_(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}},h=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?ao(t):[0,0];s.historyManager&&s.initialTransform!==t&&(s.historyManager.push(new u({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 p({element:e,property:"left",oldValue:s.initialPosition.left,newValue:t})),o&&s.historyManager.push(new p({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},c=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()),r.unbind(eo),r.unbind("up,down,left,right")}}}const ro=(e,t)=>{let r,a;if(e instanceof SVGElement){const o=e.attr("transform"),[s,n]=o?ao(o):[0,0];r="transform",a=t.includes("down")||t.includes("up")?n:s}else{const o=F(t).toLowerCase();r="top"===o||"bottom"===o?"top":"left",a=_(e,r),a="auto"===a?0:parseInt(a,10)}return{style:r,current:a}},ao=e=>e.substring(e.indexOf("(")+1,e.indexOf(")")).split(",").map(e=>parseFloat(e)),oo=(e,t,r)=>{const a=e.attr("transform"),[o,s]=a?ao(a):[0,0],n=t.includes("down")||t.includes("up")?`${o},${r}`:`${r},${s}`;e.attr("transform",`translate(${n})`)},so=(e,t)=>t.includes("right")||t.includes("down"),no=e=>(e instanceof HTMLElement&&(e.style.position="relative"),e),io={historyManager:null,originalText:new WeakMap},lo=({target:e})=>{if(io.historyManager&&io.originalText.has(e)){const t=io.originalText.get(e),r=e.textContent;t!==r&&io.historyManager.push(new m({element:e,oldText:t,newText:r})),io.originalText.delete(e)}e.removeAttribute("contenteditable"),e.removeAttribute("spellcheck"),e.removeEventListener("blur",lo),e.removeEventListener("keydown",ho)},ho=e=>{"Escape"!==e.key&&"Esc"!==e.key?e.stopPropagation():co()},co=(e,r)=>{t('[spellcheck="true"]').forEach(e=>lo({target:e})),window.getSelection().empty()};const po="up,down,left,right".split(",").reduce((e,t)=>`${e},${t},shift+${t}`,"").substring(1),uo=`${T}+up,${T}+down`;function go({selection:e,historyManager:t}){return r(po,(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=>O(e)).map(e=>({el:e,style:"letterSpacing",current:parseFloat(_(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 p({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=>O(e)).map(e=>({el:e,style:"textAlign",current:_(e,"textAlign"),direction:t.split("+").includes("left")})).map(e=>Object.assign(e,{value:e.direction?fo[e.current]-1:fo[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const s=o,n=wo[a<0?0:a>=2?2:a];r&&r.push(new p({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=>O(e)).map(e=>({el:e,style:"lineHeight",current:parseInt(_(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.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 p({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=>O(e)).map(e=>({el:e,style:"fontSize",current:parseInt(_(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 p({element:e,property:t,oldValue:s,newValue:n})),e.style[t]=n}),e.length>1&&r&&r.endBatch()}(o,a.key,t)}),r(uo,(r,a)=>{r.preventDefault();let o=a.key.split("+");!function(e,t,r){e.length>1&&r&&r.beginBatch();e.map(e=>O(e)).map(e=>({el:e,style:"fontWeight",current:_(e,"fontWeight"),direction:t.split("+").includes("down")})).map(e=>Object.assign(e,{value:e.direction?mo[e.current]-1:mo[e.current]+1})).forEach(({el:e,style:t,value:a,current:o})=>{const s=xo[a<0?0:a>=xo.length?xo.length:a],n=o,i=String(s);r&&r.push(new p({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)}),r("cmd+b",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontWeight;t&&t.push(new p({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()}),r("cmd+i",r=>{const a=e();a.length>1&&t&&t.beginBatch(),a.forEach(e=>{const r=e.style.fontStyle;t&&t.push(new p({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()}),()=>{r.unbind(po),r.unbind(uo),r.unbind("cmd+b,cmd+i"),r.unbind("up,down,left,right")}}const mo={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},xo=[100,200,300,400,500,600,700,800,900,1e3];const fo={start:0,left:0,center:1,right:2},wo=["left","center","right"];let bo,vo=[],yo=[];const Mo={watching:!0,historyManager:null,imageCache:new Map};const So=e=>{e.on("dragover",Po),e.on("dragleave",zo),e.on("drop",No),t(document.body).on("dragover",Po),t(document.body).on("dragleave",zo),t(document.body).on("drop",No),t(document.body).on("dragstart",$o),t(document.body).on("dragend",Ao)},ko=e=>{e.off("dragover",Po),e.off("dragleave",zo),e.off("drop",No),t(document.body).off("dragover",Po),t(document.body).off("dragleave",zo),t(document.body).off("drop",No),t(document.body).off("dragstart",$o),t(document.body).off("dragend",Ao),e=[]},Co=e=>new Promise((t,r)=>{let a=new FileReader;a.readAsDataURL(e),a.onloadend=()=>t(a.result)}),Eo=async e=>{if(Mo.imageCache.has(e)||e.startsWith("data:")||e.startsWith("blob:"))return Mo.imageCache.get(e)||e;try{const t=await fetch(e),r=await t.blob(),a=URL.createObjectURL(r);return Mo.imageCache.set(e,a),a}catch(t){return console.warn("Failed to cache image:",e,t),e}},_o=e=>Mo.imageCache.get(e)||e,$o=({target:e})=>bo=e,Ao=e=>bo=void 0,Po=async e=>{e.preventDefault(),e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");vo.some(t=>t===e.target)&&(r.length?(r.some(t=>t==e.target)&&!Go(e)&&r.forEach(e=>Ho(e)),r.forEach((e,t)=>Vo(e,t))):(Go(e)||Ho(e.target),Vo(e.currentTarget,0)))},zo=e=>{e.stopPropagation();const r=t("img[data-selected=true], [data-selected=true] > img");r.some(t=>t===e.target)?r.forEach(e=>qo(e)):qo(e.target),Oo()},No=async e=>{e.stopPropagation(),e.preventDefault();const r=await Bo(bo,e);if(r.length){const a=t("img[data-selected=true], [data-selected=true] > img"),o=Ro(a,e);if(o.length)Lo(o,r);else{const t=Io(vo,e);Do(t,r[0])}}Oo()},Bo=async(e,t)=>e?[e.currentSrc]:t.dataTransfer.files.length?await Promise.all([...t.dataTransfer.files].filter(e=>e.type.includes("image")).map(Co)):[],Ro=(e,t)=>e.length?e:"IMG"!==t.target.nodeName||e.length?[]:[t.target],Lo=async(e,t)=>{e.length>1&&Mo.historyManager&&Mo.historyManager.beginBatch();let r=0;for(const a of e)Yo(a),await To(a,t[r]),r=++r%t.length;e.length>1&&Mo.historyManager&&Mo.historyManager.endBatch()},To=async(e,t)=>{const r=e.getAttribute("src"),a=e.getAttribute("srcset")||"";!r||r.startsWith("data:")||r.startsWith("blob:")||Eo(r).catch(()=>{});let o=t;t.startsWith("data:")||t.startsWith("blob:")||(o=await Eo(t)),e.src=o,""!==e.srcset&&(e.srcset=o),Mo.historyManager&&(Mo.historyManager.push(new u({element:e,attribute:"src",oldValue:_o(r)||r,newValue:o})),""!==a&&Mo.historyManager.push(new u({element:e,attribute:"srcset",oldValue:_o(a)||a,newValue:o})));const s=Fo(e);s.length&&Mo.historyManager&&s.forEach(e=>{const t=e.getAttribute("srcset");e.srcset=o,Mo.historyManager.push(new u({element:e,attribute:"srcset",oldValue:_o(t)||t,newValue:o}))})},Io=(e,t)=>e.filter(e=>e.contains(t.target)),Do=(e,t)=>{e.length>1&&Mo.historyManager&&Mo.historyManager.beginBatch(),e.forEach(e=>{if(Yo(e),"none"!=window.getComputedStyle(e).backgroundImage){const r=e.style.backgroundImage,a=`url(${t})`;Mo.historyManager&&Mo.historyManager.push(new p({element:e,property:"backgroundImage",oldValue:r,newValue:a})),e.style.backgroundImage=a}}),e.length>1&&Mo.historyManager&&Mo.historyManager.endBatch()},Fo=e=>Array.from(e.parentElement.children).filter(e=>"SOURCE"===e.nodeName).filter(e=>!e.media||window.matchMedia(e.media).matches),Vo=(e,t)=>{const r=e.getBoundingClientRect(),a=yo[t];a?a.update=r:(yo[t]=document.createElement("visbug-overlay"),yo[t].position=r,document.body.appendChild(yo[t]))},Oo=()=>{yo.forEach(e=>e.remove()),yo=[]},jo=e=>{const r=/url\(\s*?['"]?\s*?(\S+?)\s*?["']?\s*?\)/i;return t("*").reduce((e,t)=>{const a=_(t,"background-image");return r.exec(a)&&e.push(t),e},[])},Ho=async e=>{if(!["lastSrc","lastSrcset","lastSiblings","lastBackgroundImage"].some(t=>e[t])){const t=bo.currentSrc;if("none"!==window.getComputedStyle(e).backgroundImage)e.lastBackgroundImage=window.getComputedStyle(e).backgroundImage,e.style.backgroundImage=`url(${t})`;else{Wo(e),e.src=t,""!==e.srcset&&(e.srcset=t);const r=Fo(e);r.length&&r.forEach(e=>{e.srcset=t})}}},Wo=e=>{e.lastSrc=e.src,e.lastSrcset=e.srcset;const t=Fo(e);t.length&&t.forEach(e=>{e.lastSrcset=e.srcset,e.lastSrc=e.src})},qo=e=>{e.lastSrc&&(e.src=e.lastSrc),e.lastSrcset&&(e.srcset=e.lastSrcset);const t=Fo(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),Yo(e)},Yo=e=>{["lastSrc","lastSrcset","lastBackgroundImage"].forEach(t=>e[t]=null);const t=Fo(e);t&&t.forEach(e=>{e.lastSrcset=null,e.lastSrc=null})},Go=e=>e.dataTransfer.types.some(e=>"Files"===e);e.HistoryManager=f,e.VERSION="0.1.0",e.VisBugEditor=class{constructor(e={}){if(!e.container)throw new Error("VisBugEditor requires a container element");this.container=e.container,this.mode=e.mode||"shadowDOM",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.shadowRoot=null,this.isInitialized=!1,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.setupContainer(),this.selectorEngine=function(e){const a=e.container,o=e.historyManager;let s=[],n=[],i=[],l=[],h=[];const c={target:null,element:null,label:null},d=()=>{a.addEventListener("click",p,!0),a.addEventListener("dblclick",m,!0),a.addEventListener("selectstart",P),a.addEventListener("mousemove",x),document.addEventListener("copy",V),document.addEventListener("cut",O),document.addEventListener("paste",j),A(),r("esc",z),r(`${T}+d`,N),r("backspace,del,delete",B),r("alt+del,alt+backspace",L),r("tab,shift+tab,enter,shift+enter",I)},p=e=>{const t=D(e.clientX,e.clientY);H(t)&&!s.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")):f(t))},m=t=>{t.preventDefault(),t.stopPropagation(),H(t.target)||e.onDoubleClick&&e.onDoubleClick(t.target)},x=e=>{const t=D(e.clientX,e.clientY);if(!H(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=S(t,M(t))));c.element&&v()},f=e=>{if(H(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),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=k(e,t),a=S(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 n=new MutationObserver(()=>{a&&document.body.contains(a)&&C(e,a),r&&document.body.contains(r)&&E(e,r)});return e.parentElement&&n.observe(e.parentElement,{childList:!0,subtree:!1}),h.push({element:e,observer:o,parentObserver:n,label:a,handle:r}),q(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),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()),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),$()},b=({silent:e=!1}={})=>{h.forEach(e=>{e.observer.disconnect(),e.parentObserver.disconnect()}),h=[],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||$()},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");return e.getBoundingClientRect(),t.position={el:e,isFixed:Y(e)},document.body.appendChild(t),t},M=e=>`${e.nodeName.toLowerCase()}${R(e)}`,S=(e,t,r)=>{const a=document.createElement("visbug-label"),o=e.getBoundingClientRect();return a.text=t,a.position={boundingRect:o,isFixed:Y(e)},r&&a.setAttribute("data-label-id",r),document.body.appendChild(a),a},k=(e,t)=>{const r=document.createElement("visbug-handles");return e.getBoundingClientRect(),r.position={el:e,node_label_id:t,isFixed:Y(e)},r.setAttribute("data-label-id",t),r.historyManager=o,document.body.appendChild(r),r},C=(e,t)=>{t.text=M(e),t.update={boundingRect:e.getBoundingClientRect(),isFixed:Y(e)}},E=(e,t)=>{t.position={el:e,node_label_id:e.getAttribute("data-label-id"),isFixed:Y(e)}},_=(e,{label:t,handle:r})=>new MutationObserver(a=>{t&&document.body.contains(t)&&C(e,t),r&&document.body.contains(r)&&E(e,r)}),$=()=>{const t=s;n.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(),z=e=>{e.preventDefault(),b(),v()},N=e=>{if(e.preventDefault(),!o||!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 g({element:r,oldParent:null,oldNextSibling:null,newParent:e.parentNode,newNextSibling:e.nextSibling}))}),t.length&&o.push(t)},B=e=>{if(e.preventDefault(),!o||!s.length)return;const t=s.map(e=>{const t=e.parentNode,r=e.nextSibling;return new g({element:e,oldParent:t,oldNextSibling:r,newParent:null,newNextSibling:null})});s.forEach(e=>e.remove()),b(),t.length&&o.push(t)},L=e=>{if(e.preventDefault(),!o||!s.length)return;const t=s.map(e=>{const t=e.getAttribute("style")||"";return new u({element:e,attribute:"style",oldValue:t,newValue:""})});s.forEach(e=>e.removeAttribute("style")),t.length&&o.push(t)},I=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&&!H(r)&&(b({silent:!0}),f(r))};let F=null;const V=e=>{s.length&&(e.preventDefault(),F=s[0].cloneNode(!0),e.clipboardData.setData("text/html",s[0].outerHTML),e.clipboardData.setData("text/plain",s[0].textContent))},O=e=>{s.length&&(V(e),B(e))},j=e=>{if(!s.length||!F)return;e.preventDefault();const t=s[0],r=F.cloneNode(!0);t.parentNode.insertBefore(r,t.nextSibling),o&&o.push(new g({element:r,oldParent:null,oldNextSibling:null,newParent:t.parentNode,newNextSibling:t.nextSibling}))};return d(),{listen:d,disconnect:()=>{a.removeEventListener("click",p,!0),a.removeEventListener("dblclick",m,!0),a.removeEventListener("selectstart",P),a.removeEventListener("mousemove",x),document.removeEventListener("copy",V),document.removeEventListener("cut",O),document.removeEventListener("paste",j),r.unbind(`esc,${T}+d,backspace,del,delete,alt+del,alt+backspace,tab,shift+tab,enter,shift+enter`)},unselect_all:b,select:f,unselect:w,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,Mo.historyManager=e,vo=t([...document.images,...t("picture"),...jo()]),ko(vo),So(vo),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}setupContainer(){if("shadowDOM"===this.mode){if(!this.container.attachShadow)return console.warn("Shadow DOM not supported, falling back to div mode"),void(this.mode="div");if(this.container.shadowRoot)this.shadowRoot=this.container.shadowRoot;else{this.shadowRoot=this.container.attachShadow({mode:"open"});Array.from(this.container.childNodes).forEach(e=>this.shadowRoot.appendChild(e))}}}getEditingContext(){return"shadowDOM"===this.mode?this.shadowRoot:this.container}activateTool(e){switch(this.activeFeature?.disconnect&&(this.activeFeature.disconnect(),this.activeFeature=null),e){case"position":this.activeFeature=to(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&&(io.historyManager=r,e.map(e=>{let a=t(e);r&&io.originalText.set(e,e.textContent),a.attr({contenteditable:!0,spellcheck:!0}),e.focus(),j(e,!0),a.on("keydown",ho),a.on("blur",lo)}))}(e,this.historyManager)},disconnect:()=>{}};break;case"font":this.activeFeature=go({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.getEditingContext().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")}},e.utilities=Ga});
|
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "visbug-editor",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Core editing features extracted from VisBug for use in web applications",
|
|
5
|
+
"main": "dist/visbug-editor.cjs.js",
|
|
6
|
+
"module": "dist/visbug-editor.esm.js",
|
|
7
|
+
"browser": "dist/visbug-editor.umd.js",
|
|
8
|
+
"types": "types/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./types/index.d.ts",
|
|
12
|
+
"import": "./dist/visbug-editor.esm.js",
|
|
13
|
+
"require": "./dist/visbug-editor.cjs.js",
|
|
14
|
+
"default": "./dist/visbug-editor.esm.js"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist",
|
|
19
|
+
"types",
|
|
20
|
+
"README.md",
|
|
21
|
+
"LICENSE"
|
|
22
|
+
],
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "rollup -c",
|
|
25
|
+
"build:prod": "rollup -c --environment BUILD:production",
|
|
26
|
+
"dev": "rollup -c -w",
|
|
27
|
+
"prepublishOnly": "npm run build:prod",
|
|
28
|
+
"verify": "node verify-package.js",
|
|
29
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
30
|
+
},
|
|
31
|
+
"keywords": [
|
|
32
|
+
"visual-editor",
|
|
33
|
+
"wysiwyg",
|
|
34
|
+
"inline-editing",
|
|
35
|
+
"position-editor",
|
|
36
|
+
"text-editor",
|
|
37
|
+
"font-editor",
|
|
38
|
+
"image-swap",
|
|
39
|
+
"contenteditable",
|
|
40
|
+
"drag-and-drop",
|
|
41
|
+
"undo-redo",
|
|
42
|
+
"history-manager",
|
|
43
|
+
"typescript"
|
|
44
|
+
],
|
|
45
|
+
"author": "Extracted from VisBug by Adam Argyle",
|
|
46
|
+
"license": "Apache-2.0",
|
|
47
|
+
"homepage": "https://github.com/inj-src/visbug-editor",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "https://github.com/inj-src/visbug-editor.git",
|
|
51
|
+
"directory": "visbug-editor"
|
|
52
|
+
},
|
|
53
|
+
"bugs": {
|
|
54
|
+
"url": "https://github.com/inj-src/visbug-editor/issues"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"blingblingjs": "^2.3.0",
|
|
58
|
+
"colorjs.io": "^0.5.2",
|
|
59
|
+
"hotkeys-js": "^3.13.7"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@rollup/plugin-commonjs": "^25.0.7",
|
|
63
|
+
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
64
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
65
|
+
"open-props": "^1.7.16",
|
|
66
|
+
"postcss-import": "^16.1.1",
|
|
67
|
+
"rollup": "^4.9.6",
|
|
68
|
+
"rollup-plugin-postcss": "^4.0.2"
|
|
69
|
+
}
|
|
70
|
+
}
|