UNPKG

creevey

Version:

Cross-browser screenshot testing tool for Storybook with fancy UI Runner

41 lines 1.82 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const react_1 = __importDefault(require("react")); const manager_api_1 = require("@storybook/manager-api"); const Addon_js_1 = require("./components/Addon.js"); const Tools_js_1 = require("./components/Tools.js"); const controller_js_1 = require("./controller.js"); // TODO Take api from `import { useGlobals, useStorybookApi } from '@storybook/manager-api';` manager_api_1.addons.register(controller_js_1.ADDON_ID, (api) => { void registerCreeveyPanels(api); }); async function registerCreeveyPanels(storybookApi) { const controller = new controller_js_1.CreeveyController(storybookApi); manager_api_1.addons.add(`${controller_js_1.ADDON_ID}/panel/run`, { title: `Creevey/Run`, match: ({ viewMode }) => !!(viewMode && /^story$/.exec(viewMode)), type: manager_api_1.types.TOOL, render: () => react_1.default.createElement(Tools_js_1.Tools, { controller }), }); await controller.initAll(); const browsers = controller.getBrowsers(); browsers.forEach((browser) => { const panelId = `${controller_js_1.ADDON_ID}/panel/${browser}`; const title = controller.getTabTitle(browser); manager_api_1.addons.add(panelId, { title, type: manager_api_1.types.PANEL, paramKey: browser, // NOTE key = PANEL_ID needs to correct render button in addons panel render: ({ active }) => react_1.default.createElement(Addon_js_1.Addon, { active, controller, browser, }), }); }); } //# sourceMappingURL=manager.js.map