UNPKG

storybook-addon-react-runner

Version:

Storybook addon to provide react live preview powered by react-runner

48 lines (35 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Panel = void 0; var _react = _interopRequireDefault(require("react")); var _addons = require("@storybook/addons"); var _api = require("@storybook/api"); var _components = require("@storybook/components"); var _constants = require("./constants"); var _CodeEditor = require("./components/CodeEditor"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var handleChange = function handleChange(code) { _addons.addons.getChannel().emit(_constants.EVENTS.SET_CODE, code); }; var stopPropagation = function stopPropagation(event) { return event.stopPropagation(); }; var Panel = function Panel(props) { var _useParameter; var source = ((_useParameter = (0, _api.useParameter)(_constants.SOURCE_KEY)) === null || _useParameter === void 0 ? void 0 : _useParameter.source) || ""; var options = (0, _api.useParameter)(_constants.PARAM_KEY); return /*#__PURE__*/_react["default"].createElement(_components.AddonPanel, props, !!source && /*#__PURE__*/_react["default"].createElement(_CodeEditor.CodeEditor, { key: source, theme: options === null || options === void 0 ? void 0 : options.theme, language: options === null || options === void 0 ? void 0 : options.language, readOnly: options === null || options === void 0 ? void 0 : options.readOnly, padding: "1rem", defaultValue: source, onChange: handleChange // prevent sidebar stories navigation , onKeyDown: stopPropagation })); }; exports.Panel = Panel;