UNPKG

@mui/material

Version:

Material UI is an open-source React component library that implements Google's Material Design. It's comprehensive and can be used in production out of the box.

50 lines (49 loc) 1.46 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = createColorScheme; exports.getOpacity = getOpacity; exports.getOverlays = getOverlays; var _createPalette = _interopRequireDefault(require("./createPalette")); var _getOverlayAlpha = _interopRequireDefault(require("./getOverlayAlpha")); const defaultDarkOverlays = [...Array(25)].map((_, index) => { if (index === 0) { return 'none'; } const overlay = (0, _getOverlayAlpha.default)(index); return `linear-gradient(rgba(255 255 255 / ${overlay}), rgba(255 255 255 / ${overlay}))`; }); function getOpacity(mode) { return { inputPlaceholder: mode === 'dark' ? 0.5 : 0.42, inputUnderline: mode === 'dark' ? 0.7 : 0.42, switchTrackDisabled: mode === 'dark' ? 0.2 : 0.12, switchTrack: mode === 'dark' ? 0.3 : 0.38 }; } function getOverlays(mode) { return mode === 'dark' ? defaultDarkOverlays : []; } function createColorScheme(options) { const { palette: paletteInput = { mode: 'light' }, // need to cast to avoid module augmentation test opacity, overlays, ...rest } = options; const palette = (0, _createPalette.default)(paletteInput); return { palette, opacity: { ...getOpacity(palette.mode), ...opacity }, overlays: overlays || getOverlays(palette.mode), ...rest }; }