@luzmo/analytics-components-kit 1.1.1 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/angular/components/interactive-viz-item.ts +40 -3
- package/angular/components/item-option-color-picker.ts +30 -3
- package/angular/components/item-option-color-range.ts +30 -3
- package/angular/components/item-option-guidelines.ts +31 -4
- package/angular/components/item-option-panel.ts +41 -4
- package/angular/components/item-option-slider.ts +41 -4
- package/angular/components/item-option.ts +41 -4
- package/angular/esm/components/interactive-viz-item.d.ts +13 -4
- package/angular/esm/components/interactive-viz-item.js +29 -3
- package/angular/esm/components/item-option-color-picker.d.ts +11 -4
- package/angular/esm/components/item-option-color-picker.js +23 -3
- package/angular/esm/components/item-option-color-range.d.ts +11 -4
- package/angular/esm/components/item-option-color-range.js +23 -3
- package/angular/esm/components/item-option-guidelines.d.ts +11 -4
- package/angular/esm/components/item-option-guidelines.js +24 -4
- package/angular/esm/components/item-option-panel.d.ts +13 -4
- package/angular/esm/components/item-option-panel.js +30 -4
- package/angular/esm/components/item-option-slider.d.ts +13 -4
- package/angular/esm/components/item-option-slider.js +30 -4
- package/angular/esm/components/item-option.d.ts +13 -4
- package/angular/esm/components/item-option.js +30 -4
- package/angular/package.json +2 -2
- package/angular/utils/option-interaction/index.d.ts +2 -0
- package/angular/utils/option-interaction/is-same-option-value.d.ts +10 -0
- package/angular/utils/option-interaction/option-interaction-controller.d.ts +54 -0
- package/angular/utils/option-interaction/tests/option-interaction-controller.test.d.ts +1 -0
- package/angular/utils/store/base-store.d.ts +9 -0
- package/angular/utils/store/tests/store-base-history.test.d.ts +1 -0
- package/components/{base-store-SgJsjLap.cjs → base-store-D3whjduR.cjs} +1 -1
- package/components/{base-store-g0dt7ru7.js → base-store-DQYj8A1W.js} +3 -0
- package/components/{choropleth-map-options.config-D9-u-NwX.js → choropleth-map-options.config-Blu0Z2tR.js} +1 -1
- package/components/{choropleth-map-options.config-CXDGMiSJ.cjs → choropleth-map-options.config-DwFJ00CS.cjs} +1 -1
- package/components/{color-range-utils-CUCTsRXM.js → color-range-utils-CgwRGUkg.js} +18 -18
- package/components/{color-range-utils-BCFQAeY1.cjs → color-range-utils-D8uygiMe.cjs} +1 -1
- package/components/{heat-map-options.config-ChZeslEy.js → heat-map-options.config-BQkhkLPb.js} +16 -16
- package/components/{heat-map-options.config-DiNa8NnG.cjs → heat-map-options.config-DjQkB039.cjs} +1 -1
- package/components/{heat-table-options.config-BPCszrFn.js → heat-table-options.config-CMWWTeyo.js} +1 -1
- package/components/{heat-table-options.config-BvE6coaV.cjs → heat-table-options.config-D21xtaIk.cjs} +1 -1
- package/components/index.cjs +1 -1
- package/components/index.js +7 -7
- package/components/interactive-viz-item/index.cjs +1 -1
- package/components/interactive-viz-item/index.d.ts +2 -1
- package/components/interactive-viz-item/index.js +1 -1
- package/components/interactive-viz-item/interactive-viz-item.d.ts +31 -1
- package/components/interactive-viz-item/types.d.ts +13 -0
- package/components/{interactive-viz-item-CofUkpP6.js → interactive-viz-item-CwRRaCZB.js} +144 -84
- package/components/interactive-viz-item-CxdrGRKc.cjs +265 -0
- package/components/is-same-option-value-B2oyvEqT.js +42 -0
- package/components/is-same-option-value-Cf6BQcs7.cjs +20 -0
- package/components/item-option/helpers/control-markup.d.ts +7 -0
- package/components/item-option/index.cjs +1 -1
- package/components/item-option/index.d.ts +1 -1
- package/components/item-option/index.js +1 -1
- package/components/item-option/item-option.d.ts +23 -2
- package/components/item-option/types.d.ts +19 -0
- package/components/{item-option-Cgx3c08E.js → item-option-DKLRnicU.js} +182 -136
- package/components/item-option-DpLdospV.cjs +285 -0
- package/components/item-option-color-picker/index.cjs +1 -1
- package/components/item-option-color-picker/index.d.ts +1 -1
- package/components/item-option-color-picker/index.js +1 -1
- package/components/item-option-color-picker/item-option-color-picker.d.ts +17 -1
- package/components/item-option-color-picker-CNW7GsCO.cjs +37 -0
- package/components/item-option-color-picker-DDvsY7hV.js +129 -0
- package/components/item-option-color-range/index.cjs +1 -1
- package/components/item-option-color-range/index.d.ts +1 -1
- package/components/item-option-color-range/index.js +1 -1
- package/components/item-option-color-range/item-option-color-range.d.ts +20 -1
- package/components/item-option-color-range-BqSbuSZh.cjs +101 -0
- package/components/item-option-color-range-FQduqtz3.js +265 -0
- package/components/item-option-guidelines/index.cjs +1 -1
- package/components/item-option-guidelines/index.d.ts +1 -1
- package/components/item-option-guidelines/index.js +1 -1
- package/components/item-option-guidelines/item-option-guidelines.d.ts +16 -1
- package/components/{item-option-guidelines-DNJevmVD.js → item-option-guidelines-k5DwMONo.js} +132 -104
- package/components/item-option-guidelines-z9BsGR-l.cjs +138 -0
- package/components/item-option-panel/index.cjs +1 -1
- package/components/item-option-panel/index.d.ts +1 -1
- package/components/item-option-panel/index.js +1 -1
- package/components/item-option-panel/item-option-panel.d.ts +12 -1
- package/components/{item-option-panel-DHdnisRb.js → item-option-panel-BLXWIbjX.js} +18 -6
- package/components/{item-option-panel-Dl3aYBNe.cjs → item-option-panel-CU51qvgV.cjs} +6 -4
- package/components/item-option-slider/index.cjs +1 -1
- package/components/item-option-slider/index.d.ts +1 -1
- package/components/item-option-slider/index.js +1 -1
- package/components/item-option-slider/item-option-slider.d.ts +15 -2
- package/components/item-option-slider-BKtJfL3D.js +119 -0
- package/components/item-option-slider-Kz2eFBql.cjs +36 -0
- package/components/item-options-configs.cjs +1 -1
- package/components/item-options-configs.js +5 -5
- package/components/option-interaction-controller-B8S1N_Oo.js +90 -0
- package/components/option-interaction-controller-D0U-CTpZ.cjs +20 -0
- package/components/{route-map-options.config-DdCaVtIF.cjs → route-map-options.config-DER6ENky.cjs} +1 -1
- package/components/{route-map-options.config-B7vT6KG_.js → route-map-options.config-DTcS47fW.js} +1 -1
- package/components/{spike-map-options.config-DkmRZ1JZ.js → spike-map-options.config-CPYfKWoF.js} +1 -1
- package/components/{spike-map-options.config-B3hDh2qU.cjs → spike-map-options.config-DeF1Whq5.cjs} +1 -1
- package/components/utils/store.cjs +1 -1
- package/components/utils/store.js +1 -1
- package/custom-elements.json +409 -103
- package/package.json +1 -1
- package/react/components/interactive-viz-item.component.ts +11 -2
- package/react/components/item-option-color-picker.component.ts +9 -3
- package/react/components/item-option-color-range.component.ts +9 -3
- package/react/components/item-option-guidelines.component.ts +9 -3
- package/react/components/item-option-panel.component.ts +12 -3
- package/react/components/item-option-slider.component.ts +12 -3
- package/react/components/item-option.component.ts +12 -3
- package/react/esm/components/interactive-viz-item.component.d.ts +8 -2
- package/react/esm/components/interactive-viz-item.component.js +7 -1
- package/react/esm/components/item-option-color-picker.component.d.ts +6 -2
- package/react/esm/components/item-option-color-picker.component.js +6 -2
- package/react/esm/components/item-option-color-range.component.d.ts +6 -2
- package/react/esm/components/item-option-color-range.component.js +6 -2
- package/react/esm/components/item-option-guidelines.component.d.ts +6 -2
- package/react/esm/components/item-option-guidelines.component.js +6 -2
- package/react/esm/components/item-option-panel.component.d.ts +8 -2
- package/react/esm/components/item-option-panel.component.js +8 -2
- package/react/esm/components/item-option-slider.component.d.ts +8 -2
- package/react/esm/components/item-option-slider.component.js +8 -2
- package/react/esm/components/item-option.component.d.ts +8 -2
- package/react/esm/components/item-option.component.js +8 -2
- package/react/luzmo-stub.d.ts +7 -0
- package/react/package.json +2 -2
- package/standalone/chunks/{choropleth-map-options.config-Cs4Kvr9h.js → choropleth-map-options.config-rUJsEJcm.js} +1 -1
- package/standalone/chunks/{color-range-utils-CKDpd3gZ.js → color-range-utils-DxOtqAKB.js} +1 -1
- package/standalone/chunks/embed-CBu7iQRx.js +231 -0
- package/standalone/chunks/{heat-map-options.config-DF5kjOOe.js → heat-map-options.config-D93AeYFi.js} +1 -1
- package/standalone/chunks/{heat-table-options.config-DaePzfHG.js → heat-table-options.config-ZVML76FK.js} +1 -1
- package/standalone/chunks/is-same-option-value-Di-A7Wmg.js +2 -0
- package/standalone/chunks/item-option-color-picker-lLvBPnKA.js +19 -0
- package/standalone/chunks/{item-option-color-range-CyJd1LZ_.js → item-option-color-range-BqeatOei.js} +18 -15
- package/standalone/chunks/item-option-guidelines-Cop8rM8y.js +120 -0
- package/standalone/chunks/item-option-panel-CzSKFCVl.js +316 -0
- package/standalone/chunks/item-option-slider-K_bsNci8.js +18 -0
- package/standalone/chunks/option-interaction-controller-BslAXAHF.js +2 -0
- package/standalone/chunks/{route-map-options.config-D7FfzIiU.js → route-map-options.config-Dwy0JSVq.js} +1 -1
- package/standalone/chunks/{spike-map-options.config-CZiFzDm9.js → spike-map-options.config-DFmuNxym.js} +1 -1
- package/standalone/interactive-viz-item.js +24 -20
- package/standalone/item-grid.js +1 -1
- package/standalone/manifest.json +14 -13
- package/utils/option-interaction/index.d.ts +2 -0
- package/utils/option-interaction/is-same-option-value.d.ts +10 -0
- package/utils/option-interaction/option-interaction-controller.d.ts +54 -0
- package/utils/option-interaction/tests/option-interaction-controller.test.d.ts +1 -0
- package/utils/store/base-store.d.ts +9 -0
- package/utils/store/tests/store-base-history.test.d.ts +1 -0
- package/components/interactive-viz-item-D537mo3l.cjs +0 -261
- package/components/item-option-CqGDFdPj.cjs +0 -269
- package/components/item-option-color-picker-BpPoOO2b.cjs +0 -34
- package/components/item-option-color-picker-cojuCvu5.js +0 -84
- package/components/item-option-color-range-CMBEx1fi.cjs +0 -98
- package/components/item-option-color-range-Dt7Bv06p.js +0 -217
- package/components/item-option-guidelines-Beh0DlG0.cjs +0 -135
- package/components/item-option-slider-Bo5vs6nr.js +0 -89
- package/components/item-option-slider-CyWKWr5D.cjs +0 -33
- package/standalone/chunks/color-7IgCGZKz.js +0 -2
- package/standalone/chunks/embed-BfHBKhIe.js +0 -231
- package/standalone/chunks/item-option-color-picker-Cr7ujQNO.js +0 -16
- package/standalone/chunks/item-option-guidelines-6NjpzS6b.js +0 -117
- package/standalone/chunks/item-option-panel-VxvWU56c.js +0 -298
- package/standalone/chunks/item-option-slider-l9wt7_0c.js +0 -15
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
function e(e,t){let n=e.length;Array.isArray(e[0])||(e=[e]),Array.isArray(t[0])||(t=t.map(e=>[e]));let r=t[0].length,i=t[0].map((e,n)=>t.map(e=>e[n])),a=e.map(e=>i.map(t=>{let n=0;if(!Array.isArray(e)){for(let r of t)n+=e*r;return n}for(let r=0;r<e.length;r++)n+=e[r]*(t[r]||0);return n}));return n===1&&(a=a[0]),r===1?a.map(e=>e[0]):a}function t(e){return n(e)===`string`}function n(e){return(Object.prototype.toString.call(e).match(/^\[object\s+(.*?)\]$/)[1]||``).toLowerCase()}function r(e,{precision:t,unit:n}){return i(e)?`none`:o(e,t)+(n??``)}function i(e){return Number.isNaN(e)||e instanceof Number&&e?.none}function a(e){return i(e)?0:e}function o(e,t){if(e===0)return 0;let n=~~e,r=0;n&&t&&(r=~~Math.log10(Math.abs(n))+1);let i=10**(t-r);return Math.floor(e*i+.5)/i}var s={deg:1,grad:.9,rad:180/Math.PI,turn:360};function c(e){if(!e)return;e=e.trim();let t=/^([a-z]+)\((.+?)\)$/i,n=/^-?[\d.]+$/,r=/%|deg|g?rad|turn$/,i=/\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g,a=e.match(t);if(a){let e=[];return a[2].replace(i,(t,i)=>{let a=i.match(r),o=i;if(a){let e=a[0],t=o.slice(0,-e.length);e===`%`?(o=/* @__PURE__ */ new Number(t/100),o.type=`<percentage>`):(o=new Number(t*s[e]),o.type=`<angle>`,o.unit=e)}else n.test(o)?(o=new Number(o),o.type=`<number>`):o===`none`&&(o=/* @__PURE__ */ new Number(NaN),o.none=!0);t.startsWith(`/`)&&(o=o instanceof Number?o:new Number(o),o.alpha=!0),typeof o==`object`&&o instanceof Number&&(o.raw=i),e.push(o)}),{name:a[1].toLowerCase(),rawName:a[1],rawArgs:a[2],args:e}}}function l(e){return e[e.length-1]}function u(e,t,n){return isNaN(e)?t:isNaN(t)?e:e+(t-e)*n}function d(e,t,n){return(n-e)/(t-e)}function f(e,t,n){return u(t[0],t[1],d(e[0],e[1],n))}function p(e){return e.map(e=>e.split(`|`).map(e=>{e=e.trim();let t=e.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);if(t){let e=new String(t[1]);return e.range=[+t[2],+t[3]],e}return e}))}function m(e,t,n){return Math.max(Math.min(n,t),e)}function h(e,t){return Math.sign(e)===Math.sign(t)?e:-e}function g(e,t){return h(Math.abs(e)**t,e)}function _(e,t){return t===0?0:e/t}function v(e,t,n=0,r=e.length){for(;n<r;){let i=n+r>>1;e[i]<t?n=i+1:r=i}return n}var y=/*#__PURE__*/ Object.freeze({__proto__:null,bisectLeft:v,clamp:m,copySign:h,interpolate:u,interpolateInv:d,isNone:i,isString:t,last:l,mapRange:f,multiplyMatrices:e,parseCoordGrammar:p,parseFunction:c,serializeNumber:r,skipNone:a,spow:g,toPrecision:o,type:n,zdiv:_}),b=new class{add(e,t,n){if(typeof arguments[0]!=`string`)for(var e in arguments[0])this.add(e,arguments[0][e],arguments[1]);else(Array.isArray(e)?e:[e]).forEach(function(e){this[e]=this[e]||[],t&&this[e][n?`unshift`:`push`](t)},this)}run(e,t){this[e]=this[e]||[],this[e].forEach(function(e){e.call(t&&t.context?t.context:t,t)})}},x={gamut_mapping:`css`,precision:5,deltaE:`76`,verbose:globalThis?.process?.env?.NODE_ENV?.toLowerCase()!==`test`,warn:function(e){this.verbose&&globalThis?.console?.warn?.(e)}},S={D50:[.3457/.3585,1,.2958/.3585],D65:[.3127/.329,1,.3583/.329]};function C(e){return Array.isArray(e)?e:S[e]}function w(t,n,r,i={}){if(t=C(t),n=C(n),!t||!n)throw TypeError(`Missing white point to convert ${t?``:`from`}${!t&&!n?`/`:``}${n?``:`to`}`);if(t===n)return r;let a={W1:t,W2:n,XYZ:r,options:i};if(b.run(`chromatic-adaptation-start`,a),a.M||(a.W1===S.D65&&a.W2===S.D50?a.M=[[1.0479297925449969,.022946870601609652,-.05019226628920524],[.02962780877005599,.9904344267538799,-.017073799063418826],[-.009243040646204504,.015055191490298152,.7518742814281371]]:a.W1===S.D50&&a.W2===S.D65&&(a.M=[[.955473421488075,-.02309845494876471,.06325924320057072],[-.0283697093338637,1.0099953980813041,.021041441191917323],[.012314014864481998,-.020507649298898964,1.330365926242124]])),b.run(`chromatic-adaptation-end`,a),a.M)return e(a.M,a.XYZ);throw TypeError(`Only Bradford CAT with white points D50 and D65 supported for now.`)}var T=/* @__PURE__ */ new Set([`<number>`,`<percentage>`,`<angle>`]);function ee(e,t,n,r){return Object.entries(e.coords).map(([e,i],a)=>{let o=t.coordGrammar[a],s=r[a],c=s?.type,l;if(l=s.none?o.find(e=>T.has(e)):o.find(e=>e==c),!l){let t=i.name||e;throw TypeError(`${c??s.raw} not allowed for ${t} in ${n}()`)}let u=l.range;c===`<percentage>`&&(u||=[0,1]);let d=i.range||i.refRange;return u&&d&&(r[a]=f(u,d,r[a])),l})}function E(e,{meta:t}={}){let n={str:String(e)?.trim()};if(b.run(`parse-start`,n),n.color)return n.color;if(n.parsed=c(n.str),n.parsed){let e=n.parsed.name;if(e===`color`){let e=n.parsed.args.shift(),r=e.startsWith(`--`)?e.substring(2):`--${e}`,i=[e,r],a=n.parsed.rawArgs.indexOf(`/`)>0?n.parsed.args.pop():1;for(let r of O.all){let o=r.getFormat(`color`);if(o&&(i.includes(o.id)||o.ids?.filter(e=>i.includes(e)).length)){let i=Object.keys(r.coords).map((e,t)=>n.parsed.args[t]||0),s;return o.coordGrammar&&(s=ee(r,o,`color`,i)),t&&Object.assign(t,{formatId:`color`,types:s}),o.id.startsWith(`--`)&&!e.startsWith(`--`)&&x.warn(`${r.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${o.id}) instead of color(${e}).`),e.startsWith(`--`)&&!o.id.startsWith(`--`)&&x.warn(`${r.name} is a standard space and supported in the CSS spec. Use color(${o.id}) instead of prefixed color(${e}).`),{spaceId:r.id,coords:i,alpha:a}}}let o=``,s=e in O.registry?e:r;if(s in O.registry){let e=O.registry[s].formats?.color?.id;e&&(o=`Did you mean color(${e})?`)}throw TypeError(`Cannot parse color(${e}). `+(o||`Missing a plugin?`))}for(let r of O.all){let i=r.getFormat(e);if(i&&i.type===`function`){let a=1;(i.lastAlpha||l(n.parsed.args).alpha)&&(a=n.parsed.args.pop());let o=n.parsed.args,s;return i.coordGrammar&&(s=ee(r,i,e,o)),t&&Object.assign(t,{formatId:i.name,types:s}),{spaceId:r.id,coords:o,alpha:a}}}}else for(let e of O.all)for(let r in e.formats){let i=e.formats[r];if(i.type!==`custom`||i.test&&!i.test(n.str))continue;let a=i.parse(n.str);if(a)return a.alpha??=1,t&&(t.formatId=r),a}throw TypeError(`Could not parse ${e} as a color. Missing a plugin?`)}function D(e){if(Array.isArray(e))return e.map(D);if(!e)throw TypeError(`Empty color reference`);t(e)&&(e=E(e));let n=e.space||e.spaceId;return n instanceof O||(e.space=O.get(n)),e.alpha===void 0&&(e.alpha=1),e}var te=75e-6,O=class e{constructor(t){this.id=t.id,this.name=t.name,this.base=t.base?e.get(t.base):null,this.aliases=t.aliases,this.base&&(this.fromBase=t.fromBase,this.toBase=t.toBase);let n=t.coords??this.base.coords;for(let e in n)`name`in n[e]||(n[e].name=e);this.coords=n;let r=t.white??this.base.white??`D65`;this.white=C(r),this.formats=t.formats??{};for(let e in this.formats){let t=this.formats[e];t.type||=`function`,t.name||=e}this.formats.color?.id||(this.formats.color={...this.formats.color??{},id:t.cssId||this.id}),this.gamutSpace=t.gamutSpace?t.gamutSpace===`self`?this:e.get(t.gamutSpace):this.isPolar?this.base:this,this.gamutSpace.isUnbounded&&(this.inGamut=(e,t)=>!0),this.referred=t.referred,Object.defineProperty(this,"path",{value:ne(this).reverse(),writable:!1,enumerable:!0,configurable:!0}),b.run(`colorspace-init-end`,this)}inGamut(e,{epsilon:t=te}={}){if(!this.equals(this.gamutSpace))return e=this.to(this.gamutSpace,e),this.gamutSpace.inGamut(e,{epsilon:t});let n=Object.values(this.coords);return e.every((e,r)=>{let i=n[r];if(i.type!==`angle`&&i.range){if(Number.isNaN(e))return!0;let[n,r]=i.range;return(n===void 0||e>=n-t)&&(r===void 0||e<=r+t)}return!0})}get isUnbounded(){return Object.values(this.coords).every(e=>!(`range`in e))}get cssId(){return this.formats?.color?.id||this.id}get isPolar(){for(let e in this.coords)if(this.coords[e].type===`angle`)return!0;return!1}getFormat(e){if(typeof e==`object`)return e=re(e,this),e;let t;return t=e==="default"?Object.values(this.formats)[0]:this.formats[e],t?(t=re(t,this),t):null}equals(e){return e?this===e||this.id===e||this.id===e.id:!1}to(t,n){if(arguments.length===1){let e=D(t);[t,n]=[e.space,e.coords]}if(t=e.get(t),this.equals(t))return n;n=n.map(e=>Number.isNaN(e)?0:e);let r=this.path,i=t.path,a,o;for(let e=0;e<r.length&&r[e].equals(i[e]);e++)a=r[e],o=e;if(!a)throw Error(`Cannot convert between color spaces ${this} and ${t}: no connection space was found`);for(let e=r.length-1;e>o;e--)n=r[e].toBase(n);for(let e=o+1;e<i.length;e++)n=i[e].fromBase(n);return n}from(t,n){if(arguments.length===1){let e=D(t);[t,n]=[e.space,e.coords]}return t=e.get(t),t.to(this,n)}toString(){return`${this.name} (${this.id})`}getMinCoords(){let e=[];for(let t in this.coords){let n=this.coords[t],r=n.range||n.refRange;e.push(r?.min??0)}return e}static registry={};static get all(){return[...new Set(Object.values(e.registry))]}static register(e,t){if(arguments.length===1&&(t=arguments[0],e=t.id),t=this.get(t),this.registry[e]&&this.registry[e]!==t)throw Error(`Duplicate color space registration: '${e}'`);if(this.registry[e]=t,arguments.length===1&&t.aliases)for(let e of t.aliases)this.register(e,t);return t}static get(t,...r){if(!t||t instanceof e)return t;if(n(t)===`string`){let n=e.registry[t.toLowerCase()];if(!n)throw TypeError(`No color space found with id = "${t}"`);return n}if(r.length)return e.get(...r);throw TypeError(`${t} is not a valid color space`)}static resolveCoord(t,r){let i=n(t),a,o;if(i===`string`?t.includes(`.`)?[a,o]=t.split(`.`):[a,o]=[,t]:Array.isArray(t)?[a,o]=t:(a=t.space,o=t.coordId),a=e.get(a),a||=r,!a)throw TypeError(`Cannot resolve coordinate reference ${t}: No color space specified and relative references are not allowed here`);if(i=n(o),i===`number`||i===`string`&&o>=0){let e=Object.entries(a.coords)[o];if(e)return{space:a,id:e[0],index:o,...e[1]}}a=e.get(a);let s=o.toLowerCase(),c=0;for(let e in a.coords){let t=a.coords[e];if(e.toLowerCase()===s||t.name?.toLowerCase()===s)return{space:a,id:e,index:c,...t};c++}throw TypeError(`No "${o}" coordinate found in ${a.name}. Its coordinates are: ${Object.keys(a.coords).join(`, `)}`)}static DEFAULT_FORMAT={type:`functions`,name:`color`}};function ne(e){let t=[e];for(let n=e;n=n.base;)t.push(n);return t}function re(e,{coords:t}={}){if(e.coords&&!e.coordGrammar){e.type||=`function`,e.name||=`color`,e.coordGrammar=p(e.coords);let n=Object.entries(t).map(([t,n],r)=>{let i=e.coordGrammar[r][0],a=n.range||n.refRange,o=i.range,s=``;return i==`<percentage>`?(o=[0,100],s=`%`):i==`<angle>`&&(s=`deg`),{fromRange:a,toRange:o,suffix:s}});e.serializeCoords=(e,t)=>e.map((e,i)=>{let{fromRange:a,toRange:o,suffix:s}=n[i];return a&&o&&(e=f(a,o,e)),e=r(e,{precision:t,unit:s}),e})}return e}var k=new O({id:`xyz-d65`,name:`XYZ D65`,coords:{x:{name:`X`},y:{name:`Y`},z:{name:`Z`}},white:`D65`,formats:{color:{ids:[`xyz-d65`,`xyz`]}},aliases:[`xyz`]}),A=class extends O{constructor(t){t.coords||={r:{range:[0,1],name:`Red`},g:{range:[0,1],name:`Green`},b:{range:[0,1],name:`Blue`}},t.base||=k,t.toXYZ_M&&t.fromXYZ_M&&(t.toBase??=n=>{let r=e(t.toXYZ_M,n);return this.white!==this.base.white&&(r=w(this.white,this.base.white,r)),r},t.fromBase??=n=>(n=w(this.base.white,this.white,n),e(t.fromXYZ_M,n))),t.referred??=`display`,super(t)}};function j(e,t){return e=D(e),!t||e.space.equals(t)?e.coords.slice():(t=O.get(t),t.from(e))}function M(e,t){e=D(e);let{space:n,index:r}=O.resolveCoord(t,e.space);return j(e,n)[r]}function N(e,t,n){return e=D(e),t=O.get(t),e.coords=t.to(e.space,n),e}N.returns=`color`;function P(e,t,r){if(e=D(e),arguments.length===2&&n(arguments[1])===`object`){let t=arguments[1];for(let n in t)P(e,n,t[n])}else{typeof r==`function`&&(r=r(M(e,t)));let{space:n,index:i}=O.resolveCoord(t,e.space),a=j(e,n);a[i]=r,N(e,n,a)}return e}P.returns=`color`;var ie=new O({id:`xyz-d50`,name:`XYZ D50`,white:`D50`,base:k,fromBase:e=>w(k.white,`D50`,e),toBase:e=>w(`D50`,k.white,e)}),ae=216/24389,oe=24/116,F=24389/27,se=S.D50,I=new O({id:`lab`,name:`Lab`,coords:{l:{refRange:[0,100],name:`Lightness`},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:se,base:ie,fromBase(e){let t=e.map((e,t)=>e/se[t]).map(e=>e>ae?Math.cbrt(e):(F*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>oe?t[0]**3:(116*t[0]-16)/F,e[0]>8?((e[0]+16)/116)**3:e[0]/F,t[2]>oe?t[2]**3:(116*t[2]-16)/F].map((e,t)=>e*se[t])},formats:{lab:{coords:[`<number> | <percentage>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}});function L(e){return(e%360+360)%360}function ce(e,t){if(e===`raw`)return t;let[n,r]=t.map(L),i=r-n;return e===`increasing`?i<0&&(r+=360):e===`decreasing`?i>0&&(n+=360):e===`longer`?-180<i&&i<180&&(i>0?n+=360:r+=360):e===`shorter`&&(i>180?n+=360:i<-180&&(r+=360)),[n,r]}var le=new O({id:`lch`,name:`LCH`,coords:{l:{refRange:[0,100],name:`Lightness`},c:{refRange:[0,150],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:I,fromBase(e){let[t,n,r]=e,i,a=.02;return i=Math.abs(n)<a&&Math.abs(r)<a?NaN:Math.atan2(r,n)*180/Math.PI,[t,Math.sqrt(n**2+r**2),L(i)]},toBase(e){let[t,n,r]=e;return n<0&&(n=0),isNaN(r)&&(r=0),[t,n*Math.cos(r*Math.PI/180),n*Math.sin(r*Math.PI/180)]},formats:{lch:{coords:[`<number> | <percentage>`,`<number> | <percentage>`,`<number> | <angle>`]}}}),ue=25**7,de=Math.PI,fe=180/de,R=de/180;function pe(e){let t=e*e;return t*t*t*e}function me(e,t,{kL:n=1,kC:r=1,kH:i=1}={}){[e,t]=D([e,t]);let[a,o,s]=I.from(e),c=le.from(I,[a,o,s])[1],[l,u,d]=I.from(t),f=le.from(I,[l,u,d])[1];c<0&&(c=0),f<0&&(f=0);let p=pe((c+f)/2),m=.5*(1-Math.sqrt(p/(p+ue))),h=(1+m)*o,g=(1+m)*u,_=Math.sqrt(h**2+s**2),v=Math.sqrt(g**2+d**2),y=h===0&&s===0?0:Math.atan2(s,h),b=g===0&&d===0?0:Math.atan2(d,g);y<0&&(y+=2*de),b<0&&(b+=2*de),y*=fe,b*=fe;let S=l-a,C=v-_,w=b-y,T=y+b,ee=Math.abs(w),E;_*v===0?E=0:ee<=180?E=w:w>180?E=w-360:w<-180?E=w+360:x.warn(`the unthinkable has happened`);let te=2*Math.sqrt(v*_)*Math.sin(E*R/2),O=(a+l)/2,ne=(_+v)/2,re=pe(ne),k;k=_*v===0?T:ee<=180?T/2:T<360?(T+360)/2:(T-360)/2;let A=(O-50)**2,j=1+.015*A/Math.sqrt(20+A),M=1+.045*ne,N=1;N-=.17*Math.cos((k-30)*R),N+=.24*Math.cos(2*k*R),N+=.32*Math.cos((3*k+6)*R),N-=.2*Math.cos((4*k-63)*R);let P=1+.015*ne*N,ie=30*Math.exp(-1*((k-275)/25)**2),ae=2*Math.sqrt(re/(re+ue)),oe=-1*Math.sin(2*ie*R)*ae,F=(S/(n*j))**2;return F+=(C/(r*M))**2,F+=(te/(i*P))**2,F+=oe*(C/(r*M))*(te/(i*P)),Math.sqrt(F)}var he=[[.819022437996703,.3619062600528904,-.1288737815209879],[.0329836539323885,.9292868615863434,.0361446663506424],[.0481771893596242,.2642395317527308,.6335478284694309]],ge=[[1.2268798758459243,-.5578149944602171,.2813910456659647],[-.0405757452148008,1.112286803280317,-.0717110580655164],[-.0763729366746601,-.4214933324022432,1.5869240198367816]],_e=[[.210454268309314,.7936177747023054,-.0040720430116193],[1.9779985324311684,-2.42859224204858,.450593709617411],[.0259040424655478,.7827717124575296,-.8086757549230774]],ve=[[1,.3963377773761749,.2158037573099136],[1,-.1055613458156586,-.0638541728258133],[1,-.0894841775298119,-1.2914855480194092]],z=new O({id:`oklab`,name:`Oklab`,coords:{l:{refRange:[0,1],name:`Lightness`},a:{refRange:[-.4,.4]},b:{refRange:[-.4,.4]}},white:`D65`,base:k,fromBase(t){return e(_e,e(he,t).map(e=>Math.cbrt(e)))},toBase(t){return e(ge,e(ve,t).map(e=>e**3))},formats:{oklab:{coords:[`<percentage> | <number>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}});function ye(e,t){[e,t]=D([e,t]);let[n,r,i]=z.from(e),[a,o,s]=z.from(t),c=n-a,l=r-o,u=i-s;return Math.sqrt(c**2+l**2+u**2)}var be=75e-6;function B(e,t,{epsilon:n=be}={}){e=D(e),t||=e.space,t=O.get(t);let r=e.coords;return t!==e.space&&(r=t.from(e)),t.inGamut(r,{epsilon:n})}function V(e){return{space:e.space,coords:e.coords.slice(),alpha:e.alpha}}function xe(e,t,n=`lab`){n=O.get(n);let r=n.from(e),i=n.from(t);return Math.sqrt(r.reduce((e,t,n)=>{let r=i[n];return isNaN(t)||isNaN(r)?e:e+(r-t)**2},0))}function Se(e,t){return xe(e,t,`lab`)}var Ce=Math.PI/180;function we(e,t,{l:n=2,c:r=1}={}){[e,t]=D([e,t]);let[i,a,o]=I.from(e),[,s,c]=le.from(I,[i,a,o]),[l,u,d]=I.from(t),f=le.from(I,[l,u,d])[1];s<0&&(s=0),f<0&&(f=0);let p=i-l,m=s-f,h=a-u,g=o-d,_=h**2+g**2-m**2,v=.511;i>=16&&(v=.040975*i/(1+.01765*i));let y=.0638*s/(1+.0131*s)+.638,b;Number.isNaN(c)&&(c=0),b=c>=164&&c<=345?.56+Math.abs(.2*Math.cos((c+168)*Ce)):.36+Math.abs(.4*Math.cos((c+35)*Ce));let x=s**4,S=Math.sqrt(x/(x+1900)),C=y*(S*b+1-S),w=(p/(n*v))**2;return w+=(m/(r*y))**2,w+=_/C**2,Math.sqrt(w)}var Te=203,Ee=new O({id:`xyz-abs-d65`,cssId:`--xyz-abs-d65`,name:`Absolute XYZ D65`,coords:{x:{refRange:[0,9504.7],name:`Xa`},y:{refRange:[0,1e4],name:`Ya`},z:{refRange:[0,10888.3],name:`Za`}},base:k,fromBase(e){return e.map(e=>Math.max(e*Te,0))},toBase(e){return e.map(e=>Math.max(e/Te,0))}}),De=1.15,Oe=.66,ke=2610/2**14,Ae=2**14/2610,je=3424/4096,Me=2413/128,Ne=2392/128,Pe=1.7*2523/32,Fe=32/(1.7*2523),Ie=-.56,Le=16295499532821565e-27,Re=[[.41478972,.579999,.014648],[-.20151,1.120649,.0531008],[-.0166008,.2648,.6684799]],ze=[[1.9242264357876067,-1.0047923125953657,.037651404030618],[.35031676209499907,.7264811939316552,-.06538442294808501],[-.09098281098284752,-.3127282905230739,1.5227665613052603]],Be=[[.5,.5,0],[3.524,-4.066708,.542708],[.199076,1.096799,-1.295875]],Ve=[[1,.1386050432715393,.05804731615611886],[.9999999999999999,-.1386050432715393,-.05804731615611886],[.9999999999999998,-.09601924202631895,-.8118918960560388]],He=new O({id:`jzazbz`,name:`Jzazbz`,coords:{jz:{refRange:[0,1],name:`Jz`},az:{refRange:[-.5,.5]},bz:{refRange:[-.5,.5]}},base:Ee,fromBase(t){let[n,r,i]=t,[a,o,s]=e(Be,e(Re,[De*n-.1499999999999999*i,Oe*r- -.33999999999999997*n,i]).map(function(e){return((je+Me*(e/1e4)**ke)/(1+Ne*(e/1e4)**ke))**Pe}));return[.43999999999999995*a/(1+Ie*a)-Le,o,s]},toBase(t){let[n,r,i]=t,[a,o,s]=e(ze,e(Ve,[(n+Le)/(.43999999999999995-Ie*(n+Le)),r,i]).map(function(e){return 1e4*((je-e**Fe)/(Ne*e**Fe-Me))**Ae})),c=(a+.1499999999999999*s)/De;return[c,(o+-.33999999999999997*c)/Oe,s]},formats:{color:{coords:[`<number> | <percentage>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}}),Ue=new O({id:`jzczhz`,name:`JzCzHz`,coords:{jz:{refRange:[0,1],name:`Jz`},cz:{refRange:[0,1],name:`Chroma`},hz:{refRange:[0,360],type:`angle`,name:`Hue`}},base:He,fromBase(e){let[t,n,r]=e,i,a=2e-4;return i=Math.abs(n)<a&&Math.abs(r)<a?NaN:Math.atan2(r,n)*180/Math.PI,[t,Math.sqrt(n**2+r**2),L(i)]},toBase(e){return[e[0],e[1]*Math.cos(e[2]*Math.PI/180),e[1]*Math.sin(e[2]*Math.PI/180)]}});function We(e,t){[e,t]=D([e,t]);let[n,r,i]=Ue.from(e),[a,o,s]=Ue.from(t),c=n-a,l=r-o;Number.isNaN(i)&&Number.isNaN(s)?(i=0,s=0):Number.isNaN(i)?i=s:Number.isNaN(s)&&(s=i);let u=i-s,d=2*Math.sqrt(r*o)*Math.sin(u/2*(Math.PI/180));return Math.sqrt(c**2+l**2+d**2)}var Ge=3424/4096,Ke=2413/128,qe=2392/128,Je=2610/16384,Ye=2523/32,Xe=16384/2610,Ze=32/2523,Qe=[[.3592832590121217,.6976051147779502,-.035891593232029],[-.1920808463704993,1.100476797037432,.0753748658519118],[.0070797844607479,.0748396662186362,.8433265453898765]],$e=[[2048/4096,2048/4096,0],[6610/4096,-13613/4096,7003/4096],[17933/4096,-17390/4096,-543/4096]],et=[[.9999999999999998,.0086090370379328,.111029625003026],[.9999999999999998,-.0086090370379328,-.1110296250030259],[.9999999999999998,.5600313357106791,-.3206271749873188]],tt=[[2.0701522183894223,-1.3263473389671563,.2066510476294053],[.3647385209748072,.6805660249472273,-.0453045459220347],[-.0497472075358123,-.0492609666966131,1.1880659249923042]],nt=new O({id:`ictcp`,name:`ICTCP`,coords:{i:{refRange:[0,1],name:`I`},ct:{refRange:[-.5,.5],name:`CT`},cp:{refRange:[-.5,.5],name:`CP`}},base:Ee,fromBase(t){return rt(e(Qe,t))},toBase(t){return e(tt,it(t))}});function rt(t){return e($e,t.map(function(e){return((Ge+Ke*(e/1e4)**Je)/(1+qe*(e/1e4)**Je))**Ye}))}function it(t){return e(et,t).map(function(e){return 1e4*(Math.max(e**Ze-Ge,0)/(Ke-qe*e**Ze))**Xe})}function at(e,t){[e,t]=D([e,t]);let[n,r,i]=nt.from(e),[a,o,s]=nt.from(t);return 720*Math.sqrt((n-a)**2+.25*(r-o)**2+(i-s)**2)}var ot=S.D65,st=.42,ct=1/st,lt=2*Math.PI,ut=[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],dt=[[1.8620678550872327,-1.0112546305316843,.14918677544445175],[.38752654323613717,.6214474419314753,-.008973985167612518],[-.015841498849333856,-.03412293802851557,1.0499644368778496]],ft=[[460,451,288],[460,-891,-261],[460,-220,-6300]],pt={dark:[.8,.525,.8],dim:[.9,.59,.9],average:[1,.69,1]},H={h:[20.14,90,164.25,237.53,380.14],e:[.8,.7,1,1.2,.8],H:[0,100,200,300,400]},mt=180/Math.PI,ht=Math.PI/180;function gt(e,t){return e.map(e=>{let n=g(t*Math.abs(e)*.01,st);return 400*h(n,e)/(n+27.13)})}function _t(e,t){let n=100/t*27.13**ct;return e.map(e=>{let t=Math.abs(e);return h(n*g(t/(400-t),ct),e)})}function vt(e){let t=L(e);t<=H.h[0]&&(t+=360);let n=v(H.h,t)-1,[r,i]=H.h.slice(n,n+2),[a,o]=H.e.slice(n,n+2),s=H.H[n],c=(t-r)/a;return s+100*c/(c+(i-t)/o)}function yt(e){let t=(e%400+400)%400,n=Math.floor(.01*t);t%=100;let[r,i]=H.h.slice(n,n+2),[a,o]=H.e.slice(n,n+2);return L((t*(o*r-a*i)-100*r*o)/(t*(o-a)-100*o))}function bt(t,n,r,i,a){let o={};o.discounting=a,o.refWhite=t,o.surround=i;let s=t.map(e=>e*100);o.la=n,o.yb=r;let c=s[1],l=e(ut,s);i=pt[o.surround];let d=i[0];o.c=i[1],o.nc=i[2];let f=(1/(5*o.la+1))**4;o.fl=f*o.la+.1*(1-f)*(1-f)*Math.cbrt(5*o.la),o.flRoot=o.fl**.25,o.n=o.yb/c,o.z=1.48+Math.sqrt(o.n),o.nbb=.725*o.n**-.2,o.ncb=o.nbb;let p=a?1:Math.max(Math.min(d*(1-1/3.6*Math.exp((-o.la-42)/92)),1),0);o.dRgb=l.map(e=>u(1,c/e,p)),o.dRgbInv=o.dRgb.map(e=>1/e);let m=gt(l.map((e,t)=>e*o.dRgb[t]),o.fl);return o.aW=o.nbb*(2*m[0]+m[1]+.05*m[2]),o}var xt=bt(ot,64/Math.PI*.2,20,`average`,!1);function St(t,n){if(!(t.J!==void 0^t.Q!==void 0))throw Error(`Conversion requires one and only one: 'J' or 'Q'`);if(!(t.C!==void 0^t.M!==void 0^t.s!==void 0))throw Error(`Conversion requires one and only one: 'C', 'M' or 's'`);if(!(t.h!==void 0^t.H!==void 0))throw Error(`Conversion requires one and only one: 'h' or 'H'`);if(t.J===0||t.Q===0)return[0,0,0];let r=0;r=t.h===void 0?yt(t.H)*ht:L(t.h)*ht;let i=Math.cos(r),a=Math.sin(r),o=0;t.J===void 0?t.Q!==void 0&&(o=.25*n.c*t.Q/((n.aW+4)*n.flRoot)):o=g(t.J,1/2)*.1;let s=0;t.C===void 0?t.M===void 0?t.s!==void 0&&(s=4e-4*t.s**2*(n.aW+4)/n.c):s=t.M/n.flRoot/o:s=t.C/o;let c=g(s*(1.64-.29**n.n)**-.73,10/9),l=.25*(Math.cos(r+2)+3.8),u=n.aW*g(o,2/n.c/n.z),d=5e4/13*n.nc*n.ncb*l,f=u/n.nbb,p=23*(f+.305)*_(c,23*d+c*(11*i+108*a));return e(dt,_t(e(ft,[f,p*i,p*a]).map(e=>e*1/1403),n.fl).map((e,t)=>e*n.dRgbInv[t])).map(e=>e/100)}function Ct(t,n){let r=gt(e(ut,t.map(e=>e*100)).map((e,t)=>e*n.dRgb[t]),n.fl),i=r[0]+(-12*r[1]+r[2])/11,a=(r[0]+r[1]-2*r[2])/9,o=(Math.atan2(a,i)%lt+lt)%lt,s=.25*(Math.cos(o+2)+3.8),c=g(5e4/13*n.nc*n.ncb*_(s*Math.sqrt(i**2+a**2),r[0]+r[1]+1.05*r[2]+.305),.9)*(1.64-.29**n.n)**.73,l=g(n.nbb*(2*r[0]+r[1]+.05*r[2])/n.aW,.5*n.c*n.z),u=100*g(l,2),d=4/n.c*l*(n.aW+4)*n.flRoot,f=c*l,p=f*n.flRoot,m=L(o*mt),h=vt(m);return{J:u,C:f,h:m,s:50*g(n.c*c/(n.aW+4),1/2),Q:d,M:p,H:h}}var wt=new O({id:`cam16-jmh`,cssId:`--cam16-jmh`,name:`CAM16-JMh`,coords:{j:{refRange:[0,100],name:`J`},m:{refRange:[0,105],name:`Colorfulness`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:k,fromBase(e){let t=Ct(e,xt);return[t.J,t.M,t.h]},toBase(e){return St({J:e[0],M:e[1],h:e[2]},xt)}}),Tt=S.D65,Et=216/24389,Dt=24389/27;function Ot(e){return 116*(e>Et?Math.cbrt(e):(Dt*e+16)/116)-16}function kt(e){return e>8?((e+16)/116)**3:e/Dt}function At(e,t){let[n,r,i]=e,a=[],o=0;if(i===0)return[0,0,0];let s=kt(i);o=i>0?.00379058511492914*i**2+.608983189401032*i+.9155088574762233:9514440756550361e-21*i**2+.08693057439788597*i-21.928975842194614;let c=0,l=1/0;for(;c<=15;){a=St({J:o,C:r,h:n},t);let e=Math.abs(a[1]-s);if(e<l){if(e<=2e-12)return a;l=e}o-=(a[1]-s)*o/(2*a[1]),c+=1}return St({J:o,C:r,h:n},t)}function jt(e,t){let n=Ot(e[1]);if(n===0)return[0,0,0];let r=Ct(e,Mt);return[L(r.h),r.C,n]}var Mt=bt(Tt,200/Math.PI*kt(50),kt(50)*100,`average`,!1),Nt=new O({id:`hct`,name:`HCT`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},c:{refRange:[0,145],name:`Colorfulness`},t:{refRange:[0,100],name:`Tone`}},base:k,fromBase(e){return jt(e)},toBase(e){return At(e,Mt)},formats:{color:{id:`--hct`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),Pt=Math.PI/180,Ft=[1,.007,.0228];function It(e){e[1]<0&&(e=Nt.fromBase(Nt.toBase(e)));let t=Math.log(Math.max(1+Ft[2]*e[1]*Mt.flRoot,1))/Ft[2],n=e[0]*Pt,r=t*Math.cos(n),i=t*Math.sin(n);return[e[2],r,i]}function Lt(e,t){[e,t]=D([e,t]);let[n,r,i]=It(Nt.from(e)),[a,o,s]=It(Nt.from(t));return Math.sqrt((n-a)**2+(r-o)**2+(i-s)**2)}var U={deltaE76:Se,deltaECMC:we,deltaE2000:me,deltaEJz:We,deltaEITP:at,deltaEOK:ye,deltaEHCT:Lt};function Rt(e){return Math.max(parseFloat(`1e${(e?Math.floor(Math.log10(Math.abs(e))):0)-2}`),1e-6)}var zt={hct:{method:`hct.c`,jnd:2,deltaEMethod:`hct`,blackWhiteClamp:{}},"hct-tonal":{method:`hct.c`,jnd:0,deltaEMethod:`hct`,blackWhiteClamp:{channel:`hct.t`,min:0,max:100}}};function W(e,{method:n=x.gamut_mapping,space:r=void 0,deltaEMethod:a=``,jnd:o=2,blackWhiteClamp:s={}}={}){if(e=D(e),t(arguments[1])?r=arguments[1]:r||=e.space,r=O.get(r),B(e,r,{epsilon:0}))return e;let c;if(n===`css`)c=Vt(e,{space:r});else{if(n!==`clip`&&!B(e,r)){Object.prototype.hasOwnProperty.call(zt,n)&&({method:n,jnd:o,deltaEMethod:a,blackWhiteClamp:s}=zt[n]);let t=me;if(a!==``){for(let e in U)if(`deltae`+a.toLowerCase()===e.toLowerCase()){t=U[e];break}}let l=W(G(e,r),{method:`clip`,space:r});if(t(e,l)>o){if(Object.keys(s).length===3){let t=O.resolveCoord(s.channel),n=M(G(e,t.space),t.id);if(i(n)&&(n=0),n>=s.max)return G({space:`xyz-d65`,coords:S.D65},e.space);if(n<=s.min)return G({space:`xyz-d65`,coords:[0,0,0]},e.space)}let a=O.resolveCoord(n),l=a.space,u=a.id,d=G(e,l);d.coords.forEach((e,t)=>{i(e)&&(d.coords[t]=0)});let f=(a.range||a.refRange)[0],p=Rt(o),m=f,h=M(d,u);for(;h-m>p;){let e=V(d);e=W(e,{space:r,method:`clip`}),t(d,e)-o<p?m=M(d,u):h=M(d,u),P(d,u,(m+h)/2)}c=G(d,r)}else c=l}else c=G(e,r);if(n===`clip`||!B(c,r,{epsilon:0})){let e=Object.values(r.coords).map(e=>e.range||[]);c.coords=c.coords.map((t,n)=>{let[r,i]=e[n];return r!==void 0&&(t=Math.max(r,t)),i!==void 0&&(t=Math.min(t,i)),t})}}return r!==e.space&&(c=G(c,e.space)),e.coords=c.coords,e}W.returns=`color`;var Bt={WHITE:{space:z,coords:[1,0,0]},BLACK:{space:z,coords:[0,0,0]}};function Vt(e,{space:t}={}){let n=.02,r=1e-4;e=D(e),t||=e.space,t=O.get(t);let i=O.get(`oklch`);if(t.isUnbounded)return G(e,t);let a=G(e,i),o=a.coords[0];if(o>=1){let n=G(Bt.WHITE,t);return n.alpha=e.alpha,G(n,t)}if(o<=0){let n=G(Bt.BLACK,t);return n.alpha=e.alpha,G(n,t)}if(B(a,t,{epsilon:0}))return G(a,t);function s(e){let n=G(e,t),r=Object.values(t.coords);return n.coords=n.coords.map((e,t)=>{if(`range`in r[t]){let[n,i]=r[t].range;return m(n,e,i)}return e}),n}let c=0,l=a.coords[1],u=!0,d=V(a),f=s(d),p=ye(f,d);if(p<n)return f;for(;l-c>r;){let e=(c+l)/2;if(d.coords[1]=e,u&&B(d,t,{epsilon:0}))c=e;else if(f=s(d),p=ye(f,d),p<n){if(n-p<r)break;u=!1,c=e}else l=e}return f}function G(e,t,{inGamut:n}={}){e=D(e),t=O.get(t);let r=t.from(e),i={space:t,coords:r,alpha:e.alpha};return n&&(i=W(i,n===!0?void 0:n)),i}G.returns=`color`;function Ht(e,{precision:t=x.precision,format:n=`default`,inGamut:i=!0,...a}={}){let o;e=D(e);let s=n;n=e.space.getFormat(n)??e.space.getFormat(`default`)??O.DEFAULT_FORMAT;let c=e.coords.slice();if(i||=n.toGamut,i&&!B(e)&&(c=W(V(e),i===!0?void 0:i).coords),n.type===`custom`){if(a.precision=t,n.serialize)o=n.serialize(c,e.alpha,a);else throw TypeError(`format ${s} can only be used to parse colors, not for serialization`)}else{let i=n.name||`color`;n.serializeCoords?c=n.serializeCoords(c,t):t!==null&&(c=c.map(e=>r(e,{precision:t})));let a=[...c];if(i===`color`){let t=n.id||n.ids?.[0]||e.space.id;a.unshift(t)}let s=e.alpha;t!==null&&(s=r(s,{precision:t}));let l=e.alpha>=1||n.noAlpha?``:`${n.commas?`,`:` /`} ${s}`;o=`${i}(${a.join(n.commas?`, `:` `)}${l})`}return o}var Ut=new A({id:`rec2020-linear`,cssId:`--rec2020-linear`,name:`Linear REC.2020`,white:`D65`,toXYZ_M:[[.6369580483012914,.14461690358620832,.1688809751641721],[.2627002120112671,.6779980715188708,.05930171646986196],[0,.028072693049087428,1.060985057710791]],fromXYZ_M:[[1.716651187971268,-.355670783776392,-.25336628137366],[-.666684351832489,1.616481236634939,.0157685458139111],[.017639857445311,-.042770613257809,.942103121235474]]}),Wt=1.09929682680944,Gt=.018053968510807,Kt=new A({id:`rec2020`,name:`REC.2020`,base:Ut,toBase(e){return e.map(function(e){return e<Gt*4.5?e/4.5:((e+Wt-1)/Wt)**(1/.45)})},fromBase(e){return e.map(function(e){return e>=Gt?Wt*e**.45-.09929682680944008:4.5*e})}}),qt=new A({id:`p3-linear`,cssId:`--display-p3-linear`,name:`Linear P3`,white:`D65`,toXYZ_M:[[.4865709486482162,.26566769316909306,.1982172852343625],[.2289745640697488,.6917385218365064,.079286914093745],[0,.04511338185890264,1.043944368900976]],fromXYZ_M:[[2.493496911941425,-.9313836179191239,-.40271078445071684],[-.8294889695615747,1.7626640603183463,.023624685841943577],[.03584583024378447,-.07617238926804182,.9568845240076872]]}),Jt=[[.41239079926595934,.357584339383878,.1804807884018343],[.21263900587151027,.715168678767756,.07219231536073371],[.01933081871559182,.11919477979462598,.9505321522496607]],K=[[3.2409699419045226,-1.537383177570094,-.4986107602930034],[-.9692436362808796,1.8759675015077202,.04155505740717559],[.05563007969699366,-.20397695888897652,1.0569715142428786]],Yt=new A({id:`srgb-linear`,name:`Linear sRGB`,white:`D65`,toXYZ_M:Jt,fromXYZ_M:K}),Xt={aliceblue:[240/255,248/255,1],antiquewhite:[250/255,235/255,215/255],aqua:[0,1,1],aquamarine:[127/255,1,212/255],azure:[240/255,1,1],beige:[245/255,245/255,220/255],bisque:[1,228/255,196/255],black:[0,0,0],blanchedalmond:[1,235/255,205/255],blue:[0,0,1],blueviolet:[138/255,43/255,226/255],brown:[165/255,42/255,42/255],burlywood:[222/255,184/255,135/255],cadetblue:[95/255,158/255,160/255],chartreuse:[127/255,1,0],chocolate:[210/255,105/255,30/255],coral:[1,127/255,80/255],cornflowerblue:[100/255,149/255,237/255],cornsilk:[1,248/255,220/255],crimson:[220/255,20/255,60/255],cyan:[0,1,1],darkblue:[0,0,139/255],darkcyan:[0,139/255,139/255],darkgoldenrod:[184/255,134/255,11/255],darkgray:[169/255,169/255,169/255],darkgreen:[0,100/255,0],darkgrey:[169/255,169/255,169/255],darkkhaki:[189/255,183/255,107/255],darkmagenta:[139/255,0,139/255],darkolivegreen:[85/255,107/255,47/255],darkorange:[1,140/255,0],darkorchid:[153/255,50/255,204/255],darkred:[139/255,0,0],darksalmon:[233/255,150/255,122/255],darkseagreen:[143/255,188/255,143/255],darkslateblue:[72/255,61/255,139/255],darkslategray:[47/255,79/255,79/255],darkslategrey:[47/255,79/255,79/255],darkturquoise:[0,206/255,209/255],darkviolet:[148/255,0,211/255],deeppink:[1,20/255,147/255],deepskyblue:[0,191/255,1],dimgray:[105/255,105/255,105/255],dimgrey:[105/255,105/255,105/255],dodgerblue:[30/255,144/255,1],firebrick:[178/255,34/255,34/255],floralwhite:[1,250/255,240/255],forestgreen:[34/255,139/255,34/255],fuchsia:[1,0,1],gainsboro:[220/255,220/255,220/255],ghostwhite:[248/255,248/255,1],gold:[1,215/255,0],goldenrod:[218/255,165/255,32/255],gray:[128/255,128/255,128/255],green:[0,128/255,0],greenyellow:[173/255,1,47/255],grey:[128/255,128/255,128/255],honeydew:[240/255,1,240/255],hotpink:[1,105/255,180/255],indianred:[205/255,92/255,92/255],indigo:[75/255,0,130/255],ivory:[1,1,240/255],khaki:[240/255,230/255,140/255],lavender:[230/255,230/255,250/255],lavenderblush:[1,240/255,245/255],lawngreen:[124/255,252/255,0],lemonchiffon:[1,250/255,205/255],lightblue:[173/255,216/255,230/255],lightcoral:[240/255,128/255,128/255],lightcyan:[224/255,1,1],lightgoldenrodyellow:[250/255,250/255,210/255],lightgray:[211/255,211/255,211/255],lightgreen:[144/255,238/255,144/255],lightgrey:[211/255,211/255,211/255],lightpink:[1,182/255,193/255],lightsalmon:[1,160/255,122/255],lightseagreen:[32/255,178/255,170/255],lightskyblue:[135/255,206/255,250/255],lightslategray:[119/255,136/255,153/255],lightslategrey:[119/255,136/255,153/255],lightsteelblue:[176/255,196/255,222/255],lightyellow:[1,1,224/255],lime:[0,1,0],limegreen:[50/255,205/255,50/255],linen:[250/255,240/255,230/255],magenta:[1,0,1],maroon:[128/255,0,0],mediumaquamarine:[102/255,205/255,170/255],mediumblue:[0,0,205/255],mediumorchid:[186/255,85/255,211/255],mediumpurple:[147/255,112/255,219/255],mediumseagreen:[60/255,179/255,113/255],mediumslateblue:[123/255,104/255,238/255],mediumspringgreen:[0,250/255,154/255],mediumturquoise:[72/255,209/255,204/255],mediumvioletred:[199/255,21/255,133/255],midnightblue:[25/255,25/255,112/255],mintcream:[245/255,1,250/255],mistyrose:[1,228/255,225/255],moccasin:[1,228/255,181/255],navajowhite:[1,222/255,173/255],navy:[0,0,128/255],oldlace:[253/255,245/255,230/255],olive:[128/255,128/255,0],olivedrab:[107/255,142/255,35/255],orange:[1,165/255,0],orangered:[1,69/255,0],orchid:[218/255,112/255,214/255],palegoldenrod:[238/255,232/255,170/255],palegreen:[152/255,251/255,152/255],paleturquoise:[175/255,238/255,238/255],palevioletred:[219/255,112/255,147/255],papayawhip:[1,239/255,213/255],peachpuff:[1,218/255,185/255],peru:[205/255,133/255,63/255],pink:[1,192/255,203/255],plum:[221/255,160/255,221/255],powderblue:[176/255,224/255,230/255],purple:[128/255,0,128/255],rebeccapurple:[102/255,51/255,153/255],red:[1,0,0],rosybrown:[188/255,143/255,143/255],royalblue:[65/255,105/255,225/255],saddlebrown:[139/255,69/255,19/255],salmon:[250/255,128/255,114/255],sandybrown:[244/255,164/255,96/255],seagreen:[46/255,139/255,87/255],seashell:[1,245/255,238/255],sienna:[160/255,82/255,45/255],silver:[192/255,192/255,192/255],skyblue:[135/255,206/255,235/255],slateblue:[106/255,90/255,205/255],slategray:[112/255,128/255,144/255],slategrey:[112/255,128/255,144/255],snow:[1,250/255,250/255],springgreen:[0,1,127/255],steelblue:[70/255,130/255,180/255],tan:[210/255,180/255,140/255],teal:[0,128/255,128/255],thistle:[216/255,191/255,216/255],tomato:[1,99/255,71/255],turquoise:[64/255,224/255,208/255],violet:[238/255,130/255,238/255],wheat:[245/255,222/255,179/255],white:[1,1,1],whitesmoke:[245/255,245/255,245/255],yellow:[1,1,0],yellowgreen:[154/255,205/255,50/255]},Zt=[,,,].fill(`<percentage> | <number>[0, 255]`),Qt=[,,,].fill(`<number>[0, 255]`),q=new A({id:`srgb`,name:`sRGB`,base:Yt,fromBase:e=>e.map(e=>{let t=e<0?-1:1,n=e*t;return n>.0031308?t*(1.055*n**(1/2.4)-.055):12.92*e}),toBase:e=>e.map(e=>{let t=e<0?-1:1,n=e*t;return n<=.04045?e/12.92:t*((n+.055)/1.055)**2.4}),formats:{rgb:{coords:Zt},rgb_number:{name:`rgb`,commas:!0,coords:Qt,noAlpha:!0},color:{},rgba:{coords:Zt,commas:!0,lastAlpha:!0},rgba_number:{name:`rgba`,commas:!0,coords:Qt},hex:{type:`custom`,toGamut:!0,test:e=>/^#([a-f0-9]{3,4}){1,2}$/i.test(e),parse(e){e.length<=5&&(e=e.replace(/[a-f0-9]/gi,`$&$&`));let t=[];return e.replace(/[a-f0-9]{2}/gi,e=>{t.push(parseInt(e,16)/255)}),{spaceId:`srgb`,coords:t.slice(0,3),alpha:t.slice(3)[0]}},serialize:(e,t,{collapse:n=!0}={})=>{t<1&&e.push(t),e=e.map(e=>Math.round(e*255));let r=n&&e.every(e=>e%17==0);return`#`+e.map(e=>r?(e/17).toString(16):e.toString(16).padStart(2,`0`)).join(``)}},keyword:{type:`custom`,test:e=>/^[a-z]+$/i.test(e),parse(e){e=e.toLowerCase();let t={spaceId:`srgb`,coords:null,alpha:1};if(e===`transparent`?(t.coords=Xt.black,t.alpha=0):t.coords=Xt[e],t.coords)return t}}}}),$t=new A({id:`p3`,cssId:`display-p3`,name:`P3`,base:qt,fromBase:q.fromBase,toBase:q.toBase});x.display_space=q;var en;if(typeof CSS<`u`&&CSS.supports)for(let e of[I,Kt,$t]){let t=Ht({space:e,coords:e.getMinCoords(),alpha:1});if(CSS.supports(`color`,t)){x.display_space=e;break}}function tn(e,{space:t=x.display_space,...n}={}){let r=Ht(e,n);if(typeof CSS>`u`||CSS.supports(`color`,r)||!x.display_space)r=new String(r),r.color=e;else{let o=e;if((e.coords.some(i)||i(e.alpha))&&!(en??=CSS.supports(`color`,`hsl(none 50% 50%)`))&&(o=V(e),o.coords=o.coords.map(a),o.alpha=a(o.alpha),r=Ht(o,n),CSS.supports(`color`,r)))return r=new String(r),r.color=o,r;o=G(o,t),r=new String(Ht(o,n)),r.color=o}return r}function nn(e,t){return e=D(e),t=D(t),e.space===t.space&&e.alpha===t.alpha&&e.coords.every((e,n)=>e===t.coords[n])}function J(e){return M(e,[k,`y`])}function rn(e,t){P(e,[k,`y`],t)}function an(e){Object.defineProperty(e.prototype,"luminance",{get(){return J(this)},set(e){rn(this,e)}})}var on=/*#__PURE__*/ Object.freeze({__proto__:null,getLuminance:J,register:an,setLuminance:rn});function sn(e,t){e=D(e),t=D(t);let n=Math.max(J(e),0),r=Math.max(J(t),0);return r>n&&([n,r]=[r,n]),(n+.05)/(r+.05)}var cn=.56,ln=.57,un=.62,dn=.65,fn=.022,pn=1.414,mn=.1,hn=5e-4,gn=1.14,_n=.027,vn=1.14;function yn(e){return e>=fn?e:e+(fn-e)**pn}function Y(e){return(e<0?-1:1)*Math.abs(e)**2.4}function bn(e,t){t=D(t),e=D(e);let n,r,i,a,o,s;t=G(t,`srgb`),[a,o,s]=t.coords;let c=Y(a)*.2126729+Y(o)*.7151522+Y(s)*.072175;e=G(e,`srgb`),[a,o,s]=e.coords;let l=Y(a)*.2126729+Y(o)*.7151522+Y(s)*.072175,u=yn(c),d=yn(l),f=d>u;return Math.abs(d-u)<hn?r=0:f?(n=d**cn-u**ln,r=n*gn):(n=d**dn-u**un,r=n*vn),i=Math.abs(r)<mn?0:r>0?r-_n:r+_n,i*100}function xn(e,t){e=D(e),t=D(t);let n=Math.max(J(e),0),r=Math.max(J(t),0);r>n&&([n,r]=[r,n]);let i=n+r;return i===0?0:(n-r)/i}var Sn=5e4;function Cn(e,t){e=D(e),t=D(t);let n=Math.max(J(e),0),r=Math.max(J(t),0);return r>n&&([n,r]=[r,n]),r===0?Sn:(n-r)/r}function wn(e,t){e=D(e),t=D(t);let n=M(e,[I,`l`]),r=M(t,[I,`l`]);return Math.abs(n-r)}var Tn=216/24389,En=24/116,Dn=24389/27,On=S.D65,kn=new O({id:`lab-d65`,name:`Lab D65`,coords:{l:{refRange:[0,100],name:`Lightness`},a:{refRange:[-125,125]},b:{refRange:[-125,125]}},white:On,base:k,fromBase(e){let t=e.map((e,t)=>e/On[t]).map(e=>e>Tn?Math.cbrt(e):(Dn*e+16)/116);return[116*t[1]-16,500*(t[0]-t[1]),200*(t[1]-t[2])]},toBase(e){let t=[];return t[1]=(e[0]+16)/116,t[0]=e[1]/500+t[1],t[2]=t[1]-e[2]/200,[t[0]>En?t[0]**3:(116*t[0]-16)/Dn,e[0]>8?((e[0]+16)/116)**3:e[0]/Dn,t[2]>En?t[2]**3:(116*t[2]-16)/Dn].map((e,t)=>e*On[t])},formats:{"lab-d65":{coords:[`<number> | <percentage>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}}),An=5**.5*.5+.5;function jn(e,t){e=D(e),t=D(t);let n=M(e,[kn,`l`]),r=M(t,[kn,`l`]),i=Math.abs(n**+An-r**+An)**(1/An)*Math.SQRT2-40;return i<7.5?0:i}var Mn=/*#__PURE__*/ Object.freeze({__proto__:null,contrastAPCA:bn,contrastDeltaPhi:jn,contrastLstar:wn,contrastMichelson:xn,contrastWCAG21:sn,contrastWeber:Cn});function Nn(e,n,r={}){t(r)&&(r={algorithm:r});let{algorithm:i,...a}=r;if(!i){let e=Object.keys(Mn).map(e=>e.replace(/^contrast/,``)).join(`, `);throw TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${e}`)}e=D(e),n=D(n);for(let t in Mn)if(`contrast`+i.toLowerCase()===t.toLowerCase())return Mn[t](e,n,a);throw TypeError(`Unknown contrast algorithm: ${i}`)}function Pn(e){let[t,n,r]=j(e,k),i=t+15*n+3*r;return[4*t/i,9*n/i]}function Fn(e){let[t,n,r]=j(e,k),i=t+n+r;return[t/i,n/i]}function In(e){Object.defineProperty(e.prototype,"uv",{get(){return Pn(this)}}),Object.defineProperty(e.prototype,"xy",{get(){return Fn(this)}})}var Ln=/*#__PURE__*/ Object.freeze({__proto__:null,register:In,uv:Pn,xy:Fn});function X(e,n,r={}){t(r)&&(r={method:r});let{method:i=x.deltaE,...a}=r;for(let t in U)if(`deltae`+i.toLowerCase()===t.toLowerCase())return U[t](e,n,a);throw TypeError(`Unknown deltaE method: ${i}`)}function Rn(e,t=.25){return P(e,[O.get(`oklch`,`lch`),`l`],e=>e*(1+t))}function zn(e,t=.25){return P(e,[O.get(`oklch`,`lch`),`l`],e=>e*(1-t))}var Bn=/*#__PURE__*/ Object.freeze({__proto__:null,darken:zn,lighten:Rn});function Vn(e,t,r=.5,i={}){return[e,t]=[D(e),D(t)],n(r)===`object`&&([r,i]=[.5,r]),Un(e,t,i)(r)}function Hn(e,t,n={}){let r;Wn(e)&&([r,n]=[e,t],[e,t]=r.rangeArgs.colors);let{maxDeltaE:i,deltaEMethod:a,steps:o=2,maxSteps:s=1e3,...c}=n;r||=([e,t]=[D(e),D(t)],Un(e,t,c));let l=X(e,t),u=i>0?Math.max(o,Math.ceil(l/i)+1):o,d=[];if(s!==void 0&&(u=Math.min(u,s)),u===1)d=[{p:.5,color:r(.5)}];else{let e=1/(u-1);d=Array.from({length:u},(t,n)=>{let i=n*e;return{p:i,color:r(i)}})}if(i>0){let e=d.reduce((e,t,n)=>{if(n===0)return 0;let r=X(t.color,d[n-1].color,a);return Math.max(e,r)},0);for(;e>i;){e=0;for(let t=1;t<d.length&&d.length<s;t++){let n=d[t-1],i=d[t],a=(i.p+n.p)/2,o=r(a);e=Math.max(e,X(o,n.color),X(o,i.color)),d.splice(t,0,{p:a,color:r(a)}),t++}}}return d=d.map(e=>e.color),d}function Un(e,t,n={}){if(Wn(e)){let[n,r]=[e,t];return Un(...n.rangeArgs.colors,{...n.rangeArgs.options,...r})}let{space:r,outputSpace:i,progression:a,premultiplied:o}=n;e=D(e),t=D(t),e=V(e),t=V(t);let s={colors:[e,t],options:n};if(r=r?O.get(r):O.registry[x.interpolationSpace]||e.space,i=i?O.get(i):r,e=G(e,r),t=G(t,r),e=W(e),t=W(t),r.coords.h&&r.coords.h.type===`angle`){let i=n.hue=n.hue||`shorter`,a=[r,`h`],[o,s]=[M(e,a),M(t,a)];isNaN(o)&&!isNaN(s)?o=s:isNaN(s)&&!isNaN(o)&&(s=o),[o,s]=ce(i,[o,s]),P(e,a,o),P(t,a,s)}return o&&(e.coords=e.coords.map(t=>t*e.alpha),t.coords=t.coords.map(e=>e*t.alpha)),Object.assign(n=>{n=a?a(n):n;let s=e.coords.map((e,r)=>{let i=t.coords[r];return u(e,i,n)}),c=u(e.alpha,t.alpha,n),l={space:r,coords:s,alpha:c};return o&&(l.coords=l.coords.map(e=>e/c)),i!==r&&(l=G(l,i)),l},{rangeArgs:s})}function Wn(e){return n(e)===`function`&&!!e.rangeArgs}x.interpolationSpace=`lab`;function Gn(e){e.defineFunction(`mix`,Vn,{returns:`color`}),e.defineFunction(`range`,Un,{returns:`function<color>`}),e.defineFunction(`steps`,Hn,{returns:`array<color>`})}var Kn=/*#__PURE__*/ Object.freeze({__proto__:null,isRange:Wn,mix:Vn,range:Un,register:Gn,steps:Hn}),qn=new O({id:`hsl`,name:`HSL`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:q,fromBase:e=>{let t=Math.max(...e),n=Math.min(...e),[r,i,a]=e,[o,s,c]=[NaN,0,(n+t)/2],l=t-n;if(l!==0){switch(s=c===0||c===1?0:(t-c)/Math.min(c,1-c),t){case r:o=(i-a)/l+(i<a?6:0);break;case i:o=(a-r)/l+2;break;case a:o=(r-i)/l+4}o*=60}return s<0&&(o+=180,s=Math.abs(s)),o>=360&&(o-=360),[o,s*100,c*100]},toBase:e=>{let[t,n,r]=e;t%=360,t<0&&(t+=360),n/=100,r/=100;function i(e){let i=(e+t/30)%12,a=n*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return[i(0),i(8),i(4)]},formats:{hsl:{coords:[`<number> | <angle>`,`<percentage>`,`<percentage>`]},hsla:{coords:[`<number> | <angle>`,`<percentage>`,`<percentage>`],commas:!0,lastAlpha:!0}}}),Jn=new O({id:`hsv`,name:`HSV`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},v:{range:[0,100],name:`Value`}},base:qn,fromBase(e){let[t,n,r]=e;n/=100,r/=100;let i=r+n*Math.min(r,1-r);return[t,i===0?0:200*(1-r/i),100*i]},toBase(e){let[t,n,r]=e;n/=100,r/=100;let i=r*(1-n/2);return[t,i===0||i===1?0:(r-i)/Math.min(i,1-i)*100,i*100]},formats:{color:{id:`--hsv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),Yn=new O({id:`hwb`,name:`HWB`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},w:{range:[0,100],name:`Whiteness`},b:{range:[0,100],name:`Blackness`}},base:Jn,fromBase(e){let[t,n,r]=e;return[t,r*(100-n)/100,100-r]},toBase(e){let[t,n,r]=e;n/=100,r/=100;let i=n+r;if(i>=1)return[t,0,n/i*100];let a=1-r;return[t,(a===0?0:1-n/a)*100,a*100]},formats:{hwb:{coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),Xn=new A({id:`a98rgb-linear`,cssId:`--a98-rgb-linear`,name:`Linear Adobe® 98 RGB compatible`,white:`D65`,toXYZ_M:[[.5766690429101305,.1855582379065463,.1882286462349947],[.29734497525053605,.6273635662554661,.07529145849399788],[.02703136138641234,.07068885253582723,.9913375368376388]],fromXYZ_M:[[2.0415879038107465,-.5650069742788596,-.34473135077832956],[-.9692436362808795,1.8759675015077202,.04155505740717557],[.013444280632031142,-.11836239223101838,1.0151749943912054]]}),Zn=new A({id:`a98rgb`,cssId:`a98-rgb`,name:`Adobe® 98 RGB compatible`,base:Xn,toBase:e=>e.map(e=>Math.abs(e)**(563/256)*Math.sign(e)),fromBase:e=>e.map(e=>Math.abs(e)**(256/563)*Math.sign(e))}),Qn=new A({id:`prophoto-linear`,cssId:`--prophoto-rgb-linear`,name:`Linear ProPhoto`,white:`D50`,base:ie,toXYZ_M:[[.7977666449006423,.13518129740053308,.0313477341283922],[.2880748288194013,.711835234241873,8993693872564e-17],[0,0,.8251046025104602]],fromXYZ_M:[[1.3457868816471583,-.25557208737979464,-.05110186497554526],[-.5446307051249019,1.5082477428451468,.02052744743642139],[0,0,1.2119675456389452]]}),$n=1/512,er=16/512,tr=new A({id:`prophoto`,cssId:`prophoto-rgb`,name:`ProPhoto`,base:Qn,toBase(e){return e.map(e=>e<er?e/16:e**1.8)},fromBase(e){return e.map(e=>e>=$n?e**(1/1.8):16*e)}}),nr=new O({id:`oklch`,name:`Oklch`,coords:{l:{refRange:[0,1],name:`Lightness`},c:{refRange:[0,.4],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},white:`D65`,base:z,fromBase(e){let[t,n,r]=e,i,a=2e-4;return i=Math.abs(n)<a&&Math.abs(r)<a?NaN:Math.atan2(r,n)*180/Math.PI,[t,Math.sqrt(n**2+r**2),L(i)]},toBase(e){let[t,n,r]=e,i,a;return isNaN(r)?(i=0,a=0):(i=n*Math.cos(r*Math.PI/180),a=n*Math.sin(r*Math.PI/180)),[t,i,a]},formats:{oklch:{coords:[`<percentage> | <number>`,`<number> | <percentage>[0,1]`,`<number> | <angle>`]}}}),rr=S.D65,ir=216/24389,ar=24389/27,[or,sr]=Pn({space:k,coords:rr}),cr=new O({id:`luv`,name:`Luv`,coords:{l:{refRange:[0,100],name:`Lightness`},u:{refRange:[-215,215]},v:{refRange:[-215,215]}},white:rr,base:k,fromBase(e){let t=[a(e[0]),a(e[1]),a(e[2])],n=t[1],[r,i]=Pn({space:k,coords:t});if(!Number.isFinite(r)||!Number.isFinite(i))return[0,0,0];let o=n<=ir?ar*n:116*Math.cbrt(n)-16;return[o,13*o*(r-or),13*o*(i-sr)]},toBase(e){let[t,n,r]=e;if(t===0||i(t))return[0,0,0];n=a(n),r=a(r);let o=n/(13*t)+or,s=r/(13*t)+sr,c=t<=8?t/ar:((t+16)/116)**3;return[c*(9*o/(4*s)),c,c*((12-3*o-20*s)/(4*s))]},formats:{color:{id:`--luv`,coords:[`<number> | <percentage>`,`<number> | <percentage>[-1,1]`,`<number> | <percentage>[-1,1]`]}}}),lr=new O({id:`lchuv`,name:`LChuv`,coords:{l:{refRange:[0,100],name:`Lightness`},c:{refRange:[0,220],name:`Chroma`},h:{refRange:[0,360],type:`angle`,name:`Hue`}},base:cr,fromBase(e){let[t,n,r]=e,i,a=.02;return i=Math.abs(n)<a&&Math.abs(r)<a?NaN:Math.atan2(r,n)*180/Math.PI,[t,Math.sqrt(n**2+r**2),L(i)]},toBase(e){let[t,n,r]=e;return n<0&&(n=0),isNaN(r)&&(r=0),[t,n*Math.cos(r*Math.PI/180),n*Math.sin(r*Math.PI/180)]},formats:{color:{id:`--lchuv`,coords:[`<number> | <percentage>`,`<number> | <percentage>`,`<number> | <angle>`]}}}),ur=216/24389,dr=24389/27,fr=K[0][0],pr=K[0][1],mr=K[0][2],hr=K[1][0],gr=K[1][1],_r=K[1][2],vr=K[2][0],yr=K[2][1],br=K[2][2];function Z(e,t,n){let r=t/(Math.sin(n)-e*Math.cos(n));return r<0?1/0:r}function xr(e){let t=(e+16)**3/1560896,n=t>ur?t:e/dr,r=n*(284517*fr-94839*mr),i=n*(838422*mr+769860*pr+731718*fr),a=n*(632260*mr-126452*pr),o=n*(284517*hr-94839*_r),s=n*(838422*_r+769860*gr+731718*hr),c=n*(632260*_r-126452*gr),l=n*(284517*vr-94839*br),u=n*(838422*br+769860*yr+731718*vr),d=n*(632260*br-126452*yr);return{r0s:r/a,r0i:i*e/a,r1s:r/(a+126452),r1i:(i-769860)*e/(a+126452),g0s:o/c,g0i:s*e/c,g1s:o/(c+126452),g1i:(s-769860)*e/(c+126452),b0s:l/d,b0i:u*e/d,b1s:l/(d+126452),b1i:(u-769860)*e/(d+126452)}}function Sr(e,t){let n=t/360*Math.PI*2,r=Z(e.r0s,e.r0i,n),i=Z(e.r1s,e.r1i,n),a=Z(e.g0s,e.g0i,n),o=Z(e.g1s,e.g1i,n),s=Z(e.b0s,e.b0i,n),c=Z(e.b1s,e.b1i,n);return Math.min(r,i,a,o,s,c)}var Cr=new O({id:`hsluv`,name:`HSLuv`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:lr,gamutSpace:q,fromBase(e){let[t,n,r]=[a(e[0]),a(e[1]),a(e[2])],i;return t>99.9999999?(i=0,t=100):t<1e-8?(i=0,t=0):i=n/Sr(xr(t),r)*100,[r,i,t]},toBase(e){let[t,n,r]=[a(e[0]),a(e[1]),a(e[2])],i;return r>99.9999999?(r=100,i=0):r<1e-8?(r=0,i=0):i=Sr(xr(r),t)/100*n,[r,i,t]},formats:{color:{id:`--hsluv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}});K[0][0],K[0][1],K[0][2],K[1][0],K[1][1],K[1][2],K[2][0],K[2][1],K[2][2];function Q(e,t){return Math.abs(t)/Math.sqrt(e**2+1)}function wr(e){let t=Q(e.r0s,e.r0i),n=Q(e.r1s,e.r1i),r=Q(e.g0s,e.g0i),i=Q(e.g1s,e.g1i),a=Q(e.b0s,e.b0i),o=Q(e.b1s,e.b1i);return Math.min(t,n,r,i,a,o)}var Tr=new O({id:`hpluv`,name:`HPLuv`,coords:{h:{refRange:[0,360],type:`angle`,name:`Hue`},s:{range:[0,100],name:`Saturation`},l:{range:[0,100],name:`Lightness`}},base:lr,gamutSpace:`self`,fromBase(e){let[t,n,r]=[a(e[0]),a(e[1]),a(e[2])],i;return t>99.9999999?(i=0,t=100):t<1e-8?(i=0,t=0):i=n/wr(xr(t))*100,[r,i,t]},toBase(e){let[t,n,r]=[a(e[0]),a(e[1]),a(e[2])],i;return r>99.9999999?(r=100,i=0):r<1e-8?(r=0,i=0):i=wr(xr(r))/100*n,[r,i,t]},formats:{color:{id:`--hpluv`,coords:[`<number> | <angle>`,`<percentage> | <number>`,`<percentage> | <number>`]}}}),Er=203,Dr=2610/2**14,Or=2**14/2610,kr=2523/32,Ar=32/2523,jr=3424/4096,Mr=2413/128,Nr=2392/128,Pr=new A({id:`rec2100pq`,cssId:`rec2100-pq`,name:`REC.2100-PQ`,base:Ut,toBase(e){return e.map(function(e){return(Math.max(e**Ar-jr,0)/(Mr-Nr*e**Ar))**Or*1e4/Er})},fromBase(e){return e.map(function(e){let t=Math.max(e*Er/1e4,0);return((jr+Mr*t**Dr)/(1+Nr*t**Dr))**kr})}}),Fr=.17883277,Ir=.28466892,Lr=.55991073,Rr=3.7743,zr=new A({id:`rec2100hlg`,cssId:`rec2100-hlg`,name:`REC.2100-HLG`,referred:`scene`,base:Ut,toBase(e){return e.map(function(e){return e<=.5?e**2/3*Rr:(Math.exp((e-Lr)/Fr)+Ir)/12*Rr})},fromBase(e){return e.map(function(e){return e/=Rr,e<=1/12?Math.sqrt(3*e):Fr*Math.log(12*e-Ir)+Lr})}}),Br={};b.add(`chromatic-adaptation-start`,e=>{e.options.method&&(e.M=Hr(e.W1,e.W2,e.options.method))}),b.add(`chromatic-adaptation-end`,e=>{e.M||=Hr(e.W1,e.W2,e.options.method)});function Vr({id:e,toCone_M:t,fromCone_M:n}){Br[e]=arguments[0]}function Hr(t,n,r=`Bradford`){let i=Br[r],[a,o,s]=e(i.toCone_M,t),[c,l,u]=e(i.toCone_M,n),d=e([[c/a,0,0],[0,l/o,0],[0,0,u/s]],i.toCone_M);return e(i.fromCone_M,d)}Vr({id:`von Kries`,toCone_M:[[.40024,.7076,-.08081],[-.2263,1.16532,.0457],[0,0,.91822]],fromCone_M:[[1.8599363874558397,-1.1293816185800916,.21989740959619328],[.3611914362417676,.6388124632850422,-6370596838649899e-21],[0,0,1.0890636230968613]]}),Vr({id:`Bradford`,toCone_M:[[.8951,.2664,-.1614],[-.7502,1.7135,.0367],[.0389,-.0685,1.0296]],fromCone_M:[[.9869929054667121,-.14705425642099013,.15996265166373122],[.4323052697233945,.5183602715367774,.049291228212855594],[-.00852866457517732,.04004282165408486,.96848669578755]]}),Vr({id:`CAT02`,toCone_M:[[.7328,.4296,-.1624],[-.7036,1.6975,.0061],[.003,.0136,.9834]],fromCone_M:[[1.0961238208355142,-.27886900021828726,.18274517938277307],[.4543690419753592,.4735331543074117,.07209780371722911],[-.009627608738429355,-.00569803121611342,1.0153256399545427]]}),Vr({id:`CAT16`,toCone_M:[[.401288,.650173,-.051461],[-.250268,1.204414,.045854],[-.002079,.048952,.953127]],fromCone_M:[[1.862067855087233,-1.0112546305316845,.14918677544445172],[.3875265432361372,.6214474419314753,-.008973985167612521],[-.01584149884933386,-.03412293802851557,1.0499644368778496]]}),Object.assign(S,{A:[1.0985,1,.35585],C:[.98074,1,1.18232],D55:[.95682,1,.92149],D75:[.94972,1,1.22638],E:[1,1,1],F2:[.99186,1,.67393],F7:[.95041,1,1.08747],F11:[1.00962,1,.6435]}),S.ACES=[.32168/.33767,1,.34065/.33767];var Ur=new A({id:`acescg`,cssId:`--acescg`,name:`ACEScg`,coords:{r:{range:[0,65504],name:`Red`},g:{range:[0,65504],name:`Green`},b:{range:[0,65504],name:`Blue`}},referred:`scene`,white:S.ACES,toXYZ_M:[[.6624541811085053,.13400420645643313,.1561876870049078],[.27222871678091454,.6740817658111484,.05368951740793705],[-.005574649490394108,.004060733528982826,1.0103391003129971]],fromXYZ_M:[[1.6410233796943257,-.32480329418479,-.23642469523761225],[-.6636628587229829,1.6153315916573379,.016756347685530137],[.011721894328375376,-.008284441996237409,.9883948585390215]]}),Wr=2**-16,Gr=-.35828683,Kr=(Math.log2(65504)+9.72)/17.52,qr=new A({id:`acescc`,cssId:`--acescc`,name:`ACEScc`,coords:{r:{range:[Gr,Kr],name:`Red`},g:{range:[Gr,Kr],name:`Green`},b:{range:[Gr,Kr],name:`Blue`}},referred:`scene`,base:Ur,toBase(e){return e.map(function(e){return e<=-.3013698630136986?(2**(e*17.52-9.72)-Wr)*2:e<Kr?2**(e*17.52-9.72):65504})},fromBase(e){return e.map(function(e){return e<=0?(Math.log2(Wr)+9.72)/17.52:e<Wr?(Math.log2(Wr+e*.5)+9.72)/17.52:(Math.log2(e)+9.72)/17.52})}}),Jr=/*#__PURE__*/ Object.freeze({__proto__:null,A98RGB:Zn,A98RGB_Linear:Xn,ACEScc:qr,ACEScg:Ur,CAM16_JMh:wt,HCT:Nt,HPLuv:Tr,HSL:qn,HSLuv:Cr,HSV:Jn,HWB:Yn,ICTCP:nt,JzCzHz:Ue,Jzazbz:He,LCH:le,LCHuv:lr,Lab:I,Lab_D65:kn,Luv:cr,OKLCH:nr,OKLab:z,P3:$t,P3_Linear:qt,ProPhoto:tr,ProPhoto_Linear:Qn,REC_2020:Kt,REC_2020_Linear:Ut,REC_2100_HLG:zr,REC_2100_PQ:Pr,XYZ_ABS_D65:Ee,XYZ_D50:ie,XYZ_D65:k,sRGB:q,sRGB_Linear:Yt}),$=class e{constructor(...e){let t;e.length===1&&(t=D(e[0]));let n,r,i;t?(n=t.space||t.spaceId,r=t.coords,i=t.alpha):[n,r,i]=e,Object.defineProperty(this,"space",{value:O.get(n),writable:!1,enumerable:!0,configurable:!0}),this.coords=r?r.slice():[0,0,0],this.alpha=i>1||i===void 0?1:i<0?0:i;for(let e=0;e<this.coords.length;e++)this.coords[e]===`NaN`&&(this.coords[e]=NaN);for(let e in this.space.coords)Object.defineProperty(this,e,{get:()=>this.get(e),set:t=>this.set(e,t)})}get spaceId(){return this.space.id}clone(){return new e(this.space,this.coords,this.alpha)}toJSON(){return{spaceId:this.spaceId,coords:this.coords,alpha:this.alpha}}display(...t){let n=tn(this,...t);return n.color=new e(n.color),n}static get(t,...n){return t instanceof e?t:new e(t,...n)}static defineFunction(t,n,r=n){let{instance:i=!0,returns:a}=r,o=function(...t){let r=n(...t);if(a===`color`)r=e.get(r);else if(a===`function<color>`){let t=r;r=function(...n){let r=t(...n);return e.get(r)},Object.assign(r,t)}else a===`array<color>`&&(r=r.map(t=>e.get(t)));return r};t in e||(e[t]=o),i&&(e.prototype[t]=function(...e){return o(this,...e)})}static defineFunctions(t){for(let n in t)e.defineFunction(n,t[n],t[n])}static extend(t){if(t.register)t.register(e);else for(let n in t)e.defineFunction(n,t[n])}};$.defineFunctions({get:M,getAll:j,set:P,setAll:N,to:G,equals:nn,inGamut:B,toGamut:W,distance:xe,toString:Ht}),Object.assign($,{util:y,hooks:b,WHITES:S,Space:O,spaces:O.registry,parse:E,defaults:x});for(let e of Object.keys(Jr))O.register(Jr[e]);for(let e in O.registry)Yr(e,O.registry[e]);b.add(`colorspace-init-end`,e=>{Yr(e.id,e),e.aliases?.forEach(t=>{Yr(t,e)})});function Yr(e,t){let n=e.replace(/-/g,`_`);Object.defineProperty($.prototype,n,{get(){let n=this.getAll(e);return typeof Proxy>`u`?n:new Proxy(n,{has:(e,n)=>{try{return O.resolveCoord([t,n]),!0}catch{}return Reflect.has(e,n)},get:(e,n,r)=>{if(n&&typeof n!=`symbol`&&!(n in e)){let{index:r}=O.resolveCoord([t,n]);if(r>=0)return e[r]}return Reflect.get(e,n,r)},set:(n,r,i,a)=>{if(r&&typeof r!=`symbol`&&!(r in n)||r>=0){let{index:a}=O.resolveCoord([t,r]);if(a>=0)return n[a]=i,this.setAll(e,n),!0}return Reflect.set(n,r,i,a)}})},set(t){this.setAll(e,t)},configurable:!0,enumerable:!0})}$.extend(U),$.extend({deltaE:X}),Object.assign($,{deltaEMethods:U}),$.extend(Bn),$.extend({contrast:Nn}),$.extend(Ln),$.extend(on),$.extend(Kn),$.extend(Mn);export{$ as t};
|