diff --git a/color-module/src/schemes/q_style/scheme_setting.rs b/color-module/src/schemes/q_style/scheme_setting.rs index 03b5a34..40484f5 100644 --- a/color-module/src/schemes/q_style/scheme_setting.rs +++ b/color-module/src/schemes/q_style/scheme_setting.rs @@ -4,7 +4,7 @@ use enum_iterator::Sequence; use palette::Oklch; use serde::{Deserialize, Serialize}; use strum::Display; -use wasm_bindgen::prelude::wasm_bindgen; +use wasm_bindgen::{prelude::wasm_bindgen, JsError, JsValue}; #[derive(Debug, Clone, Copy, Serialize, Deserialize)] #[wasm_bindgen] @@ -19,6 +19,11 @@ impl ColorShifting { pub fn new(chroma: f32, lightness: f32) -> Self { ColorShifting { chroma, lightness } } + + #[wasm_bindgen(js_name = toJsValue)] + pub fn to_js_value(&self) -> Result { + Ok(serde_wasm_bindgen::to_value(self)?) + } } impl Mul for Oklch { @@ -196,4 +201,9 @@ impl SchemeSetting { wacg_follows, } } + + #[wasm_bindgen] + pub fn to_js_value(&self) -> Result { + Ok(serde_wasm_bindgen::to_value(self)?) + } } diff --git a/src/color_functions/color_module.d.ts b/src/color_functions/color_module.d.ts index 541289e..7affa71 100644 --- a/src/color_functions/color_module.d.ts +++ b/src/color_functions/color_module.d.ts @@ -1,5 +1,20 @@ /* tslint:disable */ /* eslint-disable */ +export function generate_material_design_3_scheme(source_color: string, error_color: string, custom_colors: any): any; +export function generate_material_design_2_scheme(primary_color: string, secondary_color: string, error_color: string, custom_colors: any): any; +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 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 q_scheme_color_expanding_methods(): any; +export function q_scheme_wacg_settings(): any; +export function q_scheme_default_settings(): SchemeSetting; 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; @@ -10,21 +25,6 @@ export function differ_in_oklch(color: string, other: string): OklchDifference; export function relative_differ_in_oklch(color: string, other: string): OklchDifference; export function tint_scale(basic_color: string, mixed_color: string): MixReversing; export function shade_scale(basic_color: string, mixed_color: string): MixReversing; -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 color_categories(): any; -export function search_color_cards(tag: string, category?: string | null): any; -export function generate_material_design_3_scheme(source_color: string, error_color: string, custom_colors: any): any; -export function generate_material_design_2_scheme(primary_color: string, secondary_color: string, error_color: string, custom_colors: any): any; -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 generate_palette_from_color(reference_color: string, swatch_amount: number, minimum_lightness: number, maximum_lightness: number, use_reference_color?: boolean | null, reference_color_bias?: number | null): string[]; export function lighten(color: string, percent: number): string; export function lighten_absolute(color: string, value: number): string; export function darken(color: string, percent: number): string; @@ -32,6 +32,9 @@ export function darken_absolute(color: string, value: number): string; export function mix(color1: string, color2: string, percent: number): string; export function tint(color: string, percent: number): string; export function shade(color: string, percent: number): string; +export function color_categories(): any; +export function search_color_cards(tag: string, category?: string | null): any; +export function generate_palette_from_color(reference_color: string, swatch_amount: number, minimum_lightness: number, maximum_lightness: number, use_reference_color?: boolean | null, reference_color_bias?: number | null): string[]; 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[]; @@ -46,9 +49,6 @@ 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 q_scheme_color_expanding_methods(): any; -export function q_scheme_wacg_settings(): any; -export function q_scheme_default_settings(): SchemeSetting; export enum ColorExpand { Complementary = 0, Analogous = 1, @@ -66,6 +66,7 @@ export enum WACGSetting { export class ColorShifting { free(): void; constructor(chroma: number, lightness: number); + toJsValue(): any; chroma: number; lightness: number; } @@ -114,6 +115,7 @@ export class RGBDifference { export class SchemeSetting { free(): void; constructor(hover: ColorShifting, active: ColorShifting, focus: ColorShifting, disabled: ColorShifting, dark_convert: ColorShifting, expand_method: ColorExpand, wacg_follows: WACGSetting); + to_js_value(): any; hover: ColorShifting; active: ColorShifting; focus: ColorShifting; @@ -142,6 +144,26 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl export interface InitOutput { readonly memory: WebAssembly.Memory; + readonly __wbg_swatchentry_free: (a: number, b: number) => void; + readonly __wbg_get_swatchentry_name: (a: number) => [number, number]; + readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void; + readonly __wbg_get_swatchentry_color: (a: number) => [number, number]; + readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void; + readonly generate_material_design_3_scheme: (a: number, b: number, c: number, d: number, e: any) => [number, number, number]; + readonly generate_material_design_2_scheme: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number]; + 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 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 q_scheme_color_expanding_methods: () => [number, number, number]; + readonly q_scheme_wacg_settings: () => [number, number, number]; + readonly q_scheme_default_settings: () => number; 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]; @@ -152,39 +174,32 @@ 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 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 __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_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 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 color_categories: () => [number, number, number]; readonly search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number]; + 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; + readonly __wbg_get_hsldifference_saturation: (a: number) => number; + 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 __wbg_colorshifting_free: (a: number, b: number) => void; readonly __wbg_get_colorshifting_chroma: (a: number) => number; readonly __wbg_set_colorshifting_chroma: (a: number, b: number) => void; readonly __wbg_get_colorshifting_lightness: (a: number) => number; readonly __wbg_set_colorshifting_lightness: (a: number, b: number) => void; readonly colorshifting_new: (a: number, b: number) => number; + readonly colorshifting_toJsValue: (a: number) => [number, number, number]; readonly __wbg_schemesetting_free: (a: number, b: number) => void; - readonly __wbg_get_schemesetting_hover: (a: number) => number; readonly __wbg_set_schemesetting_hover: (a: number, b: number) => void; - readonly __wbg_get_schemesetting_active: (a: number) => number; readonly __wbg_set_schemesetting_active: (a: number, b: number) => void; - readonly __wbg_get_schemesetting_focus: (a: number) => number; readonly __wbg_set_schemesetting_focus: (a: number, b: number) => void; readonly __wbg_get_schemesetting_disabled: (a: number) => number; readonly __wbg_set_schemesetting_disabled: (a: number, b: number) => void; @@ -195,11 +210,17 @@ export interface InitOutput { readonly __wbg_get_schemesetting_wacg_follows: (a: number) => number; readonly __wbg_set_schemesetting_wacg_follows: (a: number, b: number) => void; readonly schemesetting_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; - readonly generate_material_design_3_scheme: (a: number, b: number, c: number, d: number, e: any) => [number, number, number]; - readonly generate_material_design_2_scheme: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number]; - 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 schemesetting_to_js_value: (a: number) => [number, number, number]; + readonly __wbg_get_schemesetting_hover: (a: number) => number; + readonly __wbg_get_schemesetting_active: (a: number) => number; + readonly __wbg_get_schemesetting_focus: (a: 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; + readonly __wbg_get_rgbdifference_g: (a: number) => number; + readonly __wbg_set_rgbdifference_g: (a: number, b: number) => void; + readonly __wbg_get_rgbdifference_b: (a: number) => number; + readonly __wbg_set_rgbdifference_b: (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; @@ -209,6 +230,29 @@ export interface InitOutput { 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_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_swatchschemesetting_free: (a: number, b: number) => void; + readonly __wbg_get_swatchschemesetting_amount: (a: number) => number; + readonly __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void; + readonly __wbg_get_swatchschemesetting_min_lightness: (a: number) => number; + readonly __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void; + readonly __wbg_get_swatchschemesetting_max_lightness: (a: number) => number; + readonly __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void; + readonly __wbg_get_swatchschemesetting_include_primary: (a: number) => number; + readonly __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void; + readonly __wbg_get_swatchschemesetting_dark_convert: (a: number) => number; + readonly __wbg_set_swatchschemesetting_dark_convert: (a: number, b: number) => void; 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; @@ -217,13 +261,6 @@ export interface InitOutput { readonly __wbg_get_hctdiffference_lightness: (a: number) => number; readonly __wbg_set_hctdiffference_lightness: (a: number, b: number) => void; readonly generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number]; - 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 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]; @@ -238,46 +275,13 @@ export interface InitOutput { 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 q_scheme_color_expanding_methods: () => [number, number, number]; - readonly q_scheme_wacg_settings: () => [number, number, number]; - readonly q_scheme_default_settings: () => number; - readonly __wbg_swatchschemesetting_free: (a: number, b: number) => void; - readonly __wbg_get_swatchschemesetting_amount: (a: number) => number; - readonly __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void; - readonly __wbg_get_swatchschemesetting_min_lightness: (a: number) => number; - readonly __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void; - readonly __wbg_get_swatchschemesetting_max_lightness: (a: number) => number; - readonly __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void; - readonly __wbg_get_swatchschemesetting_include_primary: (a: number) => number; - readonly __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void; - readonly __wbg_get_swatchschemesetting_dark_convert: (a: number) => number; - readonly __wbg_set_swatchschemesetting_dark_convert: (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; - readonly __wbg_get_hsldifference_saturation: (a: number) => number; - 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 __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; - readonly __wbg_get_rgbdifference_g: (a: number) => number; - readonly __wbg_set_rgbdifference_g: (a: number, b: number) => void; - readonly __wbg_get_rgbdifference_b: (a: number) => number; - readonly __wbg_set_rgbdifference_b: (a: number, b: number) => void; - readonly __wbg_swatchentry_free: (a: number, b: number) => void; - readonly __wbg_get_swatchentry_name: (a: number) => [number, number]; - readonly __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void; - readonly __wbg_get_swatchentry_color: (a: number) => [number, number]; - readonly __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void; 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; readonly __externref_table_alloc: () => number; readonly __wbindgen_export_4: WebAssembly.Table; - readonly __externref_table_dealloc: (a: number) => void; readonly __wbindgen_free: (a: number, b: number, c: number) => void; + readonly __externref_table_dealloc: (a: number) => void; readonly __externref_drop_slice: (a: number, b: number) => void; readonly __wbindgen_start: () => void; } diff --git a/src/color_functions/color_module.js b/src/color_functions/color_module.js index 9471fc4..2498523 100644 --- a/src/color_functions/color_module.js +++ b/src/color_functions/color_module.js @@ -172,6 +172,326 @@ function takeFromExternrefTable0(idx) { wasm.__externref_table_dealloc(idx); return value; } +/** + * @param {string} source_color + * @param {string} error_color + * @param {any} custom_colors + * @returns {any} + */ +export function generate_material_design_3_scheme(source_color, error_color, custom_colors) { + const ptr0 = passStringToWasm0(source_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(error_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ret = wasm.generate_material_design_3_scheme(ptr0, len0, ptr1, len1, custom_colors); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @param {string} primary_color + * @param {string} secondary_color + * @param {string} error_color + * @param {any} custom_colors + * @returns {any} + */ +export function generate_material_design_2_scheme(primary_color, secondary_color, error_color, custom_colors) { + const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(secondary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0(error_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len2 = WASM_VECTOR_LEN; + const ret = wasm.generate_material_design_2_scheme(ptr0, len0, ptr1, len1, ptr2, len2, custom_colors); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +function _assertClass(instance, klass) { + if (!(instance instanceof klass)) { + throw new Error(`expected instance of ${klass.name}`); + } +} +/** + * @param {string} primary_color + * @param {string} danger_color + * @param {string} success_color + * @param {string} warning_color + * @param {string} info_color + * @param {string} fg_color + * @param {string} bg_color + * @param {SchemeSetting} setting + * @returns {any} + */ +export function generate_q_scheme_automatically(primary_color, danger_color, success_color, warning_color, info_color, fg_color, bg_color, setting) { + const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ptr1 = passStringToWasm0(danger_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len1 = WASM_VECTOR_LEN; + const ptr2 = passStringToWasm0(success_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len2 = WASM_VECTOR_LEN; + const ptr3 = passStringToWasm0(warning_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len3 = WASM_VECTOR_LEN; + const ptr4 = passStringToWasm0(info_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len4 = WASM_VECTOR_LEN; + const ptr5 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len5 = WASM_VECTOR_LEN; + const ptr6 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len6 = WASM_VECTOR_LEN; + _assertClass(setting, SchemeSetting); + var ptr7 = setting.__destroy_into_raw(); + const ret = wasm.generate_q_scheme_automatically(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @param {string} primary_color + * @param {string | null | undefined} secondary_color + * @param {string | null | undefined} tertiary_color + * @param {string | null | undefined} accent_color + * @param {string} danger_color + * @param {string} success_color + * @param {string} warning_color + * @param {string} info_color + * @param {string} fg_color + * @param {string} bg_color + * @param {SchemeSetting} setting + * @returns {any} + */ +export function generate_q_scheme_manually(primary_color, secondary_color, tertiary_color, accent_color, danger_color, success_color, warning_color, info_color, fg_color, bg_color, setting) { + const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + var ptr1 = isLikeNone(secondary_color) ? 0 : passStringToWasm0(secondary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + var ptr2 = isLikeNone(tertiary_color) ? 0 : passStringToWasm0(tertiary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len2 = WASM_VECTOR_LEN; + var ptr3 = isLikeNone(accent_color) ? 0 : passStringToWasm0(accent_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len3 = WASM_VECTOR_LEN; + const ptr4 = passStringToWasm0(danger_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len4 = WASM_VECTOR_LEN; + const ptr5 = passStringToWasm0(success_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len5 = WASM_VECTOR_LEN; + const ptr6 = passStringToWasm0(warning_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len6 = WASM_VECTOR_LEN; + const ptr7 = passStringToWasm0(info_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len7 = WASM_VECTOR_LEN; + const ptr8 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len8 = WASM_VECTOR_LEN; + const ptr9 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len9 = WASM_VECTOR_LEN; + _assertClass(setting, SchemeSetting); + var ptr10 = setting.__destroy_into_raw(); + const ret = wasm.generate_q_scheme_manually(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, ptr10); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +function passArrayJsValueToWasm0(array, malloc) { + const ptr = malloc(array.length * 4, 4) >>> 0; + for (let i = 0; i < array.length; i++) { + const add = addToExternrefTable0(array[i]); + getDataViewMemory0().setUint32(ptr + 4 * i, add, true); + } + WASM_VECTOR_LEN = array.length; + return ptr; +} +/** + * @param {SwatchEntry[]} colors + * @param {SwatchSchemeSetting} setting + * @returns {any} + */ +export function generate_swatch_scheme(colors, setting) { + const ptr0 = passArrayJsValueToWasm0(colors, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + _assertClass(setting, SwatchSchemeSetting); + var ptr1 = setting.__destroy_into_raw(); + const ret = wasm.generate_swatch_scheme(ptr0, len0, ptr1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @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; +} + +/** + * @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 {string} other @@ -342,345 +662,6 @@ export function shade_scale(basic_color, mixed_color) { return MixReversing.__wrap(ret[0]); } -/** - * @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 _assertClass(instance, klass) { - if (!(instance instanceof klass)) { - throw new Error(`expected instance of ${klass.name}`); - } -} -/** - * @returns {any} - */ -export function color_categories() { - const ret = wasm.color_categories(); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} tag - * @param {string | null} [category] - * @returns {any} - */ -export function search_color_cards(tag, category) { - const ptr0 = passStringToWasm0(tag, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - var ptr1 = isLikeNone(category) ? 0 : passStringToWasm0(category, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - const ret = wasm.search_color_cards(ptr0, len0, ptr1, len1); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} source_color - * @param {string} error_color - * @param {any} custom_colors - * @returns {any} - */ -export function generate_material_design_3_scheme(source_color, error_color, custom_colors) { - const ptr0 = passStringToWasm0(source_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(error_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.generate_material_design_3_scheme(ptr0, len0, ptr1, len1, custom_colors); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} primary_color - * @param {string} secondary_color - * @param {string} error_color - * @param {any} custom_colors - * @returns {any} - */ -export function generate_material_design_2_scheme(primary_color, secondary_color, error_color, custom_colors) { - const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(secondary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(error_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ret = wasm.generate_material_design_2_scheme(ptr0, len0, ptr1, len1, ptr2, len2, custom_colors); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} primary_color - * @param {string} danger_color - * @param {string} success_color - * @param {string} warning_color - * @param {string} info_color - * @param {string} fg_color - * @param {string} bg_color - * @param {SchemeSetting} setting - * @returns {any} - */ -export function generate_q_scheme_automatically(primary_color, danger_color, success_color, warning_color, info_color, fg_color, bg_color, setting) { - const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(danger_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ptr2 = passStringToWasm0(success_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len2 = WASM_VECTOR_LEN; - const ptr3 = passStringToWasm0(warning_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len3 = WASM_VECTOR_LEN; - const ptr4 = passStringToWasm0(info_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len4 = WASM_VECTOR_LEN; - const ptr5 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len5 = WASM_VECTOR_LEN; - const ptr6 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len6 = WASM_VECTOR_LEN; - _assertClass(setting, SchemeSetting); - var ptr7 = setting.__destroy_into_raw(); - const ret = wasm.generate_q_scheme_automatically(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} primary_color - * @param {string | null | undefined} secondary_color - * @param {string | null | undefined} tertiary_color - * @param {string | null | undefined} accent_color - * @param {string} danger_color - * @param {string} success_color - * @param {string} warning_color - * @param {string} info_color - * @param {string} fg_color - * @param {string} bg_color - * @param {SchemeSetting} setting - * @returns {any} - */ -export function generate_q_scheme_manually(primary_color, secondary_color, tertiary_color, accent_color, danger_color, success_color, warning_color, info_color, fg_color, bg_color, setting) { - const ptr0 = passStringToWasm0(primary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - var ptr1 = isLikeNone(secondary_color) ? 0 : passStringToWasm0(secondary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len1 = WASM_VECTOR_LEN; - var ptr2 = isLikeNone(tertiary_color) ? 0 : passStringToWasm0(tertiary_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len2 = WASM_VECTOR_LEN; - var ptr3 = isLikeNone(accent_color) ? 0 : passStringToWasm0(accent_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - var len3 = WASM_VECTOR_LEN; - const ptr4 = passStringToWasm0(danger_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len4 = WASM_VECTOR_LEN; - const ptr5 = passStringToWasm0(success_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len5 = WASM_VECTOR_LEN; - const ptr6 = passStringToWasm0(warning_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len6 = WASM_VECTOR_LEN; - const ptr7 = passStringToWasm0(info_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len7 = WASM_VECTOR_LEN; - const ptr8 = passStringToWasm0(fg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len8 = WASM_VECTOR_LEN; - const ptr9 = passStringToWasm0(bg_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len9 = WASM_VECTOR_LEN; - _assertClass(setting, SchemeSetting); - var ptr10 = setting.__destroy_into_raw(); - const ret = wasm.generate_q_scheme_manually(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5, ptr6, len6, ptr7, len7, ptr8, len8, ptr9, len9, ptr10); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -function passArrayJsValueToWasm0(array, malloc) { - const ptr = malloc(array.length * 4, 4) >>> 0; - for (let i = 0; i < array.length; i++) { - const add = addToExternrefTable0(array[i]); - getDataViewMemory0().setUint32(ptr + 4 * i, add, true); - } - WASM_VECTOR_LEN = array.length; - return ptr; -} -/** - * @param {SwatchEntry[]} colors - * @param {SwatchSchemeSetting} setting - * @returns {any} - */ -export function generate_swatch_scheme(colors, setting) { - const ptr0 = passArrayJsValueToWasm0(colors, wasm.__wbindgen_malloc); - const len0 = WASM_VECTOR_LEN; - _assertClass(setting, SwatchSchemeSetting); - var ptr1 = setting.__destroy_into_raw(); - const ret = wasm.generate_swatch_scheme(ptr0, len0, ptr1); - if (ret[2]) { - throw takeFromExternrefTable0(ret[1]); - } - return takeFromExternrefTable0(ret[0]); -} - -/** - * @param {string} reference_color - * @param {number} swatch_amount - * @param {number} minimum_lightness - * @param {number} maximum_lightness - * @param {boolean | null} [use_reference_color] - * @param {number | null} [reference_color_bias] - * @returns {string[]} - */ -export function generate_palette_from_color(reference_color, swatch_amount, minimum_lightness, maximum_lightness, use_reference_color, reference_color_bias) { - const ptr0 = passStringToWasm0(reference_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ret = wasm.generate_palette_from_color(ptr0, len0, swatch_amount, minimum_lightness, maximum_lightness, isLikeNone(use_reference_color) ? 0xFFFFFF : use_reference_color ? 1 : 0, isLikeNone(reference_color_bias) ? 0xFFFFFF : reference_color_bias); - 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 * @param {number} percent @@ -866,6 +847,55 @@ export function shade(color, percent) { } } +/** + * @returns {any} + */ +export function color_categories() { + const ret = wasm.color_categories(); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @param {string} tag + * @param {string | null} [category] + * @returns {any} + */ +export function search_color_cards(tag, category) { + const ptr0 = passStringToWasm0(tag, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + var ptr1 = isLikeNone(category) ? 0 : passStringToWasm0(category, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + var len1 = WASM_VECTOR_LEN; + const ret = wasm.search_color_cards(ptr0, len0, ptr1, len1); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); +} + +/** + * @param {string} reference_color + * @param {number} swatch_amount + * @param {number} minimum_lightness + * @param {number} maximum_lightness + * @param {boolean | null} [use_reference_color] + * @param {number | null} [reference_color_bias] + * @returns {string[]} + */ +export function generate_palette_from_color(reference_color, swatch_amount, minimum_lightness, maximum_lightness, use_reference_color, reference_color_bias) { + const ptr0 = passStringToWasm0(reference_color, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.generate_palette_from_color(ptr0, len0, swatch_amount, minimum_lightness, maximum_lightness, isLikeNone(use_reference_color) ? 0xFFFFFF : use_reference_color ? 1 : 0, isLikeNone(reference_color_bias) ? 0xFFFFFF : reference_color_bias); + 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 * @param {number} expand_amount @@ -1159,36 +1189,6 @@ export function wacg_relative_contrast(fg_color, bg_color) { return 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); -} - /** * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6} */ @@ -1271,6 +1271,16 @@ export class ColorShifting { ColorShiftingFinalization.register(this, this.__wbg_ptr, this); return this; } + /** + * @returns {any} + */ + toJsValue() { + const ret = wasm.colorshifting_toJsValue(this.__wbg_ptr); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); + } } const DifferFinalization = (typeof FinalizationRegistry === 'undefined') @@ -1722,7 +1732,7 @@ export class SchemeSetting { * @returns {ColorShifting} */ get hover() { - const ret = wasm.__wbg_get_schemesetting_hover(this.__wbg_ptr); + const ret = wasm.__wbg_get_hsldifference_hue(this.__wbg_ptr); return ColorShifting.__wrap(ret); } /** @@ -1737,7 +1747,7 @@ export class SchemeSetting { * @returns {ColorShifting} */ get active() { - const ret = wasm.__wbg_get_schemesetting_active(this.__wbg_ptr); + const ret = wasm.__wbg_get_hsldifference_saturation(this.__wbg_ptr); return ColorShifting.__wrap(ret); } /** @@ -1752,7 +1762,7 @@ export class SchemeSetting { * @returns {ColorShifting} */ get focus() { - const ret = wasm.__wbg_get_schemesetting_focus(this.__wbg_ptr); + const ret = wasm.__wbg_get_hsldifference_lightness(this.__wbg_ptr); return ColorShifting.__wrap(ret); } /** @@ -1844,6 +1854,16 @@ export class SchemeSetting { SchemeSettingFinalization.register(this, this.__wbg_ptr, this); return this; } + /** + * @returns {any} + */ + to_js_value() { + const ret = wasm.schemesetting_to_js_value(this.__wbg_ptr); + if (ret[2]) { + throw takeFromExternrefTable0(ret[1]); + } + return takeFromExternrefTable0(ret[0]); + } } const SwatchEntryFinalization = (typeof FinalizationRegistry === 'undefined') diff --git a/src/color_functions/color_module_bg.wasm b/src/color_functions/color_module_bg.wasm index 5bb3819..3e63285 100644 Binary files a/src/color_functions/color_module_bg.wasm and b/src/color_functions/color_module_bg.wasm differ diff --git a/src/color_functions/color_module_bg.wasm.d.ts b/src/color_functions/color_module_bg.wasm.d.ts index bbdb3cf..fd4907b 100644 --- a/src/color_functions/color_module_bg.wasm.d.ts +++ b/src/color_functions/color_module_bg.wasm.d.ts @@ -1,6 +1,26 @@ /* tslint:disable */ /* eslint-disable */ export const memory: WebAssembly.Memory; +export const __wbg_swatchentry_free: (a: number, b: number) => void; +export const __wbg_get_swatchentry_name: (a: number) => [number, number]; +export const __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void; +export const __wbg_get_swatchentry_color: (a: number) => [number, number]; +export const __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void; +export const generate_material_design_3_scheme: (a: number, b: number, c: number, d: number, e: any) => [number, number, number]; +export const generate_material_design_2_scheme: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number]; +export const 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]; +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 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 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 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]; @@ -11,39 +31,32 @@ 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 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 __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_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 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 color_categories: () => [number, number, number]; export const search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, number]; +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; +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 __wbg_colorshifting_free: (a: number, b: number) => void; export const __wbg_get_colorshifting_chroma: (a: number) => number; export const __wbg_set_colorshifting_chroma: (a: number, b: number) => void; export const __wbg_get_colorshifting_lightness: (a: number) => number; export const __wbg_set_colorshifting_lightness: (a: number, b: number) => void; export const colorshifting_new: (a: number, b: number) => number; +export const colorshifting_toJsValue: (a: number) => [number, number, number]; export const __wbg_schemesetting_free: (a: number, b: number) => void; -export const __wbg_get_schemesetting_hover: (a: number) => number; export const __wbg_set_schemesetting_hover: (a: number, b: number) => void; -export const __wbg_get_schemesetting_active: (a: number) => number; export const __wbg_set_schemesetting_active: (a: number, b: number) => void; -export const __wbg_get_schemesetting_focus: (a: number) => number; export const __wbg_set_schemesetting_focus: (a: number, b: number) => void; export const __wbg_get_schemesetting_disabled: (a: number) => number; export const __wbg_set_schemesetting_disabled: (a: number, b: number) => void; @@ -54,11 +67,17 @@ export const __wbg_set_schemesetting_expand_method: (a: number, b: number) => vo export const __wbg_get_schemesetting_wacg_follows: (a: number) => number; export const __wbg_set_schemesetting_wacg_follows: (a: number, b: number) => void; export const schemesetting_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => number; -export const generate_material_design_3_scheme: (a: number, b: number, c: number, d: number, e: any) => [number, number, number]; -export const generate_material_design_2_scheme: (a: number, b: number, c: number, d: number, e: number, f: number, g: any) => [number, number, number]; -export const 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]; -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 schemesetting_to_js_value: (a: number) => [number, number, number]; +export const __wbg_get_schemesetting_hover: (a: number) => number; +export const __wbg_get_schemesetting_active: (a: number) => number; +export const __wbg_get_schemesetting_focus: (a: 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; +export const __wbg_get_rgbdifference_g: (a: number) => number; +export const __wbg_set_rgbdifference_g: (a: number, b: number) => void; +export const __wbg_get_rgbdifference_b: (a: number) => number; +export const __wbg_set_rgbdifference_b: (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; @@ -68,6 +87,29 @@ 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_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_swatchschemesetting_free: (a: number, b: number) => void; +export const __wbg_get_swatchschemesetting_amount: (a: number) => number; +export const __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void; +export const __wbg_get_swatchschemesetting_min_lightness: (a: number) => number; +export const __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void; +export const __wbg_get_swatchschemesetting_max_lightness: (a: number) => number; +export const __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void; +export const __wbg_get_swatchschemesetting_include_primary: (a: number) => number; +export const __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void; +export const __wbg_get_swatchschemesetting_dark_convert: (a: number) => number; +export const __wbg_set_swatchschemesetting_dark_convert: (a: number, b: number) => void; 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; @@ -76,13 +118,6 @@ 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 generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number]; -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 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]; @@ -97,45 +132,12 @@ export const oklch_to_hex: (a: number, b: number, c: 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 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_swatchschemesetting_free: (a: number, b: number) => void; -export const __wbg_get_swatchschemesetting_amount: (a: number) => number; -export const __wbg_set_swatchschemesetting_amount: (a: number, b: number) => void; -export const __wbg_get_swatchschemesetting_min_lightness: (a: number) => number; -export const __wbg_set_swatchschemesetting_min_lightness: (a: number, b: number) => void; -export const __wbg_get_swatchschemesetting_max_lightness: (a: number) => number; -export const __wbg_set_swatchschemesetting_max_lightness: (a: number, b: number) => void; -export const __wbg_get_swatchschemesetting_include_primary: (a: number) => number; -export const __wbg_set_swatchschemesetting_include_primary: (a: number, b: number) => void; -export const __wbg_get_swatchschemesetting_dark_convert: (a: number) => number; -export const __wbg_set_swatchschemesetting_dark_convert: (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; -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 __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; -export const __wbg_get_rgbdifference_g: (a: number) => number; -export const __wbg_set_rgbdifference_g: (a: number, b: number) => void; -export const __wbg_get_rgbdifference_b: (a: number) => number; -export const __wbg_set_rgbdifference_b: (a: number, b: number) => void; -export const __wbg_swatchentry_free: (a: number, b: number) => void; -export const __wbg_get_swatchentry_name: (a: number) => [number, number]; -export const __wbg_set_swatchentry_name: (a: number, b: number, c: number) => void; -export const __wbg_get_swatchentry_color: (a: number) => [number, number]; -export const __wbg_set_swatchentry_color: (a: number, b: number, c: number) => void; 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; export const __externref_table_alloc: () => number; export const __wbindgen_export_4: WebAssembly.Table; -export const __externref_table_dealloc: (a: number) => void; export const __wbindgen_free: (a: number, b: number, c: number) => void; +export const __externref_table_dealloc: (a: number) => void; export const __externref_drop_slice: (a: number, b: number) => void; export const __wbindgen_start: () => void;