From 2f51a80c91fae9b0dfe7eb731ec47ab577b18199 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Mon, 10 Feb 2025 09:39:39 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4M2=20Scheme=E4=B8=ADSurface?= =?UTF-8?q?=E9=A2=9C=E8=89=B2=E7=9A=84=E7=94=9F=E6=88=90=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/schemes/material_design_2/baseline.rs | 14 +- .../schemes/material_design_2/color_set.rs | 21 + src/color_functions/color_module.d.ts | 154 ++-- src/color_functions/color_module.js | 820 +++++++++--------- src/color_functions/color_module_bg.wasm | Bin 698867 -> 699415 bytes src/color_functions/color_module_bg.wasm.d.ts | 112 +-- 6 files changed, 566 insertions(+), 555 deletions(-) diff --git a/color-module/src/schemes/material_design_2/baseline.rs b/color-module/src/schemes/material_design_2/baseline.rs index 574400b..5271b7a 100644 --- a/color-module/src/schemes/material_design_2/baseline.rs +++ b/color-module/src/schemes/material_design_2/baseline.rs @@ -45,18 +45,8 @@ impl M2BaselineColors { None, )?, error: M2ColorSet::from_swatch(&error_swatch, &neutral_swatch, dark_baseline, None)?, - background: M2ColorSet::from_swatch( - &neutral_swatch, - &neutral_swatch, - dark_baseline, - None, - )?, - surface: M2ColorSet::from_swatch( - &neutral_swatch, - &neutral_swatch, - dark_baseline, - None, - )?, + background: M2ColorSet::surface(&neutral_swatch, dark_baseline)?, + surface: M2ColorSet::surface(&neutral_swatch, dark_baseline)?, shadow: map_hsl_to_srgb_hex(&neutral_swatch.tone(SwatchIndex::SI900)), custom_colors: HashMap::new(), neutral_swatch, diff --git a/color-module/src/schemes/material_design_2/color_set.rs b/color-module/src/schemes/material_design_2/color_set.rs index d64090b..ff6d795 100644 --- a/color-module/src/schemes/material_design_2/color_set.rs +++ b/color-module/src/schemes/material_design_2/color_set.rs @@ -48,6 +48,27 @@ impl M2ColorSet { } } + pub fn surface(neutral: &M2Swatch, dark: bool) -> Result { + let root_color_index = if dark { + super::swatch::SwatchIndex::SI900 + } else { + super::swatch::SwatchIndex::SI50 + }; + if dark { + Ok(Self { + root: map_hsl_to_srgb_hex(&neutral.desaturated_tone(root_color_index)), + variant: map_hsl_to_srgb_hex(&neutral.desaturated_tone(root_color_index + 2)), + on: map_hsl_to_srgb_hex(&neutral.tone(super::swatch::SwatchIndex::SI50)), + }) + } else { + Ok(Self { + root: map_hsl_to_srgb_hex(&neutral.tone(root_color_index)), + variant: map_hsl_to_srgb_hex(&neutral.tone(root_color_index - 2)), + on: map_hsl_to_srgb_hex(&neutral.tone(super::swatch::SwatchIndex::SI900)), + }) + } + } + pub fn to_css_variable(&self, prefix: &str, name: &str) -> Vec { let mut variable_lines = Vec::new(); diff --git a/src/color_functions/color_module.d.ts b/src/color_functions/color_module.d.ts index 71ef8ea..a2236b0 100644 --- a/src/color_functions/color_module.d.ts +++ b/src/color_functions/color_module.d.ts @@ -7,6 +7,27 @@ export function generate_material_design_2_scheme(primary_color: string, seconda export function generate_q_scheme_automatically(primary_color: string, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any; export function generate_q_scheme_manually(primary_color: string, secondary_color: string | null | undefined, tertiary_color: string | null | undefined, accent_color: string | null | undefined, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: SchemeSetting): any; export function generate_swatch_scheme(colors: SwatchEntry[], setting: SwatchSchemeSetting): any; +export function q_scheme_color_expanding_methods(): any; +export function q_scheme_wacg_settings(): any; +export function q_scheme_default_settings(): SchemeSetting; +export function shift_hue(color: string, degree: number): string; +export function analogous_30(color: string): string[]; +export function analogous_60(color: string): string[]; +export function complementary(color: string): string; +export function split_complementary(color: string): string[]; +export function tetradic(color: string): string[]; +export function triadic(color: string): string[]; +export function represent_rgb(color: string): Uint8Array; +export function rgb_to_hex(r: number, g: number, b: number): string; +export function represent_hsl(color: string): Float32Array; +export function hsl_to_hex(h: number, s: number, l: number): string; +export function represent_lab(color: string): Float32Array; +export function lab_to_hex(l: number, a: number, b: number): string; +export function represent_oklch(color: string): Float32Array; +export function oklch_to_hex(l: number, c: number, h: number): string; +export function represent_hct(color: string): Float32Array; +export function hct_to_hex(hue: number, chroma: number, tone: number): string; +export function wacg_relative_contrast(fg_color: string, bg_color: string): number; export function differ_in_rgb(color: string, other: string): RGBDifference; export function relative_differ_in_rgb(color: string, other: string): RGBDifference; export function differ_in_hsl(color: string, other: string): HSLDifference; @@ -29,27 +50,6 @@ export function swatch_scheme_default_settings(): SwatchSchemeSetting; export function series(color: string, expand_amount: number, step: number): string[]; export function tonal_lighten_series(color: string, expand_amount: number, step: number): string[]; export function tonal_darken_series(color: string, expand_amount: number, step: number): string[]; -export function q_scheme_color_expanding_methods(): any; -export function q_scheme_wacg_settings(): any; -export function q_scheme_default_settings(): SchemeSetting; -export function shift_hue(color: string, degree: number): string; -export function analogous_30(color: string): string[]; -export function analogous_60(color: string): string[]; -export function complementary(color: string): string; -export function split_complementary(color: string): string[]; -export function tetradic(color: string): string[]; -export function triadic(color: string): string[]; -export function represent_rgb(color: string): Uint8Array; -export function rgb_to_hex(r: number, g: number, b: number): string; -export function represent_hsl(color: string): Float32Array; -export function hsl_to_hex(h: number, s: number, l: number): string; -export function represent_lab(color: string): Float32Array; -export function lab_to_hex(l: number, a: number, b: number): string; -export function represent_oklch(color: string): Float32Array; -export function oklch_to_hex(l: number, c: number, h: number): string; -export function represent_hct(color: string): Float32Array; -export function hct_to_hex(hue: number, chroma: number, tone: number): string; -export function wacg_relative_contrast(fg_color: string, bg_color: string): number; export enum ColorExpand { Complementary = 0, Analogous = 1, @@ -179,6 +179,55 @@ export interface InitOutput { readonly generate_q_scheme_automatically: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => [number, number, number]; readonly generate_q_scheme_manually: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number) => [number, number, number]; readonly generate_swatch_scheme: (a: number, b: number, c: number) => [number, number, number]; + readonly __wbg_oklchdifference_free: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_hue: (a: number) => number; + readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_chroma: (a: number) => number; + readonly __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; + readonly __wbg_get_oklchdifference_lightness: (a: number) => number; + readonly __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; + readonly __wbg_mixreversing_free: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_r_factor: (a: number) => number; + readonly __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_g_factor: (a: number) => number; + readonly __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_b_factor: (a: number) => number; + readonly __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; + readonly __wbg_get_mixreversing_average: (a: number) => number; + readonly __wbg_set_mixreversing_average: (a: number, b: number) => void; + readonly q_scheme_color_expanding_methods: () => [number, number, number]; + readonly q_scheme_wacg_settings: () => [number, number, number]; + readonly q_scheme_default_settings: () => number; + readonly __wbg_differ_free: (a: number, b: number) => void; + readonly __wbg_get_differ_delta: (a: number) => number; + readonly __wbg_set_differ_delta: (a: number, b: number) => void; + readonly __wbg_get_differ_percent: (a: number) => number; + readonly __wbg_set_differ_percent: (a: number, b: number) => void; + readonly shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; + readonly analogous_30: (a: number, b: number) => [number, number, number, number]; + readonly analogous_60: (a: number, b: number) => [number, number, number, number]; + readonly complementary: (a: number, b: number) => [number, number, number, number]; + readonly split_complementary: (a: number, b: number) => [number, number, number, number]; + readonly tetradic: (a: number, b: number) => [number, number, number, number]; + readonly triadic: (a: number, b: number) => [number, number, number, number]; + readonly represent_rgb: (a: number, b: number) => [number, number, number, number]; + readonly rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; + readonly represent_hsl: (a: number, b: number) => [number, number, number, number]; + readonly hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; + readonly represent_lab: (a: number, b: number) => [number, number, number, number]; + readonly lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; + readonly represent_oklch: (a: number, b: number) => [number, number, number, number]; + readonly oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; + readonly represent_hct: (a: number, b: number) => [number, number, number, number]; + readonly hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; + readonly wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; + readonly __wbg_hctdiffference_free: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_hue: (a: number) => number; + readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_chroma: (a: number) => number; + readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; + readonly __wbg_get_hctdiffference_lightness: (a: number) => number; + readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; readonly differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; @@ -189,41 +238,6 @@ export interface InitOutput { readonly relative_differ_in_oklch: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly tint_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly shade_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; - readonly __wbg_oklchdifference_free: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_hue: (a: number) => number; - readonly __wbg_set_oklchdifference_hue: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_chroma: (a: number) => number; - readonly __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; - readonly __wbg_get_oklchdifference_lightness: (a: number) => number; - readonly __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; - readonly lighten: (a: number, b: number, c: number) => [number, number, number, number]; - readonly lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; - readonly darken: (a: number, b: number, c: number) => [number, number, number, number]; - readonly darken_absolute: (a: number, b: number, c: number) => [number, number, number, number]; - readonly mix: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; - readonly tint: (a: number, b: number, c: number) => [number, number, number, number]; - readonly shade: (a: number, b: number, c: number) => [number, number, number, number]; - readonly __wbg_hctdiffference_free: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_hue: (a: number) => number; - readonly __wbg_set_hctdiffference_hue: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_chroma: (a: number) => number; - readonly __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; - readonly __wbg_get_hctdiffference_lightness: (a: number) => number; - readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; - readonly __wbg_mixreversing_free: (a: number, b: number) => void; - readonly __wbg_get_mixreversing_r_factor: (a: number) => number; - readonly __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; - readonly __wbg_get_mixreversing_g_factor: (a: number) => number; - readonly __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; - readonly __wbg_get_mixreversing_b_factor: (a: number) => number; - readonly __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; - readonly __wbg_get_mixreversing_average: (a: number) => number; - readonly __wbg_set_mixreversing_average: (a: number, b: number) => void; - readonly __wbg_differ_free: (a: number, b: number) => void; - readonly __wbg_get_differ_delta: (a: number) => number; - readonly __wbg_set_differ_delta: (a: number, b: number) => void; - readonly __wbg_get_differ_percent: (a: number) => number; - readonly __wbg_set_differ_percent: (a: number, b: number) => void; readonly __wbg_hsldifference_free: (a: number, b: number) => void; readonly __wbg_get_hsldifference_hue: (a: number) => number; readonly __wbg_set_hsldifference_hue: (a: number, b: number) => void; @@ -231,6 +245,13 @@ export interface InitOutput { readonly __wbg_set_hsldifference_saturation: (a: number, b: number) => void; readonly __wbg_get_hsldifference_lightness: (a: number) => number; readonly __wbg_set_hsldifference_lightness: (a: number, b: number) => void; + readonly lighten: (a: number, b: number, c: number) => [number, number, number, number]; + readonly lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; + readonly darken: (a: number, b: number, c: number) => [number, number, number, number]; + readonly darken_absolute: (a: number, b: number, c: number) => [number, number, number, number]; + readonly mix: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; + readonly tint: (a: number, b: number, c: number) => [number, number, number, number]; + readonly shade: (a: number, b: number, c: number) => [number, number, number, number]; readonly __wbg_rgbdifference_free: (a: number, b: number) => void; readonly __wbg_get_rgbdifference_r: (a: number) => number; readonly __wbg_set_rgbdifference_r: (a: number, b: number) => void; @@ -263,27 +284,6 @@ export interface InitOutput { readonly series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; readonly tonal_lighten_series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; readonly tonal_darken_series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; - readonly q_scheme_color_expanding_methods: () => [number, number, number]; - readonly q_scheme_wacg_settings: () => [number, number, number]; - readonly q_scheme_default_settings: () => number; - readonly shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; - readonly analogous_30: (a: number, b: number) => [number, number, number, number]; - readonly analogous_60: (a: number, b: number) => [number, number, number, number]; - readonly complementary: (a: number, b: number) => [number, number, number, number]; - readonly split_complementary: (a: number, b: number) => [number, number, number, number]; - readonly tetradic: (a: number, b: number) => [number, number, number, number]; - readonly triadic: (a: number, b: number) => [number, number, number, number]; - readonly represent_rgb: (a: number, b: number) => [number, number, number, number]; - readonly rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; - readonly represent_hsl: (a: number, b: number) => [number, number, number, number]; - readonly hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; - readonly represent_lab: (a: number, b: number) => [number, number, number, number]; - readonly lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; - readonly represent_oklch: (a: number, b: number) => [number, number, number, number]; - readonly oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; - readonly represent_hct: (a: number, b: number) => [number, number, number, number]; - readonly hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; - readonly wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; readonly __wbindgen_malloc: (a: number, b: number) => number; readonly __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; readonly __wbindgen_exn_store: (a: number) => void; diff --git a/src/color_functions/color_module.js b/src/color_functions/color_module.js index 97a911d..5db8463 100644 --- a/src/color_functions/color_module.js +++ b/src/color_functions/color_module.js @@ -349,6 +349,416 @@ export function generate_swatch_scheme(colors, setting) { return takeFromExternrefTable0(ret[0]); } +/** + * @returns {any} + */ +export function q_scheme_color_expanding_methods() { + const ret = wasm.q_scheme_color_expanding_methods(); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @returns {any} + */ +export function q_scheme_wacg_settings() { + const ret = wasm.q_scheme_wacg_settings(); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @returns {SchemeSetting} + */ +export function q_scheme_default_settings() { + const ret = wasm.q_scheme_default_settings(); + return SchemeSetting.__wrap(ret); +} + +/** + * @param {string} color + * @param {number} degree + * @returns {string} + */ +export function shift_hue(color, degree) { + let deferred3_0; + let deferred3_1; + try { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.shift_hue(ptr0, len0, degree); + var ptr2 = ret[0]; + var len2 = ret[1]; + if (ret[3]) { + ptr2 = 0; len2 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred3_0 = ptr2; + deferred3_1 = len2; + return getStringFromWasm0(ptr2, len2); + } finally { + wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); + } +} + +function getArrayJsValueFromWasm0(ptr, len) { + ptr = ptr >>> 0; + const mem = getDataViewMemory0(); + const result = []; + for (let i = ptr; i < ptr + 4 * len; i += 4) { + result.push(wasm.__wbindgen_export_4.get(mem.getUint32(i, true))); + } + wasm.__externref_drop_slice(ptr, len); + return result; +} +/** + * @param {string} color + * @returns {string[]} + */ +export function analogous_30(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_30(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string[]} + */ +export function analogous_60(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.analogous_60(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string} + */ +export function complementary(color) { + let deferred3_0; + let deferred3_1; + try { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.complementary(ptr0, len0); + var ptr2 = ret[0]; + var len2 = ret[1]; + if (ret[3]) { + ptr2 = 0; len2 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred3_0 = ptr2; + deferred3_1 = len2; + return getStringFromWasm0(ptr2, len2); + } finally { + wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); + } +} + +/** + * @param {string} color + * @returns {string[]} + */ +export function split_complementary(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.split_complementary(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string[]} + */ +export function tetradic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.tetradic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {string} color + * @returns {string[]} + */ +export function triadic(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.triadic(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +function getArrayU8FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); +} +/** + * @param {string} color + * @returns {Uint8Array} + */ +export function represent_rgb(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.represent_rgb(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); + return v2; +} + +/** + * @param {number} r + * @param {number} g + * @param {number} b + * @returns {string} + */ +export function rgb_to_hex(r, g, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.rgb_to_hex(r, g, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + +let cachedFloat32ArrayMemory0 = null; + +function getFloat32ArrayMemory0() { + if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { + cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); + } + return cachedFloat32ArrayMemory0; +} + +function getArrayF32FromWasm0(ptr, len) { + ptr = ptr >>> 0; + return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); +} +/** + * @param {string} color + * @returns {Float32Array} + */ +export function represent_hsl(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.represent_hsl(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {number} h + * @param {number} s + * @param {number} l + * @returns {string} + */ +export function hsl_to_hex(h, s, l) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.hsl_to_hex(h, s, l); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + +/** + * @param {string} color + * @returns {Float32Array} + */ +export function represent_lab(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.represent_lab(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {number} l + * @param {number} a + * @param {number} b + * @returns {string} + */ +export function lab_to_hex(l, a, b) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.lab_to_hex(l, a, b); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + +/** + * @param {string} color + * @returns {Float32Array} + */ +export function represent_oklch(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.represent_oklch(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {number} l + * @param {number} c + * @param {number} h + * @returns {string} + */ +export function oklch_to_hex(l, c, h) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.oklch_to_hex(l, c, h); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + +/** + * @param {string} color + * @returns {Float32Array} + */ +export function represent_hct(color) { + const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.represent_hct(ptr0, len0); + if (ret[3]) { + throw takeFromExternrefTable0(ret[2]); + } + var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); + wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); + return v2; +} + +/** + * @param {number} hue + * @param {number} chroma + * @param {number} tone + * @returns {string} + */ +export function hct_to_hex(hue, chroma, tone) { + let deferred2_0; + let deferred2_1; + try { + const ret = wasm.hct_to_hex(hue, chroma, tone); + var ptr1 = ret[0]; + var len1 = ret[1]; + if (ret[3]) { + ptr1 = 0; len1 = 0; + throw takeFromExternrefTable0(ret[2]); + } + deferred2_0 = ptr1; + deferred2_1 = len1; + return getStringFromWasm0(ptr1, len1); + } finally { + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); + } +} + +/** + * @param {string} fg_color + * @param {string} bg_color + * @returns {number} + */ +export function wacg_relative_contrast(fg_color, bg_color) { + const ptr0 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.wacg_relative_contrast(ptr0, len0, ptr1, len1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return ret[0]; +} + /** * @param {string} color * @param {string} other @@ -704,16 +1114,6 @@ export function shade(color, percent) { } } -function getArrayJsValueFromWasm0(ptr, len) { - ptr = ptr >>> 0; - const mem = getDataViewMemory0(); - const result = []; - for (let i = ptr; i < ptr + 4 * len; i += 4) { - result.push(wasm.__wbindgen_export_4.get(mem.getUint32(i, true))); - } - wasm.__externref_drop_slice(ptr, len); - return result; -} /** * @param {string} reference_color * @param {number} swatch_amount @@ -797,406 +1197,6 @@ export function tonal_darken_series(color, expand_amount, step) { return v2; } -/** - * @returns {any} - */ -export function q_scheme_color_expanding_methods() { - const ret = wasm.q_scheme_color_expanding_methods(); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @returns {any} - */ -export function q_scheme_wacg_settings() { - const ret = wasm.q_scheme_wacg_settings(); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @returns {SchemeSetting} - */ -export function q_scheme_default_settings() { - const ret = wasm.q_scheme_default_settings(); - return SchemeSetting.__wrap(ret); -} - -/** - * @param {string} color - * @param {number} degree - * @returns {string} - */ -export function shift_hue(color, degree) { - let deferred3_0; - let deferred3_1; - try { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.shift_hue(ptr0, len0, degree); - var ptr2 = ret[0]; - var len2 = ret[1]; - if (ret[3]) { - ptr2 = 0; len2 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred3_0 = ptr2; - deferred3_1 = len2; - return getStringFromWasm0(ptr2, len2); - } finally { - wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); - } -} - -/** - * @param {string} color - * @returns {string[]} - */ -export function analogous_30(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.analogous_30(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {string} color - * @returns {string[]} - */ -export function analogous_60(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.analogous_60(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {string} color - * @returns {string} - */ -export function complementary(color) { - let deferred3_0; - let deferred3_1; - try { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.complementary(ptr0, len0); - var ptr2 = ret[0]; - var len2 = ret[1]; - if (ret[3]) { - ptr2 = 0; len2 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred3_0 = ptr2; - deferred3_1 = len2; - return getStringFromWasm0(ptr2, len2); - } finally { - wasm.__wbindgen_free(deferred3_0, deferred3_1, 1); - } -} - -/** - * @param {string} color - * @returns {string[]} - */ -export function split_complementary(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.split_complementary(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {string} color - * @returns {string[]} - */ -export function tetradic(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.tetradic(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {string} color - * @returns {string[]} - */ -export function triadic(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.triadic(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -function getArrayU8FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len); -} -/** - * @param {string} color - * @returns {Uint8Array} - */ -export function represent_rgb(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.represent_rgb(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 1, 1); - return v2; -} - -/** - * @param {number} r - * @param {number} g - * @param {number} b - * @returns {string} - */ -export function rgb_to_hex(r, g, b) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.rgb_to_hex(r, g, b); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -} - -let cachedFloat32ArrayMemory0 = null; - -function getFloat32ArrayMemory0() { - if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) { - cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer); - } - return cachedFloat32ArrayMemory0; -} - -function getArrayF32FromWasm0(ptr, len) { - ptr = ptr >>> 0; - return getFloat32ArrayMemory0().subarray(ptr / 4, ptr / 4 + len); -} -/** - * @param {string} color - * @returns {Float32Array} - */ -export function represent_hsl(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.represent_hsl(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {number} h - * @param {number} s - * @param {number} l - * @returns {string} - */ -export function hsl_to_hex(h, s, l) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.hsl_to_hex(h, s, l); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -} - -/** - * @param {string} color - * @returns {Float32Array} - */ -export function represent_lab(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.represent_lab(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {number} l - * @param {number} a - * @param {number} b - * @returns {string} - */ -export function lab_to_hex(l, a, b) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.lab_to_hex(l, a, b); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -} - -/** - * @param {string} color - * @returns {Float32Array} - */ -export function represent_oklch(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.represent_oklch(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {number} l - * @param {number} c - * @param {number} h - * @returns {string} - */ -export function oklch_to_hex(l, c, h) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.oklch_to_hex(l, c, h); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -} - -/** - * @param {string} color - * @returns {Float32Array} - */ -export function represent_hct(color) { - const ptr0 = passStringToWasm0(color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.represent_hct(ptr0, len0); - if (ret[3]) { - throw takeFromExternrefTable0(ret[2]); - } - var v2 = getArrayF32FromWasm0(ret[0], ret[1]).slice(); - wasm.__wbindgen_free(ret[0], ret[1] * 4, 4); - return v2; -} - -/** - * @param {number} hue - * @param {number} chroma - * @param {number} tone - * @returns {string} - */ -export function hct_to_hex(hue, chroma, tone) { - let deferred2_0; - let deferred2_1; - try { - const ret = wasm.hct_to_hex(hue, chroma, tone); - var ptr1 = ret[0]; - var len1 = ret[1]; - if (ret[3]) { - ptr1 = 0; len1 = 0; - throw takeFromExternrefTable0(ret[2]); - } - deferred2_0 = ptr1; - deferred2_1 = len1; - return getStringFromWasm0(ptr1, len1); - } finally { - wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); - } -} - -/** - * @param {string} fg_color - * @param {string} bg_color - * @returns {number} - */ -export function wacg_relative_contrast(fg_color, bg_color) { - const ptr0 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.wacg_relative_contrast(ptr0, len0, ptr1, len1); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return ret[0]; -} - /** * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6} */ diff --git a/src/color_functions/color_module_bg.wasm b/src/color_functions/color_module_bg.wasm index 225664d6377c829d4a7afc0598101c517b7d2557..2ec45bb60ed3e1d99f9f0ef5c6f0b3c56eab64dc 100644 GIT binary patch delta 75711 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

Lp?E&KfG0`KEwXUC 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 delta 75394 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 fo-l608!MkbVKjFgyR0_(Nu!GnK795{ [number, number, number]; export const generate_q_scheme_manually: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number) => [number, number, number]; export const generate_swatch_scheme: (a: number, b: number, c: number) => [number, number, number]; +export const __wbg_oklchdifference_free: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_hue: (a: number) => number; +export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_chroma: (a: number) => number; +export const __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; +export const __wbg_get_oklchdifference_lightness: (a: number) => number; +export const __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; +export const __wbg_mixreversing_free: (a: number, b: number) => void; +export const __wbg_get_mixreversing_r_factor: (a: number) => number; +export const __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_g_factor: (a: number) => number; +export const __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_b_factor: (a: number) => number; +export const __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; +export const __wbg_get_mixreversing_average: (a: number) => number; +export const __wbg_set_mixreversing_average: (a: number, b: number) => void; +export const q_scheme_color_expanding_methods: () => [number, number, number]; +export const q_scheme_wacg_settings: () => [number, number, number]; +export const q_scheme_default_settings: () => number; +export const __wbg_differ_free: (a: number, b: number) => void; +export const __wbg_get_differ_delta: (a: number) => number; +export const __wbg_set_differ_delta: (a: number, b: number) => void; +export const __wbg_get_differ_percent: (a: number) => number; +export const __wbg_set_differ_percent: (a: number, b: number) => void; +export const shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; +export const analogous_30: (a: number, b: number) => [number, number, number, number]; +export const analogous_60: (a: number, b: number) => [number, number, number, number]; +export const complementary: (a: number, b: number) => [number, number, number, number]; +export const split_complementary: (a: number, b: number) => [number, number, number, number]; +export const tetradic: (a: number, b: number) => [number, number, number, number]; +export const triadic: (a: number, b: number) => [number, number, number, number]; +export const represent_rgb: (a: number, b: number) => [number, number, number, number]; +export const rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; +export const represent_hsl: (a: number, b: number) => [number, number, number, number]; +export const hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; +export const represent_lab: (a: number, b: number) => [number, number, number, number]; +export const lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; +export const represent_oklch: (a: number, b: number) => [number, number, number, number]; +export const oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; +export const represent_hct: (a: number, b: number) => [number, number, number, number]; +export const hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; +export const wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; +export const __wbg_hctdiffference_free: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_hue: (a: number) => number; +export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_chroma: (a: number) => number; +export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; +export const __wbg_get_hctdiffference_lightness: (a: number) => number; +export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; export const differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; export const relative_differ_in_rgb: (a: number, b: number, c: number, d: number) => [number, number, number]; export const differ_in_hsl: (a: number, b: number, c: number, d: number) => [number, number, number]; @@ -42,41 +91,6 @@ export const differ_in_oklch: (a: number, b: number, c: number, d: number) => [n export const relative_differ_in_oklch: (a: number, b: number, c: number, d: number) => [number, number, number]; export const tint_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; export const shade_scale: (a: number, b: number, c: number, d: number) => [number, number, number]; -export const __wbg_oklchdifference_free: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_hue: (a: number) => number; -export const __wbg_set_oklchdifference_hue: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_chroma: (a: number) => number; -export const __wbg_set_oklchdifference_chroma: (a: number, b: number) => void; -export const __wbg_get_oklchdifference_lightness: (a: number) => number; -export const __wbg_set_oklchdifference_lightness: (a: number, b: number) => void; -export const lighten: (a: number, b: number, c: number) => [number, number, number, number]; -export const lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; -export const darken: (a: number, b: number, c: number) => [number, number, number, number]; -export const darken_absolute: (a: number, b: number, c: number) => [number, number, number, number]; -export const mix: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; -export const tint: (a: number, b: number, c: number) => [number, number, number, number]; -export const shade: (a: number, b: number, c: number) => [number, number, number, number]; -export const __wbg_hctdiffference_free: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_hue: (a: number) => number; -export const __wbg_set_hctdiffference_hue: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_chroma: (a: number) => number; -export const __wbg_set_hctdiffference_chroma: (a: number, b: number) => void; -export const __wbg_get_hctdiffference_lightness: (a: number) => number; -export const __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; -export const __wbg_mixreversing_free: (a: number, b: number) => void; -export const __wbg_get_mixreversing_r_factor: (a: number) => number; -export const __wbg_set_mixreversing_r_factor: (a: number, b: number) => void; -export const __wbg_get_mixreversing_g_factor: (a: number) => number; -export const __wbg_set_mixreversing_g_factor: (a: number, b: number) => void; -export const __wbg_get_mixreversing_b_factor: (a: number) => number; -export const __wbg_set_mixreversing_b_factor: (a: number, b: number) => void; -export const __wbg_get_mixreversing_average: (a: number) => number; -export const __wbg_set_mixreversing_average: (a: number, b: number) => void; -export const __wbg_differ_free: (a: number, b: number) => void; -export const __wbg_get_differ_delta: (a: number) => number; -export const __wbg_set_differ_delta: (a: number, b: number) => void; -export const __wbg_get_differ_percent: (a: number) => number; -export const __wbg_set_differ_percent: (a: number, b: number) => void; export const __wbg_hsldifference_free: (a: number, b: number) => void; export const __wbg_get_hsldifference_hue: (a: number) => number; export const __wbg_set_hsldifference_hue: (a: number, b: number) => void; @@ -84,6 +98,13 @@ export const __wbg_get_hsldifference_saturation: (a: number) => number; export const __wbg_set_hsldifference_saturation: (a: number, b: number) => void; export const __wbg_get_hsldifference_lightness: (a: number) => number; export const __wbg_set_hsldifference_lightness: (a: number, b: number) => void; +export const lighten: (a: number, b: number, c: number) => [number, number, number, number]; +export const lighten_absolute: (a: number, b: number, c: number) => [number, number, number, number]; +export const darken: (a: number, b: number, c: number) => [number, number, number, number]; +export const darken_absolute: (a: number, b: number, c: number) => [number, number, number, number]; +export const mix: (a: number, b: number, c: number, d: number, e: number) => [number, number, number, number]; +export const tint: (a: number, b: number, c: number) => [number, number, number, number]; +export const shade: (a: number, b: number, c: number) => [number, number, number, number]; export const __wbg_rgbdifference_free: (a: number, b: number) => void; export const __wbg_get_rgbdifference_r: (a: number) => number; export const __wbg_set_rgbdifference_r: (a: number, b: number) => void; @@ -116,27 +137,6 @@ export const swatch_scheme_default_settings: () => number; export const series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; export const tonal_lighten_series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; export const tonal_darken_series: (a: number, b: number, c: number, d: number) => [number, number, number, number]; -export const q_scheme_color_expanding_methods: () => [number, number, number]; -export const q_scheme_wacg_settings: () => [number, number, number]; -export const q_scheme_default_settings: () => number; -export const shift_hue: (a: number, b: number, c: number) => [number, number, number, number]; -export const analogous_30: (a: number, b: number) => [number, number, number, number]; -export const analogous_60: (a: number, b: number) => [number, number, number, number]; -export const complementary: (a: number, b: number) => [number, number, number, number]; -export const split_complementary: (a: number, b: number) => [number, number, number, number]; -export const tetradic: (a: number, b: number) => [number, number, number, number]; -export const triadic: (a: number, b: number) => [number, number, number, number]; -export const represent_rgb: (a: number, b: number) => [number, number, number, number]; -export const rgb_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; -export const represent_hsl: (a: number, b: number) => [number, number, number, number]; -export const hsl_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; -export const represent_lab: (a: number, b: number) => [number, number, number, number]; -export const lab_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; -export const represent_oklch: (a: number, b: number) => [number, number, number, number]; -export const oklch_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; -export const represent_hct: (a: number, b: number) => [number, number, number, number]; -export const hct_to_hex: (a: number, b: number, c: number) => [number, number, number, number]; -export const wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, number, number]; export const __wbindgen_malloc: (a: number, b: number) => number; export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number; export const __wbindgen_exn_store: (a: number) => void;