import { ActionsGear, DescriptiveClock } from '@repay/cactus-icons' import React from 'react' import styled from 'styled-components' import { ActionBar, Box, BrandBar, Breadcrumb, Flex, Footer, Header, Layout, Link, MenuBar, MenuButton, Modal, Select, SplitButton, TextInputField, ToggleField, useLayout, } from '../' import { actions, ActionWrap, Story, STRING } from '../helpers/storybook' import { Position } from './grid' type ClickArg = { onClick: ActionWrap } interface BrandArgs extends ClickArg { isProfilePage: boolean userMenuTitle: string } interface LayoutArgs extends BrandArgs { showBrandBar: boolean showMenu: boolean showActionBar: boolean showFooter: boolean footerText: string } const LOGO = 'https://repay-merchant-resources.s3.amazonaws.com/staging/24bd1970-a677-4ca7-a4d2-e328ddd4691b/repay_logo_new.jpg' export default { title: 'Layout', component: Layout, argTypes: actions({ name: 'onClick', wrapper: true }), } as const const StoryBrandBar = ({ onClick, isProfilePage, userMenuTitle }: BrandArgs) => ( Settings Logout ) const StoryMenuBar = ({ onClick }: ClickArg) => ( The Other Day I saw A Bear A Great Big Bear A Way Up There He Looked At Me I Looked At Him He Sized Me Up I Sized Up Him Ichi Ni San Shi Go Roku Shichi Haku Kyuu Juu Juu-Ichi Juu-Ni Brown Bear Polar Bear Giant Panda Sun Bear He Said to Me Why Don't You Run I See You Ain't Got Any Gun And So I Ran Away From There And Right Behind Me Was That Bear ) const StoryActionBar = ({ onClick }: ClickArg) => ( } onClick={() => alert(`It is now ${new Date()}.`)} /> } popupType="dialog" aria-label="Settings"> Action One Action Two

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas augue ex, dignissim sed fringilla nec, tincidunt fermentum libero. Mauris ut enim ornare, euismod nibh at, ultricies massa. Ut erat diam, sodales non porta eu, dictum ut neque. Curabitur non justo sed ligula ultricies dapibus. Nulla quis ante nisi. Praesent fermentum iaculis convallis. Mauris ac quam eu turpis volutpat viverra nec ac ligula. Vivamus efficitur dolor quis magna suscipit, eu congue ipsum posuere. Vestibulum ultrices, diam nec rhoncus porttitor, neque nibh euismod mauris, quis posuere mi turpis ac lorem. Ut sodales sodales elit a semper.

Mauris eu felis fringilla tortor scelerisque tincidunt et quis risus. Proin dui arcu, tincidunt nec rhoncus eu, blandit ut odio. Donec ac tristique felis. Morbi vel urna commodo, efficitur orci in, condimentum augue. Morbi neque felis, consequat sit amet mi eget, imperdiet consectetur augue. Sed dignissim congue ex at vestibulum. Etiam rutrum, mauris rutrum maximus congue, lectus sem molestie est, eget gravida orci ligula tempus dolor.

Curabitur in justo massa. Pellentesque vitae tortor ligula. Morbi vulputate tortor ut dapibus imperdiet. In hac habitasse platea dictumst. Vivamus ornare auctor est, vel aliquet velit scelerisque ac. Mauris sit amet magna vitae dolor volutpat mattis ut et nibh. Donec eu suscipit turpis. Aliquam suscipit massa sed turpis vestibulum faucibus. Maecenas in lectus quis justo auctor euismod vel ut orci. Nunc cursus sit amet quam non dignissim. Nullam in egestas lectus, ut porta leo. Suspendisse sit amet nisi magna. Vestibulum eget porttitor orci. Duis nec elit posuere, condimentum orci in, eleifend quam. Morbi eget tortor a orci finibus vulputate eu id felis.

{showFooter && } ) } BasicUsage.argTypes = { menuVariant: { options: ['light', 'dark'] } } BasicUsage.args = { showBrandBar: true, showMenu: true, showActionBar: true, showFooter: true, isProfilePage: false, userMenuTitle: 'Hershell Jewess', footerText: 'How will you REPAY us?', } BasicUsage.parameters = { cactus: { overrides: { display: 'block', position: 'static', width: '100%', height: '100%' } }, } const SuperWideHeader = styled(Header)` min-width: 2000px; ` export const ShortContent: Story = ({ showBrandBar, showMenu, showActionBar, showMainScrollbar, showFooter, footerText, onClick, ...bbArgs }): React.ReactElement => { return ( {showBrandBar && } {showMenu && } {showActionBar && } Test Hi Latin Or Something {showFooter && } ) } ShortContent.args = { ...BasicUsage.args, showMainScrollbar: true, } ShortContent.parameters = { cactus: { overrides: { display: 'block', position: 'static', width: '100%', height: '100%' }, }, } interface GridProps { role: string order?: number bg: string style?: React.HTMLAttributes['style'] } const SIDEWAYS = { writingMode: 'vertical-rl' } as const const GridItem = ({ role, order, bg, style, ...position }: GridProps & Position) => { const layoutClass = useLayout(role, position, order) const color = `hsl(${bg}, 30%, 70%)` return ( {role} ) } export const CustomGrid: Story<{ height: string }> = ({ height }) => ( ) CustomGrid.argTypes = { height: STRING }