@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
|
@@ -10,6 +10,10 @@ import * as React from "react";
|
|
|
10
10
|
* support for composition patterns including custom separators, ellipsis for long
|
|
11
11
|
* paths, dropdown menus, and custom link components via the asChild prop.
|
|
12
12
|
*
|
|
13
|
+
* @param className - Additional CSS classes to apply to the navigation element
|
|
14
|
+
* @param children - Child breadcrumb elements (typically BreadcrumbList)
|
|
15
|
+
* @param props - All standard HTML nav element props except aria-label (automatically set to "breadcrumb")
|
|
16
|
+
*
|
|
13
17
|
* @example
|
|
14
18
|
* ```tsx
|
|
15
19
|
* // Basic breadcrumb navigation
|
|
@@ -56,7 +60,7 @@ import * as React from "react";
|
|
|
56
60
|
*
|
|
57
61
|
* @example
|
|
58
62
|
* ```tsx
|
|
59
|
-
* // With Next.js Link integration
|
|
63
|
+
* // With Next.js Link integration using asChild
|
|
60
64
|
* import { Link } from "next/link"
|
|
61
65
|
*
|
|
62
66
|
* <Breadcrumb>
|
|
@@ -95,13 +99,15 @@ import * as React from "react";
|
|
|
95
99
|
* ```
|
|
96
100
|
*
|
|
97
101
|
* @accessibility
|
|
98
|
-
* - Uses semantic `nav` element with `aria-label="breadcrumb"`
|
|
99
|
-
* - Current page marked with `aria-current="page"`
|
|
102
|
+
* - Uses semantic `nav` element with `aria-label="breadcrumb"` (automatically applied)
|
|
103
|
+
* - Current page marked with `aria-current="page"` (via BreadcrumbPage)
|
|
100
104
|
* - Separators marked with `role="presentation"` and `aria-hidden="true"`
|
|
101
|
-
* - Screen reader friendly navigation structure
|
|
102
|
-
* - Supports keyboard navigation through links
|
|
105
|
+
* - Screen reader friendly navigation structure with proper list semantics
|
|
106
|
+
* - Supports keyboard navigation through links (Tab navigation)
|
|
107
|
+
* - Compatible with screen readers and assistive technologies
|
|
103
108
|
*
|
|
104
109
|
* @see {@link https://ui.shadcn.com/docs/components/breadcrumb} for design patterns
|
|
110
|
+
* @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/breadcrumb/} for ARIA breadcrumb pattern
|
|
105
111
|
* @see {@link BreadcrumbList} - Ordered list container for breadcrumb items
|
|
106
112
|
* @see {@link BreadcrumbItem} - Individual breadcrumb list item
|
|
107
113
|
* @see {@link BreadcrumbLink} - Navigable breadcrumb link with asChild support
|
|
@@ -110,26 +116,49 @@ import * as React from "react";
|
|
|
110
116
|
* @see {@link BreadcrumbEllipsis} - Ellipsis indicator for collapsed items
|
|
111
117
|
* @since 1.0.0
|
|
112
118
|
*/
|
|
113
|
-
declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
declare function Breadcrumb({ ...props }: Omit<React.ComponentProps<"nav">, "aria-label">): import("react/jsx-runtime").JSX.Element;
|
|
114
120
|
/**
|
|
115
121
|
* Ordered list container for breadcrumb items
|
|
116
122
|
*
|
|
117
123
|
* Provides the structured list layout for breadcrumb navigation items with
|
|
118
124
|
* responsive spacing and text overflow handling. Uses semantic `ol` element
|
|
119
|
-
* for proper accessibility and screen reader navigation.
|
|
125
|
+
* for proper accessibility and screen reader navigation. Contains flexible
|
|
126
|
+
* layout with word breaking and responsive gap adjustments.
|
|
120
127
|
*
|
|
121
|
-
* @param className - Additional CSS classes to apply
|
|
122
|
-
* @param
|
|
128
|
+
* @param className - Additional CSS classes to apply to the ordered list element
|
|
129
|
+
* @param children - Child breadcrumb items (BreadcrumbItem elements)
|
|
130
|
+
* @param props - All standard HTML ordered list element props (id, role, data-*, etc.)
|
|
123
131
|
*
|
|
124
132
|
* @example
|
|
125
133
|
* ```tsx
|
|
134
|
+
* // Basic list with multiple items
|
|
126
135
|
* <BreadcrumbList>
|
|
127
136
|
* <BreadcrumbItem>
|
|
128
137
|
* <BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
129
138
|
* </BreadcrumbItem>
|
|
139
|
+
* <BreadcrumbSeparator />
|
|
140
|
+
* <BreadcrumbItem>
|
|
141
|
+
* <BreadcrumbPage>Current</BreadcrumbPage>
|
|
142
|
+
* </BreadcrumbItem>
|
|
130
143
|
* </BreadcrumbList>
|
|
131
144
|
* ```
|
|
132
145
|
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```tsx
|
|
148
|
+
* // With custom styling
|
|
149
|
+
* <BreadcrumbList className="gap-4 text-base">
|
|
150
|
+
* <BreadcrumbItem>
|
|
151
|
+
* <BreadcrumbLink href="/">Home</BreadcrumbLink>
|
|
152
|
+
* </BreadcrumbItem>
|
|
153
|
+
* </BreadcrumbList>
|
|
154
|
+
* ```
|
|
155
|
+
*
|
|
156
|
+
* @accessibility
|
|
157
|
+
* - Uses semantic `ol` element for proper list structure
|
|
158
|
+
* - Maintains reading order for screen readers
|
|
159
|
+
* - Supports list navigation shortcuts in screen readers
|
|
160
|
+
* - Flexible text wrapping for long breadcrumb trails
|
|
161
|
+
*
|
|
133
162
|
* @since 1.0.0
|
|
134
163
|
*/
|
|
135
164
|
declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): import("react/jsx-runtime").JSX.Element;
|
|
@@ -137,102 +166,223 @@ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"o
|
|
|
137
166
|
* Individual breadcrumb list item container
|
|
138
167
|
*
|
|
139
168
|
* Wraps breadcrumb content (links, pages, separators) in a semantic list item.
|
|
140
|
-
* Provides consistent alignment and spacing for breadcrumb elements
|
|
169
|
+
* Provides consistent alignment and spacing for breadcrumb elements with inline
|
|
170
|
+
* flex layout for proper icon and text alignment.
|
|
141
171
|
*
|
|
142
|
-
* @param className - Additional CSS classes to apply
|
|
143
|
-
* @param
|
|
172
|
+
* @param className - Additional CSS classes to apply to the list item element
|
|
173
|
+
* @param children - Content to display within the item (links, pages, separators, ellipsis)
|
|
174
|
+
* @param props - All standard HTML list item element props (id, role, data-*, etc.)
|
|
144
175
|
*
|
|
145
176
|
* @example
|
|
146
177
|
* ```tsx
|
|
178
|
+
* // With link
|
|
147
179
|
* <BreadcrumbItem>
|
|
148
180
|
* <BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
149
181
|
* </BreadcrumbItem>
|
|
150
182
|
* ```
|
|
151
183
|
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```tsx
|
|
186
|
+
* // With current page
|
|
187
|
+
* <BreadcrumbItem>
|
|
188
|
+
* <BreadcrumbPage>Current Page</BreadcrumbPage>
|
|
189
|
+
* </BreadcrumbItem>
|
|
190
|
+
* ```
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```tsx
|
|
194
|
+
* // With separator
|
|
195
|
+
* <BreadcrumbItem>
|
|
196
|
+
* <BreadcrumbSeparator />
|
|
197
|
+
* </BreadcrumbItem>
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* @accessibility
|
|
201
|
+
* - Uses semantic `li` element for proper list structure
|
|
202
|
+
* - Maintains proper DOM hierarchy within breadcrumb list
|
|
203
|
+
* - Supports assistive technology list navigation
|
|
204
|
+
* - Inline flex layout ensures proper alignment of icons and text
|
|
205
|
+
*
|
|
152
206
|
* @since 1.0.0
|
|
153
207
|
*/
|
|
154
208
|
declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
|
|
155
209
|
/**
|
|
156
210
|
* Navigable link within breadcrumb trail
|
|
157
211
|
*
|
|
158
|
-
* Represents a clickable parent page in the breadcrumb hierarchy with hover
|
|
212
|
+
* Represents a clickable parent page in the breadcrumb hierarchy with smooth hover
|
|
159
213
|
* effects and transition animations. Supports composition via the `asChild` prop
|
|
160
|
-
* for integration with routing libraries like Next.js Link
|
|
214
|
+
* for seamless integration with routing libraries like Next.js Link, React Router,
|
|
215
|
+
* or Reach Router using the Radix UI Slot primitive for prop merging.
|
|
216
|
+
*
|
|
217
|
+
* Built on Radix UI Slot primitive which enables the asChild pattern - when asChild
|
|
218
|
+
* is true, the component merges its props with the immediate child element instead
|
|
219
|
+
* of rendering its own anchor tag. This allows for flexible composition while
|
|
220
|
+
* maintaining consistent styling and behavior.
|
|
161
221
|
*
|
|
162
|
-
* @param asChild - When true,
|
|
163
|
-
* @param className - Additional CSS classes to apply
|
|
164
|
-
* @param
|
|
222
|
+
* @param asChild - When true, merges props with child element instead of rendering anchor. Enables composition with routing components @default false
|
|
223
|
+
* @param className - Additional CSS classes to apply to the link element
|
|
224
|
+
* @param href - Link destination URL (when asChild is false)
|
|
225
|
+
* @param children - Link content to display (text, icons, etc.)
|
|
226
|
+
* @param onClick - Click handler for the link interaction
|
|
227
|
+
* @param props - All standard HTML anchor element props (target, rel, download, etc.)
|
|
165
228
|
*
|
|
166
229
|
* @example
|
|
167
230
|
* ```tsx
|
|
168
|
-
* // Standard link
|
|
231
|
+
* // Standard anchor link
|
|
169
232
|
* <BreadcrumbLink href="/products">Products</BreadcrumbLink>
|
|
170
233
|
* ```
|
|
171
234
|
*
|
|
172
235
|
* @example
|
|
173
236
|
* ```tsx
|
|
174
|
-
* // With Next.js Link
|
|
237
|
+
* // With Next.js Link using asChild
|
|
238
|
+
* import { Link } from "next/link"
|
|
239
|
+
*
|
|
175
240
|
* <BreadcrumbLink asChild>
|
|
176
241
|
* <Link href="/products">Products</Link>
|
|
177
242
|
* </BreadcrumbLink>
|
|
178
243
|
* ```
|
|
179
244
|
*
|
|
245
|
+
* @example
|
|
246
|
+
* ```tsx
|
|
247
|
+
* // With React Router Link
|
|
248
|
+
* import { Link } from "react-router-dom"
|
|
249
|
+
*
|
|
250
|
+
* <BreadcrumbLink asChild>
|
|
251
|
+
* <Link to="/products">Products</Link>
|
|
252
|
+
* </BreadcrumbLink>
|
|
253
|
+
* ```
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```tsx
|
|
257
|
+
* // With click handler
|
|
258
|
+
* <BreadcrumbLink
|
|
259
|
+
* href="/products"
|
|
260
|
+
* onClick={(e) => {
|
|
261
|
+
* e.preventDefault();
|
|
262
|
+
* navigate('/products');
|
|
263
|
+
* }}
|
|
264
|
+
* >
|
|
265
|
+
* Products
|
|
266
|
+
* </BreadcrumbLink>
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
* @accessibility
|
|
270
|
+
* - Uses semantic anchor element with proper link role
|
|
271
|
+
* - Supports keyboard navigation (Enter key activation)
|
|
272
|
+
* - Compatible with screen reader link navigation
|
|
273
|
+
* - Maintains focus management when used with asChild
|
|
274
|
+
* - Preserves all accessibility attributes when composed
|
|
275
|
+
*
|
|
276
|
+
* @see {@link https://www.radix-ui.com/primitives/docs/utilities/slot} for asChild pattern details
|
|
180
277
|
* @since 1.0.0
|
|
181
278
|
*/
|
|
182
|
-
declare function BreadcrumbLink({ asChild, className, ...props }:
|
|
279
|
+
declare function BreadcrumbLink({ asChild, className, ...props }: {
|
|
183
280
|
asChild?: boolean;
|
|
184
|
-
}): import("react/jsx-runtime").JSX.Element;
|
|
281
|
+
} & React.ComponentProps<"a">): import("react/jsx-runtime").JSX.Element;
|
|
185
282
|
/**
|
|
186
283
|
* Current page indicator in breadcrumb trail
|
|
187
284
|
*
|
|
188
285
|
* Represents the current page (non-clickable) at the end of the breadcrumb trail.
|
|
189
|
-
* Styled with prominent text color and marked with accessibility
|
|
190
|
-
* including `aria-current="page"` for screen reader identification
|
|
286
|
+
* Styled with prominent text color and marked with comprehensive accessibility
|
|
287
|
+
* attributes including `aria-current="page"` for precise screen reader identification
|
|
288
|
+
* of the user's current location within the site hierarchy.
|
|
289
|
+
*
|
|
290
|
+
* This component uses specific ARIA attributes to indicate it represents a link-like
|
|
291
|
+
* element that is disabled, providing semantic meaning while maintaining the visual
|
|
292
|
+
* breadcrumb structure. The `aria-current="page"` attribute is the standard way to
|
|
293
|
+
* identify the current page in navigation components.
|
|
191
294
|
*
|
|
192
|
-
* @param className - Additional CSS classes to apply
|
|
193
|
-
* @param
|
|
295
|
+
* @param className - Additional CSS classes to apply to the span element
|
|
296
|
+
* @param children - Current page name or content to display
|
|
297
|
+
* @param props - All standard HTML span element props (id, data-*, style, etc.)
|
|
194
298
|
*
|
|
195
299
|
* @example
|
|
196
300
|
* ```tsx
|
|
301
|
+
* // Simple page name
|
|
197
302
|
* <BreadcrumbPage>Current Page Name</BreadcrumbPage>
|
|
198
303
|
* ```
|
|
199
304
|
*
|
|
305
|
+
* @example
|
|
306
|
+
* ```tsx
|
|
307
|
+
* // With icon and text
|
|
308
|
+
* <BreadcrumbPage>
|
|
309
|
+
* <FileIcon className="mr-1" />
|
|
310
|
+
* Document.pdf
|
|
311
|
+
* </BreadcrumbPage>
|
|
312
|
+
* ```
|
|
313
|
+
*
|
|
314
|
+
* @example
|
|
315
|
+
* ```tsx
|
|
316
|
+
* // With custom styling
|
|
317
|
+
* <BreadcrumbPage className="font-semibold text-primary">
|
|
318
|
+
* Important Page
|
|
319
|
+
* </BreadcrumbPage>
|
|
320
|
+
* ```
|
|
321
|
+
*
|
|
200
322
|
* @accessibility
|
|
201
|
-
* - Uses `role="link"` with `aria-disabled="true"`
|
|
202
|
-
* - Marked with `aria-current="page"` to indicate current location
|
|
323
|
+
* - Uses `role="link"` with `aria-disabled="true"` to indicate link-like but non-interactive element
|
|
324
|
+
* - Marked with `aria-current="page"` to indicate current location (WCAG 2.1 standard)
|
|
325
|
+
* - Provides semantic meaning for assistive technologies
|
|
326
|
+
* - Screen readers will announce this as the current page in the breadcrumb trail
|
|
327
|
+
* - Non-focusable as it represents the current location, not a navigation target
|
|
203
328
|
*
|
|
329
|
+
* @see {@link https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA02} for aria-current usage
|
|
204
330
|
* @since 1.0.0
|
|
205
331
|
*/
|
|
206
332
|
declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
207
333
|
/**
|
|
208
334
|
* Visual separator between breadcrumb items
|
|
209
335
|
*
|
|
210
|
-
* Displays a separator icon (default: ChevronRight) between breadcrumb items
|
|
211
|
-
*
|
|
212
|
-
*
|
|
336
|
+
* Displays a separator icon (default: ChevronRight) between breadcrumb items to
|
|
337
|
+
* provide visual hierarchy and direction in the breadcrumb trail. Supports complete
|
|
338
|
+
* customization with any icon or content. Properly hidden from assistive technologies
|
|
339
|
+
* with accessibility attributes for clean screen reader navigation experience.
|
|
340
|
+
*
|
|
341
|
+
* The component uses CSS sizing constraints to ensure consistent icon sizing across
|
|
342
|
+
* different separator types and maintains visual alignment within the breadcrumb flow.
|
|
213
343
|
*
|
|
214
|
-
* @param children - Custom separator icon to display instead of default ChevronRight
|
|
215
|
-
* @param className - Additional CSS classes to apply
|
|
216
|
-
* @param props -
|
|
344
|
+
* @param children - Custom separator icon or content to display instead of default ChevronRight. Typically Lucide icons like Slash, ArrowRight, etc.
|
|
345
|
+
* @param className - Additional CSS classes to apply to the list item container
|
|
346
|
+
* @param props - All standard HTML list item element props (id, data-*, style, etc.)
|
|
217
347
|
*
|
|
218
348
|
* @example
|
|
219
349
|
* ```tsx
|
|
220
|
-
* // Default separator
|
|
350
|
+
* // Default ChevronRight separator
|
|
221
351
|
* <BreadcrumbSeparator />
|
|
222
352
|
* ```
|
|
223
353
|
*
|
|
224
354
|
* @example
|
|
225
355
|
* ```tsx
|
|
226
|
-
* // Custom separator
|
|
356
|
+
* // Custom Slash separator
|
|
227
357
|
* import { Slash } from "lucide-react"
|
|
228
358
|
* <BreadcrumbSeparator>
|
|
229
359
|
* <Slash />
|
|
230
360
|
* </BreadcrumbSeparator>
|
|
231
361
|
* ```
|
|
232
362
|
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```tsx
|
|
365
|
+
* // Arrow right separator
|
|
366
|
+
* import { ArrowRight } from "lucide-react"
|
|
367
|
+
* <BreadcrumbSeparator>
|
|
368
|
+
* <ArrowRight />
|
|
369
|
+
* </BreadcrumbSeparator>
|
|
370
|
+
* ```
|
|
371
|
+
*
|
|
372
|
+
* @example
|
|
373
|
+
* ```tsx
|
|
374
|
+
* // Text separator
|
|
375
|
+
* <BreadcrumbSeparator>
|
|
376
|
+
* <span className="text-muted-foreground">/</span>
|
|
377
|
+
* </BreadcrumbSeparator>
|
|
378
|
+
* ```
|
|
379
|
+
*
|
|
233
380
|
* @accessibility
|
|
234
|
-
* - Uses `role="presentation"` to indicate decorative content
|
|
381
|
+
* - Uses `role="presentation"` to indicate purely decorative content
|
|
235
382
|
* - Hidden from screen readers with `aria-hidden="true"`
|
|
383
|
+
* - Does not interfere with keyboard navigation flow
|
|
384
|
+
* - Screen readers skip over separator and focus on actual navigation links
|
|
385
|
+
* - Maintains visual structure without adding semantic noise
|
|
236
386
|
*
|
|
237
387
|
* @since 1.0.0
|
|
238
388
|
*/
|
|
@@ -241,39 +391,71 @@ declare function BreadcrumbSeparator({ children, className, ...props }: React.Co
|
|
|
241
391
|
* Ellipsis indicator for collapsed breadcrumb items
|
|
242
392
|
*
|
|
243
393
|
* Shows a horizontal ellipsis icon (MoreHorizontal) to indicate hidden or
|
|
244
|
-
* collapsed middle items in a long breadcrumb trail.
|
|
245
|
-
* hierarchies where space is limited
|
|
246
|
-
* menus
|
|
394
|
+
* collapsed middle items in a long breadcrumb trail. Essential for deep navigation
|
|
395
|
+
* hierarchies where space is limited or mobile responsive design. Commonly used
|
|
396
|
+
* in combination with dropdown menus, popovers, or expandable sections to reveal
|
|
397
|
+
* the collapsed breadcrumb items on user interaction.
|
|
398
|
+
*
|
|
399
|
+
* The component provides a consistent 36px (9 × 4px) clickable area for better
|
|
400
|
+
* touch interaction when used as a trigger for dropdown menus. Includes hidden
|
|
401
|
+
* screen reader text to provide context about the collapsed content.
|
|
247
402
|
*
|
|
248
|
-
* @param className - Additional CSS classes to apply
|
|
249
|
-
* @param
|
|
403
|
+
* @param className - Additional CSS classes to apply to the ellipsis container
|
|
404
|
+
* @param children - Custom content to display instead of the default MoreHorizontal icon (rarely needed)
|
|
405
|
+
* @param props - All standard HTML span element props (id, data-*, style, onClick for dropdown triggers, etc.)
|
|
250
406
|
*
|
|
251
407
|
* @example
|
|
252
408
|
* ```tsx
|
|
253
|
-
* // Simple ellipsis
|
|
409
|
+
* // Simple static ellipsis
|
|
254
410
|
* <BreadcrumbEllipsis />
|
|
255
411
|
* ```
|
|
256
412
|
*
|
|
257
413
|
* @example
|
|
258
414
|
* ```tsx
|
|
259
|
-
* //
|
|
415
|
+
* // Interactive ellipsis with dropdown menu
|
|
260
416
|
* <BreadcrumbItem>
|
|
261
417
|
* <DropdownMenu>
|
|
262
|
-
* <DropdownMenuTrigger>
|
|
263
|
-
* <BreadcrumbEllipsis />
|
|
418
|
+
* <DropdownMenuTrigger asChild>
|
|
419
|
+
* <BreadcrumbEllipsis className="hover:bg-muted cursor-pointer" />
|
|
264
420
|
* </DropdownMenuTrigger>
|
|
265
421
|
* <DropdownMenuContent>
|
|
266
|
-
* <DropdownMenuItem>
|
|
267
|
-
*
|
|
422
|
+
* <DropdownMenuItem>
|
|
423
|
+
* <BreadcrumbLink href="/level1">Level 1</BreadcrumbLink>
|
|
424
|
+
* </DropdownMenuItem>
|
|
425
|
+
* <DropdownMenuItem>
|
|
426
|
+
* <BreadcrumbLink href="/level1/level2">Level 2</BreadcrumbLink>
|
|
427
|
+
* </DropdownMenuItem>
|
|
268
428
|
* </DropdownMenuContent>
|
|
269
429
|
* </DropdownMenu>
|
|
270
430
|
* </BreadcrumbItem>
|
|
271
431
|
* ```
|
|
272
432
|
*
|
|
433
|
+
* @example
|
|
434
|
+
* ```tsx
|
|
435
|
+
* // With popover for collapsed items
|
|
436
|
+
* <BreadcrumbItem>
|
|
437
|
+
* <Popover>
|
|
438
|
+
* <PopoverTrigger asChild>
|
|
439
|
+
* <BreadcrumbEllipsis className="hover:bg-accent" />
|
|
440
|
+
* </PopoverTrigger>
|
|
441
|
+
* <PopoverContent>
|
|
442
|
+
* <div className="space-y-2">
|
|
443
|
+
* <BreadcrumbLink href="/hidden1">Hidden Item 1</BreadcrumbLink>
|
|
444
|
+
* <BreadcrumbLink href="/hidden2">Hidden Item 2</BreadcrumbLink>
|
|
445
|
+
* </div>
|
|
446
|
+
* </PopoverContent>
|
|
447
|
+
* </Popover>
|
|
448
|
+
* </BreadcrumbItem>
|
|
449
|
+
* ```
|
|
450
|
+
*
|
|
273
451
|
* @accessibility
|
|
274
|
-
* - Uses `role="presentation"` and `aria-hidden="true"` for
|
|
275
|
-
* - Includes screen reader text "More"
|
|
452
|
+
* - Uses `role="presentation"` and `aria-hidden="true"` for the visual ellipsis
|
|
453
|
+
* - Includes hidden screen reader text "More" to provide context
|
|
454
|
+
* - When used as dropdown trigger, ensure proper ARIA attributes on parent trigger
|
|
455
|
+
* - Maintains 36px minimum touch target size for mobile accessibility
|
|
456
|
+
* - Screen readers will announce "More" when focused (if used as interactive element)
|
|
276
457
|
*
|
|
458
|
+
* @see {@link https://www.w3.org/WAI/WCAG21/Understanding/target-size.html} for touch target guidelines
|
|
277
459
|
* @since 1.0.0
|
|
278
460
|
*/
|
|
279
461
|
declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"breadcrumb.d.ts","sourceRoot":"","sources":["../../../src/components/ui/breadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6G/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoHG;AACH,iBAAS,UAAU,CAAC,EAClB,GAAG,KAAK,EACT,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,2CAEjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqEG;AACH,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,2CAUnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAa9B;AAED,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,CAAC"}
|