@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,340 @@
|
|
|
1
|
+
# Calendar
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
Calendar - A comprehensive date selection calendar component A fully-featured calendar component built on react-day-picker that provides intuitive date selection with extensive customization options. Supports single dates, date ranges, multiple dates, and custom validation rules with built-in accessibility features. Built on the powerful react-day-picker library, this component provides a complete calendar interface with advanced features like custom formatters, modifiers, disabled dates, localization, and extensive styling options.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { Calendar } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<Calendar
|
|
13
|
+
mode={value}
|
|
14
|
+
selected={[]}
|
|
15
|
+
onSelect={handleSelect}
|
|
16
|
+
buttonVariant={value}
|
|
17
|
+
captionLayout={value}
|
|
18
|
+
showOutsideDays={true}
|
|
19
|
+
numberOfMonths={0}
|
|
20
|
+
showWeekNumber={true}
|
|
21
|
+
ISOWeek={true}
|
|
22
|
+
fixedWeeks={true}
|
|
23
|
+
disabled={[]}
|
|
24
|
+
highlighted={[]}
|
|
25
|
+
defaultMonth={value}
|
|
26
|
+
month={value}
|
|
27
|
+
onMonthChange={handleMonthChange}
|
|
28
|
+
startMonth={value}
|
|
29
|
+
endMonth={value}
|
|
30
|
+
fromYear={0}
|
|
31
|
+
toYear={0}
|
|
32
|
+
disableNavigation={true}
|
|
33
|
+
hideNavigation={true}
|
|
34
|
+
animate={true}
|
|
35
|
+
weekStartsOn={value}
|
|
36
|
+
firstWeekContainsDate={value}
|
|
37
|
+
locale={value}
|
|
38
|
+
dir={value}
|
|
39
|
+
onDayClick={handleDayClick}
|
|
40
|
+
onDayMouseEnter={handleDayMouseEnter}
|
|
41
|
+
onDayMouseLeave={handleDayMouseLeave}
|
|
42
|
+
onDayKeyDown={handleDayKeyDown}
|
|
43
|
+
onWeekNumberClick={handleWeekNumberClick}
|
|
44
|
+
formatters={() => {}}
|
|
45
|
+
classNames={value}
|
|
46
|
+
components={value}
|
|
47
|
+
footer={value}
|
|
48
|
+
modifiers={[]}
|
|
49
|
+
className="value"
|
|
50
|
+
style={value}
|
|
51
|
+
/>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Component Props
|
|
55
|
+
|
|
56
|
+
### mode
|
|
57
|
+
- **Type**: `"single" | "multiple" | "range" | "none"`
|
|
58
|
+
- **Required**: No
|
|
59
|
+
- **Description**: No description available
|
|
60
|
+
|
|
61
|
+
### selected
|
|
62
|
+
- **Type**: `Date | Date[] | DateRange | undefined`
|
|
63
|
+
- **Required**: No
|
|
64
|
+
- **Description**: No description available
|
|
65
|
+
|
|
66
|
+
### onSelect
|
|
67
|
+
- **Type**: `(value: Date | Date[] | DateRange | undefined) => void`
|
|
68
|
+
- **Required**: No
|
|
69
|
+
- **Description**: No description available
|
|
70
|
+
|
|
71
|
+
### buttonVariant
|
|
72
|
+
- **Type**: `| "default"
|
|
73
|
+
| "destructive"
|
|
74
|
+
| "outline"
|
|
75
|
+
| "secondary"
|
|
76
|
+
| "ghost"
|
|
77
|
+
| "link"`
|
|
78
|
+
- **Required**: No
|
|
79
|
+
- **Description**: No description available
|
|
80
|
+
|
|
81
|
+
### captionLayout
|
|
82
|
+
- **Type**: `"buttons" | "dropdown" | "dropdown-buttons"`
|
|
83
|
+
- **Required**: No
|
|
84
|
+
- **Description**: No description available
|
|
85
|
+
|
|
86
|
+
### showOutsideDays
|
|
87
|
+
- **Type**: `boolean`
|
|
88
|
+
- **Required**: No
|
|
89
|
+
- **Description**: No description available
|
|
90
|
+
|
|
91
|
+
### numberOfMonths
|
|
92
|
+
- **Type**: `number`
|
|
93
|
+
- **Required**: No
|
|
94
|
+
- **Description**: No description available
|
|
95
|
+
|
|
96
|
+
### showWeekNumber
|
|
97
|
+
- **Type**: `boolean`
|
|
98
|
+
- **Required**: No
|
|
99
|
+
- **Description**: No description available
|
|
100
|
+
|
|
101
|
+
### ISOWeek
|
|
102
|
+
- **Type**: `boolean`
|
|
103
|
+
- **Required**: No
|
|
104
|
+
- **Description**: No description available
|
|
105
|
+
|
|
106
|
+
### fixedWeeks
|
|
107
|
+
- **Type**: `boolean`
|
|
108
|
+
- **Required**: No
|
|
109
|
+
- **Description**: No description available
|
|
110
|
+
|
|
111
|
+
### disabled
|
|
112
|
+
- **Type**: `Matcher | Matcher[]`
|
|
113
|
+
- **Required**: No
|
|
114
|
+
- **Description**: No description available
|
|
115
|
+
|
|
116
|
+
### highlighted
|
|
117
|
+
- **Type**: `Matcher | Matcher[]`
|
|
118
|
+
- **Required**: No
|
|
119
|
+
- **Description**: No description available
|
|
120
|
+
|
|
121
|
+
### defaultMonth
|
|
122
|
+
- **Type**: `Date`
|
|
123
|
+
- **Required**: No
|
|
124
|
+
- **Description**: No description available
|
|
125
|
+
|
|
126
|
+
### month
|
|
127
|
+
- **Type**: `Date`
|
|
128
|
+
- **Required**: No
|
|
129
|
+
- **Description**: No description available
|
|
130
|
+
|
|
131
|
+
### onMonthChange
|
|
132
|
+
- **Type**: `(month: Date) => void`
|
|
133
|
+
- **Required**: No
|
|
134
|
+
- **Description**: No description available
|
|
135
|
+
|
|
136
|
+
### startMonth
|
|
137
|
+
- **Type**: `Date`
|
|
138
|
+
- **Required**: No
|
|
139
|
+
- **Description**: No description available
|
|
140
|
+
|
|
141
|
+
### endMonth
|
|
142
|
+
- **Type**: `Date`
|
|
143
|
+
- **Required**: No
|
|
144
|
+
- **Description**: No description available
|
|
145
|
+
|
|
146
|
+
### fromYear
|
|
147
|
+
- **Type**: `number`
|
|
148
|
+
- **Required**: No
|
|
149
|
+
- **Description**: No description available
|
|
150
|
+
|
|
151
|
+
### toYear
|
|
152
|
+
- **Type**: `number`
|
|
153
|
+
- **Required**: No
|
|
154
|
+
- **Description**: No description available
|
|
155
|
+
|
|
156
|
+
### disableNavigation
|
|
157
|
+
- **Type**: `boolean`
|
|
158
|
+
- **Required**: No
|
|
159
|
+
- **Description**: No description available
|
|
160
|
+
|
|
161
|
+
### hideNavigation
|
|
162
|
+
- **Type**: `boolean`
|
|
163
|
+
- **Required**: No
|
|
164
|
+
- **Description**: No description available
|
|
165
|
+
|
|
166
|
+
### animate
|
|
167
|
+
- **Type**: `boolean`
|
|
168
|
+
- **Required**: No
|
|
169
|
+
- **Description**: No description available
|
|
170
|
+
|
|
171
|
+
### weekStartsOn
|
|
172
|
+
- **Type**: `0 | 1 | 2 | 3 | 4 | 5 | 6`
|
|
173
|
+
- **Required**: No
|
|
174
|
+
- **Description**: No description available
|
|
175
|
+
|
|
176
|
+
### firstWeekContainsDate
|
|
177
|
+
- **Type**: `1 | 4`
|
|
178
|
+
- **Required**: No
|
|
179
|
+
- **Description**: No description available
|
|
180
|
+
|
|
181
|
+
### locale
|
|
182
|
+
- **Type**: `Locale`
|
|
183
|
+
- **Required**: No
|
|
184
|
+
- **Description**: No description available
|
|
185
|
+
|
|
186
|
+
### dir
|
|
187
|
+
- **Type**: `"ltr" | "rtl"`
|
|
188
|
+
- **Required**: No
|
|
189
|
+
- **Description**: No description available
|
|
190
|
+
|
|
191
|
+
### onDayClick
|
|
192
|
+
- **Type**: `(day: Date, modifiers: Record<string, boolean>) => void`
|
|
193
|
+
- **Required**: No
|
|
194
|
+
- **Description**: No description available
|
|
195
|
+
|
|
196
|
+
### onDayMouseEnter
|
|
197
|
+
- **Type**: `(day: Date, modifiers: Record<string, boolean>) => void`
|
|
198
|
+
- **Required**: No
|
|
199
|
+
- **Description**: No description available
|
|
200
|
+
|
|
201
|
+
### onDayMouseLeave
|
|
202
|
+
- **Type**: `(day: Date, modifiers: Record<string, boolean>) => void`
|
|
203
|
+
- **Required**: No
|
|
204
|
+
- **Description**: No description available
|
|
205
|
+
|
|
206
|
+
### onDayKeyDown
|
|
207
|
+
- **Type**: `(
|
|
208
|
+
day: Date,
|
|
209
|
+
key: string,
|
|
210
|
+
modifiers: Record<string, boolean>,
|
|
211
|
+
) => void`
|
|
212
|
+
- **Required**: No
|
|
213
|
+
- **Description**: No description available
|
|
214
|
+
|
|
215
|
+
### onWeekNumberClick
|
|
216
|
+
- **Type**: `(weekNumber: number, dates: Date[]) => void`
|
|
217
|
+
- **Required**: No
|
|
218
|
+
- **Description**: No description available
|
|
219
|
+
|
|
220
|
+
### formatters
|
|
221
|
+
- **Type**: `{
|
|
222
|
+
/** Format individual day numbers */
|
|
223
|
+
formatDay?: (date: Date) => string;
|
|
224
|
+
/** Format month caption (header) */
|
|
225
|
+
formatMonthCaption?: (date: Date) => string;
|
|
226
|
+
/** Format week numbers */
|
|
227
|
+
formatWeekNumber?: (weekNumber: number) => string;
|
|
228
|
+
/** Format weekday names in header */
|
|
229
|
+
formatWeekdayName?: (date: Date) => string;
|
|
230
|
+
/** Format year in dropdown */
|
|
231
|
+
formatYearDropdown?: (date: Date) => string;
|
|
232
|
+
/** Format month in dropdown */
|
|
233
|
+
formatMonthDropdown?: (date: Date) => string;
|
|
234
|
+
}`
|
|
235
|
+
- **Required**: No
|
|
236
|
+
- **Description**: No description available
|
|
237
|
+
|
|
238
|
+
### classNames
|
|
239
|
+
- **Type**: `{
|
|
240
|
+
/** Root calendar container */
|
|
241
|
+
root?: string;
|
|
242
|
+
/** Months container */
|
|
243
|
+
months?: string;
|
|
244
|
+
/** Individual month container */
|
|
245
|
+
month?: string;
|
|
246
|
+
/** Month caption/header */
|
|
247
|
+
month_caption?: string;
|
|
248
|
+
/** Navigation container */
|
|
249
|
+
nav?: string;
|
|
250
|
+
/** Previous month button */
|
|
251
|
+
button_previous?: string;
|
|
252
|
+
/** Next month button */
|
|
253
|
+
button_next?: string;
|
|
254
|
+
/** Month/year dropdowns container */
|
|
255
|
+
dropdowns?: string;
|
|
256
|
+
/** Individual dropdown */
|
|
257
|
+
dropdown?: string;
|
|
258
|
+
/** Weekdays header row */
|
|
259
|
+
weekdays?: string;
|
|
260
|
+
/** Individual weekday header */
|
|
261
|
+
weekday?: string;
|
|
262
|
+
/** Week row container */
|
|
263
|
+
week?: string;
|
|
264
|
+
/** Week number cell */
|
|
265
|
+
week_number?: string;
|
|
266
|
+
/** Individual day cell */
|
|
267
|
+
day?: string;
|
|
268
|
+
/** Selected day(s) */
|
|
269
|
+
selected?: string;
|
|
270
|
+
/** Today's date */
|
|
271
|
+
today?: string;
|
|
272
|
+
/** Disabled days */
|
|
273
|
+
disabled?: string;
|
|
274
|
+
/** Days outside current month */
|
|
275
|
+
outside?: string;
|
|
276
|
+
/** Range start day */
|
|
277
|
+
range_start?: string;
|
|
278
|
+
/** Range end day */
|
|
279
|
+
range_end?: string;
|
|
280
|
+
/** Days in middle of range */
|
|
281
|
+
range_middle?: string;
|
|
282
|
+
/** Hidden days */
|
|
283
|
+
hidden?: string;
|
|
284
|
+
}`
|
|
285
|
+
- **Required**: No
|
|
286
|
+
- **Description**: No description available
|
|
287
|
+
|
|
288
|
+
### components
|
|
289
|
+
- **Type**: `{
|
|
290
|
+
/** Root calendar container component */
|
|
291
|
+
Root?: React.ComponentType<
|
|
292
|
+
React.ComponentProps<"div"> & { rootRef?: React.Ref<HTMLDivElement> }
|
|
293
|
+
>;
|
|
294
|
+
/** Month caption component */
|
|
295
|
+
MonthCaption?: React.ComponentType<{ displayMonth: Date }>;
|
|
296
|
+
/** Navigation chevron icons */
|
|
297
|
+
Chevron?: React.ComponentType<
|
|
298
|
+
React.ComponentProps<"svg"> & {
|
|
299
|
+
orientation?: "left" | "right" | "up" | "down";
|
|
300
|
+
}
|
|
301
|
+
>;
|
|
302
|
+
/** Individual day button */
|
|
303
|
+
DayButton?: React.ComponentType<React.ComponentProps<typeof DayButton>>;
|
|
304
|
+
/** Day content (number/text inside day) */
|
|
305
|
+
DayContent?: React.ComponentType<{ date: Date }>;
|
|
306
|
+
/** Dropdown select components */
|
|
307
|
+
Dropdown?: React.ComponentType<React.ComponentProps<"select">>;
|
|
308
|
+
/** Week number component */
|
|
309
|
+
WeekNumber?: React.ComponentType<
|
|
310
|
+
React.ComponentProps<"td"> & { children: React.ReactNode }
|
|
311
|
+
>;
|
|
312
|
+
/** Footer component */
|
|
313
|
+
Footer?: React.ComponentType<{ children: React.ReactNode }>;
|
|
314
|
+
/** Weekdays header */
|
|
315
|
+
Weekdays?: React.ComponentType<React.ComponentProps<"tr">>;
|
|
316
|
+
/** Week row component */
|
|
317
|
+
Week?: React.ComponentType<React.ComponentProps<"tr">>;
|
|
318
|
+
}`
|
|
319
|
+
- **Required**: No
|
|
320
|
+
- **Description**: No description available
|
|
321
|
+
|
|
322
|
+
### footer
|
|
323
|
+
- **Type**: `React.ReactNode`
|
|
324
|
+
- **Required**: No
|
|
325
|
+
- **Description**: No description available
|
|
326
|
+
|
|
327
|
+
### modifiers
|
|
328
|
+
- **Type**: `Record<string, Matcher | Matcher[]>`
|
|
329
|
+
- **Required**: No
|
|
330
|
+
- **Description**: No description available
|
|
331
|
+
|
|
332
|
+
### className
|
|
333
|
+
- **Type**: `string`
|
|
334
|
+
- **Required**: No
|
|
335
|
+
- **Description**: No description available
|
|
336
|
+
|
|
337
|
+
### style
|
|
338
|
+
- **Type**: `React.CSSProperties`
|
|
339
|
+
- **Required**: No
|
|
340
|
+
- **Description**: No description available
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# CardAction
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardAction - Container for card header actions Positioned to the right of the card header using CSS Grid positioning. Typically contains icon buttons, badges, or dropdown menus for card-specific actions. Automatically positioned when used within CardHeader. Grid positioning: - `col-start-2`: Places in second column - `row-span-2`: Spans both title and description rows - `row-start-1`: Starts from first row - `self-start justify-self-end`: Aligns to top-right
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardAction } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardAction
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardAction>
|
|
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
|
+
<CardAction>
|
|
36
|
+
<Button variant="ghost" size="icon">
|
|
37
|
+
<MoreHorizontal className="size-4" />
|
|
38
|
+
</Button>
|
|
39
|
+
</CardAction>
|
|
40
|
+
```
|
|
41
|
+
### Example 2
|
|
42
|
+
```tsx
|
|
43
|
+
// With badge
|
|
44
|
+
<CardAction>
|
|
45
|
+
<Badge variant="secondary">New</Badge>
|
|
46
|
+
</CardAction>
|
|
47
|
+
```
|
|
48
|
+
### Example 3
|
|
49
|
+
```tsx
|
|
50
|
+
// With dropdown menu
|
|
51
|
+
<CardAction>
|
|
52
|
+
<DropdownMenu>
|
|
53
|
+
<DropdownMenuTrigger asChild>
|
|
54
|
+
<Button variant="ghost" size="icon">
|
|
55
|
+
<MoreHorizontal className="size-4" />
|
|
56
|
+
</Button>
|
|
57
|
+
</DropdownMenuTrigger>
|
|
58
|
+
<DropdownMenuContent>
|
|
59
|
+
<DropdownMenuItem>Edit</DropdownMenuItem>
|
|
60
|
+
<DropdownMenuItem>Delete</DropdownMenuItem>
|
|
61
|
+
</DropdownMenuContent>
|
|
62
|
+
</DropdownMenu>
|
|
63
|
+
</CardAction>
|
|
64
|
+
```
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# CardContent
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardContent - Main content area of a card Contains the primary content for the card. Automatically applies horizontal padding to maintain consistent spacing with other card sections. Can contain any type of content including text, images, forms, or other components.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardContent } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardContent
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardContent>
|
|
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
|
+
<CardContent>
|
|
36
|
+
<p>Your main content goes here.</p>
|
|
37
|
+
</CardContent>
|
|
38
|
+
```
|
|
39
|
+
### Example 2
|
|
40
|
+
```tsx
|
|
41
|
+
// With custom spacing
|
|
42
|
+
<CardContent className="py-4">
|
|
43
|
+
<div className="space-y-4">
|
|
44
|
+
<p>Multiple content elements</p>
|
|
45
|
+
<Button>Action button</Button>
|
|
46
|
+
</div>
|
|
47
|
+
</CardContent>
|
|
48
|
+
```
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# CardDescription
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardDescription - Supplementary description text for a card Provides additional context or details about the card content. Styled with muted foreground color and smaller text size to create visual hierarchy below the CardTitle.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardDescription } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardDescription
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardDescription>
|
|
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
|
+
<CardDescription>
|
|
36
|
+
View and manage your dashboard settings
|
|
37
|
+
</CardDescription>
|
|
38
|
+
```
|
|
39
|
+
### Example 2
|
|
40
|
+
```tsx
|
|
41
|
+
// Multi-line description
|
|
42
|
+
<CardDescription>
|
|
43
|
+
This card contains important information about your account.
|
|
44
|
+
Review the details and take action if needed.
|
|
45
|
+
</CardDescription>
|
|
46
|
+
```
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# CardFooter
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardFooter - Footer area of a card, typically for actions Positioned at the bottom of the card and commonly used for action buttons, supplementary information, or navigation elements. Uses flexbox layout with automatic alignment of items. Can be styled with border-top when visual separation from content is needed.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardFooter } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardFooter
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardFooter>
|
|
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 footer with actions
|
|
36
|
+
<CardFooter>
|
|
37
|
+
<Button variant="outline">Cancel</Button>
|
|
38
|
+
<Button>Save</Button>
|
|
39
|
+
</CardFooter>
|
|
40
|
+
```
|
|
41
|
+
### Example 2
|
|
42
|
+
```tsx
|
|
43
|
+
// Footer with gap for better spacing
|
|
44
|
+
<CardFooter className="gap-2">
|
|
45
|
+
<Button variant="outline" className="flex-1">Cancel</Button>
|
|
46
|
+
<Button className="flex-1">Confirm</Button>
|
|
47
|
+
</CardFooter>
|
|
48
|
+
```
|
|
49
|
+
### Example 3
|
|
50
|
+
```tsx
|
|
51
|
+
// Footer with supplementary info
|
|
52
|
+
<CardFooter className="justify-between">
|
|
53
|
+
<span className="text-sm text-muted-foreground">Last updated 2 days ago</span>
|
|
54
|
+
<Button size="sm">Edit</Button>
|
|
55
|
+
</CardFooter>
|
|
56
|
+
```
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# CardHeader
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardHeader - Container for card header content Groups the card title, description, and optional action button. Automatically handles grid layout when CardAction is present, positioning the action to the right while allowing title and description to span the remaining space. Uses CSS Grid with container queries for responsive behavior: - Default: Single column layout for title and description - With CardAction: Two-column grid with action positioned top-right - Auto-adjusts spacing with gap utilities
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardHeader } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardHeader
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardHeader>
|
|
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 header with title and description
|
|
36
|
+
<CardHeader>
|
|
37
|
+
<CardTitle>Dashboard Overview</CardTitle>
|
|
38
|
+
<CardDescription>View your analytics and metrics</CardDescription>
|
|
39
|
+
</CardHeader>
|
|
40
|
+
```
|
|
41
|
+
### Example 2
|
|
42
|
+
```tsx
|
|
43
|
+
// Header with action button
|
|
44
|
+
<CardHeader>
|
|
45
|
+
<CardTitle>Settings</CardTitle>
|
|
46
|
+
<CardDescription>Manage your preferences</CardDescription>
|
|
47
|
+
<CardAction>
|
|
48
|
+
<Button variant="ghost" size="icon">
|
|
49
|
+
<MoreHorizontal className="size-4" />
|
|
50
|
+
</Button>
|
|
51
|
+
</CardAction>
|
|
52
|
+
</CardHeader>
|
|
53
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# CardTitle
|
|
2
|
+
|
|
3
|
+
**Type**: component
|
|
4
|
+
|
|
5
|
+
CardTitle - The main title of a card Renders the primary heading for a card. Should be used within CardHeader to maintain proper semantic structure and visual hierarchy. Uses semibold font weight and leading-none for compact appearance.
|
|
6
|
+
|
|
7
|
+
## JSX Usage
|
|
8
|
+
|
|
9
|
+
```jsx
|
|
10
|
+
import { CardTitle } from '@neynar/ui';
|
|
11
|
+
|
|
12
|
+
<CardTitle
|
|
13
|
+
className="value"
|
|
14
|
+
>
|
|
15
|
+
{/* Your content here */}
|
|
16
|
+
</CardTitle>
|
|
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
|
+
<CardTitle>Dashboard Overview</CardTitle>
|
|
36
|
+
```
|
|
37
|
+
### Example 2
|
|
38
|
+
```tsx
|
|
39
|
+
// With custom styling
|
|
40
|
+
<CardTitle className="text-lg text-primary">
|
|
41
|
+
Featured Product
|
|
42
|
+
</CardTitle>
|
|
43
|
+
```
|