67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
// Metro module 3998 (f3999).
|
|
import _slicedToArray from "./_slicedToArray";
|
|
import Module689 from "./Module689";
|
|
let c2277_3 = {
|
|
NonText: 3,
|
|
Text: 4.5,
|
|
HighContrastText: 7
|
|
};
|
|
export { c2277_3 as WCAGContrastRatios };
|
|
export function getContrastingColor(a0, r10 = {}) {
|
|
let r43;
|
|
let contrastRatio = r10.contrastRatio;
|
|
if (contrastRatio == null) {
|
|
contrastRatio = c2277_3.NonText;
|
|
}
|
|
let tolerance = r10.tolerance;
|
|
if (tolerance == null) {
|
|
tolerance = 3;
|
|
}
|
|
let base = r10.base;
|
|
if (base == null) {
|
|
base = a0;
|
|
}
|
|
const r32 = Module689(base);
|
|
let r35 = Module689(a0);
|
|
const r37 = r32.luminance();
|
|
let r41 = Module689.contrast(r32, r35);
|
|
let r0 = 99;
|
|
while (true) {
|
|
L18: {
|
|
const r8 = r41 < contrastRatio;
|
|
const r7 = r41 > contrastRatio + tolerance;
|
|
const r1 = r0;
|
|
const r19 = r35;
|
|
if (!r8) {
|
|
r43 = r19;
|
|
if (!r7) {
|
|
break L18;
|
|
}
|
|
}
|
|
const r45 = r19.luminance() > r37;
|
|
const r47 = !(r7 && r45) && !(r8 && !r45) ? r19.brighten() : r19.darken();
|
|
r41 = Module689.contrast(r32, r47);
|
|
r0 = r1 - 1;
|
|
r35 = r47;
|
|
r43 = r35;
|
|
if (0 < r1) {
|
|
continue;
|
|
}
|
|
}
|
|
const r57 = _slicedToArray(r43.rgba(), 4);
|
|
return `rgba(${r57[0]}, ${r57[1]}, ${r57[2]}, ${r57[3]})`;
|
|
}
|
|
}
|
|
export function darkenColor(a0, a1) {
|
|
const r28 = _slicedToArray(Module689(a0).darken(a1).rgba(), 4);
|
|
return `rgba(${r28[0]}, ${r28[1]}, ${r28[2]}, ${r28[3]})`;
|
|
}
|
|
export function brightenColor(a0, a1) {
|
|
const r28 = _slicedToArray(Module689(a0).brighten(a1).rgba(), 4);
|
|
return `rgba(${r28[0]}, ${r28[1]}, ${r28[2]}, ${r28[3]})`;
|
|
}
|
|
export function setColorOpacity(a0, a1) {
|
|
const r28 = _slicedToArray(Module689(a0).alpha(a1).rgba(), 4);
|
|
return `rgba(${r28[0]}, ${r28[1]}, ${r28[2]}, ${r28[3]})`;
|
|
}
|