@codinggorilla/storybook-theme-changer
Version:
A Storybook addon to change the emotion theme
25 lines (24 loc) • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WithThemesProvider = void 0;
var react_1 = __importDefault(require("react"));
var react_2 = require("@emotion/react");
var react_3 = require("react");
var addons_1 = require("@storybook/addons");
var constants_1 = require("./constants");
var get_theme_1 = __importDefault(require("./get-theme"));
function WithThemesProvider(themes, Story, Context) {
var _a;
var globals = Context.globals;
var themeName = (_a = globals[constants_1.GLOBAL_VARIABLE]) !== null && _a !== void 0 ? _a : themes[0].name;
react_3.useEffect(function () {
var channel = addons_1.addons.getChannel();
channel.emit('setThemes', themes, themeName);
}, []);
return (react_1.default.createElement(react_2.ThemeProvider, { theme: get_theme_1.default(themeName, themes) },
react_1.default.createElement(Story, null)));
}
exports.WithThemesProvider = WithThemesProvider;