// @flow import * as React from 'react'; import { IntlProvider } from 'react-intl'; import { State, Store } from '@sambego/storybook-state'; import { boolean } from '@storybook/addon-knobs'; import Button from '../../../components/button/Button'; import Flyout from '../../../components/flyout/Flyout'; import Overlay from '../../../components/flyout/Overlay'; import SharedLink from '../SharedLink'; import notes from './SharedLink.stories.md'; export const basic = () => { const componentStore = new Store({ accessLevel: 'peopleInYourCompany', submitting: false, }); const fakeRequest = () => { componentStore.set({ submitting: true }); return new Promise(resolve => { setTimeout(() => { componentStore.set({ submitting: false }); resolve(); }, 500); }); }; return ( {state => ( fakeRequest().then(() => componentStore.set({ accessLevel: newLevel })) } copyButtonProps={{ 'data-resin-target': 'copy' }} enterpriseName="Box" isDownloadAllowed={boolean('isDownloadAllowed', true)} isEditAllowed={boolean('isEditAllowed', true)} isPreviewAllowed={boolean('isPreviewAllowed', true)} itemType="folder" onSettingsClick={() => null} removeLink={fakeRequest} removeLinkButtonProps={{ 'data-resin-target': 'remove' }} settingsButtonProps={{ 'data-resin-target': 'settings' }} sharedLink="http://box.com/s/abcdefg" submitting={state.submitting} /> )} ); }; export default { title: 'Features|SharedLink', component: SharedLink, parameters: { notes, }, };