@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","light","dark","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["APP_COLOR_NAMES","exports","PREMIUM_COLOR_NAMES","HEX_TO_APP_COLOR","hexToAppColorName","hex","toLowerCase","APP_COLOR_PRESETS","teal","name","variant","blue","green","amber","yellow","red","purple","pink","sky","orange","mint","oxy","faircoin"],"sourceRoot":"../../../src","sources":["theme/color-presets.ts"],"mappings":";;;;;;;AAiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA;AACA;AACA;AACA;AACA;AACA;;AAGO,MAAMA,eAAwC,GAAAC,OAAA,CAAAD,eAAA,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;;AAEzK;AACO,MAAME,mBAA4C,GAAAD,OAAA,CAAAC,mBAAA,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC;AAExE,MAAMC,gBAA8C,GAAAF,OAAA,CAAAE,gBAAA,GAAG;EAC5D,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,OAAO;EAClB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE,QAAQ;EACnB,SAAS,EAAE,MAAM;EACjB,SAAS,EAAE,KAAK;EAChB,SAAS,EAAE;AACb,CAAC;AAEM,SAASC,iBAAiBA,CAACC,GAAW,EAAgB;EAC3D,OAAOF,gBAAgB,CAACE,GAAG,CAACC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM;AACtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,iBAAuD,GAAAN,OAAA,CAAAM,iBAAA,GAAG;EACrEC,IAAI,EAAE;IAAEC,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DC,IAAI,EAAE;IAAEF,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DE,KAAK,EAAE;IAAEH,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DG,KAAK,EAAE;IAAEJ,IAAI,EAAE,OAAO;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC5DI,MAAM,EAAE;IAAEL,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DK,GAAG,EAAE;IAAEN,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDM,MAAM,EAAE;IAAEP,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DO,IAAI,EAAE;IAAER,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DQ,GAAG,EAAE;IAAET,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDS,MAAM,EAAE;IAAEV,IAAI,EAAE,QAAQ;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC9DU,IAAI,EAAE;IAAEX,IAAI,EAAE,MAAM;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EAC1DW,GAAG,EAAE;IAAEZ,IAAI,EAAE,KAAK;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU,CAAC;EACxDY,QAAQ,EAAE;IAAEb,IAAI,EAAE,UAAU;IAAEJ,GAAG,EAAE,SAAS;IAAEK,OAAO,EAAE;EAAU;AACnE,CAAC","ignoreList":[]}
|
|
@@ -7,63 +7,80 @@ exports.applyPresetVarsToDocument = applyPresetVarsToDocument;
|
|
|
7
7
|
exports.getPresetVars = getPresetVars;
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
9
|
var _colorPresets = require("./color-presets.js");
|
|
10
|
+
var _index = require("./color-engine/index.js");
|
|
10
11
|
var _tokenRegistry = require("./token-registry.js");
|
|
11
12
|
// Circular at the module graph level (`token-registry` imports `getPresetVars`
|
|
12
13
|
// from here), but safe: `getResolvedTokens` is only referenced inside the
|
|
13
14
|
// `applyPresetVarsToDocument` function body — i.e. at call time, after both
|
|
14
15
|
// modules have finished evaluating — never during module initialization.
|
|
15
16
|
|
|
16
|
-
function extractHue(hslVar) {
|
|
17
|
-
return parseInt(hslVar.split(' ')[0] ?? '0', 10);
|
|
18
|
-
}
|
|
19
|
-
function extractSat(hslVar) {
|
|
20
|
-
return parseInt(hslVar.split(' ')[1] ?? '0', 10);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
17
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
18
|
+
* Map a preset (seed + variant) and mode onto Bloom's canonical CSS-var token
|
|
19
|
+
* set, sourcing EVERY colour from the colour engine's Material-3 role output.
|
|
20
|
+
*
|
|
21
|
+
* This replaces the old hand-authored HSL triples: the engine derives a full,
|
|
22
|
+
* self-consistent, WCAG-legible role set from the seed for light and dark, and
|
|
23
|
+
* this function assigns those roles to Bloom's token names. The token NAMES are
|
|
24
|
+
* unchanged (see `CANONICAL_TOKENS` in `token-registry.ts`) — only the SOURCE of
|
|
25
|
+
* each colour moved to the engine, so every downstream consumer keeps working.
|
|
26
|
+
*
|
|
27
|
+
* Values are full `rgb(r g b)` strings straight from the engine. `getResolvedTokens`
|
|
28
|
+
* passes non-HSL-triple values through untouched, so these flow through the whole
|
|
29
|
+
* pipeline (web document writes, native `rootVariables`, JS `ThemeColors`) unchanged.
|
|
27
30
|
*
|
|
28
31
|
* This is the single source of truth for extended theming vars — consumer apps
|
|
29
32
|
* must not redefine these per-app.
|
|
30
|
-
*
|
|
31
|
-
* Values are platform-agnostic **raw HSL triples** (`'185 100% 20%'`, optionally
|
|
32
|
-
* with a `/ A` alpha tail). The single canonical resolver `getResolvedTokens`
|
|
33
|
-
* (in `token-registry.ts`) converts these to sRGB `rgb(...)` for BOTH web and
|
|
34
|
-
* native runtime writes — this function only produces the raw triple map.
|
|
35
33
|
*/
|
|
36
34
|
function getPresetVars(colorName, mode) {
|
|
37
35
|
const preset = _colorPresets.APP_COLOR_PRESETS[colorName];
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
'--
|
|
51
|
-
'--
|
|
52
|
-
'--
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
'--
|
|
56
|
-
'--
|
|
57
|
-
'--
|
|
58
|
-
'--
|
|
59
|
-
'--
|
|
60
|
-
'--
|
|
61
|
-
'--
|
|
62
|
-
'--
|
|
63
|
-
'--
|
|
64
|
-
'--
|
|
36
|
+
const r = (0, _index.generateRoleColors)({
|
|
37
|
+
seed: preset.hex,
|
|
38
|
+
variant: preset.variant,
|
|
39
|
+
isDark: mode === 'dark'
|
|
40
|
+
});
|
|
41
|
+
return {
|
|
42
|
+
// --- base shadcn palette ---
|
|
43
|
+
'--background': r.background,
|
|
44
|
+
'--foreground': r.onBackground,
|
|
45
|
+
'--surface': r.surfaceContainerLow,
|
|
46
|
+
'--surface-foreground': r.onSurface,
|
|
47
|
+
'--popover': r.surfaceContainer,
|
|
48
|
+
'--popover-foreground': r.onSurface,
|
|
49
|
+
'--primary': r.primary,
|
|
50
|
+
'--primary-foreground': r.onPrimary,
|
|
51
|
+
// The FIX: `secondary` is now a REAL contrast colour (the engine's secondary
|
|
52
|
+
// role), not a mirror of `primary`.
|
|
53
|
+
'--secondary': r.secondary,
|
|
54
|
+
'--secondary-foreground': r.onSecondary,
|
|
55
|
+
'--muted': r.surfaceContainerHigh,
|
|
56
|
+
'--muted-foreground': r.onSurfaceVariant,
|
|
57
|
+
'--accent': r.secondaryContainer,
|
|
58
|
+
'--accent-foreground': r.onSecondaryContainer,
|
|
59
|
+
'--destructive': r.error,
|
|
60
|
+
'--border': r.outlineVariant,
|
|
61
|
+
'--input': r.outlineVariant,
|
|
62
|
+
'--ring': r.primary,
|
|
63
|
+
'--sidebar': r.surfaceContainerLow,
|
|
64
|
+
// --- extended tokens ---
|
|
65
|
+
// The FIX: `card` is the LIGHTEST surface (lighter than `background` in
|
|
66
|
+
// light, correctly darker than `background` in dark) via `surfaceContainerLowest`.
|
|
67
|
+
'--card': r.surfaceContainerLowest,
|
|
68
|
+
'--card-foreground': r.onSurface,
|
|
69
|
+
// Chart series: a sensible 5-step ramp across the accent trio + containers.
|
|
70
|
+
'--chart-1': r.primary,
|
|
71
|
+
'--chart-2': r.secondary,
|
|
72
|
+
'--chart-3': r.tertiary,
|
|
73
|
+
'--chart-4': r.primaryContainer,
|
|
74
|
+
'--chart-5': r.tertiaryContainer,
|
|
75
|
+
'--content-area': r.background,
|
|
76
|
+
'--sidebar-foreground': r.onSurface,
|
|
77
|
+
'--sidebar-primary': r.primary,
|
|
78
|
+
'--sidebar-primary-foreground': r.onPrimary,
|
|
79
|
+
'--sidebar-accent': r.secondaryContainer,
|
|
80
|
+
'--sidebar-accent-foreground': r.onSecondaryContainer,
|
|
81
|
+
'--sidebar-border': r.outlineVariant,
|
|
82
|
+
'--sidebar-ring': r.primary
|
|
65
83
|
};
|
|
66
|
-
return extended;
|
|
67
84
|
}
|
|
68
85
|
|
|
69
86
|
/**
|
|
@@ -72,10 +89,10 @@ function getPresetVars(colorName, mode) {
|
|
|
72
89
|
* call this only when an app needs the extended (card/chart/sidebar) tokens on
|
|
73
90
|
* the document root.
|
|
74
91
|
*
|
|
75
|
-
* Tokens are resolved
|
|
76
|
-
* `
|
|
77
|
-
* `@theme inline` compiles its color utilities to — resolves
|
|
78
|
-
* valid color on web.
|
|
92
|
+
* Tokens are resolved via the single canonical `getResolvedTokens` pipeline
|
|
93
|
+
* (already full `rgb(...)` colours from the engine), so `var(--x)` — the form
|
|
94
|
+
* Tailwind v4 `@theme inline` compiles its color utilities to — resolves
|
|
95
|
+
* directly to a valid color on web.
|
|
79
96
|
*/
|
|
80
97
|
function applyPresetVarsToDocument(colorName, mode) {
|
|
81
98
|
if (_reactNative.Platform.OS !== 'web' || typeof document === 'undefined') return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_colorPresets","_tokenRegistry","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_colorPresets","_index","_tokenRegistry","getPresetVars","colorName","mode","preset","APP_COLOR_PRESETS","r","generateRoleColors","seed","hex","variant","isDark","background","onBackground","surfaceContainerLow","onSurface","surfaceContainer","primary","onPrimary","secondary","onSecondary","surfaceContainerHigh","onSurfaceVariant","secondaryContainer","onSecondaryContainer","error","outlineVariant","surfaceContainerLowest","tertiary","primaryContainer","tertiaryContainer","applyPresetVarsToDocument","Platform","OS","document","vars","getResolvedTokens","root","documentElement","style","key","value","Object","entries","setProperty"],"sourceRoot":"../../../src","sources":["theme/preset-vars.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useMemo } from 'react';
|
|
4
|
+
import { Animated, Pressable, StyleSheet, View } from 'react-native';
|
|
5
|
+
import { BlurView } from 'expo-blur';
|
|
6
|
+
import { useTheme } from "../theme/use-theme.js";
|
|
7
|
+
import { usePressAnimation } from "../hooks/usePressAnimation.js";
|
|
8
|
+
import { useInteractionState } from "../hooks/useInteractionState.js";
|
|
9
|
+
import { applyIconColor, resolveFrostedPalette, resolveFrostedSize } from "./shared.js";
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
const RADIUS = 999;
|
|
12
|
+
const PRESS_SCALE = 0.94;
|
|
13
|
+
const DEFAULT_HIT_SLOP = {
|
|
14
|
+
top: 8,
|
|
15
|
+
bottom: 8,
|
|
16
|
+
left: 8,
|
|
17
|
+
right: 8
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// BlurView intensity (0–100). A gentle frost so the chip reads over an image
|
|
21
|
+
// without smearing the content behind it. The `active` (solid) state has none.
|
|
22
|
+
const BLUR_INTENSITY = 24;
|
|
23
|
+
const FrostedIconButtonComponent = ({
|
|
24
|
+
onPress,
|
|
25
|
+
icon,
|
|
26
|
+
children,
|
|
27
|
+
active = false,
|
|
28
|
+
disabled = false,
|
|
29
|
+
size = 'md',
|
|
30
|
+
accessibilityLabel,
|
|
31
|
+
accessibilityHint,
|
|
32
|
+
style,
|
|
33
|
+
className,
|
|
34
|
+
testID,
|
|
35
|
+
hitSlop
|
|
36
|
+
}) => {
|
|
37
|
+
const theme = useTheme();
|
|
38
|
+
const geo = useMemo(() => resolveFrostedSize(size), [size]);
|
|
39
|
+
const palette = useMemo(() => resolveFrostedPalette(theme.colors, theme.isDark), [theme.colors, theme.isDark]);
|
|
40
|
+
const {
|
|
41
|
+
scaleAnim,
|
|
42
|
+
onPressIn: onScalePressIn,
|
|
43
|
+
onPressOut: onScalePressOut
|
|
44
|
+
} = usePressAnimation(disabled ? undefined : PRESS_SCALE);
|
|
45
|
+
const {
|
|
46
|
+
state: pressed,
|
|
47
|
+
onIn: onPressedIn,
|
|
48
|
+
onOut: onPressedOut
|
|
49
|
+
} = useInteractionState();
|
|
50
|
+
const handlePressIn = disabled ? undefined : () => {
|
|
51
|
+
onScalePressIn();
|
|
52
|
+
onPressedIn();
|
|
53
|
+
};
|
|
54
|
+
const handlePressOut = disabled ? undefined : () => {
|
|
55
|
+
onScalePressOut();
|
|
56
|
+
onPressedOut();
|
|
57
|
+
};
|
|
58
|
+
const highlighted = pressed && !disabled;
|
|
59
|
+
const surface = active ? palette.activeSurface : highlighted ? palette.surfaceHover : palette.surface;
|
|
60
|
+
const ring = highlighted ? palette.ringHover : palette.ring;
|
|
61
|
+
const iconColor = active ? palette.activeIcon : palette.icon;
|
|
62
|
+
const containerStyle = useMemo(() => {
|
|
63
|
+
return {
|
|
64
|
+
width: geo.diameter,
|
|
65
|
+
height: geo.diameter,
|
|
66
|
+
borderRadius: RADIUS,
|
|
67
|
+
alignItems: 'center',
|
|
68
|
+
justifyContent: 'center',
|
|
69
|
+
borderWidth: StyleSheet.hairlineWidth * 2,
|
|
70
|
+
borderColor: ring,
|
|
71
|
+
// Soft shadow lives on the (non-clipping) Pressable so it renders on iOS —
|
|
72
|
+
// the blur/tint are clipped by an inner overflow:hidden layer instead.
|
|
73
|
+
shadowColor: palette.shadow,
|
|
74
|
+
shadowOffset: {
|
|
75
|
+
width: 0,
|
|
76
|
+
height: 2
|
|
77
|
+
},
|
|
78
|
+
shadowOpacity: 1,
|
|
79
|
+
shadowRadius: 8,
|
|
80
|
+
elevation: 4
|
|
81
|
+
};
|
|
82
|
+
}, [geo.diameter, ring, palette.shadow]);
|
|
83
|
+
const content = icon ?? children;
|
|
84
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
85
|
+
style: [{
|
|
86
|
+
transform: [{
|
|
87
|
+
scale: scaleAnim
|
|
88
|
+
}]
|
|
89
|
+
}, style],
|
|
90
|
+
children: /*#__PURE__*/_jsxs(Pressable, {
|
|
91
|
+
...(className ? {
|
|
92
|
+
className
|
|
93
|
+
} : {}),
|
|
94
|
+
style: [containerStyle, disabled && styles.disabled],
|
|
95
|
+
onPress: disabled ? undefined : onPress,
|
|
96
|
+
onPressIn: handlePressIn,
|
|
97
|
+
onPressOut: handlePressOut,
|
|
98
|
+
disabled: disabled,
|
|
99
|
+
hitSlop: hitSlop ?? DEFAULT_HIT_SLOP,
|
|
100
|
+
accessibilityRole: "button",
|
|
101
|
+
accessibilityLabel: accessibilityLabel,
|
|
102
|
+
accessibilityHint: accessibilityHint,
|
|
103
|
+
accessibilityState: {
|
|
104
|
+
disabled,
|
|
105
|
+
selected: active
|
|
106
|
+
},
|
|
107
|
+
testID: testID,
|
|
108
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
109
|
+
style: [StyleSheet.absoluteFill, styles.clip],
|
|
110
|
+
children: [!active && /*#__PURE__*/_jsx(BlurView, {
|
|
111
|
+
intensity: BLUR_INTENSITY,
|
|
112
|
+
tint: theme.isDark ? 'dark' : 'light',
|
|
113
|
+
experimentalBlurMethod: "dimezisBlurView",
|
|
114
|
+
style: StyleSheet.absoluteFill
|
|
115
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
116
|
+
style: [StyleSheet.absoluteFill, {
|
|
117
|
+
backgroundColor: surface
|
|
118
|
+
}]
|
|
119
|
+
})]
|
|
120
|
+
}), content != null && /*#__PURE__*/_jsx(View, {
|
|
121
|
+
style: {
|
|
122
|
+
width: geo.iconBox,
|
|
123
|
+
height: geo.iconBox,
|
|
124
|
+
alignItems: 'center',
|
|
125
|
+
justifyContent: 'center'
|
|
126
|
+
},
|
|
127
|
+
children: applyIconColor(content, iconColor)
|
|
128
|
+
})]
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
};
|
|
132
|
+
const styles = StyleSheet.create({
|
|
133
|
+
clip: {
|
|
134
|
+
borderRadius: RADIUS,
|
|
135
|
+
overflow: 'hidden'
|
|
136
|
+
},
|
|
137
|
+
disabled: {
|
|
138
|
+
opacity: 0.5
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
export const FrostedIconButton = /*#__PURE__*/memo(FrostedIconButtonComponent);
|
|
142
|
+
FrostedIconButton.displayName = 'FrostedIconButton';
|
|
143
|
+
//# sourceMappingURL=FrostedIconButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useMemo","Animated","Pressable","StyleSheet","View","BlurView","useTheme","usePressAnimation","useInteractionState","applyIconColor","resolveFrostedPalette","resolveFrostedSize","jsx","_jsx","jsxs","_jsxs","RADIUS","PRESS_SCALE","DEFAULT_HIT_SLOP","top","bottom","left","right","BLUR_INTENSITY","FrostedIconButtonComponent","onPress","icon","children","active","disabled","size","accessibilityLabel","accessibilityHint","style","className","testID","hitSlop","theme","geo","palette","colors","isDark","scaleAnim","onPressIn","onScalePressIn","onPressOut","onScalePressOut","undefined","state","pressed","onIn","onPressedIn","onOut","onPressedOut","handlePressIn","handlePressOut","highlighted","surface","activeSurface","surfaceHover","ring","ringHover","iconColor","activeIcon","containerStyle","width","diameter","height","borderRadius","alignItems","justifyContent","borderWidth","hairlineWidth","borderColor","shadowColor","shadow","shadowOffset","shadowOpacity","shadowRadius","elevation","content","transform","scale","styles","accessibilityRole","accessibilityState","selected","absoluteFill","clip","intensity","tint","experimentalBlurMethod","backgroundColor","iconBox","create","overflow","opacity","FrostedIconButton","displayName"],"sourceRoot":"../../../src","sources":["frosted-icon-button/FrostedIconButton.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import React, { memo, useCallback, useEffect, useId, useMemo } from 'react';
|
|
4
|
+
import { useTheme } from "../theme/use-theme.js";
|
|
5
|
+
import { flattenWebStyle } from "../styles/flatten-web-style.js";
|
|
6
|
+
import { applyIconColor, resolveFrostedPalette, resolveFrostedSize } from "./shared.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const RADIUS = 999;
|
|
9
|
+
const PRESS_SCALE = 0.94;
|
|
10
|
+
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// Per-state CSS injection
|
|
13
|
+
//
|
|
14
|
+
// Inline styles cannot express `:hover` / `:focus-visible` / `:active`. We
|
|
15
|
+
// inject one static stylesheet (keyed by id, once) defining the interaction
|
|
16
|
+
// behavior for the base `bloom-frosted-icon-btn` class; per-instance resolved
|
|
17
|
+
// colors are passed in as inline CSS custom properties. Self-injecting the CSS
|
|
18
|
+
// (rather than exporting a string for consumers to paste) is the Bloom web-fork
|
|
19
|
+
// convention — an unresolvable rule would fail silently otherwise.
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
const STYLE_ID = 'bloom-frosted-icon-button-web-css';
|
|
23
|
+
const BLOOM_FROSTED_ICON_BUTTON_CSS = `
|
|
24
|
+
.bloom-frosted-icon-btn {
|
|
25
|
+
appearance: none;
|
|
26
|
+
-webkit-appearance: none;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
padding: 0;
|
|
32
|
+
margin: 0;
|
|
33
|
+
border-style: solid;
|
|
34
|
+
border-width: 1px;
|
|
35
|
+
font-family: inherit;
|
|
36
|
+
cursor: pointer;
|
|
37
|
+
user-select: none;
|
|
38
|
+
outline: none;
|
|
39
|
+
transition: background-color 140ms ease, border-color 140ms ease,
|
|
40
|
+
box-shadow 160ms ease, transform 120ms ease;
|
|
41
|
+
}
|
|
42
|
+
.bloom-frosted-icon-btn:disabled,
|
|
43
|
+
.bloom-frosted-icon-btn[aria-disabled="true"] {
|
|
44
|
+
cursor: default;
|
|
45
|
+
opacity: 0.5;
|
|
46
|
+
}
|
|
47
|
+
.bloom-frosted-icon-btn:not(:disabled):not([aria-disabled="true"]):not([data-active="true"]):hover {
|
|
48
|
+
background-color: var(--bloom-frosted-hover-bg);
|
|
49
|
+
border-color: var(--bloom-frosted-hover-ring);
|
|
50
|
+
}
|
|
51
|
+
.bloom-frosted-icon-btn:not(:disabled):not([aria-disabled="true"]):active {
|
|
52
|
+
transform: scale(var(--bloom-frosted-press-scale, 1));
|
|
53
|
+
}
|
|
54
|
+
.bloom-frosted-icon-btn:focus-visible {
|
|
55
|
+
outline: 2px solid var(--bloom-frosted-ring-focus, currentColor);
|
|
56
|
+
outline-offset: 2px;
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
function useFrostedIconButtonCss() {
|
|
60
|
+
useEffect(() => {
|
|
61
|
+
if (typeof document === 'undefined') return;
|
|
62
|
+
if (document.getElementById(STYLE_ID)) return;
|
|
63
|
+
const style = document.createElement('style');
|
|
64
|
+
style.id = STYLE_ID;
|
|
65
|
+
style.textContent = BLOOM_FROSTED_ICON_BUTTON_CSS;
|
|
66
|
+
document.head.appendChild(style);
|
|
67
|
+
}, []);
|
|
68
|
+
}
|
|
69
|
+
const FrostedIconButtonWebComponent = ({
|
|
70
|
+
onPress,
|
|
71
|
+
onClick,
|
|
72
|
+
icon,
|
|
73
|
+
children,
|
|
74
|
+
active = false,
|
|
75
|
+
disabled = false,
|
|
76
|
+
size = 'md',
|
|
77
|
+
accessibilityLabel,
|
|
78
|
+
'aria-label': ariaLabelProp,
|
|
79
|
+
accessibilityHint,
|
|
80
|
+
style,
|
|
81
|
+
className,
|
|
82
|
+
testID,
|
|
83
|
+
id,
|
|
84
|
+
title,
|
|
85
|
+
type = 'button'
|
|
86
|
+
}) => {
|
|
87
|
+
useFrostedIconButtonCss();
|
|
88
|
+
const theme = useTheme();
|
|
89
|
+
const reactId = useId();
|
|
90
|
+
const resolvedId = id ?? `bloom-frosted-icon-btn-${reactId}`;
|
|
91
|
+
const geo = useMemo(() => resolveFrostedSize(size), [size]);
|
|
92
|
+
const palette = useMemo(() => resolveFrostedPalette(theme.colors, theme.isDark), [theme.colors, theme.isDark]);
|
|
93
|
+
const iconColor = active ? palette.activeIcon : palette.icon;
|
|
94
|
+
const blur = `blur(${geo.blur}px)`;
|
|
95
|
+
const containerStyle = useMemo(() => {
|
|
96
|
+
return {
|
|
97
|
+
width: geo.diameter,
|
|
98
|
+
height: geo.diameter,
|
|
99
|
+
borderRadius: RADIUS,
|
|
100
|
+
backgroundColor: active ? palette.activeSurface : palette.surface,
|
|
101
|
+
borderColor: palette.ring,
|
|
102
|
+
color: iconColor,
|
|
103
|
+
// Real CSS backdrop blur so the chip frosts over content behind it. The
|
|
104
|
+
// solid `active` state drops the blur. Both prefixed forms for Safari.
|
|
105
|
+
backdropFilter: active ? 'none' : blur,
|
|
106
|
+
WebkitBackdropFilter: active ? 'none' : blur,
|
|
107
|
+
// Soft shadow kept in BOTH modes so the chip has an edge on a solid bg.
|
|
108
|
+
boxShadow: `0 2px 8px ${palette.shadow}`,
|
|
109
|
+
['--bloom-frosted-hover-bg']: palette.surfaceHover,
|
|
110
|
+
['--bloom-frosted-hover-ring']: palette.ringHover,
|
|
111
|
+
['--bloom-frosted-ring-focus']: palette.focusRing,
|
|
112
|
+
['--bloom-frosted-press-scale']: PRESS_SCALE
|
|
113
|
+
};
|
|
114
|
+
}, [geo.diameter, active, palette.activeSurface, palette.surface, palette.ring, palette.surfaceHover, palette.ringHover, palette.focusRing, palette.shadow, iconColor, blur]);
|
|
115
|
+
const handleClick = useCallback(event => {
|
|
116
|
+
if (disabled) {
|
|
117
|
+
event.preventDefault();
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
onClick?.(event);
|
|
121
|
+
onPress?.();
|
|
122
|
+
}, [disabled, onClick, onPress]);
|
|
123
|
+
const ariaLabel = ariaLabelProp ?? accessibilityLabel;
|
|
124
|
+
const composedClassName = ['bloom-frosted-icon-btn'].concat(className ? [className] : []).join(' ');
|
|
125
|
+
|
|
126
|
+
// `style` is an RN `StyleProp` (array-capable). Flatten before spreading into
|
|
127
|
+
// the raw DOM `style` object so an array form never leaks numeric keys onto
|
|
128
|
+
// the element's CSSStyleDeclaration. See `flattenWebStyle` for the rationale.
|
|
129
|
+
const resolvedStyle = flattenWebStyle(style);
|
|
130
|
+
const content = icon ?? children;
|
|
131
|
+
return /*#__PURE__*/_jsx("button", {
|
|
132
|
+
id: resolvedId,
|
|
133
|
+
type: type,
|
|
134
|
+
className: composedClassName,
|
|
135
|
+
style: {
|
|
136
|
+
...containerStyle,
|
|
137
|
+
...resolvedStyle
|
|
138
|
+
},
|
|
139
|
+
onClick: handleClick,
|
|
140
|
+
disabled: disabled,
|
|
141
|
+
"aria-disabled": disabled || undefined,
|
|
142
|
+
"aria-label": ariaLabel,
|
|
143
|
+
"aria-pressed": active,
|
|
144
|
+
"data-active": active || undefined,
|
|
145
|
+
title: title ?? accessibilityHint,
|
|
146
|
+
"data-testid": testID,
|
|
147
|
+
children: content != null && /*#__PURE__*/_jsx("span", {
|
|
148
|
+
style: {
|
|
149
|
+
display: 'inline-flex',
|
|
150
|
+
alignItems: 'center',
|
|
151
|
+
justifyContent: 'center',
|
|
152
|
+
width: geo.iconBox,
|
|
153
|
+
height: geo.iconBox
|
|
154
|
+
},
|
|
155
|
+
children: applyIconColor(content, iconColor)
|
|
156
|
+
})
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
export const FrostedIconButton = /*#__PURE__*/memo(FrostedIconButtonWebComponent);
|
|
160
|
+
FrostedIconButton.displayName = 'FrostedIconButton';
|
|
161
|
+
//# sourceMappingURL=FrostedIconButton.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useEffect","useId","useMemo","useTheme","flattenWebStyle","applyIconColor","resolveFrostedPalette","resolveFrostedSize","jsx","_jsx","RADIUS","PRESS_SCALE","STYLE_ID","BLOOM_FROSTED_ICON_BUTTON_CSS","useFrostedIconButtonCss","document","getElementById","style","createElement","id","textContent","head","appendChild","FrostedIconButtonWebComponent","onPress","onClick","icon","children","active","disabled","size","accessibilityLabel","ariaLabelProp","accessibilityHint","className","testID","title","type","theme","reactId","resolvedId","geo","palette","colors","isDark","iconColor","activeIcon","blur","containerStyle","width","diameter","height","borderRadius","backgroundColor","activeSurface","surface","borderColor","ring","color","backdropFilter","WebkitBackdropFilter","boxShadow","shadow","surfaceHover","ringHover","focusRing","handleClick","event","preventDefault","ariaLabel","composedClassName","concat","join","resolvedStyle","content","undefined","display","alignItems","justifyContent","iconBox","FrostedIconButton","displayName"],"sourceRoot":"../../../src","sources":["frosted-icon-button/FrostedIconButton.web.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IACVC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,KAAK,EACLC,OAAO,QAGF,OAAO;AAEd,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,eAAe,QAAQ,gCAA6B;AAC7D,SACEC,cAAc,EACdC,qBAAqB,EACrBC,kBAAkB,QACb,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAKlB,MAAMC,MAAM,GAAG,GAAG;AAClB,MAAMC,WAAW,GAAG,IAAI;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,QAAQ,GAAG,mCAAmC;AAEpD,MAAMC,6BAA6B,GAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,SAASC,uBAAuBA,CAAA,EAAS;EACvCd,SAAS,CAAC,MAAM;IACd,IAAI,OAAOe,QAAQ,KAAK,WAAW,EAAE;IACrC,IAAIA,QAAQ,CAACC,cAAc,CAACJ,QAAQ,CAAC,EAAE;IACvC,MAAMK,KAAK,GAAGF,QAAQ,CAACG,aAAa,CAAC,OAAO,CAAC;IAC7CD,KAAK,CAACE,EAAE,GAAGP,QAAQ;IACnBK,KAAK,CAACG,WAAW,GAAGP,6BAA6B;IACjDE,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACL,KAAK,CAAC;EAClC,CAAC,EAAE,EAAE,CAAC;AACR;AAEA,MAAMM,6BAA+D,GAAGA,CAAC;EACvEC,OAAO;EACPC,OAAO;EACPC,IAAI;EACJC,QAAQ;EACRC,MAAM,GAAG,KAAK;EACdC,QAAQ,GAAG,KAAK;EAChBC,IAAI,GAAG,IAAI;EACXC,kBAAkB;EAClB,YAAY,EAAEC,aAAa;EAC3BC,iBAAiB;EACjBhB,KAAK;EACLiB,SAAS;EACTC,MAAM;EACNhB,EAAE;EACFiB,KAAK;EACLC,IAAI,GAAG;AACT,CAAC,KAAK;EACJvB,uBAAuB,CAAC,CAAC;EACzB,MAAMwB,KAAK,GAAGnC,QAAQ,CAAC,CAAC;EACxB,MAAMoC,OAAO,GAAGtC,KAAK,CAAC,CAAC;EACvB,MAAMuC,UAAU,GAAGrB,EAAE,IAAI,0BAA0BoB,OAAO,EAAE;EAE5D,MAAME,GAAG,GAAGvC,OAAO,CAAC,MAAMK,kBAAkB,CAACuB,IAAI,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAC3D,MAAMY,OAAO,GAAGxC,OAAO,CACrB,MAAMI,qBAAqB,CAACgC,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACM,MAAM,CAAC,EACvD,CAACN,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACM,MAAM,CAC7B,CAAC;EAED,MAAMC,SAAS,GAAGjB,MAAM,GAAGc,OAAO,CAACI,UAAU,GAAGJ,OAAO,CAAChB,IAAI;EAC5D,MAAMqB,IAAI,GAAG,QAAQN,GAAG,CAACM,IAAI,KAAK;EAElC,MAAMC,cAAc,GAAG9C,OAAO,CAAC,MAAqB;IAClD,OAAO;MACL+C,KAAK,EAAER,GAAG,CAACS,QAAQ;MACnBC,MAAM,EAAEV,GAAG,CAACS,QAAQ;MACpBE,YAAY,EAAE1C,MAAM;MACpB2C,eAAe,EAAEzB,MAAM,GAAGc,OAAO,CAACY,aAAa,GAAGZ,OAAO,CAACa,OAAO;MACjEC,WAAW,EAAEd,OAAO,CAACe,IAAI;MACzBC,KAAK,EAAEb,SAAS;MAChB;MACA;MACAc,cAAc,EAAE/B,MAAM,GAAG,MAAM,GAAGmB,IAAI;MACtCa,oBAAoB,EAAEhC,MAAM,GAAG,MAAM,GAAGmB,IAAI;MAC5C;MACAc,SAAS,EAAE,aAAanB,OAAO,CAACoB,MAAM,EAAE;MACxC,CAAC,0BAA0B,GAAapB,OAAO,CAACqB,YAAY;MAC5D,CAAC,4BAA4B,GAAarB,OAAO,CAACsB,SAAS;MAC3D,CAAC,4BAA4B,GAAatB,OAAO,CAACuB,SAAS;MAC3D,CAAC,6BAA6B,GAAatD;IAC7C,CAAC;EACH,CAAC,EAAE,CACD8B,GAAG,CAACS,QAAQ,EACZtB,MAAM,EACNc,OAAO,CAACY,aAAa,EACrBZ,OAAO,CAACa,OAAO,EACfb,OAAO,CAACe,IAAI,EACZf,OAAO,CAACqB,YAAY,EACpBrB,OAAO,CAACsB,SAAS,EACjBtB,OAAO,CAACuB,SAAS,EACjBvB,OAAO,CAACoB,MAAM,EACdjB,SAAS,EACTE,IAAI,CACL,CAAC;EAEF,MAAMmB,WAAW,GAAGnE,WAAW,CAC5BoE,KAAoC,IAAK;IACxC,IAAItC,QAAQ,EAAE;MACZsC,KAAK,CAACC,cAAc,CAAC,CAAC;MACtB;IACF;IACA3C,OAAO,GAAG0C,KAAK,CAAC;IAChB3C,OAAO,GAAG,CAAC;EACb,CAAC,EACD,CAACK,QAAQ,EAAEJ,OAAO,EAAED,OAAO,CAC7B,CAAC;EAED,MAAM6C,SAAS,GAAGrC,aAAa,IAAID,kBAAkB;EACrD,MAAMuC,iBAAiB,GAAG,CAAC,wBAAwB,CAAC,CACjDC,MAAM,CAACrC,SAAS,GAAG,CAACA,SAAS,CAAC,GAAG,EAAE,CAAC,CACpCsC,IAAI,CAAC,GAAG,CAAC;;EAEZ;EACA;EACA;EACA,MAAMC,aAAa,GAAGrE,eAAe,CAACa,KAAK,CAAC;EAC5C,MAAMyD,OAAO,GAAGhD,IAAI,IAAIC,QAAQ;EAEhC,oBACElB,IAAA;IACEU,EAAE,EAAEqB,UAAW;IACfH,IAAI,EAAEA,IAAK;IACXH,SAAS,EAAEoC,iBAAkB;IAC7BrD,KAAK,EAAE;MAAE,GAAG+B,cAAc;MAAE,GAAGyB;IAAc,CAAE;IAC/ChD,OAAO,EAAEyC,WAAY;IACrBrC,QAAQ,EAAEA,QAAS;IACnB,iBAAeA,QAAQ,IAAI8C,SAAU;IACrC,cAAYN,SAAU;IACtB,gBAAczC,MAAO;IACrB,eAAaA,MAAM,IAAI+C,SAAU;IACjCvC,KAAK,EAAEA,KAAK,IAAIH,iBAAkB;IAClC,eAAaE,MAAO;IAAAR,QAAA,EAEnB+C,OAAO,IAAI,IAAI,iBACdjE,IAAA;MACEQ,KAAK,EAAE;QACL2D,OAAO,EAAE,aAAa;QACtBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxB7B,KAAK,EAAER,GAAG,CAACsC,OAAO;QAClB5B,MAAM,EAAEV,GAAG,CAACsC;MACd,CAAE;MAAApD,QAAA,EAEDtB,cAAc,CAACqE,OAAO,EAAE7B,SAAS;IAAC,CAC/B;EACP,CACK,CAAC;AAEb,CAAC;AAED,OAAO,MAAMmC,iBAAiB,gBAAGlF,IAAI,CAACyB,6BAA6B,CAAC;AACpEyD,iBAAiB,CAACC,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FrostedIconButton"],"sourceRoot":"../../../src","sources":["frosted-icon-button/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,qBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// Web variant of the `./frosted-icon-button` barrel.
|
|
4
|
+
//
|
|
5
|
+
// The default barrel (`./index.ts`) re-exports the React Native implementation,
|
|
6
|
+
// which frosts via `expo-blur`'s `BlurView`. The web fork (`./FrostedIconButton.web`)
|
|
7
|
+
// renders a real HTML `<button>` and frosts via a real CSS `backdrop-filter` —
|
|
8
|
+
// no `expo-blur` import ever reaches a web bundler. Web bundlers select this
|
|
9
|
+
// file via the `"browser"` export condition in `package.json`.
|
|
10
|
+
export { FrostedIconButton } from "./FrostedIconButton.web.js";
|
|
11
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FrostedIconButton"],"sourceRoot":"../../../src","sources":["frosted-icon-button/index.web.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,iBAAiB,QAAQ,4BAAyB","ignoreList":[]}
|