UNPKG

wix-storybook-utils

Version:

Utilities for automated component documentation within Storybook

33 lines 2.18 kB
import * as React from 'react'; import Markdown from '../Markdown'; import { FieldsDocumentation } from './fields-documentation'; import { Code } from '../Sections/views/import-example/Code'; import { flatten } from './flatten'; import { makeImportCode } from './make-import-code'; var extractNested = function (descriptors) { return descriptors.reduce(function (acc, descriptor) { descriptor.type === 'object' ? acc.nested.push(descriptor) : acc.flat.push(descriptor); return acc; }, { flat: [], nested: [] }); }; export var DriverDocumentation = function (_a) { var dataHook = _a.dataHook, descriptor = _a.descriptor, metadata = _a.metadata, testkitConfig = _a.testkitConfig, title = _a.title, unidriver = _a.unidriver, hideImport = _a.hideImport; var _b = extractNested(descriptor), nested = _b.nested, flat = _b.flat; return (React.createElement("div", { "data-hook": dataHook }, React.createElement("h2", { "data-hook": "auto-testkit-driver-name" }, title), testkitConfig && !hideImport && (React.createElement(Code, { dataHook: "auto-testkit-driver-import-code" }, makeImportCode({ testkit: testkitConfig, metadata: metadata }))), unidriver && (React.createElement(Markdown, { source: "> **NOTE**: All UniDriver methods are asynchronous, use them with `async`/`await`!" })), flat.length > 0 && (React.createElement("div", { "data-hook": "auto-testkit-driver-descriptor" }, React.createElement(FieldsDocumentation, { units: flat }))), nested.length > 0 && (React.createElement("div", null, React.createElement("h4", null, "This Testkit has nested API"), nested.map(function (_a) { var name = _a.name, props = _a.props; return (React.createElement("div", { key: props, "data-hook": "auto-testkit-driver-descriptor" }, React.createElement(Markdown, { source: "Access these methods through `".concat(name, "` namespace ") }), React.createElement(FieldsDocumentation, { units: flatten(props, name) }))); }))))); }; //# sourceMappingURL=driver-documentation.js.map