UNPKG

1.46 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4Object.defineProperty(exports, "__esModule", {
5 value: true
6});
7exports.default = createColorScheme;
8exports.getOpacity = getOpacity;
9exports.getOverlays = getOverlays;
10var _createPalette = _interopRequireDefault(require("./createPalette"));
11var _getOverlayAlpha = _interopRequireDefault(require("./getOverlayAlpha"));
12const defaultDarkOverlays = [...Array(25)].map((_, index) => {
13 if (index === 0) {
14 return 'none';
15 }
16 const overlay = (0, _getOverlayAlpha.default)(index);
17 return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`;
18});
19function getOpacity(mode) {
20 return {
21 inputPlaceholder: mode === 'dark' ? 0.5 : 0.42,
22 inputUnderline: mode === 'dark' ? 0.7 : 0.42,
23 switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12,
24 switchTrack: mode === 'dark' ? 0.3 : 0.38
25 };
26}
27function getOverlays(mode) {
28 return mode === 'dark' ? defaultDarkOverlays : [];
29}
30function createColorScheme(options) {
31 const {
32 palette: paletteInput = {
33 mode: 'light'
34 },
35 // need to cast to avoid module augmentation test
36 opacity,
37 overlays,
38 ...rest
39 } = options;
40 const palette = (0, _createPalette.default)(paletteInput);
41 return {
42 palette,
43 opacity: {
44 ...getOpacity(palette.mode),
45 ...opacity
46 },
47 overlays: overlays || getOverlays(palette.mode),
48 ...rest
49 };
50}
\No newline at end of file