import { Meta, Story, ArgsTable, Canvas } from '@storybook/addon-docs/blocks';
import { getKnobs } from '../../../../../tools/knobsHelper';
import { TableContentFromObject, FormOutput } from '../../../../../tools/docTools';
import HeaderNavigationBar from '../HeaderNavigationBar';
import { headerNavigationBarDataMock, headerNavigationBarDataMockWithSearchBar } from '../../../../../../mocks/components/header';
import { headerNavigationBarSchemaForm } from '../../../../../constants/components/schemas/header';

export const settingsDocs = {};

<Meta
    title="Global Components/Header/Atoms/Header Navigation Bar"
    component={HeaderNavigationBar}
    parameters={{
        layout: 'fullscreen'
    }}
/>

# HeaderNavigationBar
<br />

## `HeaderNavigationBar` are used as the navigation in the header.
<br />

### Default
<Canvas>
    <Story name="Default">
        <HeaderNavigationBar
            data={headerNavigationBarDataMock}
            settings={getKnobs(headerNavigationBarSchemaForm)}
        />
    </Story>
</Canvas>

### With category menu
<Canvas>
    <Story name="With category menu">
        <HeaderNavigationBar
            data={headerNavigationBarDataMock}
            settings={getKnobs(headerNavigationBarSchemaForm)}
        />
    </Story>
</Canvas>

### With search bar
<Canvas>
    <Story name="With Search Bar">
        <HeaderNavigationBar
            data={headerNavigationBarDataMockWithSearchBar}
            settings={getKnobs(headerNavigationBarSchemaForm)}
        />
    </Story>
</Canvas>


## Usage Example
```jsx
import HeaderNavigationBar from
    '@appdirect/sfb-theme-components/src/components/header/atoms/header-navigation-bar/HeaderNavigationBar';

<HeaderNavigationBar />
```

## Props
<ArgsTable of={HeaderNavigationBar} />

## Schema
### Form Settings
<table>
    <TableContentFromObject obj={settingsDocs} />
</table>

### Form Output
<FormOutput code={HeaderNavigationBar.schema().form} />
