react-cosmos-wrapper-proxy

1.6.0 • Public • Published

react-cosmos-wrapper-proxy

Easily wrap components using react-cosmos

Supports both Wrapper Components and HOCs (Higher Order Components)

Examples

Wrapper

Using Material-UI

// cosmos.proxies.js
import createWrapperProxy from 'react-cosmos-wrapper-proxy';
import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';
import purple from '@material-ui/core/colors/purple';
 
const muiProxy = createWrapperProxy({
  // Required
  component: MuiThemeProvider, // The wrapper component
  fixtureKey: 'mui', // Key
 
  // Optional
  defaultEnabled: true, // enable by default in every fixture
  // Props to pass to the wrapper component
  // Note: can be passed from the fixture as well
  props: {
    theme: createMuiTheme({
      palette: {
        primary: purple,
      },
    }),
    someOtherProp: 'hello',
  },
});
 
export default [muiProxy];
// __fixtures__/example.js
export default {
  component: MyComponent,
  // Pass an object of props or `true` to enable the proxy
  mui: true,
  // Or if `defaultEnabled` is set, selectively disable it
  mui: false,
};

HOC

Using Redux-Form

// cosmos.proxies.js
import createWrapperProxy from 'react-cosmos-wrapper-proxy';
import { reduxForm } from 'redux-form';
 
const reduxFormProxy = createWrapperProxy({
  // Required
  component: reduxForm, // The wrapper function
  hoc: true, // Differentiate it from a simple wrapper
  fixtureKey: 'rf', // Key
});
 
export default [reduxFormProxy];
// __fixtures__/example.js
export default {
  component: MyComponent,
  // If HOC looks like myHoc(arg1, arg2)(Component)
  // Then pass an array of arguments
  rf: [
    {
      form: 'formName',
    },
  ],
  // If the HOC is simply myHoc(Component)
  // Then just pass true
  rf: true,
};

Contributions are more than welcome! 🍻

Readme

Keywords

none

Package Sidebar

Install

npm i react-cosmos-wrapper-proxy

Weekly Downloads

76

Version

1.6.0

License

MIT

Unpacked Size

226 kB

Total Files

14

Last publish

Collaborators

  • jozsi