UNPKG

react-themable-hoc

Version:

React higher-order-components that allow for css-in-js-style themes.

52 lines (43 loc) 2.46 kB
(function (global, factory) { if (typeof define === "function" && define.amd) { define(['module', 'react-themable-hoc-aphrodite-interface', 'react', './components', '../ThemeManager', '@storybook/react', '../themed', './themes', '@storybook/addon-info'], factory); } else if (typeof exports !== "undefined") { factory(module, require('react-themable-hoc-aphrodite-interface'), require('react'), require('./components'), require('../ThemeManager'), require('@storybook/react'), require('../themed'), require('./themes'), require('@storybook/addon-info')); } else { var mod = { exports: {} }; factory(mod, global.reactThemableHocAphroditeInterface, global.react, global.components, global.ThemeManager, global.react, global.themed, global.themes, global.addonInfo); global.PropsStory = mod.exports; } })(this, function (module, _reactThemableHocAphroditeInterface, _react, _components, _ThemeManager, _react3, _themed, _themes, _addonInfo) { 'use strict'; var _reactThemableHocAphroditeInterface2 = _interopRequireDefault(_reactThemableHocAphroditeInterface); var _react2 = _interopRequireDefault(_react); var _ThemeManager2 = _interopRequireDefault(_ThemeManager); var _themed2 = _interopRequireDefault(_themed); var _themes2 = _interopRequireDefault(_themes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function setup() { // Setup the ThemeManager with Aprodite var aphroditeInterface = new _reactThemableHocAphroditeInterface2.default(); _ThemeManager2.default.setStyleInterface(aphroditeInterface); // Add our themes Object.keys(_themes2.default).forEach(function (themeName) { _ThemeManager2.default.addTheme(themeName, _themes2.default[themeName]); }); } (0, _react3.storiesOf)('ThemableHOC', module).addDecorator(function (story) { return _react2.default.createElement( _components.ThemeSwitcher, { setup: setup }, story() ); }).add('Style based on props', (0, _addonInfo.withInfo)('\n `react-themable-hoc` allows you to create stylesheets based on the props passed to your component.\n ')(function () { return _react2.default.createElement(_components.StyledWithProps, { color: 'red' }); })); });