import { boolean } from '@storybook/addon-knobs' import { ButtonStoryblok, GlobalStoryblok, HeadlineStoryblok, PageStoryblok, SnackbarStoryblok, ToolbarRowSectionStoryblok, ToolbarRowStoryblok } from '../typings/generated/components-schema' import { darkSectionWithColumns, get3ColumnsSection } from '../storybook/section' import { simpleSettings } from '../storybook/toolbar' import Layout from '../components/layout/Layout' import { storyListSearchAutocomplete, storyToolbarLogo, storyToolbarRow, storyToolbarSection } from '../storybook/layout/toolbar' import { storyButton, storyHeadline, storyMenu, storyMenuItem, storyParagraph } from '../storybook/core/various' import { CONFIG_STORYBOOK } from '../storybook/components/configStorybook' import AppSetupProvider from '../components/provider/AppSetupProvider' import { toggleRightNavigationSelector, useNavigationStore } from '../utils/state/navigationState' import SettingsPageProvider from '../components/provider/SettingsPageProvider' import { LmPage } from '../components/page/Page' import getBasicSettings from '../storybook/components/basicSettings' import GlobalTheme from '../components/global-theme/GlobalTheme' // eslint-disable-next-line import/no-anonymous-default-export export default { title: 'Design/Layout/Page' } const getPropsDrawer = (): PageStoryblok => ({ _uid: '123', component: 'page', uuid: '231231', property: [], body: [ get3ColumnsSection({ count: 1, knob: 'Body Section 1' }), get3ColumnsSection({ count: 2, knob: 'Body Section 1' }) ], right_body: [ storyHeadline({ count: 1, knob: 'Right Drawer' }), storyHeadline({ count: 2, knob: 'Right Drawer' }), storyParagraph({ knob: 'Right Drawer' }) ] }) const getToolbarSettings = () => { return [ { ...storyToolbarRow({ options: { is_system_bar: true, background_color: { rgba: 'rgba(0,0,0,0.3)' } }, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), body: [ { ...storyToolbarSection({ knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), body: [ storyButton({ count: 1, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), storyButton({ count: 2, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), storyButton({ count: 3, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), { ...storyMenu({ knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), body: [ storyMenuItem({ count: 1, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), storyMenuItem({ count: 2, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }), storyMenuItem({ count: 3, knob: CONFIG_STORYBOOK.KNOBS.SYSTEM_BAR }) ] } ] } ] as ToolbarRowSectionStoryblok[] }, { ...storyToolbarRow({ knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), body: [ { ...storyToolbarSection({ count: 1, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), body: [storyToolbarLogo()] }, { ...storyToolbarSection({ count: 2, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), body: [ storyButton({ count: 1, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), storyButton({ count: 2, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), storyButton({ count: 3, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), { ...storyMenu({ knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), body: [ storyMenuItem({ count: 1, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), storyMenuItem({ count: 2, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }), storyMenuItem({ count: 3, knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }) ] }, storyListSearchAutocomplete({ knob: CONFIG_STORYBOOK.KNOBS.TOOLBAR_ROW }) ] } ] as ToolbarRowSectionStoryblok[] } ] as ToolbarRowStoryblok[] } export const Basic = () => ( ) export const WithDrawer = () => { const toggleRightNavigation = useNavigationStore( toggleRightNavigationSelector ) return ( <> ) } export const Playground = () => { const show = boolean('Show System Bar', true, 'System Bar') const customSettingsSystemBar: GlobalStoryblok = { ...simpleSettings, multi_toolbar: getToolbarSettings(), footer: [darkSectionWithColumns] } if (!show) { customSettingsSystemBar.multi_toolbar && customSettingsSystemBar.multi_toolbar.shift() } const playgroundSettings = { ...getBasicSettings(), multi_toolbar: customSettingsSystemBar.multi_toolbar, footer: customSettingsSystemBar.footer, toolbar_main_height: 70, toolbar_color: { rgba: '#669966' }, toolbar_config: ['fixed'], snackbars: [ { component: 'snackbar', _uid: '12312', width: '98%', descriptions: [ { text: 'Hey we are using cookies!!', typography: 'body1', _uid: 'dsfdfs', component: 'headline' } as HeadlineStoryblok, { text: 'As you can see...', typography: 'body2', _uid: '321', component: 'headline' } as HeadlineStoryblok ], close_action: [ { label: 'I understand!', component: 'button', _uid: '12313' } as ButtonStoryblok ] } as SnackbarStoryblok ] } as GlobalStoryblok return ( ) }