import React, { useState } from 'react'; import { PropTypes } from 'prop-types'; import { Button } from '@storybook/react/demo'; import { addons } from '@storybook/addons'; import { useAddonState, useGlobalArgs } from '@storybook/api'; import { themes } from '@storybook/theming'; import { AddonPanel } from '@storybook/components'; import logo from './logo.svg'; addons.setConfig({ theme: { brandImage: logo, brandTitle: 'Custom - Storybook', ...themes.dark, appContentBg: 'white', }, panelPosition: 'bottom', selectedPanel: 'storybook/roundtrip', }); const StatePanel = ({ active, key }) => { const [managerState, setManagerState] = useAddonState('manager', 10); const [previewState, setPreviewState] = useAddonState('preview'); return (
Manager counter: {managerState}

Preview counter: {previewState}
); }; StatePanel.propTypes = { active: PropTypes.bool.isRequired, key: PropTypes.string.isRequired, }; addons.addPanel('useAddonState', { id: 'useAddonState', title: 'useAddonState', render: StatePanel, }); const GlobalArgsPanel = ({ active, key }) => { const [globalArgs, updateGlobalArgs] = useGlobalArgs(); const [globalArgsInput, updateGlobalArgsInput] = useState(JSON.stringify(globalArgs)); return (

Global Args

{ e.preventDefault(); updateGlobalArgs(JSON.parse(globalArgsInput)); }} >