@work-rjkashyap/unified-ui 0.3.3 → 0.3.5

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 (456) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/LICENSE +21 -0
  3. package/dist/components/accordion.cjs +225 -0
  4. package/dist/components/accordion.d.cts +157 -0
  5. package/dist/components/accordion.d.ts +157 -0
  6. package/dist/components/accordion.mjs +199 -0
  7. package/dist/components/alert-dialog.cjs +246 -0
  8. package/dist/components/alert-dialog.d.cts +61 -0
  9. package/dist/components/alert-dialog.d.ts +61 -0
  10. package/dist/components/alert-dialog.mjs +218 -0
  11. package/dist/components/alert.cjs +401 -0
  12. package/dist/components/alert.d.cts +217 -0
  13. package/dist/components/alert.d.ts +217 -0
  14. package/dist/components/alert.mjs +374 -0
  15. package/dist/components/aspect-ratio.cjs +45 -0
  16. package/dist/components/aspect-ratio.d.cts +10 -0
  17. package/dist/components/aspect-ratio.d.ts +10 -0
  18. package/dist/components/aspect-ratio.mjs +23 -0
  19. package/dist/components/avatar.cjs +348 -0
  20. package/dist/components/avatar.d.cts +198 -0
  21. package/dist/components/avatar.d.ts +198 -0
  22. package/dist/components/avatar.mjs +329 -0
  23. package/dist/components/badge.cjs +325 -0
  24. package/dist/components/badge.d.cts +259 -0
  25. package/dist/components/badge.d.ts +259 -0
  26. package/dist/components/badge.mjs +298 -0
  27. package/dist/components/banner.cjs +147 -0
  28. package/dist/components/banner.d.cts +31 -0
  29. package/dist/components/banner.d.ts +31 -0
  30. package/dist/components/banner.mjs +122 -0
  31. package/dist/components/breadcrumb.cjs +266 -0
  32. package/dist/components/breadcrumb.d.cts +159 -0
  33. package/dist/components/breadcrumb.d.ts +159 -0
  34. package/dist/components/breadcrumb.mjs +235 -0
  35. package/dist/components/button.cjs +254 -0
  36. package/dist/components/button.d.cts +126 -0
  37. package/dist/components/button.d.ts +126 -0
  38. package/dist/components/button.mjs +229 -0
  39. package/dist/components/calendar.cjs +511 -0
  40. package/dist/components/calendar.d.cts +94 -0
  41. package/dist/components/calendar.d.ts +94 -0
  42. package/dist/components/calendar.mjs +492 -0
  43. package/dist/components/card.cjs +234 -0
  44. package/dist/components/card.d.cts +190 -0
  45. package/dist/components/card.d.ts +190 -0
  46. package/dist/components/card.mjs +210 -0
  47. package/dist/components/carousel.cjs +234 -0
  48. package/dist/components/carousel.d.cts +30 -0
  49. package/dist/components/carousel.d.ts +30 -0
  50. package/dist/components/carousel.mjs +217 -0
  51. package/dist/components/chart.cjs +122 -0
  52. package/dist/components/chart.d.cts +103 -0
  53. package/dist/components/chart.d.ts +103 -0
  54. package/dist/components/chart.mjs +96 -0
  55. package/dist/components/checkbox.cjs +318 -0
  56. package/dist/components/checkbox.d.cts +182 -0
  57. package/dist/components/checkbox.d.ts +182 -0
  58. package/dist/components/checkbox.mjs +296 -0
  59. package/dist/components/code-highlight.cjs +335 -0
  60. package/dist/components/code-highlight.d.cts +18 -0
  61. package/dist/components/code-highlight.d.ts +18 -0
  62. package/dist/components/code-highlight.mjs +308 -0
  63. package/dist/components/code.cjs +265 -0
  64. package/dist/components/code.d.cts +40 -0
  65. package/dist/components/code.d.ts +40 -0
  66. package/dist/components/code.mjs +243 -0
  67. package/dist/components/collapsible.cjs +143 -0
  68. package/dist/components/collapsible.d.cts +159 -0
  69. package/dist/components/collapsible.d.ts +159 -0
  70. package/dist/components/collapsible.mjs +123 -0
  71. package/dist/components/color-picker.cjs +348 -0
  72. package/dist/components/color-picker.d.cts +35 -0
  73. package/dist/components/color-picker.d.ts +35 -0
  74. package/dist/components/color-picker.mjs +331 -0
  75. package/dist/components/combobox.cjs +584 -0
  76. package/dist/components/combobox.d.cts +183 -0
  77. package/dist/components/combobox.d.ts +183 -0
  78. package/dist/components/combobox.mjs +571 -0
  79. package/dist/components/command.cjs +329 -0
  80. package/dist/components/command.d.cts +97 -0
  81. package/dist/components/command.d.ts +97 -0
  82. package/dist/components/command.mjs +311 -0
  83. package/dist/components/confirm-dialog.cjs +100 -0
  84. package/dist/components/confirm-dialog.d.cts +25 -0
  85. package/dist/components/confirm-dialog.d.ts +25 -0
  86. package/dist/components/confirm-dialog.mjs +86 -0
  87. package/dist/components/context-menu.cjs +325 -0
  88. package/dist/components/context-menu.d.cts +259 -0
  89. package/dist/components/context-menu.d.ts +259 -0
  90. package/dist/components/context-menu.mjs +290 -0
  91. package/dist/components/copy-button.cjs +203 -0
  92. package/dist/components/copy-button.d.cts +22 -0
  93. package/dist/components/copy-button.d.ts +22 -0
  94. package/dist/components/copy-button.mjs +178 -0
  95. package/dist/components/data-list.cjs +140 -0
  96. package/dist/components/data-list.d.cts +36 -0
  97. package/dist/components/data-list.d.ts +36 -0
  98. package/dist/components/data-list.mjs +113 -0
  99. package/dist/components/data-table-toolbar.cjs +338 -0
  100. package/dist/components/data-table-toolbar.d.cts +84 -0
  101. package/dist/components/data-table-toolbar.d.ts +84 -0
  102. package/dist/components/data-table-toolbar.mjs +320 -0
  103. package/dist/components/data-table.cjs +1324 -0
  104. package/dist/components/data-table.d.cts +349 -0
  105. package/dist/components/data-table.d.ts +349 -0
  106. package/dist/components/data-table.mjs +1323 -0
  107. package/dist/components/date-picker.cjs +282 -0
  108. package/dist/components/date-picker.d.cts +97 -0
  109. package/dist/components/date-picker.d.ts +97 -0
  110. package/dist/components/date-picker.mjs +258 -0
  111. package/dist/components/dialog.cjs +319 -0
  112. package/dist/components/dialog.d.cts +74 -0
  113. package/dist/components/dialog.d.ts +74 -0
  114. package/dist/components/dialog.mjs +292 -0
  115. package/dist/components/drawer.cjs +262 -0
  116. package/dist/components/drawer.d.cts +113 -0
  117. package/dist/components/drawer.d.ts +113 -0
  118. package/dist/components/drawer.mjs +230 -0
  119. package/dist/components/dropdown-menu.cjs +328 -0
  120. package/dist/components/dropdown-menu.d.cts +95 -0
  121. package/dist/components/dropdown-menu.d.ts +95 -0
  122. package/dist/components/dropdown-menu.mjs +293 -0
  123. package/dist/components/empty-state.cjs +123 -0
  124. package/dist/components/empty-state.d.cts +15 -0
  125. package/dist/components/empty-state.d.ts +15 -0
  126. package/dist/components/empty-state.mjs +99 -0
  127. package/dist/components/file-upload.cjs +442 -0
  128. package/dist/components/file-upload.d.cts +35 -0
  129. package/dist/components/file-upload.d.ts +35 -0
  130. package/dist/components/file-upload.mjs +423 -0
  131. package/dist/components/form-field.cjs +191 -0
  132. package/dist/components/form-field.d.cts +163 -0
  133. package/dist/components/form-field.d.ts +163 -0
  134. package/dist/components/form-field.mjs +167 -0
  135. package/dist/components/hover-card.cjs +99 -0
  136. package/dist/components/hover-card.d.cts +28 -0
  137. package/dist/components/hover-card.d.ts +28 -0
  138. package/dist/components/hover-card.mjs +75 -0
  139. package/dist/components/image-gallery.cjs +359 -0
  140. package/dist/components/image-gallery.d.cts +46 -0
  141. package/dist/components/image-gallery.d.ts +46 -0
  142. package/dist/components/image-gallery.mjs +340 -0
  143. package/dist/components/index.cjs +719 -0
  144. package/dist/components/index.d.cts +84 -0
  145. package/dist/components/index.d.ts +84 -0
  146. package/dist/components/index.mjs +771 -0
  147. package/dist/components/infinite-scroll.cjs +95 -0
  148. package/dist/components/infinite-scroll.d.cts +54 -0
  149. package/dist/components/infinite-scroll.d.ts +54 -0
  150. package/dist/components/infinite-scroll.mjs +71 -0
  151. package/dist/components/input-group.cjs +202 -0
  152. package/dist/components/input-group.d.cts +22 -0
  153. package/dist/components/input-group.d.ts +22 -0
  154. package/dist/components/input-group.mjs +178 -0
  155. package/dist/components/input.cjs +318 -0
  156. package/dist/components/input.d.cts +99 -0
  157. package/dist/components/input.d.ts +99 -0
  158. package/dist/components/input.mjs +296 -0
  159. package/dist/components/kbd.cjs +69 -0
  160. package/dist/components/kbd.d.cts +25 -0
  161. package/dist/components/kbd.d.ts +25 -0
  162. package/dist/components/kbd.mjs +44 -0
  163. package/dist/components/label.cjs +138 -0
  164. package/dist/components/label.d.cts +91 -0
  165. package/dist/components/label.d.ts +91 -0
  166. package/dist/components/label.mjs +113 -0
  167. package/dist/components/markdown.cjs +179 -0
  168. package/dist/components/markdown.d.cts +41 -0
  169. package/dist/components/markdown.d.ts +41 -0
  170. package/dist/components/markdown.mjs +155 -0
  171. package/dist/components/menubar.cjs +365 -0
  172. package/dist/components/menubar.d.cts +88 -0
  173. package/dist/components/menubar.d.ts +88 -0
  174. package/dist/components/menubar.mjs +329 -0
  175. package/dist/components/navigation-menu.cjs +280 -0
  176. package/dist/components/navigation-menu.d.cts +123 -0
  177. package/dist/components/navigation-menu.d.ts +123 -0
  178. package/dist/components/navigation-menu.mjs +250 -0
  179. package/dist/components/number-input.cjs +419 -0
  180. package/dist/components/number-input.d.cts +111 -0
  181. package/dist/components/number-input.d.ts +111 -0
  182. package/dist/components/number-input.mjs +400 -0
  183. package/dist/components/pagination.cjs +322 -0
  184. package/dist/components/pagination.d.cts +119 -0
  185. package/dist/components/pagination.d.ts +119 -0
  186. package/dist/components/pagination.mjs +297 -0
  187. package/dist/components/pin-input.cjs +321 -0
  188. package/dist/components/pin-input.d.cts +112 -0
  189. package/dist/components/pin-input.d.ts +112 -0
  190. package/dist/components/pin-input.mjs +303 -0
  191. package/dist/components/popover.cjs +194 -0
  192. package/dist/components/popover.d.cts +108 -0
  193. package/dist/components/popover.d.ts +108 -0
  194. package/dist/components/popover.mjs +168 -0
  195. package/dist/components/progress.cjs +237 -0
  196. package/dist/components/progress.d.cts +137 -0
  197. package/dist/components/progress.d.ts +137 -0
  198. package/dist/components/progress.mjs +211 -0
  199. package/dist/components/radio.cjs +344 -0
  200. package/dist/components/radio.d.cts +145 -0
  201. package/dist/components/radio.d.ts +145 -0
  202. package/dist/components/radio.mjs +320 -0
  203. package/dist/components/resizable.cjs +121 -0
  204. package/dist/components/resizable.d.cts +23 -0
  205. package/dist/components/resizable.d.ts +23 -0
  206. package/dist/components/resizable.mjs +99 -0
  207. package/dist/components/scroll-area.cjs +168 -0
  208. package/dist/components/scroll-area.d.cts +131 -0
  209. package/dist/components/scroll-area.d.ts +131 -0
  210. package/dist/components/scroll-area.mjs +143 -0
  211. package/dist/components/search-input.cjs +261 -0
  212. package/dist/components/search-input.d.cts +26 -0
  213. package/dist/components/search-input.d.ts +26 -0
  214. package/dist/components/search-input.mjs +243 -0
  215. package/dist/components/select.cjs +320 -0
  216. package/dist/components/select.d.cts +55 -0
  217. package/dist/components/select.d.ts +55 -0
  218. package/dist/components/select.mjs +288 -0
  219. package/dist/components/separator.cjs +193 -0
  220. package/dist/components/separator.d.cts +92 -0
  221. package/dist/components/separator.d.ts +92 -0
  222. package/dist/components/separator.mjs +170 -0
  223. package/dist/components/sheet.cjs +399 -0
  224. package/dist/components/sheet.d.cts +219 -0
  225. package/dist/components/sheet.d.ts +219 -0
  226. package/dist/components/sheet.mjs +379 -0
  227. package/dist/components/sidebar.cjs +1077 -0
  228. package/dist/components/sidebar.d.cts +733 -0
  229. package/dist/components/sidebar.d.ts +733 -0
  230. package/dist/components/sidebar.mjs +1033 -0
  231. package/dist/components/skeleton.cjs +210 -0
  232. package/dist/components/skeleton.d.cts +202 -0
  233. package/dist/components/skeleton.d.ts +202 -0
  234. package/dist/components/skeleton.mjs +182 -0
  235. package/dist/components/slider.cjs +319 -0
  236. package/dist/components/slider.d.cts +82 -0
  237. package/dist/components/slider.d.ts +82 -0
  238. package/dist/components/slider.mjs +296 -0
  239. package/dist/components/sonner.cjs +119 -0
  240. package/dist/components/sonner.d.cts +60 -0
  241. package/dist/components/sonner.d.ts +60 -0
  242. package/dist/components/sonner.mjs +94 -0
  243. package/dist/components/spinner.cjs +238 -0
  244. package/dist/components/spinner.d.cts +101 -0
  245. package/dist/components/spinner.d.ts +101 -0
  246. package/dist/components/spinner.mjs +213 -0
  247. package/dist/components/stat.cjs +180 -0
  248. package/dist/components/stat.d.cts +21 -0
  249. package/dist/components/stat.d.ts +21 -0
  250. package/dist/components/stat.mjs +161 -0
  251. package/dist/components/steps.cjs +228 -0
  252. package/dist/components/steps.d.cts +76 -0
  253. package/dist/components/steps.d.ts +76 -0
  254. package/dist/components/steps.mjs +207 -0
  255. package/dist/components/switch.cjs +243 -0
  256. package/dist/components/switch.d.cts +90 -0
  257. package/dist/components/switch.d.ts +90 -0
  258. package/dist/components/switch.mjs +228 -0
  259. package/dist/components/table.cjs +381 -0
  260. package/dist/components/table.d.cts +181 -0
  261. package/dist/components/table.d.ts +181 -0
  262. package/dist/components/table.mjs +349 -0
  263. package/dist/components/tabs.cjs +326 -0
  264. package/dist/components/tabs.d.cts +154 -0
  265. package/dist/components/tabs.d.ts +154 -0
  266. package/dist/components/tabs.mjs +304 -0
  267. package/dist/components/textarea.cjs +258 -0
  268. package/dist/components/textarea.d.cts +112 -0
  269. package/dist/components/textarea.d.ts +112 -0
  270. package/dist/components/textarea.mjs +233 -0
  271. package/dist/components/theme-toggle.cjs +282 -0
  272. package/dist/components/theme-toggle.d.cts +58 -0
  273. package/dist/components/theme-toggle.d.ts +58 -0
  274. package/dist/components/theme-toggle.mjs +258 -0
  275. package/dist/components/timeline.cjs +178 -0
  276. package/dist/components/timeline.d.cts +41 -0
  277. package/dist/components/timeline.d.ts +41 -0
  278. package/dist/components/timeline.mjs +157 -0
  279. package/dist/components/toast.cjs +546 -0
  280. package/dist/components/toast.d.cts +169 -0
  281. package/dist/components/toast.d.ts +169 -0
  282. package/dist/components/toast.mjs +528 -0
  283. package/dist/components/toggle-group.cjs +204 -0
  284. package/dist/components/toggle-group.d.cts +215 -0
  285. package/dist/components/toggle-group.d.ts +215 -0
  286. package/dist/components/toggle-group.mjs +180 -0
  287. package/dist/components/toggle.cjs +155 -0
  288. package/dist/components/toggle.d.cts +100 -0
  289. package/dist/components/toggle.d.ts +100 -0
  290. package/dist/components/toggle.mjs +130 -0
  291. package/dist/components/tooltip.cjs +155 -0
  292. package/dist/components/tooltip.d.cts +129 -0
  293. package/dist/components/tooltip.d.ts +129 -0
  294. package/dist/components/tooltip.mjs +132 -0
  295. package/dist/components/tree-view.cjs +450 -0
  296. package/dist/components/tree-view.d.cts +67 -0
  297. package/dist/components/tree-view.d.ts +67 -0
  298. package/dist/components/tree-view.mjs +433 -0
  299. package/dist/components/video-player.cjs +344 -0
  300. package/dist/components/video-player.d.cts +34 -0
  301. package/dist/components/video-player.d.ts +34 -0
  302. package/dist/components/video-player.mjs +320 -0
  303. package/dist/components/virtual-list.cjs +153 -0
  304. package/dist/components/virtual-list.d.cts +53 -0
  305. package/dist/components/virtual-list.d.ts +53 -0
  306. package/dist/components/virtual-list.mjs +136 -0
  307. package/dist/components/visually-hidden.cjs +43 -0
  308. package/dist/components/visually-hidden.d.cts +9 -0
  309. package/dist/components/visually-hidden.d.ts +9 -0
  310. package/dist/components/visually-hidden.mjs +21 -0
  311. package/dist/index.cjs +1081 -1933
  312. package/dist/index.d.cts +99 -11
  313. package/dist/index.d.ts +99 -11
  314. package/dist/index.mjs +1138 -16
  315. package/dist/motion/hooks.cjs +98 -0
  316. package/dist/motion/hooks.d.cts +32 -0
  317. package/dist/motion/hooks.d.ts +32 -0
  318. package/dist/motion/hooks.mjs +70 -0
  319. package/dist/motion/index.cjs +157 -0
  320. package/dist/motion/index.d.cts +5 -0
  321. package/dist/motion/index.d.ts +5 -0
  322. package/dist/motion/index.mjs +137 -0
  323. package/dist/motion/presets.cjs +609 -0
  324. package/dist/{motion.d.ts → motion/presets.d.cts} +1 -30
  325. package/dist/{motion.d.cts → motion/presets.d.ts} +1 -30
  326. package/dist/{chunk-PLRSH37T.mjs → motion/presets.mjs} +119 -126
  327. package/dist/primitives/container.cjs +88 -0
  328. package/dist/primitives/container.d.cts +82 -0
  329. package/dist/primitives/container.d.ts +82 -0
  330. package/dist/primitives/container.mjs +64 -0
  331. package/dist/primitives/divider.cjs +74 -0
  332. package/dist/primitives/divider.d.cts +30 -0
  333. package/dist/primitives/divider.d.ts +30 -0
  334. package/dist/primitives/divider.mjs +50 -0
  335. package/dist/primitives/index.cjs +54 -0
  336. package/dist/primitives/index.d.cts +6 -0
  337. package/dist/primitives/index.d.ts +6 -0
  338. package/dist/primitives/index.mjs +33 -0
  339. package/dist/primitives/stack.cjs +167 -0
  340. package/dist/primitives/stack.d.cts +132 -0
  341. package/dist/primitives/stack.d.ts +132 -0
  342. package/dist/primitives/stack.mjs +142 -0
  343. package/dist/primitives/typography.cjs +260 -0
  344. package/dist/primitives/typography.d.cts +157 -0
  345. package/dist/primitives/typography.d.ts +157 -0
  346. package/dist/primitives/typography.mjs +229 -0
  347. package/dist/theme/contract.cjs +246 -0
  348. package/dist/theme/contract.d.cts +76 -0
  349. package/dist/theme/contract.d.ts +76 -0
  350. package/dist/theme/contract.mjs +221 -0
  351. package/dist/theme/customizer-store.cjs +266 -0
  352. package/dist/theme/customizer-store.d.cts +76 -0
  353. package/dist/theme/customizer-store.d.ts +76 -0
  354. package/dist/theme/customizer-store.mjs +261 -0
  355. package/dist/theme/customizer.cjs +812 -0
  356. package/dist/theme/customizer.d.cts +13 -0
  357. package/dist/theme/customizer.d.ts +13 -0
  358. package/dist/theme/customizer.mjs +803 -0
  359. package/dist/theme/index.cjs +105 -0
  360. package/dist/theme/index.d.cts +13 -0
  361. package/dist/theme/index.d.ts +13 -0
  362. package/dist/theme/index.mjs +87 -0
  363. package/dist/theme/presets.cjs +1205 -0
  364. package/dist/theme/presets.d.cts +232 -0
  365. package/dist/theme/presets.d.ts +232 -0
  366. package/dist/theme/presets.mjs +1175 -0
  367. package/dist/theme/provider.cjs +122 -0
  368. package/dist/theme/provider.d.cts +57 -0
  369. package/dist/theme/provider.d.ts +57 -0
  370. package/dist/theme/provider.mjs +104 -0
  371. package/dist/{chunk-IVZAB7BV.mjs → tokens/colors.cjs} +212 -86
  372. package/dist/{z-index-Dd8IllRx.d.cts → tokens/colors.d.cts} +235 -72
  373. package/dist/{z-index-Dd8IllRx.d.ts → tokens/colors.d.ts} +235 -72
  374. package/dist/{chunk-ZBGR7MUW.cjs → tokens/colors.mjs} +165 -104
  375. package/dist/tokens/index.cjs +96 -0
  376. package/dist/tokens/index.d.cts +7 -0
  377. package/dist/tokens/index.d.ts +7 -0
  378. package/dist/tokens/index.mjs +71 -0
  379. package/dist/{chunk-XCKK6P46.cjs → tokens/motion.cjs} +46 -18
  380. package/dist/{motion-D9wQbcKL.d.cts → tokens/motion.d.cts} +1 -1
  381. package/dist/{motion-D9wQbcKL.d.ts → tokens/motion.d.ts} +1 -1
  382. package/dist/{chunk-EZ2L3XPS.mjs → tokens/motion.mjs} +16 -10
  383. package/dist/tokens/radius.cjs +41 -0
  384. package/dist/tokens/radius.d.cts +18 -0
  385. package/dist/tokens/radius.d.ts +18 -0
  386. package/dist/tokens/radius.mjs +17 -0
  387. package/dist/tokens/shadows.cjs +57 -0
  388. package/dist/tokens/shadows.d.cts +32 -0
  389. package/dist/tokens/shadows.d.ts +32 -0
  390. package/dist/tokens/shadows.mjs +32 -0
  391. package/dist/tokens/spacing.cjs +51 -0
  392. package/dist/tokens/spacing.d.cts +26 -0
  393. package/dist/tokens/spacing.d.ts +26 -0
  394. package/dist/{chunk-NMPHV6ZD.mjs → tokens/spacing.mjs} +4 -4
  395. package/dist/{chunk-ECIGDEAH.cjs → tokens/typography.cjs} +43 -16
  396. package/dist/{typography-DlvVjEdE.d.ts → tokens/typography.d.cts} +1 -1
  397. package/dist/{typography-DlvVjEdE.d.cts → tokens/typography.d.ts} +1 -1
  398. package/dist/{chunk-ITBG42M5.mjs → tokens/typography.mjs} +14 -9
  399. package/dist/tokens/z-index.cjs +47 -0
  400. package/dist/tokens/z-index.d.cts +24 -0
  401. package/dist/tokens/z-index.d.ts +24 -0
  402. package/dist/tokens/z-index.mjs +23 -0
  403. package/dist/utils/cn.cjs +102 -0
  404. package/dist/utils/cn.d.cts +84 -0
  405. package/dist/utils/cn.d.ts +84 -0
  406. package/dist/{chunk-ZT3PCXDF.mjs → utils/cn.mjs} +14 -7
  407. package/dist/{chunk-33QEKXRQ.cjs → utils/contrast.cjs} +68 -38
  408. package/dist/utils/contrast.d.cts +209 -0
  409. package/dist/utils/contrast.d.ts +209 -0
  410. package/dist/{chunk-5NZDQWRV.mjs → utils/contrast.mjs} +27 -18
  411. package/dist/utils/focus-ring.cjs +81 -0
  412. package/dist/utils/focus-ring.d.cts +80 -0
  413. package/dist/utils/focus-ring.d.ts +80 -0
  414. package/dist/utils/focus-ring.mjs +47 -0
  415. package/dist/utils/index.cjs +107 -0
  416. package/dist/utils/index.d.cts +6 -0
  417. package/dist/utils/index.d.ts +6 -0
  418. package/dist/utils/index.mjs +88 -0
  419. package/dist/utils/types.cjs +38 -0
  420. package/dist/utils/types.d.cts +187 -0
  421. package/dist/utils/types.d.ts +187 -0
  422. package/dist/utils/types.mjs +13 -0
  423. package/package.json +191 -191
  424. package/dist/chunk-2JFREULQ.cjs +0 -29
  425. package/dist/chunk-3EHT6IOA.cjs +0 -49
  426. package/dist/chunk-4ON3M3OM.cjs +0 -73
  427. package/dist/chunk-5TP7J7T4.cjs +0 -1766
  428. package/dist/chunk-A2DGHQL2.cjs +0 -21808
  429. package/dist/chunk-EQWESXRH.mjs +0 -1735
  430. package/dist/chunk-F4JJFWWU.cjs +0 -604
  431. package/dist/chunk-FUWXGHWQ.cjs +0 -468
  432. package/dist/chunk-MBYCK2JJ.mjs +0 -37
  433. package/dist/chunk-OHEH57BV.mjs +0 -455
  434. package/dist/chunk-XAIUX2YS.mjs +0 -21477
  435. package/dist/components.cjs +0 -1247
  436. package/dist/components.d.cts +0 -7881
  437. package/dist/components.d.ts +0 -7881
  438. package/dist/components.mjs +0 -6
  439. package/dist/motion.cjs +0 -264
  440. package/dist/motion.mjs +0 -3
  441. package/dist/primitives.cjs +0 -57
  442. package/dist/primitives.d.cts +0 -390
  443. package/dist/primitives.d.ts +0 -390
  444. package/dist/primitives.mjs +0 -4
  445. package/dist/theme.cjs +0 -131
  446. package/dist/theme.d.cts +0 -414
  447. package/dist/theme.d.ts +0 -414
  448. package/dist/theme.mjs +0 -6
  449. package/dist/tokens.cjs +0 -137
  450. package/dist/tokens.d.cts +0 -30
  451. package/dist/tokens.d.ts +0 -30
  452. package/dist/tokens.mjs +0 -4
  453. package/dist/utils.cjs +0 -164
  454. package/dist/utils.d.cts +0 -525
  455. package/dist/utils.d.ts +0 -525
  456. package/dist/utils.mjs +0 -3
