pretty-color-picker 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.
@@ -0,0 +1,3162 @@
1
+ var ti = (e) => {
2
+ throw TypeError(e);
3
+ };
4
+ var Dt = (e, n, t) => n.has(e) || ti("Cannot " + t);
5
+ var l = (e, n, t) => (Dt(e, n, "read from private field"), t ? t.call(e) : n.get(e)), w = (e, n, t) => n.has(e) ? ti("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(e) : n.set(e, t), g = (e, n, t, i) => (Dt(e, n, "write to private field"), i ? i.call(e, t) : n.set(e, t), t), d = (e, n, t) => (Dt(e, n, "access private method"), t);
6
+ const ni = '<svg viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z" opacity="0.2"/><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"/></svg>', Jr = '<svg viewBox="0 0 256 256" fill="currentColor" aria-hidden="true"><path d="M227.89,147.89A96,96,0,1,1,108.11,28.11,96.09,96.09,0,0,0,227.89,147.89Z" opacity="0.2"/><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"/></svg>', Ur = '@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500&display=swap";:host{--pcp-width: 260px;--pcp-radius-sm: 4px;--pcp-radius: 6px;--pcp-radius-lg: 9px;--pcp-panel-padding: 9px;--pcp-section-gap: 6px;--pcp-history-cols: 8;--pcp-history-swatch-size: calc( (var(--pcp-width) - 2 * var(--pcp-panel-padding) - 7 * var(--pcp-history-gap)) / var(--pcp-history-cols) );--pcp-control-height: var(--pcp-history-swatch-size);--pcp-tab-row-height: 32px;--pcp-field-label-size: 10px;--pcp-field-label-line: 12px;--pcp-field-label-gap: 3px;--pcp-field-value-size: 11px;--pcp-field-value-line: 15px;--pcp-field-input-height: 20px;--pcp-input-panel-height: calc( var(--pcp-field-label-line) + var(--pcp-field-label-gap) + var(--pcp-field-input-height) );--pcp-input-row-padding-y: 6px;--pcp-input-row-padding-x: 7px;--pcp-alpha-col-width: 4ch;--pcp-value-col-width: minmax(0, 1fr);--pcp-swatch-code-gap: 8px;--pcp-history-gap: 6px;--pcp-checker-size: 6px;--pcp-slider-handle-height: calc(var(--pcp-control-height) * 20 / 36);--pcp-field-input-radius: var(--pcp-radius-sm);--pcp-icon-button-size: 26px;--pcp-icon-button-radius: var(--pcp-radius-sm);--pcp-title-size: 12px;--pcp-title-line: 17px;--pcp-title-weight: 600;--pcp-title-tracking: -.24px;--pcp-ease-out: cubic-bezier(.175, .885, .32, 1.1);--pcp-font: "Geist", system-ui, -apple-system, "SF Pro Display", sans-serif;--pcp-mono: "Geist Mono", ui-monospace, monospace;display:inline-block;font-family:var(--pcp-font);-webkit-font-smoothing:antialiased;color:var(--pcp-text-primary)}:host([mode="popover"]),:host([movable]){position:fixed;z-index:1000;margin:0}:host([mode="popover"]:not([open])){display:none}:host([mode="popover"]) .pcp-header,:host([movable]) .pcp-header{cursor:grab;touch-action:none}:host([mode="popover"]) .pcp-header[data-dragging=true],:host([movable]) .pcp-header[data-dragging=true]{cursor:grabbing}:host,:host([theme="dark"]){color-scheme:dark;--pcp-bg: #212121;--pcp-border: rgba(255, 255, 255, .1);--pcp-border-hover: rgba(255, 255, 255, .15);--pcp-surface: rgba(255, 255, 255, .05);--pcp-surface-hover: rgba(255, 255, 255, .1);--pcp-surface-active: rgba(255, 255, 255, .11);--pcp-tab-pill: rgba(255, 255, 255, .11);--pcp-divider: rgba(255, 255, 255, .06);--pcp-text-root: #ffffff;--pcp-text-primary: rgba(255, 255, 255, .95);--pcp-text-label: rgba(255, 255, 255, .7);--pcp-text-secondary: rgba(255, 255, 255, .6);--pcp-text-tertiary: rgba(255, 255, 255, .4);--pcp-text-focus: #ffffff;--pcp-slider-handle: rgba(255, 255, 255, .95);--pcp-checker-base: #ffffff;--pcp-checker-tone: #cccccc;--pcp-focus-ring: #47a8ff;--pcp-cursor-ring: #ffffff;--pcp-cursor-outline: rgba(0, 0, 0, .35);--pcp-elevation: 0 8px 32px rgba(0, 0, 0, .5)}:host([theme="light"]){color-scheme:light;--pcp-bg: #fafafa;--pcp-border: rgba(0, 0, 0, .1);--pcp-border-hover: rgba(0, 0, 0, .15);--pcp-surface: rgba(0, 0, 0, .04);--pcp-surface-hover: rgba(0, 0, 0, .08);--pcp-surface-active: rgba(0, 0, 0, .1);--pcp-tab-pill: rgba(0, 0, 0, .1);--pcp-divider: rgba(0, 0, 0, .06);--pcp-text-root: #000000;--pcp-text-primary: rgba(0, 0, 0, .9);--pcp-text-label: rgba(0, 0, 0, .6);--pcp-text-secondary: rgba(0, 0, 0, .55);--pcp-text-tertiary: rgba(0, 0, 0, .35);--pcp-text-focus: #000000;--pcp-slider-handle: rgba(0, 0, 0, .9);--pcp-checker-base: #ffffff;--pcp-checker-tone: #cccccc;--pcp-focus-ring: #006bff;--pcp-cursor-ring: #ffffff;--pcp-cursor-outline: rgba(0, 0, 0, .4);--pcp-elevation: 0 4px 20px rgba(0, 0, 0, .08)}@media(prefers-color-scheme:dark){:host([theme="system"]){color-scheme:dark;--pcp-bg: #212121;--pcp-border: rgba(255, 255, 255, .1);--pcp-border-hover: rgba(255, 255, 255, .15);--pcp-surface: rgba(255, 255, 255, .05);--pcp-surface-hover: rgba(255, 255, 255, .1);--pcp-surface-active: rgba(255, 255, 255, .11);--pcp-tab-pill: rgba(255, 255, 255, .11);--pcp-divider: rgba(255, 255, 255, .06);--pcp-text-root: #ffffff;--pcp-text-primary: rgba(255, 255, 255, .95);--pcp-text-label: rgba(255, 255, 255, .7);--pcp-text-secondary: rgba(255, 255, 255, .6);--pcp-text-tertiary: rgba(255, 255, 255, .4);--pcp-text-focus: #ffffff;--pcp-slider-handle: rgba(255, 255, 255, .95);--pcp-checker-base: #ffffff;--pcp-checker-tone: #cccccc;--pcp-focus-ring: #47a8ff;--pcp-cursor-ring: #ffffff;--pcp-cursor-outline: rgba(0, 0, 0, .35);--pcp-elevation: 0 8px 32px rgba(0, 0, 0, .5)}}@media(prefers-color-scheme:light){:host([theme="system"]){color-scheme:light;--pcp-bg: #fafafa;--pcp-border: rgba(0, 0, 0, .1);--pcp-border-hover: rgba(0, 0, 0, .15);--pcp-surface: rgba(0, 0, 0, .04);--pcp-surface-hover: rgba(0, 0, 0, .08);--pcp-surface-active: rgba(0, 0, 0, .1);--pcp-tab-pill: rgba(0, 0, 0, .1);--pcp-divider: rgba(0, 0, 0, .06);--pcp-text-root: #000000;--pcp-text-primary: rgba(0, 0, 0, .9);--pcp-text-label: rgba(0, 0, 0, .6);--pcp-text-secondary: rgba(0, 0, 0, .55);--pcp-text-tertiary: rgba(0, 0, 0, .35);--pcp-text-focus: #000000;--pcp-slider-handle: rgba(0, 0, 0, .9);--pcp-checker-base: #ffffff;--pcp-checker-tone: #cccccc;--pcp-focus-ring: #006bff;--pcp-cursor-ring: #ffffff;--pcp-cursor-outline: rgba(0, 0, 0, .4);--pcp-elevation: 0 4px 20px rgba(0, 0, 0, .08)}}*,*:before,*:after{box-sizing:border-box}.pcp-clip{overflow:hidden;border-radius:var(--pcp-clip-radius, var(--pcp-radius-sm))}.pcp-swatch-fill{display:block;box-sizing:border-box;width:calc(100% + 2px);height:calc(100% + 2px);margin:-1px;border-radius:inherit;background-color:var(--pcp-checker-base);background-image:linear-gradient(to right,var(--swatch-solid, #000) 50%,transparent 50%),linear-gradient(to right,transparent 50%,var(--swatch-alpha, rgba(0, 0, 0, .5)) 50%),linear-gradient(45deg,var(--pcp-checker-tone) 25%,transparent 25%),linear-gradient(-45deg,var(--pcp-checker-tone) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--pcp-checker-tone) 75%),linear-gradient(-45deg,transparent 75%,var(--pcp-checker-tone) 75%);background-size:100% 100%,100% 100%,var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size);background-position:0 0,0 0,0 0,0 calc(var(--pcp-checker-size) / 2),calc(var(--pcp-checker-size) / 2) calc(var(--pcp-checker-size) / -2),calc(var(--pcp-checker-size) / -2) 0}@supports (background: -webkit-named-image(i)){.pcp-clip,.pcp-swatch-fill{clip-path:inset(0 round var(--pcp-clip-radius, var(--pcp-radius-sm)))}}.pcp{display:flex;flex-direction:column;gap:var(--pcp-section-gap);width:var(--pcp-width);background:var(--pcp-bg);border:1px solid var(--pcp-border);border-radius:var(--pcp-radius-lg);box-shadow:var(--pcp-elevation);padding:var(--pcp-panel-padding);-webkit-user-select:none;user-select:none}.pcp-header{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:4px;margin-bottom:0;min-height:var(--pcp-icon-button-size);border-bottom:1px solid var(--pcp-divider)}.pcp-title{flex:1;min-width:0;font-family:var(--pcp-font);font-size:var(--pcp-title-size);font-weight:var(--pcp-title-weight);line-height:var(--pcp-title-line);letter-spacing:var(--pcp-title-tracking);color:var(--pcp-text-root);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcp-header-btn{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--pcp-icon-button-size);height:var(--pcp-icon-button-size);padding:0;border:none;border-radius:var(--pcp-icon-button-radius);background:transparent;color:var(--pcp-text-focus);cursor:pointer;transition:background .15s var(--pcp-ease-out),color .15s var(--pcp-ease-out),transform .16s var(--pcp-ease-out)}.pcp-header-btn svg{width:13px;height:13px;flex-shrink:0}@media(hover:hover)and (pointer:fine){.pcp-header-btn:hover{background:var(--pcp-surface-hover);color:var(--pcp-text-primary)}}.pcp-header-btn:active{background:var(--pcp-surface-active);transform:scale(.97)}.pcp-header-btn:focus{outline:none}.pcp-header-btn:focus-visible{box-shadow:0 0 0 2px var(--pcp-bg),0 0 0 4px var(--pcp-focus-ring)}.pcp-plane-wrap{position:relative;width:100%;aspect-ratio:4 / 3;--pcp-clip-radius: var(--pcp-radius-sm);margin-bottom:0;cursor:crosshair;touch-action:none}.pcp-plane{display:block;width:100%;height:100%}.pcp-cursor{position:absolute;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border:2px solid var(--pcp-cursor-ring);border-radius:50%;box-shadow:0 0 0 1px var(--pcp-cursor-outline),inset 0 0 0 1px #0000001f;pointer-events:none}.pcp-cursor[data-dragging=true]{transition:none}.pcp-slider-wrapper{position:relative;height:var(--pcp-control-height);margin-bottom:0}.pcp-slider{position:absolute;top:0;right:0;bottom:0;left:0;cursor:pointer;-webkit-user-select:none;user-select:none;--pcp-clip-radius: var(--pcp-radius-sm);background:transparent;touch-action:none}.pcp-slider-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none}.pcp-slider-fill-hue{background:linear-gradient(to right,red,#ff0 17%,#0f0 33%,#0ff,#00f 67%,#f0f 83%,red)}.pcp-slider-fill-alpha{--pcp-alpha-gradient: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));background-color:var(--pcp-checker-base);background-image:var(--pcp-alpha-gradient),linear-gradient(45deg,var(--pcp-checker-tone) 25%,transparent 25%),linear-gradient(-45deg,var(--pcp-checker-tone) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--pcp-checker-tone) 75%),linear-gradient(-45deg,transparent 75%,var(--pcp-checker-tone) 75%);background-size:100% 100%,var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size),var(--pcp-checker-size) var(--pcp-checker-size);background-position:0 0,0 0,0 calc(var(--pcp-checker-size) / 2),calc(var(--pcp-checker-size) / 2) calc(var(--pcp-checker-size) / -2),calc(var(--pcp-checker-size) / -2) 0}.pcp-slider-handle{position:absolute;top:50%;left:0;z-index:1;width:3px;height:var(--pcp-slider-handle-height);border:none;outline:none;border-radius:999px;background-color:transparent;pointer-events:none;transform:translateY(-50%);opacity:.68;box-shadow:none;filter:none;transition:opacity .15s ease,background-color .12s ease,box-shadow .12s ease}.pcp-slider:hover .pcp-slider-handle,.pcp-slider[data-active=true] .pcp-slider-handle{opacity:.68}.pcp-slider-handle[data-dragging=true]{opacity:.95}.pcp-tabs{position:relative;display:flex;align-items:center;height:var(--pcp-tab-row-height);box-sizing:border-box;padding:2px;margin-bottom:0;background:transparent;border-radius:var(--pcp-radius)}.pcp-tabs-pill{position:absolute;top:2px;bottom:2px;left:0;width:0;background:var(--pcp-tab-pill);border-radius:5px;z-index:0;pointer-events:none;transition:left .2s var(--pcp-ease-out),width .2s var(--pcp-ease-out)}.pcp-tab{position:relative;z-index:1;flex:1;display:flex;align-items:center;justify-content:center;height:100%;padding:0 4px;font-family:inherit;font-size:11px;font-weight:500;line-height:1;text-align:center;background:transparent;border:none;color:var(--pcp-text-label);cursor:pointer;transition:color .15s var(--pcp-ease-out),transform .16s var(--pcp-ease-out)}.pcp-tab[data-active=true]{color:var(--pcp-text-primary)}.pcp-tab:active{transform:scale(.97)}.pcp-inputs{display:grid;width:100%;min-width:0;box-sizing:border-box;overflow:hidden;grid-template-columns:var(--pcp-input-panel-height) var(--pcp-swatch-code-gap) var(--pcp-value-col-width) var(--pcp-value-col-width) var(--pcp-value-col-width) var(--pcp-alpha-col-width);column-gap:3px;align-items:center;margin-bottom:0;padding:var(--pcp-input-row-padding-y) var(--pcp-input-row-padding-x);background:var(--pcp-surface);border-radius:var(--pcp-radius-sm)}.pcp-swatch{grid-column:1;flex-shrink:0;width:var(--pcp-input-panel-height);height:var(--pcp-input-panel-height);--pcp-clip-radius: var(--pcp-radius-sm);position:relative}.pcp-fields{grid-column:3 / 6;display:grid;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:3px}.pcp-fields[data-format=hex] .pcp-field-hex{grid-column:1 / -1;justify-self:center;width:fit-content;align-items:center}.pcp-fields[data-format=hex] .pcp-field-label{text-align:center;white-space:nowrap}.pcp-fields[data-format=hex] .pcp-field-input{width:8ch;min-width:8ch;padding:0 4px}.pcp-fields[data-format=rgb] .pcp-field-r{grid-column:1}.pcp-fields[data-format=rgb] .pcp-field-g{grid-column:2}.pcp-fields[data-format=rgb] .pcp-field-b{grid-column:3}.pcp-fields[data-format=hsl] .pcp-field-h{grid-column:1}.pcp-fields[data-format=hsl] .pcp-field-s{grid-column:2}.pcp-fields[data-format=hsl] .pcp-field-l{grid-column:3}.pcp-fields[data-format=oklch] .pcp-field-l{grid-column:1}.pcp-fields[data-format=oklch] .pcp-field-c{grid-column:2}.pcp-fields[data-format=oklch] .pcp-field-h{grid-column:3}.pcp-alpha-field{grid-column:6;box-sizing:border-box;width:var(--pcp-alpha-col-width);min-width:var(--pcp-alpha-col-width);max-width:var(--pcp-alpha-col-width);align-items:center}.pcp-alpha-field .pcp-field-input{width:100%;min-width:0;padding:0;box-sizing:border-box}.pcp-field{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:var(--pcp-field-label-gap)}.pcp-fields[data-format=oklch] .pcp-field-c .pcp-field-input{letter-spacing:-.02em;padding:0 1px}.pcp-field-label{display:block;font-size:var(--pcp-field-label-size);font-weight:500;line-height:var(--pcp-field-label-line);color:var(--pcp-text-label);margin:0;text-align:center}.pcp-fields:not([data-format=hex]) .pcp-field-label,.pcp-alpha-field .pcp-field-label{cursor:ew-resize;-webkit-user-select:none;user-select:none;touch-action:none;transition:color .15s var(--pcp-ease-out)}.pcp-field-label[data-scrubbing=true]{color:var(--pcp-text-primary)}.pcp-field-input{width:100%;min-width:0;min-height:var(--pcp-field-input-height);height:var(--pcp-field-input-height);padding:0 2px;font-family:var(--pcp-mono);font-size:var(--pcp-field-value-size);font-weight:500;line-height:var(--pcp-field-input-height);font-variant-numeric:tabular-nums;text-align:center;color:var(--pcp-text-secondary);background:transparent;border:none;border-radius:var(--pcp-field-input-radius);outline:none;box-shadow:none;transition:color .15s var(--pcp-ease-out),background .15s var(--pcp-ease-out)}@media(hover:hover)and (pointer:fine){.pcp-field-input:hover{background:var(--pcp-surface-hover)}}.pcp-field-input:focus{color:var(--pcp-text-focus);background:transparent;border-radius:var(--pcp-field-input-radius);box-shadow:none;outline:none}.pcp-field-input:active{background:var(--pcp-surface-active)}.pcp-history-section[hidden]{display:none}.pcp-history-label{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--pcp-text-label);margin:0 0 5px}.pcp-history{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--pcp-history-gap);width:100%}.pcp-history-swatch{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:block;width:100%;aspect-ratio:1;height:auto;flex-shrink:0;padding:0;border:none;background:none;--pcp-clip-radius: 4px;cursor:pointer;transition:opacity .15s var(--pcp-ease-out)}@media(hover:hover)and (pointer:fine){.pcp-history-swatch:hover{opacity:.85}}.pcp-history-swatch:active{opacity:.7}@media(prefers-reduced-motion:reduce){.pcp-header-btn,.pcp-tab,.pcp-tabs-pill,.pcp-cursor,.pcp-slider-handle,.pcp-history-swatch{transition:none}.pcp-tab:active,.pcp-header-btn:active{transform:none}}', qi = (e, n) => {
7
+ if (typeof e == "number") {
8
+ if (n === 3)
9
+ return {
10
+ mode: "rgb",
11
+ r: (e >> 8 & 15 | e >> 4 & 240) / 255,
12
+ g: (e >> 4 & 15 | e & 240) / 255,
13
+ b: (e & 15 | e << 4 & 240) / 255
14
+ };
15
+ if (n === 4)
16
+ return {
17
+ mode: "rgb",
18
+ r: (e >> 12 & 15 | e >> 8 & 240) / 255,
19
+ g: (e >> 8 & 15 | e >> 4 & 240) / 255,
20
+ b: (e >> 4 & 15 | e & 240) / 255,
21
+ alpha: (e & 15 | e << 4 & 240) / 255
22
+ };
23
+ if (n === 6)
24
+ return {
25
+ mode: "rgb",
26
+ r: (e >> 16 & 255) / 255,
27
+ g: (e >> 8 & 255) / 255,
28
+ b: (e & 255) / 255
29
+ };
30
+ if (n === 8)
31
+ return {
32
+ mode: "rgb",
33
+ r: (e >> 24 & 255) / 255,
34
+ g: (e >> 16 & 255) / 255,
35
+ b: (e >> 8 & 255) / 255,
36
+ alpha: (e & 255) / 255
37
+ };
38
+ }
39
+ }, Kr = {
40
+ aliceblue: 15792383,
41
+ antiquewhite: 16444375,
42
+ aqua: 65535,
43
+ aquamarine: 8388564,
44
+ azure: 15794175,
45
+ beige: 16119260,
46
+ bisque: 16770244,
47
+ black: 0,
48
+ blanchedalmond: 16772045,
49
+ blue: 255,
50
+ blueviolet: 9055202,
51
+ brown: 10824234,
52
+ burlywood: 14596231,
53
+ cadetblue: 6266528,
54
+ chartreuse: 8388352,
55
+ chocolate: 13789470,
56
+ coral: 16744272,
57
+ cornflowerblue: 6591981,
58
+ cornsilk: 16775388,
59
+ crimson: 14423100,
60
+ cyan: 65535,
61
+ darkblue: 139,
62
+ darkcyan: 35723,
63
+ darkgoldenrod: 12092939,
64
+ darkgray: 11119017,
65
+ darkgreen: 25600,
66
+ darkgrey: 11119017,
67
+ darkkhaki: 12433259,
68
+ darkmagenta: 9109643,
69
+ darkolivegreen: 5597999,
70
+ darkorange: 16747520,
71
+ darkorchid: 10040012,
72
+ darkred: 9109504,
73
+ darksalmon: 15308410,
74
+ darkseagreen: 9419919,
75
+ darkslateblue: 4734347,
76
+ darkslategray: 3100495,
77
+ darkslategrey: 3100495,
78
+ darkturquoise: 52945,
79
+ darkviolet: 9699539,
80
+ deeppink: 16716947,
81
+ deepskyblue: 49151,
82
+ dimgray: 6908265,
83
+ dimgrey: 6908265,
84
+ dodgerblue: 2003199,
85
+ firebrick: 11674146,
86
+ floralwhite: 16775920,
87
+ forestgreen: 2263842,
88
+ fuchsia: 16711935,
89
+ gainsboro: 14474460,
90
+ ghostwhite: 16316671,
91
+ gold: 16766720,
92
+ goldenrod: 14329120,
93
+ gray: 8421504,
94
+ green: 32768,
95
+ greenyellow: 11403055,
96
+ grey: 8421504,
97
+ honeydew: 15794160,
98
+ hotpink: 16738740,
99
+ indianred: 13458524,
100
+ indigo: 4915330,
101
+ ivory: 16777200,
102
+ khaki: 15787660,
103
+ lavender: 15132410,
104
+ lavenderblush: 16773365,
105
+ lawngreen: 8190976,
106
+ lemonchiffon: 16775885,
107
+ lightblue: 11393254,
108
+ lightcoral: 15761536,
109
+ lightcyan: 14745599,
110
+ lightgoldenrodyellow: 16448210,
111
+ lightgray: 13882323,
112
+ lightgreen: 9498256,
113
+ lightgrey: 13882323,
114
+ lightpink: 16758465,
115
+ lightsalmon: 16752762,
116
+ lightseagreen: 2142890,
117
+ lightskyblue: 8900346,
118
+ lightslategray: 7833753,
119
+ lightslategrey: 7833753,
120
+ lightsteelblue: 11584734,
121
+ lightyellow: 16777184,
122
+ lime: 65280,
123
+ limegreen: 3329330,
124
+ linen: 16445670,
125
+ magenta: 16711935,
126
+ maroon: 8388608,
127
+ mediumaquamarine: 6737322,
128
+ mediumblue: 205,
129
+ mediumorchid: 12211667,
130
+ mediumpurple: 9662683,
131
+ mediumseagreen: 3978097,
132
+ mediumslateblue: 8087790,
133
+ mediumspringgreen: 64154,
134
+ mediumturquoise: 4772300,
135
+ mediumvioletred: 13047173,
136
+ midnightblue: 1644912,
137
+ mintcream: 16121850,
138
+ mistyrose: 16770273,
139
+ moccasin: 16770229,
140
+ navajowhite: 16768685,
141
+ navy: 128,
142
+ oldlace: 16643558,
143
+ olive: 8421376,
144
+ olivedrab: 7048739,
145
+ orange: 16753920,
146
+ orangered: 16729344,
147
+ orchid: 14315734,
148
+ palegoldenrod: 15657130,
149
+ palegreen: 10025880,
150
+ paleturquoise: 11529966,
151
+ palevioletred: 14381203,
152
+ papayawhip: 16773077,
153
+ peachpuff: 16767673,
154
+ peru: 13468991,
155
+ pink: 16761035,
156
+ plum: 14524637,
157
+ powderblue: 11591910,
158
+ purple: 8388736,
159
+ // Added in CSS Colors Level 4:
160
+ // https://drafts.csswg.org/css-color/#changes-from-3
161
+ rebeccapurple: 6697881,
162
+ red: 16711680,
163
+ rosybrown: 12357519,
164
+ royalblue: 4286945,
165
+ saddlebrown: 9127187,
166
+ salmon: 16416882,
167
+ sandybrown: 16032864,
168
+ seagreen: 3050327,
169
+ seashell: 16774638,
170
+ sienna: 10506797,
171
+ silver: 12632256,
172
+ skyblue: 8900331,
173
+ slateblue: 6970061,
174
+ slategray: 7372944,
175
+ slategrey: 7372944,
176
+ snow: 16775930,
177
+ springgreen: 65407,
178
+ steelblue: 4620980,
179
+ tan: 13808780,
180
+ teal: 32896,
181
+ thistle: 14204888,
182
+ tomato: 16737095,
183
+ turquoise: 4251856,
184
+ violet: 15631086,
185
+ wheat: 16113331,
186
+ white: 16777215,
187
+ whitesmoke: 16119285,
188
+ yellow: 16776960,
189
+ yellowgreen: 10145074
190
+ }, Qr = (e) => qi(Kr[e.toLowerCase()], 6), ea = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i, ta = (e) => {
191
+ let n;
192
+ return (n = e.match(ea)) ? qi(parseInt(n[1], 16), n[1].length) : void 0;
193
+ }, de = "([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)", Be = `${de}%`, Xn = `(?:${de}%|${de})`, na = `(?:${de}(deg|grad|rad|turn)|${de})`, Le = "\\s*,\\s*", ia = new RegExp(
194
+ `^rgba?\\(\\s*${de}${Le}${de}${Le}${de}\\s*(?:,\\s*${Xn}\\s*)?\\)$`
195
+ ), ra = new RegExp(
196
+ `^rgba?\\(\\s*${Be}${Le}${Be}${Le}${Be}\\s*(?:,\\s*${Xn}\\s*)?\\)$`
197
+ ), aa = (e) => {
198
+ let n = { mode: "rgb" }, t;
199
+ if (t = e.match(ia))
200
+ t[1] !== void 0 && (n.r = t[1] / 255), t[2] !== void 0 && (n.g = t[2] / 255), t[3] !== void 0 && (n.b = t[3] / 255);
201
+ else if (t = e.match(ra))
202
+ t[1] !== void 0 && (n.r = t[1] / 100), t[2] !== void 0 && (n.g = t[2] / 100), t[3] !== void 0 && (n.b = t[3] / 100);
203
+ else
204
+ return;
205
+ return t[4] !== void 0 ? n.alpha = Math.max(0, Math.min(1, t[4] / 100)) : t[5] !== void 0 && (n.alpha = Math.max(0, Math.min(1, +t[5]))), n;
206
+ }, pt = (e, n) => e === void 0 ? void 0 : typeof e != "object" ? Di(e) : e.mode !== void 0 ? e : n ? { ...e, mode: n } : void 0, X = (e = "rgb") => (n) => (n = pt(n, e)) !== void 0 ? (
207
+ // if the color's mode corresponds to our target mode
208
+ n.mode === e ? (
209
+ // then just return the color
210
+ n
211
+ ) : (
212
+ // otherwise check to see if we have a dedicated
213
+ // converter for the target mode
214
+ Y[n.mode][e] ? (
215
+ // and return its result...
216
+ Y[n.mode][e](n)
217
+ ) : (
218
+ // ...otherwise pass through RGB as an intermediary step.
219
+ // if the target mode is RGB...
220
+ e === "rgb" ? (
221
+ // just return the RGB
222
+ Y[n.mode].rgb(n)
223
+ ) : (
224
+ // otherwise convert color.mode -> RGB -> target_mode
225
+ Y.rgb[e](Y[n.mode].rgb(n))
226
+ )
227
+ )
228
+ )
229
+ ) : void 0, Y = {}, Ri = {}, ht = [], Fi = {}, sa = (e) => e, k = (e) => (Y[e.mode] = {
230
+ ...Y[e.mode],
231
+ ...e.toMode
232
+ }, Object.keys(e.fromMode || {}).forEach((n) => {
233
+ Y[n] || (Y[n] = {}), Y[n][e.mode] = e.fromMode[n];
234
+ }), e.ranges || (e.ranges = {}), e.difference || (e.difference = {}), e.channels.forEach((n) => {
235
+ if (e.ranges[n] === void 0 && (e.ranges[n] = [0, 1]), !e.interpolate[n])
236
+ throw new Error(`Missing interpolator for: ${n}`);
237
+ typeof e.interpolate[n] == "function" && (e.interpolate[n] = {
238
+ use: e.interpolate[n]
239
+ }), e.interpolate[n].fixup || (e.interpolate[n].fixup = sa);
240
+ }), Ri[e.mode] = e, (e.parse || []).forEach((n) => {
241
+ oa(n, e.mode);
242
+ }), X(e.mode)), Mt = (e) => Ri[e], oa = (e, n) => {
243
+ if (typeof e == "string") {
244
+ if (!n)
245
+ throw new Error("'mode' required when 'parser' is a string");
246
+ Fi[e] = n;
247
+ } else typeof e == "function" && ht.indexOf(e) < 0 && ht.push(e);
248
+ }, mn = /[^\x00-\x7F]|[a-zA-Z_]/, la = /[^\x00-\x7F]|[-\w]/, h = {
249
+ Function: "function",
250
+ Ident: "ident",
251
+ Number: "number",
252
+ Percentage: "percentage",
253
+ ParenClose: ")",
254
+ None: "none",
255
+ Hue: "hue",
256
+ Alpha: "alpha"
257
+ };
258
+ let m = 0;
259
+ function tt(e) {
260
+ let n = e[m], t = e[m + 1];
261
+ return n === "-" || n === "+" ? /\d/.test(t) || t === "." && /\d/.test(e[m + 2]) : n === "." ? /\d/.test(t) : /\d/.test(n);
262
+ }
263
+ function vn(e) {
264
+ if (m >= e.length)
265
+ return !1;
266
+ let n = e[m];
267
+ if (mn.test(n))
268
+ return !0;
269
+ if (n === "-") {
270
+ if (e.length - m < 2)
271
+ return !1;
272
+ let t = e[m + 1];
273
+ return !!(t === "-" || mn.test(t));
274
+ }
275
+ return !1;
276
+ }
277
+ const ca = {
278
+ deg: 1,
279
+ rad: 180 / Math.PI,
280
+ grad: 9 / 10,
281
+ turn: 360
282
+ };
283
+ function Xe(e) {
284
+ let n = "";
285
+ if ((e[m] === "-" || e[m] === "+") && (n += e[m++]), n += nt(e), e[m] === "." && /\d/.test(e[m + 1]) && (n += e[m++] + nt(e)), (e[m] === "e" || e[m] === "E") && ((e[m + 1] === "-" || e[m + 1] === "+") && /\d/.test(e[m + 2]) ? n += e[m++] + e[m++] + nt(e) : /\d/.test(e[m + 1]) && (n += e[m++] + nt(e))), vn(e)) {
286
+ let t = ut(e);
287
+ return t === "deg" || t === "rad" || t === "turn" || t === "grad" ? { type: h.Hue, value: n * ca[t] } : void 0;
288
+ }
289
+ return e[m] === "%" ? (m++, { type: h.Percentage, value: +n }) : { type: h.Number, value: +n };
290
+ }
291
+ function nt(e) {
292
+ let n = "";
293
+ for (; /\d/.test(e[m]); )
294
+ n += e[m++];
295
+ return n;
296
+ }
297
+ function ut(e) {
298
+ let n = "";
299
+ for (; m < e.length && la.test(e[m]); )
300
+ n += e[m++];
301
+ return n;
302
+ }
303
+ function da(e) {
304
+ let n = ut(e);
305
+ return e[m] === "(" ? (m++, { type: h.Function, value: n }) : n === "none" ? { type: h.None, value: void 0 } : { type: h.Ident, value: n };
306
+ }
307
+ function pa(e = "") {
308
+ let n = e.trim(), t = [], i;
309
+ for (m = 0; m < n.length; ) {
310
+ if (i = n[m++], i === `
311
+ ` || i === " " || i === " ") {
312
+ for (; m < n.length && (n[m] === `
313
+ ` || n[m] === " " || n[m] === " "); )
314
+ m++;
315
+ continue;
316
+ }
317
+ if (i === ",")
318
+ return;
319
+ if (i === ")") {
320
+ t.push({ type: h.ParenClose });
321
+ continue;
322
+ }
323
+ if (i === "+") {
324
+ if (m--, tt(n)) {
325
+ t.push(Xe(n));
326
+ continue;
327
+ }
328
+ return;
329
+ }
330
+ if (i === "-") {
331
+ if (m--, tt(n)) {
332
+ t.push(Xe(n));
333
+ continue;
334
+ }
335
+ if (vn(n)) {
336
+ t.push({ type: h.Ident, value: ut(n) });
337
+ continue;
338
+ }
339
+ return;
340
+ }
341
+ if (i === ".") {
342
+ if (m--, tt(n)) {
343
+ t.push(Xe(n));
344
+ continue;
345
+ }
346
+ return;
347
+ }
348
+ if (i === "/") {
349
+ for (; m < n.length && (n[m] === `
350
+ ` || n[m] === " " || n[m] === " "); )
351
+ m++;
352
+ let r;
353
+ if (tt(n) && (r = Xe(n), r.type !== h.Hue)) {
354
+ t.push({ type: h.Alpha, value: r });
355
+ continue;
356
+ }
357
+ if (vn(n) && ut(n) === "none") {
358
+ t.push({
359
+ type: h.Alpha,
360
+ value: { type: h.None, value: void 0 }
361
+ });
362
+ continue;
363
+ }
364
+ return;
365
+ }
366
+ if (/\d/.test(i)) {
367
+ m--, t.push(Xe(n));
368
+ continue;
369
+ }
370
+ if (mn.test(i)) {
371
+ m--, t.push(da(n));
372
+ continue;
373
+ }
374
+ return;
375
+ }
376
+ return t;
377
+ }
378
+ function ha(e) {
379
+ e._i = 0;
380
+ let n = e[e._i++];
381
+ if (!n || n.type !== h.Function || n.value !== "color" || (n = e[e._i++], n.type !== h.Ident))
382
+ return;
383
+ const t = Fi[n.value];
384
+ if (!t)
385
+ return;
386
+ const i = { mode: t }, r = Xi(e, !1);
387
+ if (!r)
388
+ return;
389
+ const a = Mt(t).channels;
390
+ for (let s = 0, c, p; s < a.length; s++)
391
+ c = r[s], p = a[s], c.type !== h.None && (i[p] = c.type === h.Number ? c.value : c.value / 100, p === "alpha" && (i[p] = Math.max(0, Math.min(1, i[p]))));
392
+ return i;
393
+ }
394
+ function Xi(e, n) {
395
+ const t = [];
396
+ let i;
397
+ for (; e._i < e.length; ) {
398
+ if (i = e[e._i++], i.type === h.None || i.type === h.Number || i.type === h.Alpha || i.type === h.Percentage || n && i.type === h.Hue) {
399
+ t.push(i);
400
+ continue;
401
+ }
402
+ if (i.type === h.ParenClose) {
403
+ if (e._i < e.length)
404
+ return;
405
+ continue;
406
+ }
407
+ return;
408
+ }
409
+ if (!(t.length < 3 || t.length > 4)) {
410
+ if (t.length === 4) {
411
+ if (t[3].type !== h.Alpha)
412
+ return;
413
+ t[3] = t[3].value;
414
+ }
415
+ return t.length === 3 && t.push({ type: h.None, value: void 0 }), t.every((r) => r.type !== h.Alpha) ? t : void 0;
416
+ }
417
+ }
418
+ function ua(e, n) {
419
+ e._i = 0;
420
+ let t = e[e._i++];
421
+ if (!t || t.type !== h.Function)
422
+ return;
423
+ let i = Xi(e, n);
424
+ if (i)
425
+ return i.unshift(t.value), i;
426
+ }
427
+ const Di = (e) => {
428
+ if (typeof e != "string")
429
+ return;
430
+ const n = pa(e), t = n ? ua(n, !0) : void 0;
431
+ let i, r = 0, a = ht.length;
432
+ for (; r < a; )
433
+ if ((i = ht[r++](e, t)) !== void 0)
434
+ return i;
435
+ return n ? ha(n) : void 0;
436
+ };
437
+ function fa(e, n) {
438
+ if (!n || n[0] !== "rgb" && n[0] !== "rgba")
439
+ return;
440
+ const t = { mode: "rgb" }, [, i, r, a, s] = n;
441
+ if (!(i.type === h.Hue || r.type === h.Hue || a.type === h.Hue))
442
+ return i.type !== h.None && (t.r = i.type === h.Number ? i.value / 255 : i.value / 100), r.type !== h.None && (t.g = r.type === h.Number ? r.value / 255 : r.value / 100), a.type !== h.None && (t.b = a.type === h.Number ? a.value / 255 : a.value / 100), s.type !== h.None && (t.alpha = Math.min(
443
+ 1,
444
+ Math.max(
445
+ 0,
446
+ s.type === h.Number ? s.value : s.value / 100
447
+ )
448
+ )), t;
449
+ }
450
+ const ba = (e) => e === "transparent" ? { mode: "rgb", r: 0, g: 0, b: 0, alpha: 0 } : void 0, ga = (e, n, t) => e + t * (n - e), ma = (e) => {
451
+ let n = [];
452
+ for (let t = 0; t < e.length - 1; t++) {
453
+ let i = e[t], r = e[t + 1];
454
+ i === void 0 && r === void 0 ? n.push(void 0) : i !== void 0 && r !== void 0 ? n.push([i, r]) : n.push(i !== void 0 ? [i, i] : [r, r]);
455
+ }
456
+ return n;
457
+ }, va = (e) => (n) => {
458
+ let t = ma(n);
459
+ return (i) => {
460
+ let r = i * t.length, a = i >= 1 ? t.length - 1 : Math.max(Math.floor(r), 0), s = t[a];
461
+ return s === void 0 ? void 0 : e(s[0], s[1], r - a);
462
+ };
463
+ }, u = va(ga), C = (e) => {
464
+ let n = !1, t = e.map((i) => i !== void 0 ? (n = !0, i) : 1);
465
+ return n ? t : e;
466
+ }, Se = {
467
+ mode: "rgb",
468
+ channels: ["r", "g", "b", "alpha"],
469
+ parse: [
470
+ fa,
471
+ ta,
472
+ aa,
473
+ Qr,
474
+ ba,
475
+ "srgb"
476
+ ],
477
+ serialize: "srgb",
478
+ interpolate: {
479
+ r: u,
480
+ g: u,
481
+ b: u,
482
+ alpha: { use: u, fixup: C }
483
+ },
484
+ gamut: !0,
485
+ white: { r: 1, g: 1, b: 1 },
486
+ black: { r: 0, g: 0, b: 0 }
487
+ }, Ot = (e = 0) => Math.pow(Math.abs(e), 563 / 256) * Math.sign(e), ii = (e) => {
488
+ let n = Ot(e.r), t = Ot(e.g), i = Ot(e.b), r = {
489
+ mode: "xyz65",
490
+ x: 0.5766690429101305 * n + 0.1855582379065463 * t + 0.1882286462349947 * i,
491
+ y: 0.297344975250536 * n + 0.6273635662554661 * t + 0.0752914584939979 * i,
492
+ z: 0.0270313613864123 * n + 0.0706888525358272 * t + 0.9913375368376386 * i
493
+ };
494
+ return e.alpha !== void 0 && (r.alpha = e.alpha), r;
495
+ }, jt = (e) => Math.pow(Math.abs(e), 256 / 563) * Math.sign(e), ri = ({ x: e, y: n, z: t, alpha: i }) => {
496
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
497
+ let r = {
498
+ mode: "a98",
499
+ r: jt(
500
+ e * 2.0415879038107465 - n * 0.5650069742788597 - 0.3447313507783297 * t
501
+ ),
502
+ g: jt(
503
+ e * -0.9692436362808798 + n * 1.8759675015077206 + 0.0415550574071756 * t
504
+ ),
505
+ b: jt(
506
+ e * 0.0134442806320312 - n * 0.1183623922310184 + 1.0151749943912058 * t
507
+ )
508
+ };
509
+ return i !== void 0 && (r.alpha = i), r;
510
+ }, Zt = (e = 0) => {
511
+ const n = Math.abs(e);
512
+ return n <= 0.04045 ? e / 12.92 : (Math.sign(e) || 1) * Math.pow((n + 0.055) / 1.055, 2.4);
513
+ }, Te = ({ r: e, g: n, b: t, alpha: i }) => {
514
+ let r = {
515
+ mode: "lrgb",
516
+ r: Zt(e),
517
+ g: Zt(n),
518
+ b: Zt(t)
519
+ };
520
+ return i !== void 0 && (r.alpha = i), r;
521
+ }, ve = (e) => {
522
+ let { r: n, g: t, b: i, alpha: r } = Te(e), a = {
523
+ mode: "xyz65",
524
+ x: 0.4123907992659593 * n + 0.357584339383878 * t + 0.1804807884018343 * i,
525
+ y: 0.2126390058715102 * n + 0.715168678767756 * t + 0.0721923153607337 * i,
526
+ z: 0.0193308187155918 * n + 0.119194779794626 * t + 0.9505321522496607 * i
527
+ };
528
+ return r !== void 0 && (a.alpha = r), a;
529
+ }, Yt = (e = 0) => {
530
+ const n = Math.abs(e);
531
+ return n > 31308e-7 ? (Math.sign(e) || 1) * (1.055 * Math.pow(n, 1 / 2.4) - 0.055) : e * 12.92;
532
+ }, Ce = ({ r: e, g: n, b: t, alpha: i }, r = "rgb") => {
533
+ let a = {
534
+ mode: r,
535
+ r: Yt(e),
536
+ g: Yt(n),
537
+ b: Yt(t)
538
+ };
539
+ return i !== void 0 && (a.alpha = i), a;
540
+ }, xe = ({ x: e, y: n, z: t, alpha: i }) => {
541
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
542
+ let r = Ce({
543
+ r: e * 3.2409699419045226 - n * 1.537383177570094 - 0.4986107602930034 * t,
544
+ g: e * -0.9692436362808796 + n * 1.8759675015077204 + 0.0415550574071756 * t,
545
+ b: e * 0.0556300796969936 - n * 0.2039769588889765 + 1.0569715142428784 * t
546
+ });
547
+ return i !== void 0 && (r.alpha = i), r;
548
+ }, xa = {
549
+ ...Se,
550
+ mode: "a98",
551
+ parse: ["a98-rgb"],
552
+ serialize: "a98-rgb",
553
+ fromMode: {
554
+ rgb: (e) => ri(ve(e)),
555
+ xyz65: ri
556
+ },
557
+ toMode: {
558
+ rgb: (e) => xe(ii(e)),
559
+ xyz65: ii
560
+ }
561
+ }, E = (e) => (e = e % 360) < 0 ? e + 360 : e, ya = (e, n) => e.map((t, i, r) => {
562
+ if (t === void 0)
563
+ return t;
564
+ let a = E(t);
565
+ return i === 0 || e[i - 1] === void 0 ? a : n(a - E(r[i - 1]));
566
+ }).reduce((t, i) => !t.length || i === void 0 || t[t.length - 1] === void 0 ? (t.push(i), t) : (t.push(i + t[t.length - 1]), t), []), ie = (e) => ya(e, (n) => Math.abs(n) <= 180 ? n : n - 360 * Math.sign(n)), P = [-0.14861, 1.78277, -0.29227, -0.90649, 1.97294, 0], Ma = Math.PI / 180, wa = 180 / Math.PI;
567
+ let ai = P[3] * P[4], si = P[1] * P[4], oi = P[1] * P[2] - P[0] * P[3];
568
+ const ka = ({ r: e, g: n, b: t, alpha: i }) => {
569
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
570
+ let r = (oi * t + e * ai - n * si) / (oi + ai - si), a = t - r, s = (P[4] * (n - r) - P[2] * a) / P[3], c = {
571
+ mode: "cubehelix",
572
+ l: r,
573
+ s: r === 0 || r === 1 ? void 0 : Math.sqrt(a * a + s * s) / (P[4] * r * (1 - r))
574
+ };
575
+ return c.s && (c.h = Math.atan2(s, a) * wa - 120), i !== void 0 && (c.alpha = i), c;
576
+ }, $a = ({ h: e, s: n, l: t, alpha: i }) => {
577
+ let r = { mode: "rgb" };
578
+ e = (e === void 0 ? 0 : e + 120) * Ma, t === void 0 && (t = 0);
579
+ let a = n === void 0 ? 0 : n * t * (1 - t), s = Math.cos(e), c = Math.sin(e);
580
+ return r.r = t + a * (P[0] * s + P[1] * c), r.g = t + a * (P[2] * s + P[3] * c), r.b = t + a * (P[4] * s + P[5] * c), i !== void 0 && (r.alpha = i), r;
581
+ }, wt = (e, n) => {
582
+ if (e.h === void 0 || n.h === void 0 || !e.s || !n.s)
583
+ return 0;
584
+ let t = E(e.h), i = E(n.h), r = Math.sin((i - t + 360) / 2 * Math.PI / 180);
585
+ return 2 * Math.sqrt(e.s * n.s) * r;
586
+ }, za = (e, n) => {
587
+ if (e.h === void 0 || n.h === void 0)
588
+ return 0;
589
+ let t = E(e.h), i = E(n.h);
590
+ return Math.abs(i - t) > 180 ? t - (i - 360 * Math.sign(i - t)) : i - t;
591
+ }, kt = (e, n) => {
592
+ if (e.h === void 0 || n.h === void 0 || !e.c || !n.c)
593
+ return 0;
594
+ let t = E(e.h), i = E(n.h), r = Math.sin((i - t + 360) / 2 * Math.PI / 180);
595
+ return 2 * Math.sqrt(e.c * n.c) * r;
596
+ }, re = (e) => {
597
+ let n = e.reduce(
598
+ (i, r) => {
599
+ if (r !== void 0) {
600
+ let a = r * Math.PI / 180;
601
+ i.sin += Math.sin(a), i.cos += Math.cos(a);
602
+ }
603
+ return i;
604
+ },
605
+ { sin: 0, cos: 0 }
606
+ ), t = Math.atan2(n.sin, n.cos) * 180 / Math.PI;
607
+ return t < 0 ? 360 + t : t;
608
+ }, Aa = {
609
+ mode: "cubehelix",
610
+ channels: ["h", "s", "l", "alpha"],
611
+ parse: ["--cubehelix"],
612
+ serialize: "--cubehelix",
613
+ ranges: {
614
+ h: [0, 360],
615
+ s: [0, 4.614],
616
+ l: [0, 1]
617
+ },
618
+ fromMode: {
619
+ rgb: ka
620
+ },
621
+ toMode: {
622
+ rgb: $a
623
+ },
624
+ interpolate: {
625
+ h: {
626
+ use: u,
627
+ fixup: ie
628
+ },
629
+ s: u,
630
+ l: u,
631
+ alpha: {
632
+ use: u,
633
+ fixup: C
634
+ }
635
+ },
636
+ difference: {
637
+ h: wt
638
+ },
639
+ average: {
640
+ h: re
641
+ }
642
+ }, pe = ({ l: e, a: n, b: t, alpha: i }, r = "lch") => {
643
+ n === void 0 && (n = 0), t === void 0 && (t = 0);
644
+ let a = Math.sqrt(n * n + t * t), s = { mode: r, l: e, c: a };
645
+ return a && (s.h = E(Math.atan2(t, n) * 180 / Math.PI)), i !== void 0 && (s.alpha = i), s;
646
+ }, he = ({ l: e, c: n, h: t, alpha: i }, r = "lab") => {
647
+ t === void 0 && (t = 0);
648
+ let a = {
649
+ mode: r,
650
+ l: e,
651
+ a: n ? n * Math.cos(t / 180 * Math.PI) : 0,
652
+ b: n ? n * Math.sin(t / 180 * Math.PI) : 0
653
+ };
654
+ return i !== void 0 && (a.alpha = i), a;
655
+ }, Oi = Math.pow(29, 3) / Math.pow(3, 3), ji = Math.pow(6, 3) / Math.pow(29, 3), S = {
656
+ X: 0.3457 / 0.3585,
657
+ Y: 1,
658
+ Z: (1 - 0.3457 - 0.3585) / 0.3585
659
+ }, ke = {
660
+ X: 0.3127 / 0.329,
661
+ Y: 1,
662
+ Z: (1 - 0.3127 - 0.329) / 0.329
663
+ };
664
+ let Bt = (e) => Math.pow(e, 3) > ji ? Math.pow(e, 3) : (116 * e - 16) / Oi;
665
+ const Zi = ({ l: e, a: n, b: t, alpha: i }) => {
666
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
667
+ let r = (e + 16) / 116, a = n / 500 + r, s = r - t / 200, c = {
668
+ mode: "xyz65",
669
+ x: Bt(a) * ke.X,
670
+ y: Bt(r) * ke.Y,
671
+ z: Bt(s) * ke.Z
672
+ };
673
+ return i !== void 0 && (c.alpha = i), c;
674
+ }, $t = (e) => xe(Zi(e)), Wt = (e) => e > ji ? Math.cbrt(e) : (Oi * e + 16) / 116, Yi = ({ x: e, y: n, z: t, alpha: i }) => {
675
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
676
+ let r = Wt(e / ke.X), a = Wt(n / ke.Y), s = Wt(t / ke.Z), c = {
677
+ mode: "lab65",
678
+ l: 116 * a - 16,
679
+ a: 500 * (r - a),
680
+ b: 200 * (a - s)
681
+ };
682
+ return i !== void 0 && (c.alpha = i), c;
683
+ }, zt = (e) => {
684
+ let n = Yi(ve(e));
685
+ return e.r === e.b && e.b === e.g && (n.a = n.b = 0), n;
686
+ }, ft = 1, Bi = 1, We = 26 / 180 * Math.PI, bt = Math.cos(We), gt = Math.sin(We), Wi = 100 / Math.log(139 / 100), xn = ({ l: e, c: n, h: t, alpha: i }) => {
687
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
688
+ let r = {
689
+ mode: "lab65",
690
+ l: (Math.exp(e * ft / Wi) - 1) / 39e-4
691
+ }, a = (Math.exp(0.0435 * n * Bi * ft) - 1) / 0.075, s = a * Math.cos(t / 180 * Math.PI - We), c = a * Math.sin(t / 180 * Math.PI - We);
692
+ return r.a = s * bt - c / 0.83 * gt, r.b = s * gt + c / 0.83 * bt, i !== void 0 && (r.alpha = i), r;
693
+ }, yn = ({ l: e, a: n, b: t, alpha: i }) => {
694
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
695
+ let r = n * bt + t * gt, a = 0.83 * (t * bt - n * gt), s = Math.sqrt(r * r + a * a), c = {
696
+ mode: "dlch",
697
+ l: Wi / ft * Math.log(1 + 39e-4 * e),
698
+ c: Math.log(1 + 0.075 * s) / (0.0435 * Bi * ft)
699
+ };
700
+ return c.c && (c.h = E((Math.atan2(a, r) + We) / Math.PI * 180)), i !== void 0 && (c.alpha = i), c;
701
+ }, li = (e) => xn(pe(e, "dlch")), ci = (e) => he(yn(e), "dlab"), _a = {
702
+ mode: "dlab",
703
+ parse: ["--din99o-lab"],
704
+ serialize: "--din99o-lab",
705
+ toMode: {
706
+ lab65: li,
707
+ rgb: (e) => $t(li(e))
708
+ },
709
+ fromMode: {
710
+ lab65: ci,
711
+ rgb: (e) => ci(zt(e))
712
+ },
713
+ channels: ["l", "a", "b", "alpha"],
714
+ ranges: {
715
+ l: [0, 100],
716
+ a: [-40.09, 45.501],
717
+ b: [-40.469, 44.344]
718
+ },
719
+ interpolate: {
720
+ l: u,
721
+ a: u,
722
+ b: u,
723
+ alpha: {
724
+ use: u,
725
+ fixup: C
726
+ }
727
+ }
728
+ }, La = {
729
+ mode: "dlch",
730
+ parse: ["--din99o-lch"],
731
+ serialize: "--din99o-lch",
732
+ toMode: {
733
+ lab65: xn,
734
+ dlab: (e) => he(e, "dlab"),
735
+ rgb: (e) => $t(xn(e))
736
+ },
737
+ fromMode: {
738
+ lab65: yn,
739
+ dlab: (e) => pe(e, "dlch"),
740
+ rgb: (e) => yn(zt(e))
741
+ },
742
+ channels: ["l", "c", "h", "alpha"],
743
+ ranges: {
744
+ l: [0, 100],
745
+ c: [0, 51.484],
746
+ h: [0, 360]
747
+ },
748
+ interpolate: {
749
+ l: u,
750
+ c: u,
751
+ h: {
752
+ use: u,
753
+ fixup: ie
754
+ },
755
+ alpha: {
756
+ use: u,
757
+ fixup: C
758
+ }
759
+ },
760
+ difference: {
761
+ h: kt
762
+ },
763
+ average: {
764
+ h: re
765
+ }
766
+ };
767
+ function Sa({ h: e, s: n, i: t, alpha: i }) {
768
+ e = E(e !== void 0 ? e : 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
769
+ let r = Math.abs(e / 60 % 2 - 1), a;
770
+ switch (Math.floor(e / 60)) {
771
+ case 0:
772
+ a = {
773
+ r: t * (1 + n * (3 / (2 - r) - 1)),
774
+ g: t * (1 + n * (3 * (1 - r) / (2 - r) - 1)),
775
+ b: t * (1 - n)
776
+ };
777
+ break;
778
+ case 1:
779
+ a = {
780
+ r: t * (1 + n * (3 * (1 - r) / (2 - r) - 1)),
781
+ g: t * (1 + n * (3 / (2 - r) - 1)),
782
+ b: t * (1 - n)
783
+ };
784
+ break;
785
+ case 2:
786
+ a = {
787
+ r: t * (1 - n),
788
+ g: t * (1 + n * (3 / (2 - r) - 1)),
789
+ b: t * (1 + n * (3 * (1 - r) / (2 - r) - 1))
790
+ };
791
+ break;
792
+ case 3:
793
+ a = {
794
+ r: t * (1 - n),
795
+ g: t * (1 + n * (3 * (1 - r) / (2 - r) - 1)),
796
+ b: t * (1 + n * (3 / (2 - r) - 1))
797
+ };
798
+ break;
799
+ case 4:
800
+ a = {
801
+ r: t * (1 + n * (3 * (1 - r) / (2 - r) - 1)),
802
+ g: t * (1 - n),
803
+ b: t * (1 + n * (3 / (2 - r) - 1))
804
+ };
805
+ break;
806
+ case 5:
807
+ a = {
808
+ r: t * (1 + n * (3 / (2 - r) - 1)),
809
+ g: t * (1 - n),
810
+ b: t * (1 + n * (3 * (1 - r) / (2 - r) - 1))
811
+ };
812
+ break;
813
+ default:
814
+ a = { r: t * (1 - n), g: t * (1 - n), b: t * (1 - n) };
815
+ }
816
+ return a.mode = "rgb", i !== void 0 && (a.alpha = i), a;
817
+ }
818
+ function Ta({ r: e, g: n, b: t, alpha: i }) {
819
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
820
+ let r = Math.max(e, n, t), a = Math.min(e, n, t), s = {
821
+ mode: "hsi",
822
+ s: e + n + t === 0 ? 0 : 1 - 3 * a / (e + n + t),
823
+ i: (e + n + t) / 3
824
+ };
825
+ return r - a !== 0 && (s.h = (r === e ? (n - t) / (r - a) + (n < t) * 6 : r === n ? (t - e) / (r - a) + 2 : (e - n) / (r - a) + 4) * 60), i !== void 0 && (s.alpha = i), s;
826
+ }
827
+ const Ca = {
828
+ mode: "hsi",
829
+ toMode: {
830
+ rgb: Sa
831
+ },
832
+ parse: ["--hsi"],
833
+ serialize: "--hsi",
834
+ fromMode: {
835
+ rgb: Ta
836
+ },
837
+ channels: ["h", "s", "i", "alpha"],
838
+ ranges: {
839
+ h: [0, 360]
840
+ },
841
+ gamut: "rgb",
842
+ interpolate: {
843
+ h: { use: u, fixup: ie },
844
+ s: u,
845
+ i: u,
846
+ alpha: { use: u, fixup: C }
847
+ },
848
+ difference: {
849
+ h: wt
850
+ },
851
+ average: {
852
+ h: re
853
+ }
854
+ };
855
+ function Pa({ h: e, s: n, l: t, alpha: i }) {
856
+ e = E(e !== void 0 ? e : 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
857
+ let r = t + n * (t < 0.5 ? t : 1 - t), a = r - (r - t) * 2 * Math.abs(e / 60 % 2 - 1), s;
858
+ switch (Math.floor(e / 60)) {
859
+ case 0:
860
+ s = { r, g: a, b: 2 * t - r };
861
+ break;
862
+ case 1:
863
+ s = { r: a, g: r, b: 2 * t - r };
864
+ break;
865
+ case 2:
866
+ s = { r: 2 * t - r, g: r, b: a };
867
+ break;
868
+ case 3:
869
+ s = { r: 2 * t - r, g: a, b: r };
870
+ break;
871
+ case 4:
872
+ s = { r: a, g: 2 * t - r, b: r };
873
+ break;
874
+ case 5:
875
+ s = { r, g: 2 * t - r, b: a };
876
+ break;
877
+ default:
878
+ s = { r: 2 * t - r, g: 2 * t - r, b: 2 * t - r };
879
+ }
880
+ return s.mode = "rgb", i !== void 0 && (s.alpha = i), s;
881
+ }
882
+ function Ha({ r: e, g: n, b: t, alpha: i }) {
883
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
884
+ let r = Math.max(e, n, t), a = Math.min(e, n, t), s = {
885
+ mode: "hsl",
886
+ s: r === a ? 0 : (r - a) / (1 - Math.abs(r + a - 1)),
887
+ l: 0.5 * (r + a)
888
+ };
889
+ return r - a !== 0 && (s.h = (r === e ? (n - t) / (r - a) + (n < t) * 6 : r === n ? (t - e) / (r - a) + 2 : (e - n) / (r - a) + 4) * 60), i !== void 0 && (s.alpha = i), s;
890
+ }
891
+ const Ea = (e, n) => {
892
+ switch (n) {
893
+ case "deg":
894
+ return +e;
895
+ case "rad":
896
+ return e / Math.PI * 180;
897
+ case "grad":
898
+ return e / 10 * 9;
899
+ case "turn":
900
+ return e * 360;
901
+ }
902
+ }, Na = new RegExp(
903
+ `^hsla?\\(\\s*${na}${Le}${Be}${Le}${Be}\\s*(?:,\\s*${Xn}\\s*)?\\)$`
904
+ ), Ia = (e) => {
905
+ let n = e.match(Na);
906
+ if (!n) return;
907
+ let t = { mode: "hsl" };
908
+ return n[3] !== void 0 ? t.h = +n[3] : n[1] !== void 0 && n[2] !== void 0 && (t.h = Ea(n[1], n[2])), n[4] !== void 0 && (t.s = Math.min(Math.max(0, n[4] / 100), 1)), n[5] !== void 0 && (t.l = Math.min(Math.max(0, n[5] / 100), 1)), n[6] !== void 0 ? t.alpha = Math.max(0, Math.min(1, n[6] / 100)) : n[7] !== void 0 && (t.alpha = Math.max(0, Math.min(1, +n[7]))), t;
909
+ };
910
+ function qa(e, n) {
911
+ if (!n || n[0] !== "hsl" && n[0] !== "hsla")
912
+ return;
913
+ const t = { mode: "hsl" }, [, i, r, a, s] = n;
914
+ if (i.type !== h.None) {
915
+ if (i.type === h.Percentage)
916
+ return;
917
+ t.h = i.value;
918
+ }
919
+ if (r.type !== h.None) {
920
+ if (r.type === h.Hue)
921
+ return;
922
+ t.s = r.value / 100;
923
+ }
924
+ if (a.type !== h.None) {
925
+ if (a.type === h.Hue)
926
+ return;
927
+ t.l = a.value / 100;
928
+ }
929
+ return s.type !== h.None && (t.alpha = Math.min(
930
+ 1,
931
+ Math.max(
932
+ 0,
933
+ s.type === h.Number ? s.value : s.value / 100
934
+ )
935
+ )), t;
936
+ }
937
+ const Gi = {
938
+ mode: "hsl",
939
+ toMode: {
940
+ rgb: Pa
941
+ },
942
+ fromMode: {
943
+ rgb: Ha
944
+ },
945
+ channels: ["h", "s", "l", "alpha"],
946
+ ranges: {
947
+ h: [0, 360]
948
+ },
949
+ gamut: "rgb",
950
+ parse: [qa, Ia],
951
+ serialize: (e) => `hsl(${e.h !== void 0 ? e.h : "none"} ${e.s !== void 0 ? e.s * 100 + "%" : "none"} ${e.l !== void 0 ? e.l * 100 + "%" : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
952
+ interpolate: {
953
+ h: { use: u, fixup: ie },
954
+ s: u,
955
+ l: u,
956
+ alpha: { use: u, fixup: C }
957
+ },
958
+ difference: {
959
+ h: wt
960
+ },
961
+ average: {
962
+ h: re
963
+ }
964
+ };
965
+ function Vi({ h: e, s: n, v: t, alpha: i }) {
966
+ e = E(e !== void 0 ? e : 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
967
+ let r = Math.abs(e / 60 % 2 - 1), a;
968
+ switch (Math.floor(e / 60)) {
969
+ case 0:
970
+ a = { r: t, g: t * (1 - n * r), b: t * (1 - n) };
971
+ break;
972
+ case 1:
973
+ a = { r: t * (1 - n * r), g: t, b: t * (1 - n) };
974
+ break;
975
+ case 2:
976
+ a = { r: t * (1 - n), g: t, b: t * (1 - n * r) };
977
+ break;
978
+ case 3:
979
+ a = { r: t * (1 - n), g: t * (1 - n * r), b: t };
980
+ break;
981
+ case 4:
982
+ a = { r: t * (1 - n * r), g: t * (1 - n), b: t };
983
+ break;
984
+ case 5:
985
+ a = { r: t, g: t * (1 - n), b: t * (1 - n * r) };
986
+ break;
987
+ default:
988
+ a = { r: t * (1 - n), g: t * (1 - n), b: t * (1 - n) };
989
+ }
990
+ return a.mode = "rgb", i !== void 0 && (a.alpha = i), a;
991
+ }
992
+ function Ji({ r: e, g: n, b: t, alpha: i }) {
993
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
994
+ let r = Math.max(e, n, t), a = Math.min(e, n, t), s = {
995
+ mode: "hsv",
996
+ s: r === 0 ? 0 : 1 - a / r,
997
+ v: r
998
+ };
999
+ return r - a !== 0 && (s.h = (r === e ? (n - t) / (r - a) + (n < t) * 6 : r === n ? (t - e) / (r - a) + 2 : (e - n) / (r - a) + 4) * 60), i !== void 0 && (s.alpha = i), s;
1000
+ }
1001
+ const Ui = {
1002
+ mode: "hsv",
1003
+ toMode: {
1004
+ rgb: Vi
1005
+ },
1006
+ parse: ["--hsv"],
1007
+ serialize: "--hsv",
1008
+ fromMode: {
1009
+ rgb: Ji
1010
+ },
1011
+ channels: ["h", "s", "v", "alpha"],
1012
+ ranges: {
1013
+ h: [0, 360]
1014
+ },
1015
+ gamut: "rgb",
1016
+ interpolate: {
1017
+ h: { use: u, fixup: ie },
1018
+ s: u,
1019
+ v: u,
1020
+ alpha: { use: u, fixup: C }
1021
+ },
1022
+ difference: {
1023
+ h: wt
1024
+ },
1025
+ average: {
1026
+ h: re
1027
+ }
1028
+ };
1029
+ function Ra({ h: e, w: n, b: t, alpha: i }) {
1030
+ if (n === void 0 && (n = 0), t === void 0 && (t = 0), n + t > 1) {
1031
+ let r = n + t;
1032
+ n /= r, t /= r;
1033
+ }
1034
+ return Vi({
1035
+ h: e,
1036
+ s: t === 1 ? 1 : 1 - n / (1 - t),
1037
+ v: 1 - t,
1038
+ alpha: i
1039
+ });
1040
+ }
1041
+ function Fa(e) {
1042
+ let n = Ji(e);
1043
+ if (n === void 0) return;
1044
+ let t = n.s !== void 0 ? n.s : 0, i = n.v !== void 0 ? n.v : 0, r = {
1045
+ mode: "hwb",
1046
+ w: (1 - t) * i,
1047
+ b: 1 - i
1048
+ };
1049
+ return n.h !== void 0 && (r.h = n.h), n.alpha !== void 0 && (r.alpha = n.alpha), r;
1050
+ }
1051
+ function Xa(e, n) {
1052
+ if (!n || n[0] !== "hwb")
1053
+ return;
1054
+ const t = { mode: "hwb" }, [, i, r, a, s] = n;
1055
+ if (i.type !== h.None) {
1056
+ if (i.type === h.Percentage)
1057
+ return;
1058
+ t.h = i.value;
1059
+ }
1060
+ if (r.type !== h.None) {
1061
+ if (r.type === h.Hue)
1062
+ return;
1063
+ t.w = r.value / 100;
1064
+ }
1065
+ if (a.type !== h.None) {
1066
+ if (a.type === h.Hue)
1067
+ return;
1068
+ t.b = a.value / 100;
1069
+ }
1070
+ return s.type !== h.None && (t.alpha = Math.min(
1071
+ 1,
1072
+ Math.max(
1073
+ 0,
1074
+ s.type === h.Number ? s.value : s.value / 100
1075
+ )
1076
+ )), t;
1077
+ }
1078
+ const Da = {
1079
+ mode: "hwb",
1080
+ toMode: {
1081
+ rgb: Ra
1082
+ },
1083
+ fromMode: {
1084
+ rgb: Fa
1085
+ },
1086
+ channels: ["h", "w", "b", "alpha"],
1087
+ ranges: {
1088
+ h: [0, 360]
1089
+ },
1090
+ gamut: "rgb",
1091
+ parse: [Xa],
1092
+ serialize: (e) => `hwb(${e.h !== void 0 ? e.h : "none"} ${e.w !== void 0 ? e.w * 100 + "%" : "none"} ${e.b !== void 0 ? e.b * 100 + "%" : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
1093
+ interpolate: {
1094
+ h: { use: u, fixup: ie },
1095
+ w: u,
1096
+ b: u,
1097
+ alpha: { use: u, fixup: C }
1098
+ },
1099
+ difference: {
1100
+ h: za
1101
+ },
1102
+ average: {
1103
+ h: re
1104
+ }
1105
+ }, Ki = 203, At = 0.1593017578125, Qi = 78.84375, _t = 0.8359375, Lt = 18.8515625, St = 18.6875;
1106
+ function Gt(e) {
1107
+ if (e < 0) return 0;
1108
+ const n = Math.pow(e, 1 / Qi);
1109
+ return 1e4 * Math.pow(Math.max(0, n - _t) / (Lt - St * n), 1 / At);
1110
+ }
1111
+ function Vt(e) {
1112
+ if (e < 0) return 0;
1113
+ const n = Math.pow(e / 1e4, At);
1114
+ return Math.pow((_t + Lt * n) / (1 + St * n), Qi);
1115
+ }
1116
+ const Jt = (e) => Math.max(e / Ki, 0), di = ({ i: e, t: n, p: t, alpha: i }) => {
1117
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1118
+ const r = Gt(
1119
+ e + 0.008609037037932761 * n + 0.11102962500302593 * t
1120
+ ), a = Gt(
1121
+ e - 0.00860903703793275 * n - 0.11102962500302599 * t
1122
+ ), s = Gt(
1123
+ e + 0.5600313357106791 * n - 0.32062717498731885 * t
1124
+ ), c = {
1125
+ mode: "xyz65",
1126
+ x: Jt(
1127
+ 2.070152218389422 * r - 1.3263473389671556 * a + 0.2066510476294051 * s
1128
+ ),
1129
+ y: Jt(
1130
+ 0.3647385209748074 * r + 0.680566024947227 * a - 0.0453045459220346 * s
1131
+ ),
1132
+ z: Jt(
1133
+ -0.049747207535812 * r - 0.0492609666966138 * a + 1.1880659249923042 * s
1134
+ )
1135
+ };
1136
+ return i !== void 0 && (c.alpha = i), c;
1137
+ }, Ut = (e = 0) => Math.max(e * Ki, 0), pi = ({ x: e, y: n, z: t, alpha: i }) => {
1138
+ const r = Ut(e), a = Ut(n), s = Ut(t), c = Vt(
1139
+ 0.3592832590121217 * r + 0.6976051147779502 * a - 0.0358915932320289 * s
1140
+ ), p = Vt(
1141
+ -0.1920808463704995 * r + 1.1004767970374323 * a + 0.0753748658519118 * s
1142
+ ), f = Vt(
1143
+ 0.0070797844607477 * r + 0.0748396662186366 * a + 0.8433265453898765 * s
1144
+ ), b = 0.5 * c + 0.5 * p, x = 1.61376953125 * c - 3.323486328125 * p + 1.709716796875 * f, v = 4.378173828125 * c - 4.24560546875 * p - 0.132568359375 * f, M = { mode: "itp", i: b, t: x, p: v };
1145
+ return i !== void 0 && (M.alpha = i), M;
1146
+ }, Oa = {
1147
+ mode: "itp",
1148
+ channels: ["i", "t", "p", "alpha"],
1149
+ parse: ["--ictcp"],
1150
+ serialize: "--ictcp",
1151
+ toMode: {
1152
+ xyz65: di,
1153
+ rgb: (e) => xe(di(e))
1154
+ },
1155
+ fromMode: {
1156
+ xyz65: pi,
1157
+ rgb: (e) => pi(ve(e))
1158
+ },
1159
+ ranges: {
1160
+ i: [0, 0.581],
1161
+ t: [-0.369, 0.272],
1162
+ p: [-0.164, 0.331]
1163
+ },
1164
+ interpolate: {
1165
+ i: u,
1166
+ t: u,
1167
+ p: u,
1168
+ alpha: { use: u, fixup: C }
1169
+ }
1170
+ }, ja = 134.03437499999998, Za = 16295499532821565e-27, Kt = (e) => {
1171
+ if (e < 0) return 0;
1172
+ let n = Math.pow(e / 1e4, At);
1173
+ return Math.pow((_t + Lt * n) / (1 + St * n), ja);
1174
+ }, Qt = (e = 0) => Math.max(e * 203, 0), er = ({ x: e, y: n, z: t, alpha: i }) => {
1175
+ e = Qt(e), n = Qt(n), t = Qt(t);
1176
+ let r = 1.15 * e - 0.15 * t, a = 0.66 * n + 0.34 * e, s = Kt(0.41478972 * r + 0.579999 * a + 0.014648 * t), c = Kt(-0.20151 * r + 1.120649 * a + 0.0531008 * t), p = Kt(-0.0166008 * r + 0.2648 * a + 0.6684799 * t), f = (s + c) / 2, b = {
1177
+ mode: "jab",
1178
+ j: 0.44 * f / (1 - 0.56 * f) - Za,
1179
+ a: 3.524 * s - 4.066708 * c + 0.542708 * p,
1180
+ b: 0.199076 * s + 1.096799 * c - 1.295875 * p
1181
+ };
1182
+ return i !== void 0 && (b.alpha = i), b;
1183
+ }, Ya = 134.03437499999998, hi = 16295499532821565e-27, en = (e) => {
1184
+ if (e < 0) return 0;
1185
+ let n = Math.pow(e, 1 / Ya);
1186
+ return 1e4 * Math.pow((_t - n) / (St * n - Lt), 1 / At);
1187
+ }, tn = (e) => e / 203, tr = ({ j: e, a: n, b: t, alpha: i }) => {
1188
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1189
+ let r = (e + hi) / (0.44 + 0.56 * (e + hi)), a = en(r + 0.13860504 * n + 0.058047316 * t), s = en(r - 0.13860504 * n - 0.058047316 * t), c = en(r - 0.096019242 * n - 0.8118919 * t), p = {
1190
+ mode: "xyz65",
1191
+ x: tn(
1192
+ 1.661373024652174 * a - 0.914523081304348 * s + 0.23136208173913045 * c
1193
+ ),
1194
+ y: tn(
1195
+ -0.3250758611844533 * a + 1.571847026732543 * s - 0.21825383453227928 * c
1196
+ ),
1197
+ z: tn(-0.090982811 * a - 0.31272829 * s + 1.5227666 * c)
1198
+ };
1199
+ return i !== void 0 && (p.alpha = i), p;
1200
+ }, nr = (e) => {
1201
+ let n = er(ve(e));
1202
+ return e.r === e.b && e.b === e.g && (n.a = n.b = 0), n;
1203
+ }, ir = (e) => xe(tr(e)), Ba = {
1204
+ mode: "jab",
1205
+ channels: ["j", "a", "b", "alpha"],
1206
+ parse: ["--jzazbz"],
1207
+ serialize: "--jzazbz",
1208
+ fromMode: {
1209
+ rgb: nr,
1210
+ xyz65: er
1211
+ },
1212
+ toMode: {
1213
+ rgb: ir,
1214
+ xyz65: tr
1215
+ },
1216
+ ranges: {
1217
+ j: [0, 0.222],
1218
+ a: [-0.109, 0.129],
1219
+ b: [-0.185, 0.134]
1220
+ },
1221
+ interpolate: {
1222
+ j: u,
1223
+ a: u,
1224
+ b: u,
1225
+ alpha: { use: u, fixup: C }
1226
+ }
1227
+ }, ui = ({ j: e, a: n, b: t, alpha: i }) => {
1228
+ n === void 0 && (n = 0), t === void 0 && (t = 0);
1229
+ let r = Math.sqrt(n * n + t * t), a = {
1230
+ mode: "jch",
1231
+ j: e,
1232
+ c: r
1233
+ };
1234
+ return r && (a.h = E(Math.atan2(t, n) * 180 / Math.PI)), i !== void 0 && (a.alpha = i), a;
1235
+ }, fi = ({ j: e, c: n, h: t, alpha: i }) => {
1236
+ t === void 0 && (t = 0);
1237
+ let r = {
1238
+ mode: "jab",
1239
+ j: e,
1240
+ a: n ? n * Math.cos(t / 180 * Math.PI) : 0,
1241
+ b: n ? n * Math.sin(t / 180 * Math.PI) : 0
1242
+ };
1243
+ return i !== void 0 && (r.alpha = i), r;
1244
+ }, Wa = {
1245
+ mode: "jch",
1246
+ parse: ["--jzczhz"],
1247
+ serialize: "--jzczhz",
1248
+ toMode: {
1249
+ jab: fi,
1250
+ rgb: (e) => ir(fi(e))
1251
+ },
1252
+ fromMode: {
1253
+ rgb: (e) => ui(nr(e)),
1254
+ jab: ui
1255
+ },
1256
+ channels: ["j", "c", "h", "alpha"],
1257
+ ranges: {
1258
+ j: [0, 0.221],
1259
+ c: [0, 0.19],
1260
+ h: [0, 360]
1261
+ },
1262
+ interpolate: {
1263
+ h: { use: u, fixup: ie },
1264
+ c: u,
1265
+ j: u,
1266
+ alpha: { use: u, fixup: C }
1267
+ },
1268
+ difference: {
1269
+ h: kt
1270
+ },
1271
+ average: {
1272
+ h: re
1273
+ }
1274
+ }, Tt = Math.pow(29, 3) / Math.pow(3, 3), Dn = Math.pow(6, 3) / Math.pow(29, 3);
1275
+ let nn = (e) => Math.pow(e, 3) > Dn ? Math.pow(e, 3) : (116 * e - 16) / Tt;
1276
+ const On = ({ l: e, a: n, b: t, alpha: i }) => {
1277
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1278
+ let r = (e + 16) / 116, a = n / 500 + r, s = r - t / 200, c = {
1279
+ mode: "xyz50",
1280
+ x: nn(a) * S.X,
1281
+ y: nn(r) * S.Y,
1282
+ z: nn(s) * S.Z
1283
+ };
1284
+ return i !== void 0 && (c.alpha = i), c;
1285
+ }, Ke = ({ x: e, y: n, z: t, alpha: i }) => {
1286
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1287
+ let r = Ce({
1288
+ r: e * 3.1341359569958707 - n * 1.6173863321612538 - 0.4906619460083532 * t,
1289
+ g: e * -0.978795502912089 + n * 1.916254567259524 + 0.03344273116131949 * t,
1290
+ b: e * 0.07195537988411677 - n * 0.2289768264158322 + 1.405386058324125 * t
1291
+ });
1292
+ return i !== void 0 && (r.alpha = i), r;
1293
+ }, rr = (e) => Ke(On(e)), Qe = (e) => {
1294
+ let { r: n, g: t, b: i, alpha: r } = Te(e), a = {
1295
+ mode: "xyz50",
1296
+ x: 0.436065742824811 * n + 0.3851514688337912 * t + 0.14307845442264197 * i,
1297
+ y: 0.22249319175623702 * n + 0.7168870538238823 * t + 0.06061979053616537 * i,
1298
+ z: 0.013923904500943465 * n + 0.09708128566574634 * t + 0.7140993584005155 * i
1299
+ };
1300
+ return r !== void 0 && (a.alpha = r), a;
1301
+ }, rn = (e) => e > Dn ? Math.cbrt(e) : (Tt * e + 16) / 116, jn = ({ x: e, y: n, z: t, alpha: i }) => {
1302
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1303
+ let r = rn(e / S.X), a = rn(n / S.Y), s = rn(t / S.Z), c = {
1304
+ mode: "lab",
1305
+ l: 116 * a - 16,
1306
+ a: 500 * (r - a),
1307
+ b: 200 * (a - s)
1308
+ };
1309
+ return i !== void 0 && (c.alpha = i), c;
1310
+ }, ar = (e) => {
1311
+ let n = jn(Qe(e));
1312
+ return e.r === e.b && e.b === e.g && (n.a = n.b = 0), n;
1313
+ };
1314
+ function Ga(e, n) {
1315
+ if (!n || n[0] !== "lab")
1316
+ return;
1317
+ const t = { mode: "lab" }, [, i, r, a, s] = n;
1318
+ if (!(i.type === h.Hue || r.type === h.Hue || a.type === h.Hue))
1319
+ return i.type !== h.None && (t.l = Math.min(Math.max(0, i.value), 100)), r.type !== h.None && (t.a = r.type === h.Number ? r.value : r.value * 125 / 100), a.type !== h.None && (t.b = a.type === h.Number ? a.value : a.value * 125 / 100), s.type !== h.None && (t.alpha = Math.min(
1320
+ 1,
1321
+ Math.max(
1322
+ 0,
1323
+ s.type === h.Number ? s.value : s.value / 100
1324
+ )
1325
+ )), t;
1326
+ }
1327
+ const Zn = {
1328
+ mode: "lab",
1329
+ toMode: {
1330
+ xyz50: On,
1331
+ rgb: rr
1332
+ },
1333
+ fromMode: {
1334
+ xyz50: jn,
1335
+ rgb: ar
1336
+ },
1337
+ channels: ["l", "a", "b", "alpha"],
1338
+ ranges: {
1339
+ l: [0, 100],
1340
+ a: [-125, 125],
1341
+ b: [-125, 125]
1342
+ },
1343
+ parse: [Ga],
1344
+ serialize: (e) => `lab(${e.l !== void 0 ? e.l : "none"} ${e.a !== void 0 ? e.a : "none"} ${e.b !== void 0 ? e.b : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
1345
+ interpolate: {
1346
+ l: u,
1347
+ a: u,
1348
+ b: u,
1349
+ alpha: { use: u, fixup: C }
1350
+ }
1351
+ }, Va = {
1352
+ ...Zn,
1353
+ mode: "lab65",
1354
+ parse: ["--lab-d65"],
1355
+ serialize: "--lab-d65",
1356
+ toMode: {
1357
+ xyz65: Zi,
1358
+ rgb: $t
1359
+ },
1360
+ fromMode: {
1361
+ xyz65: Yi,
1362
+ rgb: zt
1363
+ },
1364
+ ranges: {
1365
+ l: [0, 100],
1366
+ a: [-125, 125],
1367
+ b: [-125, 125]
1368
+ }
1369
+ };
1370
+ function Ja(e, n) {
1371
+ if (!n || n[0] !== "lch")
1372
+ return;
1373
+ const t = { mode: "lch" }, [, i, r, a, s] = n;
1374
+ if (i.type !== h.None) {
1375
+ if (i.type === h.Hue)
1376
+ return;
1377
+ t.l = Math.min(Math.max(0, i.value), 100);
1378
+ }
1379
+ if (r.type !== h.None && (t.c = Math.max(
1380
+ 0,
1381
+ r.type === h.Number ? r.value : r.value * 150 / 100
1382
+ )), a.type !== h.None) {
1383
+ if (a.type === h.Percentage)
1384
+ return;
1385
+ t.h = a.value;
1386
+ }
1387
+ return s.type !== h.None && (t.alpha = Math.min(
1388
+ 1,
1389
+ Math.max(
1390
+ 0,
1391
+ s.type === h.Number ? s.value : s.value / 100
1392
+ )
1393
+ )), t;
1394
+ }
1395
+ const Yn = {
1396
+ mode: "lch",
1397
+ toMode: {
1398
+ lab: he,
1399
+ rgb: (e) => rr(he(e))
1400
+ },
1401
+ fromMode: {
1402
+ rgb: (e) => pe(ar(e)),
1403
+ lab: pe
1404
+ },
1405
+ channels: ["l", "c", "h", "alpha"],
1406
+ ranges: {
1407
+ l: [0, 100],
1408
+ c: [0, 150],
1409
+ h: [0, 360]
1410
+ },
1411
+ parse: [Ja],
1412
+ serialize: (e) => `lch(${e.l !== void 0 ? e.l : "none"} ${e.c !== void 0 ? e.c : "none"} ${e.h !== void 0 ? e.h : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
1413
+ interpolate: {
1414
+ h: { use: u, fixup: ie },
1415
+ c: u,
1416
+ l: u,
1417
+ alpha: { use: u, fixup: C }
1418
+ },
1419
+ difference: {
1420
+ h: kt
1421
+ },
1422
+ average: {
1423
+ h: re
1424
+ }
1425
+ }, Ua = {
1426
+ ...Yn,
1427
+ mode: "lch65",
1428
+ parse: ["--lch-d65"],
1429
+ serialize: "--lch-d65",
1430
+ toMode: {
1431
+ lab65: (e) => he(e, "lab65"),
1432
+ rgb: (e) => $t(he(e, "lab65"))
1433
+ },
1434
+ fromMode: {
1435
+ rgb: (e) => pe(zt(e), "lch65"),
1436
+ lab65: (e) => pe(e, "lch65")
1437
+ },
1438
+ ranges: {
1439
+ l: [0, 100],
1440
+ c: [0, 150],
1441
+ h: [0, 360]
1442
+ }
1443
+ }, sr = ({ l: e, u: n, v: t, alpha: i }) => {
1444
+ n === void 0 && (n = 0), t === void 0 && (t = 0);
1445
+ let r = Math.sqrt(n * n + t * t), a = {
1446
+ mode: "lchuv",
1447
+ l: e,
1448
+ c: r
1449
+ };
1450
+ return r && (a.h = E(Math.atan2(t, n) * 180 / Math.PI)), i !== void 0 && (a.alpha = i), a;
1451
+ }, or = ({ l: e, c: n, h: t, alpha: i }) => {
1452
+ t === void 0 && (t = 0);
1453
+ let r = {
1454
+ mode: "luv",
1455
+ l: e,
1456
+ u: n ? n * Math.cos(t / 180 * Math.PI) : 0,
1457
+ v: n ? n * Math.sin(t / 180 * Math.PI) : 0
1458
+ };
1459
+ return i !== void 0 && (r.alpha = i), r;
1460
+ }, lr = (e, n, t) => 4 * e / (e + 15 * n + 3 * t), cr = (e, n, t) => 9 * n / (e + 15 * n + 3 * t), Ka = lr(S.X, S.Y, S.Z), Qa = cr(S.X, S.Y, S.Z), es = (e) => e <= Dn ? Tt * e : 116 * Math.cbrt(e) - 16, Mn = ({ x: e, y: n, z: t, alpha: i }) => {
1461
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1462
+ let r = es(n / S.Y), a = lr(e, n, t), s = cr(e, n, t);
1463
+ !isFinite(a) || !isFinite(s) ? r = a = s = 0 : (a = 13 * r * (a - Ka), s = 13 * r * (s - Qa));
1464
+ let c = {
1465
+ mode: "luv",
1466
+ l: r,
1467
+ u: a,
1468
+ v: s
1469
+ };
1470
+ return i !== void 0 && (c.alpha = i), c;
1471
+ }, ts = (e, n, t) => 4 * e / (e + 15 * n + 3 * t), ns = (e, n, t) => 9 * n / (e + 15 * n + 3 * t), is = ts(S.X, S.Y, S.Z), rs = ns(S.X, S.Y, S.Z), wn = ({ l: e, u: n, v: t, alpha: i }) => {
1472
+ if (e === void 0 && (e = 0), e === 0)
1473
+ return { mode: "xyz50", x: 0, y: 0, z: 0 };
1474
+ n === void 0 && (n = 0), t === void 0 && (t = 0);
1475
+ let r = n / (13 * e) + is, a = t / (13 * e) + rs, s = S.Y * (e <= 8 ? e / Tt : Math.pow((e + 16) / 116, 3)), c = s * (9 * r) / (4 * a), p = s * (12 - 3 * r - 20 * a) / (4 * a), f = { mode: "xyz50", x: c, y: s, z: p };
1476
+ return i !== void 0 && (f.alpha = i), f;
1477
+ }, as = (e) => sr(Mn(Qe(e))), ss = (e) => Ke(wn(or(e))), os = {
1478
+ mode: "lchuv",
1479
+ toMode: {
1480
+ luv: or,
1481
+ rgb: ss
1482
+ },
1483
+ fromMode: {
1484
+ rgb: as,
1485
+ luv: sr
1486
+ },
1487
+ channels: ["l", "c", "h", "alpha"],
1488
+ parse: ["--lchuv"],
1489
+ serialize: "--lchuv",
1490
+ ranges: {
1491
+ l: [0, 100],
1492
+ c: [0, 176.956],
1493
+ h: [0, 360]
1494
+ },
1495
+ interpolate: {
1496
+ h: { use: u, fixup: ie },
1497
+ c: u,
1498
+ l: u,
1499
+ alpha: { use: u, fixup: C }
1500
+ },
1501
+ difference: {
1502
+ h: kt
1503
+ },
1504
+ average: {
1505
+ h: re
1506
+ }
1507
+ }, ls = {
1508
+ ...Se,
1509
+ mode: "lrgb",
1510
+ toMode: {
1511
+ rgb: Ce
1512
+ },
1513
+ fromMode: {
1514
+ rgb: Te
1515
+ },
1516
+ parse: ["srgb-linear"],
1517
+ serialize: "srgb-linear"
1518
+ }, cs = {
1519
+ mode: "luv",
1520
+ toMode: {
1521
+ xyz50: wn,
1522
+ rgb: (e) => Ke(wn(e))
1523
+ },
1524
+ fromMode: {
1525
+ xyz50: Mn,
1526
+ rgb: (e) => Mn(Qe(e))
1527
+ },
1528
+ channels: ["l", "u", "v", "alpha"],
1529
+ parse: ["--luv"],
1530
+ serialize: "--luv",
1531
+ ranges: {
1532
+ l: [0, 100],
1533
+ u: [-84.936, 175.042],
1534
+ v: [-125.882, 87.243]
1535
+ },
1536
+ interpolate: {
1537
+ l: u,
1538
+ u,
1539
+ v: u,
1540
+ alpha: { use: u, fixup: C }
1541
+ }
1542
+ }, dr = ({ r: e, g: n, b: t, alpha: i }) => {
1543
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1544
+ let r = Math.cbrt(
1545
+ 0.412221469470763 * e + 0.5363325372617348 * n + 0.0514459932675022 * t
1546
+ ), a = Math.cbrt(
1547
+ 0.2119034958178252 * e + 0.6806995506452344 * n + 0.1073969535369406 * t
1548
+ ), s = Math.cbrt(
1549
+ 0.0883024591900564 * e + 0.2817188391361215 * n + 0.6299787016738222 * t
1550
+ ), c = {
1551
+ mode: "oklab",
1552
+ l: 0.210454268309314 * r + 0.7936177747023054 * a - 0.0040720430116193 * s,
1553
+ a: 1.9779985324311684 * r - 2.42859224204858 * a + 0.450593709617411 * s,
1554
+ b: 0.0259040424655478 * r + 0.7827717124575296 * a - 0.8086757549230774 * s
1555
+ };
1556
+ return i !== void 0 && (c.alpha = i), c;
1557
+ }, Ct = (e) => {
1558
+ let n = dr(Te(e));
1559
+ return e.r === e.b && e.b === e.g && (n.a = n.b = 0), n;
1560
+ }, et = ({ l: e, a: n, b: t, alpha: i }) => {
1561
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1562
+ let r = Math.pow(e + 0.3963377773761749 * n + 0.2158037573099136 * t, 3), a = Math.pow(e - 0.1055613458156586 * n - 0.0638541728258133 * t, 3), s = Math.pow(e - 0.0894841775298119 * n - 1.2914855480194092 * t, 3), c = {
1563
+ mode: "lrgb",
1564
+ r: 4.076741636075957 * r - 3.3077115392580616 * a + 0.2309699031821044 * s,
1565
+ g: -1.2684379732850317 * r + 2.6097573492876887 * a - 0.3413193760026573 * s,
1566
+ b: -0.0041960761386756 * r - 0.7034186179359362 * a + 1.7076146940746117 * s
1567
+ };
1568
+ return i !== void 0 && (c.alpha = i), c;
1569
+ }, Pt = (e) => Ce(et(e));
1570
+ function kn(e) {
1571
+ const i = 1.170873786407767;
1572
+ return 0.5 * (i * e - 0.206 + Math.sqrt((i * e - 0.206) * (i * e - 0.206) + 4 * 0.03 * i * e));
1573
+ }
1574
+ function mt(e) {
1575
+ return (e * e + 0.206 * e) / (1.170873786407767 * (e + 0.03));
1576
+ }
1577
+ function ds(e, n) {
1578
+ let t, i, r, a, s, c, p, f;
1579
+ -1.88170328 * e - 0.80936493 * n > 1 ? (t = 1.19086277, i = 1.76576728, r = 0.59662641, a = 0.75515197, s = 0.56771245, c = 4.0767416621, p = -3.3077115913, f = 0.2309699292) : 1.81444104 * e - 1.19445276 * n > 1 ? (t = 0.73956515, i = -0.45954404, r = 0.08285427, a = 0.1254107, s = 0.14503204, c = -1.2684380046, p = 2.6097574011, f = -0.3413193965) : (t = 1.35733652, i = -915799e-8, r = -1.1513021, a = -0.50559606, s = 692167e-8, c = -0.0041960863, p = -0.7034186147, f = 1.707614701);
1580
+ let b = t + i * e + r * n + a * e * e + s * e * n, x = 0.3963377774 * e + 0.2158037573 * n, v = -0.1055613458 * e - 0.0638541728 * n, M = -0.0894841775 * e - 1.291485548 * n;
1581
+ {
1582
+ let A = 1 + b * x, z = 1 + b * v, _ = 1 + b * M, T = A * A * A, L = z * z * z, ae = _ * _ * _, He = 3 * x * A * A, Ee = 3 * v * z * z, Ne = 3 * M * _ * _, Ie = 6 * x * x * A, qe = 6 * v * v * z, Re = 6 * M * M * _, ye = c * T + p * L + f * ae, ue = c * He + p * Ee + f * Ne, Fe = c * Ie + p * qe + f * Re;
1583
+ b = b - ye * ue / (ue * ue - 0.5 * ye * Fe);
1584
+ }
1585
+ return b;
1586
+ }
1587
+ function Bn(e, n) {
1588
+ let t = ds(e, n), i = et({ l: 1, a: t * e, b: t * n }), r = Math.cbrt(1 / Math.max(i.r, i.g, i.b)), a = r * t;
1589
+ return [r, a];
1590
+ }
1591
+ function ps(e, n, t, i, r, a = null) {
1592
+ a || (a = Bn(e, n));
1593
+ let s;
1594
+ if ((t - r) * a[1] - (a[0] - r) * i <= 0)
1595
+ s = a[1] * r / (i * a[0] + a[1] * (r - t));
1596
+ else {
1597
+ s = a[1] * (r - 1) / (i * (a[0] - 1) + a[1] * (r - t));
1598
+ {
1599
+ let c = t - r, p = i, f = 0.3963377774 * e + 0.2158037573 * n, b = -0.1055613458 * e - 0.0638541728 * n, x = -0.0894841775 * e - 1.291485548 * n, v = c + p * f, M = c + p * b, A = c + p * x;
1600
+ {
1601
+ let z = r * (1 - s) + s * t, _ = s * i, T = z + _ * f, L = z + _ * b, ae = z + _ * x, He = T * T * T, Ee = L * L * L, Ne = ae * ae * ae, Ie = 3 * v * T * T, qe = 3 * M * L * L, Re = 3 * A * ae * ae, ye = 6 * v * v * T, ue = 6 * M * M * L, Fe = 6 * A * A * ae, Vn = 4.0767416621 * He - 3.3077115913 * Ee + 0.2309699292 * Ne - 1, Nt = 4.0767416621 * Ie - 3.3077115913 * qe + 0.2309699292 * Re, Wr = 4.0767416621 * ye - 3.3077115913 * ue + 0.2309699292 * Fe, Jn = Nt / (Nt * Nt - 0.5 * Vn * Wr), It = -Vn * Jn, Un = -1.2684380046 * He + 2.6097574011 * Ee - 0.3413193965 * Ne - 1, qt = -1.2684380046 * Ie + 2.6097574011 * qe - 0.3413193965 * Re, Gr = -1.2684380046 * ye + 2.6097574011 * ue - 0.3413193965 * Fe, Kn = qt / (qt * qt - 0.5 * Un * Gr), Rt = -Un * Kn, Qn = -0.0041960863 * He - 0.7034186147 * Ee + 1.707614701 * Ne - 1, Ft = -0.0041960863 * Ie - 0.7034186147 * qe + 1.707614701 * Re, Vr = -0.0041960863 * ye - 0.7034186147 * ue + 1.707614701 * Fe, ei = Ft / (Ft * Ft - 0.5 * Qn * Vr), Xt = -Qn * ei;
1602
+ It = Jn >= 0 ? It : 1e6, Rt = Kn >= 0 ? Rt : 1e6, Xt = ei >= 0 ? Xt : 1e6, s += Math.min(It, Math.min(Rt, Xt));
1603
+ }
1604
+ }
1605
+ }
1606
+ return s;
1607
+ }
1608
+ function Wn(e, n, t = null) {
1609
+ t || (t = Bn(e, n));
1610
+ let i = t[0], r = t[1];
1611
+ return [r / i, r / (1 - i)];
1612
+ }
1613
+ function pr(e, n, t) {
1614
+ let i = Bn(n, t), r = ps(n, t, e, 1, e, i), a = Wn(n, t, i), s = 0.11516993 + 1 / (7.4477897 + 4.1590124 * t + n * (-2.19557347 + 1.75198401 * t + n * (-2.13704948 - 10.02301043 * t + n * (-4.24894561 + 5.38770819 * t + 4.69891013 * n)))), c = 0.11239642 + 1 / (1.6132032 - 0.68124379 * t + n * (0.40370612 + 0.90148123 * t + n * (-0.27087943 + 0.6122399 * t + n * (299215e-8 - 0.45399568 * t - 0.14661872 * n)))), p = r / Math.min(e * a[0], (1 - e) * a[1]), f = e * s, b = (1 - e) * c, x = 0.9 * p * Math.sqrt(
1615
+ Math.sqrt(
1616
+ 1 / (1 / (f * f * f * f) + 1 / (b * b * b * b))
1617
+ )
1618
+ );
1619
+ return f = e * 0.4, b = (1 - e) * 0.8, [Math.sqrt(1 / (1 / (f * f) + 1 / (b * b))), x, r];
1620
+ }
1621
+ function bi(e) {
1622
+ const n = e.l !== void 0 ? e.l : 0, t = e.a !== void 0 ? e.a : 0, i = e.b !== void 0 ? e.b : 0, r = { mode: "okhsl", l: kn(n) };
1623
+ e.alpha !== void 0 && (r.alpha = e.alpha);
1624
+ let a = Math.sqrt(t * t + i * i);
1625
+ if (!a)
1626
+ return r.s = 0, r;
1627
+ let [s, c, p] = pr(n, t / a, i / a), f;
1628
+ if (a < c) {
1629
+ let b = 0, x = 0.8 * s, v = 1 - x / c;
1630
+ f = (a - b) / (x + v * (a - b)) * 0.8;
1631
+ } else {
1632
+ let b = c, x = 0.2 * c * c * 1.25 * 1.25 / s, v = 1 - x / (p - c);
1633
+ f = 0.8 + 0.2 * ((a - b) / (x + v * (a - b)));
1634
+ }
1635
+ return f && (r.s = f, r.h = E(Math.atan2(i, t) * 180 / Math.PI)), r;
1636
+ }
1637
+ function gi(e) {
1638
+ let n = e.h !== void 0 ? e.h : 0, t = e.s !== void 0 ? e.s : 0, i = e.l !== void 0 ? e.l : 0;
1639
+ const r = { mode: "oklab", l: mt(i) };
1640
+ if (e.alpha !== void 0 && (r.alpha = e.alpha), !t || i === 1)
1641
+ return r.a = r.b = 0, r;
1642
+ let a = Math.cos(n / 180 * Math.PI), s = Math.sin(n / 180 * Math.PI), [c, p, f] = pr(r.l, a, s), b, x, v, M;
1643
+ t < 0.8 ? (b = 1.25 * t, x = 0, v = 0.8 * c, M = 1 - v / p) : (b = 5 * (t - 0.8), x = p, v = 0.2 * p * p * 1.25 * 1.25 / c, M = 1 - v / (f - p));
1644
+ let A = x + b * v / (1 - M * b);
1645
+ return r.a = A * a, r.b = A * s, r;
1646
+ }
1647
+ const hs = {
1648
+ ...Gi,
1649
+ mode: "okhsl",
1650
+ channels: ["h", "s", "l", "alpha"],
1651
+ parse: ["--okhsl"],
1652
+ serialize: "--okhsl",
1653
+ fromMode: {
1654
+ oklab: bi,
1655
+ rgb: (e) => bi(Ct(e))
1656
+ },
1657
+ toMode: {
1658
+ oklab: gi,
1659
+ rgb: (e) => Pt(gi(e))
1660
+ }
1661
+ };
1662
+ function mi(e) {
1663
+ let n = e.l !== void 0 ? e.l : 0, t = e.a !== void 0 ? e.a : 0, i = e.b !== void 0 ? e.b : 0, r = Math.sqrt(t * t + i * i), a = r ? t / r : 1, s = r ? i / r : 1, [c, p] = Wn(a, s), f = 0.5, b = 1 - f / c, x = p / (r + n * p), v = x * n, M = x * r, A = mt(v), z = M * A / v, _ = et({ l: A, a: a * z, b: s * z }), T = Math.cbrt(
1664
+ 1 / Math.max(_.r, _.g, _.b, 0)
1665
+ );
1666
+ n = n / T, r = r / T * kn(n) / n, n = kn(n);
1667
+ const L = {
1668
+ mode: "okhsv",
1669
+ s: r ? (f + p) * M / (p * f + p * b * M) : 0,
1670
+ v: n ? n / v : 0
1671
+ };
1672
+ return L.s && (L.h = E(Math.atan2(i, t) * 180 / Math.PI)), e.alpha !== void 0 && (L.alpha = e.alpha), L;
1673
+ }
1674
+ function vi(e) {
1675
+ const n = { mode: "oklab" };
1676
+ e.alpha !== void 0 && (n.alpha = e.alpha);
1677
+ const t = e.h !== void 0 ? e.h : 0, i = e.s !== void 0 ? e.s : 0, r = e.v !== void 0 ? e.v : 0, a = Math.cos(t / 180 * Math.PI), s = Math.sin(t / 180 * Math.PI), [c, p] = Wn(a, s), f = 0.5, b = 1 - f / c, x = 1 - i * f / (f + p - p * b * i), v = i * p * f / (f + p - p * b * i), M = mt(x), A = v * M / x, z = et({
1678
+ l: M,
1679
+ a: a * A,
1680
+ b: s * A
1681
+ }), _ = Math.cbrt(
1682
+ 1 / Math.max(z.r, z.g, z.b, 0)
1683
+ ), T = mt(r * x), L = v * T / x;
1684
+ return n.l = T * _, n.a = L * a * _, n.b = L * s * _, n;
1685
+ }
1686
+ const us = {
1687
+ ...Ui,
1688
+ mode: "okhsv",
1689
+ channels: ["h", "s", "v", "alpha"],
1690
+ parse: ["--okhsv"],
1691
+ serialize: "--okhsv",
1692
+ fromMode: {
1693
+ oklab: mi,
1694
+ rgb: (e) => mi(Ct(e))
1695
+ },
1696
+ toMode: {
1697
+ oklab: vi,
1698
+ rgb: (e) => Pt(vi(e))
1699
+ }
1700
+ };
1701
+ function fs(e, n) {
1702
+ if (!n || n[0] !== "oklab")
1703
+ return;
1704
+ const t = { mode: "oklab" }, [, i, r, a, s] = n;
1705
+ if (!(i.type === h.Hue || r.type === h.Hue || a.type === h.Hue))
1706
+ return i.type !== h.None && (t.l = Math.min(
1707
+ Math.max(0, i.type === h.Number ? i.value : i.value / 100),
1708
+ 1
1709
+ )), r.type !== h.None && (t.a = r.type === h.Number ? r.value : r.value * 0.4 / 100), a.type !== h.None && (t.b = a.type === h.Number ? a.value : a.value * 0.4 / 100), s.type !== h.None && (t.alpha = Math.min(
1710
+ 1,
1711
+ Math.max(
1712
+ 0,
1713
+ s.type === h.Number ? s.value : s.value / 100
1714
+ )
1715
+ )), t;
1716
+ }
1717
+ const bs = {
1718
+ ...Zn,
1719
+ mode: "oklab",
1720
+ toMode: {
1721
+ lrgb: et,
1722
+ rgb: Pt
1723
+ },
1724
+ fromMode: {
1725
+ lrgb: dr,
1726
+ rgb: Ct
1727
+ },
1728
+ ranges: {
1729
+ l: [0, 1],
1730
+ a: [-0.4, 0.4],
1731
+ b: [-0.4, 0.4]
1732
+ },
1733
+ parse: [fs],
1734
+ serialize: (e) => `oklab(${e.l !== void 0 ? e.l : "none"} ${e.a !== void 0 ? e.a : "none"} ${e.b !== void 0 ? e.b : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`
1735
+ };
1736
+ function gs(e, n) {
1737
+ if (!n || n[0] !== "oklch")
1738
+ return;
1739
+ const t = { mode: "oklch" }, [, i, r, a, s] = n;
1740
+ if (i.type !== h.None) {
1741
+ if (i.type === h.Hue)
1742
+ return;
1743
+ t.l = Math.min(
1744
+ Math.max(0, i.type === h.Number ? i.value : i.value / 100),
1745
+ 1
1746
+ );
1747
+ }
1748
+ if (r.type !== h.None && (t.c = Math.max(
1749
+ 0,
1750
+ r.type === h.Number ? r.value : r.value * 0.4 / 100
1751
+ )), a.type !== h.None) {
1752
+ if (a.type === h.Percentage)
1753
+ return;
1754
+ t.h = a.value;
1755
+ }
1756
+ return s.type !== h.None && (t.alpha = Math.min(
1757
+ 1,
1758
+ Math.max(
1759
+ 0,
1760
+ s.type === h.Number ? s.value : s.value / 100
1761
+ )
1762
+ )), t;
1763
+ }
1764
+ const ms = {
1765
+ ...Yn,
1766
+ mode: "oklch",
1767
+ toMode: {
1768
+ oklab: (e) => he(e, "oklab"),
1769
+ rgb: (e) => Pt(he(e, "oklab"))
1770
+ },
1771
+ fromMode: {
1772
+ rgb: (e) => pe(Ct(e), "oklch"),
1773
+ oklab: (e) => pe(e, "oklch")
1774
+ },
1775
+ parse: [gs],
1776
+ serialize: (e) => `oklch(${e.l !== void 0 ? e.l : "none"} ${e.c !== void 0 ? e.c : "none"} ${e.h !== void 0 ? e.h : "none"}${e.alpha < 1 ? ` / ${e.alpha}` : ""})`,
1777
+ ranges: {
1778
+ l: [0, 1],
1779
+ c: [0, 0.4],
1780
+ h: [0, 360]
1781
+ }
1782
+ }, xi = (e) => {
1783
+ let { r: n, g: t, b: i, alpha: r } = Te(e), a = {
1784
+ mode: "xyz65",
1785
+ x: 0.486570948648216 * n + 0.265667693169093 * t + 0.1982172852343625 * i,
1786
+ y: 0.2289745640697487 * n + 0.6917385218365062 * t + 0.079286914093745 * i,
1787
+ z: 0 * n + 0.0451133818589026 * t + 1.043944368900976 * i
1788
+ };
1789
+ return r !== void 0 && (a.alpha = r), a;
1790
+ }, yi = ({ x: e, y: n, z: t, alpha: i }) => {
1791
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1792
+ let r = Ce(
1793
+ {
1794
+ r: e * 2.4934969119414263 - n * 0.9313836179191242 - 0.402710784450717 * t,
1795
+ g: e * -0.8294889695615749 + n * 1.7626640603183465 + 0.0236246858419436 * t,
1796
+ b: e * 0.0358458302437845 - n * 0.0761723892680418 + 0.9568845240076871 * t
1797
+ },
1798
+ "p3"
1799
+ );
1800
+ return i !== void 0 && (r.alpha = i), r;
1801
+ }, vs = {
1802
+ ...Se,
1803
+ mode: "p3",
1804
+ parse: ["display-p3"],
1805
+ serialize: "display-p3",
1806
+ fromMode: {
1807
+ rgb: (e) => yi(ve(e)),
1808
+ xyz65: yi
1809
+ },
1810
+ toMode: {
1811
+ rgb: (e) => xe(xi(e)),
1812
+ xyz65: xi
1813
+ }
1814
+ }, an = (e) => {
1815
+ let n = Math.abs(e);
1816
+ return n >= 1 / 512 ? Math.sign(e) * Math.pow(n, 1 / 1.8) : 16 * e;
1817
+ }, Mi = ({ x: e, y: n, z: t, alpha: i }) => {
1818
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1819
+ let r = {
1820
+ mode: "prophoto",
1821
+ r: an(
1822
+ e * 1.3457868816471585 - n * 0.2555720873797946 - 0.0511018649755453 * t
1823
+ ),
1824
+ g: an(
1825
+ e * -0.5446307051249019 + n * 1.5082477428451466 + 0.0205274474364214 * t
1826
+ ),
1827
+ b: an(e * 0 + n * 0 + 1.2119675456389452 * t)
1828
+ };
1829
+ return i !== void 0 && (r.alpha = i), r;
1830
+ }, sn = (e = 0) => {
1831
+ let n = Math.abs(e);
1832
+ return n >= 16 / 512 ? Math.sign(e) * Math.pow(n, 1.8) : e / 16;
1833
+ }, wi = (e) => {
1834
+ let n = sn(e.r), t = sn(e.g), i = sn(e.b), r = {
1835
+ mode: "xyz50",
1836
+ x: 0.7977666449006423 * n + 0.1351812974005331 * t + 0.0313477341283922 * i,
1837
+ y: 0.2880748288194013 * n + 0.7118352342418731 * t + 899369387256e-16 * i,
1838
+ z: 0 * n + 0 * t + 0.8251046025104602 * i
1839
+ };
1840
+ return e.alpha !== void 0 && (r.alpha = e.alpha), r;
1841
+ }, xs = {
1842
+ ...Se,
1843
+ mode: "prophoto",
1844
+ parse: ["prophoto-rgb"],
1845
+ serialize: "prophoto-rgb",
1846
+ fromMode: {
1847
+ xyz50: Mi,
1848
+ rgb: (e) => Mi(Qe(e))
1849
+ },
1850
+ toMode: {
1851
+ xyz50: wi,
1852
+ rgb: (e) => Ke(wi(e))
1853
+ }
1854
+ }, ki = 1.09929682680944, ys = 0.018053968510807, on = (e) => {
1855
+ const n = Math.abs(e);
1856
+ return n > ys ? (Math.sign(e) || 1) * (ki * Math.pow(n, 0.45) - (ki - 1)) : 4.5 * e;
1857
+ }, $i = ({ x: e, y: n, z: t, alpha: i }) => {
1858
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1859
+ let r = {
1860
+ mode: "rec2020",
1861
+ r: on(
1862
+ e * 1.7166511879712683 - n * 0.3556707837763925 - 0.2533662813736599 * t
1863
+ ),
1864
+ g: on(
1865
+ e * -0.6666843518324893 + n * 1.6164812366349395 + 0.0157685458139111 * t
1866
+ ),
1867
+ b: on(
1868
+ e * 0.0176398574453108 - n * 0.0427706132578085 + 0.9421031212354739 * t
1869
+ )
1870
+ };
1871
+ return i !== void 0 && (r.alpha = i), r;
1872
+ }, zi = 1.09929682680944, Ms = 0.018053968510807, ln = (e = 0) => {
1873
+ let n = Math.abs(e);
1874
+ return n < Ms * 4.5 ? e / 4.5 : (Math.sign(e) || 1) * Math.pow((n + zi - 1) / zi, 1 / 0.45);
1875
+ }, Ai = (e) => {
1876
+ let n = ln(e.r), t = ln(e.g), i = ln(e.b), r = {
1877
+ mode: "xyz65",
1878
+ x: 0.6369580483012911 * n + 0.1446169035862083 * t + 0.1688809751641721 * i,
1879
+ y: 0.262700212011267 * n + 0.6779980715188708 * t + 0.059301716469862 * i,
1880
+ z: 0 * n + 0.0280726930490874 * t + 1.0609850577107909 * i
1881
+ };
1882
+ return e.alpha !== void 0 && (r.alpha = e.alpha), r;
1883
+ }, ws = {
1884
+ ...Se,
1885
+ mode: "rec2020",
1886
+ fromMode: {
1887
+ xyz65: $i,
1888
+ rgb: (e) => $i(ve(e))
1889
+ },
1890
+ toMode: {
1891
+ xyz65: Ai,
1892
+ rgb: (e) => xe(Ai(e))
1893
+ },
1894
+ parse: ["rec2020"],
1895
+ serialize: "rec2020"
1896
+ }, be = 0.0037930732552754493, hr = Math.cbrt(be), cn = (e) => Math.cbrt(e) - hr, ks = (e) => {
1897
+ const { r: n, g: t, b: i, alpha: r } = Te(e), a = cn(0.3 * n + 0.622 * t + 0.078 * i + be), s = cn(0.23 * n + 0.692 * t + 0.078 * i + be), c = cn(
1898
+ 0.2434226892454782 * n + 0.2047674442449682 * t + 0.5518098665095535 * i + be
1899
+ ), p = {
1900
+ mode: "xyb",
1901
+ x: (a - s) / 2,
1902
+ y: (a + s) / 2,
1903
+ /* Apply default chroma from luma (subtract Y from B) */
1904
+ b: c - (a + s) / 2
1905
+ };
1906
+ return r !== void 0 && (p.alpha = r), p;
1907
+ }, dn = (e) => Math.pow(e + hr, 3), $s = ({ x: e, y: n, b: t, alpha: i }) => {
1908
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
1909
+ const r = dn(e + n) - be, a = dn(n - e) - be, s = dn(t + n) - be, c = Ce({
1910
+ r: 11.031566904639861 * r - 9.866943908131562 * a - 0.16462299650829934 * s,
1911
+ g: -3.2541473810744237 * r + 4.418770377582723 * a - 0.16462299650829934 * s,
1912
+ b: -3.6588512867136815 * r + 2.7129230459360922 * a + 1.9459282407775895 * s
1913
+ });
1914
+ return i !== void 0 && (c.alpha = i), c;
1915
+ }, zs = {
1916
+ mode: "xyb",
1917
+ channels: ["x", "y", "b", "alpha"],
1918
+ parse: ["--xyb"],
1919
+ serialize: "--xyb",
1920
+ toMode: {
1921
+ rgb: $s
1922
+ },
1923
+ fromMode: {
1924
+ rgb: ks
1925
+ },
1926
+ ranges: {
1927
+ x: [-0.0154, 0.0281],
1928
+ y: [0, 0.8453],
1929
+ b: [-0.2778, 0.388]
1930
+ },
1931
+ interpolate: {
1932
+ x: u,
1933
+ y: u,
1934
+ b: u,
1935
+ alpha: { use: u, fixup: C }
1936
+ }
1937
+ }, As = {
1938
+ mode: "xyz50",
1939
+ parse: ["xyz-d50"],
1940
+ serialize: "xyz-d50",
1941
+ toMode: {
1942
+ rgb: Ke,
1943
+ lab: jn
1944
+ },
1945
+ fromMode: {
1946
+ rgb: Qe,
1947
+ lab: On
1948
+ },
1949
+ channels: ["x", "y", "z", "alpha"],
1950
+ ranges: {
1951
+ x: [0, 0.964],
1952
+ y: [0, 0.999],
1953
+ z: [0, 0.825]
1954
+ },
1955
+ interpolate: {
1956
+ x: u,
1957
+ y: u,
1958
+ z: u,
1959
+ alpha: { use: u, fixup: C }
1960
+ }
1961
+ }, _s = (e) => {
1962
+ let { x: n, y: t, z: i, alpha: r } = e;
1963
+ n === void 0 && (n = 0), t === void 0 && (t = 0), i === void 0 && (i = 0);
1964
+ let a = {
1965
+ mode: "xyz50",
1966
+ x: 1.0479298208405488 * n + 0.0229467933410191 * t - 0.0501922295431356 * i,
1967
+ y: 0.0296278156881593 * n + 0.990434484573249 * t - 0.0170738250293851 * i,
1968
+ z: -0.0092430581525912 * n + 0.0150551448965779 * t + 0.7518742899580008 * i
1969
+ };
1970
+ return r !== void 0 && (a.alpha = r), a;
1971
+ }, Ls = (e) => {
1972
+ let { x: n, y: t, z: i, alpha: r } = e;
1973
+ n === void 0 && (n = 0), t === void 0 && (t = 0), i === void 0 && (i = 0);
1974
+ let a = {
1975
+ mode: "xyz65",
1976
+ x: 0.9554734527042182 * n - 0.0230985368742614 * t + 0.0632593086610217 * i,
1977
+ y: -0.0283697069632081 * n + 1.0099954580058226 * t + 0.021041398966943 * i,
1978
+ z: 0.0123140016883199 * n - 0.0205076964334779 * t + 1.3303659366080753 * i
1979
+ };
1980
+ return r !== void 0 && (a.alpha = r), a;
1981
+ }, Ss = {
1982
+ mode: "xyz65",
1983
+ toMode: {
1984
+ rgb: xe,
1985
+ xyz50: _s
1986
+ },
1987
+ fromMode: {
1988
+ rgb: ve,
1989
+ xyz50: Ls
1990
+ },
1991
+ ranges: {
1992
+ x: [0, 0.95],
1993
+ y: [0, 1],
1994
+ z: [0, 1.088]
1995
+ },
1996
+ channels: ["x", "y", "z", "alpha"],
1997
+ parse: ["xyz", "xyz-d65"],
1998
+ serialize: "xyz-d65",
1999
+ interpolate: {
2000
+ x: u,
2001
+ y: u,
2002
+ z: u,
2003
+ alpha: { use: u, fixup: C }
2004
+ }
2005
+ }, Ts = ({ r: e, g: n, b: t, alpha: i }) => {
2006
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
2007
+ const r = {
2008
+ mode: "yiq",
2009
+ y: 0.29889531 * e + 0.58662247 * n + 0.11448223 * t,
2010
+ i: 0.59597799 * e - 0.2741761 * n - 0.32180189 * t,
2011
+ q: 0.21147017 * e - 0.52261711 * n + 0.31114694 * t
2012
+ };
2013
+ return i !== void 0 && (r.alpha = i), r;
2014
+ }, Cs = ({ y: e, i: n, q: t, alpha: i }) => {
2015
+ e === void 0 && (e = 0), n === void 0 && (n = 0), t === void 0 && (t = 0);
2016
+ const r = {
2017
+ mode: "rgb",
2018
+ r: e + 0.95608445 * n + 0.6208885 * t,
2019
+ g: e - 0.27137664 * n - 0.6486059 * t,
2020
+ b: e - 1.10561724 * n + 1.70250126 * t
2021
+ };
2022
+ return i !== void 0 && (r.alpha = i), r;
2023
+ }, Ps = {
2024
+ mode: "yiq",
2025
+ toMode: {
2026
+ rgb: Cs
2027
+ },
2028
+ fromMode: {
2029
+ rgb: Ts
2030
+ },
2031
+ channels: ["y", "i", "q", "alpha"],
2032
+ parse: ["--yiq"],
2033
+ serialize: "--yiq",
2034
+ ranges: {
2035
+ i: [-0.595, 0.595],
2036
+ q: [-0.522, 0.522]
2037
+ },
2038
+ interpolate: {
2039
+ y: u,
2040
+ i: u,
2041
+ q: u,
2042
+ alpha: { use: u, fixup: C }
2043
+ }
2044
+ }, Hs = (e) => Math.max(0, Math.min(1, e || 0)), pn = (e) => Math.round(Hs(e) * 255), Es = X("rgb"), Ns = (e) => {
2045
+ if (e === void 0)
2046
+ return;
2047
+ let n = pn(e.r), t = pn(e.g), i = pn(e.b);
2048
+ return "#" + (1 << 24 | n << 16 | t << 8 | i).toString(16).slice(1);
2049
+ }, Is = (e) => Ns(Es(e)), ur = X("rgb"), fr = (e) => {
2050
+ const n = {
2051
+ mode: e.mode,
2052
+ r: Math.max(0, Math.min(e.r !== void 0 ? e.r : 0, 1)),
2053
+ g: Math.max(0, Math.min(e.g !== void 0 ? e.g : 0, 1)),
2054
+ b: Math.max(0, Math.min(e.b !== void 0 ? e.b : 0, 1))
2055
+ };
2056
+ return e.alpha !== void 0 && (n.alpha = e.alpha), n;
2057
+ }, qs = (e) => fr(ur(e)), br = (e) => e !== void 0 && (e.r === void 0 || e.r >= 0 && e.r <= 1) && (e.g === void 0 || e.g >= 0 && e.g <= 1) && (e.b === void 0 || e.b >= 0 && e.b <= 1);
2058
+ function Rs(e) {
2059
+ return br(ur(e));
2060
+ }
2061
+ function gr(e = "rgb") {
2062
+ const { gamut: n } = Mt(e);
2063
+ if (!n)
2064
+ return (i) => !0;
2065
+ const t = X(typeof n == "string" ? n : e);
2066
+ return (i) => br(t(i));
2067
+ }
2068
+ function Fs(e = "rgb") {
2069
+ const { gamut: n } = Mt(e);
2070
+ if (!n)
2071
+ return (a) => pt(a);
2072
+ const t = typeof n == "string" ? n : e, i = X(t), r = gr(t);
2073
+ return (a) => {
2074
+ const s = pt(a);
2075
+ if (!s)
2076
+ return;
2077
+ const c = i(s);
2078
+ if (r(c))
2079
+ return s;
2080
+ const p = fr(c);
2081
+ return s.mode === p.mode ? p : X(s.mode)(p);
2082
+ };
2083
+ }
2084
+ function Xs(e, n = "lch", t = "rgb") {
2085
+ e = pt(e);
2086
+ let i = t === "rgb" ? Rs : gr(t), r = t === "rgb" ? qs : Fs(t);
2087
+ if (e === void 0 || i(e)) return e;
2088
+ let a = X(e.mode);
2089
+ e = X(n)(e);
2090
+ let s = { ...e, c: 0 };
2091
+ if (!i(s))
2092
+ return a(r(s));
2093
+ let c = 0, p = e.c !== void 0 ? e.c : 0, f = Mt(n).ranges.c, b = (f[1] - f[0]) / Math.pow(2, 13), x = s.c;
2094
+ for (; p - c > b; )
2095
+ s.c = c + (p - c) * 0.5, i(s) ? (x = s.c, c = s.c) : p = s.c;
2096
+ return a(
2097
+ i(s) ? s : { ...s, c: x }
2098
+ );
2099
+ }
2100
+ k(xa);
2101
+ k(Aa);
2102
+ k(_a);
2103
+ k(La);
2104
+ k(Ca);
2105
+ k(Gi);
2106
+ k(Ui);
2107
+ k(Da);
2108
+ k(Oa);
2109
+ k(Ba);
2110
+ k(Wa);
2111
+ k(Zn);
2112
+ k(Va);
2113
+ k(Yn);
2114
+ k(Ua);
2115
+ k(os);
2116
+ k(ls);
2117
+ k(cs);
2118
+ k(hs);
2119
+ k(us);
2120
+ k(bs);
2121
+ const Gn = k(ms);
2122
+ k(vs);
2123
+ k(xs);
2124
+ k(ws);
2125
+ k(Se);
2126
+ k(zs);
2127
+ k(As);
2128
+ k(Ss);
2129
+ k(Ps);
2130
+ const Ds = X("rgb");
2131
+ function _i(e, n) {
2132
+ const t = e.getContext("2d", { willReadFrequently: !0 });
2133
+ if (!t) return;
2134
+ const { width: i, height: r } = e, a = t.createImageData(i, r), s = a.data;
2135
+ for (let c = 0; c < r; c++) {
2136
+ const p = 1 - c / (r - 1 || 1);
2137
+ for (let f = 0; f < i; f++) {
2138
+ const b = f / (i - 1 || 1), x = Ds({ mode: "hsv", h: n, s: b, v: p, alpha: 1 }), v = (c * i + f) * 4;
2139
+ if (!x) {
2140
+ s[v] = s[v + 1] = s[v + 2] = 0, s[v + 3] = 255;
2141
+ continue;
2142
+ }
2143
+ s[v] = Math.round(hn((x.r ?? 0) * 255)), s[v + 1] = Math.round(hn((x.g ?? 0) * 255)), s[v + 2] = Math.round(hn((x.b ?? 0) * 255)), s[v + 3] = 255;
2144
+ }
2145
+ }
2146
+ t.putImageData(a, 0, 0);
2147
+ }
2148
+ function hn(e) {
2149
+ return Math.min(255, Math.max(0, e));
2150
+ }
2151
+ const Pe = X("rgb"), Ht = X("hsv"), Os = X("hsl"), mr = 2e-3, vr = 4e-3;
2152
+ function Et(e) {
2153
+ return e.c <= mr;
2154
+ }
2155
+ function js(e) {
2156
+ const n = Ht({ mode: "oklch", ...e, alpha: 1 });
2157
+ return Math.max(0, (n == null ? void 0 : n.s) ?? 0);
2158
+ }
2159
+ function se(e) {
2160
+ return Et(e) ? !0 : js(e) < vr;
2161
+ }
2162
+ function vt(e, n) {
2163
+ return se(e) ? { ...e, h: D(n) } : e;
2164
+ }
2165
+ function q(e) {
2166
+ const n = me(e.l ?? 0), t = Math.max(0, e.c ?? 0), i = D(e.h ?? 0), r = me(e.alpha ?? 1), a = Xs({ mode: "oklch", l: n, c: t, h: i, alpha: r }, "rgb"), s = Et({ c: t });
2167
+ return {
2168
+ l: a.l ?? n,
2169
+ c: s ? 0 : a.c ?? 0,
2170
+ h: s ? D(i) : i,
2171
+ alpha: a.alpha ?? r
2172
+ };
2173
+ }
2174
+ function ge(e) {
2175
+ const n = Di(e.trim());
2176
+ if (!n) return null;
2177
+ const t = Gn(n);
2178
+ return (t == null ? void 0 : t.l) == null ? null : q({
2179
+ l: t.l,
2180
+ c: t.c ?? 0,
2181
+ h: t.h ?? 0,
2182
+ alpha: t.alpha ?? 1
2183
+ });
2184
+ }
2185
+ function Li(e) {
2186
+ const { l: n, c: t, h: i, alpha: r } = e;
2187
+ return r >= 1 ? `oklch(${(n * 100).toFixed(1)}% ${t.toFixed(4)} ${i.toFixed(1)})` : `oklch(${(n * 100).toFixed(1)}% ${t.toFixed(4)} ${i.toFixed(1)} / ${Math.round(r * 100)}%)`;
2188
+ }
2189
+ function Ge(e) {
2190
+ return Is(Pe({ mode: "oklch", ...e })) ?? "#000000";
2191
+ }
2192
+ function fo(e) {
2193
+ const { r: n, g: t, b: i } = xt(e);
2194
+ return e.alpha < 1 ? `rgba(${n}, ${t}, ${i}, ${e.alpha.toFixed(2)})` : `rgb(${n}, ${t}, ${i})`;
2195
+ }
2196
+ function xt(e) {
2197
+ const n = Pe({ mode: "oklch", ...e, alpha: 1 });
2198
+ return n ? {
2199
+ r: Math.round((n.r ?? 0) * 255),
2200
+ g: Math.round((n.g ?? 0) * 255),
2201
+ b: Math.round((n.b ?? 0) * 255)
2202
+ } : { r: 0, g: 0, b: 0 };
2203
+ }
2204
+ function Zs(e) {
2205
+ const n = D(Math.max(0, Math.min(1, e)) * 360), t = Pe({ mode: "hsv", h: n, s: 1, v: 1, alpha: 1 });
2206
+ return t ? {
2207
+ r: Math.round((t.r ?? 0) * 255),
2208
+ g: Math.round((t.g ?? 0) * 255),
2209
+ b: Math.round((t.b ?? 0) * 255)
2210
+ } : { r: 255, g: 0, b: 0 };
2211
+ }
2212
+ function Ys(e) {
2213
+ const { r: n, g: t, b: i } = xt(e);
2214
+ return `linear-gradient(to right, rgba(${n}, ${t}, ${i}, 0), rgb(${n}, ${t}, ${i}))`;
2215
+ }
2216
+ function Bs(e) {
2217
+ if (se(e)) return D(e.h);
2218
+ const n = Ht({ mode: "oklch", ...e, alpha: 1 });
2219
+ return D((n == null ? void 0 : n.h) ?? e.h);
2220
+ }
2221
+ function xr(e, n) {
2222
+ const t = D(n), i = Ht({ mode: "oklch", ...e, alpha: 1 }), r = Pe({
2223
+ mode: "hsv",
2224
+ h: t,
2225
+ s: (i == null ? void 0 : i.s) ?? 0,
2226
+ v: (i == null ? void 0 : i.v) ?? 1,
2227
+ alpha: 1
2228
+ }), a = Gn(
2229
+ r ?? { mode: "hsv", h: t, s: (i == null ? void 0 : i.s) ?? 0, v: (i == null ? void 0 : i.v) ?? 1 }
2230
+ );
2231
+ if ((a == null ? void 0 : a.l) != null) {
2232
+ const s = a.c ?? 0;
2233
+ return vt(
2234
+ q({
2235
+ l: a.l,
2236
+ c: s,
2237
+ h: a.h ?? t,
2238
+ alpha: e.alpha
2239
+ }),
2240
+ t
2241
+ );
2242
+ }
2243
+ return q({ ...e, h: t });
2244
+ }
2245
+ function rt(e, n) {
2246
+ switch (n) {
2247
+ case "hex":
2248
+ return [{ key: "hex", label: "HEX CODE", value: Ge(e).replace("#", "").toUpperCase() }];
2249
+ case "rgb": {
2250
+ const t = Pe({ mode: "oklch", ...e });
2251
+ return [
2252
+ { key: "r", label: "R", value: String(Math.round((t.r ?? 0) * 255)), min: 0, max: 255 },
2253
+ { key: "g", label: "G", value: String(Math.round((t.g ?? 0) * 255)), min: 0, max: 255 },
2254
+ { key: "b", label: "B", value: String(Math.round((t.b ?? 0) * 255)), min: 0, max: 255 }
2255
+ ];
2256
+ }
2257
+ case "hsl": {
2258
+ const t = Os({ mode: "oklch", ...e });
2259
+ return [
2260
+ { key: "h", label: "H", value: String(Math.round((t == null ? void 0 : t.h) ?? 0)), min: 0, max: 360 },
2261
+ {
2262
+ key: "s",
2263
+ label: "S",
2264
+ value: String(Math.round(((t == null ? void 0 : t.s) ?? 0) * 100)),
2265
+ min: 0,
2266
+ max: 100,
2267
+ suffix: "%"
2268
+ },
2269
+ {
2270
+ key: "l",
2271
+ label: "L",
2272
+ value: String(Math.round(((t == null ? void 0 : t.l) ?? 0) * 100)),
2273
+ min: 0,
2274
+ max: 100,
2275
+ suffix: "%"
2276
+ }
2277
+ ];
2278
+ }
2279
+ case "oklch":
2280
+ return [
2281
+ { key: "l", label: "L", value: String(Math.round(e.l * 100)), min: 0, max: 100, suffix: "%" },
2282
+ { key: "c", label: "C", value: e.c.toFixed(3), min: 0, max: 0.4, step: 1e-3 },
2283
+ { key: "h", label: "H", value: String(Math.round(e.h)), min: 0, max: 360 }
2284
+ ];
2285
+ }
2286
+ }
2287
+ function Ws(e, n, t) {
2288
+ var f, b, x;
2289
+ const i = e.alpha, r = rt(e, "hsl"), a = n === "h" ? D(t) : Number(((f = r.find((v) => v.key === "h")) == null ? void 0 : f.value) ?? 0);
2290
+ let s = n === "s" ? t : Number(((b = r.find((v) => v.key === "s")) == null ? void 0 : b.value) ?? 0);
2291
+ const c = n === "l" ? t : Number(((x = r.find((v) => v.key === "l")) == null ? void 0 : x.value) ?? 0);
2292
+ n === "h" && s < 1 && (s = 1);
2293
+ const p = ge(`hsl(${a}, ${yt(s)}%, ${yt(c)}%)`);
2294
+ return p ? { ...p, alpha: i } : e;
2295
+ }
2296
+ function Gs(e, n, t, i) {
2297
+ switch (n) {
2298
+ case "l": {
2299
+ const r = q({ ...e, l: t / 100 });
2300
+ return i != null ? vt(r, i) : r;
2301
+ }
2302
+ case "c": {
2303
+ const r = Math.max(0, t), a = r <= mr || se(e) ? i != null ? D(i) : D(e.h) : e.h, s = q({ ...e, c: r, h: a });
2304
+ return i != null ? vt(s, i) : s;
2305
+ }
2306
+ case "h":
2307
+ return xr(e, t);
2308
+ }
2309
+ }
2310
+ function Si(e, n, t) {
2311
+ switch (e) {
2312
+ case "hex": {
2313
+ const i = (n.hex ?? "").trim().replace(/^#/, "");
2314
+ if (!/^[0-9a-fA-F]{3,8}$/.test(i)) return null;
2315
+ const r = ge(`#${i}`);
2316
+ return r ? un(r, t.alpha) : null;
2317
+ }
2318
+ case "rgb": {
2319
+ const i = Number(n.r), r = Number(n.g), a = Number(n.b);
2320
+ if ([i, r, a].some((c) => Number.isNaN(c))) return null;
2321
+ const s = ge(`rgb(${fn(i)}, ${fn(r)}, ${fn(a)})`);
2322
+ return s ? un(s, t.alpha) : null;
2323
+ }
2324
+ case "hsl": {
2325
+ const i = bn(n.h), r = bn(n.s), a = bn(n.l);
2326
+ if ([i, r, a].some((c) => Number.isNaN(c))) return null;
2327
+ const s = ge(`hsl(${i}, ${yt(r)}%, ${yt(a)}%)`);
2328
+ return s ? un(s, t.alpha) : null;
2329
+ }
2330
+ case "oklch": {
2331
+ const i = Number(n.l);
2332
+ let r = Number(n.c), a = Number(n.h);
2333
+ return [i, r, a].some((s) => Number.isNaN(s)) ? null : (r <= 0 && (r = 0, Et(t) || (a = t.h)), q({ l: i / 100, c: r, h: a, alpha: t.alpha }));
2334
+ }
2335
+ }
2336
+ }
2337
+ function Vs(e) {
2338
+ const n = Ht({ mode: "oklch", ...e, alpha: 1 });
2339
+ return {
2340
+ x: me((n == null ? void 0 : n.s) ?? 0),
2341
+ y: me(1 - ((n == null ? void 0 : n.v) ?? 0))
2342
+ };
2343
+ }
2344
+ function Js(e, n, t, i) {
2345
+ const r = me(e), a = me(n), s = D(t), c = Gn(
2346
+ Pe({ mode: "hsv", h: s, s: r, v: 1 - a, alpha: 1 }) ?? {
2347
+ mode: "hsv",
2348
+ h: s,
2349
+ s: r,
2350
+ v: 1 - a
2351
+ }
2352
+ );
2353
+ if ((c == null ? void 0 : c.l) != null) {
2354
+ const p = c.c ?? 0, f = r < vr || Et({ c: p });
2355
+ return q({
2356
+ l: c.l,
2357
+ c: p,
2358
+ h: f ? s : c.h ?? s,
2359
+ alpha: i
2360
+ });
2361
+ }
2362
+ return q({ l: 0.5, c: 0, h: s, alpha: i });
2363
+ }
2364
+ function un(e, n) {
2365
+ return { ...e, alpha: me(n) };
2366
+ }
2367
+ function me(e) {
2368
+ return Math.min(1, Math.max(0, e));
2369
+ }
2370
+ function fn(e) {
2371
+ return Math.min(255, Math.max(0, Math.round(e)));
2372
+ }
2373
+ function yt(e) {
2374
+ return Math.min(100, Math.max(0, e));
2375
+ }
2376
+ function bn(e) {
2377
+ return Number(e.replace(/%/g, "").trim());
2378
+ }
2379
+ function D(e) {
2380
+ return Math.min(360, Math.max(0, e));
2381
+ }
2382
+ const Ti = {
2383
+ l: 0.62,
2384
+ c: 0.24,
2385
+ h: 303,
2386
+ alpha: 0.8
2387
+ }, yr = "pretty-color-picker-history", Mr = 16;
2388
+ function wr(e, n) {
2389
+ return Ge(e) === Ge(n) && e.alpha === n.alpha;
2390
+ }
2391
+ function Us() {
2392
+ try {
2393
+ const e = localStorage.getItem(yr);
2394
+ if (!e) return [];
2395
+ const n = JSON.parse(e);
2396
+ return Array.isArray(n) ? n.slice(0, Mr) : [];
2397
+ } catch {
2398
+ return [];
2399
+ }
2400
+ }
2401
+ function Ks(e, n) {
2402
+ const t = n.filter((r) => !wr(r, e)), i = [e, ...t].slice(0, Mr);
2403
+ try {
2404
+ localStorage.setItem(yr, JSON.stringify(i));
2405
+ } catch {
2406
+ }
2407
+ return i;
2408
+ }
2409
+ const Qs = "#ededed", eo = "#171717", to = 0.52;
2410
+ function no(e, n, t) {
2411
+ const i = [e, n, t].map((r) => {
2412
+ const a = r / 255;
2413
+ return a <= 0.03928 ? a / 12.92 : ((a + 0.055) / 1.055) ** 2.4;
2414
+ });
2415
+ return 0.2126 * i[0] + 0.7152 * i[1] + 0.0722 * i[2];
2416
+ }
2417
+ function io(e, n, t) {
2418
+ return no(e, n, t) > to ? eo : Qs;
2419
+ }
2420
+ function ro(e, n, t) {
2421
+ return {
2422
+ backgroundColor: io(e, n, t),
2423
+ boxShadow: "none"
2424
+ };
2425
+ }
2426
+ function Ci(e) {
2427
+ const n = e.replace("#", "").trim();
2428
+ return n ? n.length === 3 ? {
2429
+ r: Number.parseInt(n[0] + n[0], 16),
2430
+ g: Number.parseInt(n[1] + n[1], 16),
2431
+ b: Number.parseInt(n[2] + n[2], 16)
2432
+ } : n.length === 6 ? {
2433
+ r: Number.parseInt(n.slice(0, 2), 16),
2434
+ g: Number.parseInt(n.slice(2, 4), 16),
2435
+ b: Number.parseInt(n.slice(4, 6), 16)
2436
+ } : null : null;
2437
+ }
2438
+ function ao(e, n, t, i) {
2439
+ const r = Math.max(0, Math.min(1, n)), a = {
2440
+ r: Math.round((t.r + i.r) / 2),
2441
+ g: Math.round((t.g + i.g) / 2),
2442
+ b: Math.round((t.b + i.b) / 2)
2443
+ };
2444
+ return {
2445
+ r: Math.round(r * e.r + (1 - r) * a.r),
2446
+ g: Math.round(r * e.g + (1 - r) * a.g),
2447
+ b: Math.round(r * e.b + (1 - r) * a.b)
2448
+ };
2449
+ }
2450
+ function Pi(e, n) {
2451
+ const t = n.getBoundingClientRect(), i = Ei((e.clientX - t.left) / t.width), r = Ei((e.clientY - t.top) / t.height);
2452
+ return { x: i, y: r };
2453
+ }
2454
+ function Hi(e, n) {
2455
+ let t = !1, i = null;
2456
+ const r = (c) => {
2457
+ if (!t || i == null) return;
2458
+ const p = c.clientX - i;
2459
+ i = c.clientX, p !== 0 && n.onDelta(p, c);
2460
+ }, a = (c) => {
2461
+ var p;
2462
+ if (t) {
2463
+ if (t = !1, i = null, c.pointerId != null)
2464
+ try {
2465
+ e.releasePointerCapture(c.pointerId);
2466
+ } catch {
2467
+ }
2468
+ window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", a), window.removeEventListener("pointercancel", a), (p = n.onEnd) == null || p.call(n, c);
2469
+ }
2470
+ }, s = (c) => {
2471
+ var p;
2472
+ c.button === 0 && (c.preventDefault(), t = !0, i = c.clientX, e.setPointerCapture(c.pointerId), (p = n.onStart) == null || p.call(n, c), window.addEventListener("pointermove", r), window.addEventListener("pointerup", a), window.addEventListener("pointercancel", a));
2473
+ };
2474
+ return e.addEventListener("pointerdown", s), () => {
2475
+ e.removeEventListener("pointerdown", s), window.removeEventListener("pointermove", r), window.removeEventListener("pointerup", a), window.removeEventListener("pointercancel", a);
2476
+ };
2477
+ }
2478
+ function gn(e, n, t, i) {
2479
+ let r = !1;
2480
+ const a = (p) => {
2481
+ if (!r) return;
2482
+ const { x: f, y: b } = Pi(p, e);
2483
+ n(f, b);
2484
+ }, s = (p) => {
2485
+ if (r) {
2486
+ if (r = !1, (p == null ? void 0 : p.pointerId) != null)
2487
+ try {
2488
+ e.releasePointerCapture(p.pointerId);
2489
+ } catch {
2490
+ }
2491
+ window.removeEventListener("pointermove", a), window.removeEventListener("pointerup", s), window.removeEventListener("pointercancel", s), t == null || t();
2492
+ }
2493
+ }, c = (p) => {
2494
+ if (p.button !== 0) return;
2495
+ r = !0, e.setPointerCapture(p.pointerId), i == null || i();
2496
+ const { x: f, y: b } = Pi(p, e);
2497
+ n(f, b), window.addEventListener("pointermove", a), window.addEventListener("pointerup", s), window.addEventListener("pointercancel", s);
2498
+ };
2499
+ return e.addEventListener("pointerdown", c), () => {
2500
+ e.removeEventListener("pointerdown", c), window.removeEventListener("pointermove", a), window.removeEventListener("pointerup", s), window.removeEventListener("pointercancel", s);
2501
+ };
2502
+ }
2503
+ function Ei(e) {
2504
+ return Math.min(1, Math.max(0, e));
2505
+ }
2506
+ const it = 48;
2507
+ function so(e, n) {
2508
+ const t = (i) => {
2509
+ if (i.button !== 0 || i.target.closest(".pcp-header-btn")) return;
2510
+ i.preventDefault();
2511
+ const a = n.getBoundingClientRect(), s = i.clientX - a.left, c = i.clientY - a.top;
2512
+ e.dataset.dragging = "true", e.setPointerCapture(i.pointerId);
2513
+ const p = (b) => {
2514
+ kr(n, b.clientX - s, b.clientY - c);
2515
+ }, f = (b) => {
2516
+ e.removeAttribute("data-dragging");
2517
+ try {
2518
+ e.releasePointerCapture(b.pointerId);
2519
+ } catch {
2520
+ }
2521
+ window.removeEventListener("pointermove", p), window.removeEventListener("pointerup", f), window.removeEventListener("pointercancel", f);
2522
+ };
2523
+ window.addEventListener("pointermove", p), window.addEventListener("pointerup", f), window.addEventListener("pointercancel", f);
2524
+ };
2525
+ return e.addEventListener("pointerdown", t), () => {
2526
+ e.removeEventListener("pointerdown", t), e.removeAttribute("data-dragging");
2527
+ };
2528
+ }
2529
+ function Ni(e) {
2530
+ const n = e.offsetWidth, t = e.offsetHeight;
2531
+ kr(
2532
+ e,
2533
+ (window.innerWidth - n) / 2,
2534
+ (window.innerHeight - t) / 2
2535
+ );
2536
+ }
2537
+ function kr(e, n, t) {
2538
+ const i = e.offsetWidth, r = e.offsetHeight, a = window.innerWidth - it, s = window.innerHeight - it, c = it - i, p = it - r;
2539
+ e.style.left = `${Math.min(a, Math.max(c, n))}px`, e.style.top = `${Math.min(s, Math.max(p, t))}px`;
2540
+ }
2541
+ const Ii = 8, Me = 8;
2542
+ function oo(e, n = document) {
2543
+ const t = e.trim();
2544
+ if (!t) return null;
2545
+ if (t.startsWith("#"))
2546
+ return n.getElementById(t.slice(1));
2547
+ try {
2548
+ return n.querySelector(t);
2549
+ } catch {
2550
+ return n.getElementById(t);
2551
+ }
2552
+ }
2553
+ function lo(e, n) {
2554
+ const t = n.getBoundingClientRect(), i = e.offsetWidth, r = e.offsetHeight, a = window.innerWidth, s = window.innerHeight;
2555
+ let c = t.bottom + Ii, p = t.left;
2556
+ p + i > a - Me && (p = t.right - i), p = Math.min(a - Me - i, Math.max(Me, p)), c + r > s - Me && (c = t.top - r - Ii), c = Math.min(s - Me - r, Math.max(Me, c)), e.style.left = `${p}px`, e.style.top = `${c}px`;
2557
+ }
2558
+ const co = ["hex", "rgb", "hsl", "oklch"], po = {
2559
+ hex: "HEX",
2560
+ rgb: "RGB",
2561
+ hsl: "HSL",
2562
+ oklch: "OKLCH"
2563
+ };
2564
+ var $, y, N, V, $e, H, ze, Ve, R, J, I, U, Je, F, Ae, K, Ue, Z, oe, _e, Q, O, ee, te, le, ce, ne, j, o, $r, zr, Ar, $n, zn, De, An, _n, Ln, Oe, B, Sn, _r, je, Tn, Lr, Cn, Sr, Tr, Cr, Pr, at, Ze, Hr, Er, Nr, Ir, st, Pn, Hn, qr, Rr, Fr, Xr, Dr, Or, jr, W, Ye, En, Nn, fe, we, ot, In, qn, Zr, Rn, Yr, lt, ct, Fn, dt, G, Br;
2565
+ class ho extends HTMLElement {
2566
+ constructor() {
2567
+ super();
2568
+ w(this, o);
2569
+ w(this, $);
2570
+ w(this, y, { ...Ti });
2571
+ w(this, N, "hsl");
2572
+ w(this, V, Us());
2573
+ w(this, $e, null);
2574
+ w(this, H, []);
2575
+ w(this, ze);
2576
+ w(this, Ve);
2577
+ w(this, R);
2578
+ w(this, J);
2579
+ w(this, I);
2580
+ w(this, U);
2581
+ w(this, Je);
2582
+ w(this, F);
2583
+ w(this, Ae);
2584
+ w(this, K);
2585
+ w(this, Ue);
2586
+ w(this, Z);
2587
+ w(this, oe);
2588
+ w(this, _e);
2589
+ w(this, Q, null);
2590
+ w(this, O, null);
2591
+ w(this, ee, null);
2592
+ w(this, te, null);
2593
+ w(this, le, null);
2594
+ w(this, ce, null);
2595
+ w(this, ne, null);
2596
+ w(this, j, Ti.h);
2597
+ g(this, $, this.attachShadow({ mode: "open" }));
2598
+ }
2599
+ static get observedAttributes() {
2600
+ return ["value", "theme", "header-action", "movable", "mode", "anchor", "open", "history"];
2601
+ }
2602
+ connectedCallback() {
2603
+ d(this, o, zr).call(this), d(this, o, Ar).call(this), d(this, o, $r).call(this), d(this, o, Ye).call(this, !1), d(this, o, _n).call(this), d(this, o, Oe).call(this), this.popoverMode && this.open && requestAnimationFrame(() => d(this, o, De).call(this));
2604
+ }
2605
+ disconnectedCallback() {
2606
+ var t;
2607
+ l(this, ne) != null && (cancelAnimationFrame(l(this, ne)), g(this, ne, null)), (t = l(this, O)) == null || t.call(this), g(this, O, null), d(this, o, An).call(this), l(this, H).forEach((i) => i()), g(this, H, []);
2608
+ }
2609
+ attributeChangedCallback(t, i, r) {
2610
+ if (this.isConnected) {
2611
+ if (t === "value" && r != null) {
2612
+ const a = ge(r);
2613
+ a && (g(this, y, a), d(this, o, Ye).call(this, !1));
2614
+ return;
2615
+ }
2616
+ t === "theme" && d(this, o, je).call(this), t === "movable" && d(this, o, Oe).call(this), (t === "mode" || t === "anchor") && (d(this, o, _n).call(this), d(this, o, Oe).call(this)), t === "open" && this.popoverMode && r != null && requestAnimationFrame(() => {
2617
+ d(this, o, De).call(this), d(this, o, we).call(this);
2618
+ }), t === "history" && d(this, o, Ln).call(this), t === "header-action" && d(this, o, Lr).call(this);
2619
+ }
2620
+ }
2621
+ get value() {
2622
+ return Li(l(this, y));
2623
+ }
2624
+ set value(t) {
2625
+ const i = ge(t);
2626
+ i && (g(this, y, i), d(this, o, Ye).call(this));
2627
+ }
2628
+ get color() {
2629
+ return { ...l(this, y) };
2630
+ }
2631
+ set color(t) {
2632
+ g(this, y, q(t)), d(this, o, Ye).call(this);
2633
+ }
2634
+ get theme() {
2635
+ const t = this.getAttribute("theme");
2636
+ return t === "light" || t === "system" ? t : "dark";
2637
+ }
2638
+ set theme(t) {
2639
+ this.setAttribute("theme", t);
2640
+ }
2641
+ get headerAction() {
2642
+ const t = this.getAttribute("header-action");
2643
+ return t === "theme" ? "theme" : t === "none" ? "none" : "close";
2644
+ }
2645
+ set headerAction(t) {
2646
+ this.setAttribute("header-action", t);
2647
+ }
2648
+ get movable() {
2649
+ return this.hasAttribute("movable");
2650
+ }
2651
+ set movable(t) {
2652
+ t ? this.setAttribute("movable", "") : this.removeAttribute("movable");
2653
+ }
2654
+ /** `inline` (default) or `popover` for a floating panel anchored to `anchor`. */
2655
+ get mode() {
2656
+ return this.getAttribute("mode") === "popover" ? "popover" : "inline";
2657
+ }
2658
+ set mode(t) {
2659
+ t === "popover" ? this.setAttribute("mode", "popover") : this.removeAttribute("mode");
2660
+ }
2661
+ get popoverMode() {
2662
+ return this.mode === "popover";
2663
+ }
2664
+ /** CSS selector or element id for the popover trigger (e.g. `#btn` or `.trigger`). */
2665
+ get anchor() {
2666
+ return this.getAttribute("anchor");
2667
+ }
2668
+ set anchor(t) {
2669
+ t ? this.setAttribute("anchor", t) : this.removeAttribute("anchor");
2670
+ }
2671
+ get open() {
2672
+ return this.hasAttribute("open");
2673
+ }
2674
+ set open(t) {
2675
+ t ? this.show() : this.hide();
2676
+ }
2677
+ show() {
2678
+ if (this.popoverMode) {
2679
+ if (this.open) {
2680
+ requestAnimationFrame(() => {
2681
+ d(this, o, De).call(this), d(this, o, we).call(this);
2682
+ });
2683
+ return;
2684
+ }
2685
+ this.setAttribute("open", "");
2686
+ }
2687
+ }
2688
+ hide() {
2689
+ !this.popoverMode || !this.open || this.removeAttribute("open");
2690
+ }
2691
+ toggle() {
2692
+ this.open ? this.hide() : this.show();
2693
+ }
2694
+ /** Last Used swatch grid — on by default; set `history="false"` to hide. */
2695
+ get history() {
2696
+ const t = this.getAttribute("history");
2697
+ return t === null ? !0 : t !== "false" && t !== "0";
2698
+ }
2699
+ set history(t) {
2700
+ t ? this.removeAttribute("history") : this.setAttribute("history", "false");
2701
+ }
2702
+ }
2703
+ $ = new WeakMap(), y = new WeakMap(), N = new WeakMap(), V = new WeakMap(), $e = new WeakMap(), H = new WeakMap(), ze = new WeakMap(), Ve = new WeakMap(), R = new WeakMap(), J = new WeakMap(), I = new WeakMap(), U = new WeakMap(), Je = new WeakMap(), F = new WeakMap(), Ae = new WeakMap(), K = new WeakMap(), Ue = new WeakMap(), Z = new WeakMap(), oe = new WeakMap(), _e = new WeakMap(), Q = new WeakMap(), O = new WeakMap(), ee = new WeakMap(), te = new WeakMap(), le = new WeakMap(), ce = new WeakMap(), ne = new WeakMap(), j = new WeakMap(), o = new WeakSet(), $r = function() {
2704
+ const t = this.getAttribute("value");
2705
+ if (t) {
2706
+ const i = ge(t);
2707
+ i && g(this, y, i);
2708
+ }
2709
+ }, zr = function() {
2710
+ const t = this.headerAction === "none" ? "" : this.headerAction === "theme" ? `<button type="button" class="pcp-header-btn pcp-theme-toggle" aria-label="Switch to light mode">${ni}</button>` : `<button type="button" class="pcp-header-btn pcp-close" aria-label="Close">
2711
+ <svg viewBox="0 0 16 16" fill="none" aria-hidden="true">
2712
+ <path
2713
+ d="M4.25 4.25L11.75 11.75M11.75 4.25L4.25 11.75"
2714
+ stroke="currentColor"
2715
+ stroke-width="1.5"
2716
+ stroke-linecap="round"
2717
+ />
2718
+ </svg>
2719
+ </button>`;
2720
+ l(this, $).innerHTML = `
2721
+ <style>${Ur}</style>
2722
+ <div class="pcp" part="container">
2723
+ <header class="pcp-header">
2724
+ <h2 class="pcp-title">Pretty Color Picker</h2>
2725
+ ${t}
2726
+ </header>
2727
+ <div class="pcp-plane-wrap pcp-clip">
2728
+ <canvas class="pcp-plane" width="240" height="180" aria-label="Color plane"></canvas>
2729
+ <div class="pcp-cursor" aria-hidden="true"></div>
2730
+ </div>
2731
+ <div class="pcp-slider-wrapper">
2732
+ <div class="pcp-slider pcp-clip pcp-hue-row" aria-label="Hue">
2733
+ <div class="pcp-slider-fill pcp-slider-fill-hue"></div>
2734
+ <div class="pcp-slider-handle"></div>
2735
+ </div>
2736
+ </div>
2737
+ <div class="pcp-slider-wrapper">
2738
+ <div class="pcp-slider pcp-clip pcp-alpha-row" aria-label="Opacity">
2739
+ <div class="pcp-slider-fill pcp-slider-fill-alpha"></div>
2740
+ <div class="pcp-slider-handle"></div>
2741
+ </div>
2742
+ </div>
2743
+ <div class="pcp-tabs" role="tablist">
2744
+ <div class="pcp-tabs-pill"></div>
2745
+ ${co.map((i) => `<button type="button" class="pcp-tab" role="tab" data-format="${i}">${po[i]}</button>`).join("")}
2746
+ </div>
2747
+ <div class="pcp-inputs">
2748
+ <div class="pcp-swatch pcp-clip" aria-hidden="true">
2749
+ <span class="pcp-swatch-fill"></span>
2750
+ </div>
2751
+ <div class="pcp-fields"></div>
2752
+ <div class="pcp-field pcp-alpha-field">
2753
+ <span class="pcp-field-label">A</span>
2754
+ <input class="pcp-field-input pcp-alpha-input" type="text" inputmode="numeric" value="80%" aria-label="Opacity" />
2755
+ </div>
2756
+ </div>
2757
+ <div class="pcp-history-section">
2758
+ <p class="pcp-history-label">Last Used</p>
2759
+ <div class="pcp-history"></div>
2760
+ </div>
2761
+ </div>
2762
+ `, g(this, ze, l(this, $).querySelector(".pcp-plane")), g(this, Ve, l(this, $).querySelector(".pcp-plane-wrap")), g(this, R, l(this, $).querySelector(".pcp-cursor")), g(this, J, l(this, $).querySelector(".pcp-hue-row")), g(this, I, l(this, J).querySelector(".pcp-slider-handle")), g(this, U, l(this, $).querySelector(".pcp-alpha-row")), g(this, Je, l(this, $).querySelector(".pcp-slider-fill-alpha")), g(this, F, l(this, U).querySelector(".pcp-slider-handle")), g(this, Ae, l(this, $).querySelector(".pcp-tabs-pill")), g(this, K, l(this, $).querySelector(".pcp-fields")), g(this, Ue, l(this, $).querySelector(".pcp-swatch-fill")), g(this, Z, l(this, $).querySelector(".pcp-alpha-input")), g(this, _e, l(this, $).querySelector(".pcp-history-section")), g(this, oe, l(this, $).querySelector(".pcp-history")), g(this, Q, l(this, $).querySelector(".pcp-theme-toggle")), d(this, o, je).call(this);
2763
+ }, Ar = function() {
2764
+ d(this, o, Tn).call(this), l(this, H).push(
2765
+ gn(
2766
+ l(this, Ve),
2767
+ (t, i) => d(this, o, Hr).call(this, t, i),
2768
+ () => d(this, o, G).call(this),
2769
+ () => d(this, o, B).call(this)
2770
+ )
2771
+ ), l(this, H).push(
2772
+ gn(
2773
+ l(this, J),
2774
+ (t) => d(this, o, Er).call(this, t),
2775
+ () => d(this, o, G).call(this),
2776
+ () => d(this, o, B).call(this)
2777
+ )
2778
+ ), l(this, H).push(
2779
+ gn(
2780
+ l(this, U),
2781
+ (t) => d(this, o, Nr).call(this, t),
2782
+ () => d(this, o, G).call(this),
2783
+ () => d(this, o, B).call(this)
2784
+ )
2785
+ ), l(this, H).push(d(this, o, Cn).call(this, l(this, J))), l(this, H).push(d(this, o, Cn).call(this, l(this, U))), l(this, $).querySelectorAll(".pcp-tab").forEach((t) => {
2786
+ t.addEventListener("click", () => {
2787
+ const i = t.dataset.format;
2788
+ i && i !== l(this, N) && (g(this, N, i), d(this, o, we).call(this), d(this, o, Fn).call(this), d(this, o, ct).call(this), d(this, o, ot).call(this));
2789
+ });
2790
+ }), l(this, Z).addEventListener("focus", () => d(this, o, B).call(this)), l(this, Z).addEventListener("change", () => d(this, o, Pn).call(this)), l(this, Z).addEventListener("keydown", (t) => {
2791
+ t.key === "Enter" && d(this, o, Pn).call(this);
2792
+ }), l(this, H).push(d(this, o, Or).call(this)), d(this, o, Oe).call(this), d(this, o, Ln).call(this);
2793
+ }, $n = function() {
2794
+ this.popoverMode && this.hide(), this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 }));
2795
+ }, zn = function() {
2796
+ const t = this.anchor;
2797
+ return t ? oo(t, this.ownerDocument) : null;
2798
+ }, De = function() {
2799
+ g(this, le, d(this, o, zn).call(this)), l(this, le) ? (lo(this, l(this, le)), this.setAttribute("data-positioned", "")) : (this.movable || this.popoverMode) && (Ni(this), this.setAttribute("data-positioned", ""));
2800
+ }, An = function() {
2801
+ if (l(this, te)) {
2802
+ const t = l(this, H).indexOf(l(this, te));
2803
+ t >= 0 && l(this, H).splice(t, 1), l(this, te).call(this), g(this, te, null);
2804
+ }
2805
+ g(this, le, null);
2806
+ }, _n = function() {
2807
+ if (d(this, o, An).call(this), !this.popoverMode) {
2808
+ this.removeAttribute("open"), this.movable || (this.style.position = "", this.style.left = "", this.style.top = "", this.style.zIndex = "");
2809
+ return;
2810
+ }
2811
+ this.movable || (this.style.position = "fixed", this.style.zIndex = "1000");
2812
+ const t = d(this, o, zn).call(this);
2813
+ g(this, le, t);
2814
+ const i = (c) => {
2815
+ c.preventDefault(), c.stopPropagation(), this.toggle();
2816
+ }, r = (c) => {
2817
+ if (!this.open) return;
2818
+ const p = c.composedPath();
2819
+ p.includes(this) || t && p.includes(t) || this.hide();
2820
+ }, a = (c) => {
2821
+ c.key === "Escape" && this.open && (c.preventDefault(), d(this, o, $n).call(this));
2822
+ }, s = () => {
2823
+ this.open && d(this, o, De).call(this);
2824
+ };
2825
+ t == null || t.addEventListener("click", i), document.addEventListener("pointerdown", r, !0), document.addEventListener("keydown", a), window.addEventListener("resize", s), window.addEventListener("scroll", s, !0), g(this, te, () => {
2826
+ t == null || t.removeEventListener("click", i), document.removeEventListener("pointerdown", r, !0), document.removeEventListener("keydown", a), window.removeEventListener("resize", s), window.removeEventListener("scroll", s, !0);
2827
+ }), l(this, H).push(l(this, te));
2828
+ }, Ln = function() {
2829
+ if (!this.history) {
2830
+ l(this, _e).hidden = !0, l(this, oe).innerHTML = "";
2831
+ return;
2832
+ }
2833
+ d(this, o, dt).call(this);
2834
+ }, Oe = function() {
2835
+ if (l(this, ee)) {
2836
+ const r = l(this, H).indexOf(l(this, ee));
2837
+ r >= 0 && l(this, H).splice(r, 1), l(this, ee).call(this), g(this, ee, null);
2838
+ }
2839
+ if (!(this.movable || this.popoverMode)) {
2840
+ this.popoverMode || (this.style.position = "", this.style.left = "", this.style.top = "", this.style.zIndex = ""), this.removeAttribute("data-positioned");
2841
+ return;
2842
+ }
2843
+ !this.popoverMode && !this.hasAttribute("data-positioned") && requestAnimationFrame(() => {
2844
+ Ni(this), this.setAttribute("data-positioned", "");
2845
+ });
2846
+ const i = l(this, $).querySelector(".pcp-header");
2847
+ i && (g(this, ee, so(i, this)), l(this, H).push(l(this, ee)));
2848
+ }, B = function() {
2849
+ g(this, $e, { ...l(this, y) });
2850
+ }, Sn = function() {
2851
+ return this.theme === "light" ? "light" : this.theme === "dark" || window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
2852
+ }, _r = function() {
2853
+ const t = d(this, o, Sn).call(this) === "light" ? "dark" : "light";
2854
+ this.theme = t, d(this, o, je).call(this);
2855
+ const i = { theme: t };
2856
+ this.dispatchEvent(
2857
+ new CustomEvent("themechange", {
2858
+ detail: i,
2859
+ bubbles: !0,
2860
+ composed: !0
2861
+ })
2862
+ );
2863
+ }, je = function() {
2864
+ if (!l(this, Q)) return;
2865
+ const t = d(this, o, Sn).call(this) === "light";
2866
+ l(this, Q).innerHTML = t ? Jr : ni, l(this, Q).setAttribute(
2867
+ "aria-label",
2868
+ t ? "Switch to dark mode" : "Switch to light mode"
2869
+ );
2870
+ }, Tn = function() {
2871
+ var r;
2872
+ (r = l(this, O)) == null || r.call(this), g(this, O, null);
2873
+ const t = l(this, $).querySelector(".pcp-close");
2874
+ if (t) {
2875
+ const a = () => d(this, o, $n).call(this);
2876
+ t.addEventListener("click", a), g(this, O, () => t.removeEventListener("click", a));
2877
+ return;
2878
+ }
2879
+ const i = l(this, $).querySelector(".pcp-theme-toggle");
2880
+ if (i) {
2881
+ const a = () => d(this, o, _r).call(this);
2882
+ i.addEventListener("click", a), g(this, O, () => i.removeEventListener("click", a));
2883
+ }
2884
+ }, Lr = function() {
2885
+ var r, a;
2886
+ (r = l(this, O)) == null || r.call(this), g(this, O, null);
2887
+ const t = l(this, $).querySelector(".pcp-header");
2888
+ if (!t || ((a = t.querySelector(".pcp-header-btn")) == null || a.remove(), g(this, Q, null), this.headerAction === "none")) return;
2889
+ const i = document.createElement("button");
2890
+ i.type = "button", i.className = `pcp-header-btn ${this.headerAction === "theme" ? "pcp-theme-toggle" : "pcp-close"}`, t.appendChild(i), this.headerAction === "theme" ? (g(this, Q, i), d(this, o, je).call(this)) : (i.setAttribute("aria-label", "Close"), i.innerHTML = `<svg viewBox="0 0 16 16" fill="none" aria-hidden="true">
2891
+ <path
2892
+ d="M4.25 4.25L11.75 11.75M11.75 4.25L4.25 11.75"
2893
+ stroke="currentColor"
2894
+ stroke-width="1.5"
2895
+ stroke-linecap="round"
2896
+ />
2897
+ </svg>`), d(this, o, Tn).call(this);
2898
+ }, Cn = function(t) {
2899
+ const i = () => {
2900
+ t.dataset.active = "true";
2901
+ }, r = () => {
2902
+ const a = t.querySelector(".pcp-slider-handle");
2903
+ a != null && a.hasAttribute("data-dragging") || delete t.dataset.active;
2904
+ };
2905
+ return t.addEventListener("pointerenter", i), t.addEventListener("pointerleave", r), () => {
2906
+ t.removeEventListener("pointerenter", i), t.removeEventListener("pointerleave", r);
2907
+ };
2908
+ }, Sr = function(t, i) {
2909
+ const r = Math.max(0, Math.min(1, i)) * 100;
2910
+ t.style.left = `max(1px, calc(${r}% - 1.5px))`;
2911
+ }, Tr = function() {
2912
+ const t = getComputedStyle(this), i = Ci(t.getPropertyValue("--pcp-checker-base").trim()) ?? { r: 255, g: 255, b: 255 }, r = Ci(t.getPropertyValue("--pcp-checker-tone").trim()) ?? { r: 204, g: 204, b: 204 };
2913
+ return { base: i, tone: r };
2914
+ }, Cr = function(t, i) {
2915
+ const r = t.style.left.match(/calc\(([\d.]+)%/);
2916
+ return r ? parseFloat(r[1]) / 100 : i;
2917
+ }, Pr = function(t, i) {
2918
+ if (i === "hue") return Zs(t);
2919
+ const { base: r, tone: a } = d(this, o, Tr).call(this);
2920
+ return ao(xt(l(this, y)), t, r, a);
2921
+ }, at = function(t, i, r) {
2922
+ const a = d(this, o, Pr).call(this, i, r), { backgroundColor: s, boxShadow: c } = ro(
2923
+ a.r,
2924
+ a.g,
2925
+ a.b
2926
+ );
2927
+ t.style.backgroundColor = s, t.style.boxShadow = c;
2928
+ }, Ze = function(t, i, r) {
2929
+ d(this, o, Sr).call(this, t, i), d(this, o, at).call(this, t, i, r);
2930
+ }, Hr = function(t, i) {
2931
+ l(this, R).dataset.dragging = "true";
2932
+ const r = d(this, o, fe).call(this);
2933
+ d(this, o, W).call(this, Js(t, i, r, l(this, y).alpha), !0, {
2934
+ refreshPlane: !1,
2935
+ refreshCursor: !1,
2936
+ refreshSliders: !1,
2937
+ syncPlaneHue: !1
2938
+ }), d(this, o, In).call(this, t, i);
2939
+ }, Er = function(t) {
2940
+ l(this, J).dataset.active = "true", l(this, I).dataset.dragging = "true", g(this, j, t * 360), d(this, o, Ze).call(this, l(this, I), t, "hue"), d(this, o, W).call(this, xr(l(this, y), l(this, j)), !0, {
2941
+ refreshPlane: !0,
2942
+ refreshCursor: !1,
2943
+ refreshSliders: !1,
2944
+ syncPlaneHue: !1
2945
+ });
2946
+ }, Nr = function(t) {
2947
+ l(this, U).dataset.active = "true", l(this, F).dataset.dragging = "true", d(this, o, W).call(this, q({ ...l(this, y), alpha: t }), !0, {
2948
+ refreshPlane: !1,
2949
+ refreshSliders: !1,
2950
+ syncPlaneHue: !1
2951
+ }), d(this, o, Ze).call(this, l(this, F), t, "alpha");
2952
+ }, Ir = function() {
2953
+ const i = l(this, I).style.left.match(/calc\(([\d.]+)%/);
2954
+ return i ? parseFloat(i[1]) / 100 * 360 : l(this, j);
2955
+ }, st = function() {
2956
+ se(l(this, y)) || g(this, j, Bs(l(this, y)));
2957
+ }, Pn = function() {
2958
+ const t = l(this, Z).value.replace(/%/g, "").trim(), i = Number(t);
2959
+ if (Number.isNaN(i)) {
2960
+ d(this, o, lt).call(this);
2961
+ return;
2962
+ }
2963
+ d(this, o, W).call(this, q({ ...l(this, y), alpha: i / 100 }), !0), d(this, o, G).call(this);
2964
+ }, Hn = function(t, i) {
2965
+ d(this, o, qr).call(this, { [t]: i }, !0);
2966
+ }, qr = function(t, i = !0) {
2967
+ const r = {};
2968
+ rt(l(this, y), l(this, N)).forEach((s) => {
2969
+ r[s.key] = t[s.key] ?? s.value;
2970
+ });
2971
+ const a = Si(l(this, N), r, l(this, y));
2972
+ a && (d(this, o, W).call(this, a, !0), i && d(this, o, G).call(this));
2973
+ }, Rr = function(t, i) {
2974
+ if (t.scrubStep != null)
2975
+ return i ? t.scrubStep * 0.1 : t.scrubStep;
2976
+ const r = t.min ?? 0, s = (t.max ?? 100) - r, c = t.step != null && t.step < 1 ? s / 120 : t.step ?? 1;
2977
+ return i ? c * 0.1 : c;
2978
+ }, Fr = function(t, i) {
2979
+ return t.step != null && t.step < 1 ? i.toFixed(3) : String(Math.round(i));
2980
+ }, Xr = function(t, i, r, a) {
2981
+ const s = l(this, K).querySelector(
2982
+ `.pcp-field-input[data-key="${t}"]`
2983
+ ), c = rt(l(this, y), l(this, N)), p = c.find((T) => T.key === t);
2984
+ if (!p) return;
2985
+ const f = i.min ?? 0, b = i.max ?? 100, x = d(this, o, Rr).call(this, i, a), v = Number(s ? s.value.replace(/%/g, "").trim() : p.value);
2986
+ let M = v + r * x;
2987
+ if (i.step != null && i.step < 1 ? (M = Math.round(M / i.step) * i.step, M = Math.min(b, Math.max(f, M))) : M = Math.min(b, Math.max(f, Math.round(M))), Math.abs(M - v) < (i.step != null && i.step < 1 ? i.step / 2 : 0.5)) return;
2988
+ const A = d(this, o, Fr).call(this, i, M);
2989
+ let z = null;
2990
+ if (l(this, N) === "hsl" && (t === "h" || t === "s" || t === "l"))
2991
+ z = Ws(l(this, y), t, M);
2992
+ else if (l(this, N) === "oklch" && (t === "l" || t === "c" || t === "h"))
2993
+ z = Gs(l(this, y), t, M, l(this, j));
2994
+ else {
2995
+ const T = {};
2996
+ c.forEach((L) => {
2997
+ T[L.key] = L.key === t ? A : L.value;
2998
+ }), z = Si(l(this, N), T, l(this, y));
2999
+ }
3000
+ if (!z) return;
3001
+ t === "h" && g(this, j, D(M));
3002
+ const _ = t === "h" || l(this, N) === "oklch" && (t === "c" || t === "l");
3003
+ d(this, o, W).call(this, z, !0, {
3004
+ refreshFields: !1,
3005
+ refreshCursor: !0,
3006
+ refreshSliders: !0,
3007
+ syncPlaneHue: !_
3008
+ }), s && (s.value = A);
3009
+ }, Dr = function(t, i) {
3010
+ const r = i ? 0.05 : 0.5, a = l(this, y).alpha * 100;
3011
+ let s = a + t * r;
3012
+ if (s = Math.min(100, Math.max(0, i ? s : Math.round(s))), Math.abs(s - a) < 0.01) return;
3013
+ const c = s / 100;
3014
+ d(this, o, W).call(this, q({ ...l(this, y), alpha: c }), !0, {
3015
+ refreshFields: !1,
3016
+ refreshPlane: !1,
3017
+ refreshSliders: !1,
3018
+ syncPlaneHue: !1
3019
+ }), l(this, Z).value = `${Math.round(s)}%`;
3020
+ }, Or = function() {
3021
+ const t = l(this, $).querySelector(".pcp-alpha-field .pcp-field-label");
3022
+ return t ? Hi(t, {
3023
+ onStart: () => {
3024
+ d(this, o, B).call(this), t.setAttribute("data-scrubbing", "true"), document.body.style.cursor = "ew-resize";
3025
+ },
3026
+ onDelta: (i, r) => d(this, o, Dr).call(this, i, r.shiftKey),
3027
+ onEnd: () => {
3028
+ t.removeAttribute("data-scrubbing"), document.body.style.cursor = "", d(this, o, G).call(this), d(this, o, lt).call(this);
3029
+ }
3030
+ }) : () => {
3031
+ };
3032
+ }, jr = function(t) {
3033
+ l(this, N) !== "hex" && l(this, K).querySelectorAll(".pcp-field-label").forEach((i) => {
3034
+ var c;
3035
+ const r = i.closest(".pcp-field");
3036
+ if (!r) return;
3037
+ const a = (c = [...r.classList].find((p) => p.startsWith("pcp-field-") && p !== "pcp-field")) == null ? void 0 : c.slice(10);
3038
+ if (!a) return;
3039
+ const s = t.find((p) => p.key === a);
3040
+ !s || s.min == null || s.max == null || Hi(i, {
3041
+ onStart: () => {
3042
+ d(this, o, B).call(this), i.setAttribute("data-scrubbing", "true"), document.body.style.cursor = "ew-resize";
3043
+ },
3044
+ onDelta: (p, f) => d(this, o, Xr).call(this, a, s, p, f.shiftKey),
3045
+ onEnd: () => {
3046
+ i.removeAttribute("data-scrubbing"), document.body.style.cursor = "", d(this, o, G).call(this), d(this, o, ct).call(this);
3047
+ }
3048
+ });
3049
+ });
3050
+ }, W = function(t, i = !0, r) {
3051
+ let a = q(t);
3052
+ se(a) && (a = vt(a, l(this, j))), g(this, y, a), !(l(this, R).hasAttribute("data-dragging") || l(this, I).hasAttribute("data-dragging")) && (r == null ? void 0 : r.syncPlaneHue) !== !1 && !se(a) && d(this, o, st).call(this), d(this, o, En).call(this, i, r);
3053
+ }, Ye = function(t = !0) {
3054
+ se(l(this, y)) || d(this, o, st).call(this), d(this, o, we).call(this), d(this, o, Fn).call(this), d(this, o, En).call(this, t), d(this, o, dt).call(this);
3055
+ }, En = function(t, i) {
3056
+ (i == null ? void 0 : i.refreshFields) !== !1 && d(this, o, ct).call(this), d(this, o, Yr).call(this), (i == null ? void 0 : i.refreshSliders) !== !1 && d(this, o, qn).call(this), (i == null ? void 0 : i.refreshCursor) !== !1 && !l(this, R).hasAttribute("data-dragging") && d(this, o, ot).call(this), (i == null ? void 0 : i.refreshPlane) === !0 ? d(this, o, Nn).call(this) : (i == null ? void 0 : i.refreshPlane) !== !1 && !l(this, R).hasAttribute("data-dragging") && !l(this, I).hasAttribute("data-dragging") && l(this, ce) !== d(this, o, fe).call(this) && d(this, o, Nn).call(this), t && d(this, o, Br).call(this);
3057
+ }, Nn = function() {
3058
+ l(this, ne) == null && g(this, ne, requestAnimationFrame(() => {
3059
+ g(this, ne, null);
3060
+ const t = d(this, o, fe).call(this);
3061
+ l(this, ce) !== t && (_i(l(this, ze), t), g(this, ce, t));
3062
+ }));
3063
+ }, fe = function() {
3064
+ return l(this, I).hasAttribute("data-dragging") ? d(this, o, Ir).call(this) : l(this, j);
3065
+ }, we = function() {
3066
+ const t = d(this, o, fe).call(this);
3067
+ _i(l(this, ze), t), g(this, ce, t);
3068
+ }, ot = function() {
3069
+ const { x: t, y: i } = Vs(l(this, y));
3070
+ d(this, o, In).call(this, t, i);
3071
+ }, In = function(t, i) {
3072
+ l(this, R).style.left = `${t * 100}%`, l(this, R).style.top = `${i * 100}%`;
3073
+ }, qn = function() {
3074
+ const i = d(this, o, fe).call(this) / 360;
3075
+ l(this, I).hasAttribute("data-dragging") ? d(this, o, at).call(this, l(this, I), i, "hue") : d(this, o, Ze).call(this, l(this, I), i, "hue");
3076
+ const r = l(this, F).hasAttribute("data-dragging") ? d(this, o, Cr).call(this, l(this, F), l(this, y).alpha) : l(this, y).alpha;
3077
+ l(this, F).hasAttribute("data-dragging") ? d(this, o, at).call(this, l(this, F), r, "alpha") : d(this, o, Ze).call(this, l(this, F), r, "alpha"), d(this, o, Zr).call(this);
3078
+ }, Zr = function() {
3079
+ l(this, Je).style.setProperty("--pcp-alpha-gradient", Ys(l(this, y)));
3080
+ }, Rn = function(t, i) {
3081
+ const { r, g: a, b: s } = xt(i);
3082
+ t.style.setProperty("--swatch-solid", `rgb(${r}, ${a}, ${s})`), t.style.setProperty("--swatch-alpha", `rgba(${r}, ${a}, ${s}, ${i.alpha})`);
3083
+ }, Yr = function() {
3084
+ d(this, o, Rn).call(this, l(this, Ue), l(this, y));
3085
+ }, lt = function() {
3086
+ l(this, Z).value = `${Math.round(l(this, y).alpha * 100)}%`;
3087
+ }, ct = function() {
3088
+ const t = rt(l(this, y), l(this, N));
3089
+ l(this, K).dataset.format = l(this, N), l(this, K).innerHTML = t.map(
3090
+ (i) => `
3091
+ <div class="pcp-field pcp-field-${i.key}">
3092
+ <span class="pcp-field-label">${i.label}</span>
3093
+ <input
3094
+ class="pcp-field-input"
3095
+ type="text"
3096
+ data-key="${i.key}"
3097
+ value="${i.value}"
3098
+ aria-label="${i.label}"
3099
+ />
3100
+ </div>
3101
+ `
3102
+ ).join(""), l(this, K).querySelectorAll(".pcp-field-input").forEach((i) => {
3103
+ const r = i, a = r.dataset.key;
3104
+ r.addEventListener("focus", () => d(this, o, B).call(this)), r.addEventListener("change", () => d(this, o, Hn).call(this, a, r.value)), r.addEventListener("keydown", (s) => {
3105
+ s.key === "Enter" && d(this, o, Hn).call(this, a, r.value);
3106
+ });
3107
+ }), d(this, o, jr).call(this, t), d(this, o, lt).call(this);
3108
+ }, Fn = function() {
3109
+ const t = l(this, $).querySelectorAll(".pcp-tab");
3110
+ let i = null;
3111
+ if (t.forEach((r) => {
3112
+ const a = r.dataset.format === l(this, N);
3113
+ r.setAttribute("data-active", String(a)), r.setAttribute("aria-selected", String(a)), a && (i = r);
3114
+ }), i) {
3115
+ const r = i, a = r.offsetLeft, s = r.offsetWidth;
3116
+ l(this, Ae).style.left = `${a}px`, l(this, Ae).style.width = `${s}px`;
3117
+ }
3118
+ }, dt = function() {
3119
+ this.history && (l(this, _e).hidden = l(this, V).length === 0, l(this, oe).innerHTML = l(this, V).map((t, i) => `
3120
+ <button type="button" class="pcp-history-swatch pcp-clip" data-index="${i}" aria-label="Color ${Ge(t)}">
3121
+ <span class="pcp-swatch-fill" data-history-fill="${i}"></span>
3122
+ </button>
3123
+ `).join(""), l(this, oe).querySelectorAll("[data-history-fill]").forEach((t) => {
3124
+ const i = Number(t.dataset.historyFill), r = l(this, V)[i];
3125
+ r && d(this, o, Rn).call(this, t, r);
3126
+ }), l(this, oe).querySelectorAll(".pcp-history-swatch").forEach((t) => {
3127
+ t.addEventListener("click", () => {
3128
+ const i = Number(t.dataset.index), r = l(this, V)[i];
3129
+ r && (d(this, o, B).call(this), d(this, o, W).call(this, { ...r }, !0, { refreshFields: !0 }), d(this, o, G).call(this));
3130
+ });
3131
+ }));
3132
+ }, G = function() {
3133
+ const t = l(this, R).hasAttribute("data-dragging"), i = l(this, I).hasAttribute("data-dragging");
3134
+ delete l(this, R).dataset.dragging, delete l(this, I).dataset.dragging, delete l(this, F).dataset.dragging, delete l(this, J).dataset.active, delete l(this, U).dataset.active, (t || i) && (se(l(this, y)) || d(this, o, st).call(this), d(this, o, qn).call(this), d(this, o, ot).call(this), l(this, ce) !== d(this, o, fe).call(this) && d(this, o, we).call(this));
3135
+ const r = l(this, $e);
3136
+ g(this, $e, null), this.history && r && !wr(r, l(this, y)) && (g(this, V, Ks(r, l(this, V))), d(this, o, dt).call(this));
3137
+ }, Br = function() {
3138
+ const t = {
3139
+ color: { ...l(this, y) },
3140
+ css: Li(l(this, y)),
3141
+ hex: Ge(l(this, y))
3142
+ };
3143
+ this.dispatchEvent(
3144
+ new CustomEvent("change", {
3145
+ detail: t,
3146
+ bubbles: !0,
3147
+ composed: !0
3148
+ })
3149
+ );
3150
+ };
3151
+ customElements.get("pretty-color-picker") || customElements.define("pretty-color-picker", ho);
3152
+ export {
3153
+ Ti as DEFAULT_COLOR,
3154
+ ho as PrettyColorPicker,
3155
+ rt as formatFieldsFor,
3156
+ q as normalizeOklch,
3157
+ ge as oklchFromCss,
3158
+ Li as oklchToCss,
3159
+ Ge as oklchToHex,
3160
+ fo as oklchToRgbString,
3161
+ Si as parseFormatFields
3162
+ };