// @flow import * as React from 'react'; import { ThemeProvider } from 'styled-components'; import { boolean, color } from '@storybook/addon-knobs'; import noop from 'lodash/noop'; // eslint-disable-next-line import/named import { createTheme } from '../../utils/createTheme'; import CollapsibleSidebar from './CollapsibleSidebar'; import CollapsibleSidebarLogo from './CollapsibleSidebarLogo'; import CollapsibleSidebarFooter from './CollapsibleSidebarFooter'; import CollapsibleSidebarNav from './CollapsibleSidebarNav'; import CollapsibleSidebarItem from './CollapsibleSidebarItem'; import CollapsibleSidebarMenuItem from './CollapsibleSidebarMenuItem'; import notes from './CollapsibleSidebar.stories.md'; import Link from '../../components/link/Link'; import IconPlusRound from '../../icons/general/IconPlusRound'; import { BetaBadge, TrialBadge } from '../../components/badge'; import Folder16 from '../../icon/fill/Folder16'; import ClockBadge16 from '../../icon/fill/ClockBadge16'; import Code16 from '../../icon/fill/Code16'; import Trash16 from '../../icon/fill/Trash16'; import FileDefault16 from '../../icon/fill/FileDefault16'; import CheckmarkBadge16 from '../../icon/fill/CheckmarkBadge16'; const renderFiles = () => { const items = []; for (let i = 0; i < 5; i += 1) { items.push(
  • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } text={`File ${i}`} /> } tooltipMessage="File Link" />
  • , ); } return items; }; export const basic = () => { const hexColor = color('Theme Color', '#0061d5'); const theme = createTheme(hexColor); const linkProps = { href: '/?path=/story/components-tooltip--top-center', 'data-resin-target': 'resinTarget', }; const menuItemContent = ( <> ); return (
    • } linkClassName="is-currentPage" /> } expanded={boolean('isExpanded', true)} expandedElement={ } linkClassName="is-currentPage" text="All Files" /> } tooltipMessage="All Files Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } text="Recents" /> } tooltipMessage="Recents Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } text="Really really long synced link name synced Link" /> } tooltipMessage="Synced Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } text="Really really long trash link name Trash Link" /> } tooltipMessage="Trash Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } overflowAction={ } text="Overflow" /> } tooltipMessage="Overflow Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } overflowAction={ } text="Really really long overflow action name Overflow" /> } tooltipMessage="Overflow Long Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } overflowAction={ } showOverflowAction="hover" text="Overflow Hover" /> } tooltipMessage="Overflow Hover Link" />
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } overflowAction={ } showOverflowAction="hover" text="Really really long overflow action name Overflow Hover" /> } tooltipMessage="Overflow Hover Long Link" />
    • {renderFiles()}
    • } /> } expanded={boolean('isExpanded', true)} expandedElement={ } text="Developer Console super duper long" /> } tooltipMessage="Developer Console Link supder duper long" />
    ); }; basic.story = { name: 'Basic Usage', }; export default { title: 'Features|CollapsibleSidebar', component: CollapsibleSidebar, parameters: { notes, }, };