@atlaskit/tokens 13.0.4 → 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 +16 -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/artifacts/themes/atlassian-dark-increased-contrast.js +2 -2
- package/dist/cjs/artifacts/themes/atlassian-dark.js +2 -2
- package/dist/cjs/artifacts/themes/atlassian-light-increased-contrast.js +2 -2
- package/dist/cjs/artifacts/themes/atlassian-light.js +2 -2
- package/dist/cjs/artifacts/token-default-values.js +2 -2
- package/dist/cjs/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +3 -3
- package/dist/cjs/artifacts/tokens-raw/atlassian-dark.js +3 -3
- package/dist/cjs/artifacts/tokens-raw/atlassian-light-increased-contrast.js +3 -3
- package/dist/cjs/artifacts/tokens-raw/atlassian-light.js +3 -3
- package/dist/cjs/constants.js +1 -0
- package/dist/cjs/entry-points/theme-state-transformer.js +4 -3
- package/dist/cjs/entry-points/token-metadata.codegen.js +2 -2
- 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/get-theme-styles.js +27 -27
- 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/set-global-theme.js +32 -31
- package/dist/cjs/theme-config.js +9 -43
- 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 -20
- package/dist/cjs/utils/custom-theme-token-contrast-check.js +2 -38
- 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 -71
- 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/load-theme-css.js +4 -4
- package/dist/cjs/utils/reduce-token-map.js +18 -0
- package/dist/cjs/utils/rgb-to-lab.js +24 -0
- package/dist/cjs/utils/theme-loading.js +8 -8
- package/dist/es2019/artifacts/palettes-raw/palette.js +35 -1
- package/dist/es2019/artifacts/themes/atlassian-dark-increased-contrast.js +2 -2
- package/dist/es2019/artifacts/themes/atlassian-dark.js +2 -2
- package/dist/es2019/artifacts/themes/atlassian-light-increased-contrast.js +2 -2
- package/dist/es2019/artifacts/themes/atlassian-light.js +2 -2
- package/dist/es2019/artifacts/token-default-values.js +2 -2
- package/dist/es2019/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +3 -3
- package/dist/es2019/artifacts/tokens-raw/atlassian-dark.js +3 -3
- package/dist/es2019/artifacts/tokens-raw/atlassian-light-increased-contrast.js +3 -3
- package/dist/es2019/artifacts/tokens-raw/atlassian-light.js +3 -3
- package/dist/es2019/constants.js +1 -0
- package/dist/es2019/entry-points/theme-state-transformer.js +2 -1
- package/dist/es2019/entry-points/token-metadata.codegen.js +2 -2
- 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 +5 -44
- 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 -9
- package/dist/es2019/utils/custom-theme-token-contrast-check.js +1 -39
- 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 -59
- 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/artifacts/themes/atlassian-dark-increased-contrast.js +2 -2
- package/dist/esm/artifacts/themes/atlassian-dark.js +2 -2
- package/dist/esm/artifacts/themes/atlassian-light-increased-contrast.js +2 -2
- package/dist/esm/artifacts/themes/atlassian-light.js +2 -2
- package/dist/esm/artifacts/token-default-values.js +2 -2
- package/dist/esm/artifacts/tokens-raw/atlassian-dark-increased-contrast.js +3 -3
- package/dist/esm/artifacts/tokens-raw/atlassian-dark.js +3 -3
- package/dist/esm/artifacts/tokens-raw/atlassian-light-increased-contrast.js +3 -3
- package/dist/esm/artifacts/tokens-raw/atlassian-light.js +3 -3
- package/dist/esm/constants.js +1 -0
- package/dist/esm/entry-points/theme-state-transformer.js +2 -1
- package/dist/esm/entry-points/token-metadata.codegen.js +2 -2
- 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/get-theme-styles.js +26 -26
- 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/set-global-theme.js +31 -30
- package/dist/esm/theme-config.js +5 -44
- 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 -13
- package/dist/esm/utils/custom-theme-token-contrast-check.js +1 -36
- 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 -63
- 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/load-theme-css.js +4 -4
- package/dist/esm/utils/reduce-token-map.js +11 -0
- package/dist/esm/utils/rgb-to-lab.js +18 -0
- package/dist/esm/utils/theme-loading.js +8 -8
- package/dist/types/artifacts/palettes-raw/palette.d.ts +1 -1
- package/dist/types/artifacts/themes/atlassian-dark-increased-contrast.d.ts +2 -2
- package/dist/types/artifacts/themes/atlassian-dark.d.ts +2 -2
- package/dist/types/artifacts/themes/atlassian-light-increased-contrast.d.ts +2 -2
- package/dist/types/artifacts/themes/atlassian-light.d.ts +2 -2
- package/dist/types/artifacts/token-default-values.d.ts +2 -2
- package/dist/types/artifacts/tokens-raw/atlassian-dark-increased-contrast.d.ts +1 -1
- package/dist/types/artifacts/tokens-raw/atlassian-dark.d.ts +1 -1
- package/dist/types/artifacts/tokens-raw/atlassian-light-increased-contrast.d.ts +1 -1
- package/dist/types/artifacts/tokens-raw/atlassian-light.d.ts +1 -1
- package/dist/types/entry-points/theme-state-transformer.d.ts +2 -1
- package/dist/types/entry-points/token-metadata.codegen.d.ts +1 -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/artifacts/themes/atlassian-dark-increased-contrast.d.ts +2 -2
- package/dist/types-ts4.5/artifacts/themes/atlassian-dark.d.ts +2 -2
- package/dist/types-ts4.5/artifacts/themes/atlassian-light-increased-contrast.d.ts +2 -2
- package/dist/types-ts4.5/artifacts/themes/atlassian-light.d.ts +2 -2
- package/dist/types-ts4.5/artifacts/token-default-values.d.ts +2 -2
- package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-dark-increased-contrast.d.ts +1 -1
- package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-dark.d.ts +1 -1
- package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-light-increased-contrast.d.ts +1 -1
- package/dist/types-ts4.5/artifacts/tokens-raw/atlassian-light.d.ts +1 -1
- package/dist/types-ts4.5/entry-points/theme-state-transformer.d.ts +2 -1
- package/dist/types-ts4.5/entry-points/token-metadata.codegen.d.ts +1 -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/figma/atlassian-dark-increased-contrast.json +1 -1
- package/figma/atlassian-dark.json +1 -1
- package/figma/atlassian-light-increased-contrast.json +1 -1
- package/figma/atlassian-light.json +1 -1
- package/package.json +12 -12
- package/tokens.docs.tsx +48 -46
- package/dist/cjs/theme-state-transformer.js +0 -92
- package/dist/cjs/utils/color-utils.js +0 -168
- package/dist/cjs/utils/hct-color-utils/color-utils.js +0 -271
- package/dist/es2019/theme-state-transformer.js +0 -69
- package/dist/es2019/utils/color-utils.js +0 -128
- package/dist/es2019/utils/hct-color-utils/color-utils.js +0 -241
- package/dist/esm/theme-state-transformer.js +0 -85
- package/dist/esm/utils/color-utils.js +0 -130
- package/dist/esm/utils/hct-color-utils/color-utils.js +0 -240
- 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
|
@@ -1,13 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports.
|
|
8
|
-
var _atlassianDarkTokenValueForContrastCheck = _interopRequireDefault(require("../artifacts/atlassian-dark-token-value-for-contrast-check"));
|
|
9
|
-
var _atlassianLightTokenValueForContrastCheck = _interopRequireDefault(require("../artifacts/atlassian-light-token-value-for-contrast-check"));
|
|
10
|
-
var _colorUtils = require("./color-utils");
|
|
6
|
+
exports.additionalChecks = void 0;
|
|
11
7
|
var additionalChecks = exports.additionalChecks = [{
|
|
12
8
|
foreground: 'color.text.brand',
|
|
13
9
|
backgroundLight: 'elevation.surface.sunken',
|
|
@@ -49,36 +45,4 @@ var additionalChecks = exports.additionalChecks = [{
|
|
|
49
45
|
// In light mode: darken the following tokens by one base token
|
|
50
46
|
// In dark mode: lighten the following tokens by one base token
|
|
51
47
|
updatedTokens: ['color.chart.brand', 'color.chart.brand.hovered']
|
|
52
|
-
}];
|
|
53
|
-
var getColorFromTokenRaw = function getColorFromTokenRaw(tokenName, mode) {
|
|
54
|
-
return mode === 'light' ? _atlassianLightTokenValueForContrastCheck.default[tokenName] : _atlassianDarkTokenValueForContrastCheck.default[tokenName];
|
|
55
|
-
};
|
|
56
|
-
var additionalContrastChecker = exports.additionalContrastChecker = function additionalContrastChecker(_ref) {
|
|
57
|
-
var customThemeTokenMap = _ref.customThemeTokenMap,
|
|
58
|
-
mode = _ref.mode,
|
|
59
|
-
themeRamp = _ref.themeRamp;
|
|
60
|
-
var updatedCustomThemeTokenMap = {};
|
|
61
|
-
var brandTokens = Object.keys(customThemeTokenMap);
|
|
62
|
-
additionalChecks.forEach(function (pairing) {
|
|
63
|
-
var backgroundLight = pairing.backgroundLight,
|
|
64
|
-
backgroundDark = pairing.backgroundDark,
|
|
65
|
-
foreground = pairing.foreground,
|
|
66
|
-
desiredContrast = pairing.desiredContrast,
|
|
67
|
-
updatedTokens = pairing.updatedTokens;
|
|
68
|
-
var background = mode === 'light' ? backgroundLight : backgroundDark;
|
|
69
|
-
var foregroundTokenValue = customThemeTokenMap[foreground];
|
|
70
|
-
var backgroundTokenValue = customThemeTokenMap[background];
|
|
71
|
-
var foregroundColor = brandTokens.includes(foreground) ? typeof foregroundTokenValue === 'string' ? foregroundTokenValue : themeRamp[foregroundTokenValue] : getColorFromTokenRaw(foreground, mode);
|
|
72
|
-
var backgroundColor = brandTokens.includes(background) ? typeof backgroundTokenValue === 'string' ? backgroundTokenValue : themeRamp[backgroundTokenValue] : getColorFromTokenRaw(background, mode);
|
|
73
|
-
var contrast = (0, _colorUtils.getContrastRatio)(foregroundColor, backgroundColor);
|
|
74
|
-
if (contrast <= desiredContrast) {
|
|
75
|
-
updatedTokens.forEach(function (token) {
|
|
76
|
-
var rampValue = customThemeTokenMap[token];
|
|
77
|
-
if (typeof rampValue === 'number') {
|
|
78
|
-
updatedCustomThemeTokenMap[token] = mode === 'light' ? rampValue + 1 : rampValue - 1;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
});
|
|
83
|
-
return updatedCustomThemeTokenMap;
|
|
84
|
-
};
|
|
48
|
+
}];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.deltaE = deltaE;
|
|
7
|
+
var _rgbToLab = require("./rgb-to-lab");
|
|
8
|
+
function deltaE(rgbA, rgbB) {
|
|
9
|
+
var labA = (0, _rgbToLab.rgbToLab)(rgbA);
|
|
10
|
+
var labB = (0, _rgbToLab.rgbToLab)(rgbB);
|
|
11
|
+
var deltaL = labA[0] - labB[0];
|
|
12
|
+
var deltaA = labA[1] - labB[1];
|
|
13
|
+
var deltaB = labA[2] - labB[2];
|
|
14
|
+
var c1 = Math.sqrt(labA[1] * labA[1] + labA[2] * labA[2]);
|
|
15
|
+
var c2 = Math.sqrt(labB[1] * labB[1] + labB[2] * labB[2]);
|
|
16
|
+
var deltaC = c1 - c2;
|
|
17
|
+
var deltaH = deltaA * deltaA + deltaB * deltaB - deltaC * deltaC;
|
|
18
|
+
deltaH = deltaH < 0 ? 0 : Math.sqrt(deltaH);
|
|
19
|
+
var sc = 1.0 + 0.045 * c1;
|
|
20
|
+
var sh = 1.0 + 0.015 * c1;
|
|
21
|
+
var deltaLKlsl = deltaL / 1.0;
|
|
22
|
+
var deltaCkcsc = deltaC / sc;
|
|
23
|
+
var deltaHkhsh = deltaH / sh;
|
|
24
|
+
var i = deltaLKlsl * deltaLKlsl + deltaCkcsc * deltaCkcsc + deltaHkhsh * deltaHkhsh;
|
|
25
|
+
return i < 0 ? 0 : Math.sqrt(i);
|
|
26
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.generateColors = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _getClosestColorIndex = require("./get-closest-color-index");
|
|
10
|
+
var _hctColorUtils = require("./hct-color-utils");
|
|
11
|
+
var _hexToHsl = require("./hex-to-hsl");
|
|
12
|
+
var _hexToRgbA = require("./hex-to-rgb-a");
|
|
13
|
+
var _hslToRgb = require("./hsl-to-rgb");
|
|
14
|
+
var _relativeLuminanceW3C = require("./relative-luminance-w3-c");
|
|
15
|
+
var _rgbToHex = require("./rgb-to-hex");
|
|
16
|
+
var lowLuminanceContrastRatios = [1.12, 1.33, 2.03, 2.73, 3.33, 4.27, 5.2, 6.62, 12.46, 14.25];
|
|
17
|
+
var highLuminanceContrastRatios = [1.08, 1.24, 1.55, 1.99, 2.45, 3.34, 4.64, 6.1, 10.19, 12.6];
|
|
18
|
+
var generateColors = exports.generateColors = function generateColors(brandColor) {
|
|
19
|
+
// Determine luminance
|
|
20
|
+
var HSLBrandColorHue = (0, _hexToHsl.hexToHSL)(brandColor)[0];
|
|
21
|
+
var baseRgb = (0, _hslToRgb.HSLToRGB)(HSLBrandColorHue, 100, 60);
|
|
22
|
+
var isLowLuminance = (0, _relativeLuminanceW3C.relativeLuminanceW3C)(baseRgb[0], baseRgb[1], baseRgb[2]) < 0.4;
|
|
23
|
+
// Choose right palette
|
|
24
|
+
var themeRatios = isLowLuminance ? lowLuminanceContrastRatios : highLuminanceContrastRatios;
|
|
25
|
+
var brandRgba = (0, _hexToRgbA.hexToRgbA)(brandColor);
|
|
26
|
+
var hctColor = _hctColorUtils.Hct.fromInt((0, _hctColorUtils.argbFromRgba)({
|
|
27
|
+
r: brandRgba[0],
|
|
28
|
+
g: brandRgba[1],
|
|
29
|
+
b: brandRgba[2],
|
|
30
|
+
a: brandRgba[3]
|
|
31
|
+
}));
|
|
32
|
+
var themeRamp = themeRatios.map(function (contrast) {
|
|
33
|
+
var rgbaColor = (0, _hctColorUtils.rgbaFromArgb)(_hctColorUtils.Hct.from(hctColor.hue, hctColor.chroma, _hctColorUtils.Contrast.darker(100, contrast) + 0.25 // Material's utils provide an offset
|
|
34
|
+
).toInt());
|
|
35
|
+
return (0, _rgbToHex.rgbToHex)(rgbaColor.r, rgbaColor.g, rgbaColor.b);
|
|
36
|
+
});
|
|
37
|
+
var closestColorIndex = (0, _getClosestColorIndex.getClosestColorIndex)(themeRamp, brandColor);
|
|
38
|
+
|
|
39
|
+
// Replace closet color with brandColor
|
|
40
|
+
var updatedThemeRamp = (0, _toConsumableArray2.default)(themeRamp);
|
|
41
|
+
updatedThemeRamp[closestColorIndex] = brandColor;
|
|
42
|
+
return {
|
|
43
|
+
ramp: updatedThemeRamp,
|
|
44
|
+
// add the replaced color into the result
|
|
45
|
+
replacedColor: themeRamp[closestColorIndex]
|
|
46
|
+
};
|
|
47
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.generateTokenMapWithContrastCheck = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _additionalContrastChecker = require("./additional-contrast-checker");
|
|
11
|
+
var _generateColors = require("./generate-colors");
|
|
12
|
+
var _generateTokenMap = require("./generate-token-map");
|
|
13
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
14
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
15
|
+
var generateTokenMapWithContrastCheck = exports.generateTokenMapWithContrastCheck = function generateTokenMapWithContrastCheck(brandColor, mode, themeRamp) {
|
|
16
|
+
var colors = themeRamp || (0, _generateColors.generateColors)(brandColor).ramp;
|
|
17
|
+
var tokenMaps = (0, _generateTokenMap.generateTokenMap)(brandColor, mode, colors);
|
|
18
|
+
var result = {};
|
|
19
|
+
Object.entries(tokenMaps).forEach(function (_ref) {
|
|
20
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 2),
|
|
21
|
+
mode = _ref2[0],
|
|
22
|
+
map = _ref2[1];
|
|
23
|
+
if (mode === 'light' || mode === 'dark') {
|
|
24
|
+
result[mode] = _objectSpread(_objectSpread({}, map), (0, _additionalContrastChecker.additionalContrastChecker)({
|
|
25
|
+
customThemeTokenMap: map,
|
|
26
|
+
mode: mode,
|
|
27
|
+
themeRamp: colors
|
|
28
|
+
}));
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
@@ -4,59 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
8
|
-
Object.defineProperty(exports, "getClosestColorIndex", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _getClosestColorIndex.getClosestColorIndex;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
exports.generateTokenMap = void 0;
|
|
15
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
16
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
9
|
var _atlassianDarkTokenValueForContrastCheck = _interopRequireDefault(require("../artifacts/atlassian-dark-token-value-for-contrast-check"));
|
|
18
|
-
var
|
|
19
|
-
var _customThemeTokenContrastCheck = require("./custom-theme-token-contrast-check");
|
|
10
|
+
var _generateColors2 = require("./generate-colors");
|
|
20
11
|
var _getClosestColorIndex = require("./get-closest-color-index");
|
|
21
|
-
var
|
|
22
|
-
var _hslToRgb = require("./hsl-to-rgb");
|
|
23
|
-
var _relativeLuminanceW3C = require("./relative-luminance-w3-c");
|
|
24
|
-
var _rgbToHex = require("./rgb-to-hex");
|
|
25
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
27
|
-
var lowLuminanceContrastRatios = [1.12, 1.33, 2.03, 2.73, 3.33, 4.27, 5.2, 6.62, 12.46, 14.25];
|
|
28
|
-
var highLuminanceContrastRatios = [1.08, 1.24, 1.55, 1.99, 2.45, 3.34, 4.64, 6.1, 10.19, 12.6];
|
|
29
|
-
var generateColors = exports.generateColors = function generateColors(brandColor) {
|
|
30
|
-
// Determine luminance
|
|
31
|
-
var HSLBrandColorHue = (0, _colorUtils.hexToHSL)(brandColor)[0];
|
|
32
|
-
var baseRgb = (0, _hslToRgb.HSLToRGB)(HSLBrandColorHue, 100, 60);
|
|
33
|
-
var isLowLuminance = (0, _relativeLuminanceW3C.relativeLuminanceW3C)(baseRgb[0], baseRgb[1], baseRgb[2]) < 0.4;
|
|
34
|
-
// Choose right palette
|
|
35
|
-
var themeRatios = isLowLuminance ? lowLuminanceContrastRatios : highLuminanceContrastRatios;
|
|
36
|
-
var brandRgba = (0, _colorUtils.hexToRgbA)(brandColor);
|
|
37
|
-
var hctColor = _hctColorUtils.Hct.fromInt((0, _hctColorUtils.argbFromRgba)({
|
|
38
|
-
r: brandRgba[0],
|
|
39
|
-
g: brandRgba[1],
|
|
40
|
-
b: brandRgba[2],
|
|
41
|
-
a: brandRgba[3]
|
|
42
|
-
}));
|
|
43
|
-
var themeRamp = themeRatios.map(function (contrast) {
|
|
44
|
-
var rgbaColor = (0, _hctColorUtils.rgbaFromArgb)(_hctColorUtils.Hct.from(hctColor.hue, hctColor.chroma, _hctColorUtils.Contrast.darker(100, contrast) + 0.25 // Material's utils provide an offset
|
|
45
|
-
).toInt());
|
|
46
|
-
return (0, _rgbToHex.rgbToHex)(rgbaColor.r, rgbaColor.g, rgbaColor.b);
|
|
47
|
-
});
|
|
48
|
-
var closestColorIndex = (0, _getClosestColorIndex.getClosestColorIndex)(themeRamp, brandColor);
|
|
49
|
-
|
|
50
|
-
// Replace closet color with brandColor
|
|
51
|
-
var updatedThemeRamp = (0, _toConsumableArray2.default)(themeRamp);
|
|
52
|
-
updatedThemeRamp[closestColorIndex] = brandColor;
|
|
53
|
-
return {
|
|
54
|
-
ramp: updatedThemeRamp,
|
|
55
|
-
// add the replaced color into the result
|
|
56
|
-
replacedColor: themeRamp[closestColorIndex]
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
|
|
12
|
+
var _getContrastRatio = require("./get-contrast-ratio");
|
|
60
13
|
/**
|
|
61
14
|
* Return the interaction tokens for a color, given its ramp position and the number of
|
|
62
15
|
* needed interaction states. Use higher-indexed colors (i.e. darker colors) if possible;
|
|
@@ -77,14 +30,14 @@ function getInteractionStates(rampPosition, number, colors) {
|
|
|
77
30
|
return result;
|
|
78
31
|
}
|
|
79
32
|
var generateTokenMap = exports.generateTokenMap = function generateTokenMap(brandColor, mode, themeRamp) {
|
|
80
|
-
var _generateColors = generateColors(brandColor),
|
|
33
|
+
var _generateColors = (0, _generateColors2.generateColors)(brandColor),
|
|
81
34
|
ramp = _generateColors.ramp,
|
|
82
35
|
replacedColor = _generateColors.replacedColor;
|
|
83
36
|
var colors = themeRamp || ramp;
|
|
84
37
|
var closestColorIndex = (0, _getClosestColorIndex.getClosestColorIndex)(colors, brandColor);
|
|
85
38
|
var customThemeTokenMapLight = {};
|
|
86
39
|
var customThemeTokenMapDark = {};
|
|
87
|
-
var inputContrast = (0,
|
|
40
|
+
var inputContrast = (0, _getContrastRatio.getContrastRatio)(brandColor, '#FFFFFF');
|
|
88
41
|
// Branch based on brandColor's contrast against white
|
|
89
42
|
if (inputContrast >= 4.5) {
|
|
90
43
|
/**
|
|
@@ -199,7 +152,7 @@ var generateTokenMap = exports.generateTokenMap = function generateTokenMap(bran
|
|
|
199
152
|
*/
|
|
200
153
|
if (inputContrast < 4.5) {
|
|
201
154
|
var inverseTextColor = _atlassianDarkTokenValueForContrastCheck.default['color.text.inverse'];
|
|
202
|
-
if ((0,
|
|
155
|
+
if ((0, _getContrastRatio.getContrastRatio)(inverseTextColor, brandColor) >= 4.5 && closestColorIndex >= 2) {
|
|
203
156
|
customThemeTokenMapDark['color.background.brand.bold'] = closestColorIndex;
|
|
204
157
|
customThemeTokenMapDark['color.background.brand.bold.hovered'] = closestColorIndex - 1;
|
|
205
158
|
customThemeTokenMapDark['color.background.brand.bold.pressed'] = closestColorIndex - 2;
|
|
@@ -214,22 +167,4 @@ var generateTokenMap = exports.generateTokenMap = function generateTokenMap(bran
|
|
|
214
167
|
light: customThemeTokenMapLight,
|
|
215
168
|
dark: customThemeTokenMapDark
|
|
216
169
|
};
|
|
217
|
-
};
|
|
218
|
-
var generateTokenMapWithContrastCheck = exports.generateTokenMapWithContrastCheck = function generateTokenMapWithContrastCheck(brandColor, mode, themeRamp) {
|
|
219
|
-
var colors = themeRamp || generateColors(brandColor).ramp;
|
|
220
|
-
var tokenMaps = generateTokenMap(brandColor, mode, colors);
|
|
221
|
-
var result = {};
|
|
222
|
-
Object.entries(tokenMaps).forEach(function (_ref3) {
|
|
223
|
-
var _ref4 = (0, _slicedToArray2.default)(_ref3, 2),
|
|
224
|
-
mode = _ref4[0],
|
|
225
|
-
map = _ref4[1];
|
|
226
|
-
if (mode === 'light' || mode === 'dark') {
|
|
227
|
-
result[mode] = _objectSpread(_objectSpread({}, map), (0, _customThemeTokenContrastCheck.additionalContrastChecker)({
|
|
228
|
-
customThemeTokenMap: map,
|
|
229
|
-
mode: mode,
|
|
230
|
-
themeRamp: colors
|
|
231
|
-
}));
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
return result;
|
|
235
170
|
};
|
|
@@ -4,13 +4,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.getClosestColorIndex = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _deltaE = require("./delta-e");
|
|
8
|
+
var _hexToRgb = require("./hex-to-rgb");
|
|
8
9
|
var getClosestColorIndex = exports.getClosestColorIndex = function getClosestColorIndex(themeRamp, brandColor) {
|
|
9
10
|
// Iterate over themeRamp and find whichever color is closest to brandColor
|
|
10
11
|
var closestColorIndex = 0;
|
|
11
12
|
var closestColorDistance = null;
|
|
12
13
|
themeRamp.forEach(function (value, index) {
|
|
13
|
-
var distance = (0,
|
|
14
|
+
var distance = (0, _deltaE.deltaE)((0, _hexToRgb.hexToRgb)(value), (0, _hexToRgb.hexToRgb)(brandColor));
|
|
14
15
|
if (closestColorDistance === null || distance < closestColorDistance) {
|
|
15
16
|
closestColorIndex = index;
|
|
16
17
|
closestColorDistance = distance;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getContrastRatio = getContrastRatio;
|
|
7
|
+
var _hexToRgb = require("./hex-to-rgb");
|
|
8
|
+
var _isValidHex = require("./is-valid-hex");
|
|
9
|
+
var _relativeLuminanceW3C = require("./relative-luminance-w3-c");
|
|
10
|
+
function getContrastRatio(foreground, background) {
|
|
11
|
+
if (!(0, _isValidHex.isValidHex)(foreground) || !(0, _isValidHex.isValidHex)(background)) {
|
|
12
|
+
throw new Error('Invalid HEX');
|
|
13
|
+
}
|
|
14
|
+
var foregroundRgb = (0, _hexToRgb.hexToRgb)(foreground);
|
|
15
|
+
var backgroundRgb = (0, _hexToRgb.hexToRgb)(background);
|
|
16
|
+
var foregroundLuminance = (0, _relativeLuminanceW3C.relativeLuminanceW3C)(foregroundRgb[0], foregroundRgb[1], foregroundRgb[2]);
|
|
17
|
+
var backgroundLuminance = (0, _relativeLuminanceW3C.relativeLuminanceW3C)(backgroundRgb[0], backgroundRgb[1], backgroundRgb[2]);
|
|
18
|
+
// calculate the color contrast ratio
|
|
19
|
+
var brightest = Math.max(foregroundLuminance, backgroundLuminance);
|
|
20
|
+
var darkest = Math.min(foregroundLuminance, backgroundLuminance);
|
|
21
|
+
return (brightest + 0.05) / (darkest + 0.05);
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.alphaFromArgb = alphaFromArgb;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the alpha component of a color in ARGB format.
|
|
9
|
+
*/
|
|
10
|
+
function alphaFromArgb(argb) {
|
|
11
|
+
return argb >> 24 & 255;
|
|
12
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.argbFromLinrgb = argbFromLinrgb;
|
|
7
|
+
var _argbFromRgb = require("./argb-from-rgb");
|
|
8
|
+
var _delinearized = require("./delinearized");
|
|
9
|
+
/**
|
|
10
|
+
* Converts a color from linear RGB components to ARGB format.
|
|
11
|
+
*/
|
|
12
|
+
function argbFromLinrgb(linrgb) {
|
|
13
|
+
var r = (0, _delinearized.delinearized)(linrgb[0]);
|
|
14
|
+
var g = (0, _delinearized.delinearized)(linrgb[1]);
|
|
15
|
+
var b = (0, _delinearized.delinearized)(linrgb[2]);
|
|
16
|
+
return (0, _argbFromRgb.argbFromRgb)(r, g, b);
|
|
17
|
+
}
|
|
@@ -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");
|