@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,67 @@
|
|
|
1
|
+
# AccordionContent
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
AccordionContent - Collapsible content area of an accordion item The expandable content section that is revealed or hidden when the associated AccordionTrigger is activated. Features smooth height-based animations using Tailwind CSS keyframes and supports any React content including complex layouts.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AccordionContent } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AccordionContent
|
|
13
|
+
className="value"
|
|
14
|
+
forceMount={value}
|
|
15
|
+
>
|
|
16
|
+
{/* Your content here */}
|
|
17
|
+
</AccordionContent>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Component Props
|
|
21
|
+
|
|
22
|
+
### className
|
|
23
|
+
- **Type**: `string`
|
|
24
|
+
- **Required**: No
|
|
25
|
+
- **Description**: No description available
|
|
26
|
+
|
|
27
|
+
### children
|
|
28
|
+
- **Type**: `React.ReactNode`
|
|
29
|
+
- **Required**: No
|
|
30
|
+
- **Description**: No description available
|
|
31
|
+
|
|
32
|
+
### forceMount
|
|
33
|
+
- **Type**: `true`
|
|
34
|
+
- **Required**: No
|
|
35
|
+
- **Description**: No description available
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
### Example 1
|
|
40
|
+
```tsx
|
|
41
|
+
// Simple text content
|
|
42
|
+
<AccordionContent>
|
|
43
|
+
<p>This content is revealed when the accordion is expanded.</p>
|
|
44
|
+
<p>It can contain any React components or HTML elements.</p>
|
|
45
|
+
</AccordionContent>
|
|
46
|
+
```
|
|
47
|
+
### Example 2
|
|
48
|
+
```tsx
|
|
49
|
+
// Rich content with components
|
|
50
|
+
<AccordionContent>
|
|
51
|
+
<div className="space-y-4">
|
|
52
|
+
<Alert>
|
|
53
|
+
<InfoIcon className="h-4 w-4" />
|
|
54
|
+
<AlertTitle>Important Note</AlertTitle>
|
|
55
|
+
<AlertDescription>This is highlighted information.</AlertDescription>
|
|
56
|
+
</Alert>
|
|
57
|
+
<Button variant="outline">Take Action</Button>
|
|
58
|
+
</div>
|
|
59
|
+
</AccordionContent>
|
|
60
|
+
```
|
|
61
|
+
### Example 3
|
|
62
|
+
```tsx
|
|
63
|
+
// Content with custom padding
|
|
64
|
+
<AccordionContent className="pt-6 pb-6">
|
|
65
|
+
Content with extra vertical padding for better spacing.
|
|
66
|
+
</AccordionContent>
|
|
67
|
+
```
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# AccordionItem
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
AccordionItem - Individual collapsible panel within an accordion A container component that wraps a single accordion section consisting of a trigger and collapsible content. Each item requires a unique value prop for identification and state management. Provides consistent spacing and border styling.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AccordionItem } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AccordionItem
|
|
13
|
+
value="value"
|
|
14
|
+
disabled={true}
|
|
15
|
+
className="value"
|
|
16
|
+
>
|
|
17
|
+
{/* Your content here */}
|
|
18
|
+
</AccordionItem>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Component Props
|
|
22
|
+
|
|
23
|
+
### value
|
|
24
|
+
- **Type**: `string`
|
|
25
|
+
- **Required**: Yes
|
|
26
|
+
- **Description**: No description available
|
|
27
|
+
|
|
28
|
+
### disabled
|
|
29
|
+
- **Type**: `boolean`
|
|
30
|
+
- **Required**: No
|
|
31
|
+
- **Description**: No description available
|
|
32
|
+
|
|
33
|
+
### className
|
|
34
|
+
- **Type**: `string`
|
|
35
|
+
- **Required**: No
|
|
36
|
+
- **Description**: No description available
|
|
37
|
+
|
|
38
|
+
### children
|
|
39
|
+
- **Type**: `React.ReactNode`
|
|
40
|
+
- **Required**: No
|
|
41
|
+
- **Description**: No description available
|
|
42
|
+
|
|
43
|
+
## Examples
|
|
44
|
+
|
|
45
|
+
### Example 1
|
|
46
|
+
```tsx
|
|
47
|
+
<AccordionItem value="settings">
|
|
48
|
+
<AccordionTrigger>Account Settings</AccordionTrigger>
|
|
49
|
+
<AccordionContent>
|
|
50
|
+
<p>Manage your account preferences and security settings.</p>
|
|
51
|
+
</AccordionContent>
|
|
52
|
+
</AccordionItem>
|
|
53
|
+
```
|
|
54
|
+
### Example 2
|
|
55
|
+
```tsx
|
|
56
|
+
// With custom styling
|
|
57
|
+
<AccordionItem value="custom" className="border-l-4 border-blue-500">
|
|
58
|
+
<AccordionTrigger>Custom Styled Item</AccordionTrigger>
|
|
59
|
+
<AccordionContent>Content with custom left border</AccordionContent>
|
|
60
|
+
</AccordionItem>
|
|
61
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# AccordionTrigger
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
AccordionTrigger - Clickable header that toggles accordion content visibility An interactive button element that users click or activate via keyboard to expand or collapse the associated accordion content. Features a rotating chevron icon for visual state indication and supports both text and custom content.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AccordionTrigger } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AccordionTrigger
|
|
13
|
+
className="value"
|
|
14
|
+
disabled={true}
|
|
15
|
+
asChild={true}
|
|
16
|
+
>
|
|
17
|
+
{/* Your content here */}
|
|
18
|
+
</AccordionTrigger>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Component Props
|
|
22
|
+
|
|
23
|
+
### className
|
|
24
|
+
- **Type**: `string`
|
|
25
|
+
- **Required**: No
|
|
26
|
+
- **Description**: No description available
|
|
27
|
+
|
|
28
|
+
### children
|
|
29
|
+
- **Type**: `React.ReactNode`
|
|
30
|
+
- **Required**: No
|
|
31
|
+
- **Description**: No description available
|
|
32
|
+
|
|
33
|
+
### disabled
|
|
34
|
+
- **Type**: `boolean`
|
|
35
|
+
- **Required**: No
|
|
36
|
+
- **Description**: No description available
|
|
37
|
+
|
|
38
|
+
### asChild
|
|
39
|
+
- **Type**: `boolean`
|
|
40
|
+
- **Required**: No
|
|
41
|
+
- **Description**: No description available
|
|
42
|
+
|
|
43
|
+
## Examples
|
|
44
|
+
|
|
45
|
+
### Example 1
|
|
46
|
+
```tsx
|
|
47
|
+
// Simple text trigger
|
|
48
|
+
<AccordionTrigger>
|
|
49
|
+
Click to expand this section
|
|
50
|
+
</AccordionTrigger>
|
|
51
|
+
```
|
|
52
|
+
### Example 2
|
|
53
|
+
```tsx
|
|
54
|
+
// With icon and custom styling
|
|
55
|
+
<AccordionTrigger className="text-lg font-semibold">
|
|
56
|
+
<User className="mr-2 h-4 w-4" />
|
|
57
|
+
User Profile Settings
|
|
58
|
+
</AccordionTrigger>
|
|
59
|
+
```
|
|
60
|
+
### Example 3
|
|
61
|
+
```tsx
|
|
62
|
+
// With complex content
|
|
63
|
+
<AccordionTrigger>
|
|
64
|
+
<div className="flex items-center justify-between w-full">
|
|
65
|
+
<span>Section Title</span>
|
|
66
|
+
<Badge variant="secondary">5 items</Badge>
|
|
67
|
+
</div>
|
|
68
|
+
</AccordionTrigger>
|
|
69
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Accordion
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Accordion - Collapsible content panels for organizing information A vertically stacked set of interactive headings that each reveal a section of content. Built on Radix UI Accordion primitives with optimized animations and accessibility. Supports both single and multiple expanded items simultaneously based on the type prop.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { Accordion } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<Accordion
|
|
13
|
+
disabled={true}
|
|
14
|
+
orientation={value}
|
|
15
|
+
dir={value}
|
|
16
|
+
className="value"
|
|
17
|
+
>
|
|
18
|
+
{/* Your content here */}
|
|
19
|
+
</Accordion>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Component Props
|
|
23
|
+
|
|
24
|
+
### disabled
|
|
25
|
+
- **Type**: `boolean`
|
|
26
|
+
- **Required**: No
|
|
27
|
+
- **Description**: No description available
|
|
28
|
+
|
|
29
|
+
### orientation
|
|
30
|
+
- **Type**: `"horizontal" | "vertical"`
|
|
31
|
+
- **Required**: No
|
|
32
|
+
- **Description**: No description available
|
|
33
|
+
|
|
34
|
+
### dir
|
|
35
|
+
- **Type**: `"ltr" | "rtl"`
|
|
36
|
+
- **Required**: No
|
|
37
|
+
- **Description**: No description available
|
|
38
|
+
|
|
39
|
+
### className
|
|
40
|
+
- **Type**: `string`
|
|
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 single accordion (only one item can be open)
|
|
54
|
+
<Accordion type="single" collapsible>
|
|
55
|
+
<AccordionItem value="item-1">
|
|
56
|
+
<AccordionTrigger>Is it accessible?</AccordionTrigger>
|
|
57
|
+
<AccordionContent>
|
|
58
|
+
Yes. It adheres to the WAI-ARIA design pattern.
|
|
59
|
+
</AccordionContent>
|
|
60
|
+
</AccordionItem>
|
|
61
|
+
</Accordion>
|
|
62
|
+
```
|
|
63
|
+
### Example 2
|
|
64
|
+
```tsx
|
|
65
|
+
// Multiple accordion (multiple items can be open)
|
|
66
|
+
<Accordion type="multiple">
|
|
67
|
+
<AccordionItem value="item-1">
|
|
68
|
+
<AccordionTrigger>Section 1</AccordionTrigger>
|
|
69
|
+
<AccordionContent>Content for section 1</AccordionContent>
|
|
70
|
+
</AccordionItem>
|
|
71
|
+
<AccordionItem value="item-2">
|
|
72
|
+
<AccordionTrigger>Section 2</AccordionTrigger>
|
|
73
|
+
<AccordionContent>Content for section 2</AccordionContent>
|
|
74
|
+
</AccordionItem>
|
|
75
|
+
</Accordion>
|
|
76
|
+
```
|
|
77
|
+
### Example 3
|
|
78
|
+
```tsx
|
|
79
|
+
// FAQ-style accordion with default open state
|
|
80
|
+
<Accordion type="single" collapsible defaultValue="faq-1">
|
|
81
|
+
<AccordionItem value="faq-1">
|
|
82
|
+
<AccordionTrigger>How do I get started?</AccordionTrigger>
|
|
83
|
+
<AccordionContent>
|
|
84
|
+
Follow our quick start guide to set up your first project.
|
|
85
|
+
</AccordionContent>
|
|
86
|
+
</AccordionItem>
|
|
87
|
+
</Accordion>
|
|
88
|
+
```
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# AlertDescription
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
AlertDescription - Detailed description text content for alerts The body content area of an alert that provides detailed information, context, or instructions related to the alert message. Automatically styled with muted text color and proper grid positioning. Supports rich content including paragraphs, links, and inline formatting. ## Features - Muted foreground color for visual hierarchy - Proper grid positioning (col-start-2) for icon layout compatibility - Support for multiple paragraphs with relaxed line height - Grid layout with start justification for text alignment - Semantic HTML structure with data-slot attribute - Small text size (text-sm) for readability - Responsive gap spacing between content elements
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDescription } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDescription
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</AlertDescription>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Component Props
|
|
20
|
+
|
|
21
|
+
### className
|
|
22
|
+
- **Type**: `string`
|
|
23
|
+
- **Required**: No
|
|
24
|
+
- **Description**: No description available
|
|
25
|
+
|
|
26
|
+
### children
|
|
27
|
+
- **Type**: `React.ReactNode`
|
|
28
|
+
- **Required**: No
|
|
29
|
+
- **Description**: No description available
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
### Example 1
|
|
34
|
+
```tsx
|
|
35
|
+
// Basic description with simple text
|
|
36
|
+
<Alert>
|
|
37
|
+
<AlertTitle>Success</AlertTitle>
|
|
38
|
+
<AlertDescription>
|
|
39
|
+
Your account has been created successfully.
|
|
40
|
+
</AlertDescription>
|
|
41
|
+
</Alert>
|
|
42
|
+
```
|
|
43
|
+
### Example 2
|
|
44
|
+
```tsx
|
|
45
|
+
// Description with multiple paragraphs
|
|
46
|
+
<Alert variant="destructive">
|
|
47
|
+
<AlertCircle className="size-4" />
|
|
48
|
+
<AlertTitle>Connection Error</AlertTitle>
|
|
49
|
+
<AlertDescription>
|
|
50
|
+
<p>Unable to connect to the server. This could be due to:</p>
|
|
51
|
+
<p>• Network connectivity issues</p>
|
|
52
|
+
<p>• Server maintenance</p>
|
|
53
|
+
<p>Please try again in a few minutes.</p>
|
|
54
|
+
</AlertDescription>
|
|
55
|
+
</Alert>
|
|
56
|
+
```
|
|
57
|
+
### Example 3
|
|
58
|
+
```tsx
|
|
59
|
+
// Description with links and rich content
|
|
60
|
+
<Alert>
|
|
61
|
+
<Info className="size-4" />
|
|
62
|
+
<AlertTitle>Update Available</AlertTitle>
|
|
63
|
+
<AlertDescription>
|
|
64
|
+
A new version is available. <a href="/changelog" className="underline">View changelog</a> or
|
|
65
|
+
<button className="ml-1 underline">update now</button>.
|
|
66
|
+
</AlertDescription>
|
|
67
|
+
</Alert>
|
|
68
|
+
```
|
|
69
|
+
### Example 4
|
|
70
|
+
```tsx
|
|
71
|
+
// Custom styled description
|
|
72
|
+
<Alert>
|
|
73
|
+
<AlertTitle>Custom Alert</AlertTitle>
|
|
74
|
+
<AlertDescription className="text-sm font-medium text-foreground">
|
|
75
|
+
This description uses custom styling to override the default muted appearance.
|
|
76
|
+
</AlertDescription>
|
|
77
|
+
</Alert>
|
|
78
|
+
```
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# AlertDialogAction
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Primary action button of the alert dialog The button that confirms or executes the action being alerted about. Automatically receives focus when the dialog opens (unless overridden). Styled using buttonVariants() by default, but can be customized for destructive actions. Closes the dialog when clicked.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogAction } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogAction
|
|
13
|
+
asChild={true}
|
|
14
|
+
className="value"
|
|
15
|
+
/>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Component Props
|
|
19
|
+
|
|
20
|
+
### asChild
|
|
21
|
+
- **Type**: `boolean`
|
|
22
|
+
- **Required**: No
|
|
23
|
+
- **Description**: Render as child element, merging props and behavior
|
|
24
|
+
|
|
25
|
+
### className
|
|
26
|
+
- **Type**: `string`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: Additional CSS classes (useful for destructive styling)
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
// Default action (primary button style)
|
|
34
|
+
<AlertDialogAction>Continue</AlertDialogAction>
|
|
35
|
+
<AlertDialogAction>Save Changes</AlertDialogAction>
|
|
36
|
+
// Destructive action with red styling
|
|
37
|
+
<AlertDialogAction className={buttonVariants({ variant: "destructive" })}>
|
|
38
|
+
Delete Account
|
|
39
|
+
</AlertDialogAction>
|
|
40
|
+
// Custom styled action
|
|
41
|
+
<AlertDialogAction className="bg-green-600 hover:bg-green-700">
|
|
42
|
+
Confirm Action
|
|
43
|
+
</AlertDialogAction>
|
|
44
|
+
// Composition with custom button
|
|
45
|
+
<AlertDialogAction asChild>
|
|
46
|
+
<Button variant="destructive" size="lg">
|
|
47
|
+
Delete Forever
|
|
48
|
+
</Button>
|
|
49
|
+
</AlertDialogAction>
|
|
50
|
+
```
|
|
51
|
+
/
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# AlertDialogCancel
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Cancel button of the alert dialog The button that dismisses the dialog without performing the action. Styled using outline variant by default to de-emphasize compared to the primary action. Closes the dialog when clicked without triggering the main action.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogCancel } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogCancel
|
|
13
|
+
asChild={true}
|
|
14
|
+
className="value"
|
|
15
|
+
/>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Component Props
|
|
19
|
+
|
|
20
|
+
### asChild
|
|
21
|
+
- **Type**: `boolean`
|
|
22
|
+
- **Required**: No
|
|
23
|
+
- **Description**: Render as child element, merging props and behavior
|
|
24
|
+
|
|
25
|
+
### className
|
|
26
|
+
- **Type**: `string`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: Additional CSS classes for custom styling
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
// Standard cancel buttons
|
|
34
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
35
|
+
<AlertDialogCancel>No, keep it</AlertDialogCancel>
|
|
36
|
+
<AlertDialogCancel>Go Back</AlertDialogCancel>
|
|
37
|
+
// Custom styled cancel
|
|
38
|
+
<AlertDialogCancel className="text-red-600">
|
|
39
|
+
Don't Delete
|
|
40
|
+
</AlertDialogCancel>
|
|
41
|
+
// Composition with custom button
|
|
42
|
+
<AlertDialogCancel asChild>
|
|
43
|
+
<Button variant="ghost" size="sm">
|
|
44
|
+
Maybe Later
|
|
45
|
+
</Button>
|
|
46
|
+
</AlertDialogCancel>
|
|
47
|
+
```
|
|
48
|
+
/
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# AlertDialogContent
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Main content container for the alert dialog The primary container that holds all alert dialog content. Automatically includes the portal and overlay, and provides default styling with responsive design. Centered on screen with smooth fade and zoom animations. Manages focus trapping and keyboard navigation automatically.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogContent } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogContent
|
|
13
|
+
asChild={true}
|
|
14
|
+
forceMount={true}
|
|
15
|
+
onOpenAutoFocus={handleOpenAutoFocus}
|
|
16
|
+
onCloseAutoFocus={handleCloseAutoFocus}
|
|
17
|
+
onEscapeKeyDown={handleEscapeKeyDown}
|
|
18
|
+
className="value"
|
|
19
|
+
/>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Component Props
|
|
23
|
+
|
|
24
|
+
### asChild
|
|
25
|
+
- **Type**: `boolean`
|
|
26
|
+
- **Required**: No
|
|
27
|
+
- **Description**: Render as child element, merging props and behavior
|
|
28
|
+
|
|
29
|
+
### forceMount
|
|
30
|
+
- **Type**: `boolean`
|
|
31
|
+
- **Required**: No
|
|
32
|
+
- **Description**: Force mount the component even when dialog is closed
|
|
33
|
+
|
|
34
|
+
### onOpenAutoFocus
|
|
35
|
+
- **Type**: `(event: Event) => void`
|
|
36
|
+
- **Required**: No
|
|
37
|
+
- **Description**: Callback when dialog opens and focus moves to content
|
|
38
|
+
|
|
39
|
+
### onCloseAutoFocus
|
|
40
|
+
- **Type**: `(event: Event) => void`
|
|
41
|
+
- **Required**: No
|
|
42
|
+
- **Description**: Callback when dialog closes and focus returns to trigger
|
|
43
|
+
|
|
44
|
+
### onEscapeKeyDown
|
|
45
|
+
- **Type**: `(event: KeyboardEvent) => void`
|
|
46
|
+
- **Required**: No
|
|
47
|
+
- **Description**: Callback when Escape key is pressed (can preventDefault)
|
|
48
|
+
|
|
49
|
+
### className
|
|
50
|
+
- **Type**: `string`
|
|
51
|
+
- **Required**: No
|
|
52
|
+
- **Description**: Additional CSS classes for custom styling
|
|
53
|
+
|
|
54
|
+
## Examples
|
|
55
|
+
|
|
56
|
+
```tsx
|
|
57
|
+
// Basic usage
|
|
58
|
+
<AlertDialogContent>
|
|
59
|
+
<AlertDialogHeader>
|
|
60
|
+
<AlertDialogTitle>Confirm Action</AlertDialogTitle>
|
|
61
|
+
<AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>
|
|
62
|
+
</AlertDialogHeader>
|
|
63
|
+
<AlertDialogFooter>
|
|
64
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
65
|
+
<AlertDialogAction>Continue</AlertDialogAction>
|
|
66
|
+
</AlertDialogFooter>
|
|
67
|
+
</AlertDialogContent>
|
|
68
|
+
// Custom focus handling
|
|
69
|
+
<AlertDialogContent
|
|
70
|
+
onOpenAutoFocus={(e) => {
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
customFocusTarget.focus();
|
|
73
|
+
}}
|
|
74
|
+
onEscapeKeyDown={(e) => {
|
|
75
|
+
if (hasUnsavedChanges) {
|
|
76
|
+
e.preventDefault();
|
|
77
|
+
showUnsavedWarning();
|
|
78
|
+
}
|
|
79
|
+
}}
|
|
80
|
+
>
|
|
81
|
+
// content
|
|
82
|
+
</AlertDialogContent>
|
|
83
|
+
// Custom styling
|
|
84
|
+
<AlertDialogContent className="max-w-md">
|
|
85
|
+
// smaller dialog
|
|
86
|
+
</AlertDialogContent>
|
|
87
|
+
```
|
|
88
|
+
/
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# AlertDialogDescription
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Description text of the alert dialog Provides additional context and explanation for the alert or action. Should clearly explain the consequences of the action being confirmed. Automatically provides proper ARIA description via aria-describedby for screen readers. Can be omitted if aria-describedby is provided to Content.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogDescription } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogDescription
|
|
13
|
+
asChild={true}
|
|
14
|
+
className="value"
|
|
15
|
+
/>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Component Props
|
|
19
|
+
|
|
20
|
+
### asChild
|
|
21
|
+
- **Type**: `boolean`
|
|
22
|
+
- **Required**: No
|
|
23
|
+
- **Description**: Render as child element, merging props and behavior
|
|
24
|
+
|
|
25
|
+
### className
|
|
26
|
+
- **Type**: `string`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: Additional CSS classes for custom styling
|
|
29
|
+
|
|
30
|
+
## Examples
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
// Standard descriptions
|
|
34
|
+
<AlertDialogDescription>
|
|
35
|
+
This action cannot be undone. This will permanently delete your
|
|
36
|
+
account and remove your data from our servers.
|
|
37
|
+
</AlertDialogDescription>
|
|
38
|
+
<AlertDialogDescription>
|
|
39
|
+
You will be signed out of all devices and will need to sign in again
|
|
40
|
+
to access your account.
|
|
41
|
+
</AlertDialogDescription>
|
|
42
|
+
// Custom styling
|
|
43
|
+
<AlertDialogDescription className="text-center text-lg">
|
|
44
|
+
Are you sure you want to continue?
|
|
45
|
+
</AlertDialogDescription>
|
|
46
|
+
// Composition with custom element
|
|
47
|
+
<AlertDialogDescription asChild>
|
|
48
|
+
<p className="custom-description">
|
|
49
|
+
Custom description element
|
|
50
|
+
</p>
|
|
51
|
+
</AlertDialogDescription>
|
|
52
|
+
```
|
|
53
|
+
/
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# AlertDialogFooter
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Footer section of the alert dialog Contains the action buttons (cancel and confirm). Uses responsive layout with stacked buttons on mobile (cancel on top) and horizontal layout on larger screens (cancel on left, action on right). Should contain AlertDialogCancel and AlertDialogAction for proper UX.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogFooter } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogFooter
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: Additional CSS classes for custom styling
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<AlertDialogFooter>
|
|
28
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
29
|
+
<AlertDialogAction>Delete Account</AlertDialogAction>
|
|
30
|
+
</AlertDialogFooter>
|
|
31
|
+
// Custom button order
|
|
32
|
+
<AlertDialogFooter className="flex-row">
|
|
33
|
+
<AlertDialogAction>Continue</AlertDialogAction>
|
|
34
|
+
<AlertDialogCancel>Go Back</AlertDialogCancel>
|
|
35
|
+
</AlertDialogFooter>
|
|
36
|
+
// Single action footer
|
|
37
|
+
<AlertDialogFooter>
|
|
38
|
+
<AlertDialogAction>I Understand</AlertDialogAction>
|
|
39
|
+
</AlertDialogFooter>
|
|
40
|
+
```
|
|
41
|
+
/
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# AlertDialogHeader
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Header section of the alert dialog Contains the title and description of the alert dialog. Provides consistent spacing and alignment, with responsive text alignment (centered on mobile, left-aligned on larger screens). Should contain AlertDialogTitle and optionally AlertDialogDescription for proper accessibility.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { AlertDialogHeader } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<AlertDialogHeader
|
|
13
|
+
className="value"
|
|
14
|
+
/>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Component Props
|
|
18
|
+
|
|
19
|
+
### className
|
|
20
|
+
- **Type**: `string`
|
|
21
|
+
- **Required**: No
|
|
22
|
+
- **Description**: Additional CSS classes for custom styling
|
|
23
|
+
|
|
24
|
+
## Examples
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
<AlertDialogHeader>
|
|
28
|
+
<AlertDialogTitle>Delete Account</AlertDialogTitle>
|
|
29
|
+
<AlertDialogDescription>
|
|
30
|
+
This will permanently delete your account and all associated data.
|
|
31
|
+
This action cannot be undone.
|
|
32
|
+
</AlertDialogDescription>
|
|
33
|
+
</AlertDialogHeader>
|
|
34
|
+
// Custom styling
|
|
35
|
+
<AlertDialogHeader className="text-left">
|
|
36
|
+
<AlertDialogTitle>Custom Header</AlertDialogTitle>
|
|
37
|
+
</AlertDialogHeader>
|
|
38
|
+
```
|
|
39
|
+
/
|