@@ -0,0 +1,31 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+
5
+ declare const bannerVariants: (props?: ({
6
+ variant?: "info" | "success" | "warning" | "danger" | "default" | "primary" | null | undefined;
7
+ position?: "inline" | "bottom" | "top" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type BannerVariant = "default" | "info" | "success" | "warning" | "danger" | "primary";
10
+ type BannerPosition = "top" | "bottom" | "inline";
11
+ interface BannerProps {
12
+ variant?: BannerVariant;
13
+ position?: BannerPosition;
14
+ dismissible?: boolean;
15
+ onDismiss?: () => void;
16
+ dismissLabel?: string;
17
+ icon?: ReactNode;
18
+ action?: ReactNode;
19
+ visible?: boolean;
20
+ defaultVisible?: boolean;
21
+ className?: string;
22
+ children?: ReactNode;
23
+ id?: string;
24
+ style?: React.CSSProperties;
25
+ role?: string;
26
+ "aria-label"?: string;
27
+ "aria-live"?: "off" | "assertive" | "polite";
28
+ }
29
+ declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
30
+
31
+ export { Banner, type BannerPosition, type BannerProps, type BannerVariant, bannerVariants };
@@ -0,0 +1,31 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as class_variance_authority_types from 'class-variance-authority/types';
4
+
5
+ declare const bannerVariants: (props?: ({
6
+ variant?: "info" | "success" | "warning" | "danger" | "default" | "primary" | null | undefined;
7
+ position?: "inline" | "bottom" | "top" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type BannerVariant = "default" | "info" | "success" | "warning" | "danger" | "primary";
10
+ type BannerPosition = "top" | "bottom" | "inline";
11
+ interface BannerProps {
12
+ variant?: BannerVariant;
13
+ position?: BannerPosition;
14
+ dismissible?: boolean;
15
+ onDismiss?: () => void;
16
+ dismissLabel?: string;
17
+ icon?: ReactNode;
18
+ action?: ReactNode;
19
+ visible?: boolean;
20
+ defaultVisible?: boolean;
21
+ className?: string;
22
+ children?: ReactNode;
23
+ id?: string;
24
+ style?: React.CSSProperties;
25
+ role?: string;
26
+ "aria-label"?: string;
27
+ "aria-live"?: "off" | "assertive" | "polite";
28
+ }
29
+ declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
30
+
31
+ export { Banner, type BannerPosition, type BannerProps, type BannerVariant, bannerVariants };
@@ -0,0 +1,122 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { slideDown, slideUp } from "../motion/index";
4
+ import { cn } from "../utils/cn";
5
+ import { focusRingClasses } from "../utils/focus-ring";
6
+ import { cva } from "class-variance-authority";
7
+ import { AnimatePresence, motion, useReducedMotion } from "framer-motion";
8
+ import { forwardRef, useState } from "react";
9
+ const bannerVariants = cva(
10
+ ["w-full flex items-center gap-3 px-4 py-3 text-sm font-medium"],
11
+ {
12
+ variants: {
13
+ variant: {
14
+ default: "bg-foreground text-background",
15
+ info: "bg-info text-info-foreground",
16
+ success: "bg-success text-success-foreground",
17
+ warning: "bg-warning text-warning-foreground",
18
+ danger: "bg-danger text-danger-foreground",
19
+ primary: "bg-primary text-primary-foreground"
20
+ },
21
+ position: {
22
+ top: "sticky top-0 left-0 right-0 z-banner",
23
+ bottom: "sticky bottom-0 left-0 right-0 z-banner",
24
+ inline: "rounded-md"
25
+ }
26
+ },
27
+ defaultVariants: { variant: "default", position: "inline" }
28
+ }
29
+ );
30
+ function XIcon({ className }) {
31
+ return /* @__PURE__ */ jsxs(
32
+ "svg",
33
+ {
34
+ className,
35
+ xmlns: "http://www.w3.org/2000/svg",
36
+ viewBox: "0 0 24 24",
37
+ fill: "none",
38
+ stroke: "currentColor",
39
+ strokeWidth: "2",
40
+ strokeLinecap: "round",
41
+ strokeLinejoin: "round",
42
+ "aria-hidden": "true",
43
+ children: [
44
+ /* @__PURE__ */ jsx("path", { d: "M18 6 6 18" }),
45
+ /* @__PURE__ */ jsx("path", { d: "m6 6 12 12" })
46
+ ]
47
+ }
48
+ );
49
+ }
50
+ const Banner = forwardRef(function Banner2({
51
+ variant = "default",
52
+ position = "inline",
53
+ dismissible = false,
54
+ onDismiss,
55
+ dismissLabel = "Dismiss",
56
+ icon,
57
+ action,
58
+ visible: controlledVisible,
59
+ defaultVisible = true,
60
+ className,
61
+ children,
62
+ id,
63
+ style,
64
+ role,
65
+ "aria-label": ariaLabel,
66
+ "aria-live": ariaLive
67
+ }, ref) {
68
+ const shouldReduce = useReducedMotion();
69
+ const [internalVisible, setInternalVisible] = useState(defaultVisible);
70
+ const isVisible = controlledVisible !== void 0 ? controlledVisible : internalVisible;
71
+ const handleDismiss = () => {
72
+ if (controlledVisible === void 0) setInternalVisible(false);
73
+ onDismiss?.();
74
+ };
75
+ const slidePreset = position === "bottom" ? slideUp : slideDown;
76
+ return /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: isVisible && /* @__PURE__ */ jsxs(
77
+ motion.div,
78
+ {
79
+ ref,
80
+ className: cn(bannerVariants({ variant, position }), className),
81
+ variants: shouldReduce ? void 0 : slidePreset.variants,
82
+ initial: shouldReduce ? { opacity: 0 } : "initial",
83
+ animate: shouldReduce ? { opacity: 1 } : "animate",
84
+ exit: shouldReduce ? { opacity: 0 } : "exit",
85
+ transition: shouldReduce ? { duration: 0.2 } : slidePreset.transition,
86
+ "data-ds": "",
87
+ "data-ds-component": "banner",
88
+ "data-ds-variant": variant,
89
+ "data-ds-position": position,
90
+ "data-ds-animated": "",
91
+ id,
92
+ style,
93
+ role,
94
+ "aria-label": ariaLabel,
95
+ "aria-live": ariaLive,
96
+ children: [
97
+ icon && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: icon }),
98
+ /* @__PURE__ */ jsx("span", { className: "flex-1 min-w-0", children }),
99
+ action && /* @__PURE__ */ jsx("span", { className: "shrink-0", children: action }),
100
+ dismissible && /* @__PURE__ */ jsx(
101
+ "button",
102
+ {
103
+ type: "button",
104
+ onClick: handleDismiss,
105
+ className: cn(
106
+ "shrink-0 inline-flex items-center justify-center size-6 rounded-sm",
107
+ "opacity-70 hover:opacity-100 transition-opacity duration-fast",
108
+ focusRingClasses
109
+ ),
110
+ "aria-label": dismissLabel,
111
+ children: /* @__PURE__ */ jsx(XIcon, { className: "size-4" })
112
+ }
113
+ )
114
+ ]
115
+ }
116
+ ) });
117
+ });
118
+ Banner.displayName = "Banner";
119
+ export {
120
+ Banner,
121
+ bannerVariants
122
+ };
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var breadcrumb_exports = {};
21
+ __export(breadcrumb_exports, {
22
+ Breadcrumb: () => Breadcrumb,
23
+ BreadcrumbEllipsis: () => BreadcrumbEllipsis,
24
+ BreadcrumbItem: () => BreadcrumbItem,
25
+ BreadcrumbLink: () => BreadcrumbLink,
26
+ BreadcrumbList: () => BreadcrumbList,
27
+ BreadcrumbNav: () => BreadcrumbNav,
28
+ BreadcrumbPage: () => BreadcrumbPage,
29
+ BreadcrumbSeparator: () => BreadcrumbSeparator
30
+ });
31
+ module.exports = __toCommonJS(breadcrumb_exports);
32
+ var import_jsx_runtime = require("react/jsx-runtime");
33
+ var import_cn = require("../utils/cn");
34
+ var import_focus_ring = require("../utils/focus-ring");
35
+ var import_react = require("react");
36
+ function ChevronRightIcon({ className }) {
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
38
+ "svg",
39
+ {
40
+ className,
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ viewBox: "0 0 24 24",
43
+ fill: "none",
44
+ stroke: "currentColor",
45
+ strokeWidth: "2",
46
+ strokeLinecap: "round",
47
+ strokeLinejoin: "round",
48
+ "aria-hidden": "true",
49
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "m9 18 6-6-6-6" })
50
+ }
51
+ );
52
+ }
53
+ function MoreHorizontalIcon({ className }) {
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
55
+ "svg",
56
+ {
57
+ className,
58
+ xmlns: "http://www.w3.org/2000/svg",
59
+ viewBox: "0 0 24 24",
60
+ fill: "none",
61
+ stroke: "currentColor",
62
+ strokeWidth: "2",
63
+ strokeLinecap: "round",
64
+ strokeLinejoin: "round",
65
+ "aria-hidden": "true",
66
+ children: [
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "12", cy: "12", r: "1" }),
68
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "19", cy: "12", r: "1" }),
69
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", { cx: "5", cy: "12", r: "1" })
70
+ ]
71
+ }
72
+ );
73
+ }
74
+ const Breadcrumb = (0, import_react.forwardRef)(
75
+ function Breadcrumb2({ "aria-label": ariaLabel = "Breadcrumb", className, children, ...rest }, ref) {
76
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
+ "nav",
78
+ {
79
+ ref,
80
+ "aria-label": ariaLabel,
81
+ className: (0, import_cn.cn)("not-prose", className),
82
+ "data-ds": "",
83
+ "data-ds-component": "breadcrumb",
84
+ ...rest,
85
+ children
86
+ }
87
+ );
88
+ }
89
+ );
90
+ Breadcrumb.displayName = "Breadcrumb";
91
+ const BreadcrumbList = (0, import_react.forwardRef)(
92
+ function BreadcrumbList2({ className, children, ...rest }, ref) {
93
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
+ "ol",
95
+ {
96
+ ref,
97
+ className: (0, import_cn.cn)(
98
+ "flex flex-wrap items-center gap-1.5",
99
+ "text-xs leading-4 tracking-wide",
100
+ "text-muted-foreground",
101
+ className
102
+ ),
103
+ "data-ds": "",
104
+ "data-ds-component": "breadcrumb-list",
105
+ ...rest,
106
+ children
107
+ }
108
+ );
109
+ }
110
+ );
111
+ BreadcrumbList.displayName = "BreadcrumbList";
112
+ const BreadcrumbItem = (0, import_react.forwardRef)(
113
+ function BreadcrumbItem2({ className, children, ...rest }, ref) {
114
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ "li",
116
+ {
117
+ ref,
118
+ className: (0, import_cn.cn)("inline-flex items-center gap-1.5", className),
119
+ "data-ds": "",
120
+ "data-ds-component": "breadcrumb-item",
121
+ ...rest,
122
+ children
123
+ }
124
+ );
125
+ }
126
+ );
127
+ BreadcrumbItem.displayName = "BreadcrumbItem";
128
+ const BreadcrumbLink = (0, import_react.forwardRef)(function BreadcrumbLink2({ className, children, ...rest }, ref) {
129
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
130
+ "a",
131
+ {
132
+ ref,
133
+ className: (0, import_cn.cn)(
134
+ "no-underline",
135
+ "text-muted-foreground",
136
+ "transition-colors duration-fast",
137
+ "hover:text-foreground",
138
+ import_focus_ring.focusRingCompactClasses,
139
+ "rounded-sm",
140
+ className
141
+ ),
142
+ "data-ds": "",
143
+ "data-ds-component": "breadcrumb-link",
144
+ ...rest,
145
+ children
146
+ }
147
+ );
148
+ });
149
+ BreadcrumbLink.displayName = "BreadcrumbLink";
150
+ const BreadcrumbPage = (0, import_react.forwardRef)(
151
+ function BreadcrumbPage2({ className, children, ...rest }, ref) {
152
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
153
+ "span",
154
+ {
155
+ ref,
156
+ "aria-current": "page",
157
+ className: (0, import_cn.cn)("font-medium", "text-foreground", className),
158
+ "data-ds": "",
159
+ "data-ds-component": "breadcrumb-page",
160
+ ...rest,
161
+ children
162
+ }
163
+ );
164
+ }
165
+ );
166
+ BreadcrumbPage.displayName = "BreadcrumbPage";
167
+ const BreadcrumbSeparator = (0, import_react.forwardRef)(function BreadcrumbSeparator2({ className, children, ...rest }, ref) {
168
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
169
+ "li",
170
+ {
171
+ ref,
172
+ role: "presentation",
173
+ "aria-hidden": "true",
174
+ className: (0, import_cn.cn)(
175
+ "inline-flex items-center",
176
+ "text-muted-foreground/60",
177
+ "[&>svg]:size-3",
178
+ className
179
+ ),
180
+ "data-ds": "",
181
+ "data-ds-component": "breadcrumb-separator",
182
+ ...rest,
183
+ children: children ?? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChevronRightIcon, {})
184
+ }
185
+ );
186
+ });
187
+ BreadcrumbSeparator.displayName = "BreadcrumbSeparator";
188
+ const BreadcrumbEllipsis = (0, import_react.forwardRef)(function BreadcrumbEllipsis2({ className, ...rest }, ref) {
189
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
190
+ "span",
191
+ {
192
+ ref,
193
+ role: "presentation",
194
+ "aria-hidden": "true",
195
+ className: (0, import_cn.cn)(
196
+ "inline-flex items-center justify-center size-5",
197
+ "text-muted-foreground",
198
+ className
199
+ ),
200
+ "data-ds": "",
201
+ "data-ds-component": "breadcrumb-ellipsis",
202
+ ...rest,
203
+ children: [
204
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MoreHorizontalIcon, { className: "size-4" }),
205
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "sr-only", children: "More pages" })
206
+ ]
207
+ }
208
+ );
209
+ });
210
+ BreadcrumbEllipsis.displayName = "BreadcrumbEllipsis";
211
+ const BreadcrumbNav = (0, import_react.forwardRef)(
212
+ function BreadcrumbNav2({
213
+ items,
214
+ maxItems = Number.POSITIVE_INFINITY,
215
+ separator,
216
+ className,
217
+ ...rest
218
+ }, ref) {
219
+ const visibleItems = (0, import_react.useMemo)(() => {
220
+ if (items.length <= maxItems || maxItems < 2 || !Number.isFinite(maxItems)) {
221
+ return { items, truncated: false };
222
+ }
223
+ const tailCount = maxItems - 2;
224
+ const first = items[0];
225
+ const tail = items.slice(items.length - Math.max(tailCount, 1));
226
+ return {
227
+ items: [first, ...tail],
228
+ truncated: true
229
+ };
230
+ }, [items, maxItems]);
231
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Breadcrumb, { ref, className, ...rest, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbList, { children: visibleItems.items.flatMap((item, index) => {
232
+ const itemKey = item.href ?? `page-${index}`;
233
+ const isLast = index === visibleItems.items.length - 1;
234
+ const isFirst = index === 0;
235
+ const showEllipsis = visibleItems.truncated && isFirst;
236
+ const elements = [];
237
+ elements.push(
238
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbItem, { children: isLast && !item.href ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbLink, { href: item.href, children: item.label }) }, `item-${itemKey}`)
239
+ );
240
+ if (showEllipsis) {
241
+ elements.push(
242
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbSeparator, { children: separator }, "sep-ellipsis-before"),
243
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbItem, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbEllipsis, {}) }, "ellipsis")
244
+ );
245
+ }
246
+ if (!isLast) {
247
+ elements.push(
248
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BreadcrumbSeparator, { children: separator }, `sep-${itemKey}`)
249
+ );
250
+ }
251
+ return elements;
252
+ }) }) });
253
+ }
254
+ );
255
+ BreadcrumbNav.displayName = "BreadcrumbNav";
256
+ // Annotate the CommonJS export names for ESM import in node:
257
+ 0 && (module.exports = {
258
+ Breadcrumb,
259
+ BreadcrumbEllipsis,
260
+ BreadcrumbItem,
261
+ BreadcrumbLink,
262
+ BreadcrumbList,
263
+ BreadcrumbNav,
264
+ BreadcrumbPage,
265
+ BreadcrumbSeparator
266
+ });
@@ -0,0 +1,159 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface BreadcrumbProps extends React.HTMLAttributes<HTMLElement> {
5
+ /**
6
+ * Custom separator to render between items.
7
+ * Defaults to a chevron-right icon.
8
+ */
9
+ separator?: ReactNode;
10
+ /**
11
+ * Accessible label for the breadcrumb navigation landmark.
12
+ * @default "Breadcrumb"
13
+ */
14
+ "aria-label"?: string;
15
+ /** Additional CSS classes. */
16
+ className?: string;
17
+ }
18
+ /**
19
+ * Breadcrumb — the root `<nav>` container for breadcrumb navigation.
20
+ *
21
+ * Wraps children in a semantic navigation landmark. Use with
22
+ * `BreadcrumbList`, `BreadcrumbItem`, `BreadcrumbLink`, etc.
23
+ */
24
+ declare const Breadcrumb: react.ForwardRefExoticComponent<BreadcrumbProps & react.RefAttributes<HTMLElement>>;
25
+ interface BreadcrumbListProps extends React.HTMLAttributes<HTMLOListElement> {
26
+ /** Additional CSS classes. */
27
+ className?: string;
28
+ /** List children. */
29
+ children?: ReactNode;
30
+ }
31
+ /**
32
+ * BreadcrumbList — an ordered list containing breadcrumb items.
33
+ */
34
+ declare const BreadcrumbList: react.ForwardRefExoticComponent<BreadcrumbListProps & react.RefAttributes<HTMLOListElement>>;
35
+ interface BreadcrumbItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
36
+ /** Additional CSS classes. */
37
+ className?: string;
38
+ }
39
+ /**
40
+ * BreadcrumbItem — a single item in the breadcrumb trail.
41
+ */
42
+ declare const BreadcrumbItem: react.ForwardRefExoticComponent<BreadcrumbItemProps & react.RefAttributes<HTMLLIElement>>;
43
+ interface BreadcrumbLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
44
+ /** Additional CSS classes. */
45
+ className?: string;
46
+ }
47
+ /**
48
+ * BreadcrumbLink — a navigable link within a breadcrumb item.
49
+ *
50
+ * Renders as an `<a>` element. For framework-specific link components
51
+ * (e.g. Next.js `Link`), wrap the framework component or pass it via
52
+ * composition:
53
+ *
54
+ * ```tsx
55
+ * <BreadcrumbItem>
56
+ * <Link href="/docs" className="...breadcrumb link styles...">Docs</Link>
57
+ * </BreadcrumbItem>
58
+ * ```
59
+ */
60
+ declare const BreadcrumbLink: react.ForwardRefExoticComponent<BreadcrumbLinkProps & react.RefAttributes<HTMLAnchorElement>>;
61
+ interface BreadcrumbPageProps extends React.HTMLAttributes<HTMLSpanElement> {
62
+ /** Additional CSS classes. */
63
+ className?: string;
64
+ }
65
+ /**
66
+ * BreadcrumbPage — the current (non-linked) page in the breadcrumb trail.
67
+ *
68
+ * Rendered with `aria-current="page"` and a distinct foreground color
69
+ * to indicate the user's current location.
70
+ */
71
+ declare const BreadcrumbPage: react.ForwardRefExoticComponent<BreadcrumbPageProps & react.RefAttributes<HTMLSpanElement>>;
72
+ interface BreadcrumbSeparatorProps extends React.LiHTMLAttributes<HTMLLIElement> {
73
+ /** Custom separator content. Defaults to a chevron-right icon. */
74
+ children?: ReactNode;
75
+ /** Additional CSS classes. */
76
+ className?: string;
77
+ }
78
+ /**
79
+ * BreadcrumbSeparator — visual divider between breadcrumb items.
80
+ *
81
+ * Defaults to a chevron-right icon. Pass custom children (string or
82
+ * ReactNode) to use a different separator.
83
+ */
84
+ declare const BreadcrumbSeparator: react.ForwardRefExoticComponent<BreadcrumbSeparatorProps & react.RefAttributes<HTMLLIElement>>;
85
+ interface BreadcrumbEllipsisProps extends React.HTMLAttributes<HTMLSpanElement> {
86
+ /** Additional CSS classes. */
87
+ className?: string;
88
+ }
89
+ /**
90
+ * BreadcrumbEllipsis — a "…" placeholder indicating truncated items.
91
+ *
92
+ * Used by `BreadcrumbNav` when items exceed `maxItems`. Can also be
93
+ * used manually in the composable API.
94
+ */
95
+ declare const BreadcrumbEllipsis: react.ForwardRefExoticComponent<BreadcrumbEllipsisProps & react.RefAttributes<HTMLSpanElement>>;
96
+ interface BreadcrumbNavItem {
97
+ /** Display label for the breadcrumb segment. */
98
+ label: ReactNode;
99
+ /**
100
+ * URL to navigate to. When omitted, the item is rendered as the
101
+ * current page (non-linked, last item).
102
+ */
103
+ href?: string;
104
+ }
105
+ interface BreadcrumbNavProps extends Omit<BreadcrumbProps, "children"> {
106
+ /** Breadcrumb items in order from root to current page. */
107
+ items: BreadcrumbNavItem[];
108
+ /**
109
+ * Maximum number of items to show before collapsing middle items
110
+ * into an ellipsis. Set to 0 or Infinity to disable truncation.
111
+ *
112
+ * When truncating, the first item and the last `maxItems - 2` items
113
+ * are always visible, with an ellipsis in between.
114
+ *
115
+ * @default Infinity (no truncation)
116
+ */
117
+ maxItems?: number;
118
+ /**
119
+ * Custom separator to use between items.
120
+ * @default <ChevronRightIcon /> (via BreadcrumbSeparator)
121
+ */
122
+ separator?: ReactNode;
123
+ /** Additional CSS classes on the root nav. */
124
+ className?: string;
125
+ }
126
+ /**
127
+ * BreadcrumbNav — a composed breadcrumb component that renders a full
128
+ * breadcrumb trail from an array of items.
129
+ *
130
+ * Handles separator insertion, truncation with ellipsis, and
131
+ * current-page detection automatically.
132
+ *
133
+ * @example
134
+ * ```tsx
135
+ * <BreadcrumbNav
136
+ * items={[
137
+ * { label: "Home", href: "/" },
138
+ * { label: "Products", href: "/products" },
139
+ * { label: "Electronics", href: "/products/electronics" },
140
+ * { label: "Laptops", href: "/products/electronics/laptops" },
141
+ * { label: "MacBook Pro" },
142
+ * ]}
143
+ * maxItems={4}
144
+ * />
145
+ * // Renders: Home > … > Laptops > MacBook Pro
146
+ *
147
+ * <BreadcrumbNav
148
+ * items={[
149
+ * { label: "Home", href: "/" },
150
+ * { label: "Docs", href: "/docs" },
151
+ * { label: "Getting Started" },
152
+ * ]}
153
+ * />
154
+ * // Renders: Home > Docs > Getting Started
155
+ * ```
156
+ */
157
+ declare const BreadcrumbNav: react.ForwardRefExoticComponent<BreadcrumbNavProps & react.RefAttributes<HTMLElement>>;
158
+
159
+ export { Breadcrumb, BreadcrumbEllipsis, type BreadcrumbEllipsisProps, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, type BreadcrumbListProps, BreadcrumbNav, type BreadcrumbNavItem, type BreadcrumbNavProps, BreadcrumbPage, type BreadcrumbPageProps, type BreadcrumbProps, BreadcrumbSeparator, type BreadcrumbSeparatorProps };