UNPKG

storybook-addon-themes

Version:

A storybook addon to switch between different themes for your preview

71 lines (56 loc) 1.53 kB
"use strict"; require("core-js/modules/es.array.find"); require("core-js/modules/es.function.name"); require("core-js/modules/es.object.assign"); Object.defineProperty(exports, "__esModule", { value: true }); exports.getConfigFromApi = getConfigFromApi; exports.getConfig = getConfig; exports.getSelectedThemeName = getSelectedThemeName; exports.getSelectedTheme = getSelectedTheme; var _constants = require("./constants"); var defaultOptions = { clearable: true, list: [] }; function getConfigFromApi(api) { var data = api.getCurrentStoryData(); return getConfig(data && data.parameters && data.parameters[_constants.PARAM_KEY]); } function getConfig(parameters) { var options = parameters instanceof Array ? { list: parameters } : parameters; return Object.assign({}, defaultOptions, options); } function getSelectedThemeName(list, defaultTheme, currentSelectedValue) { if (!list.length) { return 'none'; } if (currentSelectedValue === 'none') { return currentSelectedValue; } if (currentSelectedValue && list.find(function (i) { return i.name === currentSelectedValue; })) { return currentSelectedValue; } if (defaultTheme) { return defaultTheme; } if (list.find(function (i) { return i["default"]; })) { return list.find(function (i) { return i["default"]; }).name; } return 'none'; } function getSelectedTheme(list, themeName) { return list.find(function (_ref) { var name = _ref.name; return name === themeName; }); }