@luzmo/analytics-components-kit 1.0.1-alpha.90 → 1.0.1-alpha.94
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 +195 -0
- package/angular/README.md +1 -0
- package/angular/components/widget-menu.component.ts +25 -0
- package/angular/esm/components/widget-menu.component.d.ts +13 -0
- package/angular/esm/components/widget-menu.component.js +49 -0
- package/angular/esm/index.d.ts +3 -1
- package/angular/esm/index.js +4 -1
- package/angular/esm/types.d.ts +4 -0
- package/angular/index.ts +4 -1
- package/angular/types.ts +6 -0
- package/components/ai-chat-message-assistant/index.cjs +1 -1
- package/components/ai-chat-message-assistant/index.js +1 -0
- package/components/ai-chat-messages-container/index.cjs +1 -1
- package/components/ai-chat-messages-container/index.js +2 -2
- package/components/ai-interaction-textarea/index.cjs +1 -1
- package/components/ai-interaction-textarea/index.js +2 -1
- package/components/area-chart-options.config-C7sMAHco.cjs +20 -0
- package/components/{area-chart-options.config-u8itidsi.js → area-chart-options.config-_J0sG4NF.js} +26 -14
- package/components/{bar-chart-options.config-DIirbAJ0.js → bar-chart-options.config-D1mb5TDl.js} +35 -21
- package/components/bar-chart-options.config-DcxEkOT5.cjs +20 -0
- package/components/box-plot-options.config-SrrbDEYW.cjs +20 -0
- package/components/{box-plot-options.config-BWROiguA.js → box-plot-options.config-xu_i6ms7.js} +88 -52
- package/components/{bubble-chart-options.config-4QD8VPhU.js → bubble-chart-options.config-BacgXkJ_.js} +18 -9
- package/components/bubble-chart-options.config-Ihn6eVQI.cjs +20 -0
- package/components/{bullet-chart-options.config-3bH7uekx.js → bullet-chart-options.config-CDPpX1yc.js} +1 -1
- package/components/{bullet-chart-options.config-tWb6Fio-.cjs → bullet-chart-options.config-DfS4Bwds.cjs} +1 -1
- package/components/calculate-data-item-icon-CEa82-5u.cjs +20 -0
- package/components/calculate-data-item-icon-DjlZwMdO.js +147 -0
- package/components/{choropleth-map-options.config-CMxx3ORp.js → choropleth-map-options.config-B_W9-rhe.js} +84 -63
- package/components/choropleth-map-options.config-ZW8yoZH2.cjs +20 -0
- package/components/{circular-gauge-options.config-DhIKn44k.js → circular-gauge-options.config-DAIjz4Rl.js} +36 -23
- package/components/circular-gauge-options.config-msZ4mfpN.cjs +20 -0
- package/components/color-B6LaL8qz.cjs +20 -0
- package/components/{color-B7m0j8lX.js → color-DuJ4-73S.js} +950 -941
- package/components/{color-range-utils-BSfqtB3A.js → color-range-utils-Bvo9sm5A.js} +32 -31
- package/components/color-range-utils-C5yXW7ZC.cjs +20 -0
- package/components/{column-chart-options.config-D5-yR7iq.js → column-chart-options.config-B5SjBVdy.js} +37 -27
- package/components/column-chart-options.config-BjDvA7i9.cjs +20 -0
- package/components/{conditional-number-options.config-DPYsdML5.js → conditional-number-options.config-BCEpSK9J.js} +40 -24
- package/components/conditional-number-options.config-DgzUo0xi.cjs +20 -0
- package/components/dataset-icon/index.cjs +1 -1
- package/components/dataset-icon/index.js +2 -1
- package/components/dataset-selector-list/index.cjs +1 -1
- package/components/dataset-selector-list/index.js +35 -32
- package/components/dataset-selector-row/index.cjs +9 -9
- package/components/dataset-selector-row/index.js +53 -51
- package/components/{date-comparison-filter-options.config-QaoWaFUn.cjs → date-comparison-filter-options.config-DAVncmi0.cjs} +1 -1
- package/components/{date-comparison-filter-options.config-CSwGyuBg.js → date-comparison-filter-options.config-JA_yYpJa.js} +6 -3
- package/components/{date-filter-options.config-n-zhWaYa.cjs → date-filter-options.config-CWPMtA18.cjs} +1 -1
- package/components/{date-filter-options.config-BTVyHRkp.js → date-filter-options.config-DBRxlTWy.js} +6 -3
- package/components/display-settings/index.cjs +1 -1
- package/components/display-settings/index.js +1 -1
- package/components/display-settings-binning/index.cjs +5 -5
- package/components/display-settings-binning/index.js +30 -29
- package/components/display-settings-datetime/index.cjs +29 -29
- package/components/display-settings-datetime/index.js +120 -112
- package/components/display-settings-grand-totals/index.cjs +4 -4
- package/components/display-settings-grand-totals/index.js +24 -23
- package/components/display-settings-numeric/index.cjs +48 -48
- package/components/display-settings-numeric/index.js +211 -194
- package/components/display-settings-period-over-period/index.cjs +16 -16
- package/components/display-settings-period-over-period/index.js +97 -91
- package/components/{donut-chart-options.config-3ZqX8Cbb.js → donut-chart-options.config-BulUEiaH.js} +37 -21
- package/components/donut-chart-options.config-tNpqBZfR.cjs +20 -0
- package/components/draggable-data-item/index.cjs +5 -5
- package/components/draggable-data-item/index.js +46 -45
- package/components/draggable-data-item-level/index.cjs +11 -11
- package/components/draggable-data-item-level/index.js +73 -70
- package/components/{dropdown-filter-options.config-CGJTtgAX.js → dropdown-filter-options.config-D9dvPypF.js} +10 -7
- package/components/{dropdown-filter-options.config-DJvfCTk7.cjs → dropdown-filter-options.config-DS-MORmq.cjs} +1 -1
- package/components/droppable-slot/index.cjs +16 -16
- package/components/droppable-slot/index.js +223 -208
- package/components/edit-item/index.cjs +9 -9
- package/components/edit-item/index.js +119 -116
- package/components/edit-option/index.cjs +1 -1
- package/components/edit-option/index.js +1 -1
- package/components/edit-option-action-button-group/index.cjs +8 -8
- package/components/edit-option-action-button-group/index.js +53 -52
- package/components/{edit-option-base-Bh29-Cak.js → edit-option-base-DIc7iC-b.js} +1 -1
- package/components/{edit-option-base-tFr8Qg2B.cjs → edit-option-base-VhTih9T1.cjs} +1 -1
- package/components/edit-option-color-palette-picker/index.cjs +1 -1
- package/components/edit-option-color-palette-picker/index.js +1 -1
- package/components/edit-option-color-picker/index.cjs +1 -1
- package/components/edit-option-color-picker/index.js +1 -1
- package/components/edit-option-color-range/index.cjs +19 -19
- package/components/edit-option-color-range/index.js +117 -106
- package/components/edit-option-multi-language-field/index.cjs +3 -3
- package/components/edit-option-multi-language-field/index.js +27 -26
- package/components/edit-option-number-field/index.cjs +1 -1
- package/components/edit-option-number-field/index.js +1 -1
- package/components/edit-option-picker/index.cjs +5 -5
- package/components/edit-option-picker/index.js +7 -7
- package/components/edit-option-position-picker/index.cjs +4 -4
- package/components/edit-option-position-picker/index.js +25 -21
- package/components/edit-option-positions-number-field/index.cjs +9 -9
- package/components/edit-option-positions-number-field/index.js +81 -76
- package/components/edit-option-radio-button-group/index.cjs +6 -6
- package/components/edit-option-radio-button-group/index.js +22 -21
- package/components/edit-option-slider/index.cjs +1 -1
- package/components/edit-option-slider/index.js +1 -1
- package/components/edit-option-switch/index.cjs +1 -1
- package/components/edit-option-switch/index.js +1 -1
- package/components/edit-option-text-field/index.cjs +2 -2
- package/components/edit-option-text-field/index.js +23 -22
- package/components/en-BKBhKBXY.cjs +20 -0
- package/components/en-BOTjhwEc.js +1488 -0
- package/components/{en-GB-ialeqj_z.js → en-GB-CEHEs8F2.js} +1 -1
- package/components/{en-GB-TqvgIw9B.cjs → en-GB-DG6uS3sM.cjs} +1 -1
- package/components/{evolution-number-options.config-Bc9eKYnn.cjs → evolution-number-options.config-BgIZY4gQ.cjs} +1 -1
- package/components/{evolution-number-options.config-BIPO_4n3.js → evolution-number-options.config-DzkfeoIN.js} +14 -11
- package/components/{extrapolate-color-C0n1UDs-.cjs → extrapolate-color-0j_AeYkz.cjs} +1 -1
- package/components/{extrapolate-color-v1PimdQr.js → extrapolate-color-CC9CURf6.js} +1 -1
- package/components/filter-data-item-picker/index.cjs +7 -7
- package/components/filter-data-item-picker/index.js +86 -85
- package/components/filter-expression-picker/index.cjs +1 -1
- package/components/filter-expression-picker/index.js +1 -1
- package/components/filter-item/index.cjs +6 -6
- package/components/filter-item/index.js +119 -109
- package/components/filter-value-picker/index.cjs +2 -2
- package/components/filter-value-picker/index.js +36 -34
- package/components/filter-value-picker-datetime/index.cjs +8 -8
- package/components/filter-value-picker-datetime/index.js +71 -56
- package/components/filter-value-picker-hierarchy/index.cjs +12 -12
- package/components/filter-value-picker-hierarchy/index.js +124 -113
- package/components/filter-value-picker-numeric/index.cjs +8 -8
- package/components/filter-value-picker-numeric/index.js +110 -101
- package/components/focusable-B3E_hQmm.cjs +20 -0
- package/components/{focusable-BS2pbY7w.js → focusable-DCIFkpiW.js} +26 -24
- package/components/{funnel-chart-options.config-CrJy2U7_.js → funnel-chart-options.config-C_VjTOvD.js} +20 -5
- package/components/funnel-chart-options.config-D7H7gFcx.cjs +20 -0
- package/components/get-css-variable-BEYG097C.js +1446 -0
- package/components/get-css-variable-BZxY4IOa.cjs +35 -0
- package/components/get-css-variable-DLiZYZEi.cjs +24 -0
- package/components/{get-css-variable-CdwF98oh.js → get-css-variable-YlLiVgo8.js} +35 -35
- package/components/grid/index.cjs +49 -43
- package/components/grid/index.js +1878 -2610
- package/components/{heat-map-options.config-CmL87j1j.js → heat-map-options.config-BnLWe8jS.js} +41 -35
- package/components/heat-map-options.config-DVH-Bb5-.cjs +20 -0
- package/components/heat-table-options.config-B12JEYnp.cjs +20 -0
- package/components/{heat-table-options.config-BrCYAgYD.js → heat-table-options.config-CUsDdgUr.js} +88 -60
- package/components/helpers-DXQwEH1P.cjs +20 -0
- package/components/helpers-v1bPALRP.js +91 -0
- package/components/hexbin-map-options.config-DZERRhM8.cjs +20 -0
- package/components/{hexbin-map-options.config-BguV1w8q.js → hexbin-map-options.config-F-7uCqxb.js} +38 -20
- package/components/{index-BNAmjOkm.cjs → index-BPNsFiyq.cjs} +4 -4
- package/components/index-CDi4fe3N.js +1716 -0
- package/components/index-CQ9ck-BO.cjs +249 -0
- package/components/index-CXn67vdn.cjs +121 -0
- package/components/{index-haa7WNrl.js → index-CdIUfo-L.js} +481 -453
- package/components/index-Cz9vSXy6.cjs +20 -0
- package/components/{index-DdyZ2g5L.js → index-D0GBF6tg.js} +104 -94
- package/components/index-Dn0j_pcR.cjs +20 -0
- package/components/{index-CqKpf0B8.js → index-Do7O9azB.js} +123 -112
- package/components/index-E239Dotg.js +1735 -0
- package/components/index.cjs +1 -1
- package/components/index.js +20 -18
- package/components/item-options-configs.cjs +1 -1
- package/components/item-options-configs.js +37 -37
- package/components/{line-chart-options.config-BhirTGqD.js → line-chart-options.config-DB3IsXXr.js} +28 -13
- package/components/line-chart-options.config-DSugoe0t.cjs +20 -0
- package/components/{localize-CcDpq940.js → localize-BX7q0S0M.js} +10 -10
- package/components/{localize-C4zNlrwK.cjs → localize-r7ALOUy_.cjs} +1 -1
- package/components/{marker-map-options.config-Bx17jmiq.js → marker-map-options.config-DPJ955tt.js} +1 -1
- package/components/{marker-map-options.config-CvhCylSC.cjs → marker-map-options.config-_FYZzRwA.cjs} +1 -1
- package/components/pivot-table-options.config-BiJXKSFR.cjs +20 -0
- package/components/{pivot-table-options.config-CFc7y0IT.js → pivot-table-options.config-DNK_AIG7.js} +24 -15
- package/components/pyramid-chart-options.config-C4zbFS26.cjs +20 -0
- package/components/{pyramid-chart-options.config-2Waxb11l.js → pyramid-chart-options.config-CcVMatYx.js} +43 -29
- package/components/{radar-chart-options.config-CPN5fOl8.js → radar-chart-options.config-CUZn_3Fd.js} +23 -11
- package/components/radar-chart-options.config-EqQu6PTh.cjs +20 -0
- package/components/{regular-table-options.config-CFKCJQK1.js → regular-table-options.config-BoLZsBry.js} +23 -17
- package/components/{regular-table-options.config-YRuoijIk.cjs → regular-table-options.config-DTx3RTnS.cjs} +1 -1
- package/components/{route-map-options.config-CyolTJfK.js → route-map-options.config-CN86T7c0.js} +109 -87
- package/components/route-map-options.config-D7NJePTu.cjs +20 -0
- package/components/{sankey-diagram-options.config-D7OSvSqm.cjs → sankey-diagram-options.config-RFB83YLZ.cjs} +1 -1
- package/components/{sankey-diagram-options.config-Ldjk84ro.js → sankey-diagram-options.config-tVLKy_Zn.js} +10 -7
- package/components/scatter-plot-options.config-CFfGJXsV.cjs +20 -0
- package/components/{scatter-plot-options.config-CfxEfkQ1.js → scatter-plot-options.config-Corlzno1.js} +86 -56
- package/components/{search-filter-options.config-Oqco9BKj.cjs → search-filter-options.config-BCaDlYqZ.cjs} +1 -1
- package/components/{search-filter-options.config-C0syQmP4.js → search-filter-options.config-BE3JhR-F.js} +6 -3
- package/components/{set-locale-hKTMz37h.js → set-locale-Dp3N_gXN.js} +8 -1
- package/components/{slicer-filter-options.config-DmOe3440.js → slicer-filter-options.config-3JZZcw5C.js} +18 -9
- package/components/slicer-filter-options.config-DNI-XevE.cjs +20 -0
- package/components/{slider-filter-options.config-B1M8RcDs.js → slider-filter-options.config-DH4SS8wH.js} +1 -1
- package/components/{slider-filter-options.config-k45I-t6G.cjs → slider-filter-options.config-_8Z2zKmU.cjs} +1 -1
- package/components/slot-contents-picker/index.cjs +33 -33
- package/components/slot-contents-picker/index.js +205 -194
- package/components/slot-menu/index.cjs +12 -12
- package/components/slot-menu/index.js +184 -171
- package/components/slot-menu-list/index.cjs +3 -3
- package/components/slot-menu-list/index.js +103 -97
- package/components/speedometer-chart-options.config-BX9LTQBH.cjs +20 -0
- package/components/{speedometer-chart-options.config-CzOmuEF8.js → speedometer-chart-options.config-SL581yOa.js} +53 -31
- package/components/{spike-map-options.config-Cbt1YUw6.js → spike-map-options.config-C5KewecZ.js} +122 -91
- package/components/spike-map-options.config-DoBFXPmN.cjs +20 -0
- package/components/{sunburst-chart-options.config-Yrxc2i57.cjs → sunburst-chart-options.config-AbNjWS6t.cjs} +1 -1
- package/components/{sunburst-chart-options.config-_dyLQxPJ.js → sunburst-chart-options.config-CNauGQJv.js} +20 -9
- package/components/{symbol-map-options.config-BORL1NSU.js → symbol-map-options.config-DdDA4aa7.js} +20 -11
- package/components/symbol-map-options.config-m-lwLTtu.cjs +20 -0
- package/components/treemap-chart-options.config-C0Q9aQ1Z.cjs +20 -0
- package/components/{treemap-chart-options.config-B9i9qIm_.js → treemap-chart-options.config-D5AJaF_u.js} +37 -20
- package/components/utils.cjs +1 -1
- package/components/utils.js +97 -94
- package/components/{video-options.config-B0asgYt8.cjs → video-options.config-CGsDTwHc.cjs} +1 -1
- package/components/{video-options.config-UX-9MDfS.js → video-options.config-Dk36zJ1B.js} +10 -7
- package/components/widget-menu/index.cjs +51 -0
- package/components/widget-menu/index.d.ts +8 -0
- package/components/widget-menu/index.js +211 -0
- package/components/widget-menu/widget-menu.d.ts +77 -0
- package/components/{wordcloud-chart-options.config-BKtJT8Va.cjs → wordcloud-chart-options.config-vGfCW8kE.cjs} +1 -1
- package/components/{wordcloud-chart-options.config-BoB_KuhA.js → wordcloud-chart-options.config-w2NUIWVA.js} +7 -4
- package/custom-elements.json +133 -20
- package/index.d.ts +1 -0
- package/package.json +6 -1
- package/types.d.ts +4 -0
- package/components/area-chart-options.config-Bl8bhhOo.cjs +0 -20
- package/components/bar-chart-options.config-CePAqM83.cjs +0 -20
- package/components/box-plot-options.config-BVNrV2eD.cjs +0 -20
- package/components/bubble-chart-options.config-BDgOe3GQ.cjs +0 -20
- package/components/calculate-data-item-icon-DMDhKq_m.js +0 -147
- package/components/calculate-data-item-icon-DtVGbet3.cjs +0 -20
- package/components/choropleth-map-options.config-CWJACFd0.cjs +0 -20
- package/components/circular-gauge-options.config-BMxgq3zH.cjs +0 -20
- package/components/color-Czp4Im5q.cjs +0 -20
- package/components/color-range-utils-DYYR-iwx.cjs +0 -20
- package/components/column-chart-options.config-BV9R3ssH.cjs +0 -20
- package/components/conditional-number-options.config-Co099Qfm.cjs +0 -20
- package/components/donut-chart-options.config-BQyPgnC9.cjs +0 -20
- package/components/en-D3ihEGXg.js +0 -1483
- package/components/en-DZcn_iz_.cjs +0 -20
- package/components/focusable-QLh-LlNt.cjs +0 -20
- package/components/funnel-chart-options.config-DrP4AFgk.cjs +0 -20
- package/components/get-css-variable-COd1d84B.cjs +0 -24
- package/components/heat-map-options.config-CIHnPdYE.cjs +0 -20
- package/components/heat-table-options.config-DTlZRc_i.cjs +0 -20
- package/components/helpers-9I0oLoUB.cjs +0 -20
- package/components/helpers-bR8Ibjqh.js +0 -79
- package/components/hexbin-map-options.config-CKnn3VAB.cjs +0 -20
- package/components/index-BekTY3Em.cjs +0 -121
- package/components/index-CFL6gmIu.cjs +0 -20
- package/components/index-DNPULp4A.js +0 -1755
- package/components/index-DvkzMbLt.cjs +0 -249
- package/components/line-chart-options.config-Cqwou5u6.cjs +0 -20
- package/components/pivot-table-options.config-uZDAertf.cjs +0 -20
- package/components/pyramid-chart-options.config-DoGfEvzU.cjs +0 -20
- package/components/radar-chart-options.config-CtNUMN1l.cjs +0 -20
- package/components/route-map-options.config-CVTk5RVL.cjs +0 -20
- package/components/scatter-plot-options.config-5gN7pMTm.cjs +0 -20
- package/components/slicer-filter-options.config-CrusP6a0.cjs +0 -20
- package/components/speedometer-chart-options.config-B4ceg_qI.cjs +0 -20
- package/components/spike-map-options.config-BkkDqb4g.cjs +0 -20
- package/components/symbol-map-options.config-NpBKm64d.cjs +0 -20
- package/components/treemap-chart-options.config-x4J54WSw.cjs +0 -20
|
@@ -17,38 +17,41 @@
|
|
|
17
17
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
18
18
|
* SOFTWARE.
|
|
19
19
|
* */
|
|
20
|
-
|
|
20
|
+
var tr = Object.defineProperty;
|
|
21
|
+
var rr = (t, e, r) => e in t ? tr(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
|
|
22
|
+
var ve = (t, e, r) => rr(t, typeof e != "symbol" ? e + "" : e, r);
|
|
23
|
+
function L(t, e) {
|
|
21
24
|
let r = t.length;
|
|
22
|
-
Array.isArray(t[0]) || (t = [t]), Array.isArray(e[0]) || (e = e.map((
|
|
23
|
-
let n = e[0].length, a = e[0].map((
|
|
25
|
+
Array.isArray(t[0]) || (t = [t]), Array.isArray(e[0]) || (e = e.map((i) => [i]));
|
|
26
|
+
let n = e[0].length, a = e[0].map((i, o) => e.map((l) => l[o])), s = t.map((i) => a.map((o) => {
|
|
24
27
|
let l = 0;
|
|
25
|
-
if (!Array.isArray(
|
|
26
|
-
for (let
|
|
27
|
-
l +=
|
|
28
|
+
if (!Array.isArray(i)) {
|
|
29
|
+
for (let c of o)
|
|
30
|
+
l += i * c;
|
|
28
31
|
return l;
|
|
29
32
|
}
|
|
30
|
-
for (let
|
|
31
|
-
l +=
|
|
33
|
+
for (let c = 0; c < i.length; c++)
|
|
34
|
+
l += i[c] * (o[c] || 0);
|
|
32
35
|
return l;
|
|
33
36
|
}));
|
|
34
|
-
return r === 1 && (s = s[0]), n === 1 ? s.map((
|
|
37
|
+
return r === 1 && (s = s[0]), n === 1 ? s.map((i) => i[0]) : s;
|
|
35
38
|
}
|
|
36
|
-
function
|
|
37
|
-
return
|
|
39
|
+
function ue(t) {
|
|
40
|
+
return D(t) === "string";
|
|
38
41
|
}
|
|
39
|
-
function
|
|
42
|
+
function D(t) {
|
|
40
43
|
return (Object.prototype.toString.call(t).match(/^\[object\s+(.*?)\]$/)[1] || "").toLowerCase();
|
|
41
44
|
}
|
|
42
|
-
function
|
|
43
|
-
return
|
|
45
|
+
function Re(t, { precision: e, unit: r }) {
|
|
46
|
+
return X(t) ? "none" : d0(t, e) + (r ?? "");
|
|
44
47
|
}
|
|
45
|
-
function
|
|
46
|
-
return Number.isNaN(t) || t instanceof Number && t
|
|
48
|
+
function X(t) {
|
|
49
|
+
return Number.isNaN(t) || t instanceof Number && (t == null ? void 0 : t.none);
|
|
47
50
|
}
|
|
48
|
-
function
|
|
49
|
-
return
|
|
51
|
+
function R(t) {
|
|
52
|
+
return X(t) ? 0 : t;
|
|
50
53
|
}
|
|
51
|
-
function
|
|
54
|
+
function d0(t, e) {
|
|
52
55
|
if (t === 0)
|
|
53
56
|
return 0;
|
|
54
57
|
let r = ~~t, n = 0;
|
|
@@ -56,50 +59,50 @@ function lr(t, e) {
|
|
|
56
59
|
const a = 10 ** (e - n);
|
|
57
60
|
return Math.floor(t * a + 0.5) / a;
|
|
58
61
|
}
|
|
59
|
-
const
|
|
62
|
+
const nr = {
|
|
60
63
|
deg: 1,
|
|
61
64
|
grad: 0.9,
|
|
62
65
|
rad: 180 / Math.PI,
|
|
63
66
|
turn: 360
|
|
64
67
|
};
|
|
65
|
-
function
|
|
68
|
+
function m0(t) {
|
|
66
69
|
if (!t)
|
|
67
70
|
return;
|
|
68
71
|
t = t.trim();
|
|
69
72
|
const e = /^([a-z]+)\((.+?)\)$/i, r = /^-?[\d.]+$/, n = /%|deg|g?rad|turn$/, a = /\/?\s*(none|[-\w.]+(?:%|deg|g?rad|turn)?)/g;
|
|
70
73
|
let s = t.match(e);
|
|
71
74
|
if (s) {
|
|
72
|
-
let
|
|
73
|
-
return s[2].replace(a, (
|
|
74
|
-
let
|
|
75
|
-
if (
|
|
76
|
-
let
|
|
77
|
-
|
|
75
|
+
let i = [];
|
|
76
|
+
return s[2].replace(a, (o, l) => {
|
|
77
|
+
let c = l.match(n), u = l;
|
|
78
|
+
if (c) {
|
|
79
|
+
let f = c[0], h = u.slice(0, -f.length);
|
|
80
|
+
f === "%" ? (u = new Number(h / 100), u.type = "<percentage>") : (u = new Number(h * nr[f]), u.type = "<angle>", u.unit = f);
|
|
78
81
|
} else r.test(u) ? (u = new Number(u), u.type = "<number>") : u === "none" && (u = new Number(NaN), u.none = !0);
|
|
79
|
-
|
|
82
|
+
o.startsWith("/") && (u = u instanceof Number ? u : new Number(u), u.alpha = !0), typeof u == "object" && u instanceof Number && (u.raw = l), i.push(u);
|
|
80
83
|
}), {
|
|
81
84
|
name: s[1].toLowerCase(),
|
|
82
85
|
rawName: s[1],
|
|
83
86
|
rawArgs: s[2],
|
|
84
87
|
// An argument could be (as of css-color-4):
|
|
85
88
|
// a number, percentage, degrees (hue), ident (in color())
|
|
86
|
-
args:
|
|
89
|
+
args: i
|
|
87
90
|
};
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
|
-
function
|
|
93
|
+
function g0(t) {
|
|
91
94
|
return t[t.length - 1];
|
|
92
95
|
}
|
|
93
96
|
function oe(t, e, r) {
|
|
94
97
|
return isNaN(t) ? e : isNaN(e) ? t : t + (e - t) * r;
|
|
95
98
|
}
|
|
96
|
-
function
|
|
99
|
+
function p0(t, e, r) {
|
|
97
100
|
return (r - t) / (e - t);
|
|
98
101
|
}
|
|
99
|
-
function
|
|
100
|
-
return oe(e[0], e[1],
|
|
102
|
+
function Ve(t, e, r) {
|
|
103
|
+
return oe(e[0], e[1], p0(t[0], t[1], r));
|
|
101
104
|
}
|
|
102
|
-
function
|
|
105
|
+
function b0(t) {
|
|
103
106
|
return t.map((e) => e.split("|").map((r) => {
|
|
104
107
|
r = r.trim();
|
|
105
108
|
let n = r.match(/^(<[a-z]+>)\[(-?[.\d]+),\s*(-?[.\d]+)\]?$/);
|
|
@@ -110,47 +113,47 @@ function hr(t) {
|
|
|
110
113
|
return r;
|
|
111
114
|
}));
|
|
112
115
|
}
|
|
113
|
-
function
|
|
116
|
+
function M0(t, e, r) {
|
|
114
117
|
return Math.max(Math.min(r, e), t);
|
|
115
118
|
}
|
|
116
|
-
function
|
|
119
|
+
function Ie(t, e) {
|
|
117
120
|
return Math.sign(t) === Math.sign(e) ? t : -t;
|
|
118
121
|
}
|
|
119
|
-
function
|
|
120
|
-
return
|
|
122
|
+
function k(t, e) {
|
|
123
|
+
return Ie(Math.abs(t) ** e, t);
|
|
121
124
|
}
|
|
122
|
-
function
|
|
125
|
+
function et(t, e) {
|
|
123
126
|
return e === 0 ? 0 : t / e;
|
|
124
127
|
}
|
|
125
|
-
function
|
|
128
|
+
function w0(t, e, r = 0, n = t.length) {
|
|
126
129
|
for (; r < n; ) {
|
|
127
130
|
const a = r + n >> 1;
|
|
128
131
|
t[a] < e ? r = a + 1 : n = a;
|
|
129
132
|
}
|
|
130
133
|
return r;
|
|
131
134
|
}
|
|
132
|
-
var
|
|
135
|
+
var ar = /* @__PURE__ */ Object.freeze({
|
|
133
136
|
__proto__: null,
|
|
134
|
-
bisectLeft:
|
|
135
|
-
clamp:
|
|
136
|
-
copySign:
|
|
137
|
+
bisectLeft: w0,
|
|
138
|
+
clamp: M0,
|
|
139
|
+
copySign: Ie,
|
|
137
140
|
interpolate: oe,
|
|
138
|
-
interpolateInv:
|
|
139
|
-
isNone:
|
|
140
|
-
isString:
|
|
141
|
-
last:
|
|
142
|
-
mapRange:
|
|
143
|
-
multiplyMatrices:
|
|
144
|
-
parseCoordGrammar:
|
|
145
|
-
parseFunction:
|
|
146
|
-
serializeNumber:
|
|
147
|
-
skipNone:
|
|
148
|
-
spow:
|
|
149
|
-
toPrecision:
|
|
150
|
-
type:
|
|
151
|
-
zdiv:
|
|
141
|
+
interpolateInv: p0,
|
|
142
|
+
isNone: X,
|
|
143
|
+
isString: ue,
|
|
144
|
+
last: g0,
|
|
145
|
+
mapRange: Ve,
|
|
146
|
+
multiplyMatrices: L,
|
|
147
|
+
parseCoordGrammar: b0,
|
|
148
|
+
parseFunction: m0,
|
|
149
|
+
serializeNumber: Re,
|
|
150
|
+
skipNone: R,
|
|
151
|
+
spow: k,
|
|
152
|
+
toPrecision: d0,
|
|
153
|
+
type: D,
|
|
154
|
+
zdiv: et
|
|
152
155
|
});
|
|
153
|
-
class
|
|
156
|
+
class sr {
|
|
154
157
|
add(e, r, n) {
|
|
155
158
|
if (typeof arguments[0] != "string") {
|
|
156
159
|
for (var e in arguments[0])
|
|
@@ -167,15 +170,16 @@ class Kr {
|
|
|
167
170
|
});
|
|
168
171
|
}
|
|
169
172
|
}
|
|
170
|
-
const j = new
|
|
171
|
-
var
|
|
173
|
+
const j = new sr();
|
|
174
|
+
var u0, f0, h0, v = {
|
|
172
175
|
gamut_mapping: "css",
|
|
173
176
|
precision: 5,
|
|
174
177
|
deltaE: "76",
|
|
175
178
|
// Default deltaE method
|
|
176
|
-
verbose: globalThis
|
|
179
|
+
verbose: ((h0 = (f0 = (u0 = globalThis == null ? void 0 : globalThis.process) == null ? void 0 : u0.env) == null ? void 0 : f0.NODE_ENV) == null ? void 0 : h0.toLowerCase()) !== "test",
|
|
177
180
|
warn: function(e) {
|
|
178
|
-
|
|
181
|
+
var r, n;
|
|
182
|
+
this.verbose && ((n = (r = globalThis == null ? void 0 : globalThis.console) == null ? void 0 : r.warn) == null || n.call(r, e));
|
|
179
183
|
}
|
|
180
184
|
};
|
|
181
185
|
const B = {
|
|
@@ -183,11 +187,11 @@ const B = {
|
|
|
183
187
|
D50: [0.3457 / 0.3585, 1, (1 - 0.3457 - 0.3585) / 0.3585],
|
|
184
188
|
D65: [0.3127 / 0.329, 1, (1 - 0.3127 - 0.329) / 0.329]
|
|
185
189
|
};
|
|
186
|
-
function
|
|
190
|
+
function Ze(t) {
|
|
187
191
|
return Array.isArray(t) ? t : B[t];
|
|
188
192
|
}
|
|
189
|
-
function
|
|
190
|
-
if (t =
|
|
193
|
+
function xe(t, e, r, n = {}) {
|
|
194
|
+
if (t = Ze(t), e = Ze(e), !t || !e)
|
|
191
195
|
throw new TypeError(`Missing white point to convert ${t ? "" : "from"}${!t && !e ? "/" : ""}${e ? "" : "to"}`);
|
|
192
196
|
if (t === e)
|
|
193
197
|
return r;
|
|
@@ -201,115 +205,116 @@ function Re(t, e, r, n = {}) {
|
|
|
201
205
|
[-0.0283697093338637, 1.0099953980813041, 0.021041441191917323],
|
|
202
206
|
[0.012314014864481998, -0.020507649298898964, 1.330365926242124]
|
|
203
207
|
])), j.run("chromatic-adaptation-end", a), a.M)
|
|
204
|
-
return
|
|
208
|
+
return L(a.M, a.XYZ);
|
|
205
209
|
throw new TypeError("Only Bradford CAT with white points D50 and D65 supported for now.");
|
|
206
210
|
}
|
|
207
|
-
const
|
|
208
|
-
function
|
|
209
|
-
return Object.entries(t.coords).map(([s,
|
|
210
|
-
let l = e.coordGrammar[
|
|
211
|
-
if (
|
|
212
|
-
let
|
|
213
|
-
throw new TypeError(`${u ??
|
|
211
|
+
const ir = /* @__PURE__ */ new Set(["<number>", "<percentage>", "<angle>"]);
|
|
212
|
+
function dt(t, e, r, n) {
|
|
213
|
+
return Object.entries(t.coords).map(([s, i], o) => {
|
|
214
|
+
let l = e.coordGrammar[o], c = n[o], u = c == null ? void 0 : c.type, f;
|
|
215
|
+
if (c.none ? f = l.find((d) => ir.has(d)) : f = l.find((d) => d == u), !f) {
|
|
216
|
+
let d = i.name || s;
|
|
217
|
+
throw new TypeError(`${u ?? c.raw} not allowed for ${d} in ${r}()`);
|
|
214
218
|
}
|
|
215
|
-
let h =
|
|
216
|
-
u === "<percentage>" && (h
|
|
217
|
-
let p =
|
|
218
|
-
return h && p && (n[
|
|
219
|
+
let h = f.range;
|
|
220
|
+
u === "<percentage>" && (h || (h = [0, 1]));
|
|
221
|
+
let p = i.range || i.refRange;
|
|
222
|
+
return h && p && (n[o] = Ve(h, p, n[o])), f;
|
|
219
223
|
});
|
|
220
224
|
}
|
|
221
|
-
function
|
|
222
|
-
|
|
225
|
+
function y0(t, { meta: e } = {}) {
|
|
226
|
+
var n, a, s, i;
|
|
227
|
+
let r = { str: (n = String(t)) == null ? void 0 : n.trim() };
|
|
223
228
|
if (j.run("parse-start", r), r.color)
|
|
224
229
|
return r.color;
|
|
225
|
-
if (r.parsed =
|
|
226
|
-
let
|
|
227
|
-
if (
|
|
228
|
-
let
|
|
229
|
-
for (let
|
|
230
|
-
let
|
|
231
|
-
if (
|
|
232
|
-
const
|
|
233
|
-
let
|
|
234
|
-
return
|
|
230
|
+
if (r.parsed = m0(r.str), r.parsed) {
|
|
231
|
+
let o = r.parsed.name;
|
|
232
|
+
if (o === "color") {
|
|
233
|
+
let l = r.parsed.args.shift(), c = l.startsWith("--") ? l.substring(2) : `--${l}`, u = [l, c], f = r.parsed.rawArgs.indexOf("/") > 0 ? r.parsed.args.pop() : 1;
|
|
234
|
+
for (let d of m.all) {
|
|
235
|
+
let g = d.getFormat("color");
|
|
236
|
+
if (g && (u.includes(g.id) || (a = g.ids) != null && a.filter((M) => u.includes(M)).length)) {
|
|
237
|
+
const M = Object.keys(d.coords).map((S, y) => r.parsed.args[y] || 0);
|
|
238
|
+
let _;
|
|
239
|
+
return g.coordGrammar && (_ = dt(d, g, "color", M)), e && Object.assign(e, { formatId: "color", types: _ }), g.id.startsWith("--") && !l.startsWith("--") && v.warn(`${d.name} is a non-standard space and not currently supported in the CSS spec. Use prefixed color(${g.id}) instead of color(${l}).`), l.startsWith("--") && !g.id.startsWith("--") && v.warn(`${d.name} is a standard space and supported in the CSS spec. Use color(${g.id}) instead of prefixed color(${l}).`), { spaceId: d.id, coords: M, alpha: f };
|
|
235
240
|
}
|
|
236
241
|
}
|
|
237
|
-
let
|
|
238
|
-
if (
|
|
239
|
-
let
|
|
240
|
-
|
|
242
|
+
let h = "", p = l in m.registry ? l : c;
|
|
243
|
+
if (p in m.registry) {
|
|
244
|
+
let d = (i = (s = m.registry[p].formats) == null ? void 0 : s.color) == null ? void 0 : i.id;
|
|
245
|
+
d && (h = `Did you mean color(${d})?`);
|
|
241
246
|
}
|
|
242
|
-
throw new TypeError(`Cannot parse color(${
|
|
247
|
+
throw new TypeError(`Cannot parse color(${l}). ` + (h || "Missing a plugin?"));
|
|
243
248
|
} else
|
|
244
|
-
for (let
|
|
245
|
-
let
|
|
246
|
-
if (
|
|
247
|
-
let
|
|
248
|
-
(
|
|
249
|
-
let
|
|
250
|
-
return
|
|
251
|
-
spaceId:
|
|
252
|
-
coords:
|
|
253
|
-
alpha:
|
|
249
|
+
for (let l of m.all) {
|
|
250
|
+
let c = l.getFormat(o);
|
|
251
|
+
if (c && c.type === "function") {
|
|
252
|
+
let u = 1;
|
|
253
|
+
(c.lastAlpha || g0(r.parsed.args).alpha) && (u = r.parsed.args.pop());
|
|
254
|
+
let f = r.parsed.args, h;
|
|
255
|
+
return c.coordGrammar && (h = dt(l, c, o, f)), e && Object.assign(e, { formatId: c.name, types: h }), {
|
|
256
|
+
spaceId: l.id,
|
|
257
|
+
coords: f,
|
|
258
|
+
alpha: u
|
|
254
259
|
};
|
|
255
260
|
}
|
|
256
261
|
}
|
|
257
262
|
} else
|
|
258
|
-
for (let
|
|
259
|
-
for (let
|
|
260
|
-
let
|
|
261
|
-
if (
|
|
263
|
+
for (let o of m.all)
|
|
264
|
+
for (let l in o.formats) {
|
|
265
|
+
let c = o.formats[l];
|
|
266
|
+
if (c.type !== "custom" || c.test && !c.test(r.str))
|
|
262
267
|
continue;
|
|
263
|
-
let
|
|
264
|
-
if (
|
|
265
|
-
return
|
|
268
|
+
let u = c.parse(r.str);
|
|
269
|
+
if (u)
|
|
270
|
+
return u.alpha ?? (u.alpha = 1), e && (e.formatId = l), u;
|
|
266
271
|
}
|
|
267
272
|
throw new TypeError(`Could not parse ${t} as a color. Missing a plugin?`);
|
|
268
273
|
}
|
|
269
|
-
function
|
|
274
|
+
function b(t) {
|
|
270
275
|
if (Array.isArray(t))
|
|
271
|
-
return t.map(
|
|
276
|
+
return t.map(b);
|
|
272
277
|
if (!t)
|
|
273
278
|
throw new TypeError("Empty color reference");
|
|
274
|
-
|
|
279
|
+
ue(t) && (t = y0(t));
|
|
275
280
|
let e = t.space || t.spaceId;
|
|
276
|
-
return e instanceof
|
|
281
|
+
return e instanceof m || (t.space = m.get(e)), t.alpha === void 0 && (t.alpha = 1), t;
|
|
277
282
|
}
|
|
278
|
-
const
|
|
279
|
-
class d {
|
|
283
|
+
const or = 75e-6, I = class I {
|
|
280
284
|
constructor(e) {
|
|
281
|
-
|
|
285
|
+
var a;
|
|
286
|
+
this.id = e.id, this.name = e.name, this.base = e.base ? I.get(e.base) : null, this.aliases = e.aliases, this.base && (this.fromBase = e.fromBase, this.toBase = e.toBase);
|
|
282
287
|
let r = e.coords ?? this.base.coords;
|
|
283
|
-
for (let
|
|
284
|
-
"name" in r[
|
|
288
|
+
for (let s in r)
|
|
289
|
+
"name" in r[s] || (r[s].name = s);
|
|
285
290
|
this.coords = r;
|
|
286
291
|
let n = e.white ?? this.base.white ?? "D65";
|
|
287
|
-
this.white =
|
|
288
|
-
for (let
|
|
289
|
-
let
|
|
290
|
-
|
|
292
|
+
this.white = Ze(n), this.formats = e.formats ?? {};
|
|
293
|
+
for (let s in this.formats) {
|
|
294
|
+
let i = this.formats[s];
|
|
295
|
+
i.type || (i.type = "function"), i.name || (i.name = s);
|
|
291
296
|
}
|
|
292
|
-
this.formats.color
|
|
297
|
+
(a = this.formats.color) != null && a.id || (this.formats.color = {
|
|
293
298
|
...this.formats.color ?? {},
|
|
294
299
|
id: e.cssId || this.id
|
|
295
|
-
}), e.gamutSpace ? this.gamutSpace = e.gamutSpace === "self" ? this :
|
|
296
|
-
value:
|
|
300
|
+
}), e.gamutSpace ? this.gamutSpace = e.gamutSpace === "self" ? this : I.get(e.gamutSpace) : this.isPolar ? this.gamutSpace = this.base : this.gamutSpace = this, this.gamutSpace.isUnbounded && (this.inGamut = (s, i) => !0), this.referred = e.referred, Object.defineProperty(this, "path", {
|
|
301
|
+
value: lr(this).reverse(),
|
|
297
302
|
writable: !1,
|
|
298
303
|
enumerable: !0,
|
|
299
304
|
configurable: !0
|
|
300
305
|
}), j.run("colorspace-init-end", this);
|
|
301
306
|
}
|
|
302
|
-
inGamut(e, { epsilon: r =
|
|
307
|
+
inGamut(e, { epsilon: r = or } = {}) {
|
|
303
308
|
if (!this.equals(this.gamutSpace))
|
|
304
309
|
return e = this.to(this.gamutSpace, e), this.gamutSpace.inGamut(e, { epsilon: r });
|
|
305
310
|
let n = Object.values(this.coords);
|
|
306
311
|
return e.every((a, s) => {
|
|
307
|
-
let
|
|
308
|
-
if (
|
|
312
|
+
let i = n[s];
|
|
313
|
+
if (i.type !== "angle" && i.range) {
|
|
309
314
|
if (Number.isNaN(a))
|
|
310
315
|
return !0;
|
|
311
|
-
let [
|
|
312
|
-
return (
|
|
316
|
+
let [o, l] = i.range;
|
|
317
|
+
return (o === void 0 || a >= o - r) && (l === void 0 || a <= l + r);
|
|
313
318
|
}
|
|
314
319
|
return !0;
|
|
315
320
|
});
|
|
@@ -318,7 +323,8 @@ class d {
|
|
|
318
323
|
return Object.values(this.coords).every((e) => !("range" in e));
|
|
319
324
|
}
|
|
320
325
|
get cssId() {
|
|
321
|
-
|
|
326
|
+
var e, r;
|
|
327
|
+
return ((r = (e = this.formats) == null ? void 0 : e.color) == null ? void 0 : r.id) || this.id;
|
|
322
328
|
}
|
|
323
329
|
get isPolar() {
|
|
324
330
|
for (let e in this.coords)
|
|
@@ -328,9 +334,9 @@ class d {
|
|
|
328
334
|
}
|
|
329
335
|
getFormat(e) {
|
|
330
336
|
if (typeof e == "object")
|
|
331
|
-
return e =
|
|
337
|
+
return e = mt(e, this), e;
|
|
332
338
|
let r;
|
|
333
|
-
return e === "default" ? r = Object.values(this.formats)[0] : r = this.formats[e], r ? (r =
|
|
339
|
+
return e === "default" ? r = Object.values(this.formats)[0] : r = this.formats[e], r ? (r = mt(r, this), r) : null;
|
|
334
340
|
}
|
|
335
341
|
/**
|
|
336
342
|
* Check if this color space is the same as another color space reference.
|
|
@@ -343,29 +349,29 @@ class d {
|
|
|
343
349
|
}
|
|
344
350
|
to(e, r) {
|
|
345
351
|
if (arguments.length === 1) {
|
|
346
|
-
const
|
|
347
|
-
[e, r] = [
|
|
352
|
+
const o = b(e);
|
|
353
|
+
[e, r] = [o.space, o.coords];
|
|
348
354
|
}
|
|
349
|
-
if (e =
|
|
355
|
+
if (e = I.get(e), this.equals(e))
|
|
350
356
|
return r;
|
|
351
|
-
r = r.map((
|
|
352
|
-
let n = this.path, a = e.path, s,
|
|
353
|
-
for (let
|
|
354
|
-
s = n[
|
|
357
|
+
r = r.map((o) => Number.isNaN(o) ? 0 : o);
|
|
358
|
+
let n = this.path, a = e.path, s, i;
|
|
359
|
+
for (let o = 0; o < n.length && n[o].equals(a[o]); o++)
|
|
360
|
+
s = n[o], i = o;
|
|
355
361
|
if (!s)
|
|
356
362
|
throw new Error(`Cannot convert between color spaces ${this} and ${e}: no connection space was found`);
|
|
357
|
-
for (let
|
|
358
|
-
r = n[
|
|
359
|
-
for (let
|
|
360
|
-
r = a[
|
|
363
|
+
for (let o = n.length - 1; o > i; o--)
|
|
364
|
+
r = n[o].toBase(r);
|
|
365
|
+
for (let o = i + 1; o < a.length; o++)
|
|
366
|
+
r = a[o].fromBase(r);
|
|
361
367
|
return r;
|
|
362
368
|
}
|
|
363
369
|
from(e, r) {
|
|
364
370
|
if (arguments.length === 1) {
|
|
365
|
-
const n =
|
|
371
|
+
const n = b(e);
|
|
366
372
|
[e, r] = [n.space, n.coords];
|
|
367
373
|
}
|
|
368
|
-
return e =
|
|
374
|
+
return e = I.get(e), e.to(this, r);
|
|
369
375
|
}
|
|
370
376
|
toString() {
|
|
371
377
|
return `${this.name} (${this.id})`;
|
|
@@ -374,14 +380,13 @@ class d {
|
|
|
374
380
|
let e = [];
|
|
375
381
|
for (let r in this.coords) {
|
|
376
382
|
let n = this.coords[r], a = n.range || n.refRange;
|
|
377
|
-
e.push(a
|
|
383
|
+
e.push((a == null ? void 0 : a.min) ?? 0);
|
|
378
384
|
}
|
|
379
385
|
return e;
|
|
380
386
|
}
|
|
381
|
-
static registry = {};
|
|
382
387
|
// Returns array of unique color spaces
|
|
383
388
|
static get all() {
|
|
384
|
-
return [...new Set(Object.values(
|
|
389
|
+
return [...new Set(Object.values(I.registry))];
|
|
385
390
|
}
|
|
386
391
|
static register(e, r) {
|
|
387
392
|
if (arguments.length === 1 && (r = arguments[0], e = r.id), r = this.get(r), this.registry[e] && this.registry[e] !== r)
|
|
@@ -396,16 +401,16 @@ class d {
|
|
|
396
401
|
* @param {ColorSpace | string} name
|
|
397
402
|
*/
|
|
398
403
|
static get(e, ...r) {
|
|
399
|
-
if (!e || e instanceof
|
|
404
|
+
if (!e || e instanceof I)
|
|
400
405
|
return e;
|
|
401
|
-
if (
|
|
402
|
-
let a =
|
|
406
|
+
if (D(e) === "string") {
|
|
407
|
+
let a = I.registry[e.toLowerCase()];
|
|
403
408
|
if (!a)
|
|
404
409
|
throw new TypeError(`No color space found with id = "${e}"`);
|
|
405
410
|
return a;
|
|
406
411
|
}
|
|
407
412
|
if (r.length)
|
|
408
|
-
return
|
|
413
|
+
return I.get(...r);
|
|
409
414
|
throw new TypeError(`${e} is not a valid color space`);
|
|
410
415
|
}
|
|
411
416
|
/**
|
|
@@ -417,50 +422,52 @@ class d {
|
|
|
417
422
|
* @return {Object}
|
|
418
423
|
*/
|
|
419
424
|
static resolveCoord(e, r) {
|
|
420
|
-
|
|
421
|
-
|
|
425
|
+
var l;
|
|
426
|
+
let n = D(e), a, s;
|
|
427
|
+
if (n === "string" ? e.includes(".") ? [a, s] = e.split(".") : [a, s] = [, e] : Array.isArray(e) ? [a, s] = e : (a = e.space, s = e.coordId), a = I.get(a), a || (a = r), !a)
|
|
422
428
|
throw new TypeError(`Cannot resolve coordinate reference ${e}: No color space specified and relative references are not allowed here`);
|
|
423
|
-
if (n =
|
|
424
|
-
let
|
|
425
|
-
if (
|
|
426
|
-
return { space: a, id:
|
|
429
|
+
if (n = D(s), n === "number" || n === "string" && s >= 0) {
|
|
430
|
+
let c = Object.entries(a.coords)[s];
|
|
431
|
+
if (c)
|
|
432
|
+
return { space: a, id: c[0], index: s, ...c[1] };
|
|
427
433
|
}
|
|
428
|
-
a =
|
|
429
|
-
let
|
|
430
|
-
for (let
|
|
431
|
-
let
|
|
432
|
-
if (
|
|
433
|
-
return { space: a, id:
|
|
434
|
-
|
|
434
|
+
a = I.get(a);
|
|
435
|
+
let i = s.toLowerCase(), o = 0;
|
|
436
|
+
for (let c in a.coords) {
|
|
437
|
+
let u = a.coords[c];
|
|
438
|
+
if (c.toLowerCase() === i || ((l = u.name) == null ? void 0 : l.toLowerCase()) === i)
|
|
439
|
+
return { space: a, id: c, index: o, ...u };
|
|
440
|
+
o++;
|
|
435
441
|
}
|
|
436
442
|
throw new TypeError(`No "${s}" coordinate found in ${a.name}. Its coordinates are: ${Object.keys(a.coords).join(", ")}`);
|
|
437
443
|
}
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
+
};
|
|
445
|
+
ve(I, "registry", {}), ve(I, "DEFAULT_FORMAT", {
|
|
446
|
+
type: "functions",
|
|
447
|
+
name: "color"
|
|
448
|
+
});
|
|
449
|
+
let m = I;
|
|
450
|
+
function lr(t) {
|
|
444
451
|
let e = [t];
|
|
445
452
|
for (let r = t; r = r.base; )
|
|
446
453
|
e.push(r);
|
|
447
454
|
return e;
|
|
448
455
|
}
|
|
449
|
-
function
|
|
456
|
+
function mt(t, { coords: e } = {}) {
|
|
450
457
|
if (t.coords && !t.coordGrammar) {
|
|
451
|
-
t.type
|
|
458
|
+
t.type || (t.type = "function"), t.name || (t.name = "color"), t.coordGrammar = b0(t.coords);
|
|
452
459
|
let r = Object.entries(e).map(([n, a], s) => {
|
|
453
|
-
let
|
|
454
|
-
return
|
|
460
|
+
let i = t.coordGrammar[s][0], o = a.range || a.refRange, l = i.range, c = "";
|
|
461
|
+
return i == "<percentage>" ? (l = [0, 100], c = "%") : i == "<angle>" && (c = "deg"), { fromRange: o, toRange: l, suffix: c };
|
|
455
462
|
});
|
|
456
|
-
t.serializeCoords = (n, a) => n.map((s,
|
|
457
|
-
let { fromRange:
|
|
458
|
-
return
|
|
463
|
+
t.serializeCoords = (n, a) => n.map((s, i) => {
|
|
464
|
+
let { fromRange: o, toRange: l, suffix: c } = r[i];
|
|
465
|
+
return o && l && (s = Ve(o, l, s)), s = Re(s, { precision: a, unit: c }), s;
|
|
459
466
|
});
|
|
460
467
|
}
|
|
461
468
|
return t;
|
|
462
469
|
}
|
|
463
|
-
var
|
|
470
|
+
var N = new m({
|
|
464
471
|
id: "xyz-d65",
|
|
465
472
|
name: "XYZ D65",
|
|
466
473
|
coords: {
|
|
@@ -476,7 +483,7 @@ var v = new d({
|
|
|
476
483
|
},
|
|
477
484
|
aliases: ["xyz"]
|
|
478
485
|
});
|
|
479
|
-
class
|
|
486
|
+
class z extends m {
|
|
480
487
|
/**
|
|
481
488
|
* Creates a new RGB ColorSpace.
|
|
482
489
|
* If coords are not specified, they will use the default RGB coords.
|
|
@@ -500,48 +507,48 @@ class N extends d {
|
|
|
500
507
|
range: [0, 1],
|
|
501
508
|
name: "Blue"
|
|
502
509
|
}
|
|
503
|
-
}), e.base || (e.base =
|
|
504
|
-
let n =
|
|
505
|
-
return this.white !== this.base.white && (n =
|
|
506
|
-
}, e.fromBase
|
|
510
|
+
}), e.base || (e.base = N), e.toXYZ_M && e.fromXYZ_M && (e.toBase ?? (e.toBase = (r) => {
|
|
511
|
+
let n = L(e.toXYZ_M, r);
|
|
512
|
+
return this.white !== this.base.white && (n = xe(this.white, this.base.white, n)), n;
|
|
513
|
+
}), e.fromBase ?? (e.fromBase = (r) => (r = xe(this.base.white, this.white, r), L(e.fromXYZ_M, r)))), e.referred ?? (e.referred = "display"), super(e);
|
|
507
514
|
}
|
|
508
515
|
}
|
|
509
|
-
function
|
|
510
|
-
return t =
|
|
516
|
+
function fe(t, e) {
|
|
517
|
+
return t = b(t), !e || t.space.equals(e) ? t.coords.slice() : (e = m.get(e), e.from(t));
|
|
511
518
|
}
|
|
512
|
-
function
|
|
513
|
-
t =
|
|
514
|
-
let { space: r, index: n } =
|
|
515
|
-
return
|
|
519
|
+
function P(t, e) {
|
|
520
|
+
t = b(t);
|
|
521
|
+
let { space: r, index: n } = m.resolveCoord(e, t.space);
|
|
522
|
+
return fe(t, r)[n];
|
|
516
523
|
}
|
|
517
|
-
function
|
|
518
|
-
return t =
|
|
524
|
+
function tt(t, e, r) {
|
|
525
|
+
return t = b(t), e = m.get(e), t.coords = e.to(t.space, r), t;
|
|
519
526
|
}
|
|
520
|
-
|
|
521
|
-
function
|
|
522
|
-
if (t =
|
|
527
|
+
tt.returns = "color";
|
|
528
|
+
function O(t, e, r) {
|
|
529
|
+
if (t = b(t), arguments.length === 2 && D(arguments[1]) === "object") {
|
|
523
530
|
let n = arguments[1];
|
|
524
531
|
for (let a in n)
|
|
525
|
-
|
|
532
|
+
O(t, a, n[a]);
|
|
526
533
|
} else {
|
|
527
|
-
typeof r == "function" && (r = r(
|
|
528
|
-
let { space: n, index: a } =
|
|
529
|
-
s[a] = r,
|
|
534
|
+
typeof r == "function" && (r = r(P(t, e)));
|
|
535
|
+
let { space: n, index: a } = m.resolveCoord(e, t.space), s = fe(t, n);
|
|
536
|
+
s[a] = r, tt(t, n, s);
|
|
530
537
|
}
|
|
531
538
|
return t;
|
|
532
539
|
}
|
|
533
|
-
|
|
534
|
-
var
|
|
540
|
+
O.returns = "color";
|
|
541
|
+
var rt = new m({
|
|
535
542
|
id: "xyz-d50",
|
|
536
543
|
name: "XYZ D50",
|
|
537
544
|
white: "D50",
|
|
538
|
-
base:
|
|
539
|
-
fromBase: (t) =>
|
|
540
|
-
toBase: (t) =>
|
|
545
|
+
base: N,
|
|
546
|
+
fromBase: (t) => xe(N.white, "D50", t),
|
|
547
|
+
toBase: (t) => xe("D50", N.white, t)
|
|
541
548
|
});
|
|
542
|
-
const
|
|
543
|
-
let
|
|
544
|
-
var
|
|
549
|
+
const cr = 216 / 24389, gt = 24 / 116, pe = 24389 / 27;
|
|
550
|
+
let Ae = B.D50;
|
|
551
|
+
var E = new m({
|
|
545
552
|
id: "lab",
|
|
546
553
|
name: "Lab",
|
|
547
554
|
coords: {
|
|
@@ -558,12 +565,12 @@ var z = new d({
|
|
|
558
565
|
},
|
|
559
566
|
// Assuming XYZ is relative to D50, convert to CIE Lab
|
|
560
567
|
// from CIE standard, which now defines these as a rational fraction
|
|
561
|
-
white:
|
|
562
|
-
base:
|
|
568
|
+
white: Ae,
|
|
569
|
+
base: rt,
|
|
563
570
|
// Convert D50-adapted XYX to Lab
|
|
564
571
|
// CIE 15.3:2004 section 8.2.1.1
|
|
565
572
|
fromBase(t) {
|
|
566
|
-
let r = t.map((n, a) => n /
|
|
573
|
+
let r = t.map((n, a) => n / Ae[a]).map((n) => n > cr ? Math.cbrt(n) : (pe * n + 16) / 116);
|
|
567
574
|
return [
|
|
568
575
|
116 * r[1] - 16,
|
|
569
576
|
// L
|
|
@@ -579,10 +586,10 @@ var z = new d({
|
|
|
579
586
|
toBase(t) {
|
|
580
587
|
let e = [];
|
|
581
588
|
return e[1] = (t[0] + 16) / 116, e[0] = t[1] / 500 + e[1], e[2] = e[1] - t[2] / 200, [
|
|
582
|
-
e[0] >
|
|
583
|
-
t[0] > 8 ? Math.pow((t[0] + 16) / 116, 3) : t[0] /
|
|
584
|
-
e[2] >
|
|
585
|
-
].map((n, a) => n *
|
|
589
|
+
e[0] > gt ? Math.pow(e[0], 3) : (116 * e[0] - 16) / pe,
|
|
590
|
+
t[0] > 8 ? Math.pow((t[0] + 16) / 116, 3) : t[0] / pe,
|
|
591
|
+
e[2] > gt ? Math.pow(e[2], 3) : (116 * e[2] - 16) / pe
|
|
592
|
+
].map((n, a) => n * Ae[a]);
|
|
586
593
|
},
|
|
587
594
|
formats: {
|
|
588
595
|
lab: {
|
|
@@ -590,16 +597,16 @@ var z = new d({
|
|
|
590
597
|
}
|
|
591
598
|
}
|
|
592
599
|
});
|
|
593
|
-
function
|
|
600
|
+
function H(t) {
|
|
594
601
|
return (t % 360 + 360) % 360;
|
|
595
602
|
}
|
|
596
|
-
function
|
|
603
|
+
function ur(t, e) {
|
|
597
604
|
if (t === "raw")
|
|
598
605
|
return e;
|
|
599
|
-
let [r, n] = e.map(
|
|
606
|
+
let [r, n] = e.map(H), a = n - r;
|
|
600
607
|
return t === "increasing" ? a < 0 && (n += 360) : t === "decreasing" ? a > 0 && (r += 360) : t === "longer" ? -180 < a && a < 180 && (a > 0 ? r += 360 : n += 360) : t === "shorter" && (a > 180 ? r += 360 : a < -180 && (n += 360)), [r, n];
|
|
601
608
|
}
|
|
602
|
-
var
|
|
609
|
+
var le = new m({
|
|
603
610
|
id: "lch",
|
|
604
611
|
name: "LCH",
|
|
605
612
|
coords: {
|
|
@@ -617,7 +624,7 @@ var ie = new d({
|
|
|
617
624
|
name: "Hue"
|
|
618
625
|
}
|
|
619
626
|
},
|
|
620
|
-
base:
|
|
627
|
+
base: E,
|
|
621
628
|
fromBase(t) {
|
|
622
629
|
let [e, r, n] = t, a;
|
|
623
630
|
const s = 0.02;
|
|
@@ -626,7 +633,7 @@ var ie = new d({
|
|
|
626
633
|
// L is still L
|
|
627
634
|
Math.sqrt(r ** 2 + n ** 2),
|
|
628
635
|
// Chroma
|
|
629
|
-
|
|
636
|
+
H(a)
|
|
630
637
|
// Hue, in degrees [0 to 360)
|
|
631
638
|
];
|
|
632
639
|
},
|
|
@@ -647,44 +654,44 @@ var ie = new d({
|
|
|
647
654
|
}
|
|
648
655
|
}
|
|
649
656
|
});
|
|
650
|
-
const
|
|
651
|
-
function
|
|
657
|
+
const pt = 25 ** 7, Ne = Math.PI, bt = 180 / Ne, F = Ne / 180;
|
|
658
|
+
function Mt(t) {
|
|
652
659
|
const e = t * t;
|
|
653
660
|
return e * e * e * t;
|
|
654
661
|
}
|
|
655
|
-
function
|
|
656
|
-
[t, e] =
|
|
657
|
-
let [s,
|
|
662
|
+
function C0(t, e, { kL: r = 1, kC: n = 1, kH: a = 1 } = {}) {
|
|
663
|
+
[t, e] = b([t, e]);
|
|
664
|
+
let [s, i, o] = E.from(t), l = le.from(E, [s, i, o])[1], [c, u, f] = E.from(e), h = le.from(E, [c, u, f])[1];
|
|
658
665
|
l < 0 && (l = 0), h < 0 && (h = 0);
|
|
659
|
-
let p = (l + h) / 2,
|
|
660
|
-
|
|
661
|
-
let
|
|
662
|
-
|
|
663
|
-
let
|
|
664
|
-
|
|
665
|
-
let
|
|
666
|
-
|
|
667
|
-
let
|
|
668
|
-
return
|
|
669
|
-
}
|
|
670
|
-
const
|
|
666
|
+
let p = (l + h) / 2, d = Mt(p), g = 0.5 * (1 - Math.sqrt(d / (d + pt))), M = (1 + g) * i, _ = (1 + g) * u, S = Math.sqrt(M ** 2 + o ** 2), y = Math.sqrt(_ ** 2 + f ** 2), $ = M === 0 && o === 0 ? 0 : Math.atan2(o, M), Y = _ === 0 && f === 0 ? 0 : Math.atan2(f, _);
|
|
667
|
+
$ < 0 && ($ += 2 * Ne), Y < 0 && (Y += 2 * Ne), $ *= bt, Y *= bt;
|
|
668
|
+
let de = c - s, me = y - S, A = Y - $, re = $ + Y, ot = Math.abs(A), ne;
|
|
669
|
+
S * y === 0 ? ne = 0 : ot <= 180 ? ne = A : A > 180 ? ne = A - 360 : A < -180 ? ne = A + 360 : v.warn("the unthinkable has happened");
|
|
670
|
+
let lt = 2 * Math.sqrt(y * S) * Math.sin(ne * F / 2), Q0 = (s + c) / 2, Ee = (S + y) / 2, ct = Mt(Ee), T;
|
|
671
|
+
S * y === 0 ? T = re : ot <= 180 ? T = re / 2 : re < 360 ? T = (re + 360) / 2 : T = (re - 360) / 2;
|
|
672
|
+
let ut = (Q0 - 50) ** 2, U0 = 1 + 0.015 * ut / Math.sqrt(20 + ut), ft = 1 + 0.045 * Ee, ae = 1;
|
|
673
|
+
ae -= 0.17 * Math.cos((T - 30) * F), ae += 0.24 * Math.cos(2 * T * F), ae += 0.32 * Math.cos((3 * T + 6) * F), ae -= 0.2 * Math.cos((4 * T - 63) * F);
|
|
674
|
+
let ht = 1 + 0.015 * Ee * ae, K0 = 30 * Math.exp(-1 * ((T - 275) / 25) ** 2), V0 = 2 * Math.sqrt(ct / (ct + pt)), er = -1 * Math.sin(2 * K0 * F) * V0, ge = (de / (r * U0)) ** 2;
|
|
675
|
+
return ge += (me / (n * ft)) ** 2, ge += (lt / (a * ht)) ** 2, ge += er * (me / (n * ft)) * (lt / (a * ht)), Math.sqrt(ge);
|
|
676
|
+
}
|
|
677
|
+
const fr = [
|
|
671
678
|
[0.819022437996703, 0.3619062600528904, -0.1288737815209879],
|
|
672
679
|
[0.0329836539323885, 0.9292868615863434, 0.0361446663506424],
|
|
673
680
|
[0.0481771893596242, 0.2642395317527308, 0.6335478284694309]
|
|
674
|
-
],
|
|
681
|
+
], hr = [
|
|
675
682
|
[1.2268798758459243, -0.5578149944602171, 0.2813910456659647],
|
|
676
683
|
[-0.0405757452148008, 1.112286803280317, -0.0717110580655164],
|
|
677
684
|
[-0.0763729366746601, -0.4214933324022432, 1.5869240198367816]
|
|
678
|
-
],
|
|
685
|
+
], dr = [
|
|
679
686
|
[0.210454268309314, 0.7936177747023054, -0.0040720430116193],
|
|
680
687
|
[1.9779985324311684, -2.42859224204858, 0.450593709617411],
|
|
681
688
|
[0.0259040424655478, 0.7827717124575296, -0.8086757549230774]
|
|
682
|
-
],
|
|
689
|
+
], mr = [
|
|
683
690
|
[1, 0.3963377773761749, 0.2158037573099136],
|
|
684
691
|
[1, -0.1055613458156586, -0.0638541728258133],
|
|
685
692
|
[1, -0.0894841775298119, -1.2914855480194092]
|
|
686
693
|
];
|
|
687
|
-
var
|
|
694
|
+
var K = new m({
|
|
688
695
|
id: "oklab",
|
|
689
696
|
name: "Oklab",
|
|
690
697
|
coords: {
|
|
@@ -701,14 +708,14 @@ var U = new d({
|
|
|
701
708
|
},
|
|
702
709
|
// Note that XYZ is relative to D65
|
|
703
710
|
white: "D65",
|
|
704
|
-
base:
|
|
711
|
+
base: N,
|
|
705
712
|
fromBase(t) {
|
|
706
|
-
let r =
|
|
707
|
-
return
|
|
713
|
+
let r = L(fr, t).map((n) => Math.cbrt(n));
|
|
714
|
+
return L(dr, r);
|
|
708
715
|
},
|
|
709
716
|
toBase(t) {
|
|
710
|
-
let r =
|
|
711
|
-
return
|
|
717
|
+
let r = L(mr, t).map((n) => n ** 3);
|
|
718
|
+
return L(hr, r);
|
|
712
719
|
},
|
|
713
720
|
formats: {
|
|
714
721
|
oklab: {
|
|
@@ -716,49 +723,49 @@ var U = new d({
|
|
|
716
723
|
}
|
|
717
724
|
}
|
|
718
725
|
});
|
|
719
|
-
function
|
|
720
|
-
[t, e] =
|
|
721
|
-
let [r, n, a] =
|
|
722
|
-
return Math.sqrt(l ** 2 +
|
|
723
|
-
}
|
|
724
|
-
const
|
|
725
|
-
function
|
|
726
|
-
t =
|
|
726
|
+
function Ge(t, e) {
|
|
727
|
+
[t, e] = b([t, e]);
|
|
728
|
+
let [r, n, a] = K.from(t), [s, i, o] = K.from(e), l = r - s, c = n - i, u = a - o;
|
|
729
|
+
return Math.sqrt(l ** 2 + c ** 2 + u ** 2);
|
|
730
|
+
}
|
|
731
|
+
const gr = 75e-6;
|
|
732
|
+
function J(t, e, { epsilon: r = gr } = {}) {
|
|
733
|
+
t = b(t), e || (e = t.space), e = m.get(e);
|
|
727
734
|
let n = t.coords;
|
|
728
735
|
return e !== t.space && (n = e.from(t)), e.inGamut(n, { epsilon: r });
|
|
729
736
|
}
|
|
730
|
-
function
|
|
737
|
+
function V(t) {
|
|
731
738
|
return {
|
|
732
739
|
space: t.space,
|
|
733
740
|
coords: t.coords.slice(),
|
|
734
741
|
alpha: t.alpha
|
|
735
742
|
};
|
|
736
743
|
}
|
|
737
|
-
function
|
|
738
|
-
r =
|
|
744
|
+
function L0(t, e, r = "lab") {
|
|
745
|
+
r = m.get(r);
|
|
739
746
|
let n = r.from(t), a = r.from(e);
|
|
740
|
-
return Math.sqrt(n.reduce((s,
|
|
741
|
-
let l = a[
|
|
742
|
-
return isNaN(
|
|
747
|
+
return Math.sqrt(n.reduce((s, i, o) => {
|
|
748
|
+
let l = a[o];
|
|
749
|
+
return isNaN(i) || isNaN(l) ? s : s + (l - i) ** 2;
|
|
743
750
|
}, 0));
|
|
744
751
|
}
|
|
745
|
-
function
|
|
746
|
-
return
|
|
747
|
-
}
|
|
748
|
-
const
|
|
749
|
-
function
|
|
750
|
-
[t, e] =
|
|
751
|
-
let [a, s,
|
|
752
|
-
|
|
753
|
-
let p = a -
|
|
754
|
-
a >= 16 && (
|
|
755
|
-
let
|
|
756
|
-
Number.isNaN(l) && (l = 0), l >= 164 && l <= 345 ?
|
|
757
|
-
let
|
|
758
|
-
return
|
|
759
|
-
}
|
|
760
|
-
const
|
|
761
|
-
var
|
|
752
|
+
function pr(t, e) {
|
|
753
|
+
return L0(t, e, "lab");
|
|
754
|
+
}
|
|
755
|
+
const br = Math.PI, wt = br / 180;
|
|
756
|
+
function Mr(t, e, { l: r = 2, c: n = 1 } = {}) {
|
|
757
|
+
[t, e] = b([t, e]);
|
|
758
|
+
let [a, s, i] = E.from(t), [, o, l] = le.from(E, [a, s, i]), [c, u, f] = E.from(e), h = le.from(E, [c, u, f])[1];
|
|
759
|
+
o < 0 && (o = 0), h < 0 && (h = 0);
|
|
760
|
+
let p = a - c, d = o - h, g = s - u, M = i - f, _ = g ** 2 + M ** 2 - d ** 2, S = 0.511;
|
|
761
|
+
a >= 16 && (S = 0.040975 * a / (1 + 0.01765 * a));
|
|
762
|
+
let y = 0.0638 * o / (1 + 0.0131 * o) + 0.638, $;
|
|
763
|
+
Number.isNaN(l) && (l = 0), l >= 164 && l <= 345 ? $ = 0.56 + Math.abs(0.2 * Math.cos((l + 168) * wt)) : $ = 0.36 + Math.abs(0.4 * Math.cos((l + 35) * wt));
|
|
764
|
+
let Y = Math.pow(o, 4), de = Math.sqrt(Y / (Y + 1900)), me = y * (de * $ + 1 - de), A = (p / (r * S)) ** 2;
|
|
765
|
+
return A += (d / (n * y)) ** 2, A += _ / me ** 2, Math.sqrt(A);
|
|
766
|
+
}
|
|
767
|
+
const yt = 203;
|
|
768
|
+
var nt = new m({
|
|
762
769
|
// Absolute CIE XYZ, with a D65 whitepoint,
|
|
763
770
|
// as used in most HDR colorspaces as a starting point.
|
|
764
771
|
// SDR spaces are converted per BT.2048
|
|
@@ -780,32 +787,32 @@ var tt = new d({
|
|
|
780
787
|
name: "Za"
|
|
781
788
|
}
|
|
782
789
|
},
|
|
783
|
-
base:
|
|
790
|
+
base: N,
|
|
784
791
|
fromBase(t) {
|
|
785
|
-
return t.map((e) => Math.max(e *
|
|
792
|
+
return t.map((e) => Math.max(e * yt, 0));
|
|
786
793
|
},
|
|
787
794
|
toBase(t) {
|
|
788
|
-
return t.map((e) => Math.max(e /
|
|
795
|
+
return t.map((e) => Math.max(e / yt, 0));
|
|
789
796
|
}
|
|
790
797
|
});
|
|
791
|
-
const
|
|
798
|
+
const be = 1.15, Me = 0.66, Ct = 2610 / 2 ** 14, wr = 2 ** 14 / 2610, Lt = 3424 / 2 ** 12, St = 2413 / 2 ** 7, _t = 2392 / 2 ** 7, yr = 1.7 * 2523 / 2 ** 5, Rt = 2 ** 5 / (1.7 * 2523), we = -0.56, ke = 16295499532821565e-27, Cr = [
|
|
792
799
|
[0.41478972, 0.579999, 0.014648],
|
|
793
800
|
[-0.20151, 1.120649, 0.0531008],
|
|
794
801
|
[-0.0166008, 0.2648, 0.6684799]
|
|
795
|
-
],
|
|
802
|
+
], Lr = [
|
|
796
803
|
[1.9242264357876067, -1.0047923125953657, 0.037651404030618],
|
|
797
804
|
[0.35031676209499907, 0.7264811939316552, -0.06538442294808501],
|
|
798
805
|
[-0.09098281098284752, -0.3127282905230739, 1.5227665613052603]
|
|
799
|
-
],
|
|
806
|
+
], Sr = [
|
|
800
807
|
[0.5, 0.5, 0],
|
|
801
808
|
[3.524, -4.066708, 0.542708],
|
|
802
809
|
[0.199076, 1.096799, -1.295875]
|
|
803
|
-
],
|
|
810
|
+
], _r = [
|
|
804
811
|
[1, 0.1386050432715393, 0.05804731615611886],
|
|
805
812
|
[0.9999999999999999, -0.1386050432715393, -0.05804731615611886],
|
|
806
813
|
[0.9999999999999998, -0.09601924202631895, -0.8118918960560388]
|
|
807
814
|
];
|
|
808
|
-
var
|
|
815
|
+
var S0 = new m({
|
|
809
816
|
id: "jzazbz",
|
|
810
817
|
name: "Jzazbz",
|
|
811
818
|
coords: {
|
|
@@ -820,20 +827,20 @@ var Mr = new d({
|
|
|
820
827
|
refRange: [-0.5, 0.5]
|
|
821
828
|
}
|
|
822
829
|
},
|
|
823
|
-
base:
|
|
830
|
+
base: nt,
|
|
824
831
|
fromBase(t) {
|
|
825
|
-
let [e, r, n] = t, a =
|
|
826
|
-
let p =
|
|
827
|
-
return (p /
|
|
828
|
-
}), [l,
|
|
829
|
-
return [(1 +
|
|
832
|
+
let [e, r, n] = t, a = be * e - (be - 1) * n, s = Me * r - (Me - 1) * e, o = L(Cr, [a, s, n]).map(function(h) {
|
|
833
|
+
let p = Lt + St * (h / 1e4) ** Ct, d = 1 + _t * (h / 1e4) ** Ct;
|
|
834
|
+
return (p / d) ** yr;
|
|
835
|
+
}), [l, c, u] = L(Sr, o);
|
|
836
|
+
return [(1 + we) * l / (1 + we * l) - ke, c, u];
|
|
830
837
|
},
|
|
831
838
|
toBase(t) {
|
|
832
|
-
let [e, r, n] = t, a = (e +
|
|
833
|
-
let p =
|
|
834
|
-
return 1e4 * (p /
|
|
835
|
-
}), [
|
|
836
|
-
return [u,
|
|
839
|
+
let [e, r, n] = t, a = (e + ke) / (1 + we - we * (e + ke)), i = L(_r, [a, r, n]).map(function(h) {
|
|
840
|
+
let p = Lt - h ** Rt, d = _t * h ** Rt - St;
|
|
841
|
+
return 1e4 * (p / d) ** wr;
|
|
842
|
+
}), [o, l, c] = L(Lr, i), u = (o + (be - 1) * c) / be, f = (l + (Me - 1) * u) / Me;
|
|
843
|
+
return [u, f, c];
|
|
837
844
|
},
|
|
838
845
|
formats: {
|
|
839
846
|
// https://drafts.csswg.org/css-color-hdr/#Jzazbz
|
|
@@ -841,7 +848,7 @@ var Mr = new d({
|
|
|
841
848
|
coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"]
|
|
842
849
|
}
|
|
843
850
|
}
|
|
844
|
-
}),
|
|
851
|
+
}), Je = new m({
|
|
845
852
|
id: "jzczhz",
|
|
846
853
|
name: "JzCzHz",
|
|
847
854
|
coords: {
|
|
@@ -859,7 +866,7 @@ var Mr = new d({
|
|
|
859
866
|
name: "Hue"
|
|
860
867
|
}
|
|
861
868
|
},
|
|
862
|
-
base:
|
|
869
|
+
base: S0,
|
|
863
870
|
fromBase(t) {
|
|
864
871
|
let [e, r, n] = t, a;
|
|
865
872
|
const s = 2e-4;
|
|
@@ -868,7 +875,7 @@ var Mr = new d({
|
|
|
868
875
|
// Jz is still Jz
|
|
869
876
|
Math.sqrt(r ** 2 + n ** 2),
|
|
870
877
|
// Chroma
|
|
871
|
-
|
|
878
|
+
H(a)
|
|
872
879
|
// Hue, in degrees [0 to 360)
|
|
873
880
|
];
|
|
874
881
|
},
|
|
@@ -883,31 +890,31 @@ var Mr = new d({
|
|
|
883
890
|
];
|
|
884
891
|
}
|
|
885
892
|
});
|
|
886
|
-
function
|
|
887
|
-
[t, e] =
|
|
888
|
-
let [r, n, a] =
|
|
889
|
-
Number.isNaN(a) && Number.isNaN(
|
|
890
|
-
let u = a -
|
|
891
|
-
return Math.sqrt(l ** 2 +
|
|
892
|
-
}
|
|
893
|
-
const
|
|
893
|
+
function Rr(t, e) {
|
|
894
|
+
[t, e] = b([t, e]);
|
|
895
|
+
let [r, n, a] = Je.from(t), [s, i, o] = Je.from(e), l = r - s, c = n - i;
|
|
896
|
+
Number.isNaN(a) && Number.isNaN(o) ? (a = 0, o = 0) : Number.isNaN(a) ? a = o : Number.isNaN(o) && (o = a);
|
|
897
|
+
let u = a - o, f = 2 * Math.sqrt(n * i) * Math.sin(u / 2 * (Math.PI / 180));
|
|
898
|
+
return Math.sqrt(l ** 2 + c ** 2 + f ** 2);
|
|
899
|
+
}
|
|
900
|
+
const _0 = 3424 / 4096, R0 = 2413 / 128, x0 = 2392 / 128, xt = 2610 / 16384, xr = 2523 / 32, Nr = 16384 / 2610, Nt = 32 / 2523, Br = [
|
|
894
901
|
[0.3592832590121217, 0.6976051147779502, -0.035891593232029],
|
|
895
902
|
[-0.1920808463704993, 1.100476797037432, 0.0753748658519118],
|
|
896
903
|
[0.0070797844607479, 0.0748396662186362, 0.8433265453898765]
|
|
897
|
-
],
|
|
904
|
+
], Ir = [
|
|
898
905
|
[2048 / 4096, 2048 / 4096, 0],
|
|
899
906
|
[6610 / 4096, -13613 / 4096, 7003 / 4096],
|
|
900
907
|
[17933 / 4096, -17390 / 4096, -543 / 4096]
|
|
901
|
-
],
|
|
908
|
+
], zr = [
|
|
902
909
|
[0.9999999999999998, 0.0086090370379328, 0.111029625003026],
|
|
903
910
|
[0.9999999999999998, -0.0086090370379328, -0.1110296250030259],
|
|
904
911
|
[0.9999999999999998, 0.5600313357106791, -0.3206271749873188]
|
|
905
|
-
],
|
|
912
|
+
], $r = [
|
|
906
913
|
[2.0701522183894223, -1.3263473389671563, 0.2066510476294053],
|
|
907
914
|
[0.3647385209748072, 0.6805660249472273, -0.0453045459220347],
|
|
908
915
|
[-0.0497472075358123, -0.0492609666966131, 1.1880659249923042]
|
|
909
916
|
];
|
|
910
|
-
var
|
|
917
|
+
var Fe = new m({
|
|
911
918
|
id: "ictcp",
|
|
912
919
|
name: "ICTCP",
|
|
913
920
|
// From BT.2100-2 page 7:
|
|
@@ -935,111 +942,111 @@ var Ge = new d({
|
|
|
935
942
|
name: "CP"
|
|
936
943
|
}
|
|
937
944
|
},
|
|
938
|
-
base:
|
|
945
|
+
base: nt,
|
|
939
946
|
fromBase(t) {
|
|
940
|
-
let e =
|
|
941
|
-
return
|
|
947
|
+
let e = L(Br, t);
|
|
948
|
+
return Pr(e);
|
|
942
949
|
},
|
|
943
950
|
toBase(t) {
|
|
944
|
-
let e =
|
|
945
|
-
return
|
|
951
|
+
let e = Er(t);
|
|
952
|
+
return L($r, e);
|
|
946
953
|
}
|
|
947
954
|
});
|
|
948
|
-
function
|
|
955
|
+
function Pr(t) {
|
|
949
956
|
let e = t.map(function(r) {
|
|
950
|
-
let n =
|
|
951
|
-
return (n / a) **
|
|
957
|
+
let n = _0 + R0 * (r / 1e4) ** xt, a = 1 + x0 * (r / 1e4) ** xt;
|
|
958
|
+
return (n / a) ** xr;
|
|
952
959
|
});
|
|
953
|
-
return
|
|
960
|
+
return L(Ir, e);
|
|
954
961
|
}
|
|
955
|
-
function
|
|
956
|
-
return
|
|
957
|
-
let a = Math.max(n **
|
|
958
|
-
return 1e4 * (a / s) **
|
|
962
|
+
function Er(t) {
|
|
963
|
+
return L(zr, t).map(function(n) {
|
|
964
|
+
let a = Math.max(n ** Nt - _0, 0), s = R0 - x0 * n ** Nt;
|
|
965
|
+
return 1e4 * (a / s) ** Nr;
|
|
959
966
|
});
|
|
960
967
|
}
|
|
961
|
-
function
|
|
962
|
-
[t, e] =
|
|
963
|
-
let [r, n, a] =
|
|
964
|
-
return 720 * Math.sqrt((r - s) ** 2 + 0.25 * (n -
|
|
968
|
+
function vr(t, e) {
|
|
969
|
+
[t, e] = b([t, e]);
|
|
970
|
+
let [r, n, a] = Fe.from(t), [s, i, o] = Fe.from(e);
|
|
971
|
+
return 720 * Math.sqrt((r - s) ** 2 + 0.25 * (n - i) ** 2 + (a - o) ** 2);
|
|
965
972
|
}
|
|
966
|
-
const
|
|
973
|
+
const Ar = B.D65, N0 = 0.42, Bt = 1 / N0, He = 2 * Math.PI, B0 = [
|
|
967
974
|
[0.401288, 0.650173, -0.051461],
|
|
968
975
|
[-0.250268, 1.204414, 0.045854],
|
|
969
976
|
[-2079e-6, 0.048952, 0.953127]
|
|
970
|
-
],
|
|
977
|
+
], kr = [
|
|
971
978
|
[1.8620678550872327, -1.0112546305316843, 0.14918677544445175],
|
|
972
979
|
[0.38752654323613717, 0.6214474419314753, -0.008973985167612518],
|
|
973
980
|
[-0.015841498849333856, -0.03412293802851557, 1.0499644368778496]
|
|
974
|
-
],
|
|
981
|
+
], Hr = [
|
|
975
982
|
[460, 451, 288],
|
|
976
983
|
[460, -891, -261],
|
|
977
984
|
[460, -220, -6300]
|
|
978
|
-
],
|
|
985
|
+
], Tr = {
|
|
979
986
|
dark: [0.8, 0.525, 0.8],
|
|
980
987
|
dim: [0.9, 0.59, 0.9],
|
|
981
988
|
average: [1, 0.69, 1]
|
|
982
|
-
},
|
|
989
|
+
}, G = {
|
|
983
990
|
// Red, Yellow, Green, Blue, Red
|
|
984
991
|
h: [20.14, 90, 164.25, 237.53, 380.14],
|
|
985
992
|
e: [0.8, 0.7, 1, 1.2, 0.8],
|
|
986
993
|
H: [0, 100, 200, 300, 400]
|
|
987
|
-
},
|
|
988
|
-
function
|
|
994
|
+
}, Or = 180 / Math.PI, It = Math.PI / 180;
|
|
995
|
+
function I0(t, e) {
|
|
989
996
|
return t.map((n) => {
|
|
990
|
-
const a =
|
|
991
|
-
return 400 *
|
|
997
|
+
const a = k(e * Math.abs(n) * 0.01, N0);
|
|
998
|
+
return 400 * Ie(a, n) / (a + 27.13);
|
|
992
999
|
});
|
|
993
1000
|
}
|
|
994
|
-
function
|
|
995
|
-
const r = 100 / e * 27.13 **
|
|
1001
|
+
function Yr(t, e) {
|
|
1002
|
+
const r = 100 / e * 27.13 ** Bt;
|
|
996
1003
|
return t.map((n) => {
|
|
997
1004
|
const a = Math.abs(n);
|
|
998
|
-
return
|
|
1005
|
+
return Ie(r * k(a / (400 - a), Bt), n);
|
|
999
1006
|
});
|
|
1000
1007
|
}
|
|
1001
|
-
function
|
|
1002
|
-
let e =
|
|
1003
|
-
e <=
|
|
1004
|
-
const r =
|
|
1005
|
-
return
|
|
1008
|
+
function Dr(t) {
|
|
1009
|
+
let e = H(t);
|
|
1010
|
+
e <= G.h[0] && (e += 360);
|
|
1011
|
+
const r = w0(G.h, e) - 1, [n, a] = G.h.slice(r, r + 2), [s, i] = G.e.slice(r, r + 2), o = G.H[r], l = (e - n) / s;
|
|
1012
|
+
return o + 100 * l / (l + (a - e) / i);
|
|
1006
1013
|
}
|
|
1007
|
-
function
|
|
1014
|
+
function Xr(t) {
|
|
1008
1015
|
let e = (t % 400 + 400) % 400;
|
|
1009
1016
|
const r = Math.floor(0.01 * e);
|
|
1010
1017
|
e = e % 100;
|
|
1011
|
-
const [n, a] =
|
|
1012
|
-
return
|
|
1013
|
-
(e * (
|
|
1018
|
+
const [n, a] = G.h.slice(r, r + 2), [s, i] = G.e.slice(r, r + 2);
|
|
1019
|
+
return H(
|
|
1020
|
+
(e * (i * n - s * a) - 100 * n * i) / (e * (i - s) - 100 * i)
|
|
1014
1021
|
);
|
|
1015
1022
|
}
|
|
1016
|
-
function
|
|
1023
|
+
function z0(t, e, r, n, a) {
|
|
1017
1024
|
const s = {};
|
|
1018
1025
|
s.discounting = a, s.refWhite = t, s.surround = n;
|
|
1019
|
-
const
|
|
1026
|
+
const i = t.map((g) => g * 100);
|
|
1020
1027
|
s.la = e, s.yb = r;
|
|
1021
|
-
const
|
|
1022
|
-
n =
|
|
1023
|
-
const
|
|
1028
|
+
const o = i[1], l = L(B0, i);
|
|
1029
|
+
n = Tr[s.surround];
|
|
1030
|
+
const c = n[0];
|
|
1024
1031
|
s.c = n[1], s.nc = n[2];
|
|
1025
|
-
const
|
|
1026
|
-
s.fl =
|
|
1032
|
+
const f = (1 / (5 * s.la + 1)) ** 4;
|
|
1033
|
+
s.fl = f * s.la + 0.1 * (1 - f) * (1 - f) * Math.cbrt(5 * s.la), s.flRoot = s.fl ** 0.25, s.n = s.yb / o, s.z = 1.48 + Math.sqrt(s.n), s.nbb = 0.725 * s.n ** -0.2, s.ncb = s.nbb;
|
|
1027
1034
|
const h = Math.max(
|
|
1028
|
-
Math.min(
|
|
1035
|
+
Math.min(c * (1 - 1 / 3.6 * Math.exp((-s.la - 42) / 92)), 1),
|
|
1029
1036
|
0
|
|
1030
1037
|
);
|
|
1031
|
-
s.dRgb = l.map((
|
|
1032
|
-
const p = l.map((
|
|
1033
|
-
return s.aW = s.nbb * (2 *
|
|
1038
|
+
s.dRgb = l.map((g) => oe(1, o / g, h)), s.dRgbInv = s.dRgb.map((g) => 1 / g);
|
|
1039
|
+
const p = l.map((g, M) => g * s.dRgb[M]), d = I0(p, s.fl);
|
|
1040
|
+
return s.aW = s.nbb * (2 * d[0] + d[1] + 0.05 * d[2]), s;
|
|
1034
1041
|
}
|
|
1035
|
-
const
|
|
1036
|
-
|
|
1042
|
+
const zt = z0(
|
|
1043
|
+
Ar,
|
|
1037
1044
|
64 / Math.PI * 0.2,
|
|
1038
1045
|
20,
|
|
1039
1046
|
"average",
|
|
1040
1047
|
!1
|
|
1041
1048
|
);
|
|
1042
|
-
function
|
|
1049
|
+
function We(t, e) {
|
|
1043
1050
|
if (!(t.J !== void 0 ^ t.Q !== void 0))
|
|
1044
1051
|
throw new Error("Conversion requires one and only one: 'J' or 'Q'");
|
|
1045
1052
|
if (!(t.C !== void 0 ^ t.M !== void 0 ^ t.s !== void 0))
|
|
@@ -1049,35 +1056,35 @@ function Je(t, e) {
|
|
|
1049
1056
|
if (t.J === 0 || t.Q === 0)
|
|
1050
1057
|
return [0, 0, 0];
|
|
1051
1058
|
let r = 0;
|
|
1052
|
-
t.h !== void 0 ? r =
|
|
1059
|
+
t.h !== void 0 ? r = H(t.h) * It : r = Xr(t.H) * It;
|
|
1053
1060
|
const n = Math.cos(r), a = Math.sin(r);
|
|
1054
1061
|
let s = 0;
|
|
1055
|
-
t.J !== void 0 ? s =
|
|
1056
|
-
let
|
|
1057
|
-
t.C !== void 0 ?
|
|
1058
|
-
const
|
|
1059
|
-
|
|
1062
|
+
t.J !== void 0 ? s = k(t.J, 1 / 2) * 0.1 : t.Q !== void 0 && (s = 0.25 * e.c * t.Q / ((e.aW + 4) * e.flRoot));
|
|
1063
|
+
let i = 0;
|
|
1064
|
+
t.C !== void 0 ? i = t.C / s : t.M !== void 0 ? i = t.M / e.flRoot / s : t.s !== void 0 && (i = 4e-4 * t.s ** 2 * (e.aW + 4) / e.c);
|
|
1065
|
+
const o = k(
|
|
1066
|
+
i * Math.pow(1.64 - Math.pow(0.29, e.n), -0.73),
|
|
1060
1067
|
10 / 9
|
|
1061
|
-
), l = 0.25 * (Math.cos(r + 2) + 3.8),
|
|
1062
|
-
|
|
1068
|
+
), l = 0.25 * (Math.cos(r + 2) + 3.8), c = e.aW * k(s, 2 / e.c / e.z), u = 5e4 / 13 * e.nc * e.ncb * l, f = c / e.nbb, h = 23 * (f + 0.305) * et(o, 23 * u + o * (11 * n + 108 * a)), p = h * n, d = h * a, g = Yr(
|
|
1069
|
+
L(Hr, [f, p, d]).map((M) => M * 1 / 1403),
|
|
1063
1070
|
e.fl
|
|
1064
1071
|
);
|
|
1065
|
-
return
|
|
1066
|
-
|
|
1067
|
-
|
|
1072
|
+
return L(
|
|
1073
|
+
kr,
|
|
1074
|
+
g.map((M, _) => M * e.dRgbInv[_])
|
|
1068
1075
|
).map((M) => M / 100);
|
|
1069
1076
|
}
|
|
1070
|
-
function
|
|
1071
|
-
const r = t.map((
|
|
1072
|
-
|
|
1077
|
+
function $0(t, e) {
|
|
1078
|
+
const r = t.map((y) => y * 100), n = I0(
|
|
1079
|
+
L(B0, r).map((y, $) => y * e.dRgb[$]),
|
|
1073
1080
|
e.fl
|
|
1074
|
-
), a = n[0] + (-12 * n[1] + n[2]) / 11, s = (n[0] + n[1] - 2 * n[2]) / 9,
|
|
1075
|
-
|
|
1081
|
+
), a = n[0] + (-12 * n[1] + n[2]) / 11, s = (n[0] + n[1] - 2 * n[2]) / 9, i = (Math.atan2(s, a) % He + He) % He, o = 0.25 * (Math.cos(i + 2) + 3.8), l = 5e4 / 13 * e.nc * e.ncb * et(
|
|
1082
|
+
o * Math.sqrt(a ** 2 + s ** 2),
|
|
1076
1083
|
n[0] + n[1] + 1.05 * n[2] + 0.305
|
|
1077
|
-
),
|
|
1078
|
-
return { J: h, C:
|
|
1084
|
+
), c = k(l, 0.9) * Math.pow(1.64 - Math.pow(0.29, e.n), 0.73), u = e.nbb * (2 * n[0] + n[1] + 0.05 * n[2]), f = k(u / e.aW, 0.5 * e.c * e.z), h = 100 * k(f, 2), p = 4 / e.c * f * (e.aW + 4) * e.flRoot, d = c * f, g = d * e.flRoot, M = H(i * Or), _ = Dr(M), S = 50 * k(e.c * c / (e.aW + 4), 1 / 2);
|
|
1085
|
+
return { J: h, C: d, h: M, s: S, Q: p, M: g, H: _ };
|
|
1079
1086
|
}
|
|
1080
|
-
var
|
|
1087
|
+
var jr = new m({
|
|
1081
1088
|
id: "cam16-jmh",
|
|
1082
1089
|
cssId: "--cam16-jmh",
|
|
1083
1090
|
name: "CAM16-JMh",
|
|
@@ -1096,60 +1103,60 @@ var Hn = new d({
|
|
|
1096
1103
|
name: "Hue"
|
|
1097
1104
|
}
|
|
1098
1105
|
},
|
|
1099
|
-
base:
|
|
1106
|
+
base: N,
|
|
1100
1107
|
fromBase(t) {
|
|
1101
|
-
const e =
|
|
1108
|
+
const e = $0(t, zt);
|
|
1102
1109
|
return [e.J, e.M, e.h];
|
|
1103
1110
|
},
|
|
1104
1111
|
toBase(t) {
|
|
1105
|
-
return
|
|
1112
|
+
return We(
|
|
1106
1113
|
{ J: t[0], M: t[1], h: t[2] },
|
|
1107
|
-
|
|
1114
|
+
zt
|
|
1108
1115
|
);
|
|
1109
1116
|
}
|
|
1110
1117
|
});
|
|
1111
|
-
const
|
|
1112
|
-
function
|
|
1113
|
-
return 116 * (t >
|
|
1118
|
+
const qr = B.D65, Zr = 216 / 24389, P0 = 24389 / 27;
|
|
1119
|
+
function Gr(t) {
|
|
1120
|
+
return 116 * (t > Zr ? Math.cbrt(t) : (P0 * t + 16) / 116) - 16;
|
|
1114
1121
|
}
|
|
1115
|
-
function
|
|
1116
|
-
return t > 8 ? Math.pow((t + 16) / 116, 3) : t /
|
|
1122
|
+
function Qe(t) {
|
|
1123
|
+
return t > 8 ? Math.pow((t + 16) / 116, 3) : t / P0;
|
|
1117
1124
|
}
|
|
1118
|
-
function
|
|
1119
|
-
let [r, n, a] = t, s = [],
|
|
1125
|
+
function Jr(t, e) {
|
|
1126
|
+
let [r, n, a] = t, s = [], i = 0;
|
|
1120
1127
|
if (a === 0)
|
|
1121
1128
|
return [0, 0, 0];
|
|
1122
|
-
let
|
|
1123
|
-
a > 0 ?
|
|
1124
|
-
const l = 2e-12,
|
|
1125
|
-
let u = 0,
|
|
1126
|
-
for (; u <=
|
|
1127
|
-
s =
|
|
1128
|
-
const h = Math.abs(s[1] -
|
|
1129
|
-
if (h <
|
|
1129
|
+
let o = Qe(a);
|
|
1130
|
+
a > 0 ? i = 0.00379058511492914 * a ** 2 + 0.608983189401032 * a + 0.9155088574762233 : i = 9514440756550361e-21 * a ** 2 + 0.08693057439788597 * a - 21.928975842194614;
|
|
1131
|
+
const l = 2e-12, c = 15;
|
|
1132
|
+
let u = 0, f = 1 / 0;
|
|
1133
|
+
for (; u <= c; ) {
|
|
1134
|
+
s = We({ J: i, C: n, h: r }, e);
|
|
1135
|
+
const h = Math.abs(s[1] - o);
|
|
1136
|
+
if (h < f) {
|
|
1130
1137
|
if (h <= l)
|
|
1131
1138
|
return s;
|
|
1132
|
-
|
|
1139
|
+
f = h;
|
|
1133
1140
|
}
|
|
1134
|
-
|
|
1141
|
+
i = i - (s[1] - o) * i / (2 * s[1]), u += 1;
|
|
1135
1142
|
}
|
|
1136
|
-
return
|
|
1143
|
+
return We({ J: i, C: n, h: r }, e);
|
|
1137
1144
|
}
|
|
1138
|
-
function
|
|
1139
|
-
const r =
|
|
1145
|
+
function Fr(t, e) {
|
|
1146
|
+
const r = Gr(t[1]);
|
|
1140
1147
|
if (r === 0)
|
|
1141
1148
|
return [0, 0, 0];
|
|
1142
|
-
const n =
|
|
1143
|
-
return [
|
|
1149
|
+
const n = $0(t, at);
|
|
1150
|
+
return [H(n.h), n.C, r];
|
|
1144
1151
|
}
|
|
1145
|
-
const
|
|
1146
|
-
|
|
1147
|
-
200 / Math.PI *
|
|
1148
|
-
|
|
1152
|
+
const at = z0(
|
|
1153
|
+
qr,
|
|
1154
|
+
200 / Math.PI * Qe(50),
|
|
1155
|
+
Qe(50) * 100,
|
|
1149
1156
|
"average",
|
|
1150
1157
|
!1
|
|
1151
1158
|
);
|
|
1152
|
-
var
|
|
1159
|
+
var ce = new m({
|
|
1153
1160
|
id: "hct",
|
|
1154
1161
|
name: "HCT",
|
|
1155
1162
|
coords: {
|
|
@@ -1167,12 +1174,12 @@ var le = new d({
|
|
|
1167
1174
|
name: "Tone"
|
|
1168
1175
|
}
|
|
1169
1176
|
},
|
|
1170
|
-
base:
|
|
1177
|
+
base: N,
|
|
1171
1178
|
fromBase(t) {
|
|
1172
|
-
return
|
|
1179
|
+
return Fr(t);
|
|
1173
1180
|
},
|
|
1174
1181
|
toBase(t) {
|
|
1175
|
-
return
|
|
1182
|
+
return Jr(t, at);
|
|
1176
1183
|
},
|
|
1177
1184
|
formats: {
|
|
1178
1185
|
color: {
|
|
@@ -1181,31 +1188,31 @@ var le = new d({
|
|
|
1181
1188
|
}
|
|
1182
1189
|
}
|
|
1183
1190
|
});
|
|
1184
|
-
const
|
|
1185
|
-
function
|
|
1186
|
-
t[1] < 0 && (t =
|
|
1187
|
-
const e = Math.log(Math.max(1 +
|
|
1191
|
+
const Wr = Math.PI / 180, $t = [1, 7e-3, 0.0228];
|
|
1192
|
+
function Pt(t) {
|
|
1193
|
+
t[1] < 0 && (t = ce.fromBase(ce.toBase(t)));
|
|
1194
|
+
const e = Math.log(Math.max(1 + $t[2] * t[1] * at.flRoot, 1)) / $t[2], r = t[0] * Wr, n = e * Math.cos(r), a = e * Math.sin(r);
|
|
1188
1195
|
return [t[2], n, a];
|
|
1189
1196
|
}
|
|
1190
|
-
function
|
|
1191
|
-
[t, e] =
|
|
1192
|
-
let [r, n, a] =
|
|
1193
|
-
return Math.sqrt((r - s) ** 2 + (n -
|
|
1194
|
-
}
|
|
1195
|
-
var
|
|
1196
|
-
deltaE76:
|
|
1197
|
-
deltaECMC:
|
|
1198
|
-
deltaE2000:
|
|
1199
|
-
deltaEJz:
|
|
1200
|
-
deltaEITP:
|
|
1201
|
-
deltaEOK:
|
|
1202
|
-
deltaEHCT:
|
|
1197
|
+
function Qr(t, e) {
|
|
1198
|
+
[t, e] = b([t, e]);
|
|
1199
|
+
let [r, n, a] = Pt(ce.from(t)), [s, i, o] = Pt(ce.from(e));
|
|
1200
|
+
return Math.sqrt((r - s) ** 2 + (n - i) ** 2 + (a - o) ** 2);
|
|
1201
|
+
}
|
|
1202
|
+
var ee = {
|
|
1203
|
+
deltaE76: pr,
|
|
1204
|
+
deltaECMC: Mr,
|
|
1205
|
+
deltaE2000: C0,
|
|
1206
|
+
deltaEJz: Rr,
|
|
1207
|
+
deltaEITP: vr,
|
|
1208
|
+
deltaEOK: Ge,
|
|
1209
|
+
deltaEHCT: Qr
|
|
1203
1210
|
};
|
|
1204
|
-
function
|
|
1211
|
+
function Ur(t) {
|
|
1205
1212
|
const e = t ? Math.floor(Math.log10(Math.abs(t))) : 0;
|
|
1206
1213
|
return Math.max(parseFloat(`1e${e - 2}`), 1e-6);
|
|
1207
1214
|
}
|
|
1208
|
-
const
|
|
1215
|
+
const Et = {
|
|
1209
1216
|
hct: {
|
|
1210
1217
|
method: "hct.c",
|
|
1211
1218
|
jnd: 2,
|
|
@@ -1219,199 +1226,200 @@ const $t = {
|
|
|
1219
1226
|
blackWhiteClamp: { channel: "hct.t", min: 0, max: 100 }
|
|
1220
1227
|
}
|
|
1221
1228
|
};
|
|
1222
|
-
function
|
|
1223
|
-
method: e =
|
|
1229
|
+
function q(t, {
|
|
1230
|
+
method: e = v.gamut_mapping,
|
|
1224
1231
|
space: r = void 0,
|
|
1225
1232
|
deltaEMethod: n = "",
|
|
1226
1233
|
jnd: a = 2,
|
|
1227
1234
|
blackWhiteClamp: s = {}
|
|
1228
1235
|
} = {}) {
|
|
1229
|
-
if (t =
|
|
1236
|
+
if (t = b(t), ue(arguments[1]) ? r = arguments[1] : r || (r = t.space), r = m.get(r), J(t, r, { epsilon: 0 }))
|
|
1230
1237
|
return t;
|
|
1231
|
-
let
|
|
1238
|
+
let i;
|
|
1232
1239
|
if (e === "css")
|
|
1233
|
-
|
|
1240
|
+
i = Kr(t, { space: r });
|
|
1234
1241
|
else {
|
|
1235
|
-
if (e !== "clip" && !
|
|
1236
|
-
Object.prototype.hasOwnProperty.call(
|
|
1237
|
-
let
|
|
1242
|
+
if (e !== "clip" && !J(t, r)) {
|
|
1243
|
+
Object.prototype.hasOwnProperty.call(Et, e) && ({ method: e, jnd: a, deltaEMethod: n, blackWhiteClamp: s } = Et[e]);
|
|
1244
|
+
let o = C0;
|
|
1238
1245
|
if (n !== "") {
|
|
1239
|
-
for (let
|
|
1240
|
-
if ("deltae" + n.toLowerCase() ===
|
|
1241
|
-
|
|
1246
|
+
for (let c in ee)
|
|
1247
|
+
if ("deltae" + n.toLowerCase() === c.toLowerCase()) {
|
|
1248
|
+
o = ee[c];
|
|
1242
1249
|
break;
|
|
1243
1250
|
}
|
|
1244
1251
|
}
|
|
1245
|
-
let l =
|
|
1246
|
-
if (
|
|
1252
|
+
let l = q(C(t, r), { method: "clip", space: r });
|
|
1253
|
+
if (o(t, l) > a) {
|
|
1247
1254
|
if (Object.keys(s).length === 3) {
|
|
1248
|
-
let
|
|
1249
|
-
if (
|
|
1250
|
-
return
|
|
1251
|
-
if (
|
|
1252
|
-
return
|
|
1255
|
+
let S = m.resolveCoord(s.channel), y = P(C(t, S.space), S.id);
|
|
1256
|
+
if (X(y) && (y = 0), y >= s.max)
|
|
1257
|
+
return C({ space: "xyz-d65", coords: B.D65 }, t.space);
|
|
1258
|
+
if (y <= s.min)
|
|
1259
|
+
return C({ space: "xyz-d65", coords: [0, 0, 0] }, t.space);
|
|
1253
1260
|
}
|
|
1254
|
-
let
|
|
1255
|
-
h.coords.forEach((
|
|
1256
|
-
|
|
1261
|
+
let c = m.resolveCoord(e), u = c.space, f = c.id, h = C(t, u);
|
|
1262
|
+
h.coords.forEach((S, y) => {
|
|
1263
|
+
X(S) && (h.coords[y] = 0);
|
|
1257
1264
|
});
|
|
1258
|
-
let
|
|
1259
|
-
for (;
|
|
1260
|
-
let
|
|
1261
|
-
|
|
1265
|
+
let d = (c.range || c.refRange)[0], g = Ur(a), M = d, _ = P(h, f);
|
|
1266
|
+
for (; _ - M > g; ) {
|
|
1267
|
+
let S = V(h);
|
|
1268
|
+
S = q(S, { space: r, method: "clip" }), o(h, S) - a < g ? M = P(h, f) : _ = P(h, f), O(h, f, (M + _) / 2);
|
|
1262
1269
|
}
|
|
1263
|
-
|
|
1270
|
+
i = C(h, r);
|
|
1264
1271
|
} else
|
|
1265
|
-
|
|
1272
|
+
i = l;
|
|
1266
1273
|
} else
|
|
1267
|
-
|
|
1268
|
-
if (e === "clip" || !
|
|
1269
|
-
let
|
|
1270
|
-
|
|
1271
|
-
let [u,
|
|
1272
|
-
return u !== void 0 && (l = Math.max(u, l)),
|
|
1274
|
+
i = C(t, r);
|
|
1275
|
+
if (e === "clip" || !J(i, r, { epsilon: 0 })) {
|
|
1276
|
+
let o = Object.values(r.coords).map((l) => l.range || []);
|
|
1277
|
+
i.coords = i.coords.map((l, c) => {
|
|
1278
|
+
let [u, f] = o[c];
|
|
1279
|
+
return u !== void 0 && (l = Math.max(u, l)), f !== void 0 && (l = Math.min(l, f)), l;
|
|
1273
1280
|
});
|
|
1274
1281
|
}
|
|
1275
1282
|
}
|
|
1276
|
-
return r !== t.space && (
|
|
1283
|
+
return r !== t.space && (i = C(i, t.space)), t.coords = i.coords, t;
|
|
1277
1284
|
}
|
|
1278
|
-
|
|
1279
|
-
const
|
|
1280
|
-
WHITE: { space:
|
|
1281
|
-
BLACK: { space:
|
|
1285
|
+
q.returns = "color";
|
|
1286
|
+
const vt = {
|
|
1287
|
+
WHITE: { space: K, coords: [1, 0, 0] },
|
|
1288
|
+
BLACK: { space: K, coords: [0, 0, 0] }
|
|
1282
1289
|
};
|
|
1283
|
-
function
|
|
1284
|
-
t =
|
|
1285
|
-
const a =
|
|
1290
|
+
function Kr(t, { space: e } = {}) {
|
|
1291
|
+
t = b(t), e || (e = t.space), e = m.get(e);
|
|
1292
|
+
const a = m.get("oklch");
|
|
1286
1293
|
if (e.isUnbounded)
|
|
1287
|
-
return
|
|
1288
|
-
const s =
|
|
1289
|
-
let
|
|
1290
|
-
if (
|
|
1291
|
-
const
|
|
1292
|
-
return
|
|
1293
|
-
}
|
|
1294
|
-
if (
|
|
1295
|
-
const
|
|
1296
|
-
return
|
|
1297
|
-
}
|
|
1298
|
-
if (
|
|
1299
|
-
return
|
|
1300
|
-
function
|
|
1301
|
-
const
|
|
1302
|
-
return
|
|
1303
|
-
if ("range" in M[
|
|
1304
|
-
const [
|
|
1305
|
-
return
|
|
1294
|
+
return C(t, e);
|
|
1295
|
+
const s = C(t, a);
|
|
1296
|
+
let i = s.coords[0];
|
|
1297
|
+
if (i >= 1) {
|
|
1298
|
+
const d = C(vt.WHITE, e);
|
|
1299
|
+
return d.alpha = t.alpha, C(d, e);
|
|
1300
|
+
}
|
|
1301
|
+
if (i <= 0) {
|
|
1302
|
+
const d = C(vt.BLACK, e);
|
|
1303
|
+
return d.alpha = t.alpha, C(d, e);
|
|
1304
|
+
}
|
|
1305
|
+
if (J(s, e, { epsilon: 0 }))
|
|
1306
|
+
return C(s, e);
|
|
1307
|
+
function o(d) {
|
|
1308
|
+
const g = C(d, e), M = Object.values(e.coords);
|
|
1309
|
+
return g.coords = g.coords.map((_, S) => {
|
|
1310
|
+
if ("range" in M[S]) {
|
|
1311
|
+
const [y, $] = M[S].range;
|
|
1312
|
+
return M0(y, _, $);
|
|
1306
1313
|
}
|
|
1307
|
-
return
|
|
1308
|
-
}),
|
|
1314
|
+
return _;
|
|
1315
|
+
}), g;
|
|
1309
1316
|
}
|
|
1310
|
-
let l = 0,
|
|
1317
|
+
let l = 0, c = s.coords[1], u = !0, f = V(s), h = o(f), p = Ge(h, f);
|
|
1311
1318
|
if (p < 0.02)
|
|
1312
1319
|
return h;
|
|
1313
|
-
for (;
|
|
1314
|
-
const
|
|
1315
|
-
if (
|
|
1316
|
-
l =
|
|
1317
|
-
else if (h =
|
|
1320
|
+
for (; c - l > 1e-4; ) {
|
|
1321
|
+
const d = (l + c) / 2;
|
|
1322
|
+
if (f.coords[1] = d, u && J(f, e, { epsilon: 0 }))
|
|
1323
|
+
l = d;
|
|
1324
|
+
else if (h = o(f), p = Ge(h, f), p < 0.02) {
|
|
1318
1325
|
if (0.02 - p < 1e-4)
|
|
1319
1326
|
break;
|
|
1320
|
-
u = !1, l =
|
|
1327
|
+
u = !1, l = d;
|
|
1321
1328
|
} else
|
|
1322
|
-
|
|
1329
|
+
c = d;
|
|
1323
1330
|
}
|
|
1324
1331
|
return h;
|
|
1325
1332
|
}
|
|
1326
|
-
function
|
|
1327
|
-
t =
|
|
1333
|
+
function C(t, e, { inGamut: r } = {}) {
|
|
1334
|
+
t = b(t), e = m.get(e);
|
|
1328
1335
|
let n = e.from(t), a = { space: e, coords: n, alpha: t.alpha };
|
|
1329
|
-
return r && (a =
|
|
1336
|
+
return r && (a = q(a, r === !0 ? void 0 : r)), a;
|
|
1330
1337
|
}
|
|
1331
|
-
|
|
1332
|
-
function
|
|
1333
|
-
precision: e =
|
|
1338
|
+
C.returns = "color";
|
|
1339
|
+
function ie(t, {
|
|
1340
|
+
precision: e = v.precision,
|
|
1334
1341
|
format: r = "default",
|
|
1335
1342
|
inGamut: n = !0,
|
|
1336
1343
|
...a
|
|
1337
1344
|
} = {}) {
|
|
1345
|
+
var l;
|
|
1338
1346
|
let s;
|
|
1339
|
-
t =
|
|
1340
|
-
let
|
|
1341
|
-
r = t.space.getFormat(r) ?? t.space.getFormat("default") ??
|
|
1342
|
-
let
|
|
1343
|
-
if (n
|
|
1347
|
+
t = b(t);
|
|
1348
|
+
let i = r;
|
|
1349
|
+
r = t.space.getFormat(r) ?? t.space.getFormat("default") ?? m.DEFAULT_FORMAT;
|
|
1350
|
+
let o = t.coords.slice();
|
|
1351
|
+
if (n || (n = r.toGamut), n && !J(t) && (o = q(V(t), n === !0 ? void 0 : n).coords), r.type === "custom")
|
|
1344
1352
|
if (a.precision = e, r.serialize)
|
|
1345
|
-
s = r.serialize(
|
|
1353
|
+
s = r.serialize(o, t.alpha, a);
|
|
1346
1354
|
else
|
|
1347
|
-
throw new TypeError(`format ${
|
|
1355
|
+
throw new TypeError(`format ${i} can only be used to parse colors, not for serialization`);
|
|
1348
1356
|
else {
|
|
1349
|
-
let
|
|
1350
|
-
r.serializeCoords ?
|
|
1351
|
-
let
|
|
1352
|
-
if (
|
|
1353
|
-
let
|
|
1354
|
-
|
|
1357
|
+
let c = r.name || "color";
|
|
1358
|
+
r.serializeCoords ? o = r.serializeCoords(o, e) : e !== null && (o = o.map((p) => Re(p, { precision: e })));
|
|
1359
|
+
let u = [...o];
|
|
1360
|
+
if (c === "color") {
|
|
1361
|
+
let p = r.id || ((l = r.ids) == null ? void 0 : l[0]) || t.space.id;
|
|
1362
|
+
u.unshift(p);
|
|
1355
1363
|
}
|
|
1356
|
-
let
|
|
1357
|
-
e !== null && (
|
|
1358
|
-
let
|
|
1359
|
-
s = `${
|
|
1364
|
+
let f = t.alpha;
|
|
1365
|
+
e !== null && (f = Re(f, { precision: e }));
|
|
1366
|
+
let h = t.alpha >= 1 || r.noAlpha ? "" : `${r.commas ? "," : " /"} ${f}`;
|
|
1367
|
+
s = `${c}(${u.join(r.commas ? ", " : " ")}${h})`;
|
|
1360
1368
|
}
|
|
1361
1369
|
return s;
|
|
1362
1370
|
}
|
|
1363
|
-
const
|
|
1371
|
+
const Vr = [
|
|
1364
1372
|
[0.6369580483012914, 0.14461690358620832, 0.1688809751641721],
|
|
1365
1373
|
[0.2627002120112671, 0.6779980715188708, 0.05930171646986196],
|
|
1366
1374
|
[0, 0.028072693049087428, 1.060985057710791]
|
|
1367
|
-
],
|
|
1375
|
+
], en = [
|
|
1368
1376
|
[1.716651187971268, -0.355670783776392, -0.25336628137366],
|
|
1369
1377
|
[-0.666684351832489, 1.616481236634939, 0.0157685458139111],
|
|
1370
1378
|
[0.017639857445311, -0.042770613257809, 0.942103121235474]
|
|
1371
1379
|
];
|
|
1372
|
-
var
|
|
1380
|
+
var ze = new z({
|
|
1373
1381
|
id: "rec2020-linear",
|
|
1374
1382
|
cssId: "--rec2020-linear",
|
|
1375
1383
|
name: "Linear REC.2020",
|
|
1376
1384
|
white: "D65",
|
|
1377
|
-
toXYZ_M:
|
|
1378
|
-
fromXYZ_M:
|
|
1385
|
+
toXYZ_M: Vr,
|
|
1386
|
+
fromXYZ_M: en
|
|
1379
1387
|
});
|
|
1380
|
-
const
|
|
1381
|
-
var
|
|
1388
|
+
const ye = 1.09929682680944, At = 0.018053968510807;
|
|
1389
|
+
var E0 = new z({
|
|
1382
1390
|
id: "rec2020",
|
|
1383
1391
|
name: "REC.2020",
|
|
1384
|
-
base:
|
|
1392
|
+
base: ze,
|
|
1385
1393
|
// Non-linear transfer function from Rec. ITU-R BT.2020-2 table 4
|
|
1386
1394
|
toBase(t) {
|
|
1387
1395
|
return t.map(function(e) {
|
|
1388
|
-
return e <
|
|
1396
|
+
return e < At * 4.5 ? e / 4.5 : Math.pow((e + ye - 1) / ye, 1 / 0.45);
|
|
1389
1397
|
});
|
|
1390
1398
|
},
|
|
1391
1399
|
fromBase(t) {
|
|
1392
1400
|
return t.map(function(e) {
|
|
1393
|
-
return e >=
|
|
1401
|
+
return e >= At ? ye * Math.pow(e, 0.45) - (ye - 1) : 4.5 * e;
|
|
1394
1402
|
});
|
|
1395
1403
|
}
|
|
1396
1404
|
});
|
|
1397
|
-
const
|
|
1405
|
+
const tn = [
|
|
1398
1406
|
[0.4865709486482162, 0.26566769316909306, 0.1982172852343625],
|
|
1399
1407
|
[0.2289745640697488, 0.6917385218365064, 0.079286914093745],
|
|
1400
1408
|
[0, 0.04511338185890264, 1.043944368900976]
|
|
1401
|
-
],
|
|
1409
|
+
], rn = [
|
|
1402
1410
|
[2.493496911941425, -0.9313836179191239, -0.40271078445071684],
|
|
1403
1411
|
[-0.8294889695615747, 1.7626640603183463, 0.023624685841943577],
|
|
1404
1412
|
[0.03584583024378447, -0.07617238926804182, 0.9568845240076872]
|
|
1405
1413
|
];
|
|
1406
|
-
var
|
|
1414
|
+
var v0 = new z({
|
|
1407
1415
|
id: "p3-linear",
|
|
1408
1416
|
cssId: "--display-p3-linear",
|
|
1409
1417
|
name: "Linear P3",
|
|
1410
1418
|
white: "D65",
|
|
1411
|
-
toXYZ_M:
|
|
1412
|
-
fromXYZ_M:
|
|
1419
|
+
toXYZ_M: tn,
|
|
1420
|
+
fromXYZ_M: rn
|
|
1413
1421
|
});
|
|
1414
|
-
const
|
|
1422
|
+
const nn = [
|
|
1415
1423
|
[0.41239079926595934, 0.357584339383878, 0.1804807884018343],
|
|
1416
1424
|
[0.21263900587151027, 0.715168678767756, 0.07219231536073371],
|
|
1417
1425
|
[0.01933081871559182, 0.11919477979462598, 0.9505321522496607]
|
|
@@ -1420,13 +1428,13 @@ const Un = [
|
|
|
1420
1428
|
[-0.9692436362808796, 1.8759675015077202, 0.04155505740717559],
|
|
1421
1429
|
[0.05563007969699366, -0.20397695888897652, 1.0569715142428786]
|
|
1422
1430
|
];
|
|
1423
|
-
var
|
|
1431
|
+
var A0 = new z({
|
|
1424
1432
|
id: "srgb-linear",
|
|
1425
1433
|
name: "Linear sRGB",
|
|
1426
1434
|
white: "D65",
|
|
1427
|
-
toXYZ_M:
|
|
1435
|
+
toXYZ_M: nn,
|
|
1428
1436
|
fromXYZ_M: x
|
|
1429
|
-
}),
|
|
1437
|
+
}), kt = {
|
|
1430
1438
|
aliceblue: [240 / 255, 248 / 255, 1],
|
|
1431
1439
|
antiquewhite: [250 / 255, 235 / 255, 215 / 255],
|
|
1432
1440
|
aqua: [0, 1, 1],
|
|
@@ -1576,11 +1584,11 @@ var Ir = new N({
|
|
|
1576
1584
|
yellow: [1, 1, 0],
|
|
1577
1585
|
yellowgreen: [154 / 255, 205 / 255, 50 / 255]
|
|
1578
1586
|
};
|
|
1579
|
-
let
|
|
1580
|
-
var
|
|
1587
|
+
let Ht = Array(3).fill("<percentage> | <number>[0, 255]"), Tt = Array(3).fill("<number>[0, 255]");
|
|
1588
|
+
var te = new z({
|
|
1581
1589
|
id: "srgb",
|
|
1582
1590
|
name: "sRGB",
|
|
1583
|
-
base:
|
|
1591
|
+
base: A0,
|
|
1584
1592
|
fromBase: (t) => t.map((e) => {
|
|
1585
1593
|
let r = e < 0 ? -1 : 1, n = e * r;
|
|
1586
1594
|
return n > 31308e-7 ? r * (1.055 * n ** (1 / 2.4) - 0.055) : 12.92 * e;
|
|
@@ -1591,26 +1599,26 @@ var ee = new N({
|
|
|
1591
1599
|
}),
|
|
1592
1600
|
formats: {
|
|
1593
1601
|
rgb: {
|
|
1594
|
-
coords:
|
|
1602
|
+
coords: Ht
|
|
1595
1603
|
},
|
|
1596
1604
|
rgb_number: {
|
|
1597
1605
|
name: "rgb",
|
|
1598
1606
|
commas: !0,
|
|
1599
|
-
coords:
|
|
1607
|
+
coords: Tt,
|
|
1600
1608
|
noAlpha: !0
|
|
1601
1609
|
},
|
|
1602
1610
|
color: {
|
|
1603
1611
|
/* use defaults */
|
|
1604
1612
|
},
|
|
1605
1613
|
rgba: {
|
|
1606
|
-
coords:
|
|
1614
|
+
coords: Ht,
|
|
1607
1615
|
commas: !0,
|
|
1608
1616
|
lastAlpha: !0
|
|
1609
1617
|
},
|
|
1610
1618
|
rgba_number: {
|
|
1611
1619
|
name: "rgba",
|
|
1612
1620
|
commas: !0,
|
|
1613
|
-
coords:
|
|
1621
|
+
coords: Tt
|
|
1614
1622
|
},
|
|
1615
1623
|
hex: {
|
|
1616
1624
|
type: "custom",
|
|
@@ -1642,110 +1650,110 @@ var ee = new N({
|
|
|
1642
1650
|
parse(t) {
|
|
1643
1651
|
t = t.toLowerCase();
|
|
1644
1652
|
let e = { spaceId: "srgb", coords: null, alpha: 1 };
|
|
1645
|
-
if (t === "transparent" ? (e.coords =
|
|
1653
|
+
if (t === "transparent" ? (e.coords = kt.black, e.alpha = 0) : e.coords = kt[t], e.coords)
|
|
1646
1654
|
return e;
|
|
1647
1655
|
}
|
|
1648
1656
|
}
|
|
1649
1657
|
}
|
|
1650
|
-
}),
|
|
1658
|
+
}), k0 = new z({
|
|
1651
1659
|
id: "p3",
|
|
1652
1660
|
cssId: "display-p3",
|
|
1653
1661
|
name: "P3",
|
|
1654
|
-
base:
|
|
1662
|
+
base: v0,
|
|
1655
1663
|
// Gamma encoding/decoding is the same as sRGB
|
|
1656
|
-
fromBase:
|
|
1657
|
-
toBase:
|
|
1664
|
+
fromBase: te.fromBase,
|
|
1665
|
+
toBase: te.toBase
|
|
1658
1666
|
});
|
|
1659
|
-
|
|
1660
|
-
let
|
|
1667
|
+
v.display_space = te;
|
|
1668
|
+
let an;
|
|
1661
1669
|
if (typeof CSS < "u" && CSS.supports)
|
|
1662
|
-
for (let t of [
|
|
1663
|
-
let e = t.getMinCoords(), n =
|
|
1670
|
+
for (let t of [E, E0, k0]) {
|
|
1671
|
+
let e = t.getMinCoords(), n = ie({ space: t, coords: e, alpha: 1 });
|
|
1664
1672
|
if (CSS.supports("color", n)) {
|
|
1665
|
-
|
|
1673
|
+
v.display_space = t;
|
|
1666
1674
|
break;
|
|
1667
1675
|
}
|
|
1668
1676
|
}
|
|
1669
|
-
function
|
|
1670
|
-
let n =
|
|
1671
|
-
if (typeof CSS > "u" || CSS.supports("color", n) || !
|
|
1677
|
+
function sn(t, { space: e = v.display_space, ...r } = {}) {
|
|
1678
|
+
let n = ie(t, r);
|
|
1679
|
+
if (typeof CSS > "u" || CSS.supports("color", n) || !v.display_space)
|
|
1672
1680
|
n = new String(n), n.color = t;
|
|
1673
1681
|
else {
|
|
1674
1682
|
let a = t;
|
|
1675
|
-
if ((t.coords.some(
|
|
1683
|
+
if ((t.coords.some(X) || X(t.alpha)) && !(an ?? (an = CSS.supports("color", "hsl(none 50% 50%)"))) && (a = V(t), a.coords = a.coords.map(R), a.alpha = R(a.alpha), n = ie(a, r), CSS.supports("color", n)))
|
|
1676
1684
|
return n = new String(n), n.color = a, n;
|
|
1677
|
-
a =
|
|
1685
|
+
a = C(a, e), n = new String(ie(a, r)), n.color = a;
|
|
1678
1686
|
}
|
|
1679
1687
|
return n;
|
|
1680
1688
|
}
|
|
1681
|
-
function
|
|
1682
|
-
return t =
|
|
1689
|
+
function on(t, e) {
|
|
1690
|
+
return t = b(t), e = b(e), t.space === e.space && t.alpha === e.alpha && t.coords.every((r, n) => r === e.coords[n]);
|
|
1683
1691
|
}
|
|
1684
|
-
function
|
|
1685
|
-
return
|
|
1692
|
+
function Z(t) {
|
|
1693
|
+
return P(t, [N, "y"]);
|
|
1686
1694
|
}
|
|
1687
|
-
function
|
|
1688
|
-
|
|
1695
|
+
function H0(t, e) {
|
|
1696
|
+
O(t, [N, "y"], e);
|
|
1689
1697
|
}
|
|
1690
|
-
function
|
|
1698
|
+
function ln(t) {
|
|
1691
1699
|
Object.defineProperty(t.prototype, "luminance", {
|
|
1692
1700
|
get() {
|
|
1693
|
-
return
|
|
1701
|
+
return Z(this);
|
|
1694
1702
|
},
|
|
1695
1703
|
set(e) {
|
|
1696
|
-
|
|
1704
|
+
H0(this, e);
|
|
1697
1705
|
}
|
|
1698
1706
|
});
|
|
1699
1707
|
}
|
|
1700
|
-
var
|
|
1708
|
+
var cn = /* @__PURE__ */ Object.freeze({
|
|
1701
1709
|
__proto__: null,
|
|
1702
|
-
getLuminance:
|
|
1703
|
-
register:
|
|
1704
|
-
setLuminance:
|
|
1710
|
+
getLuminance: Z,
|
|
1711
|
+
register: ln,
|
|
1712
|
+
setLuminance: H0
|
|
1705
1713
|
});
|
|
1706
|
-
function
|
|
1707
|
-
t =
|
|
1708
|
-
let r = Math.max(
|
|
1714
|
+
function un(t, e) {
|
|
1715
|
+
t = b(t), e = b(e);
|
|
1716
|
+
let r = Math.max(Z(t), 0), n = Math.max(Z(e), 0);
|
|
1709
1717
|
return n > r && ([r, n] = [n, r]), (r + 0.05) / (n + 0.05);
|
|
1710
1718
|
}
|
|
1711
|
-
const
|
|
1712
|
-
function
|
|
1713
|
-
return t >=
|
|
1719
|
+
const fn = 0.56, hn = 0.57, dn = 0.62, mn = 0.65, Ot = 0.022, gn = 1.414, pn = 0.1, bn = 5e-4, Mn = 1.14, Yt = 0.027, wn = 1.14;
|
|
1720
|
+
function Dt(t) {
|
|
1721
|
+
return t >= Ot ? t : t + (Ot - t) ** gn;
|
|
1714
1722
|
}
|
|
1715
|
-
function
|
|
1723
|
+
function W(t) {
|
|
1716
1724
|
let e = t < 0 ? -1 : 1, r = Math.abs(t);
|
|
1717
1725
|
return e * Math.pow(r, 2.4);
|
|
1718
1726
|
}
|
|
1719
|
-
function
|
|
1720
|
-
e =
|
|
1721
|
-
let r, n, a, s,
|
|
1722
|
-
e =
|
|
1723
|
-
let l =
|
|
1724
|
-
t =
|
|
1725
|
-
let
|
|
1726
|
-
return Math.abs(
|
|
1727
|
-
}
|
|
1728
|
-
function
|
|
1729
|
-
t =
|
|
1730
|
-
let r = Math.max(
|
|
1727
|
+
function yn(t, e) {
|
|
1728
|
+
e = b(e), t = b(t);
|
|
1729
|
+
let r, n, a, s, i, o;
|
|
1730
|
+
e = C(e, "srgb"), [s, i, o] = e.coords;
|
|
1731
|
+
let l = W(s) * 0.2126729 + W(i) * 0.7151522 + W(o) * 0.072175;
|
|
1732
|
+
t = C(t, "srgb"), [s, i, o] = t.coords;
|
|
1733
|
+
let c = W(s) * 0.2126729 + W(i) * 0.7151522 + W(o) * 0.072175, u = Dt(l), f = Dt(c), h = f > u;
|
|
1734
|
+
return Math.abs(f - u) < bn ? n = 0 : h ? (r = f ** fn - u ** hn, n = r * Mn) : (r = f ** mn - u ** dn, n = r * wn), Math.abs(n) < pn ? a = 0 : n > 0 ? a = n - Yt : a = n + Yt, a * 100;
|
|
1735
|
+
}
|
|
1736
|
+
function Cn(t, e) {
|
|
1737
|
+
t = b(t), e = b(e);
|
|
1738
|
+
let r = Math.max(Z(t), 0), n = Math.max(Z(e), 0);
|
|
1731
1739
|
n > r && ([r, n] = [n, r]);
|
|
1732
1740
|
let a = r + n;
|
|
1733
1741
|
return a === 0 ? 0 : (r - n) / a;
|
|
1734
1742
|
}
|
|
1735
|
-
const
|
|
1736
|
-
function
|
|
1737
|
-
t =
|
|
1738
|
-
let r = Math.max(
|
|
1739
|
-
return n > r && ([r, n] = [n, r]), n === 0 ?
|
|
1743
|
+
const Ln = 5e4;
|
|
1744
|
+
function Sn(t, e) {
|
|
1745
|
+
t = b(t), e = b(e);
|
|
1746
|
+
let r = Math.max(Z(t), 0), n = Math.max(Z(e), 0);
|
|
1747
|
+
return n > r && ([r, n] = [n, r]), n === 0 ? Ln : (r - n) / n;
|
|
1740
1748
|
}
|
|
1741
|
-
function
|
|
1742
|
-
t =
|
|
1743
|
-
let r =
|
|
1749
|
+
function _n(t, e) {
|
|
1750
|
+
t = b(t), e = b(e);
|
|
1751
|
+
let r = P(t, [E, "l"]), n = P(e, [E, "l"]);
|
|
1744
1752
|
return Math.abs(r - n);
|
|
1745
1753
|
}
|
|
1746
|
-
const
|
|
1747
|
-
let
|
|
1748
|
-
var
|
|
1754
|
+
const Rn = 216 / 24389, Xt = 24 / 116, Ce = 24389 / 27;
|
|
1755
|
+
let Te = B.D65;
|
|
1756
|
+
var Ue = new m({
|
|
1749
1757
|
id: "lab-d65",
|
|
1750
1758
|
name: "Lab D65",
|
|
1751
1759
|
coords: {
|
|
@@ -1762,12 +1770,12 @@ var We = new d({
|
|
|
1762
1770
|
},
|
|
1763
1771
|
// Assuming XYZ is relative to D65, convert to CIE Lab
|
|
1764
1772
|
// from CIE standard, which now defines these as a rational fraction
|
|
1765
|
-
white:
|
|
1766
|
-
base:
|
|
1773
|
+
white: Te,
|
|
1774
|
+
base: N,
|
|
1767
1775
|
// Convert D65-adapted XYZ to Lab
|
|
1768
1776
|
// CIE 15.3:2004 section 8.2.1.1
|
|
1769
1777
|
fromBase(t) {
|
|
1770
|
-
let r = t.map((n, a) => n /
|
|
1778
|
+
let r = t.map((n, a) => n / Te[a]).map((n) => n > Rn ? Math.cbrt(n) : (Ce * n + 16) / 116);
|
|
1771
1779
|
return [
|
|
1772
1780
|
116 * r[1] - 16,
|
|
1773
1781
|
// L
|
|
@@ -1783,10 +1791,10 @@ var We = new d({
|
|
|
1783
1791
|
toBase(t) {
|
|
1784
1792
|
let e = [];
|
|
1785
1793
|
return e[1] = (t[0] + 16) / 116, e[0] = t[1] / 500 + e[1], e[2] = e[1] - t[2] / 200, [
|
|
1786
|
-
e[0] >
|
|
1787
|
-
t[0] > 8 ? Math.pow((t[0] + 16) / 116, 3) : t[0] /
|
|
1788
|
-
e[2] >
|
|
1789
|
-
].map((n, a) => n *
|
|
1794
|
+
e[0] > Xt ? Math.pow(e[0], 3) : (116 * e[0] - 16) / Ce,
|
|
1795
|
+
t[0] > 8 ? Math.pow((t[0] + 16) / 116, 3) : t[0] / Ce,
|
|
1796
|
+
e[2] > Xt ? Math.pow(e[2], 3) : (116 * e[2] - 16) / Ce
|
|
1797
|
+
].map((n, a) => n * Te[a]);
|
|
1790
1798
|
},
|
|
1791
1799
|
formats: {
|
|
1792
1800
|
"lab-d65": {
|
|
@@ -1794,159 +1802,159 @@ var We = new d({
|
|
|
1794
1802
|
}
|
|
1795
1803
|
}
|
|
1796
1804
|
});
|
|
1797
|
-
const
|
|
1798
|
-
function
|
|
1799
|
-
t =
|
|
1800
|
-
let r =
|
|
1805
|
+
const Oe = Math.pow(5, 0.5) * 0.5 + 0.5;
|
|
1806
|
+
function xn(t, e) {
|
|
1807
|
+
t = b(t), e = b(e);
|
|
1808
|
+
let r = P(t, [Ue, "l"]), n = P(e, [Ue, "l"]), a = Math.abs(Math.pow(r, Oe) - Math.pow(n, Oe)), s = Math.pow(a, 1 / Oe) * Math.SQRT2 - 40;
|
|
1801
1809
|
return s < 7.5 ? 0 : s;
|
|
1802
1810
|
}
|
|
1803
|
-
var
|
|
1811
|
+
var _e = /* @__PURE__ */ Object.freeze({
|
|
1804
1812
|
__proto__: null,
|
|
1805
|
-
contrastAPCA:
|
|
1806
|
-
contrastDeltaPhi:
|
|
1807
|
-
contrastLstar:
|
|
1808
|
-
contrastMichelson:
|
|
1809
|
-
contrastWCAG21:
|
|
1810
|
-
contrastWeber:
|
|
1813
|
+
contrastAPCA: yn,
|
|
1814
|
+
contrastDeltaPhi: xn,
|
|
1815
|
+
contrastLstar: _n,
|
|
1816
|
+
contrastMichelson: Cn,
|
|
1817
|
+
contrastWCAG21: un,
|
|
1818
|
+
contrastWeber: Sn
|
|
1811
1819
|
});
|
|
1812
|
-
function
|
|
1813
|
-
|
|
1820
|
+
function Nn(t, e, r = {}) {
|
|
1821
|
+
ue(r) && (r = { algorithm: r });
|
|
1814
1822
|
let { algorithm: n, ...a } = r;
|
|
1815
1823
|
if (!n) {
|
|
1816
|
-
let s = Object.keys(
|
|
1824
|
+
let s = Object.keys(_e).map((i) => i.replace(/^contrast/, "")).join(", ");
|
|
1817
1825
|
throw new TypeError(`contrast() function needs a contrast algorithm. Please specify one of: ${s}`);
|
|
1818
1826
|
}
|
|
1819
|
-
t =
|
|
1820
|
-
for (let s in
|
|
1827
|
+
t = b(t), e = b(e);
|
|
1828
|
+
for (let s in _e)
|
|
1821
1829
|
if ("contrast" + n.toLowerCase() === s.toLowerCase())
|
|
1822
|
-
return
|
|
1830
|
+
return _e[s](t, e, a);
|
|
1823
1831
|
throw new TypeError(`Unknown contrast algorithm: ${n}`);
|
|
1824
1832
|
}
|
|
1825
|
-
function
|
|
1826
|
-
let [e, r, n] =
|
|
1833
|
+
function $e(t) {
|
|
1834
|
+
let [e, r, n] = fe(t, N), a = e + 15 * r + 3 * n;
|
|
1827
1835
|
return [4 * e / a, 9 * r / a];
|
|
1828
1836
|
}
|
|
1829
|
-
function
|
|
1830
|
-
let [e, r, n] =
|
|
1837
|
+
function T0(t) {
|
|
1838
|
+
let [e, r, n] = fe(t, N), a = e + r + n;
|
|
1831
1839
|
return [e / a, r / a];
|
|
1832
1840
|
}
|
|
1833
|
-
function
|
|
1841
|
+
function Bn(t) {
|
|
1834
1842
|
Object.defineProperty(t.prototype, "uv", {
|
|
1835
1843
|
get() {
|
|
1836
|
-
return
|
|
1844
|
+
return $e(this);
|
|
1837
1845
|
}
|
|
1838
1846
|
}), Object.defineProperty(t.prototype, "xy", {
|
|
1839
1847
|
get() {
|
|
1840
|
-
return
|
|
1848
|
+
return T0(this);
|
|
1841
1849
|
}
|
|
1842
1850
|
});
|
|
1843
1851
|
}
|
|
1844
|
-
var
|
|
1852
|
+
var In = /* @__PURE__ */ Object.freeze({
|
|
1845
1853
|
__proto__: null,
|
|
1846
|
-
register:
|
|
1847
|
-
uv:
|
|
1848
|
-
xy:
|
|
1854
|
+
register: Bn,
|
|
1855
|
+
uv: $e,
|
|
1856
|
+
xy: T0
|
|
1849
1857
|
});
|
|
1850
|
-
function
|
|
1851
|
-
|
|
1852
|
-
let { method: n =
|
|
1853
|
-
for (let s in
|
|
1858
|
+
function se(t, e, r = {}) {
|
|
1859
|
+
ue(r) && (r = { method: r });
|
|
1860
|
+
let { method: n = v.deltaE, ...a } = r;
|
|
1861
|
+
for (let s in ee)
|
|
1854
1862
|
if ("deltae" + n.toLowerCase() === s.toLowerCase())
|
|
1855
|
-
return
|
|
1863
|
+
return ee[s](t, e, a);
|
|
1856
1864
|
throw new TypeError(`Unknown deltaE method: ${n}`);
|
|
1857
1865
|
}
|
|
1858
|
-
function
|
|
1859
|
-
let n = [
|
|
1860
|
-
return
|
|
1866
|
+
function zn(t, e = 0.25) {
|
|
1867
|
+
let n = [m.get("oklch", "lch"), "l"];
|
|
1868
|
+
return O(t, n, (a) => a * (1 + e));
|
|
1861
1869
|
}
|
|
1862
|
-
function
|
|
1863
|
-
let n = [
|
|
1864
|
-
return
|
|
1870
|
+
function $n(t, e = 0.25) {
|
|
1871
|
+
let n = [m.get("oklch", "lch"), "l"];
|
|
1872
|
+
return O(t, n, (a) => a * (1 - e));
|
|
1865
1873
|
}
|
|
1866
|
-
var
|
|
1874
|
+
var Pn = /* @__PURE__ */ Object.freeze({
|
|
1867
1875
|
__proto__: null,
|
|
1868
|
-
darken:
|
|
1869
|
-
lighten:
|
|
1876
|
+
darken: $n,
|
|
1877
|
+
lighten: zn
|
|
1870
1878
|
});
|
|
1871
|
-
function
|
|
1872
|
-
return [t, e] = [
|
|
1879
|
+
function O0(t, e, r = 0.5, n = {}) {
|
|
1880
|
+
return [t, e] = [b(t), b(e)], D(r) === "object" && ([r, n] = [0.5, r]), he(t, e, n)(r);
|
|
1873
1881
|
}
|
|
1874
|
-
function
|
|
1882
|
+
function Y0(t, e, r = {}) {
|
|
1875
1883
|
let n;
|
|
1876
|
-
|
|
1884
|
+
st(t) && ([n, r] = [t, e], [t, e] = n.rangeArgs.colors);
|
|
1877
1885
|
let {
|
|
1878
1886
|
maxDeltaE: a,
|
|
1879
1887
|
deltaEMethod: s,
|
|
1880
|
-
steps:
|
|
1881
|
-
maxSteps:
|
|
1888
|
+
steps: i = 2,
|
|
1889
|
+
maxSteps: o = 1e3,
|
|
1882
1890
|
...l
|
|
1883
1891
|
} = r;
|
|
1884
|
-
n || ([t, e] = [
|
|
1885
|
-
let
|
|
1886
|
-
if (
|
|
1887
|
-
|
|
1892
|
+
n || ([t, e] = [b(t), b(e)], n = he(t, e, l));
|
|
1893
|
+
let c = se(t, e), u = a > 0 ? Math.max(i, Math.ceil(c / a) + 1) : i, f = [];
|
|
1894
|
+
if (o !== void 0 && (u = Math.min(u, o)), u === 1)
|
|
1895
|
+
f = [{ p: 0.5, color: n(0.5) }];
|
|
1888
1896
|
else {
|
|
1889
1897
|
let h = 1 / (u - 1);
|
|
1890
|
-
|
|
1891
|
-
let
|
|
1892
|
-
return { p:
|
|
1898
|
+
f = Array.from({ length: u }, (p, d) => {
|
|
1899
|
+
let g = d * h;
|
|
1900
|
+
return { p: g, color: n(g) };
|
|
1893
1901
|
});
|
|
1894
1902
|
}
|
|
1895
1903
|
if (a > 0) {
|
|
1896
|
-
let h =
|
|
1897
|
-
if (
|
|
1904
|
+
let h = f.reduce((p, d, g) => {
|
|
1905
|
+
if (g === 0)
|
|
1898
1906
|
return 0;
|
|
1899
|
-
let M =
|
|
1907
|
+
let M = se(d.color, f[g - 1].color, s);
|
|
1900
1908
|
return Math.max(p, M);
|
|
1901
1909
|
}, 0);
|
|
1902
1910
|
for (; h > a; ) {
|
|
1903
1911
|
h = 0;
|
|
1904
|
-
for (let p = 1; p <
|
|
1905
|
-
let
|
|
1906
|
-
h = Math.max(h,
|
|
1912
|
+
for (let p = 1; p < f.length && f.length < o; p++) {
|
|
1913
|
+
let d = f[p - 1], g = f[p], M = (g.p + d.p) / 2, _ = n(M);
|
|
1914
|
+
h = Math.max(h, se(_, d.color), se(_, g.color)), f.splice(p, 0, { p: M, color: n(M) }), p++;
|
|
1907
1915
|
}
|
|
1908
1916
|
}
|
|
1909
1917
|
}
|
|
1910
|
-
return
|
|
1918
|
+
return f = f.map((h) => h.color), f;
|
|
1911
1919
|
}
|
|
1912
|
-
function
|
|
1913
|
-
if (
|
|
1914
|
-
let [l,
|
|
1915
|
-
return
|
|
1920
|
+
function he(t, e, r = {}) {
|
|
1921
|
+
if (st(t)) {
|
|
1922
|
+
let [l, c] = [t, e];
|
|
1923
|
+
return he(...l.rangeArgs.colors, { ...l.rangeArgs.options, ...c });
|
|
1916
1924
|
}
|
|
1917
|
-
let { space: n, outputSpace: a, progression: s, premultiplied:
|
|
1918
|
-
t =
|
|
1919
|
-
let
|
|
1920
|
-
if (n ? n =
|
|
1921
|
-
let l = r.hue = r.hue || "shorter",
|
|
1922
|
-
isNaN(u) && !isNaN(
|
|
1925
|
+
let { space: n, outputSpace: a, progression: s, premultiplied: i } = r;
|
|
1926
|
+
t = b(t), e = b(e), t = V(t), e = V(e);
|
|
1927
|
+
let o = { colors: [t, e], options: r };
|
|
1928
|
+
if (n ? n = m.get(n) : n = m.registry[v.interpolationSpace] || t.space, a = a ? m.get(a) : n, t = C(t, n), e = C(e, n), t = q(t), e = q(e), n.coords.h && n.coords.h.type === "angle") {
|
|
1929
|
+
let l = r.hue = r.hue || "shorter", c = [n, "h"], [u, f] = [P(t, c), P(e, c)];
|
|
1930
|
+
isNaN(u) && !isNaN(f) ? u = f : isNaN(f) && !isNaN(u) && (f = u), [u, f] = ur(l, [u, f]), O(t, c, u), O(e, c, f);
|
|
1923
1931
|
}
|
|
1924
|
-
return
|
|
1932
|
+
return i && (t.coords = t.coords.map((l) => l * t.alpha), e.coords = e.coords.map((l) => l * e.alpha)), Object.assign((l) => {
|
|
1925
1933
|
l = s ? s(l) : l;
|
|
1926
|
-
let
|
|
1927
|
-
let
|
|
1928
|
-
return oe(h,
|
|
1929
|
-
}), u = oe(t.alpha, e.alpha, l),
|
|
1930
|
-
return
|
|
1934
|
+
let c = t.coords.map((h, p) => {
|
|
1935
|
+
let d = e.coords[p];
|
|
1936
|
+
return oe(h, d, l);
|
|
1937
|
+
}), u = oe(t.alpha, e.alpha, l), f = { space: n, coords: c, alpha: u };
|
|
1938
|
+
return i && (f.coords = f.coords.map((h) => h / u)), a !== n && (f = C(f, a)), f;
|
|
1931
1939
|
}, {
|
|
1932
|
-
rangeArgs:
|
|
1940
|
+
rangeArgs: o
|
|
1933
1941
|
});
|
|
1934
1942
|
}
|
|
1935
|
-
function
|
|
1936
|
-
return
|
|
1943
|
+
function st(t) {
|
|
1944
|
+
return D(t) === "function" && !!t.rangeArgs;
|
|
1937
1945
|
}
|
|
1938
|
-
|
|
1939
|
-
function
|
|
1940
|
-
t.defineFunction("mix",
|
|
1946
|
+
v.interpolationSpace = "lab";
|
|
1947
|
+
function En(t) {
|
|
1948
|
+
t.defineFunction("mix", O0, { returns: "color" }), t.defineFunction("range", he, { returns: "function<color>" }), t.defineFunction("steps", Y0, { returns: "array<color>" });
|
|
1941
1949
|
}
|
|
1942
|
-
var
|
|
1950
|
+
var vn = /* @__PURE__ */ Object.freeze({
|
|
1943
1951
|
__proto__: null,
|
|
1944
|
-
isRange:
|
|
1945
|
-
mix:
|
|
1946
|
-
range:
|
|
1947
|
-
register:
|
|
1948
|
-
steps:
|
|
1949
|
-
}),
|
|
1952
|
+
isRange: st,
|
|
1953
|
+
mix: O0,
|
|
1954
|
+
range: he,
|
|
1955
|
+
register: En,
|
|
1956
|
+
steps: Y0
|
|
1957
|
+
}), D0 = new m({
|
|
1950
1958
|
id: "hsl",
|
|
1951
1959
|
name: "HSL",
|
|
1952
1960
|
coords: {
|
|
@@ -1964,32 +1972,32 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
1964
1972
|
name: "Lightness"
|
|
1965
1973
|
}
|
|
1966
1974
|
},
|
|
1967
|
-
base:
|
|
1975
|
+
base: te,
|
|
1968
1976
|
// Adapted from https://drafts.csswg.org/css-color-4/better-rgbToHsl.js
|
|
1969
1977
|
fromBase: (t) => {
|
|
1970
|
-
let e = Math.max(...t), r = Math.min(...t), [n, a, s] = t, [
|
|
1971
|
-
if (
|
|
1972
|
-
switch (
|
|
1978
|
+
let e = Math.max(...t), r = Math.min(...t), [n, a, s] = t, [i, o, l] = [NaN, 0, (r + e) / 2], c = e - r;
|
|
1979
|
+
if (c !== 0) {
|
|
1980
|
+
switch (o = l === 0 || l === 1 ? 0 : (e - l) / Math.min(l, 1 - l), e) {
|
|
1973
1981
|
case n:
|
|
1974
|
-
|
|
1982
|
+
i = (a - s) / c + (a < s ? 6 : 0);
|
|
1975
1983
|
break;
|
|
1976
1984
|
case a:
|
|
1977
|
-
|
|
1985
|
+
i = (s - n) / c + 2;
|
|
1978
1986
|
break;
|
|
1979
1987
|
case s:
|
|
1980
|
-
|
|
1988
|
+
i = (n - a) / c + 4;
|
|
1981
1989
|
}
|
|
1982
|
-
|
|
1990
|
+
i = i * 60;
|
|
1983
1991
|
}
|
|
1984
|
-
return
|
|
1992
|
+
return o < 0 && (i += 180, o = Math.abs(o)), i >= 360 && (i -= 360), [i, o * 100, l * 100];
|
|
1985
1993
|
},
|
|
1986
1994
|
// Adapted from https://en.wikipedia.org/wiki/HSL_and_HSV#HSL_to_RGB_alternative
|
|
1987
1995
|
toBase: (t) => {
|
|
1988
1996
|
let [e, r, n] = t;
|
|
1989
1997
|
e = e % 360, e < 0 && (e += 360), r /= 100, n /= 100;
|
|
1990
1998
|
function a(s) {
|
|
1991
|
-
let
|
|
1992
|
-
return n -
|
|
1999
|
+
let i = (s + e / 30) % 12, o = r * Math.min(n, 1 - n);
|
|
2000
|
+
return n - o * Math.max(-1, Math.min(i - 3, 9 - i, 1));
|
|
1993
2001
|
}
|
|
1994
2002
|
return [a(0), a(8), a(4)];
|
|
1995
2003
|
},
|
|
@@ -2003,7 +2011,7 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2003
2011
|
lastAlpha: !0
|
|
2004
2012
|
}
|
|
2005
2013
|
}
|
|
2006
|
-
}),
|
|
2014
|
+
}), X0 = new m({
|
|
2007
2015
|
id: "hsv",
|
|
2008
2016
|
name: "HSV",
|
|
2009
2017
|
coords: {
|
|
@@ -2021,7 +2029,7 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2021
2029
|
name: "Value"
|
|
2022
2030
|
}
|
|
2023
2031
|
},
|
|
2024
|
-
base:
|
|
2032
|
+
base: D0,
|
|
2025
2033
|
// https://en.wikipedia.org/wiki/HSL_and_HSV#Interconversion
|
|
2026
2034
|
fromBase(t) {
|
|
2027
2035
|
let [e, r, n] = t;
|
|
@@ -2053,7 +2061,7 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2053
2061
|
coords: ["<number> | <angle>", "<percentage> | <number>", "<percentage> | <number>"]
|
|
2054
2062
|
}
|
|
2055
2063
|
}
|
|
2056
|
-
}),
|
|
2064
|
+
}), An = new m({
|
|
2057
2065
|
id: "hwb",
|
|
2058
2066
|
name: "HWB",
|
|
2059
2067
|
coords: {
|
|
@@ -2071,7 +2079,7 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2071
2079
|
name: "Blackness"
|
|
2072
2080
|
}
|
|
2073
2081
|
},
|
|
2074
|
-
base:
|
|
2082
|
+
base: X0,
|
|
2075
2083
|
fromBase(t) {
|
|
2076
2084
|
let [e, r, n] = t;
|
|
2077
2085
|
return [e, n * (100 - r) / 100, 100 - n];
|
|
@@ -2081,11 +2089,11 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2081
2089
|
r /= 100, n /= 100;
|
|
2082
2090
|
let a = r + n;
|
|
2083
2091
|
if (a >= 1) {
|
|
2084
|
-
let
|
|
2085
|
-
return [e, 0,
|
|
2092
|
+
let o = r / a;
|
|
2093
|
+
return [e, 0, o * 100];
|
|
2086
2094
|
}
|
|
2087
|
-
let s = 1 - n,
|
|
2088
|
-
return [e,
|
|
2095
|
+
let s = 1 - n, i = s === 0 ? 0 : 1 - r / s;
|
|
2096
|
+
return [e, i * 100, s * 100];
|
|
2089
2097
|
},
|
|
2090
2098
|
formats: {
|
|
2091
2099
|
hwb: {
|
|
@@ -2093,61 +2101,61 @@ var v0 = /* @__PURE__ */ Object.freeze({
|
|
|
2093
2101
|
}
|
|
2094
2102
|
}
|
|
2095
2103
|
});
|
|
2096
|
-
const
|
|
2104
|
+
const kn = [
|
|
2097
2105
|
[0.5766690429101305, 0.1855582379065463, 0.1882286462349947],
|
|
2098
2106
|
[0.29734497525053605, 0.6273635662554661, 0.07529145849399788],
|
|
2099
2107
|
[0.02703136138641234, 0.07068885253582723, 0.9913375368376388]
|
|
2100
|
-
],
|
|
2108
|
+
], Hn = [
|
|
2101
2109
|
[2.0415879038107465, -0.5650069742788596, -0.34473135077832956],
|
|
2102
2110
|
[-0.9692436362808795, 1.8759675015077202, 0.04155505740717557],
|
|
2103
2111
|
[0.013444280632031142, -0.11836239223101838, 1.0151749943912054]
|
|
2104
2112
|
];
|
|
2105
|
-
var
|
|
2113
|
+
var j0 = new z({
|
|
2106
2114
|
id: "a98rgb-linear",
|
|
2107
2115
|
cssId: "--a98-rgb-linear",
|
|
2108
2116
|
name: "Linear Adobe® 98 RGB compatible",
|
|
2109
2117
|
white: "D65",
|
|
2110
|
-
toXYZ_M:
|
|
2111
|
-
fromXYZ_M:
|
|
2112
|
-
}),
|
|
2118
|
+
toXYZ_M: kn,
|
|
2119
|
+
fromXYZ_M: Hn
|
|
2120
|
+
}), Tn = new z({
|
|
2113
2121
|
id: "a98rgb",
|
|
2114
2122
|
cssId: "a98-rgb",
|
|
2115
2123
|
name: "Adobe® 98 RGB compatible",
|
|
2116
|
-
base:
|
|
2124
|
+
base: j0,
|
|
2117
2125
|
toBase: (t) => t.map((e) => Math.pow(Math.abs(e), 563 / 256) * Math.sign(e)),
|
|
2118
2126
|
fromBase: (t) => t.map((e) => Math.pow(Math.abs(e), 256 / 563) * Math.sign(e))
|
|
2119
2127
|
});
|
|
2120
|
-
const
|
|
2128
|
+
const On = [
|
|
2121
2129
|
[0.7977666449006423, 0.13518129740053308, 0.0313477341283922],
|
|
2122
2130
|
[0.2880748288194013, 0.711835234241873, 8993693872564e-17],
|
|
2123
2131
|
[0, 0, 0.8251046025104602]
|
|
2124
|
-
],
|
|
2132
|
+
], Yn = [
|
|
2125
2133
|
[1.3457868816471583, -0.25557208737979464, -0.05110186497554526],
|
|
2126
2134
|
[-0.5446307051249019, 1.5082477428451468, 0.02052744743642139],
|
|
2127
2135
|
[0, 0, 1.2119675456389452]
|
|
2128
2136
|
];
|
|
2129
|
-
var
|
|
2137
|
+
var q0 = new z({
|
|
2130
2138
|
id: "prophoto-linear",
|
|
2131
2139
|
cssId: "--prophoto-rgb-linear",
|
|
2132
2140
|
name: "Linear ProPhoto",
|
|
2133
2141
|
white: "D50",
|
|
2134
|
-
base:
|
|
2135
|
-
toXYZ_M:
|
|
2136
|
-
fromXYZ_M:
|
|
2142
|
+
base: rt,
|
|
2143
|
+
toXYZ_M: On,
|
|
2144
|
+
fromXYZ_M: Yn
|
|
2137
2145
|
});
|
|
2138
|
-
const
|
|
2139
|
-
var
|
|
2146
|
+
const Dn = 1 / 512, Xn = 16 / 512;
|
|
2147
|
+
var jn = new z({
|
|
2140
2148
|
id: "prophoto",
|
|
2141
2149
|
cssId: "prophoto-rgb",
|
|
2142
2150
|
name: "ProPhoto",
|
|
2143
|
-
base:
|
|
2151
|
+
base: q0,
|
|
2144
2152
|
toBase(t) {
|
|
2145
|
-
return t.map((e) => e <
|
|
2153
|
+
return t.map((e) => e < Xn ? e / 16 : e ** 1.8);
|
|
2146
2154
|
},
|
|
2147
2155
|
fromBase(t) {
|
|
2148
|
-
return t.map((e) => e >=
|
|
2156
|
+
return t.map((e) => e >= Dn ? e ** (1 / 1.8) : 16 * e);
|
|
2149
2157
|
}
|
|
2150
|
-
}),
|
|
2158
|
+
}), qn = new m({
|
|
2151
2159
|
id: "oklch",
|
|
2152
2160
|
name: "Oklch",
|
|
2153
2161
|
coords: {
|
|
@@ -2166,7 +2174,7 @@ var k0 = new N({
|
|
|
2166
2174
|
}
|
|
2167
2175
|
},
|
|
2168
2176
|
white: "D65",
|
|
2169
|
-
base:
|
|
2177
|
+
base: K,
|
|
2170
2178
|
fromBase(t) {
|
|
2171
2179
|
let [e, r, n] = t, a;
|
|
2172
2180
|
const s = 2e-4;
|
|
@@ -2175,7 +2183,7 @@ var k0 = new N({
|
|
|
2175
2183
|
// OKLab L is still L
|
|
2176
2184
|
Math.sqrt(r ** 2 + n ** 2),
|
|
2177
2185
|
// Chroma
|
|
2178
|
-
|
|
2186
|
+
H(a)
|
|
2179
2187
|
// Hue, in degrees [0 to 360)
|
|
2180
2188
|
];
|
|
2181
2189
|
},
|
|
@@ -2190,9 +2198,9 @@ var k0 = new N({
|
|
|
2190
2198
|
}
|
|
2191
2199
|
}
|
|
2192
2200
|
});
|
|
2193
|
-
let
|
|
2194
|
-
const
|
|
2195
|
-
var
|
|
2201
|
+
let Z0 = B.D65;
|
|
2202
|
+
const Zn = 216 / 24389, jt = 24389 / 27, [qt, Zt] = $e({ space: N, coords: Z0 });
|
|
2203
|
+
var G0 = new m({
|
|
2196
2204
|
id: "luv",
|
|
2197
2205
|
name: "Luv",
|
|
2198
2206
|
coords: {
|
|
@@ -2208,33 +2216,33 @@ var Dr = new d({
|
|
|
2208
2216
|
refRange: [-215, 215]
|
|
2209
2217
|
}
|
|
2210
2218
|
},
|
|
2211
|
-
white:
|
|
2212
|
-
base:
|
|
2219
|
+
white: Z0,
|
|
2220
|
+
base: N,
|
|
2213
2221
|
// Convert D65-adapted XYZ to Luv
|
|
2214
2222
|
// https://en.wikipedia.org/wiki/CIELUV#The_forward_transformation
|
|
2215
2223
|
fromBase(t) {
|
|
2216
|
-
let e = [
|
|
2224
|
+
let e = [R(t[0]), R(t[1]), R(t[2])], r = e[1], [n, a] = $e({ space: N, coords: e });
|
|
2217
2225
|
if (!Number.isFinite(n) || !Number.isFinite(a))
|
|
2218
2226
|
return [0, 0, 0];
|
|
2219
|
-
let s = r <=
|
|
2227
|
+
let s = r <= Zn ? jt * r : 116 * Math.cbrt(r) - 16;
|
|
2220
2228
|
return [
|
|
2221
2229
|
s,
|
|
2222
|
-
13 * s * (n -
|
|
2223
|
-
13 * s * (a -
|
|
2230
|
+
13 * s * (n - qt),
|
|
2231
|
+
13 * s * (a - Zt)
|
|
2224
2232
|
];
|
|
2225
2233
|
},
|
|
2226
2234
|
// Convert Luv to D65-adapted XYZ
|
|
2227
2235
|
// https://en.wikipedia.org/wiki/CIELUV#The_reverse_transformation
|
|
2228
2236
|
toBase(t) {
|
|
2229
2237
|
let [e, r, n] = t;
|
|
2230
|
-
if (e === 0 ||
|
|
2238
|
+
if (e === 0 || X(e))
|
|
2231
2239
|
return [0, 0, 0];
|
|
2232
|
-
r =
|
|
2233
|
-
let a = r / (13 * e) +
|
|
2240
|
+
r = R(r), n = R(n);
|
|
2241
|
+
let a = r / (13 * e) + qt, s = n / (13 * e) + Zt, i = e <= 8 ? e / jt : Math.pow((e + 16) / 116, 3);
|
|
2234
2242
|
return [
|
|
2235
|
-
|
|
2236
|
-
|
|
2237
|
-
|
|
2243
|
+
i * (9 * a / (4 * s)),
|
|
2244
|
+
i,
|
|
2245
|
+
i * ((12 - 3 * a - 20 * s) / (4 * s))
|
|
2238
2246
|
];
|
|
2239
2247
|
},
|
|
2240
2248
|
formats: {
|
|
@@ -2243,7 +2251,7 @@ var Dr = new d({
|
|
|
2243
2251
|
coords: ["<number> | <percentage>", "<number> | <percentage>[-1,1]", "<number> | <percentage>[-1,1]"]
|
|
2244
2252
|
}
|
|
2245
2253
|
}
|
|
2246
|
-
}),
|
|
2254
|
+
}), it = new m({
|
|
2247
2255
|
id: "lchuv",
|
|
2248
2256
|
name: "LChuv",
|
|
2249
2257
|
coords: {
|
|
@@ -2261,7 +2269,7 @@ var Dr = new d({
|
|
|
2261
2269
|
name: "Hue"
|
|
2262
2270
|
}
|
|
2263
2271
|
},
|
|
2264
|
-
base:
|
|
2272
|
+
base: G0,
|
|
2265
2273
|
fromBase(t) {
|
|
2266
2274
|
let [e, r, n] = t, a;
|
|
2267
2275
|
const s = 0.02;
|
|
@@ -2270,7 +2278,7 @@ var Dr = new d({
|
|
|
2270
2278
|
// L is still L
|
|
2271
2279
|
Math.sqrt(r ** 2 + n ** 2),
|
|
2272
2280
|
// Chroma
|
|
2273
|
-
|
|
2281
|
+
H(a)
|
|
2274
2282
|
// Hue, in degrees [0 to 360)
|
|
2275
2283
|
];
|
|
2276
2284
|
},
|
|
@@ -2292,33 +2300,33 @@ var Dr = new d({
|
|
|
2292
2300
|
}
|
|
2293
2301
|
}
|
|
2294
2302
|
});
|
|
2295
|
-
const
|
|
2296
|
-
function
|
|
2303
|
+
const Gn = 216 / 24389, Jn = 24389 / 27, Gt = x[0][0], Jt = x[0][1], Ye = x[0][2], Ft = x[1][0], Wt = x[1][1], De = x[1][2], Qt = x[2][0], Ut = x[2][1], Xe = x[2][2];
|
|
2304
|
+
function Q(t, e, r) {
|
|
2297
2305
|
const n = e / (Math.sin(r) - t * Math.cos(r));
|
|
2298
2306
|
return n < 0 ? 1 / 0 : n;
|
|
2299
2307
|
}
|
|
2300
|
-
function
|
|
2301
|
-
const e = Math.pow(t + 16, 3) / 1560896, r = e >
|
|
2308
|
+
function Be(t) {
|
|
2309
|
+
const e = Math.pow(t + 16, 3) / 1560896, r = e > Gn ? e : t / Jn, n = r * (284517 * Gt - 94839 * Ye), a = r * (838422 * Ye + 769860 * Jt + 731718 * Gt), s = r * (632260 * Ye - 126452 * Jt), i = r * (284517 * Ft - 94839 * De), o = r * (838422 * De + 769860 * Wt + 731718 * Ft), l = r * (632260 * De - 126452 * Wt), c = r * (284517 * Qt - 94839 * Xe), u = r * (838422 * Xe + 769860 * Ut + 731718 * Qt), f = r * (632260 * Xe - 126452 * Ut);
|
|
2302
2310
|
return {
|
|
2303
2311
|
r0s: n / s,
|
|
2304
2312
|
r0i: a * t / s,
|
|
2305
2313
|
r1s: n / (s + 126452),
|
|
2306
2314
|
r1i: (a - 769860) * t / (s + 126452),
|
|
2307
|
-
g0s:
|
|
2308
|
-
g0i:
|
|
2309
|
-
g1s:
|
|
2310
|
-
g1i: (
|
|
2311
|
-
b0s:
|
|
2312
|
-
b0i: u * t /
|
|
2313
|
-
b1s:
|
|
2314
|
-
b1i: (u - 769860) * t / (
|
|
2315
|
+
g0s: i / l,
|
|
2316
|
+
g0i: o * t / l,
|
|
2317
|
+
g1s: i / (l + 126452),
|
|
2318
|
+
g1i: (o - 769860) * t / (l + 126452),
|
|
2319
|
+
b0s: c / f,
|
|
2320
|
+
b0i: u * t / f,
|
|
2321
|
+
b1s: c / (f + 126452),
|
|
2322
|
+
b1i: (u - 769860) * t / (f + 126452)
|
|
2315
2323
|
};
|
|
2316
2324
|
}
|
|
2317
|
-
function
|
|
2318
|
-
const r = e / 360 * Math.PI * 2, n =
|
|
2319
|
-
return Math.min(n, a, s,
|
|
2325
|
+
function Kt(t, e) {
|
|
2326
|
+
const r = e / 360 * Math.PI * 2, n = Q(t.r0s, t.r0i, r), a = Q(t.r1s, t.r1i, r), s = Q(t.g0s, t.g0i, r), i = Q(t.g1s, t.g1i, r), o = Q(t.b0s, t.b0i, r), l = Q(t.b1s, t.b1i, r);
|
|
2327
|
+
return Math.min(n, a, s, i, o, l);
|
|
2320
2328
|
}
|
|
2321
|
-
var
|
|
2329
|
+
var Fn = new m({
|
|
2322
2330
|
id: "hsluv",
|
|
2323
2331
|
name: "HSLuv",
|
|
2324
2332
|
coords: {
|
|
@@ -2336,31 +2344,31 @@ var D0 = new d({
|
|
|
2336
2344
|
name: "Lightness"
|
|
2337
2345
|
}
|
|
2338
2346
|
},
|
|
2339
|
-
base:
|
|
2340
|
-
gamutSpace:
|
|
2347
|
+
base: it,
|
|
2348
|
+
gamutSpace: te,
|
|
2341
2349
|
// Convert LCHuv to HSLuv
|
|
2342
2350
|
fromBase(t) {
|
|
2343
|
-
let [e, r, n] = [
|
|
2351
|
+
let [e, r, n] = [R(t[0]), R(t[1]), R(t[2])], a;
|
|
2344
2352
|
if (e > 99.9999999)
|
|
2345
2353
|
a = 0, e = 100;
|
|
2346
2354
|
else if (e < 1e-8)
|
|
2347
2355
|
a = 0, e = 0;
|
|
2348
2356
|
else {
|
|
2349
|
-
let s =
|
|
2350
|
-
a = r /
|
|
2357
|
+
let s = Be(e), i = Kt(s, n);
|
|
2358
|
+
a = r / i * 100;
|
|
2351
2359
|
}
|
|
2352
2360
|
return [n, a, e];
|
|
2353
2361
|
},
|
|
2354
2362
|
// Convert HSLuv to LCHuv
|
|
2355
2363
|
toBase(t) {
|
|
2356
|
-
let [e, r, n] = [
|
|
2364
|
+
let [e, r, n] = [R(t[0]), R(t[1]), R(t[2])], a;
|
|
2357
2365
|
if (n > 99.9999999)
|
|
2358
2366
|
n = 100, a = 0;
|
|
2359
2367
|
else if (n < 1e-8)
|
|
2360
2368
|
n = 0, a = 0;
|
|
2361
2369
|
else {
|
|
2362
|
-
let s =
|
|
2363
|
-
a =
|
|
2370
|
+
let s = Be(n);
|
|
2371
|
+
a = Kt(s, e) / 100 * r;
|
|
2364
2372
|
}
|
|
2365
2373
|
return [n, a, e];
|
|
2366
2374
|
},
|
|
@@ -2380,14 +2388,14 @@ x[1][2];
|
|
|
2380
2388
|
x[2][0];
|
|
2381
2389
|
x[2][1];
|
|
2382
2390
|
x[2][2];
|
|
2383
|
-
function
|
|
2391
|
+
function U(t, e) {
|
|
2384
2392
|
return Math.abs(e) / Math.sqrt(Math.pow(t, 2) + 1);
|
|
2385
2393
|
}
|
|
2386
|
-
function
|
|
2387
|
-
let e =
|
|
2388
|
-
return Math.min(e, r, n, a, s,
|
|
2394
|
+
function Vt(t) {
|
|
2395
|
+
let e = U(t.r0s, t.r0i), r = U(t.r1s, t.r1i), n = U(t.g0s, t.g0i), a = U(t.g1s, t.g1i), s = U(t.b0s, t.b0i), i = U(t.b1s, t.b1i);
|
|
2396
|
+
return Math.min(e, r, n, a, s, i);
|
|
2389
2397
|
}
|
|
2390
|
-
var
|
|
2398
|
+
var Wn = new m({
|
|
2391
2399
|
id: "hpluv",
|
|
2392
2400
|
name: "HPLuv",
|
|
2393
2401
|
coords: {
|
|
@@ -2405,31 +2413,31 @@ var j0 = new d({
|
|
|
2405
2413
|
name: "Lightness"
|
|
2406
2414
|
}
|
|
2407
2415
|
},
|
|
2408
|
-
base:
|
|
2416
|
+
base: it,
|
|
2409
2417
|
gamutSpace: "self",
|
|
2410
2418
|
// Convert LCHuv to HPLuv
|
|
2411
2419
|
fromBase(t) {
|
|
2412
|
-
let [e, r, n] = [
|
|
2420
|
+
let [e, r, n] = [R(t[0]), R(t[1]), R(t[2])], a;
|
|
2413
2421
|
if (e > 99.9999999)
|
|
2414
2422
|
a = 0, e = 100;
|
|
2415
2423
|
else if (e < 1e-8)
|
|
2416
2424
|
a = 0, e = 0;
|
|
2417
2425
|
else {
|
|
2418
|
-
let s =
|
|
2419
|
-
a = r /
|
|
2426
|
+
let s = Be(e), i = Vt(s);
|
|
2427
|
+
a = r / i * 100;
|
|
2420
2428
|
}
|
|
2421
2429
|
return [n, a, e];
|
|
2422
2430
|
},
|
|
2423
2431
|
// Convert HPLuv to LCHuv
|
|
2424
2432
|
toBase(t) {
|
|
2425
|
-
let [e, r, n] = [
|
|
2433
|
+
let [e, r, n] = [R(t[0]), R(t[1]), R(t[2])], a;
|
|
2426
2434
|
if (n > 99.9999999)
|
|
2427
2435
|
n = 100, a = 0;
|
|
2428
2436
|
else if (n < 1e-8)
|
|
2429
2437
|
n = 0, a = 0;
|
|
2430
2438
|
else {
|
|
2431
|
-
let s =
|
|
2432
|
-
a =
|
|
2439
|
+
let s = Be(n);
|
|
2440
|
+
a = Vt(s) / 100 * r;
|
|
2433
2441
|
}
|
|
2434
2442
|
return [n, a, e];
|
|
2435
2443
|
},
|
|
@@ -2440,61 +2448,61 @@ var j0 = new d({
|
|
|
2440
2448
|
}
|
|
2441
2449
|
}
|
|
2442
2450
|
});
|
|
2443
|
-
const
|
|
2444
|
-
var
|
|
2451
|
+
const e0 = 203, t0 = 2610 / 2 ** 14, Qn = 2 ** 14 / 2610, Un = 2523 / 2 ** 5, r0 = 2 ** 5 / 2523, n0 = 3424 / 2 ** 12, a0 = 2413 / 2 ** 7, s0 = 2392 / 2 ** 7;
|
|
2452
|
+
var Kn = new z({
|
|
2445
2453
|
id: "rec2100pq",
|
|
2446
2454
|
cssId: "rec2100-pq",
|
|
2447
2455
|
name: "REC.2100-PQ",
|
|
2448
|
-
base:
|
|
2456
|
+
base: ze,
|
|
2449
2457
|
toBase(t) {
|
|
2450
2458
|
return t.map(function(e) {
|
|
2451
|
-
return (Math.max(e **
|
|
2459
|
+
return (Math.max(e ** r0 - n0, 0) / (a0 - s0 * e ** r0)) ** Qn * 1e4 / e0;
|
|
2452
2460
|
});
|
|
2453
2461
|
},
|
|
2454
2462
|
fromBase(t) {
|
|
2455
2463
|
return t.map(function(e) {
|
|
2456
|
-
let r = Math.max(e *
|
|
2457
|
-
return (n / a) **
|
|
2464
|
+
let r = Math.max(e * e0 / 1e4, 0), n = n0 + a0 * r ** t0, a = 1 + s0 * r ** t0;
|
|
2465
|
+
return (n / a) ** Un;
|
|
2458
2466
|
});
|
|
2459
2467
|
}
|
|
2460
2468
|
});
|
|
2461
|
-
const
|
|
2462
|
-
var
|
|
2469
|
+
const i0 = 0.17883277, o0 = 0.28466892, l0 = 0.55991073, je = 3.7743;
|
|
2470
|
+
var Vn = new z({
|
|
2463
2471
|
id: "rec2100hlg",
|
|
2464
2472
|
cssId: "rec2100-hlg",
|
|
2465
2473
|
name: "REC.2100-HLG",
|
|
2466
2474
|
referred: "scene",
|
|
2467
|
-
base:
|
|
2475
|
+
base: ze,
|
|
2468
2476
|
toBase(t) {
|
|
2469
2477
|
return t.map(function(e) {
|
|
2470
|
-
return e <= 0.5 ? e ** 2 / 3 *
|
|
2478
|
+
return e <= 0.5 ? e ** 2 / 3 * je : (Math.exp((e - l0) / i0) + o0) / 12 * je;
|
|
2471
2479
|
});
|
|
2472
2480
|
},
|
|
2473
2481
|
fromBase(t) {
|
|
2474
2482
|
return t.map(function(e) {
|
|
2475
|
-
return e /=
|
|
2483
|
+
return e /= je, e <= 1 / 12 ? Math.sqrt(3 * e) : i0 * Math.log(12 * e - o0) + l0;
|
|
2476
2484
|
});
|
|
2477
2485
|
}
|
|
2478
2486
|
});
|
|
2479
|
-
const
|
|
2487
|
+
const J0 = {};
|
|
2480
2488
|
j.add("chromatic-adaptation-start", (t) => {
|
|
2481
|
-
t.options.method && (t.M =
|
|
2489
|
+
t.options.method && (t.M = F0(t.W1, t.W2, t.options.method));
|
|
2482
2490
|
});
|
|
2483
2491
|
j.add("chromatic-adaptation-end", (t) => {
|
|
2484
|
-
t.M || (t.M =
|
|
2492
|
+
t.M || (t.M = F0(t.W1, t.W2, t.options.method));
|
|
2485
2493
|
});
|
|
2486
|
-
function
|
|
2487
|
-
|
|
2494
|
+
function Pe({ id: t, toCone_M: e, fromCone_M: r }) {
|
|
2495
|
+
J0[t] = arguments[0];
|
|
2488
2496
|
}
|
|
2489
|
-
function
|
|
2490
|
-
let n =
|
|
2491
|
-
[
|
|
2497
|
+
function F0(t, e, r = "Bradford") {
|
|
2498
|
+
let n = J0[r], [a, s, i] = L(n.toCone_M, t), [o, l, c] = L(n.toCone_M, e), u = [
|
|
2499
|
+
[o / a, 0, 0],
|
|
2492
2500
|
[0, l / s, 0],
|
|
2493
|
-
[0, 0,
|
|
2494
|
-
],
|
|
2495
|
-
return
|
|
2501
|
+
[0, 0, c / i]
|
|
2502
|
+
], f = L(u, n.toCone_M);
|
|
2503
|
+
return L(n.fromCone_M, f);
|
|
2496
2504
|
}
|
|
2497
|
-
|
|
2505
|
+
Pe({
|
|
2498
2506
|
id: "von Kries",
|
|
2499
2507
|
toCone_M: [
|
|
2500
2508
|
[0.40024, 0.7076, -0.08081],
|
|
@@ -2507,7 +2515,7 @@ $e({
|
|
|
2507
2515
|
[0, 0, 1.0890636230968613]
|
|
2508
2516
|
]
|
|
2509
2517
|
});
|
|
2510
|
-
|
|
2518
|
+
Pe({
|
|
2511
2519
|
id: "Bradford",
|
|
2512
2520
|
// Convert an array of XYZ values in the range 0.0 - 1.0
|
|
2513
2521
|
// to cone fundamentals
|
|
@@ -2523,7 +2531,7 @@ $e({
|
|
|
2523
2531
|
[-0.00852866457517732, 0.04004282165408486, 0.96848669578755]
|
|
2524
2532
|
]
|
|
2525
2533
|
});
|
|
2526
|
-
|
|
2534
|
+
Pe({
|
|
2527
2535
|
id: "CAT02",
|
|
2528
2536
|
// with complete chromatic adaptation to W2, so D = 1.0
|
|
2529
2537
|
toCone_M: [
|
|
@@ -2537,7 +2545,7 @@ $e({
|
|
|
2537
2545
|
[-0.009627608738429355, -0.00569803121611342, 1.0153256399545427]
|
|
2538
2546
|
]
|
|
2539
2547
|
});
|
|
2540
|
-
|
|
2548
|
+
Pe({
|
|
2541
2549
|
id: "CAT16",
|
|
2542
2550
|
toCone_M: [
|
|
2543
2551
|
[0.401288, 0.650173, -0.051461],
|
|
@@ -2571,16 +2579,16 @@ Object.assign(B, {
|
|
|
2571
2579
|
F11: [1.00962, 1, 0.6435]
|
|
2572
2580
|
});
|
|
2573
2581
|
B.ACES = [0.32168 / 0.33767, 1, (1 - 0.32168 - 0.33767) / 0.33767];
|
|
2574
|
-
const
|
|
2582
|
+
const ea = [
|
|
2575
2583
|
[0.6624541811085053, 0.13400420645643313, 0.1561876870049078],
|
|
2576
2584
|
[0.27222871678091454, 0.6740817658111484, 0.05368951740793705],
|
|
2577
2585
|
[-0.005574649490394108, 0.004060733528982826, 1.0103391003129971]
|
|
2578
|
-
],
|
|
2586
|
+
], ta = [
|
|
2579
2587
|
[1.6410233796943257, -0.32480329418479, -0.23642469523761225],
|
|
2580
2588
|
[-0.6636628587229829, 1.6153315916573379, 0.016756347685530137],
|
|
2581
2589
|
[0.011721894328375376, -0.008284441996237409, 0.9883948585390215]
|
|
2582
2590
|
];
|
|
2583
|
-
var
|
|
2591
|
+
var W0 = new z({
|
|
2584
2592
|
id: "acescg",
|
|
2585
2593
|
cssId: "--acescg",
|
|
2586
2594
|
name: "ACEScg",
|
|
@@ -2603,11 +2611,11 @@ var qr = new N({
|
|
|
2603
2611
|
},
|
|
2604
2612
|
referred: "scene",
|
|
2605
2613
|
white: B.ACES,
|
|
2606
|
-
toXYZ_M:
|
|
2607
|
-
fromXYZ_M:
|
|
2614
|
+
toXYZ_M: ea,
|
|
2615
|
+
fromXYZ_M: ta
|
|
2608
2616
|
});
|
|
2609
|
-
const
|
|
2610
|
-
var
|
|
2617
|
+
const Le = 2 ** -16, qe = -0.35828683, Se = (Math.log2(65504) + 9.72) / 17.52;
|
|
2618
|
+
var ra = new z({
|
|
2611
2619
|
id: "acescc",
|
|
2612
2620
|
cssId: "--acescc",
|
|
2613
2621
|
name: "ACEScc",
|
|
@@ -2620,71 +2628,71 @@ var W0 = new N({
|
|
|
2620
2628
|
// so that all positive ACES values are maintained."
|
|
2621
2629
|
coords: {
|
|
2622
2630
|
r: {
|
|
2623
|
-
range: [
|
|
2631
|
+
range: [qe, Se],
|
|
2624
2632
|
name: "Red"
|
|
2625
2633
|
},
|
|
2626
2634
|
g: {
|
|
2627
|
-
range: [
|
|
2635
|
+
range: [qe, Se],
|
|
2628
2636
|
name: "Green"
|
|
2629
2637
|
},
|
|
2630
2638
|
b: {
|
|
2631
|
-
range: [
|
|
2639
|
+
range: [qe, Se],
|
|
2632
2640
|
name: "Blue"
|
|
2633
2641
|
}
|
|
2634
2642
|
},
|
|
2635
2643
|
referred: "scene",
|
|
2636
|
-
base:
|
|
2644
|
+
base: W0,
|
|
2637
2645
|
// from section 4.4.2 Decoding Function
|
|
2638
2646
|
toBase(t) {
|
|
2639
2647
|
const e = -0.3013698630136986;
|
|
2640
2648
|
return t.map(function(r) {
|
|
2641
|
-
return r <= e ? (2 ** (r * 17.52 - 9.72) -
|
|
2649
|
+
return r <= e ? (2 ** (r * 17.52 - 9.72) - Le) * 2 : r < Se ? 2 ** (r * 17.52 - 9.72) : 65504;
|
|
2642
2650
|
});
|
|
2643
2651
|
},
|
|
2644
2652
|
// Non-linear encoding function from S-2014-003, section 4.4.1 Encoding Function
|
|
2645
2653
|
fromBase(t) {
|
|
2646
2654
|
return t.map(function(e) {
|
|
2647
|
-
return e <= 0 ? (Math.log2(
|
|
2655
|
+
return e <= 0 ? (Math.log2(Le) + 9.72) / 17.52 : e < Le ? (Math.log2(Le + e * 0.5) + 9.72) / 17.52 : (Math.log2(e) + 9.72) / 17.52;
|
|
2648
2656
|
});
|
|
2649
2657
|
}
|
|
2650
2658
|
// encoded media white (rgb 1,1,1) => linear [ 222.861, 222.861, 222.861 ]
|
|
2651
2659
|
// encoded media black (rgb 0,0,0) => linear [ 0.0011857, 0.0011857, 0.0011857]
|
|
2652
|
-
}),
|
|
2660
|
+
}), c0 = /* @__PURE__ */ Object.freeze({
|
|
2653
2661
|
__proto__: null,
|
|
2654
|
-
A98RGB:
|
|
2655
|
-
A98RGB_Linear:
|
|
2656
|
-
ACEScc:
|
|
2657
|
-
ACEScg:
|
|
2658
|
-
CAM16_JMh:
|
|
2659
|
-
HCT:
|
|
2660
|
-
HPLuv:
|
|
2661
|
-
HSL:
|
|
2662
|
-
HSLuv:
|
|
2663
|
-
HSV:
|
|
2664
|
-
HWB:
|
|
2665
|
-
ICTCP:
|
|
2666
|
-
JzCzHz:
|
|
2667
|
-
Jzazbz:
|
|
2668
|
-
LCH:
|
|
2669
|
-
LCHuv:
|
|
2670
|
-
Lab:
|
|
2671
|
-
Lab_D65:
|
|
2672
|
-
Luv:
|
|
2673
|
-
OKLCH:
|
|
2674
|
-
OKLab:
|
|
2675
|
-
P3:
|
|
2676
|
-
P3_Linear:
|
|
2677
|
-
ProPhoto:
|
|
2678
|
-
ProPhoto_Linear:
|
|
2679
|
-
REC_2020:
|
|
2680
|
-
REC_2020_Linear:
|
|
2681
|
-
REC_2100_HLG:
|
|
2682
|
-
REC_2100_PQ:
|
|
2683
|
-
XYZ_ABS_D65:
|
|
2684
|
-
XYZ_D50:
|
|
2685
|
-
XYZ_D65:
|
|
2686
|
-
sRGB:
|
|
2687
|
-
sRGB_Linear:
|
|
2662
|
+
A98RGB: Tn,
|
|
2663
|
+
A98RGB_Linear: j0,
|
|
2664
|
+
ACEScc: ra,
|
|
2665
|
+
ACEScg: W0,
|
|
2666
|
+
CAM16_JMh: jr,
|
|
2667
|
+
HCT: ce,
|
|
2668
|
+
HPLuv: Wn,
|
|
2669
|
+
HSL: D0,
|
|
2670
|
+
HSLuv: Fn,
|
|
2671
|
+
HSV: X0,
|
|
2672
|
+
HWB: An,
|
|
2673
|
+
ICTCP: Fe,
|
|
2674
|
+
JzCzHz: Je,
|
|
2675
|
+
Jzazbz: S0,
|
|
2676
|
+
LCH: le,
|
|
2677
|
+
LCHuv: it,
|
|
2678
|
+
Lab: E,
|
|
2679
|
+
Lab_D65: Ue,
|
|
2680
|
+
Luv: G0,
|
|
2681
|
+
OKLCH: qn,
|
|
2682
|
+
OKLab: K,
|
|
2683
|
+
P3: k0,
|
|
2684
|
+
P3_Linear: v0,
|
|
2685
|
+
ProPhoto: jn,
|
|
2686
|
+
ProPhoto_Linear: q0,
|
|
2687
|
+
REC_2020: E0,
|
|
2688
|
+
REC_2020_Linear: ze,
|
|
2689
|
+
REC_2100_HLG: Vn,
|
|
2690
|
+
REC_2100_PQ: Kn,
|
|
2691
|
+
XYZ_ABS_D65: nt,
|
|
2692
|
+
XYZ_D50: rt,
|
|
2693
|
+
XYZ_D65: N,
|
|
2694
|
+
sRGB: te,
|
|
2695
|
+
sRGB_Linear: A0
|
|
2688
2696
|
});
|
|
2689
2697
|
class w {
|
|
2690
2698
|
/**
|
|
@@ -2698,21 +2706,21 @@ class w {
|
|
|
2698
2706
|
*/
|
|
2699
2707
|
constructor(...e) {
|
|
2700
2708
|
let r;
|
|
2701
|
-
e.length === 1 && (r =
|
|
2709
|
+
e.length === 1 && (r = b(e[0]));
|
|
2702
2710
|
let n, a, s;
|
|
2703
2711
|
r ? (n = r.space || r.spaceId, a = r.coords, s = r.alpha) : [n, a, s] = e, Object.defineProperty(this, "space", {
|
|
2704
|
-
value:
|
|
2712
|
+
value: m.get(n),
|
|
2705
2713
|
writable: !1,
|
|
2706
2714
|
enumerable: !0,
|
|
2707
2715
|
configurable: !0
|
|
2708
2716
|
// see note in https://262.ecma-international.org/8.0/#sec-proxy-object-internal-methods-and-internal-slots-get-p-receiver
|
|
2709
2717
|
}), this.coords = a ? a.slice() : [0, 0, 0], this.alpha = s > 1 || s === void 0 ? 1 : s < 0 ? 0 : s;
|
|
2710
|
-
for (let
|
|
2711
|
-
this.coords[
|
|
2712
|
-
for (let
|
|
2713
|
-
Object.defineProperty(this,
|
|
2714
|
-
get: () => this.get(
|
|
2715
|
-
set: (
|
|
2718
|
+
for (let i = 0; i < this.coords.length; i++)
|
|
2719
|
+
this.coords[i] === "NaN" && (this.coords[i] = NaN);
|
|
2720
|
+
for (let i in this.space.coords)
|
|
2721
|
+
Object.defineProperty(this, i, {
|
|
2722
|
+
get: () => this.get(i),
|
|
2723
|
+
set: (o) => this.set(i, o)
|
|
2716
2724
|
});
|
|
2717
2725
|
}
|
|
2718
2726
|
get spaceId() {
|
|
@@ -2729,7 +2737,7 @@ class w {
|
|
|
2729
2737
|
};
|
|
2730
2738
|
}
|
|
2731
2739
|
display(...e) {
|
|
2732
|
-
let r =
|
|
2740
|
+
let r = sn(this, ...e);
|
|
2733
2741
|
return r.color = new w(r.color), r;
|
|
2734
2742
|
}
|
|
2735
2743
|
/**
|
|
@@ -2740,21 +2748,21 @@ class w {
|
|
|
2740
2748
|
return e instanceof w ? e : new w(e, ...r);
|
|
2741
2749
|
}
|
|
2742
2750
|
static defineFunction(e, r, n = r) {
|
|
2743
|
-
let { instance: a = !0, returns: s } = n,
|
|
2744
|
-
let l = r(...
|
|
2751
|
+
let { instance: a = !0, returns: s } = n, i = function(...o) {
|
|
2752
|
+
let l = r(...o);
|
|
2745
2753
|
if (s === "color")
|
|
2746
2754
|
l = w.get(l);
|
|
2747
2755
|
else if (s === "function<color>") {
|
|
2748
|
-
let
|
|
2756
|
+
let c = l;
|
|
2749
2757
|
l = function(...u) {
|
|
2750
|
-
let
|
|
2751
|
-
return w.get(
|
|
2752
|
-
}, Object.assign(l,
|
|
2753
|
-
} else s === "array<color>" && (l = l.map((
|
|
2758
|
+
let f = c(...u);
|
|
2759
|
+
return w.get(f);
|
|
2760
|
+
}, Object.assign(l, c);
|
|
2761
|
+
} else s === "array<color>" && (l = l.map((c) => w.get(c)));
|
|
2754
2762
|
return l;
|
|
2755
2763
|
};
|
|
2756
|
-
e in w || (w[e] =
|
|
2757
|
-
return
|
|
2764
|
+
e in w || (w[e] = i), a && (w.prototype[e] = function(...o) {
|
|
2765
|
+
return i(this, ...o);
|
|
2758
2766
|
});
|
|
2759
2767
|
}
|
|
2760
2768
|
static defineFunctions(e) {
|
|
@@ -2770,37 +2778,38 @@ class w {
|
|
|
2770
2778
|
}
|
|
2771
2779
|
}
|
|
2772
2780
|
w.defineFunctions({
|
|
2773
|
-
get:
|
|
2774
|
-
getAll:
|
|
2775
|
-
set:
|
|
2776
|
-
setAll:
|
|
2777
|
-
to:
|
|
2778
|
-
equals:
|
|
2779
|
-
inGamut:
|
|
2780
|
-
toGamut:
|
|
2781
|
-
distance:
|
|
2782
|
-
toString:
|
|
2781
|
+
get: P,
|
|
2782
|
+
getAll: fe,
|
|
2783
|
+
set: O,
|
|
2784
|
+
setAll: tt,
|
|
2785
|
+
to: C,
|
|
2786
|
+
equals: on,
|
|
2787
|
+
inGamut: J,
|
|
2788
|
+
toGamut: q,
|
|
2789
|
+
distance: L0,
|
|
2790
|
+
toString: ie
|
|
2783
2791
|
});
|
|
2784
2792
|
Object.assign(w, {
|
|
2785
|
-
util:
|
|
2793
|
+
util: ar,
|
|
2786
2794
|
hooks: j,
|
|
2787
2795
|
WHITES: B,
|
|
2788
|
-
Space:
|
|
2789
|
-
spaces:
|
|
2790
|
-
parse:
|
|
2796
|
+
Space: m,
|
|
2797
|
+
spaces: m.registry,
|
|
2798
|
+
parse: y0,
|
|
2791
2799
|
// Global defaults one may want to configure
|
|
2792
|
-
defaults:
|
|
2800
|
+
defaults: v
|
|
2793
2801
|
});
|
|
2794
|
-
for (let t of Object.keys(
|
|
2795
|
-
|
|
2796
|
-
for (let t in
|
|
2797
|
-
|
|
2802
|
+
for (let t of Object.keys(c0))
|
|
2803
|
+
m.register(c0[t]);
|
|
2804
|
+
for (let t in m.registry)
|
|
2805
|
+
Ke(t, m.registry[t]);
|
|
2798
2806
|
j.add("colorspace-init-end", (t) => {
|
|
2799
|
-
|
|
2800
|
-
|
|
2807
|
+
var e;
|
|
2808
|
+
Ke(t.id, t), (e = t.aliases) == null || e.forEach((r) => {
|
|
2809
|
+
Ke(r, t);
|
|
2801
2810
|
});
|
|
2802
2811
|
});
|
|
2803
|
-
function
|
|
2812
|
+
function Ke(t, e) {
|
|
2804
2813
|
let r = t.replace(/-/g, "_");
|
|
2805
2814
|
Object.defineProperty(w.prototype, r, {
|
|
2806
2815
|
// Convert coords to coords in another colorspace and return them
|
|
@@ -2811,26 +2820,26 @@ function Qe(t, e) {
|
|
|
2811
2820
|
return typeof Proxy > "u" ? n : new Proxy(n, {
|
|
2812
2821
|
has: (a, s) => {
|
|
2813
2822
|
try {
|
|
2814
|
-
return
|
|
2823
|
+
return m.resolveCoord([e, s]), !0;
|
|
2815
2824
|
} catch {
|
|
2816
2825
|
}
|
|
2817
2826
|
return Reflect.has(a, s);
|
|
2818
2827
|
},
|
|
2819
|
-
get: (a, s,
|
|
2828
|
+
get: (a, s, i) => {
|
|
2820
2829
|
if (s && typeof s != "symbol" && !(s in a)) {
|
|
2821
|
-
let { index:
|
|
2822
|
-
if (
|
|
2823
|
-
return a[
|
|
2830
|
+
let { index: o } = m.resolveCoord([e, s]);
|
|
2831
|
+
if (o >= 0)
|
|
2832
|
+
return a[o];
|
|
2824
2833
|
}
|
|
2825
|
-
return Reflect.get(a, s,
|
|
2834
|
+
return Reflect.get(a, s, i);
|
|
2826
2835
|
},
|
|
2827
|
-
set: (a, s,
|
|
2836
|
+
set: (a, s, i, o) => {
|
|
2828
2837
|
if (s && typeof s != "symbol" && !(s in a) || s >= 0) {
|
|
2829
|
-
let { index: l } =
|
|
2838
|
+
let { index: l } = m.resolveCoord([e, s]);
|
|
2830
2839
|
if (l >= 0)
|
|
2831
|
-
return a[l] =
|
|
2840
|
+
return a[l] = i, this.setAll(t, a), !0;
|
|
2832
2841
|
}
|
|
2833
|
-
return Reflect.set(a, s,
|
|
2842
|
+
return Reflect.set(a, s, i, o);
|
|
2834
2843
|
}
|
|
2835
2844
|
});
|
|
2836
2845
|
},
|
|
@@ -2844,15 +2853,15 @@ function Qe(t, e) {
|
|
|
2844
2853
|
enumerable: !0
|
|
2845
2854
|
});
|
|
2846
2855
|
}
|
|
2847
|
-
w.extend(
|
|
2848
|
-
w.extend({ deltaE:
|
|
2849
|
-
Object.assign(w, { deltaEMethods:
|
|
2850
|
-
w.extend(
|
|
2851
|
-
w.extend({ contrast:
|
|
2852
|
-
w.extend(
|
|
2853
|
-
w.extend(
|
|
2854
|
-
w.extend(
|
|
2855
|
-
w.extend(
|
|
2856
|
+
w.extend(ee);
|
|
2857
|
+
w.extend({ deltaE: se });
|
|
2858
|
+
Object.assign(w, { deltaEMethods: ee });
|
|
2859
|
+
w.extend(Pn);
|
|
2860
|
+
w.extend({ contrast: Nn });
|
|
2861
|
+
w.extend(In);
|
|
2862
|
+
w.extend(cn);
|
|
2863
|
+
w.extend(vn);
|
|
2864
|
+
w.extend(_e);
|
|
2856
2865
|
export {
|
|
2857
2866
|
w as C
|
|
2858
2867
|
};
|