omni-color 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/README.md +1042 -0
- package/dist/__test__/color-interop.test.d.ts +1 -0
- package/dist/__test__/color-interop.test.js +82 -0
- package/dist/__test__/comparison_culori.test.d.ts +1 -0
- package/dist/__test__/comparison_culori.test.js +169 -0
- package/dist/__test__/interop-chroma.test.d.ts +1 -0
- package/dist/__test__/interop-chroma.test.js +676 -0
- package/dist/__test__/interop-tinycolor.test.d.ts +1 -0
- package/dist/__test__/interop-tinycolor.test.js +499 -0
- package/dist/color/__test__/baseColor.test.d.ts +2 -0
- package/dist/color/__test__/baseColor.test.d.ts.map +1 -0
- package/dist/color/__test__/baseColor.test.js +34 -0
- package/dist/color/__test__/baseColor.test.js.map +1 -0
- package/dist/color/__test__/blank.d.ts +1 -0
- package/dist/color/__test__/blank.js +3 -0
- package/dist/color/__test__/color.test.d.ts +1 -0
- package/dist/color/__test__/color.test.js +1073 -0
- package/dist/color/__test__/colorSpaces.test.d.ts +1 -0
- package/dist/color/__test__/colorSpaces.test.js +69 -0
- package/dist/color/__test__/combinations.test.d.ts +1 -0
- package/dist/color/__test__/combinations.test.js +665 -0
- package/dist/color/__test__/conversions.test.d.ts +1 -0
- package/dist/color/__test__/conversions.test.js +719 -0
- package/dist/color/__test__/deltaE.test.d.ts +1 -0
- package/dist/color/__test__/deltaE.test.js +120 -0
- package/dist/color/__test__/formats.test.d.ts +1 -0
- package/dist/color/__test__/formats.test.js +514 -0
- package/dist/color/__test__/gradients.test.d.ts +1 -0
- package/dist/color/__test__/gradients.test.js +414 -0
- package/dist/color/__test__/harmonies.test.d.ts +1 -0
- package/dist/color/__test__/harmonies.test.js +676 -0
- package/dist/color/__test__/manipulations.test.d.ts +1 -0
- package/dist/color/__test__/manipulations.test.js +264 -0
- package/dist/color/__test__/names.test.d.ts +1 -0
- package/dist/color/__test__/names.test.js +67 -0
- package/dist/color/__test__/parse.test.d.ts +1 -0
- package/dist/color/__test__/parse.test.js +256 -0
- package/dist/color/__test__/random.test.d.ts +1 -0
- package/dist/color/__test__/random.test.js +262 -0
- package/dist/color/__test__/readability.test.d.ts +1 -0
- package/dist/color/__test__/readability.test.js +2596 -0
- package/dist/color/__test__/srgb.test.d.ts +1 -0
- package/dist/color/__test__/srgb.test.js +43 -0
- package/dist/color/__test__/swatch.test.d.ts +1 -0
- package/dist/color/__test__/swatch.test.js +267 -0
- package/dist/color/__test__/temperature.test.d.ts +1 -0
- package/dist/color/__test__/temperature.test.js +223 -0
- package/dist/color/__test__/utils.test.d.ts +1 -0
- package/dist/color/__test__/utils.test.js +409 -0
- package/dist/color/__test__/validations.test.d.ts +1 -0
- package/dist/color/__test__/validations.test.js +239 -0
- package/dist/color/color.constants.d.ts +4 -0
- package/dist/color/color.constants.d.ts.map +1 -0
- package/dist/color/color.constants.js +152 -0
- package/dist/color/color.constants.js.map +1 -0
- package/dist/color/color.consts.d.ts +4 -0
- package/dist/color/color.consts.js +152 -0
- package/dist/color/color.d.ts +788 -0
- package/dist/color/color.d.ts.map +1 -0
- package/dist/color/color.helpers.d.ts +6 -0
- package/dist/color/color.helpers.js +4 -0
- package/dist/color/color.js +919 -0
- package/dist/color/color.js.map +1 -0
- package/dist/color/colorSpaces.d.ts +15 -0
- package/dist/color/colorSpaces.js +127 -0
- package/dist/color/combinations.d.ts +45 -0
- package/dist/color/combinations.js +562 -0
- package/dist/color/conversions.d.ts +16 -0
- package/dist/color/conversions.d.ts.map +1 -0
- package/dist/color/conversions.js +705 -0
- package/dist/color/conversions.js.map +1 -0
- package/dist/color/deltaE.d.ts +59 -0
- package/dist/color/deltaE.js +110 -0
- package/dist/color/formats.d.ts +128 -0
- package/dist/color/formats.d.ts.map +1 -0
- package/dist/color/formats.js +153 -0
- package/dist/color/formats.js.map +1 -0
- package/dist/color/gradients.d.ts +49 -0
- package/dist/color/gradients.js +672 -0
- package/dist/color/harmonies.d.ts +18 -0
- package/dist/color/harmonies.js +128 -0
- package/dist/color/manipulations.d.ts +29 -0
- package/dist/color/manipulations.js +106 -0
- package/dist/color/names.d.ts +38 -0
- package/dist/color/names.js +108 -0
- package/dist/color/parse.d.ts +2 -0
- package/dist/color/parse.js +437 -0
- package/dist/color/random.d.ts +30 -0
- package/dist/color/random.js +65 -0
- package/dist/color/readability.d.ts +53 -0
- package/dist/color/readability.js +284 -0
- package/dist/color/srgb.d.ts +8 -0
- package/dist/color/srgb.js +33 -0
- package/dist/color/swatch.d.ts +49 -0
- package/dist/color/swatch.js +118 -0
- package/dist/color/temperature.d.ts +26 -0
- package/dist/color/temperature.js +141 -0
- package/dist/color/utils.d.ts +49 -0
- package/dist/color/utils.d.ts.map +1 -0
- package/dist/color/utils.js +104 -0
- package/dist/color/utils.js.map +1 -0
- package/dist/color/validations.d.ts +2 -0
- package/dist/color/validations.d.ts.map +1 -0
- package/dist/color/validations.js +178 -0
- package/dist/color/validations.js.map +1 -0
- package/dist/demo/src/AppFooter.d.ts +1 -0
- package/dist/demo/src/AppFooter.js +4 -0
- package/dist/demo/src/AppHeader.d.ts +5 -0
- package/dist/demo/src/AppHeader.js +6 -0
- package/dist/demo/src/components/Card.d.ts +9 -0
- package/dist/demo/src/components/Card.js +9 -0
- package/dist/demo/src/components/Chip.d.ts +21 -0
- package/dist/demo/src/components/Chip.js +23 -0
- package/dist/demo/src/components/ColorBox.d.ts +16 -0
- package/dist/demo/src/components/ColorBox.js +45 -0
- package/dist/demo/src/components/ColorInfoCard.d.ts +7 -0
- package/dist/demo/src/components/ColorInfoCard.js +50 -0
- package/dist/demo/src/components/ExpandableCodeSnippet.d.ts +5 -0
- package/dist/demo/src/components/ExpandableCodeSnippet.js +17 -0
- package/dist/demo/src/components/Icon.d.ts +11 -0
- package/dist/demo/src/components/Icon.js +50 -0
- package/dist/demo/src/components/Icon.types.d.ts +14 -0
- package/dist/demo/src/components/Icon.types.js +15 -0
- package/dist/demo/src/components/SectionContainer.d.ts +10 -0
- package/dist/demo/src/components/SectionContainer.js +12 -0
- package/dist/demo/src/components/VSpace.d.ts +5 -0
- package/dist/demo/src/components/VSpace.js +4 -0
- package/dist/demo/src/components/inputs/Checkbox.d.ts +7 -0
- package/dist/demo/src/components/inputs/Checkbox.js +4 -0
- package/dist/demo/src/components/inputs/InputGroup.d.ts +6 -0
- package/dist/demo/src/components/inputs/InputGroup.js +4 -0
- package/dist/demo/src/components/inputs/NumberInput.d.ts +10 -0
- package/dist/demo/src/components/inputs/NumberInput.js +8 -0
- package/dist/demo/src/components/inputs/Select.d.ts +12 -0
- package/dist/demo/src/components/inputs/Select.js +6 -0
- package/dist/demo/src/components/inputs/Slider.d.ts +10 -0
- package/dist/demo/src/components/inputs/Slider.js +4 -0
- package/dist/demo/src/components/utils.d.ts +17 -0
- package/dist/demo/src/components/utils.js +24 -0
- package/dist/demo/src/demo/ColorDemo.d.ts +1 -0
- package/dist/demo/src/demo/ColorDemo.js +45 -0
- package/dist/demo/src/demo/ColorHarmonyDemo.d.ts +6 -0
- package/dist/demo/src/demo/ColorHarmonyDemo.js +18 -0
- package/dist/demo/src/demo/ColorInfo.d.ts +6 -0
- package/dist/demo/src/demo/ColorInfo.js +14 -0
- package/dist/demo/src/demo/ColorInput.d.ts +7 -0
- package/dist/demo/src/demo/ColorInput.js +58 -0
- package/dist/demo/src/demo/ColorManipulationDemo.d.ts +6 -0
- package/dist/demo/src/demo/ColorManipulationDemo.js +63 -0
- package/dist/demo/src/demo/ColorSwatch.d.ts +13 -0
- package/dist/demo/src/demo/ColorSwatch.js +15 -0
- package/dist/demo/src/demo/ReadabilityDemo.d.ts +6 -0
- package/dist/demo/src/demo/ReadabilityDemo.js +24 -0
- package/dist/demo/src/demo/combinations/AverageColorsOptionInputs.d.ts +7 -0
- package/dist/demo/src/demo/combinations/AverageColorsOptionInputs.js +7 -0
- package/dist/demo/src/demo/combinations/BlendColorsOptionInputs.d.ts +7 -0
- package/dist/demo/src/demo/combinations/BlendColorsOptionInputs.js +13 -0
- package/dist/demo/src/demo/combinations/ColorCombinationDemo.d.ts +6 -0
- package/dist/demo/src/demo/combinations/ColorCombinationDemo.js +78 -0
- package/dist/demo/src/demo/combinations/MixColorsOptionInputs.d.ts +7 -0
- package/dist/demo/src/demo/combinations/MixColorsOptionInputs.js +10 -0
- package/dist/demo/src/demo/combinations/colorCombinationDemo.consts.d.ts +4 -0
- package/dist/demo/src/demo/combinations/colorCombinationDemo.consts.js +12 -0
- package/dist/demo/src/demo/gradients/GradientOptionInputs.d.ts +10 -0
- package/dist/demo/src/demo/gradients/GradientOptionInputs.js +42 -0
- package/dist/demo/src/demo/gradients/GradientThroughCard.d.ts +6 -0
- package/dist/demo/src/demo/gradients/GradientThroughCard.js +50 -0
- package/dist/demo/src/demo/gradients/GradientToCard.d.ts +6 -0
- package/dist/demo/src/demo/gradients/GradientToCard.js +54 -0
- package/dist/demo/src/demo/gradients/GradientsDemo.d.ts +6 -0
- package/dist/demo/src/demo/gradients/GradientsDemo.js +6 -0
- package/dist/demo/src/demo/gradients/gradientOptions.consts.d.ts +3 -0
- package/dist/demo/src/demo/gradients/gradientOptions.consts.js +16 -0
- package/dist/demo/src/demo/palette/ColorPaletteDemo.d.ts +6 -0
- package/dist/demo/src/demo/palette/ColorPaletteDemo.js +26 -0
- package/dist/demo/src/demo/palette/PaletteGenerationOptions.d.ts +8 -0
- package/dist/demo/src/demo/palette/PaletteGenerationOptions.js +53 -0
- package/dist/demo/src/demo/palette/PaletteHarmonyOptions.d.ts +7 -0
- package/dist/demo/src/demo/palette/PaletteHarmonyOptions.js +5 -0
- package/dist/demo/src/main.d.ts +1 -0
- package/dist/demo/src/main.js +14 -0
- package/dist/demo/src/pages/DemoPage.d.ts +1 -0
- package/dist/demo/src/pages/DemoPage.js +28 -0
- package/dist/demo/src/pages/PlaygroundPage.d.ts +1 -0
- package/dist/demo/src/pages/PlaygroundPage.js +24 -0
- package/dist/demo/src/playground/Playground.d.ts +1 -0
- package/dist/demo/src/playground/Playground.js +42 -0
- package/dist/demo/src/playground/playgroundUtils.d.ts +16 -0
- package/dist/demo/src/playground/playgroundUtils.js +202 -0
- package/dist/demo/src/seo/PageHead.d.ts +9 -0
- package/dist/demo/src/seo/PageHead.js +76 -0
- package/dist/demo/src/seo/StructuredData.d.ts +6 -0
- package/dist/demo/src/seo/StructuredData.js +13 -0
- package/dist/demo/src/toast/ToastProvider.d.ts +2 -0
- package/dist/demo/src/toast/ToastProvider.js +62 -0
- package/dist/demo/src/toast/index.d.ts +2 -0
- package/dist/demo/src/toast/index.js +2 -0
- package/dist/demo/src/toast/toastBus.d.ts +13 -0
- package/dist/demo/src/toast/toastBus.js +27 -0
- package/dist/index.d.ts +1233 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5235 -0
- package/dist/index.js.map +1 -0
- package/dist/palette/__test__/palette.test.d.ts +1 -0
- package/dist/palette/__test__/palette.test.js +397 -0
- package/dist/palette/palette.d.ts +41 -0
- package/dist/palette/palette.js +126 -0
- package/dist/src/__test__/interop-chroma.test.d.ts +1 -0
- package/dist/src/__test__/interop-chroma.test.js +673 -0
- package/dist/src/__test__/interop-tinycolor.test.d.ts +1 -0
- package/dist/src/__test__/interop-tinycolor.test.js +499 -0
- package/dist/src/color/__test__/color.test.d.ts +1 -0
- package/dist/src/color/__test__/color.test.js +1071 -0
- package/dist/src/color/__test__/colorSpaces.test.d.ts +1 -0
- package/dist/src/color/__test__/colorSpaces.test.js +69 -0
- package/dist/src/color/__test__/combinations.test.d.ts +1 -0
- package/dist/src/color/__test__/combinations.test.js +665 -0
- package/dist/src/color/__test__/conversions.test.d.ts +1 -0
- package/dist/src/color/__test__/conversions.test.js +719 -0
- package/dist/src/color/__test__/deltaE.test.d.ts +1 -0
- package/dist/src/color/__test__/deltaE.test.js +120 -0
- package/dist/src/color/__test__/formats.test.d.ts +1 -0
- package/dist/src/color/__test__/formats.test.js +470 -0
- package/dist/src/color/__test__/gradients.test.d.ts +1 -0
- package/dist/src/color/__test__/gradients.test.js +414 -0
- package/dist/src/color/__test__/harmonies.test.d.ts +1 -0
- package/dist/src/color/__test__/harmonies.test.js +734 -0
- package/dist/src/color/__test__/manipulations.test.d.ts +1 -0
- package/dist/src/color/__test__/manipulations.test.js +264 -0
- package/dist/src/color/__test__/names.test.d.ts +1 -0
- package/dist/src/color/__test__/names.test.js +67 -0
- package/dist/src/color/__test__/parse.test.d.ts +1 -0
- package/dist/src/color/__test__/parse.test.js +251 -0
- package/dist/src/color/__test__/random.test.d.ts +1 -0
- package/dist/src/color/__test__/random.test.js +262 -0
- package/dist/src/color/__test__/readability.test.d.ts +1 -0
- package/dist/src/color/__test__/readability.test.js +2596 -0
- package/dist/src/color/__test__/swatch.test.d.ts +1 -0
- package/dist/src/color/__test__/swatch.test.js +267 -0
- package/dist/src/color/__test__/temperature.test.d.ts +1 -0
- package/dist/src/color/__test__/temperature.test.js +223 -0
- package/dist/src/color/__test__/utils.test.d.ts +1 -0
- package/dist/src/color/__test__/utils.test.js +409 -0
- package/dist/src/color/__test__/validations.test.d.ts +1 -0
- package/dist/src/color/__test__/validations.test.js +239 -0
- package/dist/src/color/color.consts.d.ts +4 -0
- package/dist/src/color/color.consts.js +152 -0
- package/dist/src/color/color.d.ts +775 -0
- package/dist/src/color/color.js +903 -0
- package/dist/src/color/colorSpaces.d.ts +15 -0
- package/dist/src/color/colorSpaces.js +127 -0
- package/dist/src/color/combinations.d.ts +45 -0
- package/dist/src/color/combinations.js +557 -0
- package/dist/src/color/conversions.d.ts +16 -0
- package/dist/src/color/conversions.js +705 -0
- package/dist/src/color/deltaE.d.ts +59 -0
- package/dist/src/color/deltaE.js +110 -0
- package/dist/src/color/formats.d.ts +126 -0
- package/dist/src/color/formats.js +150 -0
- package/dist/src/color/gradients.d.ts +49 -0
- package/dist/src/color/gradients.js +673 -0
- package/dist/src/color/harmonies.d.ts +18 -0
- package/dist/src/color/harmonies.js +129 -0
- package/dist/src/color/manipulations.d.ts +29 -0
- package/dist/src/color/manipulations.js +107 -0
- package/dist/src/color/names.d.ts +38 -0
- package/dist/src/color/names.js +108 -0
- package/dist/src/color/parse.d.ts +2 -0
- package/dist/src/color/parse.js +438 -0
- package/dist/src/color/random.d.ts +30 -0
- package/dist/src/color/random.js +65 -0
- package/dist/src/color/readability.d.ts +53 -0
- package/dist/src/color/readability.js +284 -0
- package/dist/src/color/swatch.d.ts +49 -0
- package/dist/src/color/swatch.js +117 -0
- package/dist/src/color/temperature.d.ts +26 -0
- package/dist/src/color/temperature.js +142 -0
- package/dist/src/color/utils.d.ts +57 -0
- package/dist/src/color/utils.js +142 -0
- package/dist/src/color/validations.d.ts +2 -0
- package/dist/src/color/validations.js +178 -0
- package/dist/src/index.d.ts +20 -0
- package/dist/src/index.js +2 -0
- package/dist/src/palette/__test__/palette.test.d.ts +1 -0
- package/dist/src/palette/__test__/palette.test.js +397 -0
- package/dist/src/palette/palette.d.ts +41 -0
- package/dist/src/palette/palette.js +127 -0
- package/dist/src/utils.d.ts +20 -0
- package/dist/src/utils.js +42 -0
- package/dist/utils.d.ts +20 -0
- package/dist/utils.js +42 -0
- package/package.json +96 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { convertColorSpaceValuesToRGB, convertRGBToColorSpaceValues, parseColorSpace, resolveColorSpace, } from '../colorSpaces';
|
|
2
|
+
describe('parseColorSpace', () => {
|
|
3
|
+
it('parses supported spaces case-insensitively', () => {
|
|
4
|
+
expect(parseColorSpace('srgb')).toBe('SRGB');
|
|
5
|
+
expect(parseColorSpace('Display-P3')).toBe('DISPLAY-P3');
|
|
6
|
+
expect(parseColorSpace('REC2020')).toBe('REC2020');
|
|
7
|
+
});
|
|
8
|
+
it('returns null for unsupported spaces', () => {
|
|
9
|
+
expect(parseColorSpace('foo')).toBeNull();
|
|
10
|
+
expect(parseColorSpace('')).toBeNull();
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
describe('resolveColorSpace', () => {
|
|
14
|
+
it('defaults to SRGB when no value is provided', () => {
|
|
15
|
+
expect(resolveColorSpace()).toBe('SRGB');
|
|
16
|
+
});
|
|
17
|
+
it('normalizes supported inputs', () => {
|
|
18
|
+
expect(resolveColorSpace('display-p3')).toBe('DISPLAY-P3');
|
|
19
|
+
expect(resolveColorSpace(' rec2020 ')).toBe('REC2020');
|
|
20
|
+
});
|
|
21
|
+
it('falls back to SRGB for unsupported values', () => {
|
|
22
|
+
expect(resolveColorSpace('unknown')).toBe('SRGB');
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
describe('convertColorSpaceValuesToRGB', () => {
|
|
26
|
+
it('converts sRGB inputs directly', () => {
|
|
27
|
+
expect(convertColorSpaceValuesToRGB({ r: 1, g: 0, b: 0 }, 'SRGB')).toEqual({
|
|
28
|
+
r: 255,
|
|
29
|
+
g: 0,
|
|
30
|
+
b: 0,
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
it('converts Display-P3 values to RGB', () => {
|
|
34
|
+
expect(convertColorSpaceValuesToRGB({ r: 0.5, g: 0.2, b: 0.1 }, 'DISPLAY-P3')).toEqual({
|
|
35
|
+
r: 138,
|
|
36
|
+
g: 44,
|
|
37
|
+
b: 13,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
it('converts Rec.2020 values to RGB', () => {
|
|
41
|
+
expect(convertColorSpaceValuesToRGB({ r: 0.25, g: 0.5, b: 0.75 }, 'REC2020')).toEqual({
|
|
42
|
+
r: 0,
|
|
43
|
+
g: 144,
|
|
44
|
+
b: 204,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('convertRGBToColorSpaceValues', () => {
|
|
49
|
+
it('converts RGB to sRGB-normalized values', () => {
|
|
50
|
+
const srgb = convertRGBToColorSpaceValues({ r: 255, g: 0, b: 0 }, 'SRGB');
|
|
51
|
+
expect(srgb.r).toBeCloseTo(1, 12);
|
|
52
|
+
expect(srgb.g).toBeCloseTo(0, 12);
|
|
53
|
+
expect(srgb.b).toBeCloseTo(0, 12);
|
|
54
|
+
});
|
|
55
|
+
it('converts RGB to Display-P3 and back to RGB', () => {
|
|
56
|
+
const rgb = { r: 51, g: 102, b: 153 };
|
|
57
|
+
const displayP3 = convertRGBToColorSpaceValues(rgb, 'DISPLAY-P3');
|
|
58
|
+
expect(displayP3.r).toBeCloseTo(0.249851, 6);
|
|
59
|
+
expect(displayP3.g).toBeCloseTo(0.39524, 6);
|
|
60
|
+
expect(displayP3.b).toBeCloseTo(0.584034, 6);
|
|
61
|
+
expect(convertColorSpaceValuesToRGB(displayP3, 'DISPLAY-P3')).toEqual(rgb);
|
|
62
|
+
});
|
|
63
|
+
it('converts RGB to Rec.2020 values', () => {
|
|
64
|
+
const rec2020 = convertRGBToColorSpaceValues({ r: 51, g: 102, b: 153 }, 'REC2020');
|
|
65
|
+
expect(rec2020.r).toBeCloseTo(0.250128, 6);
|
|
66
|
+
expect(rec2020.g).toBeCloseTo(0.336705, 6);
|
|
67
|
+
expect(rec2020.b).toBeCloseTo(0.537794, 6);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|