Compare commits
3 Commits
4a9dfbb664
...
2d91f45809
Author | SHA1 | Date | |
---|---|---|---|
|
2d91f45809 | ||
|
3ad637e1fa | ||
|
c78a2f0183 |
|
@ -70,6 +70,13 @@ macro_rules! parse_to_oklch {
|
|||
.into_format::<f32>(),
|
||||
)
|
||||
};
|
||||
($origin: expr) => {
|
||||
palette::Oklch::from_color(
|
||||
palette::Srgb::from_str($origin)
|
||||
.map_err(|_| crate::errors::ColorError::UnrecogniazedRGB($origin.to_string()))?
|
||||
.into_format::<f32>(),
|
||||
)
|
||||
};
|
||||
}
|
||||
|
||||
#[macro_export]
|
||||
|
|
|
@ -3,6 +3,7 @@ use std::collections::HashMap;
|
|||
use material_design_2::MaterialDesign2Scheme;
|
||||
use material_design_3::MaterialDesign3Scheme;
|
||||
use q_style::{QScheme, SchemeSetting};
|
||||
use swatch_style::{SwatchEntry, SwatchSchemeSetting};
|
||||
use wasm_bindgen::{prelude::wasm_bindgen, JsValue};
|
||||
|
||||
use crate::errors;
|
||||
|
@ -10,6 +11,7 @@ use crate::errors;
|
|||
pub mod material_design_2;
|
||||
pub mod material_design_3;
|
||||
pub mod q_style;
|
||||
pub mod swatch_style;
|
||||
|
||||
pub trait SchemeExport {
|
||||
fn output_css_variables(&self) -> String;
|
||||
|
@ -69,10 +71,8 @@ pub fn generate_q_scheme_automatically(
|
|||
info_color: &str,
|
||||
fg_color: &str,
|
||||
bg_color: &str,
|
||||
setting: JsValue,
|
||||
setting: SchemeSetting,
|
||||
) -> Result<JsValue, errors::ColorError> {
|
||||
let settings: SchemeSetting = serde_wasm_bindgen::from_value(setting)
|
||||
.map_err(|_| errors::ColorError::UnableToParseArgument)?;
|
||||
let scheme = QScheme::new(
|
||||
primary_color,
|
||||
danger_color,
|
||||
|
@ -81,7 +81,7 @@ pub fn generate_q_scheme_automatically(
|
|||
info_color,
|
||||
fg_color,
|
||||
bg_color,
|
||||
settings,
|
||||
setting,
|
||||
)?;
|
||||
Ok(serde_wasm_bindgen::to_value(&(
|
||||
scheme.clone(),
|
||||
|
@ -104,10 +104,8 @@ pub fn generate_q_scheme_manually(
|
|||
info_color: &str,
|
||||
fg_color: &str,
|
||||
bg_color: &str,
|
||||
setting: JsValue,
|
||||
setting: SchemeSetting,
|
||||
) -> Result<JsValue, errors::ColorError> {
|
||||
let settings: SchemeSetting = serde_wasm_bindgen::from_value(setting)
|
||||
.map_err(|_| errors::ColorError::UnableToParseArgument)?;
|
||||
let scheme = QScheme::custom(
|
||||
primary_color,
|
||||
secondary_color.as_deref(),
|
||||
|
@ -119,7 +117,7 @@ pub fn generate_q_scheme_manually(
|
|||
info_color,
|
||||
fg_color,
|
||||
bg_color,
|
||||
settings,
|
||||
setting,
|
||||
)?;
|
||||
Ok(serde_wasm_bindgen::to_value(&(
|
||||
scheme.clone(),
|
||||
|
@ -129,3 +127,18 @@ pub fn generate_q_scheme_manually(
|
|||
))
|
||||
.map_err(|_| errors::ColorError::UnableToAssembleOutput)?)
|
||||
}
|
||||
|
||||
#[wasm_bindgen]
|
||||
pub fn generate_swatch_scheme(
|
||||
colors: Vec<SwatchEntry>,
|
||||
setting: SwatchSchemeSetting,
|
||||
) -> Result<JsValue, errors::ColorError> {
|
||||
let scheme = swatch_style::SwatchScheme::new(colors, setting)?;
|
||||
Ok(serde_wasm_bindgen::to_value(&(
|
||||
scheme.swatches(),
|
||||
scheme.output_css_variables(),
|
||||
scheme.output_scss_variables(),
|
||||
scheme.output_javascript_object(),
|
||||
))
|
||||
.map_err(|_| errors::ColorError::UnableToAssembleOutput)?)
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ mod color_set;
|
|||
mod neutral_swatch;
|
||||
mod scheme_setting;
|
||||
|
||||
pub use scheme_setting::SchemeSetting;
|
||||
pub use scheme_setting::{ColorShifting, SchemeSetting};
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub struct QScheme {
|
||||
|
|
|
@ -3,8 +3,10 @@ use std::ops::Mul;
|
|||
use palette::Oklch;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use strum::{Display, EnumIter, EnumString};
|
||||
use wasm_bindgen::prelude::wasm_bindgen;
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[wasm_bindgen]
|
||||
pub struct ColorShifting {
|
||||
pub chroma: f32,
|
||||
pub lightness: f32,
|
||||
|
@ -55,6 +57,7 @@ impl Mul<ColorShifting> for &Oklch<f32> {
|
|||
}
|
||||
|
||||
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
|
||||
#[wasm_bindgen]
|
||||
pub struct SchemeSetting {
|
||||
pub hover: ColorShifting,
|
||||
pub active: ColorShifting,
|
||||
|
@ -67,6 +70,7 @@ pub struct SchemeSetting {
|
|||
|
||||
#[derive(Debug, Clone, Copy, Display, EnumString, EnumIter, Serialize, Deserialize)]
|
||||
#[strum(serialize_all = "lowercase")]
|
||||
#[wasm_bindgen]
|
||||
pub enum ColorExpand {
|
||||
Complementary,
|
||||
Analogous,
|
||||
|
@ -93,6 +97,7 @@ impl ColorExpand {
|
|||
|
||||
#[derive(Debug, Clone, Copy, Display, EnumString, EnumIter, Serialize, Deserialize)]
|
||||
#[strum(serialize_all = "lowercase")]
|
||||
#[wasm_bindgen]
|
||||
pub enum WACGSetting {
|
||||
Fixed,
|
||||
AutomaticAA,
|
||||
|
|
122
color-module/src/schemes/swatch_style/mod.rs
Normal file
122
color-module/src/schemes/swatch_style/mod.rs
Normal file
|
@ -0,0 +1,122 @@
|
|||
use palette::FromColor;
|
||||
use std::collections::HashMap;
|
||||
use std::str::FromStr;
|
||||
|
||||
pub use setting::SwatchSchemeSetting;
|
||||
use swatch::Swatch;
|
||||
use wasm_bindgen::prelude::*;
|
||||
|
||||
use crate::{errors, parse_to_oklch};
|
||||
|
||||
use super::SchemeExport;
|
||||
|
||||
mod setting;
|
||||
mod swatch;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct SwatchScheme {
|
||||
light: HashMap<String, Swatch>,
|
||||
dark: HashMap<String, Swatch>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
#[wasm_bindgen(getter_with_clone)]
|
||||
pub struct SwatchEntry {
|
||||
pub name: String,
|
||||
pub color: String,
|
||||
}
|
||||
|
||||
impl SwatchScheme {
|
||||
pub fn new(
|
||||
colors: Vec<SwatchEntry>,
|
||||
setting: SwatchSchemeSetting,
|
||||
) -> Result<Self, errors::ColorError> {
|
||||
let mut light = HashMap::new();
|
||||
let mut dark = HashMap::new();
|
||||
|
||||
for entry in colors {
|
||||
let color = parse_to_oklch!(&entry.color);
|
||||
let darken_color = color * setting.dark_convert;
|
||||
light.insert(entry.name.clone(), Swatch::new(&color, &setting));
|
||||
dark.insert(entry.name, Swatch::new(&darken_color, &setting));
|
||||
}
|
||||
|
||||
Ok(Self { light, dark })
|
||||
}
|
||||
|
||||
pub fn swatches(&self) -> HashMap<String, HashMap<String, Vec<String>>> {
|
||||
let mut light_swatches = HashMap::new();
|
||||
let mut dark_swatches = HashMap::new();
|
||||
|
||||
for (name, swatch) in &self.light {
|
||||
light_swatches.insert(name.clone(), swatch.swtch_hex());
|
||||
}
|
||||
for (name, swatch) in &self.dark {
|
||||
dark_swatches.insert(name.clone(), swatch.swtch_hex());
|
||||
}
|
||||
|
||||
HashMap::from([
|
||||
("light".to_string(), light_swatches),
|
||||
("dark".to_string(), dark_swatches),
|
||||
])
|
||||
}
|
||||
}
|
||||
|
||||
impl SchemeExport for SwatchScheme {
|
||||
fn output_css_variables(&self) -> String {
|
||||
let mut variables = Vec::new();
|
||||
|
||||
for (name, swatch) in &self.light {
|
||||
variables.extend(swatch.to_css_variables("light", name));
|
||||
}
|
||||
for (name, swatch) in &self.dark {
|
||||
variables.extend(swatch.to_css_variables("dark", name));
|
||||
}
|
||||
|
||||
variables.join("\n")
|
||||
}
|
||||
|
||||
fn output_scss_variables(&self) -> String {
|
||||
let mut variables = Vec::new();
|
||||
|
||||
for (name, swatch) in &self.light {
|
||||
variables.extend(swatch.to_scss_variables("light", name));
|
||||
}
|
||||
for (name, swatch) in &self.dark {
|
||||
variables.extend(swatch.to_scss_variables("dark", name));
|
||||
}
|
||||
|
||||
variables.join("\n")
|
||||
}
|
||||
|
||||
fn output_javascript_object(&self) -> String {
|
||||
let mut object = Vec::new();
|
||||
object.push("{".to_string());
|
||||
|
||||
object.push(" light: {".to_string());
|
||||
for (name, swatch) in &self.light {
|
||||
object.extend(
|
||||
swatch
|
||||
.to_javascript_fields("light", name)
|
||||
.iter()
|
||||
.map(|s| format!(" {}", s)),
|
||||
);
|
||||
}
|
||||
object.push(" },".to_string());
|
||||
|
||||
object.push(" dark: {".to_string());
|
||||
for (name, swatch) in &self.dark {
|
||||
object.extend(
|
||||
swatch
|
||||
.to_javascript_fields("dark", name)
|
||||
.iter()
|
||||
.map(|s| format!(" {}", s)),
|
||||
);
|
||||
}
|
||||
object.push(" },".to_string());
|
||||
|
||||
object.push("}".to_string());
|
||||
|
||||
object.join("\n")
|
||||
}
|
||||
}
|
29
color-module/src/schemes/swatch_style/setting.rs
Normal file
29
color-module/src/schemes/swatch_style/setting.rs
Normal file
|
@ -0,0 +1,29 @@
|
|||
use serde::Serialize;
|
||||
use wasm_bindgen::prelude::wasm_bindgen;
|
||||
|
||||
use crate::schemes::q_style::ColorShifting;
|
||||
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
#[wasm_bindgen]
|
||||
pub struct SwatchSchemeSetting {
|
||||
pub amount: usize,
|
||||
pub min_lightness: f32,
|
||||
pub max_lightness: f32,
|
||||
pub include_primary: bool,
|
||||
pub dark_convert: ColorShifting,
|
||||
}
|
||||
|
||||
impl Default for SwatchSchemeSetting {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
amount: 10,
|
||||
min_lightness: 10.0,
|
||||
max_lightness: 90.0,
|
||||
include_primary: false,
|
||||
dark_convert: ColorShifting {
|
||||
chroma: -0.3,
|
||||
lightness: -0.3,
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
133
color-module/src/schemes/swatch_style/swatch.rs
Normal file
133
color-module/src/schemes/swatch_style/swatch.rs
Normal file
|
@ -0,0 +1,133 @@
|
|||
use palette::Oklch;
|
||||
|
||||
use crate::convert::map_oklch_to_srgb_hex;
|
||||
|
||||
use super::setting::SwatchSchemeSetting;
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct Swatch {
|
||||
min_key: f32,
|
||||
max_key: f32,
|
||||
primary_key: Oklch,
|
||||
include_primary: bool,
|
||||
color_amount: usize,
|
||||
}
|
||||
|
||||
impl Swatch {
|
||||
pub fn new(primary: &Oklch, setting: &SwatchSchemeSetting) -> Self {
|
||||
Self {
|
||||
min_key: primary.l.min(setting.min_lightness),
|
||||
max_key: primary.l.max(setting.max_lightness),
|
||||
primary_key: primary.clone(),
|
||||
include_primary: setting.include_primary,
|
||||
color_amount: setting.amount,
|
||||
}
|
||||
}
|
||||
|
||||
fn find_interval(&self) -> (usize, usize) {
|
||||
if !self.include_primary {
|
||||
return (0, 0);
|
||||
}
|
||||
if self.primary_key.l == self.min_key {
|
||||
return (0, 1);
|
||||
}
|
||||
if self.primary_key.l == self.max_key {
|
||||
return (self.color_amount - 2, self.color_amount - 1);
|
||||
}
|
||||
let step = (self.max_key - self.min_key) / (self.color_amount - 1) as f32;
|
||||
let index = ((self.primary_key.l - self.min_key) / step) as usize;
|
||||
|
||||
(index, index + 1)
|
||||
}
|
||||
|
||||
pub fn swatch(&self) -> Vec<Oklch> {
|
||||
let mut swatch = Vec::new();
|
||||
if self.include_primary {
|
||||
let (_, primary_index) = self.find_interval();
|
||||
if primary_index > 0 {
|
||||
let step = (self.max_key - self.min_key) / primary_index as f32;
|
||||
for i in 0..primary_index {
|
||||
let lightness = self.min_key + step * i as f32;
|
||||
swatch.push(Oklch {
|
||||
l: lightness,
|
||||
..self.primary_key
|
||||
});
|
||||
}
|
||||
}
|
||||
if primary_index < self.color_amount - 1 {
|
||||
let step =
|
||||
(self.max_key - self.min_key) / (self.color_amount - primary_index) as f32;
|
||||
for i in primary_index..self.color_amount {
|
||||
let lightness = self.min_key + step * i as f32;
|
||||
swatch.push(Oklch {
|
||||
l: lightness,
|
||||
..self.primary_key
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let step = (self.max_key - self.min_key) / (self.color_amount - 1) as f32;
|
||||
for i in 0..self.color_amount {
|
||||
let lightness = self.min_key + step * i as f32;
|
||||
swatch.push(Oklch {
|
||||
l: lightness,
|
||||
..self.primary_key
|
||||
});
|
||||
}
|
||||
}
|
||||
swatch
|
||||
}
|
||||
|
||||
pub fn swtch_hex(&self) -> Vec<String> {
|
||||
self.swatch().iter().map(map_oklch_to_srgb_hex).collect()
|
||||
}
|
||||
|
||||
pub fn to_css_variables(&self, prefix: &str, name: &str) -> Vec<String> {
|
||||
let mut variables = Vec::new();
|
||||
for (i, color) in self.swatch().iter().enumerate() {
|
||||
variables.push(format!(
|
||||
"--color-{}-{}-{}: #{};",
|
||||
prefix,
|
||||
name,
|
||||
i * 100,
|
||||
map_oklch_to_srgb_hex(color)
|
||||
));
|
||||
}
|
||||
variables
|
||||
}
|
||||
|
||||
pub fn to_scss_variables(&self, prefix: &str, name: &str) -> Vec<String> {
|
||||
let mut variables = Vec::new();
|
||||
for (i, color) in self.swatch().iter().enumerate() {
|
||||
variables.push(format!(
|
||||
"${}-{}-{}: #{};",
|
||||
prefix,
|
||||
name,
|
||||
i * 100,
|
||||
map_oklch_to_srgb_hex(color)
|
||||
));
|
||||
}
|
||||
variables
|
||||
}
|
||||
|
||||
pub fn to_javascript_fields(&self, prefix: &str, name: &str) -> Vec<String> {
|
||||
let mut variables = Vec::new();
|
||||
let capitalized_name = name
|
||||
.chars()
|
||||
.next()
|
||||
.unwrap()
|
||||
.to_ascii_uppercase()
|
||||
.to_string()
|
||||
+ &name[1..];
|
||||
for (i, color) in self.swatch().iter().enumerate() {
|
||||
variables.push(format!(
|
||||
"{}{}{}: '#{}',",
|
||||
prefix,
|
||||
capitalized_name,
|
||||
i * 100,
|
||||
map_oklch_to_srgb_hex(color)
|
||||
));
|
||||
}
|
||||
variables
|
||||
}
|
||||
}
|
138
src/color_functions/color_module.d.ts
vendored
138
src/color_functions/color_module.d.ts
vendored
|
@ -1,16 +1,5 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
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 shift_hue(color: string, degree: number): 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;
|
||||
|
@ -18,18 +7,17 @@ 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 wacg_relative_contrast(fg_color: string, bg_color: string): number;
|
||||
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: any): any;
|
||||
export function generate_q_scheme_manually(primary_color: string, secondary_color: string | undefined, tertiary_color: string | undefined, accent_color: string | undefined, danger_color: string, success_color: string, warning_color: string, info_color: string, fg_color: string, bg_color: string, setting: any): 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 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 color_categories(): any;
|
||||
export function search_color_cards(tag: string, category?: string): any;
|
||||
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;
|
||||
|
@ -41,6 +29,24 @@ export function relative_differ_in_oklch(color: string, other: string): OklchDif
|
|||
export function tint_scale(basic_color: string, mixed_color: string): MixReversing;
|
||||
export function shade_scale(basic_color: string, mixed_color: string): MixReversing;
|
||||
export function generate_palette_from_color(reference_color: string, swatch_amount: number, minimum_lightness: number, maximum_lightness: number, use_reference_color?: boolean, reference_color_bias?: number): (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)[];
|
||||
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 color_categories(): any;
|
||||
export function search_color_cards(tag: string, category?: string): any;
|
||||
export function q_scheme_color_expanding_methods(): any;
|
||||
export function q_scheme_wacg_settings(): any;
|
||||
export class Differ {
|
||||
private constructor();
|
||||
free(): void;
|
||||
|
@ -88,17 +94,6 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
|
|||
|
||||
export interface InitOutput {
|
||||
readonly memory: WebAssembly.Memory;
|
||||
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 shift_hue: (a: number, b: number, c: 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];
|
||||
|
@ -106,18 +101,17 @@ export interface InitOutput {
|
|||
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 wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, 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: any) => [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: any) => [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 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 color_categories: () => [number, number, number];
|
||||
readonly search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, 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];
|
||||
|
@ -128,25 +122,7 @@ 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_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;
|
||||
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_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 generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
||||
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;
|
||||
|
@ -156,13 +132,11 @@ 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_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_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_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;
|
||||
|
@ -170,10 +144,50 @@ export interface InitOutput {
|
|||
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 generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: 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 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 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 color_categories: () => [number, number, number];
|
||||
readonly search_color_cards: (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 __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 q_scheme_color_expanding_methods: () => [number, number, number];
|
||||
readonly q_scheme_wacg_settings: () => [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_export_2: WebAssembly.Table;
|
||||
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_drop_slice: (a: number, b: number) => void;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
Binary file not shown.
98
src/color_functions/color_module_bg.wasm.d.ts
vendored
98
src/color_functions/color_module_bg.wasm.d.ts
vendored
|
@ -1,17 +1,6 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export const memory: WebAssembly.Memory;
|
||||
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 shift_hue: (a: number, b: number, c: 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];
|
||||
|
@ -19,18 +8,17 @@ export const darken_absolute: (a: number, b: number, c: number) => [number, numb
|
|||
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 wacg_relative_contrast: (a: number, b: number, c: number, d: number) => [number, 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: any) => [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: any) => [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 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 color_categories: () => [number, number, number];
|
||||
export const search_color_cards: (a: number, b: number, c: number, d: number) => [number, number, 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];
|
||||
|
@ -41,25 +29,7 @@ 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_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;
|
||||
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_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 generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: number) => [number, number, number, number];
|
||||
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;
|
||||
|
@ -69,13 +39,11 @@ 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_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_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_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;
|
||||
|
@ -83,10 +51,50 @@ 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 generate_palette_from_color: (a: number, b: number, c: number, d: number, e: number, f: number, g: 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 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 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 color_categories: () => [number, number, number];
|
||||
export const search_color_cards: (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 __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 q_scheme_color_expanding_methods: () => [number, number, number];
|
||||
export const q_scheme_wacg_settings: () => [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_export_2: WebAssembly.Table;
|
||||
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_drop_slice: (a: number, b: number) => void;
|
||||
|
|
Loading…
Reference in New Issue
Block a user