@atlaskit/tokens 13.1.0 → 13.1.1
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/CHANGELOG.md +8 -0
- package/codemods/css-to-design-tokens/lib/colors.tsx +3 -8
- package/codemods/css-to-design-tokens/lib/declaration.tsx +3 -13
- package/codemods/css-to-design-tokens/lib/extract-between-parentheses.tsx +4 -0
- package/codemods/css-to-design-tokens/lib/extract-less-var-name.tsx +3 -0
- package/codemods/css-to-design-tokens/lib/get-css-var-meta.tsx +13 -0
- package/codemods/css-to-design-tokens/lib/get-named-color-meta.tsx +5 -0
- package/codemods/css-to-design-tokens/lib/get-raw-color-meta.tsx +11 -0
- package/codemods/css-to-design-tokens/lib/is-css-declaration.tsx +3 -0
- package/codemods/css-to-design-tokens/lib/is-known-css-variable.tsx +5 -0
- package/codemods/css-to-design-tokens/lib/known-named-colors.tsx +150 -0
- package/codemods/css-to-design-tokens/lib/known-raw-colors.tsx +17 -0
- package/codemods/css-to-design-tokens/lib/known-variables.tsx +167 -0
- package/codemods/css-to-design-tokens/lib/legacy-colors.tsx +3 -335
- package/codemods/css-to-design-tokens/lib/meta.tsx +3 -28
- package/codemods/css-to-design-tokens/lib/split-css-value.tsx +4 -0
- package/codemods/css-to-design-tokens/lib/value.tsx +6 -9
- package/codemods/css-to-design-tokens/transform.tsx +3 -1
- package/dist/cjs/artifacts/palettes-raw/palette.js +35 -1
- package/dist/cjs/entry-points/theme-state-transformer.js +4 -3
- package/dist/cjs/get-custom-theme-styles.js +7 -6
- package/dist/cjs/get-global-theme.js +2 -2
- package/dist/cjs/get-theme-html-attrs.js +2 -2
- package/dist/cjs/index.js +4 -3
- package/dist/cjs/is-color-mode.js +9 -0
- package/dist/cjs/is-theme-ids.js +12 -0
- package/dist/cjs/is-theme-kind.js +12 -0
- package/dist/cjs/theme-config.js +8 -44
- package/dist/cjs/theme-object-to-string.js +42 -0
- package/dist/cjs/theme-options-schema.js +1 -0
- package/dist/cjs/theme-state-defaults.js +39 -0
- package/dist/cjs/theme-state.js +5 -0
- package/dist/cjs/theme-string-to-object.js +51 -0
- package/dist/cjs/utils/additional-contrast-checker.js +43 -0
- package/dist/cjs/utils/custom-theme-loading-utils.js +0 -22
- package/dist/cjs/utils/custom-theme-token-contrast-check.js +2 -40
- package/dist/cjs/utils/delta-e.js +26 -0
- package/dist/cjs/utils/generate-colors.js +47 -0
- package/dist/cjs/utils/generate-token-map-with-contrast-check.js +32 -0
- package/dist/cjs/utils/{generate-custom-color-ramp.js → generate-token-map.js} +6 -75
- package/dist/cjs/utils/get-closest-color-index.js +3 -2
- package/dist/cjs/utils/get-contrast-ratio.js +22 -0
- package/dist/cjs/utils/hct-color-utils/alpha-from-argb.js +12 -0
- package/dist/cjs/utils/hct-color-utils/argb-from-linrgb.js +17 -0
- package/dist/cjs/utils/hct-color-utils/argb-from-lstar.js +21 -0
- package/dist/cjs/utils/hct-color-utils/argb-from-rgba.js +24 -0
- package/dist/cjs/utils/hct-color-utils/argb-from-xyz.js +29 -0
- package/dist/cjs/utils/hct-color-utils/blue-from-argb.js +12 -0
- package/dist/cjs/utils/hct-color-utils/clamp-component.js +15 -0
- package/dist/cjs/utils/hct-color-utils/contrast.js +10 -11
- package/dist/cjs/utils/hct-color-utils/green-from-argb.js +12 -0
- package/dist/cjs/utils/hct-color-utils/hct.js +18 -12
- package/dist/cjs/utils/hct-color-utils/index.js +4 -3
- package/dist/cjs/utils/hct-color-utils/lab-f.js +15 -0
- package/dist/cjs/utils/hct-color-utils/lab-invf.js +16 -0
- package/dist/cjs/utils/hct-color-utils/lstar-from-argb.js +34 -0
- package/dist/cjs/utils/hct-color-utils/lstar-from-y.js +21 -0
- package/dist/cjs/utils/hct-color-utils/red-from-argb.js +12 -0
- package/dist/cjs/utils/hct-color-utils/rgba-from-argb.js +28 -0
- package/dist/cjs/utils/hct-color-utils/rgba.js +1 -0
- package/dist/cjs/utils/hct-color-utils/viewing-conditions.js +5 -4
- package/dist/cjs/utils/hct-color-utils/white-point-d65.js +14 -0
- package/dist/cjs/utils/hct-color-utils/y-from-lstar.js +21 -0
- package/dist/cjs/utils/hex-to-hsl.js +52 -0
- package/dist/cjs/utils/hex-to-rgb-a.js +20 -0
- package/dist/cjs/utils/hex-to-rgb.js +19 -0
- package/dist/cjs/utils/is-valid-hex.js +10 -0
- package/dist/cjs/utils/reduce-token-map.js +18 -0
- package/dist/cjs/utils/rgb-to-lab.js +24 -0
- package/dist/es2019/artifacts/palettes-raw/palette.js +35 -1
- package/dist/es2019/entry-points/theme-state-transformer.js +2 -1
- package/dist/es2019/get-custom-theme-styles.js +3 -2
- package/dist/es2019/get-global-theme.js +1 -1
- package/dist/es2019/get-theme-html-attrs.js +1 -1
- package/dist/es2019/index.js +2 -1
- package/dist/es2019/is-color-mode.js +3 -0
- package/dist/es2019/is-theme-ids.js +4 -0
- package/dist/es2019/is-theme-kind.js +4 -0
- package/dist/es2019/theme-config.js +4 -45
- package/dist/es2019/theme-object-to-string.js +28 -0
- package/dist/es2019/theme-options-schema.js +0 -0
- package/dist/es2019/theme-state-defaults.js +34 -0
- package/dist/es2019/theme-state.js +1 -0
- package/dist/es2019/theme-string-to-object.js +38 -0
- package/dist/es2019/utils/additional-contrast-checker.js +39 -0
- package/dist/es2019/utils/custom-theme-loading-utils.js +1 -11
- package/dist/es2019/utils/custom-theme-token-contrast-check.js +1 -41
- package/dist/es2019/utils/delta-e.js +20 -0
- package/dist/es2019/utils/generate-colors.js +39 -0
- package/dist/es2019/utils/generate-token-map-with-contrast-check.js +21 -0
- package/dist/es2019/utils/{generate-custom-color-ramp.js → generate-token-map.js} +3 -63
- package/dist/es2019/utils/get-closest-color-index.js +2 -1
- package/dist/es2019/utils/get-contrast-ratio.js +16 -0
- package/dist/es2019/utils/hct-color-utils/alpha-from-argb.js +6 -0
- package/dist/es2019/utils/hct-color-utils/argb-from-linrgb.js +12 -0
- package/dist/es2019/utils/hct-color-utils/argb-from-lstar.js +16 -0
- package/dist/es2019/utils/hct-color-utils/argb-from-rgba.js +19 -0
- package/dist/es2019/utils/hct-color-utils/argb-from-xyz.js +24 -0
- package/dist/es2019/utils/hct-color-utils/blue-from-argb.js +6 -0
- package/dist/es2019/utils/hct-color-utils/clamp-component.js +9 -0
- package/dist/es2019/utils/hct-color-utils/contrast.js +10 -10
- package/dist/es2019/utils/hct-color-utils/green-from-argb.js +6 -0
- package/dist/es2019/utils/hct-color-utils/hct.js +19 -12
- package/dist/es2019/utils/hct-color-utils/index.js +2 -1
- package/dist/es2019/utils/hct-color-utils/lab-f.js +9 -0
- package/dist/es2019/utils/hct-color-utils/lab-invf.js +10 -0
- package/dist/es2019/utils/hct-color-utils/lstar-from-argb.js +28 -0
- package/dist/es2019/utils/hct-color-utils/lstar-from-y.js +16 -0
- package/dist/es2019/utils/hct-color-utils/red-from-argb.js +6 -0
- package/dist/es2019/utils/hct-color-utils/rgba-from-argb.js +22 -0
- package/dist/es2019/utils/hct-color-utils/rgba.js +0 -0
- package/dist/es2019/utils/hct-color-utils/viewing-conditions.js +4 -3
- package/dist/es2019/utils/hct-color-utils/white-point-d65.js +8 -0
- package/dist/es2019/utils/hct-color-utils/y-from-lstar.js +16 -0
- package/dist/es2019/utils/hex-to-hsl.js +46 -0
- package/dist/es2019/utils/hex-to-rgb-a.js +14 -0
- package/dist/es2019/utils/hex-to-rgb.js +13 -0
- package/dist/es2019/utils/is-valid-hex.js +2 -0
- package/dist/es2019/utils/reduce-token-map.js +7 -0
- package/dist/es2019/utils/rgb-to-lab.js +18 -0
- package/dist/esm/artifacts/palettes-raw/palette.js +35 -1
- package/dist/esm/entry-points/theme-state-transformer.js +2 -1
- package/dist/esm/get-custom-theme-styles.js +3 -2
- package/dist/esm/get-global-theme.js +1 -1
- package/dist/esm/get-theme-html-attrs.js +1 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/is-color-mode.js +3 -0
- package/dist/esm/is-theme-ids.js +6 -0
- package/dist/esm/is-theme-kind.js +6 -0
- package/dist/esm/theme-config.js +4 -45
- package/dist/esm/theme-object-to-string.js +35 -0
- package/dist/esm/theme-options-schema.js +0 -0
- package/dist/esm/theme-state-defaults.js +34 -0
- package/dist/esm/theme-state.js +1 -0
- package/dist/esm/theme-string-to-object.js +44 -0
- package/dist/esm/utils/additional-contrast-checker.js +36 -0
- package/dist/esm/utils/custom-theme-loading-utils.js +1 -15
- package/dist/esm/utils/custom-theme-token-contrast-check.js +1 -38
- package/dist/esm/utils/delta-e.js +20 -0
- package/dist/esm/utils/generate-colors.js +40 -0
- package/dist/esm/utils/generate-token-map-with-contrast-check.js +25 -0
- package/dist/esm/utils/{generate-custom-color-ramp.js → generate-token-map.js} +3 -67
- package/dist/esm/utils/get-closest-color-index.js +2 -1
- package/dist/esm/utils/get-contrast-ratio.js +16 -0
- package/dist/esm/utils/hct-color-utils/alpha-from-argb.js +6 -0
- package/dist/esm/utils/hct-color-utils/argb-from-linrgb.js +12 -0
- package/dist/esm/utils/hct-color-utils/argb-from-lstar.js +16 -0
- package/dist/esm/utils/hct-color-utils/argb-from-rgba.js +18 -0
- package/dist/esm/utils/hct-color-utils/argb-from-xyz.js +24 -0
- package/dist/esm/utils/hct-color-utils/blue-from-argb.js +6 -0
- package/dist/esm/utils/hct-color-utils/clamp-component.js +9 -0
- package/dist/esm/utils/hct-color-utils/contrast.js +10 -10
- package/dist/esm/utils/hct-color-utils/green-from-argb.js +6 -0
- package/dist/esm/utils/hct-color-utils/hct.js +19 -12
- package/dist/esm/utils/hct-color-utils/index.js +2 -1
- package/dist/esm/utils/hct-color-utils/lab-f.js +9 -0
- package/dist/esm/utils/hct-color-utils/lab-invf.js +10 -0
- package/dist/esm/utils/hct-color-utils/lstar-from-argb.js +28 -0
- package/dist/esm/utils/hct-color-utils/lstar-from-y.js +16 -0
- package/dist/esm/utils/hct-color-utils/red-from-argb.js +6 -0
- package/dist/esm/utils/hct-color-utils/rgba-from-argb.js +22 -0
- package/dist/esm/utils/hct-color-utils/rgba.js +0 -0
- package/dist/esm/utils/hct-color-utils/viewing-conditions.js +5 -4
- package/dist/esm/utils/hct-color-utils/white-point-d65.js +8 -0
- package/dist/esm/utils/hct-color-utils/y-from-lstar.js +16 -0
- package/dist/esm/utils/hex-to-hsl.js +46 -0
- package/dist/esm/utils/hex-to-rgb-a.js +14 -0
- package/dist/esm/utils/hex-to-rgb.js +13 -0
- package/dist/esm/utils/is-valid-hex.js +4 -0
- package/dist/esm/utils/reduce-token-map.js +11 -0
- package/dist/esm/utils/rgb-to-lab.js +18 -0
- package/dist/types/artifacts/palettes-raw/palette.d.ts +1 -1
- package/dist/types/entry-points/theme-state-transformer.d.ts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/is-color-mode.d.ts +2 -0
- package/dist/types/is-theme-ids.d.ts +2 -0
- package/dist/types/is-theme-kind.d.ts +4 -0
- package/dist/types/theme-color-modes.d.ts +1 -0
- package/dist/types/theme-config.d.ts +8 -40
- package/dist/types/theme-ids.d.ts +1 -0
- package/dist/types/theme-object-to-string.d.ts +13 -0
- package/dist/types/theme-options-schema.d.ts +7 -0
- package/dist/types/theme-state-defaults.d.ts +14 -0
- package/dist/types/theme-state.d.ts +17 -0
- package/dist/types/{theme-state-transformer.d.ts → theme-string-to-object.d.ts} +0 -12
- package/dist/types/utils/additional-contrast-checker.d.ts +9 -0
- package/dist/types/utils/custom-theme-loading-utils.d.ts +1 -6
- package/dist/types/utils/custom-theme-token-contrast-check.d.ts +0 -9
- package/dist/types/utils/delta-e.d.ts +1 -0
- package/dist/types/utils/generate-colors.d.ts +5 -0
- package/dist/types/utils/{generate-custom-color-ramp.d.ts → generate-token-map-with-contrast-check.d.ts} +1 -6
- package/dist/types/utils/generate-token-map.d.ts +9 -0
- package/dist/types/utils/get-contrast-ratio.d.ts +1 -0
- package/dist/types/utils/hct-color-utils/alpha-from-argb.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/argb-from-linrgb.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/argb-from-lstar.d.ts +8 -0
- package/dist/types/utils/hct-color-utils/argb-from-rgba.d.ts +8 -0
- package/dist/types/utils/hct-color-utils/argb-from-xyz.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/blue-from-argb.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/clamp-component.d.ts +1 -0
- package/dist/types/utils/hct-color-utils/green-from-argb.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/index.d.ts +2 -1
- package/dist/types/utils/hct-color-utils/lab-f.d.ts +1 -0
- package/dist/types/utils/hct-color-utils/lab-invf.d.ts +1 -0
- package/dist/types/utils/hct-color-utils/lstar-from-argb.d.ts +7 -0
- package/dist/types/utils/hct-color-utils/lstar-from-y.d.ts +12 -0
- package/dist/types/utils/hct-color-utils/red-from-argb.d.ts +4 -0
- package/dist/types/utils/hct-color-utils/rgba-from-argb.d.ts +8 -0
- package/dist/types/utils/hct-color-utils/rgba.d.ts +14 -0
- package/dist/types/utils/hct-color-utils/white-point-d65.d.ts +6 -0
- package/dist/types/utils/hct-color-utils/y-from-lstar.d.ts +12 -0
- package/dist/types/utils/hex-to-hsl.d.ts +1 -0
- package/dist/types/utils/hex-to-rgb-a.d.ts +1 -0
- package/dist/types/utils/hex-to-rgb.d.ts +1 -0
- package/dist/types/utils/is-valid-hex.d.ts +1 -0
- package/dist/types/utils/reduce-token-map.d.ts +6 -0
- package/dist/types/utils/rgb-to-lab.d.ts +1 -0
- package/dist/types-ts4.5/artifacts/palettes-raw/palette.d.ts +1 -1
- package/dist/types-ts4.5/entry-points/theme-state-transformer.d.ts +2 -1
- package/dist/types-ts4.5/index.d.ts +2 -1
- package/dist/types-ts4.5/is-color-mode.d.ts +2 -0
- package/dist/types-ts4.5/is-theme-ids.d.ts +2 -0
- package/dist/types-ts4.5/is-theme-kind.d.ts +11 -0
- package/dist/types-ts4.5/theme-color-modes.d.ts +1 -0
- package/dist/types-ts4.5/theme-config.d.ts +8 -40
- package/dist/types-ts4.5/theme-ids.d.ts +1 -0
- package/dist/types-ts4.5/theme-object-to-string.d.ts +13 -0
- package/dist/types-ts4.5/theme-options-schema.d.ts +7 -0
- package/dist/types-ts4.5/theme-state-defaults.d.ts +14 -0
- package/dist/types-ts4.5/theme-state.d.ts +17 -0
- package/dist/types-ts4.5/{theme-state-transformer.d.ts → theme-string-to-object.d.ts} +0 -12
- package/dist/types-ts4.5/utils/additional-contrast-checker.d.ts +9 -0
- package/dist/types-ts4.5/utils/custom-theme-loading-utils.d.ts +1 -6
- package/dist/types-ts4.5/utils/custom-theme-token-contrast-check.d.ts +0 -9
- package/dist/types-ts4.5/utils/delta-e.d.ts +1 -0
- package/dist/types-ts4.5/utils/generate-colors.d.ts +5 -0
- package/dist/types-ts4.5/utils/{generate-custom-color-ramp.d.ts → generate-token-map-with-contrast-check.d.ts} +1 -8
- package/dist/types-ts4.5/utils/generate-token-map.d.ts +11 -0
- package/dist/types-ts4.5/utils/get-contrast-ratio.d.ts +1 -0
- package/dist/types-ts4.5/utils/hct-color-utils/alpha-from-argb.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/argb-from-linrgb.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/argb-from-lstar.d.ts +8 -0
- package/dist/types-ts4.5/utils/hct-color-utils/argb-from-rgba.d.ts +8 -0
- package/dist/types-ts4.5/utils/hct-color-utils/argb-from-xyz.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/blue-from-argb.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/clamp-component.d.ts +1 -0
- package/dist/types-ts4.5/utils/hct-color-utils/green-from-argb.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/index.d.ts +2 -1
- package/dist/types-ts4.5/utils/hct-color-utils/lab-f.d.ts +1 -0
- package/dist/types-ts4.5/utils/hct-color-utils/lab-invf.d.ts +1 -0
- package/dist/types-ts4.5/utils/hct-color-utils/lstar-from-argb.d.ts +7 -0
- package/dist/types-ts4.5/utils/hct-color-utils/lstar-from-y.d.ts +12 -0
- package/dist/types-ts4.5/utils/hct-color-utils/red-from-argb.d.ts +4 -0
- package/dist/types-ts4.5/utils/hct-color-utils/rgba-from-argb.d.ts +8 -0
- package/dist/types-ts4.5/utils/hct-color-utils/rgba.d.ts +14 -0
- package/dist/types-ts4.5/utils/hct-color-utils/white-point-d65.d.ts +6 -0
- package/dist/types-ts4.5/utils/hct-color-utils/y-from-lstar.d.ts +12 -0
- package/dist/types-ts4.5/utils/hex-to-hsl.d.ts +5 -0
- package/dist/types-ts4.5/utils/hex-to-rgb-a.d.ts +6 -0
- package/dist/types-ts4.5/utils/hex-to-rgb.d.ts +5 -0
- package/dist/types-ts4.5/utils/is-valid-hex.d.ts +1 -0
- package/dist/types-ts4.5/utils/reduce-token-map.d.ts +6 -0
- package/dist/types-ts4.5/utils/rgb-to-lab.d.ts +5 -0
- package/package.json +5 -5
- package/dist/cjs/theme-state-transformer.js +0 -93
- package/dist/cjs/utils/color-utils.js +0 -176
- package/dist/cjs/utils/hct-color-utils/color-utils.js +0 -279
- package/dist/es2019/theme-state-transformer.js +0 -70
- package/dist/es2019/utils/color-utils.js +0 -136
- package/dist/es2019/utils/hct-color-utils/color-utils.js +0 -249
- package/dist/esm/theme-state-transformer.js +0 -86
- package/dist/esm/utils/color-utils.js +0 -138
- package/dist/esm/utils/hct-color-utils/color-utils.js +0 -248
- package/dist/types/utils/color-utils.d.ts +0 -10
- package/dist/types/utils/hct-color-utils/color-utils.d.ts +0 -88
- package/dist/types-ts4.5/utils/color-utils.d.ts +0 -23
- package/dist/types-ts4.5/utils/hct-color-utils/color-utils.d.ts +0 -88
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.argbFromLstar = argbFromLstar;
|
|
7
|
+
var _argbFromRgb = require("./argb-from-rgb");
|
|
8
|
+
var _delinearized = require("./delinearized");
|
|
9
|
+
var _yFromLstar = require("./y-from-lstar");
|
|
10
|
+
/**
|
|
11
|
+
* Converts an L* value to an ARGB representation.
|
|
12
|
+
*
|
|
13
|
+
* @param lstar L* in L*a*b*
|
|
14
|
+
* @return ARGB representation of grayscale color with lightness
|
|
15
|
+
* matching L*
|
|
16
|
+
*/
|
|
17
|
+
function argbFromLstar(lstar) {
|
|
18
|
+
var y = (0, _yFromLstar.yFromLstar)(lstar);
|
|
19
|
+
var component = (0, _delinearized.delinearized)(y);
|
|
20
|
+
return (0, _argbFromRgb.argbFromRgb)(component, component, component);
|
|
21
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.argbFromRgba = argbFromRgba;
|
|
7
|
+
var _clampComponent = require("./clamp-component");
|
|
8
|
+
/**
|
|
9
|
+
* Return int32 color from a given RGBA component
|
|
10
|
+
*
|
|
11
|
+
* @param rgba RGBA representation of a int32 color.
|
|
12
|
+
* @returns ARGB representation of a int32 color.
|
|
13
|
+
*/
|
|
14
|
+
function argbFromRgba(_ref) {
|
|
15
|
+
var r = _ref.r,
|
|
16
|
+
g = _ref.g,
|
|
17
|
+
b = _ref.b,
|
|
18
|
+
a = _ref.a;
|
|
19
|
+
var rValue = (0, _clampComponent.clampComponent)(r);
|
|
20
|
+
var gValue = (0, _clampComponent.clampComponent)(g);
|
|
21
|
+
var bValue = (0, _clampComponent.clampComponent)(b);
|
|
22
|
+
var aValue = (0, _clampComponent.clampComponent)(a);
|
|
23
|
+
return aValue << 24 | rValue << 16 | gValue << 8 | bValue;
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.argbFromXyz = argbFromXyz;
|
|
7
|
+
var _argbFromRgb = require("./argb-from-rgb");
|
|
8
|
+
var _delinearized = require("./delinearized");
|
|
9
|
+
/**
|
|
10
|
+
* Color science utilities.
|
|
11
|
+
*
|
|
12
|
+
* Utility methods for color science constants and color space
|
|
13
|
+
* conversions that aren't HCT or CAM16.
|
|
14
|
+
*/
|
|
15
|
+
var XYZ_TO_SRGB = [[3.2413774792388685, -1.5376652402851851, -0.49885366846268053], [-0.9691452513005321, 1.8758853451067872, 0.04156585616912061], [0.05562093689691305, -0.20395524564742123, 1.0571799111220335]];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Converts a color from ARGB to XYZ.
|
|
19
|
+
*/
|
|
20
|
+
function argbFromXyz(x, y, z) {
|
|
21
|
+
var matrix = XYZ_TO_SRGB;
|
|
22
|
+
var linearR = matrix[0][0] * x + matrix[0][1] * y + matrix[0][2] * z;
|
|
23
|
+
var linearG = matrix[1][0] * x + matrix[1][1] * y + matrix[1][2] * z;
|
|
24
|
+
var linearB = matrix[2][0] * x + matrix[2][1] * y + matrix[2][2] * z;
|
|
25
|
+
var r = (0, _delinearized.delinearized)(linearR);
|
|
26
|
+
var g = (0, _delinearized.delinearized)(linearG);
|
|
27
|
+
var b = (0, _delinearized.delinearized)(linearB);
|
|
28
|
+
return (0, _argbFromRgb.argbFromRgb)(r, g, b);
|
|
29
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clampComponent = clampComponent;
|
|
7
|
+
function clampComponent(value) {
|
|
8
|
+
if (value < 0) {
|
|
9
|
+
return 0;
|
|
10
|
+
}
|
|
11
|
+
if (value > 255) {
|
|
12
|
+
return 255;
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.Contrast = void 0;
|
|
9
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
10
|
+
var _clampDouble = require("./clamp-double");
|
|
11
|
+
var _lstarFromY = require("./lstar-from-y");
|
|
12
|
+
var _yFromLstar = require("./y-from-lstar");
|
|
14
13
|
/**
|
|
15
14
|
* Below lines are copied from @material/material-color-utilities.
|
|
16
15
|
* Do not modify it.
|
|
@@ -62,9 +61,9 @@ var Contrast = exports.Contrast = /*#__PURE__*/function () {
|
|
|
62
61
|
* @param toneB Tone between 0 and 100. Values outside will be clamped.
|
|
63
62
|
*/
|
|
64
63
|
function ratioOfTones(toneA, toneB) {
|
|
65
|
-
toneA =
|
|
66
|
-
toneB =
|
|
67
|
-
return Contrast.ratioOfYs(
|
|
64
|
+
toneA = (0, _clampDouble.clampDouble)(0.0, 100.0, toneA);
|
|
65
|
+
toneB = (0, _clampDouble.clampDouble)(0.0, 100.0, toneB);
|
|
66
|
+
return Contrast.ratioOfYs((0, _yFromLstar.yFromLstar)(toneA), (0, _yFromLstar.yFromLstar)(toneB));
|
|
68
67
|
}
|
|
69
68
|
}, {
|
|
70
69
|
key: "ratioOfYs",
|
|
@@ -90,7 +89,7 @@ var Contrast = exports.Contrast = /*#__PURE__*/function () {
|
|
|
90
89
|
if (tone < 0.0 || tone > 100.0) {
|
|
91
90
|
return -1.0;
|
|
92
91
|
}
|
|
93
|
-
var darkY =
|
|
92
|
+
var darkY = (0, _yFromLstar.yFromLstar)(tone);
|
|
94
93
|
var lightY = ratio * (darkY + 5.0) - 5.0;
|
|
95
94
|
var realContrast = Contrast.ratioOfYs(lightY, darkY);
|
|
96
95
|
var delta = Math.abs(realContrast - ratio);
|
|
@@ -100,7 +99,7 @@ var Contrast = exports.Contrast = /*#__PURE__*/function () {
|
|
|
100
99
|
|
|
101
100
|
// Ensure gamut mapping, which requires a 'range' on tone, will still result
|
|
102
101
|
// the correct ratio by darkening slightly.
|
|
103
|
-
var returnValue =
|
|
102
|
+
var returnValue = (0, _lstarFromY.lstarFromY)(lightY) + 0.4;
|
|
104
103
|
if (returnValue < 0 || returnValue > 100) {
|
|
105
104
|
return -1;
|
|
106
105
|
}
|
|
@@ -123,7 +122,7 @@ var Contrast = exports.Contrast = /*#__PURE__*/function () {
|
|
|
123
122
|
if (tone < 0.0 || tone > 100.0) {
|
|
124
123
|
return -1.0;
|
|
125
124
|
}
|
|
126
|
-
var lightY =
|
|
125
|
+
var lightY = (0, _yFromLstar.yFromLstar)(tone);
|
|
127
126
|
var darkY = (lightY + 5.0) / ratio - 5.0;
|
|
128
127
|
var realContrast = Contrast.ratioOfYs(lightY, darkY);
|
|
129
128
|
var delta = Math.abs(realContrast - ratio);
|
|
@@ -133,7 +132,7 @@ var Contrast = exports.Contrast = /*#__PURE__*/function () {
|
|
|
133
132
|
|
|
134
133
|
// Ensure gamut mapping, which requires a 'range' on tone, will still result
|
|
135
134
|
// the correct ratio by darkening slightly.
|
|
136
|
-
var returnValue =
|
|
135
|
+
var returnValue = (0, _lstarFromY.lstarFromY)(darkY) - 0.4;
|
|
137
136
|
if (returnValue < 0 || returnValue > 100) {
|
|
138
137
|
return -1;
|
|
139
138
|
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.greenFromArgb = greenFromArgb;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the green component of a color in ARGB format.
|
|
9
|
+
*/
|
|
10
|
+
function greenFromArgb(argb) {
|
|
11
|
+
return argb >> 8 & 255;
|
|
12
|
+
}
|
|
@@ -15,9 +15,15 @@ Object.defineProperty(exports, "ViewingConditions", {
|
|
|
15
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
17
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
18
|
-
var
|
|
18
|
+
var _argbFromLinrgb = require("./argb-from-linrgb");
|
|
19
|
+
var _argbFromLstar = require("./argb-from-lstar");
|
|
20
|
+
var _argbFromXyz = require("./argb-from-xyz");
|
|
21
|
+
var _linearized = require("./linearized");
|
|
22
|
+
var _lstarFromArgb = require("./lstar-from-argb");
|
|
23
|
+
var _lstarFromY = require("./lstar-from-y");
|
|
19
24
|
var math = _interopRequireWildcard(require("./math-utils"));
|
|
20
25
|
var _viewingConditions = require("./viewing-conditions");
|
|
26
|
+
var _yFromLstar = require("./y-from-lstar");
|
|
21
27
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
22
28
|
/**
|
|
23
29
|
* Below lines are copied from @material/material-color-utilities.
|
|
@@ -66,7 +72,7 @@ var Hct = exports.Hct = /*#__PURE__*/function () {
|
|
|
66
72
|
var cam = Cam16.fromInt(argb);
|
|
67
73
|
this.internalHue = cam.hue;
|
|
68
74
|
this.internalChroma = cam.chroma;
|
|
69
|
-
this.internalTone =
|
|
75
|
+
this.internalTone = (0, _lstarFromArgb.lstarFromArgb)(argb);
|
|
70
76
|
}
|
|
71
77
|
return (0, _createClass2.default)(Hct, [{
|
|
72
78
|
key: "toInt",
|
|
@@ -130,7 +136,7 @@ var Hct = exports.Hct = /*#__PURE__*/function () {
|
|
|
130
136
|
var cam = Cam16.fromInt(argb);
|
|
131
137
|
this.internalHue = cam.hue;
|
|
132
138
|
this.internalChroma = cam.chroma;
|
|
133
|
-
this.internalTone =
|
|
139
|
+
this.internalTone = (0, _lstarFromArgb.lstarFromArgb)(argb);
|
|
134
140
|
this.argb = argb;
|
|
135
141
|
}
|
|
136
142
|
|
|
@@ -161,7 +167,7 @@ var Hct = exports.Hct = /*#__PURE__*/function () {
|
|
|
161
167
|
// 3. Create HCT from:
|
|
162
168
|
// - CAM16 using default VC with XYZ coordinates in specified VC.
|
|
163
169
|
// - L* converted from Y in XYZ coordinates in specified VC.
|
|
164
|
-
var recastHct = Hct.from(recastInVc.hue, recastInVc.chroma,
|
|
170
|
+
var recastHct = Hct.from(recastInVc.hue, recastInVc.chroma, (0, _lstarFromY.lstarFromY)(viewedInVc[1]));
|
|
165
171
|
return recastHct;
|
|
166
172
|
}
|
|
167
173
|
}], [{
|
|
@@ -311,7 +317,7 @@ var Cam16 = /*#__PURE__*/function () {
|
|
|
311
317
|
var x = 1.86206786 * rF - 1.01125463 * gF + 0.14918677 * bF;
|
|
312
318
|
var y = 0.38752654 * rF + 0.62144744 * gF - 0.00897398 * bF;
|
|
313
319
|
var z = -0.0158415 * rF - 0.03412294 * gF + 1.04996444 * bF;
|
|
314
|
-
var argb =
|
|
320
|
+
var argb = (0, _argbFromXyz.argbFromXyz)(x, y, z);
|
|
315
321
|
return argb;
|
|
316
322
|
}
|
|
317
323
|
|
|
@@ -369,9 +375,9 @@ var Cam16 = /*#__PURE__*/function () {
|
|
|
369
375
|
var red = (argb & 0x00ff0000) >> 16;
|
|
370
376
|
var green = (argb & 0x0000ff00) >> 8;
|
|
371
377
|
var blue = argb & 0x000000ff;
|
|
372
|
-
var redL =
|
|
373
|
-
var greenL =
|
|
374
|
-
var blueL =
|
|
378
|
+
var redL = (0, _linearized.linearized)(red);
|
|
379
|
+
var greenL = (0, _linearized.linearized)(green);
|
|
380
|
+
var blueL = (0, _linearized.linearized)(blue);
|
|
375
381
|
var x = 0.41233895 * redL + 0.35762064 * greenL + 0.18051042 * blueL;
|
|
376
382
|
var y = 0.2126 * redL + 0.7152 * greenL + 0.0722 * blueL;
|
|
377
383
|
var z = 0.01932141 * redL + 0.11916382 * greenL + 0.95034478 * blueL;
|
|
@@ -892,7 +898,7 @@ var HctSolver = /*#__PURE__*/function () {
|
|
|
892
898
|
if (linrgb[0] > 100.01 || linrgb[1] > 100.01 || linrgb[2] > 100.01) {
|
|
893
899
|
return 0;
|
|
894
900
|
}
|
|
895
|
-
return
|
|
901
|
+
return (0, _argbFromLinrgb.argbFromLinrgb)(linrgb);
|
|
896
902
|
}
|
|
897
903
|
// Iterates with Newton method,
|
|
898
904
|
// Using 2 * fn(j) / j as the approximation of fn'(j)
|
|
@@ -917,17 +923,17 @@ var HctSolver = /*#__PURE__*/function () {
|
|
|
917
923
|
key: "solveToInt",
|
|
918
924
|
value: function solveToInt(hueDegrees, chroma, lstar) {
|
|
919
925
|
if (chroma < 0.0001 || lstar < 0.0001 || lstar > 99.9999) {
|
|
920
|
-
return
|
|
926
|
+
return (0, _argbFromLstar.argbFromLstar)(lstar);
|
|
921
927
|
}
|
|
922
928
|
hueDegrees = math.sanitizeDegreesDouble(hueDegrees);
|
|
923
929
|
var hueRadians = hueDegrees / 180 * Math.PI;
|
|
924
|
-
var y =
|
|
930
|
+
var y = (0, _yFromLstar.yFromLstar)(lstar);
|
|
925
931
|
var exactAnswer = HctSolver.findResultByJ(hueRadians, chroma, y);
|
|
926
932
|
if (exactAnswer !== 0) {
|
|
927
933
|
return exactAnswer;
|
|
928
934
|
}
|
|
929
935
|
var linrgb = HctSolver.bisectToLimit(y, hueRadians);
|
|
930
|
-
return
|
|
936
|
+
return (0, _argbFromLinrgb.argbFromLinrgb)(linrgb);
|
|
931
937
|
}
|
|
932
938
|
|
|
933
939
|
/**
|
|
@@ -18,15 +18,16 @@ Object.defineProperty(exports, "Hct", {
|
|
|
18
18
|
Object.defineProperty(exports, "argbFromRgba", {
|
|
19
19
|
enumerable: true,
|
|
20
20
|
get: function get() {
|
|
21
|
-
return
|
|
21
|
+
return _argbFromRgba.argbFromRgba;
|
|
22
22
|
}
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "rgbaFromArgb", {
|
|
25
25
|
enumerable: true,
|
|
26
26
|
get: function get() {
|
|
27
|
-
return
|
|
27
|
+
return _rgbaFromArgb.rgbaFromArgb;
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
var _hct = require("./hct");
|
|
31
31
|
var _contrast = require("./contrast");
|
|
32
|
-
var
|
|
32
|
+
var _argbFromRgba = require("./argb-from-rgba");
|
|
33
|
+
var _rgbaFromArgb = require("./rgba-from-argb");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.labF = labF;
|
|
7
|
+
function labF(t) {
|
|
8
|
+
var e = 216.0 / 24389.0;
|
|
9
|
+
var kappa = 24389.0 / 27.0;
|
|
10
|
+
if (t > e) {
|
|
11
|
+
return Math.pow(t, 1.0 / 3.0);
|
|
12
|
+
} else {
|
|
13
|
+
return (kappa * t + 16) / 116;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.labInvf = labInvf;
|
|
7
|
+
function labInvf(ft) {
|
|
8
|
+
var e = 216.0 / 24389.0;
|
|
9
|
+
var kappa = 24389.0 / 27.0;
|
|
10
|
+
var ft3 = ft * ft * ft;
|
|
11
|
+
if (ft3 > e) {
|
|
12
|
+
return ft3;
|
|
13
|
+
} else {
|
|
14
|
+
return (116 * ft - 16) / kappa;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.lstarFromArgb = lstarFromArgb;
|
|
7
|
+
var _blueFromArgb = require("./blue-from-argb");
|
|
8
|
+
var _greenFromArgb = require("./green-from-argb");
|
|
9
|
+
var _labF = require("./lab-f");
|
|
10
|
+
var _linearized = require("./linearized");
|
|
11
|
+
var _matrixMultiply = require("./matrix-multiply");
|
|
12
|
+
var _redFromArgb = require("./red-from-argb");
|
|
13
|
+
var SRGB_TO_XYZ = [[0.41233895, 0.35762064, 0.18051042], [0.2126, 0.7152, 0.0722], [0.01932141, 0.11916382, 0.95034478]];
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Converts a color from XYZ to ARGB.
|
|
17
|
+
*/
|
|
18
|
+
function xyzFromArgb(argb) {
|
|
19
|
+
var r = (0, _linearized.linearized)((0, _redFromArgb.redFromArgb)(argb));
|
|
20
|
+
var g = (0, _linearized.linearized)((0, _greenFromArgb.greenFromArgb)(argb));
|
|
21
|
+
var b = (0, _linearized.linearized)((0, _blueFromArgb.blueFromArgb)(argb));
|
|
22
|
+
return (0, _matrixMultiply.matrixMultiply)([r, g, b], SRGB_TO_XYZ);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Computes the L* value of a color in ARGB representation.
|
|
27
|
+
*
|
|
28
|
+
* @param argb ARGB representation of a color
|
|
29
|
+
* @return L*, from L*a*b*, coordinate of the color
|
|
30
|
+
*/
|
|
31
|
+
function lstarFromArgb(argb) {
|
|
32
|
+
var y = xyzFromArgb(argb)[1];
|
|
33
|
+
return 116.0 * (0, _labF.labF)(y / 100.0) - 16.0;
|
|
34
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.lstarFromY = lstarFromY;
|
|
7
|
+
var _labF = require("./lab-f");
|
|
8
|
+
/**
|
|
9
|
+
* Converts a Y value to an L* value.
|
|
10
|
+
*
|
|
11
|
+
* L* in L*a*b* and Y in XYZ measure the same quantity, luminance.
|
|
12
|
+
*
|
|
13
|
+
* L* measures perceptual luminance, a linear scale. Y in XYZ
|
|
14
|
+
* measures relative luminance, a logarithmic scale.
|
|
15
|
+
*
|
|
16
|
+
* @param y Y in XYZ
|
|
17
|
+
* @return L* in L*a*b*
|
|
18
|
+
*/
|
|
19
|
+
function lstarFromY(y) {
|
|
20
|
+
return (0, _labF.labF)(y / 100.0) * 116.0 - 16.0;
|
|
21
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.rgbaFromArgb = rgbaFromArgb;
|
|
7
|
+
var _alphaFromArgb = require("./alpha-from-argb");
|
|
8
|
+
var _blueFromArgb = require("./blue-from-argb");
|
|
9
|
+
var _greenFromArgb = require("./green-from-argb");
|
|
10
|
+
var _redFromArgb = require("./red-from-argb");
|
|
11
|
+
/**
|
|
12
|
+
* Return RGBA from a given int32 color
|
|
13
|
+
*
|
|
14
|
+
* @param argb ARGB representation of a int32 color.
|
|
15
|
+
* @return RGBA representation of a int32 color.
|
|
16
|
+
*/
|
|
17
|
+
function rgbaFromArgb(argb) {
|
|
18
|
+
var r = (0, _redFromArgb.redFromArgb)(argb);
|
|
19
|
+
var g = (0, _greenFromArgb.greenFromArgb)(argb);
|
|
20
|
+
var b = (0, _blueFromArgb.blueFromArgb)(argb);
|
|
21
|
+
var a = (0, _alphaFromArgb.alphaFromArgb)(argb);
|
|
22
|
+
return {
|
|
23
|
+
r: r,
|
|
24
|
+
g: g,
|
|
25
|
+
b: b,
|
|
26
|
+
a: a
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -9,8 +9,9 @@ exports.ViewingConditions = void 0;
|
|
|
9
9
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
12
|
-
var utils = _interopRequireWildcard(require("./color-utils"));
|
|
13
12
|
var math = _interopRequireWildcard(require("./math-utils"));
|
|
13
|
+
var _whitePointD = require("./white-point-d65");
|
|
14
|
+
var _yFromLstar = require("./y-from-lstar");
|
|
14
15
|
var _ViewingConditions;
|
|
15
16
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
17
|
var ViewingConditions = exports.ViewingConditions = /*#__PURE__*/function () {
|
|
@@ -53,8 +54,8 @@ var ViewingConditions = exports.ViewingConditions = /*#__PURE__*/function () {
|
|
|
53
54
|
* self-luminous objects like displays.
|
|
54
55
|
*/
|
|
55
56
|
function make() {
|
|
56
|
-
var whitePoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
|
|
57
|
-
var adaptingLuminance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200.0 / Math.PI *
|
|
57
|
+
var whitePoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : (0, _whitePointD.whitePointD65)();
|
|
58
|
+
var adaptingLuminance = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 200.0 / Math.PI * (0, _yFromLstar.yFromLstar)(50.0) / 100.0;
|
|
58
59
|
var backgroundLstar = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50.0;
|
|
59
60
|
var surround = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 2.0;
|
|
60
61
|
var discountingIlluminant = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
@@ -72,7 +73,7 @@ var ViewingConditions = exports.ViewingConditions = /*#__PURE__*/function () {
|
|
|
72
73
|
var k4 = k * k * k * k;
|
|
73
74
|
var k4F = 1.0 - k4;
|
|
74
75
|
var fl = k4 * adaptingLuminance + 0.1 * k4F * k4F * Math.cbrt(5.0 * adaptingLuminance);
|
|
75
|
-
var n =
|
|
76
|
+
var n = (0, _yFromLstar.yFromLstar)(backgroundLstar) / whitePoint[1];
|
|
76
77
|
var z = 1.48 + Math.sqrt(n);
|
|
77
78
|
var nbb = 0.725 / Math.pow(n, 0.2);
|
|
78
79
|
var ncb = nbb;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.whitePointD65 = whitePointD65;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the standard white point; white on a sunny day.
|
|
9
|
+
*
|
|
10
|
+
* @return The white point
|
|
11
|
+
*/
|
|
12
|
+
function whitePointD65() {
|
|
13
|
+
return [95.047, 100.0, 108.883];
|
|
14
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.yFromLstar = yFromLstar;
|
|
7
|
+
var _labInvf = require("./lab-invf");
|
|
8
|
+
/**
|
|
9
|
+
* Converts an L* value to a Y value.
|
|
10
|
+
*
|
|
11
|
+
* L* in L*a*b* and Y in XYZ measure the same quantity, luminance.
|
|
12
|
+
*
|
|
13
|
+
* L* measures perceptual luminance, a linear scale. Y in XYZ
|
|
14
|
+
* measures relative luminance, a logarithmic scale.
|
|
15
|
+
*
|
|
16
|
+
* @param lstar L* in L*a*b*
|
|
17
|
+
* @return Y in XYZ
|
|
18
|
+
*/
|
|
19
|
+
function yFromLstar(lstar) {
|
|
20
|
+
return 100.0 * (0, _labInvf.labInvf)((lstar + 16.0) / 116.0);
|
|
21
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hexToHSL = hexToHSL;
|
|
7
|
+
var _isValidHex = require("./is-valid-hex");
|
|
8
|
+
function hexToHSL(hex) {
|
|
9
|
+
if (!(0, _isValidHex.isValidHex)(hex)) {
|
|
10
|
+
throw new Error('Invalid HEX');
|
|
11
|
+
}
|
|
12
|
+
var r = 0,
|
|
13
|
+
g = 0,
|
|
14
|
+
b = 0;
|
|
15
|
+
if (hex.length === 4) {
|
|
16
|
+
r = '0x' + hex[1] + hex[1];
|
|
17
|
+
g = '0x' + hex[2] + hex[2];
|
|
18
|
+
b = '0x' + hex[3] + hex[3];
|
|
19
|
+
} else if (hex.length === 7) {
|
|
20
|
+
r = '0x' + hex[1] + hex[2];
|
|
21
|
+
g = '0x' + hex[3] + hex[4];
|
|
22
|
+
b = '0x' + hex[5] + hex[6];
|
|
23
|
+
}
|
|
24
|
+
// Then to HSL
|
|
25
|
+
r /= 255;
|
|
26
|
+
g /= 255;
|
|
27
|
+
b /= 255;
|
|
28
|
+
var cmin = Math.min(r, g, b),
|
|
29
|
+
cmax = Math.max(r, g, b),
|
|
30
|
+
delta = cmax - cmin,
|
|
31
|
+
h = 0,
|
|
32
|
+
s = 0,
|
|
33
|
+
l = 0;
|
|
34
|
+
if (delta === 0) {
|
|
35
|
+
h = 0;
|
|
36
|
+
} else if (cmax === r) {
|
|
37
|
+
h = (g - b) / delta % 6;
|
|
38
|
+
} else if (cmax === g) {
|
|
39
|
+
h = (b - r) / delta + 2;
|
|
40
|
+
} else {
|
|
41
|
+
h = (r - g) / delta + 4;
|
|
42
|
+
}
|
|
43
|
+
h = Math.round(h * 60);
|
|
44
|
+
if (h < 0) {
|
|
45
|
+
h += 360;
|
|
46
|
+
}
|
|
47
|
+
l = (cmax + cmin) / 2;
|
|
48
|
+
s = delta === 0 ? 0 : delta / (1 - Math.abs(2 * l - 1));
|
|
49
|
+
s = +(s * 100).toFixed(1);
|
|
50
|
+
l = +(l * 100).toFixed(1);
|
|
51
|
+
return [h, s, l];
|
|
52
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hexToRgbA = hexToRgbA;
|
|
7
|
+
var _getAlpha = require("./get-alpha");
|
|
8
|
+
var _isValidHex = require("./is-valid-hex");
|
|
9
|
+
function hexToRgbA(hex) {
|
|
10
|
+
if (!(0, _isValidHex.isValidHex)(hex)) {
|
|
11
|
+
throw new Error('Invalid HEX');
|
|
12
|
+
}
|
|
13
|
+
var c;
|
|
14
|
+
c = hex.substring(1).split('');
|
|
15
|
+
if (c.length === 3) {
|
|
16
|
+
c = [c[0], c[0], c[1], c[1], c[2], c[2]];
|
|
17
|
+
}
|
|
18
|
+
c = '0x' + c.join('');
|
|
19
|
+
return [c >> 16 & 255, c >> 8 & 255, c & 255, (0, _getAlpha.getAlpha)(hex)];
|
|
20
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.hexToRgb = hexToRgb;
|
|
7
|
+
var _isValidHex = require("./is-valid-hex");
|
|
8
|
+
function hexToRgb(hex) {
|
|
9
|
+
if (!(0, _isValidHex.isValidHex)(hex)) {
|
|
10
|
+
throw new Error('Invalid HEX');
|
|
11
|
+
}
|
|
12
|
+
var c;
|
|
13
|
+
c = hex.substring(1).split('');
|
|
14
|
+
if (c.length === 3) {
|
|
15
|
+
c = [c[0], c[0], c[1], c[1], c[2], c[2]];
|
|
16
|
+
}
|
|
17
|
+
c = '0x' + c.join('');
|
|
18
|
+
return [c >> 16 & 255, c >> 8 & 255, c & 255];
|
|
19
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isValidHex = void 0;
|
|
7
|
+
// valid hex color with 4, 6 or 8 digits
|
|
8
|
+
var isValidHex = exports.isValidHex = function isValidHex(hex) {
|
|
9
|
+
return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
|
|
10
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.reduceTokenMap = reduceTokenMap;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _tokenNames = _interopRequireDefault(require("../artifacts/token-names"));
|
|
10
|
+
function reduceTokenMap(tokenMap, themeRamp) {
|
|
11
|
+
return Object.entries(tokenMap).reduce(function (acc, _ref) {
|
|
12
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
13
|
+
key = _ref2[0],
|
|
14
|
+
value = _ref2[1];
|
|
15
|
+
var cssVar = _tokenNames.default[key];
|
|
16
|
+
return cssVar ? "".concat(acc, "\n ").concat(cssVar, ": ").concat(typeof value === 'string' ? value : themeRamp[value], ";") : acc;
|
|
17
|
+
}, '');
|
|
18
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.rgbToLab = rgbToLab;
|
|
7
|
+
function rgbToLab(rgb) {
|
|
8
|
+
var r = rgb[0] / 255,
|
|
9
|
+
g = rgb[1] / 255,
|
|
10
|
+
b = rgb[2] / 255,
|
|
11
|
+
x,
|
|
12
|
+
y,
|
|
13
|
+
z;
|
|
14
|
+
r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
|
|
15
|
+
g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
|
|
16
|
+
b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
|
|
17
|
+
x = (r * 0.4124 + g * 0.3576 + b * 0.1805) / 0.95047;
|
|
18
|
+
y = (r * 0.2126 + g * 0.7152 + b * 0.0722) / 1.0;
|
|
19
|
+
z = (r * 0.0193 + g * 0.1192 + b * 0.9505) / 1.08883;
|
|
20
|
+
x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
|
|
21
|
+
y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
|
|
22
|
+
z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
|
|
23
|
+
return [116 * y - 16, 500 * (x - y), 200 * (y - z)];
|
|
24
|
+
}
|