1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
4 | Object.defineProperty(exports, "__esModule", {
|
5 | value: true
|
6 | });
|
7 | exports.default = createColorScheme;
|
8 | exports.getOpacity = getOpacity;
|
9 | exports.getOverlays = getOverlays;
|
10 | var _createPalette = _interopRequireDefault(require("./createPalette"));
|
11 | var _getOverlayAlpha = _interopRequireDefault(require("./getOverlayAlpha"));
|
12 | const 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 | });
|
19 | function 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 | }
|
27 | function getOverlays(mode) {
|
28 | return mode === 'dark' ? defaultDarkOverlays : [];
|
29 | }
|
30 | function createColorScheme(options) {
|
31 | const {
|
32 | palette: paletteInput = {
|
33 | mode: 'light'
|
34 | },
|
35 |
|
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 |