@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.
Files changed (173) hide show
  1. package/dist/components/ui/accordion.d.ts +1 -25
  2. package/dist/components/ui/accordion.d.ts.map +1 -1
  3. package/dist/components/ui/alert-dialog.d.ts +240 -46
  4. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  5. package/dist/components/ui/alert.d.ts +73 -11
  6. package/dist/components/ui/alert.d.ts.map +1 -1
  7. package/dist/components/ui/aspect-ratio.d.ts +44 -10
  8. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  9. package/dist/components/ui/avatar.d.ts +117 -33
  10. package/dist/components/ui/avatar.d.ts.map +1 -1
  11. package/dist/components/ui/badge.d.ts +50 -71
  12. package/dist/components/ui/badge.d.ts.map +1 -1
  13. package/dist/components/ui/breadcrumb.d.ts +231 -49
  14. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  15. package/dist/components/ui/button.d.ts +189 -71
  16. package/dist/components/ui/button.d.ts.map +1 -1
  17. package/dist/components/ui/calendar.d.ts +197 -40
  18. package/dist/components/ui/calendar.d.ts.map +1 -1
  19. package/dist/components/ui/card.d.ts +7 -22
  20. package/dist/components/ui/card.d.ts.map +1 -1
  21. package/dist/components/ui/carousel.d.ts +369 -99
  22. package/dist/components/ui/carousel.d.ts.map +1 -1
  23. package/dist/components/ui/chart.d.ts.map +1 -1
  24. package/dist/components/ui/checkbox.d.ts +110 -38
  25. package/dist/components/ui/checkbox.d.ts.map +1 -1
  26. package/dist/components/ui/collapsible.d.ts +246 -61
  27. package/dist/components/ui/collapsible.d.ts.map +1 -1
  28. package/dist/components/ui/combobox.d.ts +207 -159
  29. package/dist/components/ui/combobox.d.ts.map +1 -1
  30. package/dist/components/ui/command.d.ts +336 -67
  31. package/dist/components/ui/command.d.ts.map +1 -1
  32. package/dist/components/ui/container.d.ts +159 -64
  33. package/dist/components/ui/container.d.ts.map +1 -1
  34. package/dist/components/ui/context-menu.d.ts +321 -39
  35. package/dist/components/ui/context-menu.d.ts.map +1 -1
  36. package/dist/components/ui/date-picker.d.ts +113 -86
  37. package/dist/components/ui/date-picker.d.ts.map +1 -1
  38. package/dist/components/ui/dialog.d.ts +106 -25
  39. package/dist/components/ui/dialog.d.ts.map +1 -1
  40. package/dist/components/ui/drawer.d.ts +388 -59
  41. package/dist/components/ui/drawer.d.ts.map +1 -1
  42. package/dist/components/ui/dropdown-menu.d.ts +521 -74
  43. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  44. package/dist/components/ui/empty-state.d.ts +148 -76
  45. package/dist/components/ui/empty-state.d.ts.map +1 -1
  46. package/dist/components/ui/hover-card.d.ts +253 -34
  47. package/dist/components/ui/hover-card.d.ts.map +1 -1
  48. package/dist/components/ui/input.d.ts +143 -44
  49. package/dist/components/ui/input.d.ts.map +1 -1
  50. package/dist/components/ui/label.d.ts +0 -8
  51. package/dist/components/ui/label.d.ts.map +1 -1
  52. package/dist/components/ui/menubar.d.ts +288 -46
  53. package/dist/components/ui/menubar.d.ts.map +1 -1
  54. package/dist/components/ui/navigation-menu.d.ts +444 -127
  55. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  56. package/dist/components/ui/pagination.d.ts +342 -66
  57. package/dist/components/ui/pagination.d.ts.map +1 -1
  58. package/dist/components/ui/popover.d.ts +0 -8
  59. package/dist/components/ui/popover.d.ts.map +1 -1
  60. package/dist/components/ui/progress.d.ts +88 -30
  61. package/dist/components/ui/progress.d.ts.map +1 -1
  62. package/dist/components/ui/radio-group.d.ts +189 -45
  63. package/dist/components/ui/radio-group.d.ts.map +1 -1
  64. package/dist/components/ui/resizable.d.ts +178 -62
  65. package/dist/components/ui/resizable.d.ts.map +1 -1
  66. package/dist/components/ui/scroll-area.d.ts +180 -21
  67. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  68. package/dist/components/ui/select.d.ts +382 -60
  69. package/dist/components/ui/select.d.ts.map +1 -1
  70. package/dist/components/ui/separator.d.ts +52 -39
  71. package/dist/components/ui/separator.d.ts.map +1 -1
  72. package/dist/components/ui/sheet.d.ts +144 -27
  73. package/dist/components/ui/sheet.d.ts.map +1 -1
  74. package/dist/components/ui/sidebar.d.ts +81 -31
  75. package/dist/components/ui/sidebar.d.ts.map +1 -1
  76. package/dist/components/ui/skeleton.d.ts +94 -32
  77. package/dist/components/ui/skeleton.d.ts.map +1 -1
  78. package/dist/components/ui/slider.d.ts +37 -31
  79. package/dist/components/ui/slider.d.ts.map +1 -1
  80. package/dist/components/ui/sonner.d.ts +280 -46
  81. package/dist/components/ui/sonner.d.ts.map +1 -1
  82. package/dist/components/ui/stack.d.ts +289 -148
  83. package/dist/components/ui/stack.d.ts.map +1 -1
  84. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +1 -2
  85. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +1 -1
  86. package/dist/components/ui/stories/container.stories.d.ts +2 -3
  87. package/dist/components/ui/stories/container.stories.d.ts.map +1 -1
  88. package/dist/components/ui/stories/empty-state.stories.d.ts +2 -2
  89. package/dist/components/ui/stories/scroll-area.stories.d.ts +1 -2
  90. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +1 -1
  91. package/dist/components/ui/stories/stack.stories.d.ts +1 -1
  92. package/dist/components/ui/stories/text-field.stories.d.ts +7 -1
  93. package/dist/components/ui/stories/text-field.stories.d.ts.map +1 -1
  94. package/dist/components/ui/switch.d.ts +44 -38
  95. package/dist/components/ui/switch.d.ts.map +1 -1
  96. package/dist/components/ui/table.d.ts +33 -0
  97. package/dist/components/ui/table.d.ts.map +1 -1
  98. package/dist/components/ui/tabs.d.ts +4 -22
  99. package/dist/components/ui/tabs.d.ts.map +1 -1
  100. package/dist/components/ui/text-field.d.ts +170 -84
  101. package/dist/components/ui/text-field.d.ts.map +1 -1
  102. package/dist/components/ui/textarea.d.ts +106 -29
  103. package/dist/components/ui/textarea.d.ts.map +1 -1
  104. package/dist/components/ui/theme-toggle.d.ts +190 -65
  105. package/dist/components/ui/theme-toggle.d.ts.map +1 -1
  106. package/dist/components/ui/theme.d.ts +107 -23
  107. package/dist/components/ui/theme.d.ts.map +1 -1
  108. package/dist/components/ui/toggle-group.d.ts +143 -67
  109. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  110. package/dist/components/ui/toggle.d.ts +118 -30
  111. package/dist/components/ui/toggle.d.ts.map +1 -1
  112. package/dist/components/ui/tooltip.d.ts +152 -28
  113. package/dist/components/ui/tooltip.d.ts.map +1 -1
  114. package/dist/components/ui/typography.d.ts +452 -134
  115. package/dist/components/ui/typography.d.ts.map +1 -1
  116. package/dist/index.js +9388 -8281
  117. package/dist/index.js.map +1 -1
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/llms.txt +173 -3
  120. package/package.json +5 -2
  121. package/src/components/ui/accordion.tsx +112 -27
  122. package/src/components/ui/alert-dialog.tsx +401 -46
  123. package/src/components/ui/alert.tsx +114 -11
  124. package/src/components/ui/aspect-ratio.tsx +69 -14
  125. package/src/components/ui/avatar.tsx +179 -33
  126. package/src/components/ui/badge.tsx +74 -75
  127. package/src/components/ui/breadcrumb.tsx +335 -50
  128. package/src/components/ui/button.tsx +198 -90
  129. package/src/components/ui/calendar.tsx +867 -43
  130. package/src/components/ui/card.tsx +140 -33
  131. package/src/components/ui/carousel.tsx +529 -98
  132. package/src/components/ui/chart.tsx +222 -1
  133. package/src/components/ui/checkbox.tsx +176 -38
  134. package/src/components/ui/collapsible.tsx +321 -67
  135. package/src/components/ui/combobox.tsx +284 -83
  136. package/src/components/ui/command.tsx +527 -67
  137. package/src/components/ui/container.tsx +217 -65
  138. package/src/components/ui/context-menu.tsx +716 -51
  139. package/src/components/ui/date-picker.tsx +228 -38
  140. package/src/components/ui/dialog.tsx +270 -33
  141. package/src/components/ui/drawer.tsx +546 -67
  142. package/src/components/ui/dropdown-menu.tsx +657 -74
  143. package/src/components/ui/empty-state.tsx +241 -82
  144. package/src/components/ui/hover-card.tsx +328 -39
  145. package/src/components/ui/input.tsx +207 -44
  146. package/src/components/ui/label.tsx +98 -8
  147. package/src/components/ui/menubar.tsx +587 -54
  148. package/src/components/ui/navigation-menu.tsx +557 -128
  149. package/src/components/ui/pagination.tsx +561 -79
  150. package/src/components/ui/popover.tsx +119 -8
  151. package/src/components/ui/progress.tsx +131 -29
  152. package/src/components/ui/radio-group.tsx +260 -51
  153. package/src/components/ui/resizable.tsx +289 -63
  154. package/src/components/ui/scroll-area.tsx +377 -66
  155. package/src/components/ui/select.tsx +545 -60
  156. package/src/components/ui/separator.tsx +146 -40
  157. package/src/components/ui/sheet.tsx +348 -31
  158. package/src/components/ui/sidebar.tsx +471 -29
  159. package/src/components/ui/skeleton.tsx +114 -32
  160. package/src/components/ui/slider.tsx +77 -31
  161. package/src/components/ui/sonner.tsx +574 -46
  162. package/src/components/ui/stack.tsx +423 -101
  163. package/src/components/ui/switch.tsx +78 -39
  164. package/src/components/ui/table.tsx +170 -4
  165. package/src/components/ui/tabs.tsx +108 -22
  166. package/src/components/ui/text-field.tsx +226 -81
  167. package/src/components/ui/textarea.tsx +180 -29
  168. package/src/components/ui/theme-toggle.tsx +313 -65
  169. package/src/components/ui/theme.tsx +117 -23
  170. package/src/components/ui/toggle-group.tsx +280 -69
  171. package/src/components/ui/toggle.tsx +124 -35
  172. package/src/components/ui/tooltip.tsx +239 -29
  173. 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 props - Standard HTML ordered list props
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 props - Standard HTML list item props
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 or React Router.
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, renders children directly instead of an anchor element
163
- * @param className - Additional CSS classes to apply
164
- * @param props - Standard HTML anchor props when asChild is false
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 }: React.ComponentProps<"a"> & {
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 attributes
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 props - Standard HTML span props
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"` for semantic meaning
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
- * Supports custom separator icons by passing them as children. Hidden from
212
- * screen readers with accessibility attributes for clean navigation experience.
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 - Standard HTML list item 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. Useful for deep navigation
245
- * hierarchies where space is limited. Often used in combination with dropdown
246
- * menus to reveal the collapsed items.
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 props - Standard HTML span props
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
- * // With dropdown menu for collapsed items
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>Hidden Item 1</DropdownMenuItem>
267
- * <DropdownMenuItem>Hidden Item 2</DropdownMenuItem>
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 decorative content
275
- * - Includes screen reader text "More" for context
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;AAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8GG;AACH,iBAAS,UAAU,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAE5D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAW1E;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAQ1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,iBAAS,cAAc,CAAC,EACtB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,2CAUA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,iBAAS,mBAAmB,CAAC,EAC3B,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,2CAY5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;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"}
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"}