docs: add Tabs docs
This commit is contained in:
parent
ff5f9c72ec
commit
5f1ffd6646
@ -30,6 +30,9 @@ import ComponentsDialog, {
|
||||
import ComponentsDrawer, {
|
||||
tableOfContents as componentsDrawerToc,
|
||||
} from "./docs/components/Drawer.mdx";
|
||||
import ComponentsTabs, {
|
||||
tableOfContents as componentsTabsToc,
|
||||
} from "./docs/components/Tabs.mdx";
|
||||
|
||||
import { ForwardedRef, forwardRef, useContext, useEffect, useRef } from "react";
|
||||
import { HeadingContext } from "./HeadingContext";
|
||||
@ -171,6 +174,14 @@ const router = createBrowserRouter(
|
||||
</DynamicLayout>
|
||||
}
|
||||
/>
|
||||
<Route
|
||||
path="tabs"
|
||||
element={
|
||||
<DynamicLayout toc={componentsTabsToc}>
|
||||
<ComponentsTabs components={overrideComponents} />
|
||||
</DynamicLayout>
|
||||
}
|
||||
/>
|
||||
</Route>
|
||||
</Route>
|
||||
</Route>
|
||||
|
@ -49,6 +49,11 @@ export default {
|
||||
path: "/docs/components/drawer",
|
||||
name: "Drawer",
|
||||
eq: (pathname: string) => pathname === "/docs/components/drawer"
|
||||
},
|
||||
{
|
||||
path: "/docs/components/tabs",
|
||||
name: "Tabs",
|
||||
eq: (pathname: string) => pathname === "/docs/components/tabs"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
30
packages/react/src/docs/components/Tabs.mdx
Normal file
30
packages/react/src/docs/components/Tabs.mdx
Normal file
@ -0,0 +1,30 @@
|
||||
import { Button } from "@components/Button";
|
||||
import { TabProvider, TabTrigger, TabContent, TabList } from "@components/Tabs";
|
||||
import { Story } from "@/components/Story";
|
||||
import { LoadedCode, GITHUB } from "@/components/LoadedCode";
|
||||
import { TabsDemo } from "./TabsBlocks/Preview";
|
||||
|
||||
# Tabs
|
||||
Organizes content into multiple sections with tabbed navigation.
|
||||
|
||||
<TabProvider defaultName="preview">
|
||||
<TabList>
|
||||
<TabTrigger name="preview">Preview</TabTrigger>
|
||||
<TabTrigger name="code">Code</TabTrigger>
|
||||
</TabList>
|
||||
<TabContent name="preview">
|
||||
<Story layout="centered" className="flex-col [&>*]:w-full">
|
||||
<TabsDemo />
|
||||
</Story>
|
||||
</TabContent>
|
||||
<TabContent name="code">
|
||||
<LoadedCode from={`${GITHUB}/packages/react/src/docs/components/TabsBlocks/Preview.tsx`} />
|
||||
</TabContent>
|
||||
</TabProvider>
|
||||
|
||||
## Installation
|
||||
|
||||
1. Create a new file `Tabs.tsx` in your component folder.
|
||||
2. Copy and paste the following code into the file.
|
||||
|
||||
<LoadedCode from={`${GITHUB}/packages/react/components/Tabs.tsx`} />
|
18
packages/react/src/docs/components/TabsBlocks/Preview.tsx
Normal file
18
packages/react/src/docs/components/TabsBlocks/Preview.tsx
Normal file
@ -0,0 +1,18 @@
|
||||
import { TabProvider, TabTrigger, TabContent, TabList } from "@components/Tabs";
|
||||
|
||||
export function TabsDemo() {
|
||||
return (
|
||||
<TabProvider defaultName="tab1">
|
||||
<TabList>
|
||||
<TabTrigger name="tab1">Tab 1</TabTrigger>
|
||||
<TabTrigger name="tab2">Tab 2</TabTrigger>
|
||||
</TabList>
|
||||
<TabContent name="tab1">
|
||||
<div className="w-full text-center">Tab 1 Content</div>
|
||||
</TabContent>
|
||||
<TabContent name="tab2">
|
||||
<div className="w-full text-center">Tab 2 Content</div>
|
||||
</TabContent>
|
||||
</TabProvider>
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user