docs: add Tabs docs
This commit is contained in:
parent
ff5f9c72ec
commit
5f1ffd6646
@ -30,6 +30,9 @@ import ComponentsDialog, {
|
|||||||
import ComponentsDrawer, {
|
import ComponentsDrawer, {
|
||||||
tableOfContents as componentsDrawerToc,
|
tableOfContents as componentsDrawerToc,
|
||||||
} from "./docs/components/Drawer.mdx";
|
} from "./docs/components/Drawer.mdx";
|
||||||
|
import ComponentsTabs, {
|
||||||
|
tableOfContents as componentsTabsToc,
|
||||||
|
} from "./docs/components/Tabs.mdx";
|
||||||
|
|
||||||
import { ForwardedRef, forwardRef, useContext, useEffect, useRef } from "react";
|
import { ForwardedRef, forwardRef, useContext, useEffect, useRef } from "react";
|
||||||
import { HeadingContext } from "./HeadingContext";
|
import { HeadingContext } from "./HeadingContext";
|
||||||
@ -171,6 +174,14 @@ const router = createBrowserRouter(
|
|||||||
</DynamicLayout>
|
</DynamicLayout>
|
||||||
}
|
}
|
||||||
/>
|
/>
|
||||||
|
<Route
|
||||||
|
path="tabs"
|
||||||
|
element={
|
||||||
|
<DynamicLayout toc={componentsTabsToc}>
|
||||||
|
<ComponentsTabs components={overrideComponents} />
|
||||||
|
</DynamicLayout>
|
||||||
|
}
|
||||||
|
/>
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
|
@ -49,6 +49,11 @@ export default {
|
|||||||
path: "/docs/components/drawer",
|
path: "/docs/components/drawer",
|
||||||
name: "Drawer",
|
name: "Drawer",
|
||||||
eq: (pathname: string) => pathname === "/docs/components/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