@neynar/ui 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.llm/accordion-content.llm.md +67 -0
- package/.llm/accordion-item.llm.md +61 -0
- package/.llm/accordion-trigger.llm.md +69 -0
- package/.llm/accordion.llm.md +88 -0
- package/.llm/alert-description.llm.md +78 -0
- package/.llm/alert-dialog-action.llm.md +51 -0
- package/.llm/alert-dialog-cancel.llm.md +48 -0
- package/.llm/alert-dialog-content.llm.md +88 -0
- package/.llm/alert-dialog-description.llm.md +53 -0
- package/.llm/alert-dialog-footer.llm.md +41 -0
- package/.llm/alert-dialog-header.llm.md +39 -0
- package/.llm/alert-dialog-overlay.llm.md +44 -0
- package/.llm/alert-dialog-portal.llm.md +41 -0
- package/.llm/alert-dialog-title.llm.md +46 -0
- package/.llm/alert-dialog-trigger.llm.md +40 -0
- package/.llm/alert-dialog.llm.md +80 -0
- package/.llm/alert-title.llm.md +48 -0
- package/.llm/alert.llm.md +92 -0
- package/.llm/aspect-ratio.llm.md +41 -0
- package/.llm/avatar-fallback.llm.md +41 -0
- package/.llm/avatar-image.llm.md +48 -0
- package/.llm/avatar.llm.md +35 -0
- package/.llm/badge.llm.md +117 -0
- package/.llm/blockquote.llm.md +55 -0
- package/.llm/body-text-large.llm.md +49 -0
- package/.llm/body-text-small.llm.md +49 -0
- package/.llm/body-text.llm.md +52 -0
- package/.llm/breadcrumb-ellipsis.llm.md +73 -0
- package/.llm/breadcrumb-item.llm.md +53 -0
- package/.llm/breadcrumb-link.llm.md +84 -0
- package/.llm/breadcrumb-list.llm.md +54 -0
- package/.llm/breadcrumb-page.llm.md +52 -0
- package/.llm/breadcrumb-separator.llm.md +60 -0
- package/.llm/breadcrumb.llm.md +110 -0
- package/.llm/button-group-separator.llm.md +53 -0
- package/.llm/button-group-text.llm.md +56 -0
- package/.llm/button-group.llm.md +81 -0
- package/.llm/button.llm.md +281 -0
- package/.llm/calendar-day-button.llm.md +57 -0
- package/.llm/calendar.llm.md +340 -0
- package/.llm/caption.llm.md +48 -0
- package/.llm/card-action.llm.md +64 -0
- package/.llm/card-content.llm.md +48 -0
- package/.llm/card-description.llm.md +46 -0
- package/.llm/card-footer.llm.md +56 -0
- package/.llm/card-header.llm.md +53 -0
- package/.llm/card-title.llm.md +43 -0
- package/.llm/card.llm.md +100 -0
- package/.llm/carousel-content.llm.md +77 -0
- package/.llm/carousel-item.llm.md +96 -0
- package/.llm/carousel-next.llm.md +95 -0
- package/.llm/carousel-previous.llm.md +95 -0
- package/.llm/carousel.llm.md +211 -0
- package/.llm/chart-config.llm.md +71 -0
- package/.llm/chart-container.llm.md +148 -0
- package/.llm/chart-legend-content.llm.md +85 -0
- package/.llm/chart-legend.llm.md +144 -0
- package/.llm/chart-style.llm.md +28 -0
- package/.llm/chart-tooltip-content.llm.md +149 -0
- package/.llm/chart-tooltip.llm.md +184 -0
- package/.llm/checkbox.llm.md +100 -0
- package/.llm/cn.llm.md +46 -0
- package/.llm/code.llm.md +45 -0
- package/.llm/collapsible-content.llm.md +109 -0
- package/.llm/collapsible-trigger.llm.md +75 -0
- package/.llm/collapsible.llm.md +109 -0
- package/.llm/combobox-option.llm.md +53 -0
- package/.llm/combobox.llm.md +208 -0
- package/.llm/command-dialog.llm.md +112 -0
- package/.llm/command-empty.llm.md +63 -0
- package/.llm/command-group.llm.md +83 -0
- package/.llm/command-input.llm.md +82 -0
- package/.llm/command-item.llm.md +97 -0
- package/.llm/command-list.llm.md +53 -0
- package/.llm/command-loading.llm.md +48 -0
- package/.llm/command-separator.llm.md +44 -0
- package/.llm/command-shortcut.llm.md +63 -0
- package/.llm/command.llm.md +147 -0
- package/.llm/container.llm.md +236 -0
- package/.llm/context-menu-checkbox-item.llm.md +97 -0
- package/.llm/context-menu-content.llm.md +91 -0
- package/.llm/context-menu-group.llm.md +61 -0
- package/.llm/context-menu-item.llm.md +94 -0
- package/.llm/context-menu-label.llm.md +60 -0
- package/.llm/context-menu-portal.llm.md +49 -0
- package/.llm/context-menu-radio-group.llm.md +66 -0
- package/.llm/context-menu-radio-item.llm.md +76 -0
- package/.llm/context-menu-separator.llm.md +51 -0
- package/.llm/context-menu-shortcut.llm.md +57 -0
- package/.llm/context-menu-sub-content.llm.md +90 -0
- package/.llm/context-menu-sub-trigger.llm.md +73 -0
- package/.llm/context-menu-sub.llm.md +61 -0
- package/.llm/context-menu-trigger.llm.md +53 -0
- package/.llm/context-menu.llm.md +103 -0
- package/.llm/date-picker.llm.md +90 -0
- package/.llm/dialog-close.llm.md +61 -0
- package/.llm/dialog-content.llm.md +128 -0
- package/.llm/dialog-description.llm.md +44 -0
- package/.llm/dialog-footer.llm.md +38 -0
- package/.llm/dialog-header.llm.md +40 -0
- package/.llm/dialog-overlay.llm.md +57 -0
- package/.llm/dialog-portal.llm.md +47 -0
- package/.llm/dialog-title.llm.md +41 -0
- package/.llm/dialog-trigger.llm.md +51 -0
- package/.llm/dialog.llm.md +113 -0
- package/.llm/drawer-close.llm.md +53 -0
- package/.llm/drawer-content.llm.md +58 -0
- package/.llm/drawer-description.llm.md +54 -0
- package/.llm/drawer-footer.llm.md +67 -0
- package/.llm/drawer-header.llm.md +60 -0
- package/.llm/drawer-overlay.llm.md +40 -0
- package/.llm/drawer-portal.llm.md +42 -0
- package/.llm/drawer-title.llm.md +51 -0
- package/.llm/drawer-trigger.llm.md +44 -0
- package/.llm/drawer.llm.md +194 -0
- package/.llm/dropdown-menu-checkbox-item.llm.md +111 -0
- package/.llm/dropdown-menu-content.llm.md +109 -0
- package/.llm/dropdown-menu-group.llm.md +38 -0
- package/.llm/dropdown-menu-item.llm.md +94 -0
- package/.llm/dropdown-menu-label.llm.md +66 -0
- package/.llm/dropdown-menu-portal.llm.md +32 -0
- package/.llm/dropdown-menu-radio-group.llm.md +73 -0
- package/.llm/dropdown-menu-radio-item.llm.md +92 -0
- package/.llm/dropdown-menu-separator.llm.md +55 -0
- package/.llm/dropdown-menu-shortcut.llm.md +74 -0
- package/.llm/dropdown-menu-sub-content.llm.md +80 -0
- package/.llm/dropdown-menu-sub-trigger.llm.md +84 -0
- package/.llm/dropdown-menu-sub.llm.md +74 -0
- package/.llm/dropdown-menu-trigger.llm.md +48 -0
- package/.llm/dropdown-menu.llm.md +120 -0
- package/.llm/empty-content.llm.md +103 -0
- package/.llm/empty-description.llm.md +70 -0
- package/.llm/empty-header.llm.md +64 -0
- package/.llm/empty-media.llm.md +81 -0
- package/.llm/empty-state.llm.md +174 -0
- package/.llm/empty-title.llm.md +54 -0
- package/.llm/empty.llm.md +158 -0
- package/.llm/field-content.llm.md +28 -0
- package/.llm/field-description.llm.md +28 -0
- package/.llm/field-error.llm.md +41 -0
- package/.llm/field-group.llm.md +84 -0
- package/.llm/field-label.llm.md +28 -0
- package/.llm/field-legend.llm.md +77 -0
- package/.llm/field-separator.llm.md +35 -0
- package/.llm/field-set.llm.md +80 -0
- package/.llm/field-title.llm.md +28 -0
- package/.llm/field.llm.md +35 -0
- package/.llm/hover-card-content.llm.md +167 -0
- package/.llm/hover-card-trigger.llm.md +65 -0
- package/.llm/hover-card.llm.md +121 -0
- package/.llm/input-group-addon.llm.md +91 -0
- package/.llm/input-group-button.llm.md +120 -0
- package/.llm/input-group-input.llm.md +145 -0
- package/.llm/input-group-text.llm.md +75 -0
- package/.llm/input-group-textarea.llm.md +157 -0
- package/.llm/input-group.llm.md +108 -0
- package/.llm/input.llm.md +319 -0
- package/.llm/item-actions.llm.md +77 -0
- package/.llm/item-content.llm.md +73 -0
- package/.llm/item-description.llm.md +61 -0
- package/.llm/item-footer.llm.md +68 -0
- package/.llm/item-group.llm.md +73 -0
- package/.llm/item-header.llm.md +66 -0
- package/.llm/item-media.llm.md +75 -0
- package/.llm/item-separator.llm.md +80 -0
- package/.llm/item-title.llm.md +59 -0
- package/.llm/item.llm.md +115 -0
- package/.llm/kbd-group.llm.md +71 -0
- package/.llm/kbd.llm.md +71 -0
- package/.llm/label.llm.md +145 -0
- package/.llm/menubar-checkbox-item.llm.md +66 -0
- package/.llm/menubar-content.llm.md +128 -0
- package/.llm/menubar-group.llm.md +40 -0
- package/.llm/menubar-item.llm.md +62 -0
- package/.llm/menubar-label.llm.md +40 -0
- package/.llm/menubar-menu.llm.md +32 -0
- package/.llm/menubar-portal.llm.md +38 -0
- package/.llm/menubar-radio-group.llm.md +39 -0
- package/.llm/menubar-radio-item.llm.md +59 -0
- package/.llm/menubar-separator.llm.md +35 -0
- package/.llm/menubar-shortcut.llm.md +37 -0
- package/.llm/menubar-sub-content.llm.md +127 -0
- package/.llm/menubar-sub-trigger.llm.md +51 -0
- package/.llm/menubar-sub.llm.md +53 -0
- package/.llm/menubar-trigger.llm.md +37 -0
- package/.llm/menubar.llm.md +115 -0
- package/.llm/navigation-menu-content.llm.md +116 -0
- package/.llm/navigation-menu-indicator.llm.md +68 -0
- package/.llm/navigation-menu-item.llm.md +62 -0
- package/.llm/navigation-menu-link.llm.md +109 -0
- package/.llm/navigation-menu-list.llm.md +52 -0
- package/.llm/navigation-menu-trigger-style.llm.md +22 -0
- package/.llm/navigation-menu-trigger.llm.md +57 -0
- package/.llm/navigation-menu-viewport.llm.md +51 -0
- package/.llm/navigation-menu.llm.md +184 -0
- package/.llm/overline.llm.md +51 -0
- package/.llm/page-title.llm.md +52 -0
- package/.llm/pagination-content.llm.md +60 -0
- package/.llm/pagination-ellipsis.llm.md +107 -0
- package/.llm/pagination-item.llm.md +59 -0
- package/.llm/pagination-link.llm.md +150 -0
- package/.llm/pagination-next.llm.md +115 -0
- package/.llm/pagination-previous.llm.md +115 -0
- package/.llm/pagination.llm.md +190 -0
- package/.llm/popover-anchor.llm.md +53 -0
- package/.llm/popover-content.llm.md +109 -0
- package/.llm/popover-trigger.llm.md +54 -0
- package/.llm/popover.llm.md +116 -0
- package/.llm/progress.llm.md +76 -0
- package/.llm/radio-group-indicator.llm.md +28 -0
- package/.llm/radio-group-item.llm.md +40 -0
- package/.llm/radio-group.llm.md +76 -0
- package/.llm/resizable-handle.llm.md +156 -0
- package/.llm/resizable-panel-group.llm.md +149 -0
- package/.llm/resizable-panel.llm.md +157 -0
- package/.llm/scroll-area-corner.llm.md +41 -0
- package/.llm/scroll-area-thumb.llm.md +39 -0
- package/.llm/scroll-area-viewport.llm.md +60 -0
- package/.llm/scroll-area.llm.md +125 -0
- package/.llm/scroll-bar.llm.md +78 -0
- package/.llm/sdk-items-registry.json +2984 -0
- package/.llm/section-title.llm.md +48 -0
- package/.llm/select-content.llm.md +139 -0
- package/.llm/select-group.llm.md +60 -0
- package/.llm/select-item.llm.md +75 -0
- package/.llm/select-label.llm.md +62 -0
- package/.llm/select-scroll-down-button.llm.md +45 -0
- package/.llm/select-scroll-up-button.llm.md +45 -0
- package/.llm/select-separator.llm.md +59 -0
- package/.llm/select-trigger.llm.md +66 -0
- package/.llm/select-value.llm.md +67 -0
- package/.llm/select.llm.md +159 -0
- package/.llm/separator.llm.md +129 -0
- package/.llm/sheet-close.llm.md +49 -0
- package/.llm/sheet-content.llm.md +115 -0
- package/.llm/sheet-description.llm.md +62 -0
- package/.llm/sheet-footer.llm.md +64 -0
- package/.llm/sheet-header.llm.md +52 -0
- package/.llm/sheet-title.llm.md +53 -0
- package/.llm/sheet-trigger.llm.md +46 -0
- package/.llm/sheet.llm.md +126 -0
- package/.llm/sidebar-content.llm.md +63 -0
- package/.llm/sidebar-footer.llm.md +50 -0
- package/.llm/sidebar-group-action.llm.md +60 -0
- package/.llm/sidebar-group-content.llm.md +64 -0
- package/.llm/sidebar-group-label.llm.md +53 -0
- package/.llm/sidebar-group.llm.md +56 -0
- package/.llm/sidebar-header.llm.md +67 -0
- package/.llm/sidebar-input.llm.md +50 -0
- package/.llm/sidebar-inset.llm.md +52 -0
- package/.llm/sidebar-menu-action.llm.md +84 -0
- package/.llm/sidebar-menu-badge.llm.md +60 -0
- package/.llm/sidebar-menu-button.llm.md +103 -0
- package/.llm/sidebar-menu-item.llm.md +75 -0
- package/.llm/sidebar-menu-skeleton.llm.md +76 -0
- package/.llm/sidebar-menu-sub-button.llm.md +85 -0
- package/.llm/sidebar-menu-sub-item.llm.md +54 -0
- package/.llm/sidebar-menu-sub.llm.md +74 -0
- package/.llm/sidebar-menu.llm.md +65 -0
- package/.llm/sidebar-provider.llm.md +79 -0
- package/.llm/sidebar-rail.llm.md +34 -0
- package/.llm/sidebar-separator.llm.md +57 -0
- package/.llm/sidebar-trigger.llm.md +49 -0
- package/.llm/sidebar.llm.md +129 -0
- package/.llm/skeleton.llm.md +134 -0
- package/.llm/slider.llm.md +173 -0
- package/.llm/spinner.llm.md +182 -0
- package/.llm/stack.llm.md +28 -0
- package/.llm/subsection-title.llm.md +46 -0
- package/.llm/switch.llm.md +76 -0
- package/.llm/table-body.llm.md +36 -0
- package/.llm/table-caption.llm.md +48 -0
- package/.llm/table-cell.llm.md +53 -0
- package/.llm/table-footer.llm.md +41 -0
- package/.llm/table-head.llm.md +69 -0
- package/.llm/table-header.llm.md +41 -0
- package/.llm/table-row.llm.md +42 -0
- package/.llm/table.llm.md +123 -0
- package/.llm/tabs-content.llm.md +47 -0
- package/.llm/tabs-list.llm.md +41 -0
- package/.llm/tabs-trigger.llm.md +47 -0
- package/.llm/tabs.llm.md +71 -0
- package/.llm/text-field.llm.md +327 -0
- package/.llm/textarea.llm.md +311 -0
- package/.llm/theme-preference.llm.md +25 -0
- package/.llm/theme-toggle.llm.md +57 -0
- package/.llm/theme.llm.md +14 -0
- package/.llm/toaster.llm.md +193 -0
- package/.llm/toggle-group-item.llm.md +59 -0
- package/.llm/toggle-group.llm.md +101 -0
- package/.llm/toggle.llm.md +40 -0
- package/.llm/tooltip-content.llm.md +185 -0
- package/.llm/tooltip-provider.llm.md +68 -0
- package/.llm/tooltip-trigger.llm.md +70 -0
- package/.llm/tooltip.llm.md +129 -0
- package/.llm/use-carousel.llm.md +55 -0
- package/.llm/use-command-state.llm.md +32 -0
- package/.llm/use-is-mobile.llm.md +73 -0
- package/.llm/use-sidebar.llm.md +61 -0
- package/dist/components/ui/scroll-area.d.ts +5 -5
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/stack.d.ts.map +1 -1
- package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -1
- package/dist/components/ui/stories/typography.stories.d.ts +8 -108
- package/dist/components/ui/stories/typography.stories.d.ts.map +1 -1
- package/dist/components/ui/theme-toggle.d.ts +0 -3
- package/dist/components/ui/theme-toggle.d.ts.map +1 -1
- package/dist/components/ui/theme.d.ts.map +1 -1
- package/dist/components/ui/typography.d.ts +211 -474
- package/dist/components/ui/typography.d.ts.map +1 -1
- package/dist/index.js +5160 -9875
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/components/ui/stack.tsx +3 -1
- package/src/components/ui/stories/typography.stories.tsx +261 -1512
- package/src/components/ui/theme-toggle.tsx +1 -3
- package/src/components/ui/theme.tsx +6 -1
- package/src/components/ui/typography.tsx +416 -1136
- package/src/styles/globals.css +57 -106
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# SheetTrigger
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
SheetTrigger - Button or element that opens the sheet The trigger element that users interact with to open the sheet. Use the `asChild` prop to render as a different element while maintaining the trigger functionality. When clicked, opens the sheet and manages focus appropriately.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SheetTrigger } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SheetTrigger
|
|
13
|
+
asChild={true}
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</SheetTrigger>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Component Props
|
|
20
|
+
|
|
21
|
+
### asChild
|
|
22
|
+
- **Type**: `boolean`
|
|
23
|
+
- **Required**: No
|
|
24
|
+
- **Description**: When true, merges props with child element instead of rendering a button
|
|
25
|
+
|
|
26
|
+
### children
|
|
27
|
+
- **Type**: `React.ReactNode`
|
|
28
|
+
- **Required**: No
|
|
29
|
+
- **Description**: Child element to render as the trigger. Required when asChild is true
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
```tsx
|
|
34
|
+
// As a styled button
|
|
35
|
+
<SheetTrigger asChild>
|
|
36
|
+
<Button variant="outline">Open Settings</Button>
|
|
37
|
+
</SheetTrigger>
|
|
38
|
+
// As a simple button
|
|
39
|
+
<SheetTrigger>Click to open</SheetTrigger>
|
|
40
|
+
// As an icon button
|
|
41
|
+
<SheetTrigger asChild>
|
|
42
|
+
<Button size="icon" variant="ghost">
|
|
43
|
+
<MenuIcon className="h-4 w-4" />
|
|
44
|
+
</Button>
|
|
45
|
+
</SheetTrigger>
|
|
46
|
+
```
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Sheet
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Sheet - A slide-out panel that displays supplementary content A versatile sheet component that slides in from any edge of the screen to display supplementary content without fully blocking the main interface. Built on Radix UI Dialog primitives with smooth animations and comprehensive accessibility support. Sheets are ideal for: - Mobile navigation menus - Settings panels and configuration forms - Contextual information displays - Secondary actions that don't require full attention - Filters and search interfaces
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { Sheet } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<Sheet
|
|
13
|
+
open={true}
|
|
14
|
+
onOpenChange={handleOpenChange}
|
|
15
|
+
defaultOpen={true}
|
|
16
|
+
modal={true}
|
|
17
|
+
>
|
|
18
|
+
{/* Your content here */}
|
|
19
|
+
</Sheet>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Component Props
|
|
23
|
+
|
|
24
|
+
### open
|
|
25
|
+
- **Type**: `boolean`
|
|
26
|
+
- **Required**: No
|
|
27
|
+
- **Description**: No description available
|
|
28
|
+
|
|
29
|
+
### onOpenChange
|
|
30
|
+
- **Type**: `(open: boolean) => void`
|
|
31
|
+
- **Required**: No
|
|
32
|
+
- **Description**: No description available
|
|
33
|
+
|
|
34
|
+
### defaultOpen
|
|
35
|
+
- **Type**: `boolean`
|
|
36
|
+
- **Required**: No
|
|
37
|
+
- **Description**: No description available
|
|
38
|
+
|
|
39
|
+
### modal
|
|
40
|
+
- **Type**: `boolean`
|
|
41
|
+
- **Required**: No
|
|
42
|
+
- **Description**: No description available
|
|
43
|
+
|
|
44
|
+
### children
|
|
45
|
+
- **Type**: `React.ReactNode`
|
|
46
|
+
- **Required**: No
|
|
47
|
+
- **Description**: No description available
|
|
48
|
+
|
|
49
|
+
## Examples
|
|
50
|
+
|
|
51
|
+
### Example 1
|
|
52
|
+
```tsx
|
|
53
|
+
// Basic sheet from right side (default)
|
|
54
|
+
<Sheet>
|
|
55
|
+
<SheetTrigger asChild>
|
|
56
|
+
<Button>Open Settings</Button>
|
|
57
|
+
</SheetTrigger>
|
|
58
|
+
<SheetContent>
|
|
59
|
+
<SheetHeader>
|
|
60
|
+
<SheetTitle>Settings</SheetTitle>
|
|
61
|
+
<SheetDescription>
|
|
62
|
+
Configure your application preferences.
|
|
63
|
+
</SheetDescription>
|
|
64
|
+
</SheetHeader>
|
|
65
|
+
<div className="py-4">
|
|
66
|
+
<p>Settings content here</p>
|
|
67
|
+
</div>
|
|
68
|
+
<SheetFooter>
|
|
69
|
+
<Button type="submit">Save Changes</Button>
|
|
70
|
+
</SheetFooter>
|
|
71
|
+
</SheetContent>
|
|
72
|
+
</Sheet>
|
|
73
|
+
```
|
|
74
|
+
### Example 2
|
|
75
|
+
```tsx
|
|
76
|
+
// Sheet from different sides with controlled state
|
|
77
|
+
function NavigationSheet() {
|
|
78
|
+
const [open, setOpen] = useState(false)
|
|
79
|
+
return (
|
|
80
|
+
<Sheet open={open} onOpenChange={setOpen}>
|
|
81
|
+
<SheetTrigger asChild>
|
|
82
|
+
<Button variant="outline">Menu</Button>
|
|
83
|
+
</SheetTrigger>
|
|
84
|
+
<SheetContent side="left">
|
|
85
|
+
<SheetHeader>
|
|
86
|
+
<SheetTitle>Navigation</SheetTitle>
|
|
87
|
+
</SheetHeader>
|
|
88
|
+
<nav className="py-4">
|
|
89
|
+
<Button variant="ghost" className="w-full justify-start">
|
|
90
|
+
Dashboard
|
|
91
|
+
</Button>
|
|
92
|
+
</nav>
|
|
93
|
+
</SheetContent>
|
|
94
|
+
</Sheet>
|
|
95
|
+
)
|
|
96
|
+
}
|
|
97
|
+
```
|
|
98
|
+
### Example 3
|
|
99
|
+
```tsx
|
|
100
|
+
// Sheet with form handling
|
|
101
|
+
<Sheet>
|
|
102
|
+
<SheetTrigger asChild>
|
|
103
|
+
<Button>Edit Profile</Button>
|
|
104
|
+
</SheetTrigger>
|
|
105
|
+
<SheetContent>
|
|
106
|
+
<form onSubmit={handleSubmit}>
|
|
107
|
+
<SheetHeader>
|
|
108
|
+
<SheetTitle>Edit Profile</SheetTitle>
|
|
109
|
+
<SheetDescription>
|
|
110
|
+
Update your profile information.
|
|
111
|
+
</SheetDescription>
|
|
112
|
+
</SheetHeader>
|
|
113
|
+
<div className="grid gap-4 py-4">
|
|
114
|
+
<Input placeholder="Name" />
|
|
115
|
+
<Input placeholder="Email" type="email" />
|
|
116
|
+
</div>
|
|
117
|
+
<SheetFooter>
|
|
118
|
+
<SheetClose asChild>
|
|
119
|
+
<Button type="button" variant="outline">Cancel</Button>
|
|
120
|
+
</SheetClose>
|
|
121
|
+
<Button type="submit">Save</Button>
|
|
122
|
+
</SheetFooter>
|
|
123
|
+
</form>
|
|
124
|
+
</SheetContent>
|
|
125
|
+
</Sheet>
|
|
126
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# SidebarContent
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Scrollable main content area of the sidebar The primary content container that houses navigation groups, menus, and other sidebar content. Provides automatic scrolling when content exceeds available height and handles overflow behavior when the sidebar is collapsed.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarContent } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarContent
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Basic content with navigation groups
|
|
29
|
+
<SidebarContent>
|
|
30
|
+
<SidebarGroup>
|
|
31
|
+
<SidebarGroupLabel>Main</SidebarGroupLabel>
|
|
32
|
+
<SidebarGroupContent>
|
|
33
|
+
<SidebarMenu>
|
|
34
|
+
<SidebarMenuItem>
|
|
35
|
+
<SidebarMenuButton>
|
|
36
|
+
<Home />
|
|
37
|
+
<span>Dashboard</span>
|
|
38
|
+
</SidebarMenuButton>
|
|
39
|
+
</SidebarMenuItem>
|
|
40
|
+
</SidebarMenu>
|
|
41
|
+
</SidebarGroupContent>
|
|
42
|
+
</SidebarGroup>
|
|
43
|
+
</SidebarContent>
|
|
44
|
+
```
|
|
45
|
+
### Example 2
|
|
46
|
+
```tsx
|
|
47
|
+
// Multiple groups with separators
|
|
48
|
+
<SidebarContent>
|
|
49
|
+
<SidebarGroup>
|
|
50
|
+
<SidebarGroupLabel>Navigation</SidebarGroupLabel>
|
|
51
|
+
<SidebarGroupContent>
|
|
52
|
+
// Navigation items
|
|
53
|
+
</SidebarGroupContent>
|
|
54
|
+
</SidebarGroup>
|
|
55
|
+
<SidebarSeparator />
|
|
56
|
+
<SidebarGroup>
|
|
57
|
+
<SidebarGroupLabel>Projects</SidebarGroupLabel>
|
|
58
|
+
<SidebarGroupContent>
|
|
59
|
+
// Project items
|
|
60
|
+
</SidebarGroupContent>
|
|
61
|
+
</SidebarGroup>
|
|
62
|
+
</SidebarContent>
|
|
63
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# SidebarFooter
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Footer section container for sidebar content A container positioned at the bottom of the sidebar for footer content such as user profiles, settings links, logout buttons, or help resources. The footer remains anchored to the bottom regardless of content height.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarFooter } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarFooter
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Simple footer with settings link
|
|
29
|
+
<SidebarFooter>
|
|
30
|
+
<SidebarMenu>
|
|
31
|
+
<SidebarMenuItem>
|
|
32
|
+
<SidebarMenuButton>
|
|
33
|
+
<Settings />
|
|
34
|
+
<span>Settings</span>
|
|
35
|
+
</SidebarMenuButton>
|
|
36
|
+
</SidebarMenuItem>
|
|
37
|
+
</SidebarMenu>
|
|
38
|
+
</SidebarFooter>
|
|
39
|
+
```
|
|
40
|
+
### Example 2
|
|
41
|
+
```tsx
|
|
42
|
+
// Footer with user profile and actions
|
|
43
|
+
<SidebarFooter>
|
|
44
|
+
<SidebarMenu>
|
|
45
|
+
<SidebarMenuItem>
|
|
46
|
+
<SidebarMenuButton>
|
|
47
|
+
<Avatar className="h-6 w-6" />
|
|
48
|
+
<div className="flex flex-col text-left">
|
|
49
|
+
<span className="text-sm">John Doe</span>
|
|
50
|
+
<span className="text-xs text-muted-foreground">john
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# SidebarGroupAction
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Action button positioned within sidebar groups A compact action button positioned at the top-right of a sidebar group, typically used for group-specific actions such as adding new items, editing group settings, or accessing group options. Automatically hidden when collapsed.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarGroupAction } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarGroupAction
|
|
13
|
+
className="value"
|
|
14
|
+
asChild={true}
|
|
15
|
+
/>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Component Props
|
|
19
|
+
|
|
20
|
+
### className
|
|
21
|
+
- **Type**: `string`
|
|
22
|
+
- **Required**: No
|
|
23
|
+
- **Description**: No description available
|
|
24
|
+
|
|
25
|
+
### asChild
|
|
26
|
+
- **Type**: `boolean`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: No description available
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
### Example 1
|
|
33
|
+
```tsx
|
|
34
|
+
// Add button for projects group
|
|
35
|
+
<SidebarGroup>
|
|
36
|
+
<SidebarGroupLabel>Projects</SidebarGroupLabel>
|
|
37
|
+
<SidebarGroupAction>
|
|
38
|
+
<Plus className="h-4 w-4" />
|
|
39
|
+
<span className="sr-only">Add Project</span>
|
|
40
|
+
</SidebarGroupAction>
|
|
41
|
+
<SidebarGroupContent>
|
|
42
|
+
// Project items
|
|
43
|
+
</SidebarGroupContent>
|
|
44
|
+
</SidebarGroup>
|
|
45
|
+
```
|
|
46
|
+
### Example 2
|
|
47
|
+
```tsx
|
|
48
|
+
// Custom action with asChild
|
|
49
|
+
<SidebarGroup>
|
|
50
|
+
<SidebarGroupLabel>Settings</SidebarGroupLabel>
|
|
51
|
+
<SidebarGroupAction asChild>
|
|
52
|
+
<Button variant="ghost" size="sm">
|
|
53
|
+
<MoreHorizontal className="h-4 w-4" />
|
|
54
|
+
</Button>
|
|
55
|
+
</SidebarGroupAction>
|
|
56
|
+
<SidebarGroupContent>
|
|
57
|
+
// Settings items
|
|
58
|
+
</SidebarGroupContent>
|
|
59
|
+
</SidebarGroup>
|
|
60
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# SidebarGroupContent
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Content container for sidebar group items Houses the actual navigation items, menus, and content within a sidebar group. Provides consistent spacing and organization for group content while maintaining proper typography and layout coordination.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarGroupContent } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarGroupContent
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Basic content with menu items
|
|
29
|
+
<SidebarGroup>
|
|
30
|
+
<SidebarGroupLabel>Navigation</SidebarGroupLabel>
|
|
31
|
+
<SidebarGroupContent>
|
|
32
|
+
<SidebarMenu>
|
|
33
|
+
<SidebarMenuItem>
|
|
34
|
+
<SidebarMenuButton>
|
|
35
|
+
<Home />
|
|
36
|
+
<span>Dashboard</span>
|
|
37
|
+
</SidebarMenuButton>
|
|
38
|
+
</SidebarMenuItem>
|
|
39
|
+
<SidebarMenuItem>
|
|
40
|
+
<SidebarMenuButton>
|
|
41
|
+
<Settings />
|
|
42
|
+
<span>Settings</span>
|
|
43
|
+
</SidebarMenuButton>
|
|
44
|
+
</SidebarMenuItem>
|
|
45
|
+
</SidebarMenu>
|
|
46
|
+
</SidebarGroupContent>
|
|
47
|
+
</SidebarGroup>
|
|
48
|
+
```
|
|
49
|
+
### Example 2
|
|
50
|
+
```tsx
|
|
51
|
+
// Multiple menus in group content
|
|
52
|
+
<SidebarGroup>
|
|
53
|
+
<SidebarGroupLabel>Projects</SidebarGroupLabel>
|
|
54
|
+
<SidebarGroupContent>
|
|
55
|
+
<SidebarMenu>
|
|
56
|
+
// Recent projects
|
|
57
|
+
</SidebarMenu>
|
|
58
|
+
<SidebarSeparator />
|
|
59
|
+
<SidebarMenu>
|
|
60
|
+
// Archived projects
|
|
61
|
+
</SidebarMenu>
|
|
62
|
+
</SidebarGroupContent>
|
|
63
|
+
</SidebarGroup>
|
|
64
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# SidebarGroupLabel
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Label component for sidebar groups Displays a descriptive label for a group of sidebar items, providing clear categorization and hierarchy. The label automatically hides when the sidebar is collapsed to icon mode to maintain clean visual presentation.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarGroupLabel } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarGroupLabel
|
|
13
|
+
className="value"
|
|
14
|
+
asChild={true}
|
|
15
|
+
/>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Component Props
|
|
19
|
+
|
|
20
|
+
### className
|
|
21
|
+
- **Type**: `string`
|
|
22
|
+
- **Required**: No
|
|
23
|
+
- **Description**: No description available
|
|
24
|
+
|
|
25
|
+
### asChild
|
|
26
|
+
- **Type**: `boolean`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: No description available
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
### Example 1
|
|
33
|
+
```tsx
|
|
34
|
+
// Standard text label
|
|
35
|
+
<SidebarGroup>
|
|
36
|
+
<SidebarGroupLabel>Main Navigation</SidebarGroupLabel>
|
|
37
|
+
<SidebarGroupContent>
|
|
38
|
+
// Menu items
|
|
39
|
+
</SidebarGroupContent>
|
|
40
|
+
</SidebarGroup>
|
|
41
|
+
```
|
|
42
|
+
### Example 2
|
|
43
|
+
```tsx
|
|
44
|
+
// Custom element using asChild
|
|
45
|
+
<SidebarGroup>
|
|
46
|
+
<SidebarGroupLabel asChild>
|
|
47
|
+
<h3 className="custom-heading">Projects</h3>
|
|
48
|
+
</SidebarGroupLabel>
|
|
49
|
+
<SidebarGroupContent>
|
|
50
|
+
// Project items
|
|
51
|
+
</SidebarGroupContent>
|
|
52
|
+
</SidebarGroup>
|
|
53
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# SidebarGroup
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Container for organizing related sidebar navigation items Groups related navigation items together with optional labels and actions, providing visual organization and hierarchy for complex navigation structures. Groups can include labels, action buttons, and any combination of menu items.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarGroup } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarGroup
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Basic group with label and menu
|
|
29
|
+
<SidebarGroup>
|
|
30
|
+
<SidebarGroupLabel>Navigation</SidebarGroupLabel>
|
|
31
|
+
<SidebarGroupContent>
|
|
32
|
+
<SidebarMenu>
|
|
33
|
+
<SidebarMenuItem>
|
|
34
|
+
<SidebarMenuButton>
|
|
35
|
+
<Home />
|
|
36
|
+
<span>Dashboard</span>
|
|
37
|
+
</SidebarMenuButton>
|
|
38
|
+
</SidebarMenuItem>
|
|
39
|
+
</SidebarMenu>
|
|
40
|
+
</SidebarGroupContent>
|
|
41
|
+
</SidebarGroup>
|
|
42
|
+
```
|
|
43
|
+
### Example 2
|
|
44
|
+
```tsx
|
|
45
|
+
// Group with action button
|
|
46
|
+
<SidebarGroup>
|
|
47
|
+
<SidebarGroupLabel>Projects</SidebarGroupLabel>
|
|
48
|
+
<SidebarGroupAction>
|
|
49
|
+
<Plus className="h-4 w-4" />
|
|
50
|
+
<span className="sr-only">Add Project</span>
|
|
51
|
+
</SidebarGroupAction>
|
|
52
|
+
<SidebarGroupContent>
|
|
53
|
+
// Project items
|
|
54
|
+
</SidebarGroupContent>
|
|
55
|
+
</SidebarGroup>
|
|
56
|
+
```
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# SidebarHeader
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Header section container for sidebar content A flexible container for sidebar header content such as logos, application titles, user information, or action buttons. The header remains visible even when the sidebar is collapsed to icon mode, making it ideal for persistent branding or key actions.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarHeader } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarHeader
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Simple header with title
|
|
29
|
+
<SidebarHeader>
|
|
30
|
+
<h2 className="text-lg font-semibold">My Application</h2>
|
|
31
|
+
</SidebarHeader>
|
|
32
|
+
```
|
|
33
|
+
### Example 2
|
|
34
|
+
```tsx
|
|
35
|
+
// Header with trigger and search
|
|
36
|
+
<SidebarHeader>
|
|
37
|
+
<div className="flex items-center justify-between">
|
|
38
|
+
<h2>Navigation</h2>
|
|
39
|
+
<SidebarTrigger />
|
|
40
|
+
</div>
|
|
41
|
+
<SidebarInput placeholder="Search..." className="mt-2" />
|
|
42
|
+
</SidebarHeader>
|
|
43
|
+
```
|
|
44
|
+
### Example 3
|
|
45
|
+
```tsx
|
|
46
|
+
// Header with user menu
|
|
47
|
+
<SidebarHeader>
|
|
48
|
+
<SidebarMenu>
|
|
49
|
+
<SidebarMenuItem>
|
|
50
|
+
<DropdownMenu>
|
|
51
|
+
<DropdownMenuTrigger asChild>
|
|
52
|
+
<SidebarMenuButton>
|
|
53
|
+
<Avatar />
|
|
54
|
+
<span>John Doe</span>
|
|
55
|
+
<ChevronDown className="ml-auto" />
|
|
56
|
+
</SidebarMenuButton>
|
|
57
|
+
</DropdownMenuTrigger>
|
|
58
|
+
<DropdownMenuContent>
|
|
59
|
+
<DropdownMenuItem>Profile</DropdownMenuItem>
|
|
60
|
+
<DropdownMenuItem>Settings</DropdownMenuItem>
|
|
61
|
+
<DropdownMenuItem>Logout</DropdownMenuItem>
|
|
62
|
+
</DropdownMenuContent>
|
|
63
|
+
</DropdownMenu>
|
|
64
|
+
</SidebarMenuItem>
|
|
65
|
+
</SidebarMenu>
|
|
66
|
+
</SidebarHeader>
|
|
67
|
+
```
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# SidebarInput
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Input component optimized for sidebar usage A pre-styled input field designed to integrate seamlessly within sidebar layouts. Commonly used for search functionality, filters, or other input needs within the sidebar context. Features appropriate sizing and styling for sidebar use.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarInput } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarInput
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Search input in sidebar header
|
|
29
|
+
<SidebarHeader>
|
|
30
|
+
<h2>Navigation</h2>
|
|
31
|
+
<SidebarInput
|
|
32
|
+
placeholder="Search..."
|
|
33
|
+
onChange={(e) => handleSearch(e.target.value)}
|
|
34
|
+
/>
|
|
35
|
+
</SidebarHeader>
|
|
36
|
+
```
|
|
37
|
+
### Example 2
|
|
38
|
+
```tsx
|
|
39
|
+
// Filter input with icon
|
|
40
|
+
<SidebarGroup>
|
|
41
|
+
<SidebarGroupLabel>Filter Options</SidebarGroupLabel>
|
|
42
|
+
<SidebarGroupContent>
|
|
43
|
+
<SidebarInput
|
|
44
|
+
type="search"
|
|
45
|
+
placeholder="Filter items"
|
|
46
|
+
className="mb-2"
|
|
47
|
+
/>
|
|
48
|
+
</SidebarGroupContent>
|
|
49
|
+
</SidebarGroup>
|
|
50
|
+
```
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# SidebarInset
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Main content container that adapts to sidebar layout The SidebarInset component serves as the primary content area that automatically adjusts its layout and spacing based on the sidebar's state and variant. It provides proper margins, responsive behavior, and styling coordination with the sidebar.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { SidebarInset } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<SidebarInset
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: No description available
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
### Example 1
|
|
27
|
+
```tsx
|
|
28
|
+
// Standard layout with header and content
|
|
29
|
+
<SidebarProvider>
|
|
30
|
+
<Sidebar>Sidebar content</Sidebar>
|
|
31
|
+
<SidebarInset>
|
|
32
|
+
<header className="flex h-16 items-center gap-2 px-4">
|
|
33
|
+
<SidebarTrigger />
|
|
34
|
+
<h1>Page Title</h1>
|
|
35
|
+
</header>
|
|
36
|
+
<main className="flex-1 p-4">
|
|
37
|
+
<p>Your main content goes here</p>
|
|
38
|
+
</main>
|
|
39
|
+
</SidebarInset>
|
|
40
|
+
</SidebarProvider>
|
|
41
|
+
```
|
|
42
|
+
### Example 2
|
|
43
|
+
```tsx
|
|
44
|
+
// With inset variant coordination
|
|
45
|
+
<SidebarProvider>
|
|
46
|
+
<Sidebar variant="inset">Sidebar</Sidebar>
|
|
47
|
+
<SidebarInset>
|
|
48
|
+
// Content automatically gets proper spacing
|
|
49
|
+
<div>Content with proper inset margins</div>
|
|
50
|
+
</SidebarInset>
|
|
51
|
+
</SidebarProvider>
|
|
52
|
+
```
|