@sveltestrap/sveltestrap
Version:
Bootstrap components for Svelte
246 lines (212 loc) • 5.21 kB
text/mdx
import { Meta, Canvas, Controls, Story, Source } from '@storybook/blocks';
import * as NavStories from './Nav.stories';
<Meta title="Components/Nav" />
# Nav <small class="bootstrap-docs">[Bootstrap Nav](https://getbootstrap.com/docs/5.3/components/navs-tabs/)</small>
The `<Nav>` component is a responsive navigation component that can be customized to appear as tabs, links, pills, and more.
<Canvas>
<Story of={NavStories.Basic} />
</Canvas>
<Controls of={NavStories.Basic} />
## Tabs
<Canvas withSource="none">
<Story of={NavStories.Tabs} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import {
Nav,
NavItem,
Dropdown,
DropdownItem,
DropdownToggle,
DropdownMenu,
NavLink
} from '@sveltestrap/sveltestrap';
let isOpen = false;
</script>
<Nav tabs>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<Dropdown nav {isOpen} toggle={() => (isOpen = !isOpen)}>
<DropdownToggle nav caret>Dropdown</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Header</DropdownItem>
<DropdownItem disabled>Action</DropdownItem>
<DropdownItem>Another Action</DropdownItem>
<DropdownItem divider />
<DropdownItem>Another Action</DropdownItem>
</DropdownMenu>
</Dropdown>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
`} />
## Pills
<Canvas withSource="none">
<Story of={NavStories.Pills} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import {
Nav,
NavItem,
Dropdown,
DropdownItem,
DropdownToggle,
DropdownMenu,
NavLink
} from '@sveltestrap/sveltestrap';
let isOpen = false;
</script>
<Nav pills>
<NavItem>
<NavLink href="#" active>Link</NavLink>
</NavItem>
<Dropdown nav {isOpen} toggle={() => (isOpen = !isOpen)}>
<DropdownToggle nav caret>Dropdown</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Header</DropdownItem>
<DropdownItem disabled>Action</DropdownItem>
<DropdownItem>Another Action</DropdownItem>
<DropdownItem divider />
<DropdownItem>Another Action</DropdownItem>
</DropdownMenu>
</Dropdown>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
`} />
## Underline
<Canvas withSource="none">
<Story of={NavStories.Underline} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import {
Nav,
NavItem,
Dropdown,
DropdownItem,
DropdownToggle,
DropdownMenu,
NavLink
} from '@sveltestrap/sveltestrap';
let isOpen = false;
</script>
<Nav underline>
<NavItem>
<NavLink href="#" active>Link</NavLink>
</NavItem>
<Dropdown nav {isOpen} toggle={() => (isOpen = !isOpen)}>
<DropdownToggle nav caret>Dropdown</DropdownToggle>
<DropdownMenu>
<DropdownItem header>Header</DropdownItem>
<DropdownItem disabled>Action</DropdownItem>
<DropdownItem>Another Action</DropdownItem>
<DropdownItem divider />
<DropdownItem>Another Action</DropdownItem>
</DropdownMenu>
</Dropdown>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
`} />
## Vertical
<Canvas withSource="none">
<Story of={NavStories.Vertical} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import {
Nav,
NavItem,
NavLink
} from '@sveltestrap/sveltestrap';
</script>
<p>List Based</p>
<Nav vertical>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
<hr />
<p>Link based</p>
<Nav vertical>
<NavLink href="#">Link</NavLink>
<NavLink href="#">Link</NavLink>
<NavLink href="#">Another Link</NavLink>
<NavLink disabled href="#">Disabled Link</NavLink>
</Nav>
`} />
## Theming
<Canvas withSource="none">
<Story of={NavStories.Theming} />
</Canvas>
<Source dark language="html" code={`
<script lang="ts">
import {
Nav,
NavItem,
NavLink
} from '@sveltestrap/sveltestrap';
</script>
<Nav theme="dark">
<NavItem active>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
<Nav theme="light">
<NavItem active>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Link</NavLink>
</NavItem>
<NavItem>
<NavLink href="#">Another Link</NavLink>
</NavItem>
<NavItem>
<NavLink disabled href="#">Disabled Link</NavLink>
</NavItem>
</Nav>
`} />