@oxyhq/bloom 0.35.8 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.js +148 -0
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.js.map +1 -0
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js +166 -0
- package/lib/commonjs/frosted-icon-button/FrostedIconButton.web.js.map +1 -0
- package/lib/commonjs/frosted-icon-button/index.js +13 -0
- package/lib/commonjs/frosted-icon-button/index.js.map +1 -0
- package/lib/commonjs/frosted-icon-button/index.web.js +13 -0
- package/lib/commonjs/frosted-icon-button/index.web.js.map +1 -0
- package/lib/commonjs/frosted-icon-button/shared.js +112 -0
- package/lib/commonjs/frosted-icon-button/shared.js.map +1 -0
- package/lib/commonjs/frosted-icon-button/types.js +6 -0
- package/lib/commonjs/frosted-icon-button/types.js.map +1 -0
- package/lib/commonjs/index.js +10 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +46 -37
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/theme/build-theme.js +31 -43
- package/lib/commonjs/theme/build-theme.js.map +1 -1
- package/lib/commonjs/theme/color-engine/cam16.js +161 -0
- package/lib/commonjs/theme/color-engine/cam16.js.map +1 -0
- package/lib/commonjs/theme/color-engine/color-role.js +183 -0
- package/lib/commonjs/theme/color-engine/color-role.js.map +1 -0
- package/lib/commonjs/theme/color-engine/color-roles.js +416 -0
- package/lib/commonjs/theme/color-engine/color-roles.js.map +1 -0
- package/lib/commonjs/theme/color-engine/color-utils.js +157 -0
- package/lib/commonjs/theme/color-engine/color-utils.js.map +1 -0
- package/lib/commonjs/theme/color-engine/contrast-curve.js +32 -0
- package/lib/commonjs/theme/color-engine/contrast-curve.js.map +1 -0
- package/lib/commonjs/theme/color-engine/contrast.js +70 -0
- package/lib/commonjs/theme/color-engine/contrast.js.map +1 -0
- package/lib/commonjs/theme/color-engine/dislike-analyzer.js +26 -0
- package/lib/commonjs/theme/color-engine/dislike-analyzer.js.map +1 -0
- package/lib/commonjs/theme/color-engine/dynamic-scheme.js +70 -0
- package/lib/commonjs/theme/color-engine/dynamic-scheme.js.map +1 -0
- package/lib/commonjs/theme/color-engine/hct-solver.js +236 -0
- package/lib/commonjs/theme/color-engine/hct-solver.js.map +1 -0
- package/lib/commonjs/theme/color-engine/hct.js +67 -0
- package/lib/commonjs/theme/color-engine/hct.js.map +1 -0
- package/lib/commonjs/theme/color-engine/index.js +173 -0
- package/lib/commonjs/theme/color-engine/index.js.map +1 -0
- package/lib/commonjs/theme/color-engine/lab-point-provider.js +32 -0
- package/lib/commonjs/theme/color-engine/lab-point-provider.js.map +1 -0
- package/lib/commonjs/theme/color-engine/math-utils.js +77 -0
- package/lib/commonjs/theme/color-engine/math-utils.js.map +1 -0
- package/lib/commonjs/theme/color-engine/quantizer-map.js +24 -0
- package/lib/commonjs/theme/color-engine/quantizer-map.js.map +1 -0
- package/lib/commonjs/theme/color-engine/quantizer-wu.js +266 -0
- package/lib/commonjs/theme/color-engine/quantizer-wu.js.map +1 -0
- package/lib/commonjs/theme/color-engine/scheme-variants.js +102 -0
- package/lib/commonjs/theme/color-engine/scheme-variants.js.map +1 -0
- package/lib/commonjs/theme/color-engine/score.js +80 -0
- package/lib/commonjs/theme/color-engine/score.js.map +1 -0
- package/lib/commonjs/theme/color-engine/seed-from-image.js +73 -0
- package/lib/commonjs/theme/color-engine/seed-from-image.js.map +1 -0
- package/lib/commonjs/theme/color-engine/tonal-palette.js +95 -0
- package/lib/commonjs/theme/color-engine/tonal-palette.js.map +1 -0
- package/lib/commonjs/theme/color-engine/tone-delta-pair.js +26 -0
- package/lib/commonjs/theme/color-engine/tone-delta-pair.js.map +1 -0
- package/lib/commonjs/theme/color-engine/variant.js +26 -0
- package/lib/commonjs/theme/color-engine/variant.js.map +1 -0
- package/lib/commonjs/theme/color-engine/viewing-conditions.js +61 -0
- package/lib/commonjs/theme/color-engine/viewing-conditions.js.map +1 -0
- package/lib/commonjs/theme/color-presets.js +44 -572
- package/lib/commonjs/theme/color-presets.js.map +1 -1
- package/lib/commonjs/theme/preset-vars.js +64 -47
- package/lib/commonjs/theme/preset-vars.js.map +1 -1
- package/lib/module/frosted-icon-button/FrostedIconButton.js +143 -0
- package/lib/module/frosted-icon-button/FrostedIconButton.js.map +1 -0
- package/lib/module/frosted-icon-button/FrostedIconButton.web.js +161 -0
- package/lib/module/frosted-icon-button/FrostedIconButton.web.js.map +1 -0
- package/lib/module/frosted-icon-button/index.js +4 -0
- package/lib/module/frosted-icon-button/index.js.map +1 -0
- package/lib/module/frosted-icon-button/index.web.js +11 -0
- package/lib/module/frosted-icon-button/index.web.js.map +1 -0
- package/lib/module/frosted-icon-button/shared.js +107 -0
- package/lib/module/frosted-icon-button/shared.js.map +1 -0
- package/lib/module/frosted-icon-button/types.js +4 -0
- package/lib/module/frosted-icon-button/types.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/theme/build-theme.js +32 -44
- package/lib/module/theme/build-theme.js.map +1 -1
- package/lib/module/theme/color-engine/cam16.js +155 -0
- package/lib/module/theme/color-engine/cam16.js.map +1 -0
- package/lib/module/theme/color-engine/color-role.js +177 -0
- package/lib/module/theme/color-engine/color-role.js.map +1 -0
- package/lib/module/theme/color-engine/color-roles.js +411 -0
- package/lib/module/theme/color-engine/color-roles.js.map +1 -0
- package/lib/module/theme/color-engine/color-utils.js +135 -0
- package/lib/module/theme/color-engine/color-utils.js.map +1 -0
- package/lib/module/theme/color-engine/contrast-curve.js +26 -0
- package/lib/module/theme/color-engine/contrast-curve.js.map +1 -0
- package/lib/module/theme/color-engine/contrast.js +61 -0
- package/lib/module/theme/color-engine/contrast.js.map +1 -0
- package/lib/module/theme/color-engine/dislike-analyzer.js +20 -0
- package/lib/module/theme/color-engine/dislike-analyzer.js.map +1 -0
- package/lib/module/theme/color-engine/dynamic-scheme.js +65 -0
- package/lib/module/theme/color-engine/dynamic-scheme.js.map +1 -0
- package/lib/module/theme/color-engine/hct-solver.js +231 -0
- package/lib/module/theme/color-engine/hct-solver.js.map +1 -0
- package/lib/module/theme/color-engine/hct.js +61 -0
- package/lib/module/theme/color-engine/hct.js.map +1 -0
- package/lib/module/theme/color-engine/index.js +57 -0
- package/lib/module/theme/color-engine/index.js.map +1 -0
- package/lib/module/theme/color-engine/lab-point-provider.js +25 -0
- package/lib/module/theme/color-engine/lab-point-provider.js.map +1 -0
- package/lib/module/theme/color-engine/math-utils.js +65 -0
- package/lib/module/theme/color-engine/math-utils.js.map +1 -0
- package/lib/module/theme/color-engine/quantizer-map.js +20 -0
- package/lib/module/theme/color-engine/quantizer-map.js.map +1 -0
- package/lib/module/theme/color-engine/quantizer-wu.js +261 -0
- package/lib/module/theme/color-engine/quantizer-wu.js.map +1 -0
- package/lib/module/theme/color-engine/scheme-variants.js +93 -0
- package/lib/module/theme/color-engine/scheme-variants.js.map +1 -0
- package/lib/module/theme/color-engine/score.js +75 -0
- package/lib/module/theme/color-engine/score.js.map +1 -0
- package/lib/module/theme/color-engine/seed-from-image.js +67 -0
- package/lib/module/theme/color-engine/seed-from-image.js.map +1 -0
- package/lib/module/theme/color-engine/tonal-palette.js +89 -0
- package/lib/module/theme/color-engine/tonal-palette.js.map +1 -0
- package/lib/module/theme/color-engine/tone-delta-pair.js +21 -0
- package/lib/module/theme/color-engine/tone-delta-pair.js.map +1 -0
- package/lib/module/theme/color-engine/variant.js +22 -0
- package/lib/module/theme/color-engine/variant.js.map +1 -0
- package/lib/module/theme/color-engine/viewing-conditions.js +55 -0
- package/lib/module/theme/color-engine/viewing-conditions.js.map +1 -0
- package/lib/module/theme/color-presets.js +44 -572
- package/lib/module/theme/color-presets.js.map +1 -1
- package/lib/module/theme/preset-vars.js +64 -46
- package/lib/module/theme/preset-vars.js.map +1 -1
- package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.d.ts +5 -0
- package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.d.ts.map +1 -0
- package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts +5 -0
- package/lib/typescript/commonjs/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/frosted-icon-button/index.d.ts +3 -0
- package/lib/typescript/commonjs/frosted-icon-button/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/frosted-icon-button/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts +60 -0
- package/lib/typescript/commonjs/frosted-icon-button/shared.d.ts.map +1 -0
- package/lib/typescript/commonjs/frosted-icon-button/types.d.ts +69 -0
- package/lib/typescript/commonjs/frosted-icon-button/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts +26 -0
- package/lib/typescript/commonjs/theme/color-engine/cam16.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts +36 -0
- package/lib/typescript/commonjs/theme/color-engine/color-role.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts +58 -0
- package/lib/typescript/commonjs/theme/color-engine/color-roles.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts +32 -0
- package/lib/typescript/commonjs/theme/color-engine/color-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts +9 -0
- package/lib/typescript/commonjs/theme/color-engine/contrast-curve.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts +12 -0
- package/lib/typescript/commonjs/theme/color-engine/contrast.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts +11 -0
- package/lib/typescript/commonjs/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts +47 -0
- package/lib/typescript/commonjs/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts +6 -0
- package/lib/typescript/commonjs/theme/color-engine/hct-solver.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/hct.d.ts +20 -0
- package/lib/typescript/commonjs/theme/color-engine/hct.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts +44 -0
- package/lib/typescript/commonjs/theme/color-engine/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts +6 -0
- package/lib/typescript/commonjs/theme/color-engine/lab-point-provider.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts +46 -0
- package/lib/typescript/commonjs/theme/color-engine/math-utils.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts +3 -0
- package/lib/typescript/commonjs/theme/color-engine/quantizer-map.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts +3 -0
- package/lib/typescript/commonjs/theme/color-engine/quantizer-wu.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts +23 -0
- package/lib/typescript/commonjs/theme/color-engine/scheme-variants.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/score.d.ts +8 -0
- package/lib/typescript/commonjs/theme/color-engine/score.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts +13 -0
- package/lib/typescript/commonjs/theme/color-engine/seed-from-image.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts +24 -0
- package/lib/typescript/commonjs/theme/color-engine/tonal-palette.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts +19 -0
- package/lib/typescript/commonjs/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/variant.d.ts +19 -0
- package/lib/typescript/commonjs/theme/color-engine/variant.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts +18 -0
- package/lib/typescript/commonjs/theme/color-engine/viewing-conditions.d.ts.map +1 -0
- package/lib/typescript/commonjs/theme/color-presets.d.ts +25 -20
- package/lib/typescript/commonjs/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/commonjs/theme/preset-vars.d.ts +16 -12
- package/lib/typescript/commonjs/theme/preset-vars.d.ts.map +1 -1
- package/lib/typescript/module/frosted-icon-button/FrostedIconButton.d.ts +5 -0
- package/lib/typescript/module/frosted-icon-button/FrostedIconButton.d.ts.map +1 -0
- package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts +5 -0
- package/lib/typescript/module/frosted-icon-button/FrostedIconButton.web.d.ts.map +1 -0
- package/lib/typescript/module/frosted-icon-button/index.d.ts +3 -0
- package/lib/typescript/module/frosted-icon-button/index.d.ts.map +1 -0
- package/lib/typescript/module/frosted-icon-button/index.web.d.ts +3 -0
- package/lib/typescript/module/frosted-icon-button/index.web.d.ts.map +1 -0
- package/lib/typescript/module/frosted-icon-button/shared.d.ts +60 -0
- package/lib/typescript/module/frosted-icon-button/shared.d.ts.map +1 -0
- package/lib/typescript/module/frosted-icon-button/types.d.ts +69 -0
- package/lib/typescript/module/frosted-icon-button/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/theme/build-theme.d.ts.map +1 -1
- package/lib/typescript/module/theme/color-engine/cam16.d.ts +26 -0
- package/lib/typescript/module/theme/color-engine/cam16.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/color-role.d.ts +36 -0
- package/lib/typescript/module/theme/color-engine/color-role.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/color-roles.d.ts +58 -0
- package/lib/typescript/module/theme/color-engine/color-roles.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/color-utils.d.ts +32 -0
- package/lib/typescript/module/theme/color-engine/color-utils.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts +9 -0
- package/lib/typescript/module/theme/color-engine/contrast-curve.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/contrast.d.ts +12 -0
- package/lib/typescript/module/theme/color-engine/contrast.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts +11 -0
- package/lib/typescript/module/theme/color-engine/dislike-analyzer.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts +47 -0
- package/lib/typescript/module/theme/color-engine/dynamic-scheme.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/hct-solver.d.ts +6 -0
- package/lib/typescript/module/theme/color-engine/hct-solver.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/hct.d.ts +20 -0
- package/lib/typescript/module/theme/color-engine/hct.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/index.d.ts +44 -0
- package/lib/typescript/module/theme/color-engine/index.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts +6 -0
- package/lib/typescript/module/theme/color-engine/lab-point-provider.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/math-utils.d.ts +46 -0
- package/lib/typescript/module/theme/color-engine/math-utils.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts +3 -0
- package/lib/typescript/module/theme/color-engine/quantizer-map.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts +3 -0
- package/lib/typescript/module/theme/color-engine/quantizer-wu.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts +23 -0
- package/lib/typescript/module/theme/color-engine/scheme-variants.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/score.d.ts +8 -0
- package/lib/typescript/module/theme/color-engine/score.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts +13 -0
- package/lib/typescript/module/theme/color-engine/seed-from-image.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts +24 -0
- package/lib/typescript/module/theme/color-engine/tonal-palette.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts +19 -0
- package/lib/typescript/module/theme/color-engine/tone-delta-pair.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/variant.d.ts +19 -0
- package/lib/typescript/module/theme/color-engine/variant.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts +18 -0
- package/lib/typescript/module/theme/color-engine/viewing-conditions.d.ts.map +1 -0
- package/lib/typescript/module/theme/color-presets.d.ts +25 -20
- package/lib/typescript/module/theme/color-presets.d.ts.map +1 -1
- package/lib/typescript/module/theme/preset-vars.d.ts +16 -12
- package/lib/typescript/module/theme/preset-vars.d.ts.map +1 -1
- package/package.json +17 -1
- package/src/__tests__/BloomThemeProvider.test.tsx +9 -4
- package/src/__tests__/FrostedIconButton.test.tsx +137 -0
- package/src/__tests__/FrostedIconButton.web.test.tsx +246 -0
- package/src/__tests__/native-root-vars.test.ts +8 -4
- package/src/__tests__/preset-vars.test.ts +66 -37
- package/src/__tests__/theme.test.ts +20 -12
- package/src/frosted-icon-button/FrostedIconButton.stories.tsx +65 -0
- package/src/frosted-icon-button/FrostedIconButton.tsx +156 -0
- package/src/frosted-icon-button/FrostedIconButton.web.tsx +207 -0
- package/src/frosted-icon-button/index.ts +2 -0
- package/src/frosted-icon-button/index.web.ts +9 -0
- package/src/frosted-icon-button/shared.ts +118 -0
- package/src/frosted-icon-button/types.ts +81 -0
- package/src/index.ts +2 -0
- package/src/index.web.ts +2 -0
- package/src/theme/__tests__/__fixtures__/golden-resolved-tokens.json +509 -509
- package/src/theme/__tests__/__snapshots__/visual-gallery.test.tsx.snap +613 -613
- package/src/theme/__tests__/color-engine-golden.test.ts +81 -0
- package/src/theme/__tests__/fixtures/color-engine-golden.json +1 -0
- package/src/theme/__tests__/golden-tokens.test.ts +6 -7
- package/src/theme/__tests__/runtime-contract.test.ts +8 -8
- package/src/theme/__tests__/theme-colors-parity.test.ts +44 -88
- package/src/theme/build-theme.ts +32 -44
- package/src/theme/color-engine/cam16.ts +179 -0
- package/src/theme/color-engine/color-role.ts +217 -0
- package/src/theme/color-engine/color-roles.ts +435 -0
- package/src/theme/color-engine/color-utils.ts +157 -0
- package/src/theme/color-engine/contrast-curve.ts +25 -0
- package/src/theme/color-engine/contrast.ts +59 -0
- package/src/theme/color-engine/dislike-analyzer.ts +19 -0
- package/src/theme/color-engine/dynamic-scheme.ts +90 -0
- package/src/theme/color-engine/hct-solver.ts +263 -0
- package/src/theme/color-engine/hct.ts +69 -0
- package/src/theme/color-engine/index.ts +73 -0
- package/src/theme/color-engine/lab-point-provider.ts +26 -0
- package/src/theme/color-engine/math-utils.ts +69 -0
- package/src/theme/color-engine/quantizer-map.ts +17 -0
- package/src/theme/color-engine/quantizer-wu.ts +320 -0
- package/src/theme/color-engine/scheme-variants.ts +113 -0
- package/src/theme/color-engine/score.ts +82 -0
- package/src/theme/color-engine/seed-from-image.ts +64 -0
- package/src/theme/color-engine/tonal-palette.ts +94 -0
- package/src/theme/color-engine/tone-delta-pair.ts +21 -0
- package/src/theme/color-engine/variant.ts +18 -0
- package/src/theme/color-engine/viewing-conditions.ts +77 -0
- package/src/theme/color-presets.ts +54 -631
- package/src/theme/preset-vars.ts +65 -49
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.TonalPalette = void 0;
|
|
7
|
+
var _hct = require("./hct.js");
|
|
8
|
+
/**
|
|
9
|
+
* Bloom colour engine — tonal palettes.
|
|
10
|
+
*
|
|
11
|
+
* Faithful port of Material Color Utilities' `TonalPalette` (Apache-2.0). A
|
|
12
|
+
* palette holds a fixed hue + chroma and yields a colour for any tone (0–100).
|
|
13
|
+
* Schemes build primary/secondary/tertiary/neutral palettes and read specific
|
|
14
|
+
* tones per role.
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
class TonalPalette {
|
|
18
|
+
cache = new Map();
|
|
19
|
+
constructor(hue, chroma, keyColor) {
|
|
20
|
+
this.hue = hue;
|
|
21
|
+
this.chroma = chroma;
|
|
22
|
+
this.keyColor = keyColor;
|
|
23
|
+
}
|
|
24
|
+
static fromInt(argb) {
|
|
25
|
+
return TonalPalette.fromHct(_hct.Hct.fromInt(argb));
|
|
26
|
+
}
|
|
27
|
+
static fromHct(hct) {
|
|
28
|
+
return new TonalPalette(hct.hue, hct.chroma, hct);
|
|
29
|
+
}
|
|
30
|
+
static fromHueAndChroma(hue, chroma) {
|
|
31
|
+
const keyColor = new KeyColor(hue, chroma).create();
|
|
32
|
+
return new TonalPalette(hue, chroma, keyColor);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** ARGB of this palette at the given tone. */
|
|
36
|
+
tone(tone) {
|
|
37
|
+
let argb = this.cache.get(tone);
|
|
38
|
+
if (argb === undefined) {
|
|
39
|
+
argb = _hct.Hct.from(this.hue, this.chroma, tone).toInt();
|
|
40
|
+
this.cache.set(tone, argb);
|
|
41
|
+
}
|
|
42
|
+
return argb;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** HCT of this palette at the given tone. */
|
|
46
|
+
getHct(tone) {
|
|
47
|
+
return _hct.Hct.fromInt(this.tone(tone));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** The colour that represents a palette's hue + chroma (first from T50). */
|
|
52
|
+
exports.TonalPalette = TonalPalette;
|
|
53
|
+
class KeyColor {
|
|
54
|
+
chromaCache = new Map();
|
|
55
|
+
maxChromaValue = 200.0;
|
|
56
|
+
constructor(hue, requestedChroma) {
|
|
57
|
+
this.hue = hue;
|
|
58
|
+
this.requestedChroma = requestedChroma;
|
|
59
|
+
}
|
|
60
|
+
create() {
|
|
61
|
+
const pivotTone = 50;
|
|
62
|
+
const toneStepSize = 1;
|
|
63
|
+
const epsilon = 0.01;
|
|
64
|
+
let lowerTone = 0;
|
|
65
|
+
let upperTone = 100;
|
|
66
|
+
while (lowerTone < upperTone) {
|
|
67
|
+
const midTone = Math.floor((lowerTone + upperTone) / 2);
|
|
68
|
+
const isAscending = this.maxChroma(midTone) < this.maxChroma(midTone + toneStepSize);
|
|
69
|
+
const sufficientChroma = this.maxChroma(midTone) >= this.requestedChroma - epsilon;
|
|
70
|
+
if (sufficientChroma) {
|
|
71
|
+
if (Math.abs(lowerTone - pivotTone) < Math.abs(upperTone - pivotTone)) {
|
|
72
|
+
upperTone = midTone;
|
|
73
|
+
} else {
|
|
74
|
+
if (lowerTone === midTone) {
|
|
75
|
+
return _hct.Hct.from(this.hue, this.requestedChroma, lowerTone);
|
|
76
|
+
}
|
|
77
|
+
lowerTone = midTone;
|
|
78
|
+
}
|
|
79
|
+
} else if (isAscending) {
|
|
80
|
+
lowerTone = midTone + toneStepSize;
|
|
81
|
+
} else {
|
|
82
|
+
upperTone = midTone;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return _hct.Hct.from(this.hue, this.requestedChroma, lowerTone);
|
|
86
|
+
}
|
|
87
|
+
maxChroma(tone) {
|
|
88
|
+
const cached = this.chromaCache.get(tone);
|
|
89
|
+
if (cached !== undefined) return cached;
|
|
90
|
+
const chroma = _hct.Hct.from(this.hue, this.maxChromaValue, tone).chroma;
|
|
91
|
+
this.chromaCache.set(tone, chroma);
|
|
92
|
+
return chroma;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=tonal-palette.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_hct","require","TonalPalette","cache","Map","constructor","hue","chroma","keyColor","fromInt","argb","fromHct","Hct","hct","fromHueAndChroma","KeyColor","create","tone","get","undefined","from","toInt","set","getHct","exports","chromaCache","maxChromaValue","requestedChroma","pivotTone","toneStepSize","epsilon","lowerTone","upperTone","midTone","Math","floor","isAscending","maxChroma","sufficientChroma","abs","cached"],"sourceRoot":"../../../../src","sources":["theme/color-engine/tonal-palette.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ToneDeltaPair = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Bloom colour engine — tone-delta pair.
|
|
9
|
+
*
|
|
10
|
+
* Faithful port of Material Color Utilities' `ToneDeltaPair` (Apache-2.0).
|
|
11
|
+
* Constrains two related roles to keep a minimum tonal distance in a given
|
|
12
|
+
* direction (e.g. a fixed colour must stay lighter than its dim variant), so
|
|
13
|
+
* paired roles never collapse into each other.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
class ToneDeltaPair {
|
|
17
|
+
constructor(roleA, roleB, delta, polarity, stayTogether) {
|
|
18
|
+
this.roleA = roleA;
|
|
19
|
+
this.roleB = roleB;
|
|
20
|
+
this.delta = delta;
|
|
21
|
+
this.polarity = polarity;
|
|
22
|
+
this.stayTogether = stayTogether;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ToneDeltaPair = ToneDeltaPair;
|
|
26
|
+
//# sourceMappingURL=tone-delta-pair.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ToneDeltaPair","constructor","roleA","roleB","delta","polarity","stayTogether","exports"],"sourceRoot":"../../../../src","sources":["theme/color-engine/tone-delta-pair.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKO,MAAMA,aAAa,CAAC;EACzBC,WAAWA,CACAC,KAAgB,EAChBC,KAAgB,EAChBC,KAAa,EACbC,QAAsB,EACtBC,YAAqB,EAC9B;IAAA,KALSJ,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,KAAgB,GAAhBA,KAAgB;IAAA,KAChBC,KAAa,GAAbA,KAAa;IAAA,KACbC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAAqB,GAArBA,YAAqB;EAC7B;AACL;AAACC,OAAA,CAAAP,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Variant = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Bloom colour engine — scheme variants.
|
|
9
|
+
*
|
|
10
|
+
* The families of dynamic-colour scheme supported by the engine. Bloom exposes
|
|
11
|
+
* the useful subset (Vibrant, Expressive, TonalSpot, Neutral, Fidelity); the
|
|
12
|
+
* numeric values match Material Color Utilities so ported scheme logic lines up.
|
|
13
|
+
*/
|
|
14
|
+
let Variant = exports.Variant = /*#__PURE__*/function (Variant) {
|
|
15
|
+
Variant[Variant["MONOCHROME"] = 0] = "MONOCHROME";
|
|
16
|
+
Variant[Variant["NEUTRAL"] = 1] = "NEUTRAL";
|
|
17
|
+
Variant[Variant["TONAL_SPOT"] = 2] = "TONAL_SPOT";
|
|
18
|
+
Variant[Variant["VIBRANT"] = 3] = "VIBRANT";
|
|
19
|
+
Variant[Variant["EXPRESSIVE"] = 4] = "EXPRESSIVE";
|
|
20
|
+
Variant[Variant["FIDELITY"] = 5] = "FIDELITY";
|
|
21
|
+
Variant[Variant["CONTENT"] = 6] = "CONTENT";
|
|
22
|
+
Variant[Variant["RAINBOW"] = 7] = "RAINBOW";
|
|
23
|
+
Variant[Variant["FRUIT_SALAD"] = 8] = "FRUIT_SALAD";
|
|
24
|
+
return Variant;
|
|
25
|
+
}({});
|
|
26
|
+
//# sourceMappingURL=variant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Variant","exports"],"sourceRoot":"../../../../src","sources":["theme/color-engine/variant.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOYA,OAAO,GAAAC,OAAA,CAAAD,OAAA,0BAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAPA,OAAO,CAAPA,OAAO;EAAA,OAAPA,OAAO;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ViewingConditions = void 0;
|
|
7
|
+
var _colorUtils = require("./color-utils.js");
|
|
8
|
+
var _mathUtils = require("./math-utils.js");
|
|
9
|
+
/**
|
|
10
|
+
* Bloom colour engine — CAM16 viewing conditions.
|
|
11
|
+
*
|
|
12
|
+
* Faithful port of Material Color Utilities' `ViewingConditions` (Apache-2.0)
|
|
13
|
+
* into Bloom's own code. Caches the CAM16 intermediates that depend only on the
|
|
14
|
+
* environment (white point, adapting luminance, surround) so the appearance
|
|
15
|
+
* model can run fast. Bloom only ever uses the sRGB `DEFAULT`.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
class ViewingConditions {
|
|
19
|
+
/** sRGB-like viewing conditions (the only ones Bloom uses). */
|
|
20
|
+
static get DEFAULT() {
|
|
21
|
+
return ViewingConditions._default ??= ViewingConditions.make();
|
|
22
|
+
}
|
|
23
|
+
constructor(n, aw, nbb, ncb, c, nc, rgbD, fl, fLRoot, z) {
|
|
24
|
+
this.n = n;
|
|
25
|
+
this.aw = aw;
|
|
26
|
+
this.nbb = nbb;
|
|
27
|
+
this.ncb = ncb;
|
|
28
|
+
this.c = c;
|
|
29
|
+
this.nc = nc;
|
|
30
|
+
this.rgbD = rgbD;
|
|
31
|
+
this.fl = fl;
|
|
32
|
+
this.fLRoot = fLRoot;
|
|
33
|
+
this.z = z;
|
|
34
|
+
}
|
|
35
|
+
static make(whitePoint = (0, _colorUtils.whitePointD65)(), adaptingLuminance = 200.0 / Math.PI * (0, _colorUtils.yFromLstar)(50.0) / 100.0, backgroundLstar = 50.0, surround = 2.0, discountingIlluminant = false) {
|
|
36
|
+
const xyz = whitePoint;
|
|
37
|
+
const rW = xyz[0] * 0.401288 + xyz[1] * 0.650173 + xyz[2] * -0.051461;
|
|
38
|
+
const gW = xyz[0] * -0.250268 + xyz[1] * 1.204414 + xyz[2] * 0.045854;
|
|
39
|
+
const bW = xyz[0] * -0.002079 + xyz[1] * 0.048952 + xyz[2] * 0.953127;
|
|
40
|
+
const f = 0.8 + surround / 10.0;
|
|
41
|
+
const c = f >= 0.9 ? (0, _mathUtils.lerp)(0.59, 0.69, (f - 0.9) * 10.0) : (0, _mathUtils.lerp)(0.525, 0.59, (f - 0.8) * 10.0);
|
|
42
|
+
let d = discountingIlluminant ? 1.0 : f * (1.0 - 1.0 / 3.6 * Math.exp((-adaptingLuminance - 42.0) / 92.0));
|
|
43
|
+
d = d > 1.0 ? 1.0 : d < 0.0 ? 0.0 : d;
|
|
44
|
+
const nc = f;
|
|
45
|
+
const rgbD = [d * (100.0 / rW) + 1.0 - d, d * (100.0 / gW) + 1.0 - d, d * (100.0 / bW) + 1.0 - d];
|
|
46
|
+
const k = 1.0 / (5.0 * adaptingLuminance + 1.0);
|
|
47
|
+
const k4 = k * k * k * k;
|
|
48
|
+
const k4F = 1.0 - k4;
|
|
49
|
+
const fl = k4 * adaptingLuminance + 0.1 * k4F * k4F * Math.cbrt(5.0 * adaptingLuminance);
|
|
50
|
+
const n = (0, _colorUtils.yFromLstar)(backgroundLstar) / whitePoint[1];
|
|
51
|
+
const z = 1.48 + Math.sqrt(n);
|
|
52
|
+
const nbb = 0.725 / Math.pow(n, 0.2);
|
|
53
|
+
const ncb = nbb;
|
|
54
|
+
const rgbAFactors = [Math.pow(fl * rgbD[0] * rW / 100.0, 0.42), Math.pow(fl * rgbD[1] * gW / 100.0, 0.42), Math.pow(fl * rgbD[2] * bW / 100.0, 0.42)];
|
|
55
|
+
const rgbA = [400.0 * rgbAFactors[0] / (rgbAFactors[0] + 27.13), 400.0 * rgbAFactors[1] / (rgbAFactors[1] + 27.13), 400.0 * rgbAFactors[2] / (rgbAFactors[2] + 27.13)];
|
|
56
|
+
const aw = (2.0 * rgbA[0] + rgbA[1] + 0.05 * rgbA[2]) * nbb;
|
|
57
|
+
return new ViewingConditions(n, aw, nbb, ncb, c, nc, rgbD, fl, Math.pow(fl, 0.25), z);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.ViewingConditions = ViewingConditions;
|
|
61
|
+
//# sourceMappingURL=viewing-conditions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_colorUtils","require","_mathUtils","ViewingConditions","DEFAULT","_default","make","constructor","n","aw","nbb","ncb","c","nc","rgbD","fl","fLRoot","z","whitePoint","whitePointD65","adaptingLuminance","Math","PI","yFromLstar","backgroundLstar","surround","discountingIlluminant","xyz","rW","gW","bW","f","lerp","d","exp","k","k4","k4F","cbrt","sqrt","pow","rgbAFactors","rgbA","exports"],"sourceRoot":"../../../../src","sources":["theme/color-engine/viewing-conditions.ts"],"mappings":"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","ignoreList":[]}
|