fabien0102/gatsby-starter

View on GitHub
generators/templates/component-stories-tsx.template

Summary

Maintainability
Test Coverage
import * as React from "react";
import { storiesOf } from "@storybook/react";
import { action } from "@storybook/addon-actions";
import {{pascalCase name}} from "./{{pascalCase name}}";

/* tslint:disable no-var-requires */
const withReadme = (require("storybook-readme/with-readme") as any).default;
const {{pascalCase name}}Readme = require("./README.md");

storiesOf("{{pascalCase name}}", module)
  .addDecorator(withReadme({{pascalCase name}}Readme))
  {{#if haveRequiredProps}}
  .add("default", () => {
    {{#each props}}
    {{#if required}}
    const {{name}}: {{{type}}} = null; // TODO assign real value
    {{/if}}
    {{/each}}

    return (
      <{{pascalCase name}}{{#each props}}{{#if required}} {{name}}={{propsHelper name}}{{/if}}{{/each}} />
    );
  });
  {{else}}
  .add("default", () => (
    <{{pascalCase name}} />
  ));
  {{/if}}