UNPKG

@sveltestrap/sveltestrap

Version:

Bootstrap components for Svelte

216 lines (189 loc) 5.67 kB
import { Meta, Canvas, Controls, Story, Source } from '@storybook/blocks'; import * as TabsStories from './Tabs.stories'; <Meta title="Components/Tabs" /> # Tabs <small class="bootstrap-docs">[Bootstrap Tabs](https://getbootstrap.com/docs/5.3/components/navs-tabs/#javascript-behavior)</small> `Tabs` are a user interface design pattern that organizes content into distinct sections, allowing users to navigate between them seamlessly <Canvas withSource="none"> <Story of={TabsStories.Basic} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { TabContent, TabPane } from '@sveltestrap/sveltestrap'; </script> <TabContent> <TabPane tabId="alpha" tab="Alpha" active> <h2 class="text-content">Alpha</h2> <img alt="Alpha Flight" src="https://upload.wikimedia.org/wikipedia/en/4/49/Alpha_Flight_cast_picture_%28John_Byrne_era%29.gif" /> </TabPane> <TabPane tabId="bravo" tab="Bravo"> <h2 class="text-content">Bravo</h2> <img alt="Johnny Bravo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Johnny_Bravo_series_logo.png/320px-Johnny_Bravo_series_logo.png" /> </TabPane> <TabPane tabId="charlie" tab="Charlie"> <h2 class="text-content">Charlie</h2> <img alt="Charlie Brown" src="https://upload.wikimedia.org/wikipedia/en/2/22/Charlie_Brown.png" /> </TabPane> </TabContent> `} /> ## Pills <Canvas withSource="none"> <Story of={TabsStories.Pills} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { TabContent, TabPane } from '@sveltestrap/sveltestrap'; </script> <TabContent pills"> <TabPane tabId="alpha" tab="Alpha" active> <img alt="Alpha Flight" src="https://upload.wikimedia.org/wikipedia/en/4/49/Alpha_Flight_cast_picture_%28John_Byrne_era%29.gif" /> </TabPane> <TabPane tabId="bravo" tab="Bravo"> <img alt="Johnny Bravo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Johnny_Bravo_series_logo.png/320px-Johnny_Bravo_series_logo.png" /> </TabPane> <TabPane tabId="charlie" tab="Charlie"> <img alt="Charlie Brown" src="https://upload.wikimedia.org/wikipedia/en/2/22/Charlie_Brown.png" /> </TabPane> </TabContent> `} /> ## Disabled <Canvas withSource="none"> <Story of={TabsStories.Disabled} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { TabContent, TabPane } from '@sveltestrap/sveltestrap'; </script> <TabContent pills"> <TabPane tabId="alpha" tab="Alpha" active> <img alt="Alpha Flight" src="https://upload.wikimedia.org/wikipedia/en/4/49/Alpha_Flight_cast_picture_%28John_Byrne_era%29.gif" /> </TabPane> <TabPane tabId="bravo" tab="Bravo"> <img alt="Johnny Bravo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Johnny_Bravo_series_logo.png/320px-Johnny_Bravo_series_logo.png" /> </TabPane> <TabPane tabId="charlie" tab="Charlie" disabled> <img alt="Charlie Brown" src="https://upload.wikimedia.org/wikipedia/en/2/22/Charlie_Brown.png" /> </TabPane> </TabContent> `} /> ## Slots <Canvas withSource="none"> <Story of={TabsStories.Slots} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { Icon, TabContent, TabPane } from '@sveltestrap/sveltestrap'; </script> <TabContent> <TabPane tabId="alpha" active> <span slot="tab"> Alpha <Icon name="gear" /> </span> <img alt="Alpha Flight" src="https://upload.wikimedia.org/wikipedia/en/4/49/Alpha_Flight_cast_picture_%28John_Byrne_era%29.gif" /> </TabPane> <TabPane tabId="bravo"> <span slot="tab"> Bravo <Icon name="hand-thumbs-up" /> </span> <img alt="Johnny Bravo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Johnny_Bravo_series_logo.png/320px-Johnny_Bravo_series_logo.png" /> </TabPane> <TabPane tabId="charlie"> <span slot="tab"> Charlie <Icon name="alarm" /> </span> <img alt="Charlie Brown" src="https://upload.wikimedia.org/wikipedia/en/2/22/Charlie_Brown.png" /> </TabPane> </TabContent> `} /> ## Vertical <Canvas withSource="none"> <Story of={TabsStories.Vertical} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { TabContent, TabPane } from '@sveltestrap/sveltestrap'; </script> <TabContent vertical pills> <TabPane tabId="alpha" tab="Alpha" active> <h2>Alpha</h2> <img alt="Alpha Flight" src="https://upload.wikimedia.org/wikipedia/en/4/49/Alpha_Flight_cast_picture_%28John_Byrne_era%29.gif" /> </TabPane> <TabPane tabId="bravo" tab="Bravo"> <h2>Bravo</h2> <img alt="Johnny Bravo" src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Johnny_Bravo_series_logo.png/320px-Johnny_Bravo_series_logo.png" /> </TabPane> <TabPane tabId="charlie" tab="Charlie"> <h2>Charlie</h2> <img alt="Charlie Brown" src="https://upload.wikimedia.org/wikipedia/en/2/22/Charlie_Brown.png" /> </TabPane> </TabContent> `} /> ## Events <Canvas withSource="none"> <Story of={TabsStories.Events} /> </Canvas> <Source dark language="html" code={` <script lang="ts"> import { TabContent, TabPane } from '@sveltestrap/sveltestrap'; let status = 'alpha'; </script> <h5>Current state: {status}</h5> <TabContent on:tab={(e) => (status = e.detail)}> <TabPane tabId="alpha" tab="Alpha" active> <h2>Alpha</h2> </TabPane> <TabPane tabId="bravo" tab="Bravo"> <h2>Bravo</h2> </TabPane> <TabPane tabId="charlie" tab="Charlie"> <h2>Charlie</h2> </TabPane> </TabContent> `} />