@redocly/theme
Version:
Shared UI components lib
29 lines • 1.5 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ColorModeIcon = ColorModeIcon;
const react_1 = __importDefault(require("react"));
const styled_components_1 = __importDefault(require("styled-components"));
const ContrastIcon_1 = require("../../icons/ContrastIcon/ContrastIcon");
const MoonIcon_1 = require("../../icons/MoonIcon/MoonIcon");
const SunIcon_1 = require("../../icons/SunIcon/SunIcon");
const constants_1 = require("../../core/constants");
function ColorModeIcon(props) {
return (react_1.default.createElement(ColorModeIconComponent, Object.assign({}, props, { "data-component-name": "ColorModeSwitcher/ColorModeIcon" })));
}
function Icon({ mode, className }) {
switch (mode) {
case constants_1.DEFAULT_COLOR_MODES.DARK:
return react_1.default.createElement(SunIcon_1.SunIcon, { "data-testid": "dark" });
case constants_1.DEFAULT_COLOR_MODES.LIGHT:
return react_1.default.createElement(MoonIcon_1.MoonIcon, { "data-testid": "light" });
default:
return react_1.default.createElement(ContrastIcon_1.ContrastIcon, { "data-testid": "custom", className: className + (mode ? ' ' + mode : '') });
}
}
const ColorModeIconComponent = (0, styled_components_1.default)(Icon) `
box-sizing: border-box;
`;
//# sourceMappingURL=ColorModeIcon.js.map