@neynar/ui 0.3.0 → 0.3.1
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/a.llm.md +131 -0
- 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 +117 -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/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 +103 -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/h1.llm.md +108 -0
- package/.llm/h2.llm.md +108 -0
- package/.llm/h3.llm.md +106 -0
- package/.llm/h4.llm.md +104 -0
- package/.llm/h5.llm.md +105 -0
- package/.llm/h6.llm.md +105 -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/lead.llm.md +114 -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/p.llm.md +110 -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 +3022 -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/small.llm.md +110 -0
- package/.llm/span.llm.md +118 -0
- package/.llm/spinner.llm.md +182 -0
- package/.llm/stack.llm.md +28 -0
- package/.llm/strong.llm.md +110 -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/toast.llm.md +32 -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/typography.llm.md +161 -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/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/index.js +4972 -9636
- 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/theme-toggle.tsx +1 -3
- package/src/components/ui/theme.tsx +6 -1
- package/src/styles/globals.css +57 -85
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# Breadcrumb
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Breadcrumb navigation component that displays hierarchical page location A breadcrumb navigation component built on semantic HTML that shows the current page location within a navigational hierarchy. Provides users with contextual awareness of their position in the site structure and enables easy navigation to parent pages. Based on the shadcn/ui Breadcrumb component with accessibility features and support for composition patterns including custom separators, ellipsis for long paths, dropdown menus, and custom link components via the asChild prop.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { Breadcrumb } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<Breadcrumb
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</Breadcrumb>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Component Props
|
|
20
|
+
|
|
21
|
+
### className
|
|
22
|
+
- **Type**: `string`
|
|
23
|
+
- **Required**: No
|
|
24
|
+
- **Description**: Additional CSS classes to apply to the navigation element
|
|
25
|
+
|
|
26
|
+
### children
|
|
27
|
+
- **Type**: `React.ReactNode`
|
|
28
|
+
- **Required**: No
|
|
29
|
+
- **Description**: Child breadcrumb elements (typically BreadcrumbList)
|
|
30
|
+
|
|
31
|
+
## Examples
|
|
32
|
+
|
|
33
|
+
### Example 1
|
|
34
|
+
```tsx
|
|
35
|
+
// Basic breadcrumb navigation
|
|
36
|
+
<Breadcrumb>
|
|
37
|
+
<BreadcrumbList>
|
|
38
|
+
<BreadcrumbItem>
|
|
39
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
40
|
+
</BreadcrumbItem>
|
|
41
|
+
<BreadcrumbSeparator />
|
|
42
|
+
<BreadcrumbItem>
|
|
43
|
+
<BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
44
|
+
</BreadcrumbItem>
|
|
45
|
+
<BreadcrumbSeparator />
|
|
46
|
+
<BreadcrumbItem>
|
|
47
|
+
<BreadcrumbPage>Laptop</BreadcrumbPage>
|
|
48
|
+
</BreadcrumbItem>
|
|
49
|
+
</BreadcrumbList>
|
|
50
|
+
</Breadcrumb>
|
|
51
|
+
```
|
|
52
|
+
### Example 2
|
|
53
|
+
```tsx
|
|
54
|
+
// With ellipsis for long paths
|
|
55
|
+
<Breadcrumb>
|
|
56
|
+
<BreadcrumbList>
|
|
57
|
+
<BreadcrumbItem>
|
|
58
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
59
|
+
</BreadcrumbItem>
|
|
60
|
+
<BreadcrumbSeparator />
|
|
61
|
+
<BreadcrumbItem>
|
|
62
|
+
<BreadcrumbEllipsis />
|
|
63
|
+
</BreadcrumbItem>
|
|
64
|
+
<BreadcrumbSeparator />
|
|
65
|
+
<BreadcrumbItem>
|
|
66
|
+
<BreadcrumbLink href="/products/laptops">Laptops</BreadcrumbLink>
|
|
67
|
+
</BreadcrumbItem>
|
|
68
|
+
<BreadcrumbSeparator />
|
|
69
|
+
<BreadcrumbItem>
|
|
70
|
+
<BreadcrumbPage>Gaming Laptop</BreadcrumbPage>
|
|
71
|
+
</BreadcrumbItem>
|
|
72
|
+
</BreadcrumbList>
|
|
73
|
+
</Breadcrumb>
|
|
74
|
+
```
|
|
75
|
+
### Example 3
|
|
76
|
+
```tsx
|
|
77
|
+
// With Next.js Link integration using asChild
|
|
78
|
+
import { Link } from "next/link"
|
|
79
|
+
<Breadcrumb>
|
|
80
|
+
<BreadcrumbList>
|
|
81
|
+
<BreadcrumbItem>
|
|
82
|
+
<BreadcrumbLink asChild>
|
|
83
|
+
<Link href="/">Home</Link>
|
|
84
|
+
</BreadcrumbLink>
|
|
85
|
+
</BreadcrumbItem>
|
|
86
|
+
<BreadcrumbSeparator />
|
|
87
|
+
<BreadcrumbItem>
|
|
88
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
89
|
+
</BreadcrumbItem>
|
|
90
|
+
</BreadcrumbList>
|
|
91
|
+
</Breadcrumb>
|
|
92
|
+
```
|
|
93
|
+
### Example 4
|
|
94
|
+
```tsx
|
|
95
|
+
// With custom separator
|
|
96
|
+
import { Slash } from "lucide-react"
|
|
97
|
+
<Breadcrumb>
|
|
98
|
+
<BreadcrumbList>
|
|
99
|
+
<BreadcrumbItem>
|
|
100
|
+
<BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
101
|
+
</BreadcrumbItem>
|
|
102
|
+
<BreadcrumbSeparator>
|
|
103
|
+
<Slash />
|
|
104
|
+
</BreadcrumbSeparator>
|
|
105
|
+
<BreadcrumbItem>
|
|
106
|
+
<BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
107
|
+
</BreadcrumbItem>
|
|
108
|
+
</BreadcrumbList>
|
|
109
|
+
</Breadcrumb>
|
|
110
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# ButtonGroupSeparator
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
ButtonGroupSeparator - Visual divider for buttons within a button group A specialized separator component that creates visual divisions between buttons or elements within a ButtonGroup. Built on the Separator primitive with automatic sizing and styling to match button group layouts. The separator orientation typically matches the button group orientation (vertical separators in horizontal groups, horizontal separators in vertical groups). Key behaviors: - Self-stretches to match parent height/width automatically - Uses input border color for subtle visual division - Removes margins for seamless integration - Decorative by default (hidden from screen readers) Note: Separators are typically unnecessary for outline variant buttons since they already have visible borders. Use separators with ghost, default, or other variants where the visual separation is needed.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { ButtonGroupSeparator } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<ButtonGroupSeparator
|
|
13
|
+
orientation={value}
|
|
14
|
+
className="value"
|
|
15
|
+
decorative={true}
|
|
16
|
+
/>
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Component Props
|
|
20
|
+
|
|
21
|
+
### orientation
|
|
22
|
+
- **Type**: `"horizontal" | "vertical"`
|
|
23
|
+
- **Required**: No
|
|
24
|
+
- **Description**: No description available
|
|
25
|
+
|
|
26
|
+
### className
|
|
27
|
+
- **Type**: `string`
|
|
28
|
+
- **Required**: No
|
|
29
|
+
- **Description**: No description available
|
|
30
|
+
|
|
31
|
+
### decorative
|
|
32
|
+
- **Type**: `boolean`
|
|
33
|
+
- **Required**: No
|
|
34
|
+
- **Description**: No description available
|
|
35
|
+
|
|
36
|
+
## Examples
|
|
37
|
+
|
|
38
|
+
### Example 1
|
|
39
|
+
```tsx
|
|
40
|
+
// Horizontal button group with vertical separators
|
|
41
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
42
|
+
### Example 2
|
|
43
|
+
```tsx
|
|
44
|
+
// Vertical button group with horizontal separators
|
|
45
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
46
|
+
### Example 3
|
|
47
|
+
```tsx
|
|
48
|
+
// Separating button group sections in toolbar
|
|
49
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
50
|
+
### Example 4
|
|
51
|
+
```tsx
|
|
52
|
+
// Separator with custom height for specific layouts
|
|
53
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# ButtonGroupText
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
ButtonGroupText - Text display element for labels and information within button groups A styled text container designed to display non-interactive content within button groups, such as labels, pagination information, or contextual text. Maintains visual consistency with grouped buttons through matching height, border, and styling while being clearly non-interactive with a muted background. Common use cases: - Pagination counters ("Page 1 of 10") - Section labels ("Actions:", "Tools:") - Status indicators or counts - Contextual information between action buttons The component automatically: - Matches button group styling with appropriate borders and spacing - Sizes icons consistently at 16px (size-4) - Maintains visual hierarchy with muted background - Prevents pointer events on icons to avoid interaction confusion
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { ButtonGroupText } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<ButtonGroupText
|
|
13
|
+
asChild={true}
|
|
14
|
+
className="value"
|
|
15
|
+
>
|
|
16
|
+
{/* Your content here */}
|
|
17
|
+
</ButtonGroupText>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Component Props
|
|
21
|
+
|
|
22
|
+
### asChild
|
|
23
|
+
- **Type**: `boolean`
|
|
24
|
+
- **Required**: No
|
|
25
|
+
- **Description**: No description available
|
|
26
|
+
|
|
27
|
+
### className
|
|
28
|
+
- **Type**: `string`
|
|
29
|
+
- **Required**: No
|
|
30
|
+
- **Description**: No description available
|
|
31
|
+
|
|
32
|
+
### children
|
|
33
|
+
- **Type**: `React.ReactNode`
|
|
34
|
+
- **Required**: No
|
|
35
|
+
- **Description**: No description available
|
|
36
|
+
|
|
37
|
+
## Examples
|
|
38
|
+
|
|
39
|
+
### Example 1
|
|
40
|
+
```tsx
|
|
41
|
+
// Pagination with page count display
|
|
42
|
+
import { Button, ButtonGroup, ButtonGroupText } from "
|
|
43
|
+
### Example 2
|
|
44
|
+
```tsx
|
|
45
|
+
// Section label with action buttons
|
|
46
|
+
import { Copy, Download } from "lucide-react"
|
|
47
|
+
import { Button, ButtonGroup, ButtonGroupText, ButtonGroupSeparator } from "
|
|
48
|
+
### Example 3
|
|
49
|
+
```tsx
|
|
50
|
+
// Status indicator with icon
|
|
51
|
+
import { CheckCircle2 } from "lucide-react"
|
|
52
|
+
import { ButtonGroup, ButtonGroupText } from "
|
|
53
|
+
### Example 4
|
|
54
|
+
```tsx
|
|
55
|
+
// Custom composition with asChild
|
|
56
|
+
import { ButtonGroup, ButtonGroupText } from "
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# ButtonGroup
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
ButtonGroup - Container for grouping related buttons with consistent styling A flexible container component that groups related action buttons together with seamless visual connection. Built for toolbars, pagination controls, action menus, and navigation interfaces. Supports both horizontal and vertical layouts with intelligent border and border-radius management to create cohesive button groups. The component automatically handles: - Border collapsing between adjacent buttons for seamless appearance - Focus state z-index management to ensure proper focus ring visibility - Integration with Button, Input, and Select components - Nested button group support for complex layouts - Responsive sizing that adapts to button content
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { ButtonGroup } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<ButtonGroup
|
|
13
|
+
orientation={value}
|
|
14
|
+
className="value"
|
|
15
|
+
"aria-label"="value"
|
|
16
|
+
"aria-labelledby"="value"
|
|
17
|
+
"aria-describedby"="value"
|
|
18
|
+
>
|
|
19
|
+
{/* Your content here */}
|
|
20
|
+
</ButtonGroup>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Component Props
|
|
24
|
+
|
|
25
|
+
### orientation
|
|
26
|
+
- **Type**: `"horizontal" | "vertical"`
|
|
27
|
+
- **Required**: No
|
|
28
|
+
- **Description**: No description available
|
|
29
|
+
|
|
30
|
+
### className
|
|
31
|
+
- **Type**: `string`
|
|
32
|
+
- **Required**: No
|
|
33
|
+
- **Description**: No description available
|
|
34
|
+
|
|
35
|
+
### children
|
|
36
|
+
- **Type**: `React.ReactNode`
|
|
37
|
+
- **Required**: No
|
|
38
|
+
- **Description**: No description available
|
|
39
|
+
|
|
40
|
+
### "aria-label"
|
|
41
|
+
- **Type**: `string`
|
|
42
|
+
- **Required**: No
|
|
43
|
+
- **Description**: No description available
|
|
44
|
+
|
|
45
|
+
### "aria-labelledby"
|
|
46
|
+
- **Type**: `string`
|
|
47
|
+
- **Required**: No
|
|
48
|
+
- **Description**: No description available
|
|
49
|
+
|
|
50
|
+
### "aria-describedby"
|
|
51
|
+
- **Type**: `string`
|
|
52
|
+
- **Required**: No
|
|
53
|
+
- **Description**: No description available
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
### Example 1
|
|
58
|
+
```tsx
|
|
59
|
+
// Basic horizontal button group (most common usage)
|
|
60
|
+
import { Button, ButtonGroup } from "
|
|
61
|
+
### Example 2
|
|
62
|
+
```tsx
|
|
63
|
+
// Vertical button group for navigation menus
|
|
64
|
+
import { Button, ButtonGroup } from "
|
|
65
|
+
### Example 3
|
|
66
|
+
```tsx
|
|
67
|
+
// Button group with icons and separators
|
|
68
|
+
import { Copy, Download, Share2 } from "lucide-react"
|
|
69
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
70
|
+
### Example 4
|
|
71
|
+
```tsx
|
|
72
|
+
// Pagination controls with text element
|
|
73
|
+
import { Button, ButtonGroup, ButtonGroupText } from "
|
|
74
|
+
### Example 5
|
|
75
|
+
```tsx
|
|
76
|
+
// Toolbar with multiple grouped sections
|
|
77
|
+
import { Button, ButtonGroup, ButtonGroupSeparator } from "
|
|
78
|
+
### Example 6
|
|
79
|
+
```tsx
|
|
80
|
+
// Different button sizes in groups
|
|
81
|
+
import { Button, ButtonGroup } from "
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Button - A versatile, accessible button component with multiple style variants A fundamental UI element built on Radix UI's Slot primitive that supports extensive customization through variants, composition patterns, and comprehensive accessibility features. The component automatically handles icon styling, focus management, form integration, and can be rendered as other elements using the asChild pattern.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { Button } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<Button
|
|
13
|
+
variant={value}
|
|
14
|
+
size={value}
|
|
15
|
+
asChild={true}
|
|
16
|
+
className="value"
|
|
17
|
+
disabled={true}
|
|
18
|
+
type={value}
|
|
19
|
+
onClick={handleClick}
|
|
20
|
+
onFocus={handleFocus}
|
|
21
|
+
onBlur={handleBlur}
|
|
22
|
+
onMouseEnter={handleMouseEnter}
|
|
23
|
+
onMouseLeave={handleMouseLeave}
|
|
24
|
+
"aria-label"="value"
|
|
25
|
+
"aria-describedby"="value"
|
|
26
|
+
"aria-invalid"={value}
|
|
27
|
+
"aria-expanded"={value}
|
|
28
|
+
"aria-controls"="value"
|
|
29
|
+
"aria-pressed"={value}
|
|
30
|
+
tabIndex={0}
|
|
31
|
+
autoFocus={true}
|
|
32
|
+
form="value"
|
|
33
|
+
formAction={() => {}}
|
|
34
|
+
formEncType="value"
|
|
35
|
+
formMethod="value"
|
|
36
|
+
formNoValidate={true}
|
|
37
|
+
formTarget="value"
|
|
38
|
+
name="value"
|
|
39
|
+
value={value}
|
|
40
|
+
ref={value}
|
|
41
|
+
>
|
|
42
|
+
{/* Your content here */}
|
|
43
|
+
</Button>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Component Props
|
|
47
|
+
|
|
48
|
+
### variant
|
|
49
|
+
- **Type**: `| "default"
|
|
50
|
+
| "destructive"
|
|
51
|
+
| "outline"
|
|
52
|
+
| "secondary"
|
|
53
|
+
| "ghost"
|
|
54
|
+
| "link"`
|
|
55
|
+
- **Required**: No
|
|
56
|
+
- **Description**: No description available
|
|
57
|
+
|
|
58
|
+
### size
|
|
59
|
+
- **Type**: `"default" | "sm" | "lg" | "icon"`
|
|
60
|
+
- **Required**: No
|
|
61
|
+
- **Description**: No description available
|
|
62
|
+
|
|
63
|
+
### asChild
|
|
64
|
+
- **Type**: `boolean`
|
|
65
|
+
- **Required**: No
|
|
66
|
+
- **Description**: No description available
|
|
67
|
+
|
|
68
|
+
### children
|
|
69
|
+
- **Type**: `React.ReactNode`
|
|
70
|
+
- **Required**: No
|
|
71
|
+
- **Description**: No description available
|
|
72
|
+
|
|
73
|
+
### className
|
|
74
|
+
- **Type**: `string`
|
|
75
|
+
- **Required**: No
|
|
76
|
+
- **Description**: No description available
|
|
77
|
+
|
|
78
|
+
### disabled
|
|
79
|
+
- **Type**: `boolean`
|
|
80
|
+
- **Required**: No
|
|
81
|
+
- **Description**: No description available
|
|
82
|
+
|
|
83
|
+
### type
|
|
84
|
+
- **Type**: `"button" | "submit" | "reset"`
|
|
85
|
+
- **Required**: No
|
|
86
|
+
- **Description**: No description available
|
|
87
|
+
|
|
88
|
+
### onClick
|
|
89
|
+
- **Type**: `React.MouseEventHandler<HTMLButtonElement>`
|
|
90
|
+
- **Required**: No
|
|
91
|
+
- **Description**: No description available
|
|
92
|
+
|
|
93
|
+
### onFocus
|
|
94
|
+
- **Type**: `React.FocusEventHandler<HTMLButtonElement>`
|
|
95
|
+
- **Required**: No
|
|
96
|
+
- **Description**: No description available
|
|
97
|
+
|
|
98
|
+
### onBlur
|
|
99
|
+
- **Type**: `React.FocusEventHandler<HTMLButtonElement>`
|
|
100
|
+
- **Required**: No
|
|
101
|
+
- **Description**: No description available
|
|
102
|
+
|
|
103
|
+
### onMouseEnter
|
|
104
|
+
- **Type**: `React.MouseEventHandler<HTMLButtonElement>`
|
|
105
|
+
- **Required**: No
|
|
106
|
+
- **Description**: No description available
|
|
107
|
+
|
|
108
|
+
### onMouseLeave
|
|
109
|
+
- **Type**: `React.MouseEventHandler<HTMLButtonElement>`
|
|
110
|
+
- **Required**: No
|
|
111
|
+
- **Description**: No description available
|
|
112
|
+
|
|
113
|
+
### "aria-label"
|
|
114
|
+
- **Type**: `string`
|
|
115
|
+
- **Required**: No
|
|
116
|
+
- **Description**: No description available
|
|
117
|
+
|
|
118
|
+
### "aria-describedby"
|
|
119
|
+
- **Type**: `string`
|
|
120
|
+
- **Required**: No
|
|
121
|
+
- **Description**: No description available
|
|
122
|
+
|
|
123
|
+
### "aria-invalid"
|
|
124
|
+
- **Type**: `boolean | "false" | "true" | "grammar" | "spelling"`
|
|
125
|
+
- **Required**: No
|
|
126
|
+
- **Description**: No description available
|
|
127
|
+
|
|
128
|
+
### "aria-expanded"
|
|
129
|
+
- **Type**: `React.AriaAttributes["aria-expanded"]`
|
|
130
|
+
- **Required**: No
|
|
131
|
+
- **Description**: No description available
|
|
132
|
+
|
|
133
|
+
### "aria-controls"
|
|
134
|
+
- **Type**: `string`
|
|
135
|
+
- **Required**: No
|
|
136
|
+
- **Description**: No description available
|
|
137
|
+
|
|
138
|
+
### "aria-pressed"
|
|
139
|
+
- **Type**: `boolean | "false" | "true" | "mixed"`
|
|
140
|
+
- **Required**: No
|
|
141
|
+
- **Description**: No description available
|
|
142
|
+
|
|
143
|
+
### tabIndex
|
|
144
|
+
- **Type**: `number`
|
|
145
|
+
- **Required**: No
|
|
146
|
+
- **Description**: No description available
|
|
147
|
+
|
|
148
|
+
### autoFocus
|
|
149
|
+
- **Type**: `boolean`
|
|
150
|
+
- **Required**: No
|
|
151
|
+
- **Description**: No description available
|
|
152
|
+
|
|
153
|
+
### form
|
|
154
|
+
- **Type**: `string`
|
|
155
|
+
- **Required**: No
|
|
156
|
+
- **Description**: No description available
|
|
157
|
+
|
|
158
|
+
### formAction
|
|
159
|
+
- **Type**: `string | ((formData: FormData) => void | Promise<void>)`
|
|
160
|
+
- **Required**: No
|
|
161
|
+
- **Description**: No description available
|
|
162
|
+
|
|
163
|
+
### formEncType
|
|
164
|
+
- **Type**: `string`
|
|
165
|
+
- **Required**: No
|
|
166
|
+
- **Description**: No description available
|
|
167
|
+
|
|
168
|
+
### formMethod
|
|
169
|
+
- **Type**: `string`
|
|
170
|
+
- **Required**: No
|
|
171
|
+
- **Description**: No description available
|
|
172
|
+
|
|
173
|
+
### formNoValidate
|
|
174
|
+
- **Type**: `boolean`
|
|
175
|
+
- **Required**: No
|
|
176
|
+
- **Description**: No description available
|
|
177
|
+
|
|
178
|
+
### formTarget
|
|
179
|
+
- **Type**: `string`
|
|
180
|
+
- **Required**: No
|
|
181
|
+
- **Description**: No description available
|
|
182
|
+
|
|
183
|
+
### name
|
|
184
|
+
- **Type**: `string`
|
|
185
|
+
- **Required**: No
|
|
186
|
+
- **Description**: No description available
|
|
187
|
+
|
|
188
|
+
### value
|
|
189
|
+
- **Type**: `string | ReadonlyArray<string> | number`
|
|
190
|
+
- **Required**: No
|
|
191
|
+
- **Description**: No description available
|
|
192
|
+
|
|
193
|
+
### ref
|
|
194
|
+
- **Type**: `React.Ref<HTMLButtonElement>`
|
|
195
|
+
- **Required**: No
|
|
196
|
+
- **Description**: No description available
|
|
197
|
+
|
|
198
|
+
## Examples
|
|
199
|
+
|
|
200
|
+
### Example 1
|
|
201
|
+
```tsx
|
|
202
|
+
// Basic usage with different variants
|
|
203
|
+
<Button>Default Button</Button>
|
|
204
|
+
<Button variant="destructive">Delete Item</Button>
|
|
205
|
+
<Button variant="outline" size="lg">Large Outline</Button>
|
|
206
|
+
<Button variant="ghost" size="sm">Small Ghost</Button>
|
|
207
|
+
<Button variant="link">Link Button</Button>
|
|
208
|
+
```
|
|
209
|
+
### Example 2
|
|
210
|
+
```tsx
|
|
211
|
+
// Icon usage (automatically styled with proper spacing)
|
|
212
|
+
import { Download, ArrowRight, Plus, Trash2 } from "lucide-react";
|
|
213
|
+
<Button>
|
|
214
|
+
<Download className="mr-2" /> Download File
|
|
215
|
+
</Button>
|
|
216
|
+
<Button variant="outline">
|
|
217
|
+
Continue <ArrowRight className="ml-2" />
|
|
218
|
+
</Button>
|
|
219
|
+
// Icon-only button (always include aria-label)
|
|
220
|
+
<Button size="icon" aria-label="Add new item">
|
|
221
|
+
<Plus />
|
|
222
|
+
</Button>
|
|
223
|
+
<Button size="icon" variant="destructive" aria-label="Delete item">
|
|
224
|
+
<Trash2 />
|
|
225
|
+
</Button>
|
|
226
|
+
```
|
|
227
|
+
### Example 3
|
|
228
|
+
```tsx
|
|
229
|
+
// Composition with asChild (render as different elements)
|
|
230
|
+
import Link from "next/link";
|
|
231
|
+
import { ExternalLink } from "lucide-react";
|
|
232
|
+
<Button asChild>
|
|
233
|
+
<Link href="/dashboard">Go to Dashboard</Link>
|
|
234
|
+
</Button>
|
|
235
|
+
<Button asChild variant="outline">
|
|
236
|
+
<a href="https://example.com" target="_blank" rel="noopener noreferrer">
|
|
237
|
+
External Link <ExternalLink className="ml-2 h-4 w-4" />
|
|
238
|
+
</a>
|
|
239
|
+
</Button>
|
|
240
|
+
```
|
|
241
|
+
### Example 4
|
|
242
|
+
```tsx
|
|
243
|
+
// Form integration and states
|
|
244
|
+
<Button type="submit" disabled={isSubmitting}>
|
|
245
|
+
{isSubmitting ? "Submitting..." : "Submit Form"}
|
|
246
|
+
</Button>
|
|
247
|
+
<Button
|
|
248
|
+
variant="destructive"
|
|
249
|
+
onClick={() => handleDelete()}
|
|
250
|
+
aria-describedby="delete-warning"
|
|
251
|
+
>
|
|
252
|
+
Delete Account
|
|
253
|
+
</Button>
|
|
254
|
+
<p id="delete-warning" className="sr-only">
|
|
255
|
+
This action cannot be undone
|
|
256
|
+
</p>
|
|
257
|
+
// Toggle button with pressed state
|
|
258
|
+
<Button
|
|
259
|
+
variant="outline"
|
|
260
|
+
aria-pressed={isToggled}
|
|
261
|
+
onClick={() => setIsToggled(!isToggled)}
|
|
262
|
+
>
|
|
263
|
+
{isToggled ? "Enabled" : "Disabled"}
|
|
264
|
+
</Button>
|
|
265
|
+
```
|
|
266
|
+
### Example 5
|
|
267
|
+
```tsx
|
|
268
|
+
// Loading states and advanced usage
|
|
269
|
+
import { Loader2, Save } from "lucide-react";
|
|
270
|
+
<Button disabled={isLoading}>
|
|
271
|
+
{isLoading && <Loader2 className="mr-2 h-4 w-4 animate-spin" />}
|
|
272
|
+
{isLoading ? "Saving..." : "Save Changes"}
|
|
273
|
+
</Button>
|
|
274
|
+
// With custom styling
|
|
275
|
+
<Button
|
|
276
|
+
className="bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-600 hover:to-pink-600"
|
|
277
|
+
size="lg"
|
|
278
|
+
>
|
|
279
|
+
Gradient Button
|
|
280
|
+
</Button>
|
|
281
|
+
```
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# CalendarDayButton
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CalendarDayButton - Individual day button component for calendar dates Renders a single interactive day button with appropriate styling for different states including selected, today, disabled, and range selection indicators. This component is used internally by the Calendar component but can be customized if needed.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CalendarDayButton } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CalendarDayButton
|
|
13
|
+
className={value}
|
|
14
|
+
day={value}
|
|
15
|
+
modifiers={value}
|
|
16
|
+
...props={value}
|
|
17
|
+
/>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Component Props
|
|
21
|
+
|
|
22
|
+
### className
|
|
23
|
+
- **Type**: `unknown`
|
|
24
|
+
- **Required**: Yes
|
|
25
|
+
- **Description**: No description available
|
|
26
|
+
|
|
27
|
+
### day
|
|
28
|
+
- **Type**: `unknown`
|
|
29
|
+
- **Required**: Yes
|
|
30
|
+
- **Description**: No description available
|
|
31
|
+
|
|
32
|
+
### modifiers
|
|
33
|
+
- **Type**: `unknown`
|
|
34
|
+
- **Required**: Yes
|
|
35
|
+
- **Description**: No description available
|
|
36
|
+
|
|
37
|
+
### ...props
|
|
38
|
+
- **Type**: `unknown`
|
|
39
|
+
- **Required**: Yes
|
|
40
|
+
- **Description**: No description available
|
|
41
|
+
|
|
42
|
+
## Examples
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
// Used internally by Calendar component
|
|
46
|
+
<CalendarDayButton
|
|
47
|
+
day={dayObject}
|
|
48
|
+
modifiers={{
|
|
49
|
+
selected: true,
|
|
50
|
+
today: false,
|
|
51
|
+
disabled: false,
|
|
52
|
+
range_start: false,
|
|
53
|
+
range_end: false,
|
|
54
|
+
range_middle: false
|
|
55
|
+
}}
|
|
56
|
+
/>
|
|
57
|
+
```
|