storybook-addon-jsx
Version:
Display the JSX of the story
38 lines (29 loc) • 1.13 kB
JavaScript
;
var _react = _interopRequireDefault(require("react"));
var _addons = require("@storybook/addons");
var _coreEvents = require("@storybook/core-events");
var _jsx = _interopRequireDefault(require("./jsx"));
var _constants = require("./constants");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
/** A function that lets the panel listen to storybook event */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
var observable = function observable(channel, api) {
return function (listener) {
channel.on(_constants.EVENTS.ADD_JSX, listener.next('jsx'));
api.on(_coreEvents.STORY_RENDERED, listener.next('current'));
};
};
_addons.addons.register(_constants.ADDON_ID, function (api) {
var ob = observable(_addons.addons.getChannel(), api);
_addons.addons.addPanel(_constants.ADDON_PANEL, {
title: 'JSX',
render: function render(_ref) {
var active = _ref.active;
return _react["default"].createElement(_jsx["default"], {
key: "addon-jsx",
active: active,
ob: ob
});
}
});
});