feeles-ide
Version:
The hackable and serializable IDE to make learning material
75 lines (60 loc) • 1.92 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.defaultPalette = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _styles = require("@material-ui/core/styles");
var _red = _interopRequireDefault(require("@material-ui/core/colors/red"));
var themeColors = _interopRequireWildcard(require("./colors"));
var defaultPalette = {
type: 'light',
primary: random(themeColors),
accent: random(themeColors),
error: _red.default
};
exports.defaultPalette = defaultPalette;
var _default = function _default(feelesrc) {
// Mui Theme (plain object)
var theme = (0, _styles.createMuiTheme)({
typography: {
useNextVariants: true,
button: {
textTransform: 'none',
wordBreak: 'keep-all'
}
},
// breakpoints: {},
// direction: "ltr",
// mixins: {},
palette: (0, _objectSpread2.default)({}, defaultPalette, feelesrc.palette),
// props: {},
// shadows: [],
// typography: {},
// shape: {},
// spacing: {},
transitions: {} // zIndex: {},
});
if (feelesrc.enableShadow === false) {
// 影の無効化
theme.shadows = Array.from({
length: 25
});
}
if (feelesrc.enableTransition === false) {
// トランジションの無効化
theme.transitions.easing.easeInOut = 'none';
theme.transitions.easing.easeOut = 'none';
theme.transitions.easing.easeIn = 'none';
theme.transitions.easing.sharp = 'none';
}
return theme;
};
exports.default = _default;
function random(colors) {
var index = Math.random() * Object.keys(colors).length >> 0;
var key = Object.keys(colors)[index];
return colors[key];
}