@neynar/ui 0.1.1 → 0.1.2
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/dist/components/ui/accordion.d.ts +1 -25
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.d.ts +240 -46
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert.d.ts +73 -11
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/aspect-ratio.d.ts +44 -10
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/components/ui/avatar.d.ts +117 -33
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/badge.d.ts +50 -71
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.d.ts +231 -49
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +189 -71
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/calendar.d.ts +197 -40
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/card.d.ts +7 -22
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/carousel.d.ts +369 -99
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/chart.d.ts.map +1 -1
- package/dist/components/ui/checkbox.d.ts +110 -38
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/collapsible.d.ts +246 -61
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/combobox.d.ts +207 -159
- package/dist/components/ui/combobox.d.ts.map +1 -1
- package/dist/components/ui/command.d.ts +336 -67
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/container.d.ts +159 -64
- package/dist/components/ui/container.d.ts.map +1 -1
- package/dist/components/ui/context-menu.d.ts +321 -39
- package/dist/components/ui/context-menu.d.ts.map +1 -1
- package/dist/components/ui/date-picker.d.ts +113 -86
- package/dist/components/ui/date-picker.d.ts.map +1 -1
- package/dist/components/ui/dialog.d.ts +106 -25
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/drawer.d.ts +388 -59
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.d.ts +521 -74
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/empty-state.d.ts +148 -76
- package/dist/components/ui/empty-state.d.ts.map +1 -1
- package/dist/components/ui/hover-card.d.ts +253 -34
- package/dist/components/ui/hover-card.d.ts.map +1 -1
- package/dist/components/ui/input.d.ts +143 -44
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/label.d.ts +0 -8
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/menubar.d.ts +288 -46
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.d.ts +444 -127
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/pagination.d.ts +342 -66
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/popover.d.ts +0 -8
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/progress.d.ts +88 -30
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/radio-group.d.ts +189 -45
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/resizable.d.ts +178 -62
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.d.ts +180 -21
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/select.d.ts +382 -60
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/separator.d.ts +52 -39
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/sheet.d.ts +144 -27
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sidebar.d.ts +81 -31
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/skeleton.d.ts +94 -32
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/slider.d.ts +37 -31
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts +280 -46
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/stack.d.ts +289 -148
- package/dist/components/ui/stack.d.ts.map +1 -1
- package/dist/components/ui/stories/aspect-ratio.stories.d.ts +1 -2
- package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
- package/dist/components/ui/stories/container.stories.d.ts +2 -3
- package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
- package/dist/components/ui/stories/empty-state.stories.d.ts +2 -2
- package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -2
- package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
- package/dist/components/ui/stories/stack.stories.d.ts +1 -1
- package/dist/components/ui/stories/text-field.stories.d.ts +7 -1
- package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
- package/dist/components/ui/switch.d.ts +44 -38
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/table.d.ts +33 -0
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/tabs.d.ts +4 -22
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/text-field.d.ts +170 -84
- package/dist/components/ui/text-field.d.ts.map +1 -1
- package/dist/components/ui/textarea.d.ts +106 -29
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/theme-toggle.d.ts +190 -65
- package/dist/components/ui/theme-toggle.d.ts.map +1 -1
- package/dist/components/ui/theme.d.ts +107 -23
- package/dist/components/ui/theme.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +143 -67
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle.d.ts +118 -30
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/tooltip.d.ts +152 -28
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/typography.d.ts +452 -134
- package/dist/components/ui/typography.d.ts.map +1 -1
- package/dist/index.js +9388 -8281
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/llms.txt +173 -3
- package/package.json +5 -2
- package/src/components/ui/accordion.tsx +112 -27
- package/src/components/ui/alert-dialog.tsx +401 -46
- package/src/components/ui/alert.tsx +114 -11
- package/src/components/ui/aspect-ratio.tsx +69 -14
- package/src/components/ui/avatar.tsx +179 -33
- package/src/components/ui/badge.tsx +74 -75
- package/src/components/ui/breadcrumb.tsx +335 -50
- package/src/components/ui/button.tsx +198 -90
- package/src/components/ui/calendar.tsx +867 -43
- package/src/components/ui/card.tsx +140 -33
- package/src/components/ui/carousel.tsx +529 -98
- package/src/components/ui/chart.tsx +222 -1
- package/src/components/ui/checkbox.tsx +176 -38
- package/src/components/ui/collapsible.tsx +321 -67
- package/src/components/ui/combobox.tsx +284 -83
- package/src/components/ui/command.tsx +527 -67
- package/src/components/ui/container.tsx +217 -65
- package/src/components/ui/context-menu.tsx +716 -51
- package/src/components/ui/date-picker.tsx +228 -38
- package/src/components/ui/dialog.tsx +270 -33
- package/src/components/ui/drawer.tsx +546 -67
- package/src/components/ui/dropdown-menu.tsx +657 -74
- package/src/components/ui/empty-state.tsx +241 -82
- package/src/components/ui/hover-card.tsx +328 -39
- package/src/components/ui/input.tsx +207 -44
- package/src/components/ui/label.tsx +98 -8
- package/src/components/ui/menubar.tsx +587 -54
- package/src/components/ui/navigation-menu.tsx +557 -128
- package/src/components/ui/pagination.tsx +561 -79
- package/src/components/ui/popover.tsx +119 -8
- package/src/components/ui/progress.tsx +131 -29
- package/src/components/ui/radio-group.tsx +260 -51
- package/src/components/ui/resizable.tsx +289 -63
- package/src/components/ui/scroll-area.tsx +377 -66
- package/src/components/ui/select.tsx +545 -60
- package/src/components/ui/separator.tsx +146 -40
- package/src/components/ui/sheet.tsx +348 -31
- package/src/components/ui/sidebar.tsx +471 -29
- package/src/components/ui/skeleton.tsx +114 -32
- package/src/components/ui/slider.tsx +77 -31
- package/src/components/ui/sonner.tsx +574 -46
- package/src/components/ui/stack.tsx +423 -101
- package/src/components/ui/switch.tsx +78 -39
- package/src/components/ui/table.tsx +170 -4
- package/src/components/ui/tabs.tsx +108 -22
- package/src/components/ui/text-field.tsx +226 -81
- package/src/components/ui/textarea.tsx +180 -29
- package/src/components/ui/theme-toggle.tsx +313 -65
- package/src/components/ui/theme.tsx +117 -23
- package/src/components/ui/toggle-group.tsx +280 -69
- package/src/components/ui/toggle.tsx +124 -35
- package/src/components/ui/tooltip.tsx +239 -29
- package/src/components/ui/typography.tsx +1115 -165
|
@@ -6,7 +6,7 @@ import * as SelectPrimitive from "@radix-ui/react-select";
|
|
|
6
6
|
* Provides a dropdown menu for selecting a single option from a list of choices.
|
|
7
7
|
* Features comprehensive keyboard navigation, grouping capabilities, accessibility
|
|
8
8
|
* compliance, and flexible styling options. Perfect for forms, filters, and
|
|
9
|
-
* configuration interfaces.
|
|
9
|
+
* configuration interfaces. Built on Radix UI Select.Root with enhanced styling.
|
|
10
10
|
*
|
|
11
11
|
* @component
|
|
12
12
|
* @example
|
|
@@ -42,7 +42,7 @@ import * as SelectPrimitive from "@radix-ui/react-select";
|
|
|
42
42
|
*
|
|
43
43
|
* @example
|
|
44
44
|
* ```tsx
|
|
45
|
-
* // Grouped options with separators
|
|
45
|
+
* // Grouped options with separators and labels
|
|
46
46
|
* <Select>
|
|
47
47
|
* <SelectTrigger>
|
|
48
48
|
* <SelectValue placeholder="Select a timezone" />
|
|
@@ -52,6 +52,7 @@ import * as SelectPrimitive from "@radix-ui/react-select";
|
|
|
52
52
|
* <SelectLabel>North America</SelectLabel>
|
|
53
53
|
* <SelectItem value="est">Eastern Time (EST)</SelectItem>
|
|
54
54
|
* <SelectItem value="cst">Central Time (CST)</SelectItem>
|
|
55
|
+
* <SelectItem value="pst">Pacific Time (PST)</SelectItem>
|
|
55
56
|
* </SelectGroup>
|
|
56
57
|
* <SelectSeparator />
|
|
57
58
|
* <SelectGroup>
|
|
@@ -63,19 +64,55 @@ import * as SelectPrimitive from "@radix-ui/react-select";
|
|
|
63
64
|
* </Select>
|
|
64
65
|
* ```
|
|
65
66
|
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```tsx
|
|
69
|
+
* // Form integration with validation and required state
|
|
70
|
+
* <form>
|
|
71
|
+
* <Select name="userRole" required defaultValue="">
|
|
72
|
+
* <SelectTrigger id="role" aria-describedby="role-error">
|
|
73
|
+
* <SelectValue placeholder="Choose your role" />
|
|
74
|
+
* </SelectTrigger>
|
|
75
|
+
* <SelectContent>
|
|
76
|
+
* <SelectItem value="admin">Administrator</SelectItem>
|
|
77
|
+
* <SelectItem value="user">User</SelectItem>
|
|
78
|
+
* <SelectItem value="guest">Guest</SelectItem>
|
|
79
|
+
* </SelectContent>
|
|
80
|
+
* </Select>
|
|
81
|
+
* </form>
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```tsx
|
|
86
|
+
* // Disabled states and interactions
|
|
87
|
+
* <Select disabled>
|
|
88
|
+
* <SelectTrigger>
|
|
89
|
+
* <SelectValue placeholder="Disabled select" />
|
|
90
|
+
* </SelectTrigger>
|
|
91
|
+
* <SelectContent>
|
|
92
|
+
* <SelectItem value="1">Option 1</SelectItem>
|
|
93
|
+
* <SelectItem value="2" disabled>Option 2 (disabled)</SelectItem>
|
|
94
|
+
* </SelectContent>
|
|
95
|
+
* </Select>
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
66
98
|
* @accessibility
|
|
67
|
-
* -
|
|
68
|
-
* -
|
|
69
|
-
* - Screen
|
|
70
|
-
* -
|
|
71
|
-
* -
|
|
72
|
-
* -
|
|
99
|
+
* - **Keyboard Navigation**: Arrow keys to navigate items, Enter/Space to select, Escape to close
|
|
100
|
+
* - **Focus Management**: Focus trapped within dropdown when open, returns to trigger on close
|
|
101
|
+
* - **Screen Reader Support**: Announces selected values, state changes, and item counts
|
|
102
|
+
* - **ARIA Compliance**: Proper roles (combobox, listbox, option), states (expanded, selected), and properties
|
|
103
|
+
* - **Typeahead**: Type characters to jump to matching items
|
|
104
|
+
* - **Home/End Keys**: Jump to first/last items in the list
|
|
105
|
+
* - **Disabled State**: Properly communicated to assistive technology
|
|
106
|
+
* - **Required Field**: Integrates with form validation and screen reader announcements
|
|
73
107
|
*
|
|
74
108
|
* @see {@link SelectTrigger} - The button that opens the dropdown
|
|
75
109
|
* @see {@link SelectContent} - The dropdown content container
|
|
76
110
|
* @see {@link SelectItem} - Individual selectable options
|
|
77
111
|
* @see {@link SelectGroup} - Container for grouping related items
|
|
78
112
|
* @see {@link SelectValue} - Displays selected value or placeholder
|
|
113
|
+
* @see {@link SelectLabel} - Non-selectable labels for groups
|
|
114
|
+
* @see {@link SelectSeparator} - Visual dividers between groups
|
|
115
|
+
* @see {@link https://www.radix-ui.com/primitives/docs/components/select} for Radix UI documentation
|
|
79
116
|
* @see {@link https://ui.shadcn.com/docs/components/select} for design patterns
|
|
80
117
|
* @since 1.0.0
|
|
81
118
|
*/
|
|
@@ -84,20 +121,57 @@ declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitiv
|
|
|
84
121
|
* SelectGroup - Container for grouping related select items
|
|
85
122
|
*
|
|
86
123
|
* Groups related options together with an optional label for better organization
|
|
87
|
-
* and improved user experience when dealing with many options.
|
|
124
|
+
* and improved user experience when dealing with many options. Built on Radix UI
|
|
125
|
+
* Select.Group with semantic grouping that enhances screen reader navigation.
|
|
88
126
|
*
|
|
89
127
|
* @component
|
|
90
128
|
* @example
|
|
91
129
|
* ```tsx
|
|
130
|
+
* // Basic group with label
|
|
92
131
|
* <SelectGroup>
|
|
93
132
|
* <SelectLabel>Fruits</SelectLabel>
|
|
94
133
|
* <SelectItem value="apple">Apple</SelectItem>
|
|
95
134
|
* <SelectItem value="banana">Banana</SelectItem>
|
|
135
|
+
* <SelectItem value="orange">Orange</SelectItem>
|
|
136
|
+
* </SelectGroup>
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```tsx
|
|
141
|
+
* // Multiple groups with separators
|
|
142
|
+
* <SelectContent>
|
|
143
|
+
* <SelectGroup>
|
|
144
|
+
* <SelectLabel>Popular Choices</SelectLabel>
|
|
145
|
+
* <SelectItem value="most-popular">Most Popular</SelectItem>
|
|
146
|
+
* <SelectItem value="trending">Trending</SelectItem>
|
|
147
|
+
* </SelectGroup>
|
|
148
|
+
* <SelectSeparator />
|
|
149
|
+
* <SelectGroup>
|
|
150
|
+
* <SelectLabel>All Options</SelectLabel>
|
|
151
|
+
* <SelectItem value="option1">Option 1</SelectItem>
|
|
152
|
+
* <SelectItem value="option2">Option 2</SelectItem>
|
|
153
|
+
* </SelectGroup>
|
|
154
|
+
* </SelectContent>
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```tsx
|
|
159
|
+
* // Group without label for simple separation
|
|
160
|
+
* <SelectGroup>
|
|
161
|
+
* <SelectItem value="item1">Item 1</SelectItem>
|
|
162
|
+
* <SelectItem value="item2">Item 2</SelectItem>
|
|
96
163
|
* </SelectGroup>
|
|
97
164
|
* ```
|
|
98
165
|
*
|
|
99
|
-
* @
|
|
100
|
-
*
|
|
166
|
+
* @accessibility
|
|
167
|
+
* - **Semantic Grouping**: Creates logical groups that screen readers can navigate
|
|
168
|
+
* - **Label Association**: SelectLabel properly associates with group items
|
|
169
|
+
* - **Focus Management**: Arrow keys move between items within and across groups
|
|
170
|
+
* - **Screen Reader Navigation**: Group boundaries announced to assistive technology
|
|
171
|
+
*
|
|
172
|
+
* @see {@link SelectLabel} - Optional label for the group
|
|
173
|
+
* @see {@link SelectItem} - Individual items within the group
|
|
174
|
+
* @see {@link SelectSeparator} - Visual divider between groups
|
|
101
175
|
* @since 1.0.0
|
|
102
176
|
*/
|
|
103
177
|
declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -105,17 +179,56 @@ declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPri
|
|
|
105
179
|
* SelectValue - Displays the selected value or placeholder
|
|
106
180
|
*
|
|
107
181
|
* Renders the currently selected option's text or a placeholder when no option
|
|
108
|
-
* is selected.
|
|
182
|
+
* is selected. Built on Radix UI Select.Value with proper text truncation and
|
|
183
|
+
* styling. Must be used inside SelectTrigger to display the current selection state.
|
|
109
184
|
*
|
|
110
185
|
* @component
|
|
111
186
|
* @example
|
|
112
187
|
* ```tsx
|
|
188
|
+
* // Basic usage with placeholder
|
|
113
189
|
* <SelectTrigger>
|
|
114
190
|
* <SelectValue placeholder="Choose an option" />
|
|
115
191
|
* </SelectTrigger>
|
|
116
192
|
* ```
|
|
117
193
|
*
|
|
118
|
-
* @
|
|
194
|
+
* @example
|
|
195
|
+
* ```tsx
|
|
196
|
+
* // Custom placeholder styling
|
|
197
|
+
* <SelectTrigger>
|
|
198
|
+
* <SelectValue
|
|
199
|
+
* placeholder={
|
|
200
|
+
* <span className="text-muted-foreground italic">
|
|
201
|
+
* No selection made
|
|
202
|
+
* </span>
|
|
203
|
+
* }
|
|
204
|
+
* />
|
|
205
|
+
* </SelectTrigger>
|
|
206
|
+
* ```
|
|
207
|
+
*
|
|
208
|
+
* @example
|
|
209
|
+
* ```tsx
|
|
210
|
+
* // Using asChild for complete custom rendering
|
|
211
|
+
* <SelectValue asChild>
|
|
212
|
+
* <div className="flex items-center gap-2">
|
|
213
|
+
* {selectedItem ? (
|
|
214
|
+
* <>
|
|
215
|
+
* <ItemIcon />
|
|
216
|
+
* <span>{selectedItem.label}</span>
|
|
217
|
+
* </>
|
|
218
|
+
* ) : (
|
|
219
|
+
* <span className="text-muted-foreground">Select item...</span>
|
|
220
|
+
* )}
|
|
221
|
+
* </div>
|
|
222
|
+
* </SelectValue>
|
|
223
|
+
* ```
|
|
224
|
+
*
|
|
225
|
+
* @accessibility
|
|
226
|
+
* - **Value Announcement**: Selected value announced to screen readers
|
|
227
|
+
* - **Placeholder Semantics**: Placeholder properly identified for assistive technology
|
|
228
|
+
* - **Text Truncation**: Long values truncated with ellipsis to prevent layout issues
|
|
229
|
+
* - **Content Updates**: Dynamic content changes announced to screen readers
|
|
230
|
+
*
|
|
231
|
+
* @see {@link SelectTrigger} - Required parent container for the value display
|
|
119
232
|
* @since 1.0.0
|
|
120
233
|
*/
|
|
121
234
|
declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -123,8 +236,13 @@ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPri
|
|
|
123
236
|
* SelectTrigger - The button that opens the select dropdown
|
|
124
237
|
*
|
|
125
238
|
* A styled button that displays the current value and triggers the dropdown menu.
|
|
126
|
-
*
|
|
127
|
-
* size variants
|
|
239
|
+
* Built on Radix UI Select.Trigger with enhanced styling including focus states,
|
|
240
|
+
* size variants, and proper hover interactions. Includes a chevron icon to indicate
|
|
241
|
+
* dropdown functionality and supports different size variants for various UI contexts.
|
|
242
|
+
*
|
|
243
|
+
* **Size Variants:**
|
|
244
|
+
* - `default`: Standard height (36px) suitable for most forms and interfaces
|
|
245
|
+
* - `sm`: Compact height (32px) ideal for dense layouts and table interfaces
|
|
128
246
|
*
|
|
129
247
|
* @component
|
|
130
248
|
* @example
|
|
@@ -139,45 +257,63 @@ declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPri
|
|
|
139
257
|
* ```tsx
|
|
140
258
|
* // Small size variant for compact layouts
|
|
141
259
|
* <SelectTrigger size="sm" className="w-[150px]">
|
|
142
|
-
* <SelectValue placeholder="Compact" />
|
|
260
|
+
* <SelectValue placeholder="Compact select" />
|
|
143
261
|
* </SelectTrigger>
|
|
144
262
|
* ```
|
|
145
263
|
*
|
|
146
264
|
* @example
|
|
147
265
|
* ```tsx
|
|
148
|
-
* //
|
|
266
|
+
* // Form integration with accessibility attributes
|
|
267
|
+
* <label htmlFor="user-role">User Role</label>
|
|
149
268
|
* <SelectTrigger id="user-role" aria-describedby="role-help">
|
|
150
269
|
* <SelectValue placeholder="Choose role" />
|
|
151
270
|
* </SelectTrigger>
|
|
271
|
+
* <div id="role-help">Select the appropriate role for this user</div>
|
|
272
|
+
* ```
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```tsx
|
|
276
|
+
* // Custom composition using asChild
|
|
277
|
+
* <SelectTrigger asChild>
|
|
278
|
+
* <button className="custom-trigger-styles">
|
|
279
|
+
* <SelectValue />
|
|
280
|
+
* <CustomChevronIcon />
|
|
281
|
+
* </button>
|
|
282
|
+
* </SelectTrigger>
|
|
152
283
|
* ```
|
|
153
284
|
*
|
|
154
285
|
* @accessibility
|
|
155
|
-
* - Keyboard
|
|
156
|
-
* -
|
|
157
|
-
* -
|
|
158
|
-
* -
|
|
159
|
-
* -
|
|
160
|
-
* - Disabled
|
|
286
|
+
* - **Keyboard Navigation**: Enter/Space to open dropdown, Arrow keys to navigate when closed
|
|
287
|
+
* - **Focus Management**: Clear focus ring for keyboard users, focus returns after selection
|
|
288
|
+
* - **State Announcements**: Screen readers announce open/closed state and selected value
|
|
289
|
+
* - **ARIA Support**: Proper combobox role with expanded state and controls relationship
|
|
290
|
+
* - **Form Integration**: Works with labels, validation, and form submission
|
|
291
|
+
* - **Disabled State**: Properly communicated to assistive technology with reduced opacity
|
|
292
|
+
* - **RTL Support**: Automatically adapts layout for right-to-left reading modes
|
|
161
293
|
*
|
|
162
294
|
* @see {@link SelectValue} - Displays the selected value or placeholder
|
|
295
|
+
* @see {@link SelectContent} - The dropdown content that opens
|
|
163
296
|
* @since 1.0.0
|
|
164
297
|
*/
|
|
165
298
|
declare function SelectTrigger({ className, size, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger> & {
|
|
166
|
-
/**
|
|
167
|
-
* The size variant of the trigger button
|
|
168
|
-
* @default "default"
|
|
169
|
-
*/
|
|
170
299
|
size?: "sm" | "default";
|
|
171
300
|
}): import("react/jsx-runtime").JSX.Element;
|
|
172
301
|
/**
|
|
173
302
|
* SelectContent - Container for the dropdown content
|
|
174
303
|
*
|
|
175
304
|
* The dropdown panel that contains all selectable items, groups, and labels.
|
|
176
|
-
*
|
|
305
|
+
* Built on Radix UI Select.Content with Portal rendering for proper layering.
|
|
306
|
+
* Automatically handles scrolling for long lists, collision detection, and
|
|
307
|
+
* positioning relative to the trigger with smooth animations.
|
|
308
|
+
*
|
|
309
|
+
* **Positioning Strategy:**
|
|
310
|
+
* - `popper`: Uses Floating UI for precise positioning with collision detection
|
|
311
|
+
* - `item-aligned`: Aligns content with the selected item for natural feel
|
|
177
312
|
*
|
|
178
313
|
* @component
|
|
179
314
|
* @example
|
|
180
315
|
* ```tsx
|
|
316
|
+
* // Basic content with multiple items
|
|
181
317
|
* <SelectContent>
|
|
182
318
|
* <SelectItem value="1">Option 1</SelectItem>
|
|
183
319
|
* <SelectItem value="2">Option 2</SelectItem>
|
|
@@ -187,19 +323,56 @@ declare function SelectTrigger({ className, size, children, ...props }: React.Co
|
|
|
187
323
|
*
|
|
188
324
|
* @example
|
|
189
325
|
* ```tsx
|
|
190
|
-
* //
|
|
326
|
+
* // Item-aligned positioning (default behavior)
|
|
191
327
|
* <SelectContent position="item-aligned">
|
|
328
|
+
* <SelectItem value="apple">Apple</SelectItem>
|
|
329
|
+
* <SelectItem value="banana">Banana</SelectItem>
|
|
330
|
+
* </SelectContent>
|
|
331
|
+
* ```
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```tsx
|
|
335
|
+
* // Popper positioning with custom placement
|
|
336
|
+
* <SelectContent position="popper" side="top" align="end">
|
|
192
337
|
* <SelectItem value="1">Option 1</SelectItem>
|
|
338
|
+
* <SelectItem value="2">Option 2</SelectItem>
|
|
339
|
+
* </SelectContent>
|
|
340
|
+
* ```
|
|
341
|
+
*
|
|
342
|
+
* @example
|
|
343
|
+
* ```tsx
|
|
344
|
+
* // Complex content with groups and scrolling
|
|
345
|
+
* <SelectContent>
|
|
346
|
+
* <SelectGroup>
|
|
347
|
+
* <SelectLabel>Recent Items</SelectLabel>
|
|
348
|
+
* <SelectItem value="recent1">Recently Used 1</SelectItem>
|
|
349
|
+
* <SelectItem value="recent2">Recently Used 2</SelectItem>
|
|
350
|
+
* </SelectGroup>
|
|
351
|
+
* <SelectSeparator />
|
|
352
|
+
* <SelectGroup>
|
|
353
|
+
* <SelectLabel>All Items</SelectLabel>
|
|
354
|
+
* {items.map((item) => (
|
|
355
|
+
* <SelectItem key={item.id} value={item.id}>
|
|
356
|
+
* {item.label}
|
|
357
|
+
* </SelectItem>
|
|
358
|
+
* ))}
|
|
359
|
+
* </SelectGroup>
|
|
193
360
|
* </SelectContent>
|
|
194
361
|
* ```
|
|
195
362
|
*
|
|
196
363
|
* @accessibility
|
|
197
|
-
* - Focus trapped within dropdown when open
|
|
198
|
-
* -
|
|
199
|
-
* -
|
|
364
|
+
* - **Focus Management**: Focus trapped within dropdown when open, managed viewport scrolling
|
|
365
|
+
* - **Keyboard Navigation**: Arrow keys navigate items, Page Up/Down for quick navigation
|
|
366
|
+
* - **Portal Rendering**: Renders in document body for proper layering and screen reader access
|
|
367
|
+
* - **Collision Detection**: Automatically repositions to stay within viewport boundaries
|
|
368
|
+
* - **Scroll Indicators**: Shows scroll buttons when content exceeds available height
|
|
369
|
+
* - **Animation**: Smooth enter/exit animations that respect user's motion preferences
|
|
370
|
+
* - **Escape Handling**: Escape key closes dropdown and returns focus to trigger
|
|
200
371
|
*
|
|
201
|
-
* @see {@link SelectItem} - Individual options
|
|
202
|
-
* @see {@link SelectGroup} -
|
|
372
|
+
* @see {@link SelectItem} - Individual selectable options
|
|
373
|
+
* @see {@link SelectGroup} - Container for grouping related items
|
|
374
|
+
* @see {@link SelectScrollUpButton} - Scroll up indicator for long lists
|
|
375
|
+
* @see {@link SelectScrollDownButton} - Scroll down indicator for long lists
|
|
203
376
|
* @since 1.0.0
|
|
204
377
|
*/
|
|
205
378
|
declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -207,80 +380,173 @@ declare function SelectContent({ className, children, position, ...props }: Reac
|
|
|
207
380
|
* SelectLabel - Label for a group of select items
|
|
208
381
|
*
|
|
209
382
|
* Provides a non-selectable label for categorizing groups of options.
|
|
210
|
-
*
|
|
383
|
+
* Built on Radix UI Select.Label with muted styling and proper typography.
|
|
384
|
+
* Helps users understand the context of the options below and improves
|
|
385
|
+
* navigation for screen reader users.
|
|
211
386
|
*
|
|
212
387
|
* @component
|
|
213
388
|
* @example
|
|
214
389
|
* ```tsx
|
|
390
|
+
* // Basic group label
|
|
215
391
|
* <SelectGroup>
|
|
216
392
|
* <SelectLabel>Countries</SelectLabel>
|
|
217
393
|
* <SelectItem value="us">United States</SelectItem>
|
|
218
394
|
* <SelectItem value="uk">United Kingdom</SelectItem>
|
|
395
|
+
* <SelectItem value="ca">Canada</SelectItem>
|
|
219
396
|
* </SelectGroup>
|
|
220
397
|
* ```
|
|
221
398
|
*
|
|
399
|
+
* @example
|
|
400
|
+
* ```tsx
|
|
401
|
+
* // Multiple labeled groups
|
|
402
|
+
* <SelectContent>
|
|
403
|
+
* <SelectGroup>
|
|
404
|
+
* <SelectLabel>Primary Options</SelectLabel>
|
|
405
|
+
* <SelectItem value="primary1">Primary Choice 1</SelectItem>
|
|
406
|
+
* <SelectItem value="primary2">Primary Choice 2</SelectItem>
|
|
407
|
+
* </SelectGroup>
|
|
408
|
+
* <SelectSeparator />
|
|
409
|
+
* <SelectGroup>
|
|
410
|
+
* <SelectLabel>Advanced Options</SelectLabel>
|
|
411
|
+
* <SelectItem value="advanced1">Advanced Choice 1</SelectItem>
|
|
412
|
+
* <SelectItem value="advanced2">Advanced Choice 2</SelectItem>
|
|
413
|
+
* </SelectGroup>
|
|
414
|
+
* </SelectContent>
|
|
415
|
+
* ```
|
|
416
|
+
*
|
|
417
|
+
* @example
|
|
418
|
+
* ```tsx
|
|
419
|
+
* // Custom styling with asChild
|
|
420
|
+
* <SelectLabel asChild>
|
|
421
|
+
* <div className="flex items-center gap-1 px-2 py-1 font-semibold">
|
|
422
|
+
* <Icon className="size-3" />
|
|
423
|
+
* <span>Categories</span>
|
|
424
|
+
* </div>
|
|
425
|
+
* </SelectLabel>
|
|
426
|
+
* ```
|
|
427
|
+
*
|
|
222
428
|
* @accessibility
|
|
223
|
-
* - Properly associated with group for screen readers
|
|
224
|
-
* - Non-
|
|
429
|
+
* - **Semantic Association**: Properly associated with group items for screen readers
|
|
430
|
+
* - **Non-Interactive**: Cannot receive focus or be selected
|
|
431
|
+
* - **Group Navigation**: Helps screen reader users understand item organization
|
|
432
|
+
* - **Descriptive Text**: Provides context for the items that follow
|
|
225
433
|
*
|
|
226
|
-
* @see {@link SelectGroup} -
|
|
434
|
+
* @see {@link SelectGroup} - Required parent container
|
|
435
|
+
* @see {@link SelectItem} - Items that this label describes
|
|
227
436
|
* @since 1.0.0
|
|
228
437
|
*/
|
|
229
438
|
declare function SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>): import("react/jsx-runtime").JSX.Element;
|
|
230
439
|
/**
|
|
231
440
|
* SelectItem - Individual selectable option in the dropdown
|
|
232
441
|
*
|
|
233
|
-
* Represents a single option that users can select.
|
|
234
|
-
*
|
|
442
|
+
* Represents a single option that users can select. Built on Radix UI Select.Item
|
|
443
|
+
* with enhanced styling including hover states, selection indicators, and proper
|
|
444
|
+
* spacing. Shows a checkmark when selected and supports keyboard navigation with
|
|
445
|
+
* proper focus management.
|
|
235
446
|
*
|
|
236
447
|
* @component
|
|
237
448
|
* @example
|
|
238
449
|
* ```tsx
|
|
450
|
+
* // Basic item
|
|
239
451
|
* <SelectItem value="apple">Apple</SelectItem>
|
|
240
452
|
* ```
|
|
241
453
|
*
|
|
242
454
|
* @example
|
|
243
455
|
* ```tsx
|
|
244
|
-
* // Disabled item
|
|
456
|
+
* // Disabled item that cannot be selected
|
|
245
457
|
* <SelectItem value="sold-out" disabled>
|
|
246
|
-
* Sold Out
|
|
458
|
+
* Sold Out - Unavailable
|
|
247
459
|
* </SelectItem>
|
|
248
460
|
* ```
|
|
249
461
|
*
|
|
250
|
-
* @
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
* -
|
|
254
|
-
* -
|
|
462
|
+
* @example
|
|
463
|
+
* ```tsx
|
|
464
|
+
* // Complex item content with custom text value for typeahead
|
|
465
|
+
* <SelectItem value="user-123" textValue="John Doe">
|
|
466
|
+
* <div className="flex items-center gap-2">
|
|
467
|
+
* <Avatar size="sm" />
|
|
468
|
+
* <div>
|
|
469
|
+
* <div>John Doe</div>
|
|
470
|
+
* <div className="text-xs text-muted-foreground">john@example.com</div>
|
|
471
|
+
* </div>
|
|
472
|
+
* </div>
|
|
473
|
+
* </SelectItem>
|
|
474
|
+
* ```
|
|
255
475
|
*
|
|
256
|
-
* @
|
|
476
|
+
* @example
|
|
477
|
+
* ```tsx
|
|
478
|
+
* // Using asChild for custom item composition
|
|
479
|
+
* <SelectItem value="custom" asChild>
|
|
480
|
+
* <div className="custom-item-styles">
|
|
481
|
+
* Custom item content
|
|
482
|
+
* </div>
|
|
483
|
+
* </SelectItem>
|
|
484
|
+
* ```
|
|
485
|
+
*
|
|
486
|
+
* @accessibility
|
|
487
|
+
* - **Keyboard Navigation**: Arrow keys navigate between items, Home/End jump to first/last
|
|
488
|
+
* - **Selection**: Enter or Space selects the item and closes dropdown
|
|
489
|
+
* - **Visual Feedback**: Check icon indicates selected state, focus ring for keyboard users
|
|
490
|
+
* - **Disabled State**: Cannot be selected or focused, announced to screen readers
|
|
491
|
+
* - **Typeahead**: Type characters to jump to matching items (uses textValue or content)
|
|
492
|
+
* - **Screen Reader**: Announces item text and selection state changes
|
|
493
|
+
*
|
|
494
|
+
* @see {@link SelectContent} - Parent container that manages items
|
|
495
|
+
* @see {@link SelectGroup} - Optional grouping container
|
|
257
496
|
* @since 1.0.0
|
|
258
497
|
*/
|
|
259
498
|
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
260
499
|
/**
|
|
261
500
|
* SelectSeparator - Visual divider between select groups
|
|
262
501
|
*
|
|
263
|
-
* A horizontal line that visually separates groups of options
|
|
264
|
-
*
|
|
502
|
+
* A horizontal line that visually separates groups of options for better
|
|
503
|
+
* organization and clarity. Built on Radix UI Select.Separator with subtle
|
|
504
|
+
* border styling that adapts to the current theme.
|
|
265
505
|
*
|
|
266
506
|
* @component
|
|
267
507
|
* @example
|
|
268
508
|
* ```tsx
|
|
509
|
+
* // Basic separation between groups
|
|
269
510
|
* <SelectContent>
|
|
270
511
|
* <SelectGroup>
|
|
512
|
+
* <SelectLabel>Group 1</SelectLabel>
|
|
271
513
|
* <SelectItem value="1">Option 1</SelectItem>
|
|
272
514
|
* </SelectGroup>
|
|
273
515
|
* <SelectSeparator />
|
|
274
516
|
* <SelectGroup>
|
|
517
|
+
* <SelectLabel>Group 2</SelectLabel>
|
|
275
518
|
* <SelectItem value="2">Option 2</SelectItem>
|
|
276
519
|
* </SelectGroup>
|
|
277
520
|
* </SelectContent>
|
|
278
521
|
* ```
|
|
279
522
|
*
|
|
523
|
+
* @example
|
|
524
|
+
* ```tsx
|
|
525
|
+
* // Multiple separators in complex layouts
|
|
526
|
+
* <SelectContent>
|
|
527
|
+
* <SelectGroup>
|
|
528
|
+
* <SelectItem value="recent">Recent Items</SelectItem>
|
|
529
|
+
* </SelectGroup>
|
|
530
|
+
* <SelectSeparator />
|
|
531
|
+
* <SelectGroup>
|
|
532
|
+
* <SelectItem value="favorite">Favorites</SelectItem>
|
|
533
|
+
* </SelectGroup>
|
|
534
|
+
* <SelectSeparator />
|
|
535
|
+
* <SelectGroup>
|
|
536
|
+
* <SelectLabel>All Items</SelectLabel>
|
|
537
|
+
* <SelectItem value="all1">Item 1</SelectItem>
|
|
538
|
+
* <SelectItem value="all2">Item 2</SelectItem>
|
|
539
|
+
* </SelectGroup>
|
|
540
|
+
* </SelectContent>
|
|
541
|
+
* ```
|
|
542
|
+
*
|
|
280
543
|
* @accessibility
|
|
281
|
-
* - Decorative element with no semantic meaning
|
|
282
|
-
* -
|
|
544
|
+
* - **Decorative Role**: Pure visual element with no semantic meaning for screen readers
|
|
545
|
+
* - **Non-Interactive**: Cannot receive focus or be activated
|
|
546
|
+
* - **Visual Organization**: Helps sighted users understand content structure
|
|
547
|
+
* - **Theme Adaptive**: Border color adapts to light/dark themes automatically
|
|
283
548
|
*
|
|
549
|
+
* @see {@link SelectGroup} - Typically used to separate different groups
|
|
284
550
|
* @since 1.0.0
|
|
285
551
|
*/
|
|
286
552
|
declare function SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -288,13 +554,41 @@ declare function SelectSeparator({ className, ...props }: React.ComponentProps<t
|
|
|
288
554
|
* SelectScrollUpButton - Scroll button for navigating up in long lists
|
|
289
555
|
*
|
|
290
556
|
* Appears at the top of the dropdown when there are more items above
|
|
291
|
-
* the visible area.
|
|
557
|
+
* the visible area. Built on Radix UI Select.ScrollUpButton with chevron
|
|
558
|
+
* icon and hover states. Automatically shows/hides based on scroll position.
|
|
292
559
|
*
|
|
293
560
|
* @component
|
|
294
|
-
* @
|
|
295
|
-
*
|
|
296
|
-
*
|
|
561
|
+
* @example
|
|
562
|
+
* ```tsx
|
|
563
|
+
* // Automatically included in SelectContent
|
|
564
|
+
* <SelectContent>
|
|
565
|
+
* // ScrollUpButton appears here when needed
|
|
566
|
+
* <SelectItem value="1">Item 1</SelectItem>
|
|
567
|
+
* // ... many items ...
|
|
568
|
+
* <SelectItem value="100">Item 100</SelectItem>
|
|
569
|
+
* // ScrollDownButton appears here when needed
|
|
570
|
+
* </SelectContent>
|
|
571
|
+
* ```
|
|
572
|
+
*
|
|
573
|
+
* @example
|
|
574
|
+
* ```tsx
|
|
575
|
+
* // Custom scroll button using asChild
|
|
576
|
+
* <SelectScrollUpButton asChild>
|
|
577
|
+
* <button className="custom-scroll-styles">
|
|
578
|
+
* <CustomUpIcon />
|
|
579
|
+
* </button>
|
|
580
|
+
* </SelectScrollUpButton>
|
|
581
|
+
* ```
|
|
297
582
|
*
|
|
583
|
+
* @accessibility
|
|
584
|
+
* - **Auto-Visibility**: Only appears when upward scrolling is possible
|
|
585
|
+
* - **Keyboard Accessible**: Can be activated with Enter/Space
|
|
586
|
+
* - **Focus Management**: Receives focus during keyboard navigation
|
|
587
|
+
* - **Screen Reader**: Announced as scroll control with directional context
|
|
588
|
+
* - **Mouse/Touch**: Responds to click/touch interactions for scrolling
|
|
589
|
+
*
|
|
590
|
+
* @see {@link SelectContent} - Container that manages scroll button visibility
|
|
591
|
+
* @see {@link SelectScrollDownButton} - Counterpart for downward scrolling
|
|
298
592
|
* @since 1.0.0
|
|
299
593
|
*/
|
|
300
594
|
declare function SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -302,13 +596,41 @@ declare function SelectScrollUpButton({ className, ...props }: React.ComponentPr
|
|
|
302
596
|
* SelectScrollDownButton - Scroll button for navigating down in long lists
|
|
303
597
|
*
|
|
304
598
|
* Appears at the bottom of the dropdown when there are more items below
|
|
305
|
-
* the visible area.
|
|
599
|
+
* the visible area. Built on Radix UI Select.ScrollDownButton with chevron
|
|
600
|
+
* icon and hover states. Automatically shows/hides based on scroll position.
|
|
306
601
|
*
|
|
307
602
|
* @component
|
|
308
|
-
* @
|
|
309
|
-
*
|
|
310
|
-
*
|
|
603
|
+
* @example
|
|
604
|
+
* ```tsx
|
|
605
|
+
* // Automatically included in SelectContent
|
|
606
|
+
* <SelectContent>
|
|
607
|
+
* // ScrollUpButton appears here when needed
|
|
608
|
+
* <SelectItem value="1">Item 1</SelectItem>
|
|
609
|
+
* // ... many items ...
|
|
610
|
+
* <SelectItem value="100">Item 100</SelectItem>
|
|
611
|
+
* // ScrollDownButton appears here when needed
|
|
612
|
+
* </SelectContent>
|
|
613
|
+
* ```
|
|
614
|
+
*
|
|
615
|
+
* @example
|
|
616
|
+
* ```tsx
|
|
617
|
+
* // Custom scroll button using asChild
|
|
618
|
+
* <SelectScrollDownButton asChild>
|
|
619
|
+
* <button className="custom-scroll-styles">
|
|
620
|
+
* <CustomDownIcon />
|
|
621
|
+
* </button>
|
|
622
|
+
* </SelectScrollDownButton>
|
|
623
|
+
* ```
|
|
311
624
|
*
|
|
625
|
+
* @accessibility
|
|
626
|
+
* - **Auto-Visibility**: Only appears when downward scrolling is possible
|
|
627
|
+
* - **Keyboard Accessible**: Can be activated with Enter/Space
|
|
628
|
+
* - **Focus Management**: Receives focus during keyboard navigation
|
|
629
|
+
* - **Screen Reader**: Announced as scroll control with directional context
|
|
630
|
+
* - **Mouse/Touch**: Responds to click/touch interactions for scrolling
|
|
631
|
+
*
|
|
632
|
+
* @see {@link SelectContent} - Container that manages scroll button visibility
|
|
633
|
+
* @see {@link SelectScrollUpButton} - Counterpart for upward scrolling
|
|
312
634
|
* @since 1.0.0
|
|
313
635
|
*/
|
|
314
636
|
declare function SelectScrollDownButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/ui/select.tsx"],"names":[],"mappings":"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"}
|