UNPKG

@sveltestrap/sveltestrap

Version:

Bootstrap components for Svelte

246 lines (212 loc) 5.21 kB
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> `} />