@neynar/ui 0.4.0 → 1.0.0

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 (1854) hide show
  1. package/README.md +246 -134
  2. package/dist/_virtual/index.js +6 -0
  3. package/dist/_virtual/index.js.map +1 -0
  4. package/dist/_virtual/index2.js +5 -0
  5. package/dist/_virtual/index2.js.map +1 -0
  6. package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
  7. package/dist/_virtual/use-sync-external-store-shim.development.js.map +1 -0
  8. package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
  9. package/dist/_virtual/use-sync-external-store-shim.production.js.map +1 -0
  10. package/dist/_virtual/with-selector.development.js +5 -0
  11. package/dist/_virtual/with-selector.development.js.map +1 -0
  12. package/dist/_virtual/with-selector.js +6 -0
  13. package/dist/_virtual/with-selector.js.map +1 -0
  14. package/dist/_virtual/with-selector.production.js +5 -0
  15. package/dist/_virtual/with-selector.production.js.map +1 -0
  16. package/dist/_virtual/with-selector2.js +5 -0
  17. package/dist/_virtual/with-selector2.js.map +1 -0
  18. package/dist/components/neynar/color-mode/color-mode-initializer.d.ts +46 -0
  19. package/dist/components/neynar/color-mode/color-mode-initializer.d.ts.map +1 -0
  20. package/dist/components/neynar/color-mode/color-mode-initializer.js +30 -0
  21. package/dist/components/neynar/color-mode/color-mode-initializer.js.map +1 -0
  22. package/dist/components/neynar/color-mode/color-mode-toggle.d.ts +106 -0
  23. package/dist/components/neynar/color-mode/color-mode-toggle.d.ts.map +1 -0
  24. package/dist/components/neynar/color-mode/color-mode-toggle.js +88 -0
  25. package/dist/components/neynar/color-mode/color-mode-toggle.js.map +1 -0
  26. package/dist/components/neynar/color-mode/index.d.ts +4 -0
  27. package/dist/components/neynar/color-mode/index.d.ts.map +1 -0
  28. package/dist/components/neynar/color-mode/index.js +9 -0
  29. package/dist/components/neynar/color-mode/index.js.map +1 -0
  30. package/dist/components/neynar/color-mode/use-color-mode.d.ts +91 -0
  31. package/dist/components/neynar/color-mode/use-color-mode.d.ts.map +1 -0
  32. package/dist/components/neynar/color-mode/use-color-mode.js +106 -0
  33. package/dist/components/neynar/color-mode/use-color-mode.js.map +1 -0
  34. package/dist/components/neynar/first-light/first-light-filters.d.ts +27 -0
  35. package/dist/components/neynar/first-light/first-light-filters.d.ts.map +1 -0
  36. package/dist/components/neynar/first-light/first-light-filters.js +114 -0
  37. package/dist/components/neynar/first-light/first-light-filters.js.map +1 -0
  38. package/dist/components/neynar/first-light/index.d.ts +2 -0
  39. package/dist/components/neynar/first-light/index.d.ts.map +1 -0
  40. package/dist/components/neynar/first-light/index.js +5 -0
  41. package/dist/components/neynar/first-light/index.js.map +1 -0
  42. package/dist/components/neynar/typography/blockquote.d.ts +13 -0
  43. package/dist/components/neynar/typography/blockquote.d.ts.map +1 -0
  44. package/dist/components/neynar/typography/blockquote.js +23 -0
  45. package/dist/components/neynar/typography/blockquote.js.map +1 -0
  46. package/dist/components/neynar/typography/code.d.ts +13 -0
  47. package/dist/components/neynar/typography/code.d.ts.map +1 -0
  48. package/dist/components/neynar/typography/code.js +23 -0
  49. package/dist/components/neynar/typography/code.js.map +1 -0
  50. package/dist/components/neynar/typography/index.d.ts +5 -0
  51. package/dist/components/neynar/typography/index.d.ts.map +1 -0
  52. package/dist/components/neynar/typography/index.js +13 -0
  53. package/dist/components/neynar/typography/index.js.map +1 -0
  54. package/dist/components/neynar/typography/text.d.ts +44 -0
  55. package/dist/components/neynar/typography/text.d.ts.map +1 -0
  56. package/dist/components/neynar/typography/text.js +59 -0
  57. package/dist/components/neynar/typography/text.js.map +1 -0
  58. package/dist/components/neynar/typography/title.d.ts +22 -0
  59. package/dist/components/neynar/typography/title.d.ts.map +1 -0
  60. package/dist/components/neynar/typography/title.js +47 -0
  61. package/dist/components/neynar/typography/title.js.map +1 -0
  62. package/dist/components/ui/accordion.d.ts +18 -196
  63. package/dist/components/ui/accordion.d.ts.map +1 -1
  64. package/dist/components/ui/accordion.js +94 -0
  65. package/dist/components/ui/accordion.js.map +1 -0
  66. package/dist/components/ui/alert-dialog.d.ts +45 -439
  67. package/dist/components/ui/alert-dialog.d.ts.map +1 -1
  68. package/dist/components/ui/alert-dialog.js +164 -0
  69. package/dist/components/ui/alert-dialog.js.map +1 -0
  70. package/dist/components/ui/alert.d.ts +20 -239
  71. package/dist/components/ui/alert.d.ts.map +1 -1
  72. package/dist/components/ui/alert.js +76 -0
  73. package/dist/components/ui/alert.js.map +1 -0
  74. package/dist/components/ui/aspect-ratio.d.ts +8 -125
  75. package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
  76. package/dist/components/ui/aspect-ratio.js +19 -0
  77. package/dist/components/ui/aspect-ratio.js.map +1 -0
  78. package/dist/components/ui/avatar.d.ts +34 -320
  79. package/dist/components/ui/avatar.d.ts.map +1 -1
  80. package/dist/components/ui/avatar.js +98 -0
  81. package/dist/components/ui/avatar.js.map +1 -0
  82. package/dist/components/ui/badge.d.ts +11 -143
  83. package/dist/components/ui/badge.d.ts.map +1 -1
  84. package/dist/components/ui/badge.js +51 -0
  85. package/dist/components/ui/badge.js.map +1 -0
  86. package/dist/components/ui/breadcrumb.d.ts +23 -447
  87. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  88. package/dist/components/ui/breadcrumb.js +115 -0
  89. package/dist/components/ui/breadcrumb.js.map +1 -0
  90. package/dist/components/ui/button-group.d.ts +17 -439
  91. package/dist/components/ui/button-group.d.ts.map +1 -1
  92. package/dist/components/ui/button-group.js +79 -0
  93. package/dist/components/ui/button-group.js.map +1 -0
  94. package/dist/components/ui/button.d.ts +24 -230
  95. package/dist/components/ui/button.d.ts.map +1 -1
  96. package/dist/components/ui/button.js +56 -0
  97. package/dist/components/ui/button.js.map +1 -0
  98. package/dist/components/ui/calendar.d.ts +11 -317
  99. package/dist/components/ui/calendar.d.ts.map +1 -1
  100. package/dist/components/ui/calendar.js +193 -0
  101. package/dist/components/ui/calendar.js.map +1 -0
  102. package/dist/components/ui/card.d.ts +26 -346
  103. package/dist/components/ui/card.d.ts.map +1 -1
  104. package/dist/components/ui/card.js +99 -0
  105. package/dist/components/ui/card.js.map +1 -0
  106. package/dist/components/ui/carousel.d.ts +19 -602
  107. package/dist/components/ui/carousel.d.ts.map +1 -1
  108. package/dist/components/ui/carousel.js +202 -0
  109. package/dist/components/ui/carousel.js.map +1 -0
  110. package/dist/components/ui/chart.d.ts +35 -404
  111. package/dist/components/ui/chart.d.ts.map +1 -1
  112. package/dist/components/ui/chart.js +244 -0
  113. package/dist/components/ui/chart.js.map +1 -0
  114. package/dist/components/ui/checkbox.d.ts +7 -156
  115. package/dist/components/ui/checkbox.d.ts.map +1 -1
  116. package/dist/components/ui/checkbox.js +30 -0
  117. package/dist/components/ui/checkbox.js.map +1 -0
  118. package/dist/components/ui/collapsible.d.ts +14 -360
  119. package/dist/components/ui/collapsible.d.ts.map +1 -1
  120. package/dist/components/ui/collapsible.js +20 -0
  121. package/dist/components/ui/collapsible.js.map +1 -0
  122. package/dist/components/ui/combobox.d.ts +73 -311
  123. package/dist/components/ui/combobox.d.ts.map +1 -1
  124. package/dist/components/ui/combobox.js +285 -0
  125. package/dist/components/ui/combobox.js.map +1 -0
  126. package/dist/components/ui/command.d.ts +39 -600
  127. package/dist/components/ui/command.d.ts.map +1 -1
  128. package/dist/components/ui/command.js +149 -0
  129. package/dist/components/ui/command.js.map +1 -0
  130. package/dist/components/ui/context-menu.d.ts +57 -614
  131. package/dist/components/ui/context-menu.d.ts.map +1 -1
  132. package/dist/components/ui/context-menu.js +245 -0
  133. package/dist/components/ui/context-menu.js.map +1 -0
  134. package/dist/components/ui/dialog.d.ts +47 -381
  135. package/dist/components/ui/dialog.d.ts.map +1 -1
  136. package/dist/components/ui/dialog.js +149 -0
  137. package/dist/components/ui/dialog.js.map +1 -0
  138. package/dist/components/ui/drawer.d.ts +38 -481
  139. package/dist/components/ui/drawer.d.ts.map +1 -1
  140. package/dist/components/ui/drawer.js +106 -0
  141. package/dist/components/ui/drawer.js.map +1 -0
  142. package/dist/components/ui/dropdown-menu.d.ts +65 -773
  143. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  144. package/dist/components/ui/dropdown-menu.js +265 -0
  145. package/dist/components/ui/dropdown-menu.js.map +1 -0
  146. package/dist/components/ui/empty.d.ts +26 -615
  147. package/dist/components/ui/empty.d.ts.map +1 -1
  148. package/dist/components/ui/empty.js +101 -0
  149. package/dist/components/ui/empty.js.map +1 -0
  150. package/dist/components/ui/field.d.ts +65 -225
  151. package/dist/components/ui/field.d.ts.map +1 -1
  152. package/dist/components/ui/field.js +212 -0
  153. package/dist/components/ui/field.js.map +1 -0
  154. package/dist/components/ui/hover-card.d.ts +14 -321
  155. package/dist/components/ui/hover-card.d.ts.map +1 -1
  156. package/dist/components/ui/hover-card.js +50 -0
  157. package/dist/components/ui/hover-card.js.map +1 -0
  158. package/dist/components/ui/input-group.d.ts +32 -618
  159. package/dist/components/ui/input-group.d.ts.map +1 -1
  160. package/dist/components/ui/input-group.js +142 -0
  161. package/dist/components/ui/input-group.js.map +1 -0
  162. package/dist/components/ui/input-otp.d.ts +34 -0
  163. package/dist/components/ui/input-otp.d.ts.map +1 -0
  164. package/dist/components/ui/input-otp.js +73 -0
  165. package/dist/components/ui/input-otp.js.map +1 -0
  166. package/dist/components/ui/input.d.ts +6 -183
  167. package/dist/components/ui/input.d.ts.map +1 -1
  168. package/dist/components/ui/input.js +22 -0
  169. package/dist/components/ui/input.js.map +1 -0
  170. package/dist/components/ui/item.d.ts +44 -741
  171. package/dist/components/ui/item.d.ts.map +1 -1
  172. package/dist/components/ui/item.js +194 -0
  173. package/dist/components/ui/item.js.map +1 -0
  174. package/dist/components/ui/kbd.d.ts +9 -144
  175. package/dist/components/ui/kbd.d.ts.map +1 -1
  176. package/dist/components/ui/kbd.js +30 -0
  177. package/dist/components/ui/kbd.js.map +1 -0
  178. package/dist/components/ui/label.d.ts +5 -81
  179. package/dist/components/ui/label.d.ts.map +1 -1
  180. package/dist/components/ui/label.js +21 -0
  181. package/dist/components/ui/label.js.map +1 -0
  182. package/dist/components/ui/menubar.d.ts +79 -540
  183. package/dist/components/ui/menubar.d.ts.map +1 -1
  184. package/dist/components/ui/menubar.js +225 -0
  185. package/dist/components/ui/menubar.js.map +1 -0
  186. package/dist/components/ui/navigation-menu.d.ts +35 -618
  187. package/dist/components/ui/navigation-menu.d.ts.map +1 -1
  188. package/dist/components/ui/navigation-menu.js +176 -0
  189. package/dist/components/ui/navigation-menu.js.map +1 -0
  190. package/dist/components/ui/pagination.d.ts +17 -594
  191. package/dist/components/ui/pagination.d.ts.map +1 -1
  192. package/dist/components/ui/pagination.js +115 -0
  193. package/dist/components/ui/pagination.js.map +1 -0
  194. package/dist/components/ui/popover.d.ts +31 -159
  195. package/dist/components/ui/popover.d.ts.map +1 -1
  196. package/dist/components/ui/popover.js +85 -0
  197. package/dist/components/ui/popover.js.map +1 -0
  198. package/dist/components/ui/progress.d.ts +27 -119
  199. package/dist/components/ui/progress.d.ts.map +1 -1
  200. package/dist/components/ui/progress.js +77 -0
  201. package/dist/components/ui/progress.js.map +1 -0
  202. package/dist/components/ui/radio-group.d.ts +11 -283
  203. package/dist/components/ui/radio-group.d.ts.map +1 -1
  204. package/dist/components/ui/radio-group.js +42 -0
  205. package/dist/components/ui/radio-group.js.map +1 -0
  206. package/dist/components/ui/resizable.d.ts +17 -272
  207. package/dist/components/ui/resizable.d.ts.map +1 -1
  208. package/dist/components/ui/resizable.js +48 -0
  209. package/dist/components/ui/resizable.js.map +1 -0
  210. package/dist/components/ui/scroll-area.d.ts +37 -214
  211. package/dist/components/ui/scroll-area.d.ts.map +1 -1
  212. package/dist/components/ui/scroll-area.js +61 -0
  213. package/dist/components/ui/scroll-area.js.map +1 -0
  214. package/dist/components/ui/select.d.ts +36 -616
  215. package/dist/components/ui/select.d.ts.map +1 -1
  216. package/dist/components/ui/select.js +200 -0
  217. package/dist/components/ui/select.js.map +1 -0
  218. package/dist/components/ui/separator.d.ts +6 -90
  219. package/dist/components/ui/separator.d.ts.map +1 -1
  220. package/dist/components/ui/separator.js +25 -0
  221. package/dist/components/ui/separator.js.map +1 -0
  222. package/dist/components/ui/sheet.d.ts +33 -445
  223. package/dist/components/ui/sheet.d.ts.map +1 -1
  224. package/dist/components/ui/sheet.js +133 -0
  225. package/dist/components/ui/sheet.js.map +1 -0
  226. package/dist/components/ui/sidebar.d.ts +101 -1538
  227. package/dist/components/ui/sidebar.d.ts.map +1 -1
  228. package/dist/components/ui/sidebar.js +624 -0
  229. package/dist/components/ui/sidebar.js.map +1 -0
  230. package/dist/components/ui/skeleton.d.ts +5 -125
  231. package/dist/components/ui/skeleton.d.ts.map +1 -1
  232. package/dist/components/ui/skeleton.js +16 -0
  233. package/dist/components/ui/skeleton.js.map +1 -0
  234. package/dist/components/ui/slider.d.ts +12 -92
  235. package/dist/components/ui/slider.d.ts.map +1 -1
  236. package/dist/components/ui/slider.js +72 -0
  237. package/dist/components/ui/slider.js.map +1 -0
  238. package/dist/components/ui/sonner.d.ts +13 -327
  239. package/dist/components/ui/sonner.d.ts.map +1 -1
  240. package/dist/components/ui/sonner.js +63 -0
  241. package/dist/components/ui/sonner.js.map +1 -0
  242. package/dist/components/ui/spinner.d.ts +5 -191
  243. package/dist/components/ui/spinner.d.ts.map +1 -1
  244. package/dist/components/ui/spinner.js +19 -0
  245. package/dist/components/ui/spinner.js.map +1 -0
  246. package/dist/components/ui/switch.d.ts +9 -87
  247. package/dist/components/ui/switch.d.ts.map +1 -1
  248. package/dist/components/ui/switch.js +30 -0
  249. package/dist/components/ui/switch.js.map +1 -0
  250. package/dist/components/ui/table.d.ts +33 -336
  251. package/dist/components/ui/table.d.ts.map +1 -1
  252. package/dist/components/ui/table.js +113 -0
  253. package/dist/components/ui/table.js.map +1 -0
  254. package/dist/components/ui/tabs.d.ts +22 -233
  255. package/dist/components/ui/tabs.d.ts.map +1 -1
  256. package/dist/components/ui/tabs.js +81 -0
  257. package/dist/components/ui/tabs.js.map +1 -0
  258. package/dist/components/ui/textarea.d.ts +9 -152
  259. package/dist/components/ui/textarea.d.ts.map +1 -1
  260. package/dist/components/ui/textarea.js +20 -0
  261. package/dist/components/ui/textarea.js.map +1 -0
  262. package/dist/components/ui/toggle-group.d.ts +19 -202
  263. package/dist/components/ui/toggle-group.d.ts.map +1 -1
  264. package/dist/components/ui/toggle-group.js +79 -0
  265. package/dist/components/ui/toggle-group.js.map +1 -0
  266. package/dist/components/ui/toggle.d.ts +7 -165
  267. package/dist/components/ui/toggle.d.ts.map +1 -1
  268. package/dist/components/ui/toggle.js +44 -0
  269. package/dist/components/ui/toggle.js.map +1 -0
  270. package/dist/components/ui/tooltip.d.ts +18 -317
  271. package/dist/components/ui/tooltip.d.ts.map +1 -1
  272. package/dist/components/ui/tooltip.js +68 -0
  273. package/dist/components/ui/tooltip.js.map +1 -0
  274. package/dist/hooks/use-mobile.d.ts +7 -63
  275. package/dist/hooks/use-mobile.d.ts.map +1 -1
  276. package/dist/hooks/use-mobile.js +21 -0
  277. package/dist/hooks/use-mobile.js.map +1 -0
  278. package/dist/lib/utils.d.ts +12 -32
  279. package/dist/lib/utils.d.ts.map +1 -1
  280. package/dist/lib/utils.js +9 -0
  281. package/dist/lib/utils.js.map +1 -0
  282. package/dist/lib/variants.d.ts +107 -0
  283. package/dist/lib/variants.d.ts.map +1 -0
  284. package/dist/lib/variants.js +128 -0
  285. package/dist/lib/variants.js.map +1 -0
  286. package/dist/node_modules/@base-ui/react/esm/accordion/header/AccordionHeader.js +27 -0
  287. package/dist/node_modules/@base-ui/react/esm/accordion/header/AccordionHeader.js.map +1 -0
  288. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItem.js +102 -0
  289. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItem.js.map +1 -0
  290. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItemContext.js +17 -0
  291. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItemContext.js.map +1 -0
  292. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItemDataAttributes.js +10 -0
  293. package/dist/node_modules/@base-ui/react/esm/accordion/item/AccordionItemDataAttributes.js.map +1 -0
  294. package/dist/node_modules/@base-ui/react/esm/accordion/item/stateAttributesMapping.js +17 -0
  295. package/dist/node_modules/@base-ui/react/esm/accordion/item/stateAttributesMapping.js.map +1 -0
  296. package/dist/node_modules/@base-ui/react/esm/accordion/panel/AccordionPanel.js +139 -0
  297. package/dist/node_modules/@base-ui/react/esm/accordion/panel/AccordionPanel.js.map +1 -0
  298. package/dist/node_modules/@base-ui/react/esm/accordion/panel/AccordionPanelCssVars.js +9 -0
  299. package/dist/node_modules/@base-ui/react/esm/accordion/panel/AccordionPanelCssVars.js.map +1 -0
  300. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRoot.js +118 -0
  301. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRoot.js.map +1 -0
  302. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRootContext.js +17 -0
  303. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRootContext.js.map +1 -0
  304. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRootDataAttributes.js +9 -0
  305. package/dist/node_modules/@base-ui/react/esm/accordion/root/AccordionRootDataAttributes.js.map +1 -0
  306. package/dist/node_modules/@base-ui/react/esm/accordion/trigger/AccordionTrigger.js +158 -0
  307. package/dist/node_modules/@base-ui/react/esm/accordion/trigger/AccordionTrigger.js.map +1 -0
  308. package/dist/node_modules/@base-ui/react/esm/alert-dialog/root/AlertDialogRoot.js +56 -0
  309. package/dist/node_modules/@base-ui/react/esm/alert-dialog/root/AlertDialogRoot.js.map +1 -0
  310. package/dist/node_modules/@base-ui/react/esm/avatar/fallback/AvatarFallback.js +41 -0
  311. package/dist/node_modules/@base-ui/react/esm/avatar/fallback/AvatarFallback.js.map +1 -0
  312. package/dist/node_modules/@base-ui/react/esm/avatar/image/AvatarImage.js +48 -0
  313. package/dist/node_modules/@base-ui/react/esm/avatar/image/AvatarImage.js.map +1 -0
  314. package/dist/node_modules/@base-ui/react/esm/avatar/image/useImageLoadingStatus.js +40 -0
  315. package/dist/node_modules/@base-ui/react/esm/avatar/image/useImageLoadingStatus.js.map +1 -0
  316. package/dist/node_modules/@base-ui/react/esm/avatar/root/AvatarRoot.js +36 -0
  317. package/dist/node_modules/@base-ui/react/esm/avatar/root/AvatarRoot.js.map +1 -0
  318. package/dist/node_modules/@base-ui/react/esm/avatar/root/AvatarRootContext.js +17 -0
  319. package/dist/node_modules/@base-ui/react/esm/avatar/root/AvatarRootContext.js.map +1 -0
  320. package/dist/node_modules/@base-ui/react/esm/avatar/root/stateAttributesMapping.js +7 -0
  321. package/dist/node_modules/@base-ui/react/esm/avatar/root/stateAttributesMapping.js.map +1 -0
  322. package/dist/node_modules/@base-ui/react/esm/button/Button.js +36 -0
  323. package/dist/node_modules/@base-ui/react/esm/button/Button.js.map +1 -0
  324. package/dist/node_modules/@base-ui/react/esm/checkbox/indicator/CheckboxIndicator.js +60 -0
  325. package/dist/node_modules/@base-ui/react/esm/checkbox/indicator/CheckboxIndicator.js.map +1 -0
  326. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRoot.js +267 -0
  327. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRoot.js.map +1 -0
  328. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRootContext.js +17 -0
  329. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRootContext.js.map +1 -0
  330. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRootDataAttributes.js +18 -0
  331. package/dist/node_modules/@base-ui/react/esm/checkbox/root/CheckboxRootDataAttributes.js.map +1 -0
  332. package/dist/node_modules/@base-ui/react/esm/checkbox/utils/useStateAttributesMapping.js +26 -0
  333. package/dist/node_modules/@base-ui/react/esm/checkbox/utils/useStateAttributesMapping.js.map +1 -0
  334. package/dist/node_modules/@base-ui/react/esm/checkbox-group/CheckboxGroupContext.js +17 -0
  335. package/dist/node_modules/@base-ui/react/esm/checkbox-group/CheckboxGroupContext.js.map +1 -0
  336. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanel.js +128 -0
  337. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanel.js.map +1 -0
  338. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanelCssVars.js +9 -0
  339. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanelCssVars.js.map +1 -0
  340. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanelDataAttributes.js +12 -0
  341. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/CollapsiblePanelDataAttributes.js.map +1 -0
  342. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/useCollapsiblePanel.js +290 -0
  343. package/dist/node_modules/@base-ui/react/esm/collapsible/panel/useCollapsiblePanel.js.map +1 -0
  344. package/dist/node_modules/@base-ui/react/esm/collapsible/root/CollapsibleRoot.js +51 -0
  345. package/dist/node_modules/@base-ui/react/esm/collapsible/root/CollapsibleRoot.js.map +1 -0
  346. package/dist/node_modules/@base-ui/react/esm/collapsible/root/CollapsibleRootContext.js +17 -0
  347. package/dist/node_modules/@base-ui/react/esm/collapsible/root/CollapsibleRootContext.js.map +1 -0
  348. package/dist/node_modules/@base-ui/react/esm/collapsible/root/stateAttributesMapping.js +10 -0
  349. package/dist/node_modules/@base-ui/react/esm/collapsible/root/stateAttributesMapping.js.map +1 -0
  350. package/dist/node_modules/@base-ui/react/esm/collapsible/root/useCollapsibleRoot.js +111 -0
  351. package/dist/node_modules/@base-ui/react/esm/collapsible/root/useCollapsibleRoot.js.map +1 -0
  352. package/dist/node_modules/@base-ui/react/esm/collapsible/trigger/CollapsibleTrigger.js +54 -0
  353. package/dist/node_modules/@base-ui/react/esm/collapsible/trigger/CollapsibleTrigger.js.map +1 -0
  354. package/dist/node_modules/@base-ui/react/esm/collapsible/trigger/CollapsibleTriggerDataAttributes.js +8 -0
  355. package/dist/node_modules/@base-ui/react/esm/collapsible/trigger/CollapsibleTriggerDataAttributes.js.map +1 -0
  356. package/dist/node_modules/@base-ui/react/esm/combobox/chip/ComboboxChip.js +119 -0
  357. package/dist/node_modules/@base-ui/react/esm/combobox/chip/ComboboxChip.js.map +1 -0
  358. package/dist/node_modules/@base-ui/react/esm/combobox/chip/ComboboxChipContext.js +16 -0
  359. package/dist/node_modules/@base-ui/react/esm/combobox/chip/ComboboxChipContext.js.map +1 -0
  360. package/dist/node_modules/@base-ui/react/esm/combobox/chip-remove/ComboboxChipRemove.js +96 -0
  361. package/dist/node_modules/@base-ui/react/esm/combobox/chip-remove/ComboboxChipRemove.js.map +1 -0
  362. package/dist/node_modules/@base-ui/react/esm/combobox/chips/ComboboxChips.js +44 -0
  363. package/dist/node_modules/@base-ui/react/esm/combobox/chips/ComboboxChips.js.map +1 -0
  364. package/dist/node_modules/@base-ui/react/esm/combobox/chips/ComboboxChipsContext.js +11 -0
  365. package/dist/node_modules/@base-ui/react/esm/combobox/chips/ComboboxChipsContext.js.map +1 -0
  366. package/dist/node_modules/@base-ui/react/esm/combobox/clear/ComboboxClear.js +119 -0
  367. package/dist/node_modules/@base-ui/react/esm/combobox/clear/ComboboxClear.js.map +1 -0
  368. package/dist/node_modules/@base-ui/react/esm/combobox/collection/ComboboxCollection.js +25 -0
  369. package/dist/node_modules/@base-ui/react/esm/combobox/collection/ComboboxCollection.js.map +1 -0
  370. package/dist/node_modules/@base-ui/react/esm/combobox/collection/GroupCollectionContext.js +26 -0
  371. package/dist/node_modules/@base-ui/react/esm/combobox/collection/GroupCollectionContext.js.map +1 -0
  372. package/dist/node_modules/@base-ui/react/esm/combobox/empty/ComboboxEmpty.js +31 -0
  373. package/dist/node_modules/@base-ui/react/esm/combobox/empty/ComboboxEmpty.js.map +1 -0
  374. package/dist/node_modules/@base-ui/react/esm/combobox/group/ComboboxGroup.js +43 -0
  375. package/dist/node_modules/@base-ui/react/esm/combobox/group/ComboboxGroup.js.map +1 -0
  376. package/dist/node_modules/@base-ui/react/esm/combobox/group/ComboboxGroupContext.js +16 -0
  377. package/dist/node_modules/@base-ui/react/esm/combobox/group/ComboboxGroupContext.js.map +1 -0
  378. package/dist/node_modules/@base-ui/react/esm/combobox/group-label/ComboboxGroupLabel.js +36 -0
  379. package/dist/node_modules/@base-ui/react/esm/combobox/group-label/ComboboxGroupLabel.js.map +1 -0
  380. package/dist/node_modules/@base-ui/react/esm/combobox/input/ComboboxInput.js +331 -0
  381. package/dist/node_modules/@base-ui/react/esm/combobox/input/ComboboxInput.js.map +1 -0
  382. package/dist/node_modules/@base-ui/react/esm/combobox/item/ComboboxItem.js +167 -0
  383. package/dist/node_modules/@base-ui/react/esm/combobox/item/ComboboxItem.js.map +1 -0
  384. package/dist/node_modules/@base-ui/react/esm/combobox/item/ComboboxItemContext.js +16 -0
  385. package/dist/node_modules/@base-ui/react/esm/combobox/item/ComboboxItemContext.js.map +1 -0
  386. package/dist/node_modules/@base-ui/react/esm/combobox/item-indicator/ComboboxItemIndicator.js +67 -0
  387. package/dist/node_modules/@base-ui/react/esm/combobox/item-indicator/ComboboxItemIndicator.js.map +1 -0
  388. package/dist/node_modules/@base-ui/react/esm/combobox/list/ComboboxList.js +105 -0
  389. package/dist/node_modules/@base-ui/react/esm/combobox/list/ComboboxList.js.map +1 -0
  390. package/dist/node_modules/@base-ui/react/esm/combobox/popup/ComboboxPopup.js +94 -0
  391. package/dist/node_modules/@base-ui/react/esm/combobox/popup/ComboboxPopup.js.map +1 -0
  392. package/dist/node_modules/@base-ui/react/esm/combobox/portal/ComboboxPortal.js +33 -0
  393. package/dist/node_modules/@base-ui/react/esm/combobox/portal/ComboboxPortal.js.map +1 -0
  394. package/dist/node_modules/@base-ui/react/esm/combobox/portal/ComboboxPortalContext.js +16 -0
  395. package/dist/node_modules/@base-ui/react/esm/combobox/portal/ComboboxPortalContext.js.map +1 -0
  396. package/dist/node_modules/@base-ui/react/esm/combobox/positioner/ComboboxPositioner.js +123 -0
  397. package/dist/node_modules/@base-ui/react/esm/combobox/positioner/ComboboxPositioner.js.map +1 -0
  398. package/dist/node_modules/@base-ui/react/esm/combobox/positioner/ComboboxPositionerContext.js +17 -0
  399. package/dist/node_modules/@base-ui/react/esm/combobox/positioner/ComboboxPositionerContext.js.map +1 -0
  400. package/dist/node_modules/@base-ui/react/esm/combobox/root/AriaCombobox.js +970 -0
  401. package/dist/node_modules/@base-ui/react/esm/combobox/root/AriaCombobox.js.map +1 -0
  402. package/dist/node_modules/@base-ui/react/esm/combobox/root/ComboboxRoot.js +24 -0
  403. package/dist/node_modules/@base-ui/react/esm/combobox/root/ComboboxRoot.js.map +1 -0
  404. package/dist/node_modules/@base-ui/react/esm/combobox/root/ComboboxRootContext.js +45 -0
  405. package/dist/node_modules/@base-ui/react/esm/combobox/root/ComboboxRootContext.js.map +1 -0
  406. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/constants.js +10 -0
  407. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/constants.js.map +1 -0
  408. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/index.js +31 -0
  409. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/index.js.map +1 -0
  410. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/useFilter.js +63 -0
  411. package/dist/node_modules/@base-ui/react/esm/combobox/root/utils/useFilter.js.map +1 -0
  412. package/dist/node_modules/@base-ui/react/esm/combobox/row/ComboboxRowContext.js +11 -0
  413. package/dist/node_modules/@base-ui/react/esm/combobox/row/ComboboxRowContext.js.map +1 -0
  414. package/dist/node_modules/@base-ui/react/esm/combobox/store.js +64 -0
  415. package/dist/node_modules/@base-ui/react/esm/combobox/store.js.map +1 -0
  416. package/dist/node_modules/@base-ui/react/esm/combobox/trigger/ComboboxTrigger.js +200 -0
  417. package/dist/node_modules/@base-ui/react/esm/combobox/trigger/ComboboxTrigger.js.map +1 -0
  418. package/dist/node_modules/@base-ui/react/esm/combobox/value/ComboboxValue.js +31 -0
  419. package/dist/node_modules/@base-ui/react/esm/combobox/value/ComboboxValue.js.map +1 -0
  420. package/dist/node_modules/@base-ui/react/esm/composite/composite.js +122 -0
  421. package/dist/node_modules/@base-ui/react/esm/composite/composite.js.map +1 -0
  422. package/dist/node_modules/@base-ui/react/esm/composite/constants.js +5 -0
  423. package/dist/node_modules/@base-ui/react/esm/composite/constants.js.map +1 -0
  424. package/dist/node_modules/@base-ui/react/esm/composite/item/CompositeItem.js +33 -0
  425. package/dist/node_modules/@base-ui/react/esm/composite/item/CompositeItem.js.map +1 -0
  426. package/dist/node_modules/@base-ui/react/esm/composite/item/useCompositeItem.js +44 -0
  427. package/dist/node_modules/@base-ui/react/esm/composite/item/useCompositeItem.js.map +1 -0
  428. package/dist/node_modules/@base-ui/react/esm/composite/list/CompositeList.js +136 -0
  429. package/dist/node_modules/@base-ui/react/esm/composite/list/CompositeList.js.map +1 -0
  430. package/dist/node_modules/@base-ui/react/esm/composite/list/CompositeListContext.js +27 -0
  431. package/dist/node_modules/@base-ui/react/esm/composite/list/CompositeListContext.js.map +1 -0
  432. package/dist/node_modules/@base-ui/react/esm/composite/list/useCompositeListItem.js +79 -0
  433. package/dist/node_modules/@base-ui/react/esm/composite/list/useCompositeListItem.js.map +1 -0
  434. package/dist/node_modules/@base-ui/react/esm/composite/root/CompositeRoot.js +85 -0
  435. package/dist/node_modules/@base-ui/react/esm/composite/root/CompositeRoot.js.map +1 -0
  436. package/dist/node_modules/@base-ui/react/esm/composite/root/CompositeRootContext.js +17 -0
  437. package/dist/node_modules/@base-ui/react/esm/composite/root/CompositeRootContext.js.map +1 -0
  438. package/dist/node_modules/@base-ui/react/esm/composite/root/useCompositeRoot.js +214 -0
  439. package/dist/node_modules/@base-ui/react/esm/composite/root/useCompositeRoot.js.map +1 -0
  440. package/dist/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRoot.js +50 -0
  441. package/dist/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRoot.js.map +1 -0
  442. package/dist/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRootContext.js +16 -0
  443. package/dist/node_modules/@base-ui/react/esm/context-menu/root/ContextMenuRootContext.js.map +1 -0
  444. package/dist/node_modules/@base-ui/react/esm/context-menu/trigger/ContextMenuTrigger.js +155 -0
  445. package/dist/node_modules/@base-ui/react/esm/context-menu/trigger/ContextMenuTrigger.js.map +1 -0
  446. package/dist/node_modules/@base-ui/react/esm/dialog/backdrop/DialogBackdrop.js +48 -0
  447. package/dist/node_modules/@base-ui/react/esm/dialog/backdrop/DialogBackdrop.js.map +1 -0
  448. package/dist/node_modules/@base-ui/react/esm/dialog/close/DialogClose.js +47 -0
  449. package/dist/node_modules/@base-ui/react/esm/dialog/close/DialogClose.js.map +1 -0
  450. package/dist/node_modules/@base-ui/react/esm/dialog/description/DialogDescription.js +29 -0
  451. package/dist/node_modules/@base-ui/react/esm/dialog/description/DialogDescription.js.map +1 -0
  452. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopup.js +107 -0
  453. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopup.js.map +1 -0
  454. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopupCssVars.js +8 -0
  455. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopupCssVars.js.map +1 -0
  456. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopupDataAttributes.js +14 -0
  457. package/dist/node_modules/@base-ui/react/esm/dialog/popup/DialogPopupDataAttributes.js.map +1 -0
  458. package/dist/node_modules/@base-ui/react/esm/dialog/portal/DialogPortal.js +39 -0
  459. package/dist/node_modules/@base-ui/react/esm/dialog/portal/DialogPortal.js.map +1 -0
  460. package/dist/node_modules/@base-ui/react/esm/dialog/portal/DialogPortalContext.js +16 -0
  461. package/dist/node_modules/@base-ui/react/esm/dialog/portal/DialogPortalContext.js.map +1 -0
  462. package/dist/node_modules/@base-ui/react/esm/dialog/root/DialogRoot.js +61 -0
  463. package/dist/node_modules/@base-ui/react/esm/dialog/root/DialogRoot.js.map +1 -0
  464. package/dist/node_modules/@base-ui/react/esm/dialog/root/DialogRootContext.js +17 -0
  465. package/dist/node_modules/@base-ui/react/esm/dialog/root/DialogRootContext.js.map +1 -0
  466. package/dist/node_modules/@base-ui/react/esm/dialog/root/useDialogRoot.js +127 -0
  467. package/dist/node_modules/@base-ui/react/esm/dialog/root/useDialogRoot.js.map +1 -0
  468. package/dist/node_modules/@base-ui/react/esm/dialog/store/DialogStore.js +77 -0
  469. package/dist/node_modules/@base-ui/react/esm/dialog/store/DialogStore.js.map +1 -0
  470. package/dist/node_modules/@base-ui/react/esm/dialog/title/DialogTitle.js +29 -0
  471. package/dist/node_modules/@base-ui/react/esm/dialog/title/DialogTitle.js.map +1 -0
  472. package/dist/node_modules/@base-ui/react/esm/dialog/trigger/DialogTrigger.js +69 -0
  473. package/dist/node_modules/@base-ui/react/esm/dialog/trigger/DialogTrigger.js.map +1 -0
  474. package/dist/node_modules/@base-ui/react/esm/direction-provider/DirectionContext.js +13 -0
  475. package/dist/node_modules/@base-ui/react/esm/direction-provider/DirectionContext.js.map +1 -0
  476. package/dist/node_modules/@base-ui/react/esm/field/control/FieldControl.js +127 -0
  477. package/dist/node_modules/@base-ui/react/esm/field/control/FieldControl.js.map +1 -0
  478. package/dist/node_modules/@base-ui/react/esm/field/control/FieldControlDataAttributes.js +14 -0
  479. package/dist/node_modules/@base-ui/react/esm/field/control/FieldControlDataAttributes.js.map +1 -0
  480. package/dist/node_modules/@base-ui/react/esm/field/item/FieldItemContext.js +14 -0
  481. package/dist/node_modules/@base-ui/react/esm/field/item/FieldItemContext.js.map +1 -0
  482. package/dist/node_modules/@base-ui/react/esm/field/root/FieldRootContext.js +63 -0
  483. package/dist/node_modules/@base-ui/react/esm/field/root/FieldRootContext.js.map +1 -0
  484. package/dist/node_modules/@base-ui/react/esm/field/useField.js +72 -0
  485. package/dist/node_modules/@base-ui/react/esm/field/useField.js.map +1 -0
  486. package/dist/node_modules/@base-ui/react/esm/field/utils/constants.js +34 -0
  487. package/dist/node_modules/@base-ui/react/esm/field/utils/constants.js.map +1 -0
  488. package/dist/node_modules/@base-ui/react/esm/field/utils/getCombinedFieldValidityData.js +13 -0
  489. package/dist/node_modules/@base-ui/react/esm/field/utils/getCombinedFieldValidityData.js.map +1 -0
  490. package/dist/node_modules/@base-ui/react/esm/fieldset/root/FieldsetRootContext.js +22 -0
  491. package/dist/node_modules/@base-ui/react/esm/fieldset/root/FieldsetRootContext.js.map +1 -0
  492. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingDelayGroup.js +146 -0
  493. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingDelayGroup.js.map +1 -0
  494. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingFocusManager.js +545 -0
  495. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingFocusManager.js.map +1 -0
  496. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingPortal.js +176 -0
  497. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingPortal.js.map +1 -0
  498. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingRootStore.js +64 -0
  499. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingRootStore.js.map +1 -0
  500. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTree.js +68 -0
  501. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTree.js.map +1 -0
  502. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTreeStore.js +20 -0
  503. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/components/FloatingTreeStore.js.map +1 -0
  504. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClick.js +98 -0
  505. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClick.js.map +1 -0
  506. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClientPoint.js +168 -0
  507. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useClientPoint.js.map +1 -0
  508. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useDismiss.js +403 -0
  509. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useDismiss.js.map +1 -0
  510. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloating.js +109 -0
  511. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloating.js.map +1 -0
  512. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js +54 -0
  513. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js.map +1 -0
  514. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFocus.js +116 -0
  515. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFocus.js.map +1 -0
  516. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHover.js +384 -0
  517. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHover.js.map +1 -0
  518. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js +177 -0
  519. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverFloatingInteraction.js.map +1 -0
  520. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js +46 -0
  521. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverInteractionSharedState.js.map +1 -0
  522. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js +276 -0
  523. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useHoverReferenceInteraction.js.map +1 -0
  524. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useInteractions.js +91 -0
  525. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useInteractions.js.map +1 -0
  526. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useListNavigation.js +547 -0
  527. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useListNavigation.js.map +1 -0
  528. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js +107 -0
  529. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useRole.js.map +1 -0
  530. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useSyncedFloatingRootContext.js +50 -0
  531. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useSyncedFloatingRootContext.js.map +1 -0
  532. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useTypeahead.js +113 -0
  533. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useTypeahead.js.map +1 -0
  534. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/middleware/arrow.js +73 -0
  535. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/middleware/arrow.js.map +1 -0
  536. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/safePolygon.js +188 -0
  537. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/safePolygon.js.map +1 -0
  538. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/composite.js +340 -0
  539. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/composite.js.map +1 -0
  540. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/constants.js +19 -0
  541. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/constants.js.map +1 -0
  542. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createAttribute.js +7 -0
  543. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createAttribute.js.map +1 -0
  544. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createEventEmitter.js +21 -0
  545. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/createEventEmitter.js.map +1 -0
  546. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/element.js +89 -0
  547. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/element.js.map +1 -0
  548. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/enqueueFocus.js +23 -0
  549. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/enqueueFocus.js.map +1 -0
  550. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/event.js +44 -0
  551. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/event.js.map +1 -0
  552. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/getEmptyRootContext.js +18 -0
  553. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/getEmptyRootContext.js.map +1 -0
  554. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/markOthers.js +121 -0
  555. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/markOthers.js.map +1 -0
  556. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/nodes.js +21 -0
  557. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/nodes.js.map +1 -0
  558. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/tabbable.js +85 -0
  559. package/dist/node_modules/@base-ui/react/esm/floating-ui-react/utils/tabbable.js.map +1 -0
  560. package/dist/node_modules/@base-ui/react/esm/form/FormContext.js +25 -0
  561. package/dist/node_modules/@base-ui/react/esm/form/FormContext.js.map +1 -0
  562. package/dist/node_modules/@base-ui/react/esm/input/Input.js +15 -0
  563. package/dist/node_modules/@base-ui/react/esm/input/Input.js.map +1 -0
  564. package/dist/node_modules/@base-ui/react/esm/labelable-provider/LabelableContext.js +21 -0
  565. package/dist/node_modules/@base-ui/react/esm/labelable-provider/LabelableContext.js.map +1 -0
  566. package/dist/node_modules/@base-ui/react/esm/labelable-provider/useLabelableId.js +43 -0
  567. package/dist/node_modules/@base-ui/react/esm/labelable-provider/useLabelableId.js.map +1 -0
  568. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItem.js +95 -0
  569. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItem.js.map +1 -0
  570. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemContext.js +16 -0
  571. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemContext.js.map +1 -0
  572. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemDataAttributes.js +11 -0
  573. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item/MenuCheckboxItemDataAttributes.js.map +1 -0
  574. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js +52 -0
  575. package/dist/node_modules/@base-ui/react/esm/menu/checkbox-item-indicator/MenuCheckboxItemIndicator.js.map +1 -0
  576. package/dist/node_modules/@base-ui/react/esm/menu/group/MenuGroup.js +33 -0
  577. package/dist/node_modules/@base-ui/react/esm/menu/group/MenuGroup.js.map +1 -0
  578. package/dist/node_modules/@base-ui/react/esm/menu/group/MenuGroupContext.js +16 -0
  579. package/dist/node_modules/@base-ui/react/esm/menu/group/MenuGroupContext.js.map +1 -0
  580. package/dist/node_modules/@base-ui/react/esm/menu/group-label/MenuGroupLabel.js +37 -0
  581. package/dist/node_modules/@base-ui/react/esm/menu/group-label/MenuGroupLabel.js.map +1 -0
  582. package/dist/node_modules/@base-ui/react/esm/menu/item/MenuItem.js +57 -0
  583. package/dist/node_modules/@base-ui/react/esm/menu/item/MenuItem.js.map +1 -0
  584. package/dist/node_modules/@base-ui/react/esm/menu/item/useMenuItem.js +95 -0
  585. package/dist/node_modules/@base-ui/react/esm/menu/item/useMenuItem.js.map +1 -0
  586. package/dist/node_modules/@base-ui/react/esm/menu/popup/MenuPopup.js +117 -0
  587. package/dist/node_modules/@base-ui/react/esm/menu/popup/MenuPopup.js.map +1 -0
  588. package/dist/node_modules/@base-ui/react/esm/menu/portal/MenuPortal.js +32 -0
  589. package/dist/node_modules/@base-ui/react/esm/menu/portal/MenuPortal.js.map +1 -0
  590. package/dist/node_modules/@base-ui/react/esm/menu/portal/MenuPortalContext.js +16 -0
  591. package/dist/node_modules/@base-ui/react/esm/menu/portal/MenuPortalContext.js.map +1 -0
  592. package/dist/node_modules/@base-ui/react/esm/menu/positioner/MenuPositioner.js +216 -0
  593. package/dist/node_modules/@base-ui/react/esm/menu/positioner/MenuPositioner.js.map +1 -0
  594. package/dist/node_modules/@base-ui/react/esm/menu/positioner/MenuPositionerContext.js +17 -0
  595. package/dist/node_modules/@base-ui/react/esm/menu/positioner/MenuPositionerContext.js.map +1 -0
  596. package/dist/node_modules/@base-ui/react/esm/menu/radio-group/MenuRadioGroup.js +57 -0
  597. package/dist/node_modules/@base-ui/react/esm/menu/radio-group/MenuRadioGroup.js.map +1 -0
  598. package/dist/node_modules/@base-ui/react/esm/menu/radio-group/MenuRadioGroupContext.js +16 -0
  599. package/dist/node_modules/@base-ui/react/esm/menu/radio-group/MenuRadioGroupContext.js.map +1 -0
  600. package/dist/node_modules/@base-ui/react/esm/menu/radio-item/MenuRadioItem.js +90 -0
  601. package/dist/node_modules/@base-ui/react/esm/menu/radio-item/MenuRadioItem.js.map +1 -0
  602. package/dist/node_modules/@base-ui/react/esm/menu/radio-item/MenuRadioItemContext.js +16 -0
  603. package/dist/node_modules/@base-ui/react/esm/menu/radio-item/MenuRadioItemContext.js.map +1 -0
  604. package/dist/node_modules/@base-ui/react/esm/menu/radio-item-indicator/MenuRadioItemIndicator.js +52 -0
  605. package/dist/node_modules/@base-ui/react/esm/menu/radio-item-indicator/MenuRadioItemIndicator.js.map +1 -0
  606. package/dist/node_modules/@base-ui/react/esm/menu/root/MenuRoot.js +402 -0
  607. package/dist/node_modules/@base-ui/react/esm/menu/root/MenuRoot.js.map +1 -0
  608. package/dist/node_modules/@base-ui/react/esm/menu/root/MenuRootContext.js +17 -0
  609. package/dist/node_modules/@base-ui/react/esm/menu/root/MenuRootContext.js.map +1 -0
  610. package/dist/node_modules/@base-ui/react/esm/menu/store/MenuStore.js +132 -0
  611. package/dist/node_modules/@base-ui/react/esm/menu/store/MenuStore.js.map +1 -0
  612. package/dist/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRoot.js +24 -0
  613. package/dist/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRoot.js.map +1 -0
  614. package/dist/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRootContext.js +11 -0
  615. package/dist/node_modules/@base-ui/react/esm/menu/submenu-root/MenuSubmenuRootContext.js.map +1 -0
  616. package/dist/node_modules/@base-ui/react/esm/menu/submenu-trigger/MenuSubmenuTrigger.js +134 -0
  617. package/dist/node_modules/@base-ui/react/esm/menu/submenu-trigger/MenuSubmenuTrigger.js.map +1 -0
  618. package/dist/node_modules/@base-ui/react/esm/menu/trigger/MenuTrigger.js +292 -0
  619. package/dist/node_modules/@base-ui/react/esm/menu/trigger/MenuTrigger.js.map +1 -0
  620. package/dist/node_modules/@base-ui/react/esm/menu/utils/findRootOwnerId.js +14 -0
  621. package/dist/node_modules/@base-ui/react/esm/menu/utils/findRootOwnerId.js.map +1 -0
  622. package/dist/node_modules/@base-ui/react/esm/menu/utils/stateAttributesMapping.js +19 -0
  623. package/dist/node_modules/@base-ui/react/esm/menu/utils/stateAttributesMapping.js.map +1 -0
  624. package/dist/node_modules/@base-ui/react/esm/menubar/Menubar.js +115 -0
  625. package/dist/node_modules/@base-ui/react/esm/menubar/Menubar.js.map +1 -0
  626. package/dist/node_modules/@base-ui/react/esm/menubar/MenubarContext.js +17 -0
  627. package/dist/node_modules/@base-ui/react/esm/menubar/MenubarContext.js.map +1 -0
  628. package/dist/node_modules/@base-ui/react/esm/merge-props/mergeProps.js +129 -0
  629. package/dist/node_modules/@base-ui/react/esm/merge-props/mergeProps.js.map +1 -0
  630. package/dist/node_modules/@base-ui/react/esm/navigation-menu/content/NavigationMenuContent.js +116 -0
  631. package/dist/node_modules/@base-ui/react/esm/navigation-menu/content/NavigationMenuContent.js.map +1 -0
  632. package/dist/node_modules/@base-ui/react/esm/navigation-menu/icon/NavigationMenuIcon.js +39 -0
  633. package/dist/node_modules/@base-ui/react/esm/navigation-menu/icon/NavigationMenuIcon.js.map +1 -0
  634. package/dist/node_modules/@base-ui/react/esm/navigation-menu/item/NavigationMenuItem.js +32 -0
  635. package/dist/node_modules/@base-ui/react/esm/navigation-menu/item/NavigationMenuItem.js.map +1 -0
  636. package/dist/node_modules/@base-ui/react/esm/navigation-menu/item/NavigationMenuItemContext.js +16 -0
  637. package/dist/node_modules/@base-ui/react/esm/navigation-menu/item/NavigationMenuItemContext.js.map +1 -0
  638. package/dist/node_modules/@base-ui/react/esm/navigation-menu/link/NavigationMenuLink.js +64 -0
  639. package/dist/node_modules/@base-ui/react/esm/navigation-menu/link/NavigationMenuLink.js.map +1 -0
  640. package/dist/node_modules/@base-ui/react/esm/navigation-menu/list/NavigationMenuDismissContext.js +11 -0
  641. package/dist/node_modules/@base-ui/react/esm/navigation-menu/list/NavigationMenuDismissContext.js.map +1 -0
  642. package/dist/node_modules/@base-ui/react/esm/navigation-menu/list/NavigationMenuList.js +82 -0
  643. package/dist/node_modules/@base-ui/react/esm/navigation-menu/list/NavigationMenuList.js.map +1 -0
  644. package/dist/node_modules/@base-ui/react/esm/navigation-menu/popup/NavigationMenuPopup.js +65 -0
  645. package/dist/node_modules/@base-ui/react/esm/navigation-menu/popup/NavigationMenuPopup.js.map +1 -0
  646. package/dist/node_modules/@base-ui/react/esm/navigation-menu/popup/NavigationMenuPopupCssVars.js +9 -0
  647. package/dist/node_modules/@base-ui/react/esm/navigation-menu/popup/NavigationMenuPopupCssVars.js.map +1 -0
  648. package/dist/node_modules/@base-ui/react/esm/navigation-menu/portal/NavigationMenuPortal.js +31 -0
  649. package/dist/node_modules/@base-ui/react/esm/navigation-menu/portal/NavigationMenuPortal.js.map +1 -0
  650. package/dist/node_modules/@base-ui/react/esm/navigation-menu/portal/NavigationMenuPortalContext.js +16 -0
  651. package/dist/node_modules/@base-ui/react/esm/navigation-menu/portal/NavigationMenuPortalContext.js.map +1 -0
  652. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositioner.js +146 -0
  653. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositioner.js.map +1 -0
  654. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositionerContext.js +17 -0
  655. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositionerContext.js.map +1 -0
  656. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositionerCssVars.js +14 -0
  657. package/dist/node_modules/@base-ui/react/esm/navigation-menu/positioner/NavigationMenuPositionerCssVars.js.map +1 -0
  658. package/dist/node_modules/@base-ui/react/esm/navigation-menu/root/NavigationMenuRoot.js +207 -0
  659. package/dist/node_modules/@base-ui/react/esm/navigation-menu/root/NavigationMenuRoot.js.map +1 -0
  660. package/dist/node_modules/@base-ui/react/esm/navigation-menu/root/NavigationMenuRootContext.js +26 -0
  661. package/dist/node_modules/@base-ui/react/esm/navigation-menu/root/NavigationMenuRootContext.js.map +1 -0
  662. package/dist/node_modules/@base-ui/react/esm/navigation-menu/trigger/NavigationMenuTrigger.js +397 -0
  663. package/dist/node_modules/@base-ui/react/esm/navigation-menu/trigger/NavigationMenuTrigger.js.map +1 -0
  664. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/constants.js +5 -0
  665. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/constants.js.map +1 -0
  666. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/isOutsideMenuEvent.js +24 -0
  667. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/isOutsideMenuEvent.js.map +1 -0
  668. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/setFixedSize.js +15 -0
  669. package/dist/node_modules/@base-ui/react/esm/navigation-menu/utils/setFixedSize.js.map +1 -0
  670. package/dist/node_modules/@base-ui/react/esm/navigation-menu/viewport/NavigationMenuViewport.js +108 -0
  671. package/dist/node_modules/@base-ui/react/esm/navigation-menu/viewport/NavigationMenuViewport.js.map +1 -0
  672. package/dist/node_modules/@base-ui/react/esm/popover/description/PopoverDescription.js +35 -0
  673. package/dist/node_modules/@base-ui/react/esm/popover/description/PopoverDescription.js.map +1 -0
  674. package/dist/node_modules/@base-ui/react/esm/popover/popup/PopoverPopup.js +138 -0
  675. package/dist/node_modules/@base-ui/react/esm/popover/popup/PopoverPopup.js.map +1 -0
  676. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortal.js +33 -0
  677. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortal.js.map +1 -0
  678. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortalContext.js +16 -0
  679. package/dist/node_modules/@base-ui/react/esm/popover/portal/PopoverPortalContext.js.map +1 -0
  680. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositioner.js +141 -0
  681. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositioner.js.map +1 -0
  682. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositionerContext.js +17 -0
  683. package/dist/node_modules/@base-ui/react/esm/popover/positioner/PopoverPositionerContext.js.map +1 -0
  684. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRoot.js +139 -0
  685. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRoot.js.map +1 -0
  686. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRootContext.js +17 -0
  687. package/dist/node_modules/@base-ui/react/esm/popover/root/PopoverRootContext.js.map +1 -0
  688. package/dist/node_modules/@base-ui/react/esm/popover/store/PopoverStore.js +125 -0
  689. package/dist/node_modules/@base-ui/react/esm/popover/store/PopoverStore.js.map +1 -0
  690. package/dist/node_modules/@base-ui/react/esm/popover/title/PopoverTitle.js +35 -0
  691. package/dist/node_modules/@base-ui/react/esm/popover/title/PopoverTitle.js.map +1 -0
  692. package/dist/node_modules/@base-ui/react/esm/popover/trigger/PopoverTrigger.js +154 -0
  693. package/dist/node_modules/@base-ui/react/esm/popover/trigger/PopoverTrigger.js.map +1 -0
  694. package/dist/node_modules/@base-ui/react/esm/popover/utils/constants.js +5 -0
  695. package/dist/node_modules/@base-ui/react/esm/popover/utils/constants.js.map +1 -0
  696. package/dist/node_modules/@base-ui/react/esm/preview-card/popup/PreviewCardPopup.js +58 -0
  697. package/dist/node_modules/@base-ui/react/esm/preview-card/popup/PreviewCardPopup.js.map +1 -0
  698. package/dist/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortal.js +31 -0
  699. package/dist/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortal.js.map +1 -0
  700. package/dist/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortalContext.js +16 -0
  701. package/dist/node_modules/@base-ui/react/esm/preview-card/portal/PreviewCardPortalContext.js.map +1 -0
  702. package/dist/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositioner.js +95 -0
  703. package/dist/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositioner.js.map +1 -0
  704. package/dist/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositionerContext.js +17 -0
  705. package/dist/node_modules/@base-ui/react/esm/preview-card/positioner/PreviewCardPositionerContext.js.map +1 -0
  706. package/dist/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardContext.js +17 -0
  707. package/dist/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardContext.js.map +1 -0
  708. package/dist/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardRoot.js +140 -0
  709. package/dist/node_modules/@base-ui/react/esm/preview-card/root/PreviewCardRoot.js.map +1 -0
  710. package/dist/node_modules/@base-ui/react/esm/preview-card/trigger/PreviewCardTrigger.js +42 -0
  711. package/dist/node_modules/@base-ui/react/esm/preview-card/trigger/PreviewCardTrigger.js.map +1 -0
  712. package/dist/node_modules/@base-ui/react/esm/preview-card/utils/constants.js +7 -0
  713. package/dist/node_modules/@base-ui/react/esm/preview-card/utils/constants.js.map +1 -0
  714. package/dist/node_modules/@base-ui/react/esm/progress/indicator/ProgressIndicator.js +44 -0
  715. package/dist/node_modules/@base-ui/react/esm/progress/indicator/ProgressIndicator.js.map +1 -0
  716. package/dist/node_modules/@base-ui/react/esm/progress/label/ProgressLabel.js +38 -0
  717. package/dist/node_modules/@base-ui/react/esm/progress/label/ProgressLabel.js.map +1 -0
  718. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRoot.js +80 -0
  719. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRoot.js.map +1 -0
  720. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRootContext.js +17 -0
  721. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRootContext.js.map +1 -0
  722. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRootDataAttributes.js +10 -0
  723. package/dist/node_modules/@base-ui/react/esm/progress/root/ProgressRootDataAttributes.js.map +1 -0
  724. package/dist/node_modules/@base-ui/react/esm/progress/root/stateAttributesMapping.js +25 -0
  725. package/dist/node_modules/@base-ui/react/esm/progress/root/stateAttributesMapping.js.map +1 -0
  726. package/dist/node_modules/@base-ui/react/esm/progress/track/ProgressTrack.js +27 -0
  727. package/dist/node_modules/@base-ui/react/esm/progress/track/ProgressTrack.js.map +1 -0
  728. package/dist/node_modules/@base-ui/react/esm/progress/value/ProgressValue.js +35 -0
  729. package/dist/node_modules/@base-ui/react/esm/progress/value/ProgressValue.js.map +1 -0
  730. package/dist/node_modules/@base-ui/react/esm/radio/indicator/RadioIndicator.js +52 -0
  731. package/dist/node_modules/@base-ui/react/esm/radio/indicator/RadioIndicator.js.map +1 -0
  732. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRoot.js +182 -0
  733. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRoot.js.map +1 -0
  734. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRootContext.js +17 -0
  735. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRootContext.js.map +1 -0
  736. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRootDataAttributes.js +18 -0
  737. package/dist/node_modules/@base-ui/react/esm/radio/root/RadioRootDataAttributes.js.map +1 -0
  738. package/dist/node_modules/@base-ui/react/esm/radio/utils/stateAttributesMapping.js +21 -0
  739. package/dist/node_modules/@base-ui/react/esm/radio/utils/stateAttributesMapping.js.map +1 -0
  740. package/dist/node_modules/@base-ui/react/esm/radio-group/RadioGroup.js +196 -0
  741. package/dist/node_modules/@base-ui/react/esm/radio-group/RadioGroup.js.map +1 -0
  742. package/dist/node_modules/@base-ui/react/esm/radio-group/RadioGroupContext.js +24 -0
  743. package/dist/node_modules/@base-ui/react/esm/radio-group/RadioGroupContext.js.map +1 -0
  744. package/dist/node_modules/@base-ui/react/esm/scroll-area/constants.js +7 -0
  745. package/dist/node_modules/@base-ui/react/esm/scroll-area/constants.js.map +1 -0
  746. package/dist/node_modules/@base-ui/react/esm/scroll-area/corner/ScrollAreaCorner.js +37 -0
  747. package/dist/node_modules/@base-ui/react/esm/scroll-area/corner/ScrollAreaCorner.js.map +1 -0
  748. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRoot.js +248 -0
  749. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRoot.js.map +1 -0
  750. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootContext.js +16 -0
  751. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootContext.js.map +1 -0
  752. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootCssVars.js +9 -0
  753. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootCssVars.js.map +1 -0
  754. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootDataAttributes.js +13 -0
  755. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/ScrollAreaRootDataAttributes.js.map +1 -0
  756. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/stateAttributes.js +26 -0
  757. package/dist/node_modules/@base-ui/react/esm/scroll-area/root/stateAttributes.js.map +1 -0
  758. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js +183 -0
  759. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbar.js.map +1 -0
  760. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarContext.js +16 -0
  761. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarContext.js.map +1 -0
  762. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js +9 -0
  763. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarCssVars.js.map +1 -0
  764. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js +16 -0
  765. package/dist/node_modules/@base-ui/react/esm/scroll-area/scrollbar/ScrollAreaScrollbarDataAttributes.js.map +1 -0
  766. package/dist/node_modules/@base-ui/react/esm/scroll-area/thumb/ScrollAreaThumb.js +59 -0
  767. package/dist/node_modules/@base-ui/react/esm/scroll-area/thumb/ScrollAreaThumb.js.map +1 -0
  768. package/dist/node_modules/@base-ui/react/esm/scroll-area/utils/getOffset.js +15 -0
  769. package/dist/node_modules/@base-ui/react/esm/scroll-area/utils/getOffset.js.map +1 -0
  770. package/dist/node_modules/@base-ui/react/esm/scroll-area/utils/onVisible.js +22 -0
  771. package/dist/node_modules/@base-ui/react/esm/scroll-area/utils/onVisible.js.map +1 -0
  772. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewport.js +290 -0
  773. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewport.js.map +1 -0
  774. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportContext.js +7 -0
  775. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportContext.js.map +1 -0
  776. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportCssVars.js +11 -0
  777. package/dist/node_modules/@base-ui/react/esm/scroll-area/viewport/ScrollAreaViewportCssVars.js.map +1 -0
  778. package/dist/node_modules/@base-ui/react/esm/select/group/SelectGroup.js +33 -0
  779. package/dist/node_modules/@base-ui/react/esm/select/group/SelectGroup.js.map +1 -0
  780. package/dist/node_modules/@base-ui/react/esm/select/group/SelectGroupContext.js +16 -0
  781. package/dist/node_modules/@base-ui/react/esm/select/group/SelectGroupContext.js.map +1 -0
  782. package/dist/node_modules/@base-ui/react/esm/select/group-label/SelectGroupLabel.js +33 -0
  783. package/dist/node_modules/@base-ui/react/esm/select/group-label/SelectGroupLabel.js.map +1 -0
  784. package/dist/node_modules/@base-ui/react/esm/select/icon/SelectIcon.js +36 -0
  785. package/dist/node_modules/@base-ui/react/esm/select/icon/SelectIcon.js.map +1 -0
  786. package/dist/node_modules/@base-ui/react/esm/select/item/SelectItem.js +205 -0
  787. package/dist/node_modules/@base-ui/react/esm/select/item/SelectItem.js.map +1 -0
  788. package/dist/node_modules/@base-ui/react/esm/select/item/SelectItemContext.js +16 -0
  789. package/dist/node_modules/@base-ui/react/esm/select/item/SelectItemContext.js.map +1 -0
  790. package/dist/node_modules/@base-ui/react/esm/select/item-indicator/SelectItemIndicator.js +67 -0
  791. package/dist/node_modules/@base-ui/react/esm/select/item-indicator/SelectItemIndicator.js.map +1 -0
  792. package/dist/node_modules/@base-ui/react/esm/select/item-text/SelectItemText.js +40 -0
  793. package/dist/node_modules/@base-ui/react/esm/select/item-text/SelectItemText.js.map +1 -0
  794. package/dist/node_modules/@base-ui/react/esm/select/list/SelectList.js +52 -0
  795. package/dist/node_modules/@base-ui/react/esm/select/list/SelectList.js.map +1 -0
  796. package/dist/node_modules/@base-ui/react/esm/select/popup/SelectPopup.js +345 -0
  797. package/dist/node_modules/@base-ui/react/esm/select/popup/SelectPopup.js.map +1 -0
  798. package/dist/node_modules/@base-ui/react/esm/select/popup/utils.js +16 -0
  799. package/dist/node_modules/@base-ui/react/esm/select/popup/utils.js.map +1 -0
  800. package/dist/node_modules/@base-ui/react/esm/select/portal/SelectPortal.js +31 -0
  801. package/dist/node_modules/@base-ui/react/esm/select/portal/SelectPortal.js.map +1 -0
  802. package/dist/node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js +7 -0
  803. package/dist/node_modules/@base-ui/react/esm/select/portal/SelectPortalContext.js.map +1 -0
  804. package/dist/node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js +205 -0
  805. package/dist/node_modules/@base-ui/react/esm/select/positioner/SelectPositioner.js.map +1 -0
  806. package/dist/node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js +16 -0
  807. package/dist/node_modules/@base-ui/react/esm/select/positioner/SelectPositionerContext.js.map +1 -0
  808. package/dist/node_modules/@base-ui/react/esm/select/root/SelectRoot.js +440 -0
  809. package/dist/node_modules/@base-ui/react/esm/select/root/SelectRoot.js.map +1 -0
  810. package/dist/node_modules/@base-ui/react/esm/select/root/SelectRootContext.js +27 -0
  811. package/dist/node_modules/@base-ui/react/esm/select/root/SelectRootContext.js.map +1 -0
  812. package/dist/node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js +173 -0
  813. package/dist/node_modules/@base-ui/react/esm/select/scroll-arrow/SelectScrollArrow.js.map +1 -0
  814. package/dist/node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js +16 -0
  815. package/dist/node_modules/@base-ui/react/esm/select/scroll-down-arrow/SelectScrollDownArrow.js.map +1 -0
  816. package/dist/node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js +16 -0
  817. package/dist/node_modules/@base-ui/react/esm/select/scroll-up-arrow/SelectScrollUpArrow.js.map +1 -0
  818. package/dist/node_modules/@base-ui/react/esm/select/store.js +58 -0
  819. package/dist/node_modules/@base-ui/react/esm/select/store.js.map +1 -0
  820. package/dist/node_modules/@base-ui/react/esm/select/trigger/SelectTrigger.js +180 -0
  821. package/dist/node_modules/@base-ui/react/esm/select/trigger/SelectTrigger.js.map +1 -0
  822. package/dist/node_modules/@base-ui/react/esm/select/value/SelectValue.js +45 -0
  823. package/dist/node_modules/@base-ui/react/esm/select/value/SelectValue.js.map +1 -0
  824. package/dist/node_modules/@base-ui/react/esm/separator/Separator.js +28 -0
  825. package/dist/node_modules/@base-ui/react/esm/separator/Separator.js.map +1 -0
  826. package/dist/node_modules/@base-ui/react/esm/slider/control/SliderControl.js +386 -0
  827. package/dist/node_modules/@base-ui/react/esm/slider/control/SliderControl.js.map +1 -0
  828. package/dist/node_modules/@base-ui/react/esm/slider/indicator/SliderIndicator.js +84 -0
  829. package/dist/node_modules/@base-ui/react/esm/slider/indicator/SliderIndicator.js.map +1 -0
  830. package/dist/node_modules/@base-ui/react/esm/slider/root/SliderRoot.js +272 -0
  831. package/dist/node_modules/@base-ui/react/esm/slider/root/SliderRoot.js.map +1 -0
  832. package/dist/node_modules/@base-ui/react/esm/slider/root/SliderRootContext.js +17 -0
  833. package/dist/node_modules/@base-ui/react/esm/slider/root/SliderRootContext.js.map +1 -0
  834. package/dist/node_modules/@base-ui/react/esm/slider/root/stateAttributesMapping.js +12 -0
  835. package/dist/node_modules/@base-ui/react/esm/slider/root/stateAttributesMapping.js.map +1 -0
  836. package/dist/node_modules/@base-ui/react/esm/slider/thumb/SliderThumb.js +327 -0
  837. package/dist/node_modules/@base-ui/react/esm/slider/thumb/SliderThumb.js.map +1 -0
  838. package/dist/node_modules/@base-ui/react/esm/slider/thumb/SliderThumbDataAttributes.js +18 -0
  839. package/dist/node_modules/@base-ui/react/esm/slider/thumb/SliderThumbDataAttributes.js.map +1 -0
  840. package/dist/node_modules/@base-ui/react/esm/slider/thumb/prehydrationScript.min.js +5 -0
  841. package/dist/node_modules/@base-ui/react/esm/slider/thumb/prehydrationScript.min.js.map +1 -0
  842. package/dist/node_modules/@base-ui/react/esm/slider/track/SliderTrack.js +31 -0
  843. package/dist/node_modules/@base-ui/react/esm/slider/track/SliderTrack.js.map +1 -0
  844. package/dist/node_modules/@base-ui/react/esm/slider/utils/asc.js +7 -0
  845. package/dist/node_modules/@base-ui/react/esm/slider/utils/asc.js.map +1 -0
  846. package/dist/node_modules/@base-ui/react/esm/slider/utils/getMidpoint.js +11 -0
  847. package/dist/node_modules/@base-ui/react/esm/slider/utils/getMidpoint.js.map +1 -0
  848. package/dist/node_modules/@base-ui/react/esm/slider/utils/getPushedThumbValues.js +50 -0
  849. package/dist/node_modules/@base-ui/react/esm/slider/utils/getPushedThumbValues.js.map +1 -0
  850. package/dist/node_modules/@base-ui/react/esm/slider/utils/getSliderValue.js +19 -0
  851. package/dist/node_modules/@base-ui/react/esm/slider/utils/getSliderValue.js.map +1 -0
  852. package/dist/node_modules/@base-ui/react/esm/slider/utils/replaceArrayItemAtIndex.js +10 -0
  853. package/dist/node_modules/@base-ui/react/esm/slider/utils/replaceArrayItemAtIndex.js.map +1 -0
  854. package/dist/node_modules/@base-ui/react/esm/slider/utils/resolveThumbCollision.js +129 -0
  855. package/dist/node_modules/@base-ui/react/esm/slider/utils/resolveThumbCollision.js.map +1 -0
  856. package/dist/node_modules/@base-ui/react/esm/slider/utils/roundValueToStep.js +17 -0
  857. package/dist/node_modules/@base-ui/react/esm/slider/utils/roundValueToStep.js.map +1 -0
  858. package/dist/node_modules/@base-ui/react/esm/slider/utils/validateMinimumDistance.js +17 -0
  859. package/dist/node_modules/@base-ui/react/esm/slider/utils/validateMinimumDistance.js.map +1 -0
  860. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRoot.js +192 -0
  861. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRoot.js.map +1 -0
  862. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRootContext.js +16 -0
  863. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRootContext.js.map +1 -0
  864. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRootDataAttributes.js +18 -0
  865. package/dist/node_modules/@base-ui/react/esm/switch/root/SwitchRootDataAttributes.js.map +1 -0
  866. package/dist/node_modules/@base-ui/react/esm/switch/stateAttributesMapping.js +19 -0
  867. package/dist/node_modules/@base-ui/react/esm/switch/stateAttributesMapping.js.map +1 -0
  868. package/dist/node_modules/@base-ui/react/esm/switch/thumb/SwitchThumb.js +32 -0
  869. package/dist/node_modules/@base-ui/react/esm/switch/thumb/SwitchThumb.js.map +1 -0
  870. package/dist/node_modules/@base-ui/react/esm/tabs/list/TabsList.js +156 -0
  871. package/dist/node_modules/@base-ui/react/esm/tabs/list/TabsList.js.map +1 -0
  872. package/dist/node_modules/@base-ui/react/esm/tabs/list/TabsListContext.js +17 -0
  873. package/dist/node_modules/@base-ui/react/esm/tabs/list/TabsListContext.js.map +1 -0
  874. package/dist/node_modules/@base-ui/react/esm/tabs/panel/TabsPanel.js +79 -0
  875. package/dist/node_modules/@base-ui/react/esm/tabs/panel/TabsPanel.js.map +1 -0
  876. package/dist/node_modules/@base-ui/react/esm/tabs/panel/TabsPanelDataAttributes.js +11 -0
  877. package/dist/node_modules/@base-ui/react/esm/tabs/panel/TabsPanelDataAttributes.js.map +1 -0
  878. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRoot.js +156 -0
  879. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRoot.js.map +1 -0
  880. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRootContext.js +17 -0
  881. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRootContext.js.map +1 -0
  882. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRootDataAttributes.js +9 -0
  883. package/dist/node_modules/@base-ui/react/esm/tabs/root/TabsRootDataAttributes.js.map +1 -0
  884. package/dist/node_modules/@base-ui/react/esm/tabs/root/stateAttributesMapping.js +10 -0
  885. package/dist/node_modules/@base-ui/react/esm/tabs/root/stateAttributesMapping.js.map +1 -0
  886. package/dist/node_modules/@base-ui/react/esm/tabs/tab/TabsTab.js +154 -0
  887. package/dist/node_modules/@base-ui/react/esm/tabs/tab/TabsTab.js.map +1 -0
  888. package/dist/node_modules/@base-ui/react/esm/toggle/Toggle.js +92 -0
  889. package/dist/node_modules/@base-ui/react/esm/toggle/Toggle.js.map +1 -0
  890. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroup.js +106 -0
  891. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroup.js.map +1 -0
  892. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroupContext.js +17 -0
  893. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroupContext.js.map +1 -0
  894. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroupDataAttributes.js +10 -0
  895. package/dist/node_modules/@base-ui/react/esm/toggle-group/ToggleGroupDataAttributes.js.map +1 -0
  896. package/dist/node_modules/@base-ui/react/esm/toolbar/root/ToolbarRootContext.js +13 -0
  897. package/dist/node_modules/@base-ui/react/esm/toolbar/root/ToolbarRootContext.js.map +1 -0
  898. package/dist/node_modules/@base-ui/react/esm/tooltip/arrow/TooltipArrow.js +45 -0
  899. package/dist/node_modules/@base-ui/react/esm/tooltip/arrow/TooltipArrow.js.map +1 -0
  900. package/dist/node_modules/@base-ui/react/esm/tooltip/popup/TooltipPopup.js +93 -0
  901. package/dist/node_modules/@base-ui/react/esm/tooltip/popup/TooltipPopup.js.map +1 -0
  902. package/dist/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortal.js +30 -0
  903. package/dist/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortal.js.map +1 -0
  904. package/dist/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortalContext.js +16 -0
  905. package/dist/node_modules/@base-ui/react/esm/tooltip/portal/TooltipPortalContext.js.map +1 -0
  906. package/dist/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositioner.js +100 -0
  907. package/dist/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositioner.js.map +1 -0
  908. package/dist/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositionerContext.js +17 -0
  909. package/dist/node_modules/@base-ui/react/esm/tooltip/positioner/TooltipPositionerContext.js.map +1 -0
  910. package/dist/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProvider.js +33 -0
  911. package/dist/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProvider.js.map +1 -0
  912. package/dist/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProviderContext.js +11 -0
  913. package/dist/node_modules/@base-ui/react/esm/tooltip/provider/TooltipProviderContext.js.map +1 -0
  914. package/dist/node_modules/@base-ui/react/esm/tooltip/root/TooltipRoot.js +128 -0
  915. package/dist/node_modules/@base-ui/react/esm/tooltip/root/TooltipRoot.js.map +1 -0
  916. package/dist/node_modules/@base-ui/react/esm/tooltip/root/TooltipRootContext.js +17 -0
  917. package/dist/node_modules/@base-ui/react/esm/tooltip/root/TooltipRootContext.js.map +1 -0
  918. package/dist/node_modules/@base-ui/react/esm/tooltip/store/TooltipStore.js +96 -0
  919. package/dist/node_modules/@base-ui/react/esm/tooltip/store/TooltipStore.js.map +1 -0
  920. package/dist/node_modules/@base-ui/react/esm/tooltip/trigger/TooltipTrigger.js +107 -0
  921. package/dist/node_modules/@base-ui/react/esm/tooltip/trigger/TooltipTrigger.js.map +1 -0
  922. package/dist/node_modules/@base-ui/react/esm/tooltip/utils/constants.js +5 -0
  923. package/dist/node_modules/@base-ui/react/esm/tooltip/utils/constants.js.map +1 -0
  924. package/dist/node_modules/@base-ui/react/esm/use-button/useButton.js +139 -0
  925. package/dist/node_modules/@base-ui/react/esm/use-button/useButton.js.map +1 -0
  926. package/dist/node_modules/@base-ui/react/esm/use-render/useRender.js +8 -0
  927. package/dist/node_modules/@base-ui/react/esm/use-render/useRender.js.map +1 -0
  928. package/dist/node_modules/@base-ui/react/esm/utils/FloatingPortalLite.js +34 -0
  929. package/dist/node_modules/@base-ui/react/esm/utils/FloatingPortalLite.js.map +1 -0
  930. package/dist/node_modules/@base-ui/react/esm/utils/FocusGuard.js +32 -0
  931. package/dist/node_modules/@base-ui/react/esm/utils/FocusGuard.js.map +1 -0
  932. package/dist/node_modules/@base-ui/react/esm/utils/InternalBackdrop.js +42 -0
  933. package/dist/node_modules/@base-ui/react/esm/utils/InternalBackdrop.js.map +1 -0
  934. package/dist/node_modules/@base-ui/react/esm/utils/adaptiveOriginMiddleware.js +78 -0
  935. package/dist/node_modules/@base-ui/react/esm/utils/adaptiveOriginMiddleware.js.map +1 -0
  936. package/dist/node_modules/@base-ui/react/esm/utils/areArraysEqual.js +7 -0
  937. package/dist/node_modules/@base-ui/react/esm/utils/areArraysEqual.js.map +1 -0
  938. package/dist/node_modules/@base-ui/react/esm/utils/clamp.js +7 -0
  939. package/dist/node_modules/@base-ui/react/esm/utils/clamp.js.map +1 -0
  940. package/dist/node_modules/@base-ui/react/esm/utils/collapsibleOpenStateMapping.js +31 -0
  941. package/dist/node_modules/@base-ui/react/esm/utils/collapsibleOpenStateMapping.js.map +1 -0
  942. package/dist/node_modules/@base-ui/react/esm/utils/constants.js +30 -0
  943. package/dist/node_modules/@base-ui/react/esm/utils/constants.js.map +1 -0
  944. package/dist/node_modules/@base-ui/react/esm/utils/createBaseUIEventDetails.js +39 -0
  945. package/dist/node_modules/@base-ui/react/esm/utils/createBaseUIEventDetails.js.map +1 -0
  946. package/dist/node_modules/@base-ui/react/esm/utils/formatNumber.js +26 -0
  947. package/dist/node_modules/@base-ui/react/esm/utils/formatNumber.js.map +1 -0
  948. package/dist/node_modules/@base-ui/react/esm/utils/getCssDimensions.js +23 -0
  949. package/dist/node_modules/@base-ui/react/esm/utils/getCssDimensions.js.map +1 -0
  950. package/dist/node_modules/@base-ui/react/esm/utils/getDisabledMountTransitionStyles.js +9 -0
  951. package/dist/node_modules/@base-ui/react/esm/utils/getDisabledMountTransitionStyles.js.map +1 -0
  952. package/dist/node_modules/@base-ui/react/esm/utils/getPseudoElementBounds.js +30 -0
  953. package/dist/node_modules/@base-ui/react/esm/utils/getPseudoElementBounds.js.map +1 -0
  954. package/dist/node_modules/@base-ui/react/esm/utils/getStateAttributesProps.js +23 -0
  955. package/dist/node_modules/@base-ui/react/esm/utils/getStateAttributesProps.js.map +1 -0
  956. package/dist/node_modules/@base-ui/react/esm/utils/hideMiddleware.js +23 -0
  957. package/dist/node_modules/@base-ui/react/esm/utils/hideMiddleware.js.map +1 -0
  958. package/dist/node_modules/@base-ui/react/esm/utils/interactions/useFocusWithDelay.js +65 -0
  959. package/dist/node_modules/@base-ui/react/esm/utils/interactions/useFocusWithDelay.js.map +1 -0
  960. package/dist/node_modules/@base-ui/react/esm/utils/itemEquality.js +40 -0
  961. package/dist/node_modules/@base-ui/react/esm/utils/itemEquality.js.map +1 -0
  962. package/dist/node_modules/@base-ui/react/esm/utils/popupStateMapping.js +68 -0
  963. package/dist/node_modules/@base-ui/react/esm/utils/popupStateMapping.js.map +1 -0
  964. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupStoreUtils.js +105 -0
  965. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupStoreUtils.js.map +1 -0
  966. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupTriggerMap.js +68 -0
  967. package/dist/node_modules/@base-ui/react/esm/utils/popups/popupTriggerMap.js.map +1 -0
  968. package/dist/node_modules/@base-ui/react/esm/utils/popups/store.js +51 -0
  969. package/dist/node_modules/@base-ui/react/esm/utils/popups/store.js.map +1 -0
  970. package/dist/node_modules/@base-ui/react/esm/utils/reason-parts.js +49 -0
  971. package/dist/node_modules/@base-ui/react/esm/utils/reason-parts.js.map +1 -0
  972. package/dist/node_modules/@base-ui/react/esm/utils/resolveClassName.js +7 -0
  973. package/dist/node_modules/@base-ui/react/esm/utils/resolveClassName.js.map +1 -0
  974. package/dist/node_modules/@base-ui/react/esm/utils/resolveRef.js +10 -0
  975. package/dist/node_modules/@base-ui/react/esm/utils/resolveRef.js.map +1 -0
  976. package/dist/node_modules/@base-ui/react/esm/utils/resolveStyle.js +7 -0
  977. package/dist/node_modules/@base-ui/react/esm/utils/resolveStyle.js.map +1 -0
  978. package/dist/node_modules/@base-ui/react/esm/utils/resolveValueLabel.js +77 -0
  979. package/dist/node_modules/@base-ui/react/esm/utils/resolveValueLabel.js.map +1 -0
  980. package/dist/node_modules/@base-ui/react/esm/utils/serializeValue.js +17 -0
  981. package/dist/node_modules/@base-ui/react/esm/utils/serializeValue.js.map +1 -0
  982. package/dist/node_modules/@base-ui/react/esm/utils/stateAttributesMapping.js +27 -0
  983. package/dist/node_modules/@base-ui/react/esm/utils/stateAttributesMapping.js.map +1 -0
  984. package/dist/node_modules/@base-ui/react/esm/utils/styles.js +14 -0
  985. package/dist/node_modules/@base-ui/react/esm/utils/styles.js.map +1 -0
  986. package/dist/node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js +360 -0
  987. package/dist/node_modules/@base-ui/react/esm/utils/useAnchorPositioning.js.map +1 -0
  988. package/dist/node_modules/@base-ui/react/esm/utils/useAnimationsFinished.js +50 -0
  989. package/dist/node_modules/@base-ui/react/esm/utils/useAnimationsFinished.js.map +1 -0
  990. package/dist/node_modules/@base-ui/react/esm/utils/useBaseUiId.js +9 -0
  991. package/dist/node_modules/@base-ui/react/esm/utils/useBaseUiId.js.map +1 -0
  992. package/dist/node_modules/@base-ui/react/esm/utils/useFocusableWhenDisabled.js +43 -0
  993. package/dist/node_modules/@base-ui/react/esm/utils/useFocusableWhenDisabled.js.map +1 -0
  994. package/dist/node_modules/@base-ui/react/esm/utils/useMixedToggleClickHander.js +38 -0
  995. package/dist/node_modules/@base-ui/react/esm/utils/useMixedToggleClickHander.js.map +1 -0
  996. package/dist/node_modules/@base-ui/react/esm/utils/useOpenChangeComplete.js +30 -0
  997. package/dist/node_modules/@base-ui/react/esm/utils/useOpenChangeComplete.js.map +1 -0
  998. package/dist/node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js +31 -0
  999. package/dist/node_modules/@base-ui/react/esm/utils/useOpenInteractionType.js.map +1 -0
  1000. package/dist/node_modules/@base-ui/react/esm/utils/usePopupAutoResize.js +136 -0
  1001. package/dist/node_modules/@base-ui/react/esm/utils/usePopupAutoResize.js.map +1 -0
  1002. package/dist/node_modules/@base-ui/react/esm/utils/useRenderElement.js +94 -0
  1003. package/dist/node_modules/@base-ui/react/esm/utils/useRenderElement.js.map +1 -0
  1004. package/dist/node_modules/@base-ui/react/esm/utils/useTransitionStatus.js +63 -0
  1005. package/dist/node_modules/@base-ui/react/esm/utils/useTransitionStatus.js.map +1 -0
  1006. package/dist/node_modules/@base-ui/react/esm/utils/useValueChanged.js +20 -0
  1007. package/dist/node_modules/@base-ui/react/esm/utils/useValueChanged.js.map +1 -0
  1008. package/dist/node_modules/@base-ui/react/esm/utils/valueToPercent.js +7 -0
  1009. package/dist/node_modules/@base-ui/react/esm/utils/valueToPercent.js.map +1 -0
  1010. package/dist/node_modules/@base-ui/utils/esm/detectBrowser.js +66 -0
  1011. package/dist/node_modules/@base-ui/utils/esm/detectBrowser.js.map +1 -0
  1012. package/dist/node_modules/@base-ui/utils/esm/empty.js +10 -0
  1013. package/dist/node_modules/@base-ui/utils/esm/empty.js.map +1 -0
  1014. package/dist/node_modules/@base-ui/utils/esm/error.js +17 -0
  1015. package/dist/node_modules/@base-ui/utils/esm/error.js.map +1 -0
  1016. package/dist/node_modules/@base-ui/utils/esm/formatErrorMessage.js +9 -0
  1017. package/dist/node_modules/@base-ui/utils/esm/formatErrorMessage.js.map +1 -0
  1018. package/dist/node_modules/@base-ui/utils/esm/getReactElementRef.js +14 -0
  1019. package/dist/node_modules/@base-ui/utils/esm/getReactElementRef.js.map +1 -0
  1020. package/dist/node_modules/@base-ui/utils/esm/inertValue.js +11 -0
  1021. package/dist/node_modules/@base-ui/utils/esm/inertValue.js.map +1 -0
  1022. package/dist/node_modules/@base-ui/utils/esm/isElementDisabled.js +7 -0
  1023. package/dist/node_modules/@base-ui/utils/esm/isElementDisabled.js.map +1 -0
  1024. package/dist/node_modules/@base-ui/utils/esm/isMouseWithinBounds.js +9 -0
  1025. package/dist/node_modules/@base-ui/utils/esm/isMouseWithinBounds.js.map +1 -0
  1026. package/dist/node_modules/@base-ui/utils/esm/mergeObjects.js +19 -0
  1027. package/dist/node_modules/@base-ui/utils/esm/mergeObjects.js.map +1 -0
  1028. package/dist/node_modules/@base-ui/utils/esm/owner.js +7 -0
  1029. package/dist/node_modules/@base-ui/utils/esm/owner.js.map +1 -0
  1030. package/dist/node_modules/@base-ui/utils/esm/reactVersion.js +9 -0
  1031. package/dist/node_modules/@base-ui/utils/esm/reactVersion.js.map +1 -0
  1032. package/dist/node_modules/@base-ui/utils/esm/safeReact.js +8 -0
  1033. package/dist/node_modules/@base-ui/utils/esm/safeReact.js.map +1 -0
  1034. package/dist/node_modules/@base-ui/utils/esm/store/ReactStore.js +247 -0
  1035. package/dist/node_modules/@base-ui/utils/esm/store/ReactStore.js.map +1 -0
  1036. package/dist/node_modules/@base-ui/utils/esm/store/Store.js +96 -0
  1037. package/dist/node_modules/@base-ui/utils/esm/store/Store.js.map +1 -0
  1038. package/dist/node_modules/@base-ui/utils/esm/store/createSelector.js +25 -0
  1039. package/dist/node_modules/@base-ui/utils/esm/store/createSelector.js.map +1 -0
  1040. package/dist/node_modules/@base-ui/utils/esm/store/useStore.js +20 -0
  1041. package/dist/node_modules/@base-ui/utils/esm/store/useStore.js.map +1 -0
  1042. package/dist/node_modules/@base-ui/utils/esm/useAnimationFrame.js +94 -0
  1043. package/dist/node_modules/@base-ui/utils/esm/useAnimationFrame.js.map +1 -0
  1044. package/dist/node_modules/@base-ui/utils/esm/useControlled.js +39 -0
  1045. package/dist/node_modules/@base-ui/utils/esm/useControlled.js.map +1 -0
  1046. package/dist/node_modules/@base-ui/utils/esm/useEnhancedClickHandler.js +30 -0
  1047. package/dist/node_modules/@base-ui/utils/esm/useEnhancedClickHandler.js.map +1 -0
  1048. package/dist/node_modules/@base-ui/utils/esm/useId.js +27 -0
  1049. package/dist/node_modules/@base-ui/utils/esm/useId.js.map +1 -0
  1050. package/dist/node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js +9 -0
  1051. package/dist/node_modules/@base-ui/utils/esm/useIsoLayoutEffect.js.map +1 -0
  1052. package/dist/node_modules/@base-ui/utils/esm/useMergedRefs.js +91 -0
  1053. package/dist/node_modules/@base-ui/utils/esm/useMergedRefs.js.map +1 -0
  1054. package/dist/node_modules/@base-ui/utils/esm/useOnFirstRender.js +12 -0
  1055. package/dist/node_modules/@base-ui/utils/esm/useOnFirstRender.js.map +1 -0
  1056. package/dist/node_modules/@base-ui/utils/esm/useOnMount.js +10 -0
  1057. package/dist/node_modules/@base-ui/utils/esm/useOnMount.js.map +1 -0
  1058. package/dist/node_modules/@base-ui/utils/esm/useRefWithInit.js +14 -0
  1059. package/dist/node_modules/@base-ui/utils/esm/useRefWithInit.js.map +1 -0
  1060. package/dist/node_modules/@base-ui/utils/esm/useScrollLock.js +181 -0
  1061. package/dist/node_modules/@base-ui/utils/esm/useScrollLock.js.map +1 -0
  1062. package/dist/node_modules/@base-ui/utils/esm/useStableCallback.js +35 -0
  1063. package/dist/node_modules/@base-ui/utils/esm/useStableCallback.js.map +1 -0
  1064. package/dist/node_modules/@base-ui/utils/esm/useTimeout.js +42 -0
  1065. package/dist/node_modules/@base-ui/utils/esm/useTimeout.js.map +1 -0
  1066. package/dist/node_modules/@base-ui/utils/esm/useValueAsRef.js +23 -0
  1067. package/dist/node_modules/@base-ui/utils/esm/useValueAsRef.js.map +1 -0
  1068. package/dist/node_modules/@base-ui/utils/esm/visuallyHidden.js +17 -0
  1069. package/dist/node_modules/@base-ui/utils/esm/visuallyHidden.js.map +1 -0
  1070. package/dist/node_modules/@base-ui/utils/esm/warn.js +17 -0
  1071. package/dist/node_modules/@base-ui/utils/esm/warn.js.map +1 -0
  1072. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +659 -0
  1073. package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js.map +1 -0
  1074. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +624 -0
  1075. package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js.map +1 -0
  1076. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js +262 -0
  1077. package/dist/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.js.map +1 -0
  1078. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js +174 -0
  1079. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.js.map +1 -0
  1080. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js +155 -0
  1081. package/dist/node_modules/@floating-ui/utils/dist/floating-ui.utils.js.map +1 -0
  1082. package/dist/node_modules/@radix-ui/primitive/dist/index.js +12 -0
  1083. package/dist/node_modules/@radix-ui/primitive/dist/index.js.map +1 -0
  1084. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js +40 -0
  1085. package/dist/node_modules/@radix-ui/react-compose-refs/dist/index.js.map +1 -0
  1086. package/dist/node_modules/@radix-ui/react-context/dist/index.js +80 -0
  1087. package/dist/node_modules/@radix-ui/react-context/dist/index.js.map +1 -0
  1088. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js +339 -0
  1089. package/dist/node_modules/@radix-ui/react-dialog/dist/index.js.map +1 -0
  1090. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js +214 -0
  1091. package/dist/node_modules/@radix-ui/react-dismissable-layer/dist/index.js.map +1 -0
  1092. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js +31 -0
  1093. package/dist/node_modules/@radix-ui/react-focus-guards/dist/index.js.map +1 -0
  1094. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js +209 -0
  1095. package/dist/node_modules/@radix-ui/react-focus-scope/dist/index.js.map +1 -0
  1096. package/dist/node_modules/@radix-ui/react-id/dist/index.js +15 -0
  1097. package/dist/node_modules/@radix-ui/react-id/dist/index.js.map +1 -0
  1098. package/dist/node_modules/@radix-ui/react-portal/dist/index.js +19 -0
  1099. package/dist/node_modules/@radix-ui/react-portal/dist/index.js.map +1 -0
  1100. package/dist/node_modules/@radix-ui/react-presence/dist/index.js +130 -0
  1101. package/dist/node_modules/@radix-ui/react-presence/dist/index.js.map +1 -0
  1102. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js +44 -0
  1103. package/dist/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  1104. package/dist/node_modules/@radix-ui/react-slot/dist/index.js +89 -0
  1105. package/dist/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  1106. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js +12 -0
  1107. package/dist/node_modules/@radix-ui/react-use-callback-ref/dist/index.js.map +1 -0
  1108. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js +70 -0
  1109. package/dist/node_modules/@radix-ui/react-use-controllable-state/dist/index.js.map +1 -0
  1110. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js +18 -0
  1111. package/dist/node_modules/@radix-ui/react-use-escape-keydown/dist/index.js.map +1 -0
  1112. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js +7 -0
  1113. package/dist/node_modules/@radix-ui/react-use-layout-effect/dist/index.js.map +1 -0
  1114. package/dist/node_modules/aria-hidden/dist/es2015/index.js +123 -0
  1115. package/dist/node_modules/aria-hidden/dist/es2015/index.js.map +1 -0
  1116. package/dist/node_modules/class-variance-authority/dist/index.js +46 -0
  1117. package/dist/node_modules/class-variance-authority/dist/index.js.map +1 -0
  1118. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  1119. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  1120. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.js +19 -0
  1121. package/dist/node_modules/cmdk/dist/chunk-NZJY6EH4.js.map +1 -0
  1122. package/dist/node_modules/cmdk/dist/index.js +314 -0
  1123. package/dist/node_modules/cmdk/dist/index.js.map +1 -0
  1124. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.js +40 -0
  1125. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-primitive/dist/index.js.map +1 -0
  1126. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.js +103 -0
  1127. package/dist/node_modules/cmdk/node_modules/@radix-ui/react-slot/dist/index.js.map +1 -0
  1128. package/dist/node_modules/get-nonce/dist/es2015/index.js +10 -0
  1129. package/dist/node_modules/get-nonce/dist/es2015/index.js.map +1 -0
  1130. package/dist/node_modules/lucide-react/dist/esm/Icon.js +36 -0
  1131. package/dist/node_modules/lucide-react/dist/esm/Icon.js.map +1 -0
  1132. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js +23 -0
  1133. package/dist/node_modules/lucide-react/dist/esm/createLucideIcon.js.map +1 -0
  1134. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js +15 -0
  1135. package/dist/node_modules/lucide-react/dist/esm/defaultAttributes.js.map +1 -0
  1136. package/dist/node_modules/lucide-react/dist/esm/icons/check.js +8 -0
  1137. package/dist/node_modules/lucide-react/dist/esm/icons/check.js.map +1 -0
  1138. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js +8 -0
  1139. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-down.js.map +1 -0
  1140. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js +8 -0
  1141. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-left.js.map +1 -0
  1142. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js +8 -0
  1143. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-right.js.map +1 -0
  1144. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js +8 -0
  1145. package/dist/node_modules/lucide-react/dist/esm/icons/chevron-up.js.map +1 -0
  1146. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.js +11 -0
  1147. package/dist/node_modules/lucide-react/dist/esm/icons/circle-check.js.map +1 -0
  1148. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js +8 -0
  1149. package/dist/node_modules/lucide-react/dist/esm/icons/circle.js.map +1 -0
  1150. package/dist/node_modules/lucide-react/dist/esm/icons/ellipsis.js +12 -0
  1151. package/dist/node_modules/lucide-react/dist/esm/icons/ellipsis.js.map +1 -0
  1152. package/dist/node_modules/lucide-react/dist/esm/icons/info.js +12 -0
  1153. package/dist/node_modules/lucide-react/dist/esm/icons/info.js.map +1 -0
  1154. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js +8 -0
  1155. package/dist/node_modules/lucide-react/dist/esm/icons/loader-circle.js.map +1 -0
  1156. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js +8 -0
  1157. package/dist/node_modules/lucide-react/dist/esm/icons/minus.js.map +1 -0
  1158. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js +12 -0
  1159. package/dist/node_modules/lucide-react/dist/esm/icons/monitor.js.map +1 -0
  1160. package/dist/node_modules/lucide-react/dist/esm/icons/moon.js +16 -0
  1161. package/dist/node_modules/lucide-react/dist/esm/icons/moon.js.map +1 -0
  1162. package/dist/node_modules/lucide-react/dist/esm/icons/octagon-x.js +18 -0
  1163. package/dist/node_modules/lucide-react/dist/esm/icons/octagon-x.js.map +1 -0
  1164. package/dist/node_modules/lucide-react/dist/esm/icons/panel-left.js +11 -0
  1165. package/dist/node_modules/lucide-react/dist/esm/icons/panel-left.js.map +1 -0
  1166. package/dist/node_modules/lucide-react/dist/esm/icons/search.js +11 -0
  1167. package/dist/node_modules/lucide-react/dist/esm/icons/search.js.map +1 -0
  1168. package/dist/node_modules/lucide-react/dist/esm/icons/sun.js +18 -0
  1169. package/dist/node_modules/lucide-react/dist/esm/icons/sun.js.map +1 -0
  1170. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.js +18 -0
  1171. package/dist/node_modules/lucide-react/dist/esm/icons/triangle-alert.js.map +1 -0
  1172. package/dist/node_modules/lucide-react/dist/esm/icons/x.js +11 -0
  1173. package/dist/node_modules/lucide-react/dist/esm/icons/x.js.map +1 -0
  1174. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js +27 -0
  1175. package/dist/node_modules/lucide-react/dist/esm/shared/src/utils.js.map +1 -0
  1176. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js +12 -0
  1177. package/dist/node_modules/react-remove-scroll/dist/es2015/Combination.js.map +1 -0
  1178. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js +181 -0
  1179. package/dist/node_modules/react-remove-scroll/dist/es2015/SideEffect.js.map +1 -0
  1180. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js +39 -0
  1181. package/dist/node_modules/react-remove-scroll/dist/es2015/UI.js.map +1 -0
  1182. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js +20 -0
  1183. package/dist/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js.map +1 -0
  1184. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js +103 -0
  1185. package/dist/node_modules/react-remove-scroll/dist/es2015/handleScroll.js.map +1 -0
  1186. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js +6 -0
  1187. package/dist/node_modules/react-remove-scroll/dist/es2015/medium.js.map +1 -0
  1188. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js +8 -0
  1189. package/dist/node_modules/react-remove-scroll/dist/es2015/sidecar.js.map +1 -0
  1190. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js +48 -0
  1191. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/component.js.map +1 -0
  1192. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js +11 -0
  1193. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/constants.js.map +1 -0
  1194. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js +38 -0
  1195. package/dist/node_modules/react-remove-scroll-bar/dist/es2015/utils.js.map +1 -0
  1196. package/dist/node_modules/react-resizable-panels/dist/react-resizable-panels.js +1736 -0
  1197. package/dist/node_modules/react-resizable-panels/dist/react-resizable-panels.js.map +1 -0
  1198. package/dist/node_modules/react-style-singleton/dist/es2015/component.js +14 -0
  1199. package/dist/node_modules/react-style-singleton/dist/es2015/component.js.map +1 -0
  1200. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js +17 -0
  1201. package/dist/node_modules/react-style-singleton/dist/es2015/hook.js.map +1 -0
  1202. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js +49 -0
  1203. package/dist/node_modules/react-style-singleton/dist/es2015/singleton.js.map +1 -0
  1204. package/dist/node_modules/reselect/dist/reselect.js +422 -0
  1205. package/dist/node_modules/reselect/dist/reselect.js.map +1 -0
  1206. package/dist/node_modules/sonner/dist/index.js +1088 -0
  1207. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  1208. package/dist/node_modules/tabbable/dist/index.esm.js +344 -0
  1209. package/dist/node_modules/tabbable/dist/index.esm.js.map +1 -0
  1210. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +3015 -0
  1211. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  1212. package/dist/node_modules/tslib/tslib.es6.js +40 -0
  1213. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  1214. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js +12 -0
  1215. package/dist/node_modules/use-callback-ref/dist/es2015/assignRef.js.map +1 -0
  1216. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js +36 -0
  1217. package/dist/node_modules/use-callback-ref/dist/es2015/useMergeRef.js.map +1 -0
  1218. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js +30 -0
  1219. package/dist/node_modules/use-callback-ref/dist/es2015/useRef.js.map +1 -0
  1220. package/dist/node_modules/use-sidecar/dist/es2015/exports.js +22 -0
  1221. package/dist/node_modules/use-sidecar/dist/es2015/exports.js.map +1 -0
  1222. package/dist/node_modules/use-sidecar/dist/es2015/medium.js +89 -0
  1223. package/dist/node_modules/use-sidecar/dist/es2015/medium.js.map +1 -0
  1224. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +73 -0
  1225. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
  1226. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +69 -0
  1227. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +1 -0
  1228. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +69 -0
  1229. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  1230. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +54 -0
  1231. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  1232. package/dist/node_modules/use-sync-external-store/shim/index.js +18 -0
  1233. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  1234. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +18 -0
  1235. package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
  1236. package/dist/node_modules/vaul/dist/index.js +1480 -0
  1237. package/dist/node_modules/vaul/dist/index.js.map +1 -0
  1238. package/package.json +313 -72
  1239. package/src/components/neynar/color-mode/color-mode-initializer.tsx +78 -0
  1240. package/src/components/neynar/color-mode/color-mode-toggle.tsx +215 -0
  1241. package/src/components/neynar/color-mode/index.ts +3 -0
  1242. package/src/components/neynar/color-mode/stories/color-mode-toggle.stories.tsx +342 -0
  1243. package/src/components/neynar/color-mode/use-color-mode.ts +307 -0
  1244. package/src/components/neynar/first-light/first-light-filters.tsx +110 -0
  1245. package/src/components/neynar/first-light/index.ts +1 -0
  1246. package/src/components/neynar/typography/blockquote.tsx +32 -0
  1247. package/src/components/neynar/typography/code.tsx +31 -0
  1248. package/src/components/neynar/typography/index.ts +19 -0
  1249. package/src/components/neynar/typography/stories/blockquote.stories.tsx +355 -0
  1250. package/src/components/neynar/typography/stories/code.stories.tsx +399 -0
  1251. package/src/components/neynar/typography/stories/text.stories.tsx +487 -0
  1252. package/src/components/neynar/typography/stories/title.stories.tsx +350 -0
  1253. package/src/components/neynar/typography/text.tsx +123 -0
  1254. package/src/components/neynar/typography/title.tsx +86 -0
  1255. package/src/components/ui/accordion.tsx +57 -319
  1256. package/src/components/ui/alert-dialog.tsx +118 -637
  1257. package/src/components/ui/alert.tsx +47 -288
  1258. package/src/components/ui/aspect-ratio.tsx +20 -147
  1259. package/src/components/ui/avatar.tsx +97 -390
  1260. package/src/components/ui/badge.tsx +37 -192
  1261. package/src/components/ui/breadcrumb.tsx +66 -572
  1262. package/src/components/ui/button-group.tsx +50 -470
  1263. package/src/components/ui/button.tsx +48 -252
  1264. package/src/components/ui/calendar.tsx +41 -996
  1265. package/src/components/ui/card.tsx +60 -481
  1266. package/src/components/ui/carousel.tsx +44 -821
  1267. package/src/components/ui/chart.tsx +159 -782
  1268. package/src/components/ui/checkbox.tsx +11 -228
  1269. package/src/components/ui/collapsible.tsx +26 -441
  1270. package/src/components/ui/combobox.tsx +352 -552
  1271. package/src/components/ui/command.tsx +94 -841
  1272. package/src/components/ui/context-menu.tsx +175 -1079
  1273. package/src/components/ui/dialog.tsx +102 -565
  1274. package/src/components/ui/drawer.tsx +61 -655
  1275. package/src/components/ui/dropdown-menu.tsx +206 -1012
  1276. package/src/components/ui/empty.tsx +55 -704
  1277. package/src/components/ui/field.tsx +140 -327
  1278. package/src/components/ui/hover-card.tsx +50 -407
  1279. package/src/components/ui/input-group.tsx +76 -678
  1280. package/src/components/ui/input-otp.tsx +113 -0
  1281. package/src/components/ui/input.tsx +9 -250
  1282. package/src/components/ui/item.tsx +109 -798
  1283. package/src/components/ui/kbd.tsx +16 -153
  1284. package/src/components/ui/label.tsx +9 -183
  1285. package/src/components/ui/menubar.tsx +171 -910
  1286. package/src/components/ui/navigation-menu.tsx +78 -759
  1287. package/src/components/ui/pagination.tsx +50 -828
  1288. package/src/components/ui/popover.tsx +94 -292
  1289. package/src/components/ui/progress.tsx +91 -174
  1290. package/src/components/ui/radio-group.tsx +29 -367
  1291. package/src/components/ui/resizable.tsx +39 -393
  1292. package/src/components/ui/scroll-area.tsx +74 -407
  1293. package/src/components/ui/select.tsx +124 -837
  1294. package/src/components/ui/separator.tsx +8 -186
  1295. package/src/components/ui/sheet.tsx +80 -701
  1296. package/src/components/ui/sidebar.tsx +307 -2095
  1297. package/src/components/ui/skeleton.tsx +6 -145
  1298. package/src/components/ui/slider.tsx +45 -156
  1299. package/src/components/ui/sonner.tsx +56 -624
  1300. package/src/components/ui/spinner.tsx +7 -196
  1301. package/src/components/ui/stories/accordion.stories.tsx +609 -345
  1302. package/src/components/ui/stories/alert-dialog.stories.tsx +737 -463
  1303. package/src/components/ui/stories/alert.stories.tsx +348 -196
  1304. package/src/components/ui/stories/aspect-ratio.stories.tsx +617 -156
  1305. package/src/components/ui/stories/avatar.stories.tsx +471 -245
  1306. package/src/components/ui/stories/badge.stories.tsx +431 -204
  1307. package/src/components/ui/stories/breadcrumb.stories.tsx +610 -424
  1308. package/src/components/ui/stories/button-group.stories.tsx +570 -211
  1309. package/src/components/ui/stories/button.stories.tsx +324 -198
  1310. package/src/components/ui/stories/calendar.stories.tsx +525 -302
  1311. package/src/components/ui/stories/card.stories.tsx +670 -233
  1312. package/src/components/ui/stories/carousel.stories.tsx +440 -219
  1313. package/src/components/ui/stories/chart.stories.tsx +637 -337
  1314. package/src/components/ui/stories/checkbox.stories.tsx +515 -239
  1315. package/src/components/ui/stories/collapsible.stories.tsx +746 -218
  1316. package/src/components/ui/stories/combobox.stories.tsx +753 -256
  1317. package/src/components/ui/stories/command.stories.tsx +423 -514
  1318. package/src/components/ui/stories/context-menu.stories.tsx +841 -318
  1319. package/src/components/ui/stories/dialog.stories.tsx +607 -450
  1320. package/src/components/ui/stories/drawer.stories.tsx +690 -269
  1321. package/src/components/ui/stories/dropdown-menu.stories.tsx +738 -282
  1322. package/src/components/ui/stories/empty.stories.tsx +501 -251
  1323. package/src/components/ui/stories/field.stories.tsx +731 -372
  1324. package/src/components/ui/stories/hover-card.stories.tsx +808 -271
  1325. package/src/components/ui/stories/input-group.stories.tsx +761 -393
  1326. package/src/components/ui/stories/input-otp.stories.tsx +802 -0
  1327. package/src/components/ui/stories/input.stories.tsx +494 -223
  1328. package/src/components/ui/stories/item.stories.tsx +794 -446
  1329. package/src/components/ui/stories/kbd.stories.tsx +516 -346
  1330. package/src/components/ui/stories/label.stories.tsx +529 -211
  1331. package/src/components/ui/stories/menubar.stories.tsx +858 -631
  1332. package/src/components/ui/stories/navigation-menu.stories.tsx +910 -465
  1333. package/src/components/ui/stories/pagination.stories.tsx +454 -451
  1334. package/src/components/ui/stories/popover.stories.tsx +595 -287
  1335. package/src/components/ui/stories/progress.stories.tsx +407 -186
  1336. package/src/components/ui/stories/radio-group.stories.tsx +517 -344
  1337. package/src/components/ui/stories/resizable.stories.tsx +439 -354
  1338. package/src/components/ui/stories/scroll-area.stories.tsx +679 -141
  1339. package/src/components/ui/stories/select.stories.tsx +572 -306
  1340. package/src/components/ui/stories/separator.stories.tsx +498 -148
  1341. package/src/components/ui/stories/sheet.stories.tsx +539 -393
  1342. package/src/components/ui/stories/sidebar.stories.tsx +474 -625
  1343. package/src/components/ui/stories/skeleton.stories.tsx +322 -171
  1344. package/src/components/ui/stories/slider.stories.tsx +407 -257
  1345. package/src/components/ui/stories/sonner.stories.tsx +496 -332
  1346. package/src/components/ui/stories/spinner.stories.tsx +398 -270
  1347. package/src/components/ui/stories/switch.stories.tsx +464 -161
  1348. package/src/components/ui/stories/table.stories.tsx +783 -465
  1349. package/src/components/ui/stories/tabs.stories.tsx +512 -465
  1350. package/src/components/ui/stories/textarea.stories.tsx +422 -198
  1351. package/src/components/ui/stories/toggle-group.stories.tsx +412 -255
  1352. package/src/components/ui/stories/toggle.stories.tsx +348 -272
  1353. package/src/components/ui/stories/tooltip.stories.tsx +469 -386
  1354. package/src/components/ui/switch.tsx +14 -124
  1355. package/src/components/ui/table.tsx +49 -472
  1356. package/src/components/ui/tabs.tsx +64 -357
  1357. package/src/components/ui/textarea.tsx +10 -226
  1358. package/src/components/ui/toggle-group.tsx +50 -345
  1359. package/src/components/ui/toggle.tsx +19 -175
  1360. package/src/components/ui/tooltip.tsx +58 -421
  1361. package/src/hooks/use-mobile.ts +24 -78
  1362. package/src/lib/utils.ts +16 -47
  1363. package/src/lib/variants.ts +240 -0
  1364. package/src/styles/styles.css +94 -0
  1365. package/src/styles/themes/first-light.css +341 -0
  1366. package/src/styles/themes/purple-dawn.css +133 -0
  1367. package/.llm/accordion-content.llm.md +0 -67
  1368. package/.llm/accordion-item.llm.md +0 -61
  1369. package/.llm/accordion-trigger.llm.md +0 -69
  1370. package/.llm/accordion.llm.md +0 -88
  1371. package/.llm/alert-description.llm.md +0 -78
  1372. package/.llm/alert-dialog-action.llm.md +0 -51
  1373. package/.llm/alert-dialog-cancel.llm.md +0 -48
  1374. package/.llm/alert-dialog-content.llm.md +0 -88
  1375. package/.llm/alert-dialog-description.llm.md +0 -53
  1376. package/.llm/alert-dialog-footer.llm.md +0 -41
  1377. package/.llm/alert-dialog-header.llm.md +0 -39
  1378. package/.llm/alert-dialog-overlay.llm.md +0 -44
  1379. package/.llm/alert-dialog-portal.llm.md +0 -41
  1380. package/.llm/alert-dialog-title.llm.md +0 -46
  1381. package/.llm/alert-dialog-trigger.llm.md +0 -40
  1382. package/.llm/alert-dialog.llm.md +0 -80
  1383. package/.llm/alert-title.llm.md +0 -48
  1384. package/.llm/alert.llm.md +0 -92
  1385. package/.llm/aspect-ratio.llm.md +0 -41
  1386. package/.llm/avatar-fallback.llm.md +0 -41
  1387. package/.llm/avatar-image.llm.md +0 -48
  1388. package/.llm/avatar.llm.md +0 -35
  1389. package/.llm/badge.llm.md +0 -117
  1390. package/.llm/blockquote.llm.md +0 -55
  1391. package/.llm/body-text-large.llm.md +0 -49
  1392. package/.llm/body-text-small.llm.md +0 -49
  1393. package/.llm/body-text.llm.md +0 -52
  1394. package/.llm/breadcrumb-ellipsis.llm.md +0 -73
  1395. package/.llm/breadcrumb-item.llm.md +0 -53
  1396. package/.llm/breadcrumb-link.llm.md +0 -84
  1397. package/.llm/breadcrumb-list.llm.md +0 -54
  1398. package/.llm/breadcrumb-page.llm.md +0 -52
  1399. package/.llm/breadcrumb-separator.llm.md +0 -60
  1400. package/.llm/breadcrumb.llm.md +0 -110
  1401. package/.llm/button-group-separator.llm.md +0 -53
  1402. package/.llm/button-group-text.llm.md +0 -56
  1403. package/.llm/button-group.llm.md +0 -81
  1404. package/.llm/button.llm.md +0 -281
  1405. package/.llm/calendar-day-button.llm.md +0 -57
  1406. package/.llm/calendar.llm.md +0 -340
  1407. package/.llm/caption.llm.md +0 -48
  1408. package/.llm/card-action.llm.md +0 -64
  1409. package/.llm/card-content.llm.md +0 -48
  1410. package/.llm/card-description.llm.md +0 -46
  1411. package/.llm/card-footer.llm.md +0 -56
  1412. package/.llm/card-header.llm.md +0 -53
  1413. package/.llm/card-title.llm.md +0 -43
  1414. package/.llm/card.llm.md +0 -100
  1415. package/.llm/carousel-content.llm.md +0 -77
  1416. package/.llm/carousel-item.llm.md +0 -96
  1417. package/.llm/carousel-next.llm.md +0 -95
  1418. package/.llm/carousel-previous.llm.md +0 -95
  1419. package/.llm/carousel.llm.md +0 -211
  1420. package/.llm/chart-config.llm.md +0 -71
  1421. package/.llm/chart-container.llm.md +0 -148
  1422. package/.llm/chart-legend-content.llm.md +0 -85
  1423. package/.llm/chart-legend.llm.md +0 -144
  1424. package/.llm/chart-style.llm.md +0 -28
  1425. package/.llm/chart-tooltip-content.llm.md +0 -149
  1426. package/.llm/chart-tooltip.llm.md +0 -184
  1427. package/.llm/checkbox.llm.md +0 -100
  1428. package/.llm/cn.llm.md +0 -46
  1429. package/.llm/code.llm.md +0 -45
  1430. package/.llm/collapsible-content.llm.md +0 -109
  1431. package/.llm/collapsible-trigger.llm.md +0 -75
  1432. package/.llm/collapsible.llm.md +0 -109
  1433. package/.llm/combobox-option.llm.md +0 -53
  1434. package/.llm/combobox.llm.md +0 -208
  1435. package/.llm/command-dialog.llm.md +0 -112
  1436. package/.llm/command-empty.llm.md +0 -63
  1437. package/.llm/command-group.llm.md +0 -83
  1438. package/.llm/command-input.llm.md +0 -82
  1439. package/.llm/command-item.llm.md +0 -97
  1440. package/.llm/command-list.llm.md +0 -53
  1441. package/.llm/command-loading.llm.md +0 -48
  1442. package/.llm/command-separator.llm.md +0 -44
  1443. package/.llm/command-shortcut.llm.md +0 -63
  1444. package/.llm/command.llm.md +0 -147
  1445. package/.llm/container.llm.md +0 -236
  1446. package/.llm/context-menu-checkbox-item.llm.md +0 -97
  1447. package/.llm/context-menu-content.llm.md +0 -91
  1448. package/.llm/context-menu-group.llm.md +0 -61
  1449. package/.llm/context-menu-item.llm.md +0 -94
  1450. package/.llm/context-menu-label.llm.md +0 -60
  1451. package/.llm/context-menu-portal.llm.md +0 -49
  1452. package/.llm/context-menu-radio-group.llm.md +0 -66
  1453. package/.llm/context-menu-radio-item.llm.md +0 -76
  1454. package/.llm/context-menu-separator.llm.md +0 -51
  1455. package/.llm/context-menu-shortcut.llm.md +0 -57
  1456. package/.llm/context-menu-sub-content.llm.md +0 -90
  1457. package/.llm/context-menu-sub-trigger.llm.md +0 -73
  1458. package/.llm/context-menu-sub.llm.md +0 -61
  1459. package/.llm/context-menu-trigger.llm.md +0 -53
  1460. package/.llm/context-menu.llm.md +0 -103
  1461. package/.llm/date-picker.llm.md +0 -90
  1462. package/.llm/dialog-close.llm.md +0 -61
  1463. package/.llm/dialog-content.llm.md +0 -128
  1464. package/.llm/dialog-description.llm.md +0 -44
  1465. package/.llm/dialog-footer.llm.md +0 -38
  1466. package/.llm/dialog-header.llm.md +0 -40
  1467. package/.llm/dialog-overlay.llm.md +0 -57
  1468. package/.llm/dialog-portal.llm.md +0 -47
  1469. package/.llm/dialog-title.llm.md +0 -41
  1470. package/.llm/dialog-trigger.llm.md +0 -51
  1471. package/.llm/dialog.llm.md +0 -113
  1472. package/.llm/drawer-close.llm.md +0 -53
  1473. package/.llm/drawer-content.llm.md +0 -58
  1474. package/.llm/drawer-description.llm.md +0 -54
  1475. package/.llm/drawer-footer.llm.md +0 -67
  1476. package/.llm/drawer-header.llm.md +0 -60
  1477. package/.llm/drawer-overlay.llm.md +0 -40
  1478. package/.llm/drawer-portal.llm.md +0 -42
  1479. package/.llm/drawer-title.llm.md +0 -51
  1480. package/.llm/drawer-trigger.llm.md +0 -44
  1481. package/.llm/drawer.llm.md +0 -194
  1482. package/.llm/dropdown-menu-checkbox-item.llm.md +0 -111
  1483. package/.llm/dropdown-menu-content.llm.md +0 -109
  1484. package/.llm/dropdown-menu-group.llm.md +0 -38
  1485. package/.llm/dropdown-menu-item.llm.md +0 -94
  1486. package/.llm/dropdown-menu-label.llm.md +0 -66
  1487. package/.llm/dropdown-menu-portal.llm.md +0 -32
  1488. package/.llm/dropdown-menu-radio-group.llm.md +0 -73
  1489. package/.llm/dropdown-menu-radio-item.llm.md +0 -92
  1490. package/.llm/dropdown-menu-separator.llm.md +0 -55
  1491. package/.llm/dropdown-menu-shortcut.llm.md +0 -74
  1492. package/.llm/dropdown-menu-sub-content.llm.md +0 -80
  1493. package/.llm/dropdown-menu-sub-trigger.llm.md +0 -84
  1494. package/.llm/dropdown-menu-sub.llm.md +0 -74
  1495. package/.llm/dropdown-menu-trigger.llm.md +0 -48
  1496. package/.llm/dropdown-menu.llm.md +0 -120
  1497. package/.llm/empty-content.llm.md +0 -103
  1498. package/.llm/empty-description.llm.md +0 -70
  1499. package/.llm/empty-header.llm.md +0 -64
  1500. package/.llm/empty-media.llm.md +0 -81
  1501. package/.llm/empty-state.llm.md +0 -174
  1502. package/.llm/empty-title.llm.md +0 -54
  1503. package/.llm/empty.llm.md +0 -158
  1504. package/.llm/field-content.llm.md +0 -28
  1505. package/.llm/field-description.llm.md +0 -28
  1506. package/.llm/field-error.llm.md +0 -41
  1507. package/.llm/field-group.llm.md +0 -84
  1508. package/.llm/field-label.llm.md +0 -28
  1509. package/.llm/field-legend.llm.md +0 -77
  1510. package/.llm/field-separator.llm.md +0 -35
  1511. package/.llm/field-set.llm.md +0 -80
  1512. package/.llm/field-title.llm.md +0 -28
  1513. package/.llm/field.llm.md +0 -35
  1514. package/.llm/hover-card-content.llm.md +0 -167
  1515. package/.llm/hover-card-trigger.llm.md +0 -65
  1516. package/.llm/hover-card.llm.md +0 -121
  1517. package/.llm/input-group-addon.llm.md +0 -91
  1518. package/.llm/input-group-button.llm.md +0 -120
  1519. package/.llm/input-group-input.llm.md +0 -145
  1520. package/.llm/input-group-text.llm.md +0 -75
  1521. package/.llm/input-group-textarea.llm.md +0 -157
  1522. package/.llm/input-group.llm.md +0 -108
  1523. package/.llm/input.llm.md +0 -319
  1524. package/.llm/item-actions.llm.md +0 -77
  1525. package/.llm/item-content.llm.md +0 -73
  1526. package/.llm/item-description.llm.md +0 -61
  1527. package/.llm/item-footer.llm.md +0 -68
  1528. package/.llm/item-group.llm.md +0 -73
  1529. package/.llm/item-header.llm.md +0 -66
  1530. package/.llm/item-media.llm.md +0 -75
  1531. package/.llm/item-separator.llm.md +0 -80
  1532. package/.llm/item-title.llm.md +0 -59
  1533. package/.llm/item.llm.md +0 -115
  1534. package/.llm/kbd-group.llm.md +0 -71
  1535. package/.llm/kbd.llm.md +0 -71
  1536. package/.llm/label.llm.md +0 -145
  1537. package/.llm/menubar-checkbox-item.llm.md +0 -66
  1538. package/.llm/menubar-content.llm.md +0 -128
  1539. package/.llm/menubar-group.llm.md +0 -40
  1540. package/.llm/menubar-item.llm.md +0 -62
  1541. package/.llm/menubar-label.llm.md +0 -40
  1542. package/.llm/menubar-menu.llm.md +0 -32
  1543. package/.llm/menubar-portal.llm.md +0 -38
  1544. package/.llm/menubar-radio-group.llm.md +0 -39
  1545. package/.llm/menubar-radio-item.llm.md +0 -59
  1546. package/.llm/menubar-separator.llm.md +0 -35
  1547. package/.llm/menubar-shortcut.llm.md +0 -37
  1548. package/.llm/menubar-sub-content.llm.md +0 -127
  1549. package/.llm/menubar-sub-trigger.llm.md +0 -51
  1550. package/.llm/menubar-sub.llm.md +0 -53
  1551. package/.llm/menubar-trigger.llm.md +0 -37
  1552. package/.llm/menubar.llm.md +0 -115
  1553. package/.llm/navigation-menu-content.llm.md +0 -116
  1554. package/.llm/navigation-menu-indicator.llm.md +0 -68
  1555. package/.llm/navigation-menu-item.llm.md +0 -62
  1556. package/.llm/navigation-menu-link.llm.md +0 -109
  1557. package/.llm/navigation-menu-list.llm.md +0 -52
  1558. package/.llm/navigation-menu-trigger-style.llm.md +0 -22
  1559. package/.llm/navigation-menu-trigger.llm.md +0 -57
  1560. package/.llm/navigation-menu-viewport.llm.md +0 -51
  1561. package/.llm/navigation-menu.llm.md +0 -184
  1562. package/.llm/overline.llm.md +0 -51
  1563. package/.llm/page-title.llm.md +0 -52
  1564. package/.llm/pagination-content.llm.md +0 -60
  1565. package/.llm/pagination-ellipsis.llm.md +0 -107
  1566. package/.llm/pagination-item.llm.md +0 -59
  1567. package/.llm/pagination-link.llm.md +0 -150
  1568. package/.llm/pagination-next.llm.md +0 -115
  1569. package/.llm/pagination-previous.llm.md +0 -115
  1570. package/.llm/pagination.llm.md +0 -190
  1571. package/.llm/popover-anchor.llm.md +0 -53
  1572. package/.llm/popover-content.llm.md +0 -109
  1573. package/.llm/popover-trigger.llm.md +0 -54
  1574. package/.llm/popover.llm.md +0 -116
  1575. package/.llm/progress.llm.md +0 -76
  1576. package/.llm/radio-group-indicator.llm.md +0 -28
  1577. package/.llm/radio-group-item.llm.md +0 -40
  1578. package/.llm/radio-group.llm.md +0 -76
  1579. package/.llm/resizable-handle.llm.md +0 -156
  1580. package/.llm/resizable-panel-group.llm.md +0 -149
  1581. package/.llm/resizable-panel.llm.md +0 -157
  1582. package/.llm/scroll-area-corner.llm.md +0 -41
  1583. package/.llm/scroll-area-thumb.llm.md +0 -39
  1584. package/.llm/scroll-area-viewport.llm.md +0 -60
  1585. package/.llm/scroll-area.llm.md +0 -125
  1586. package/.llm/scroll-bar.llm.md +0 -78
  1587. package/.llm/sdk-items-registry.json +0 -2984
  1588. package/.llm/section-title.llm.md +0 -48
  1589. package/.llm/select-content.llm.md +0 -139
  1590. package/.llm/select-group.llm.md +0 -60
  1591. package/.llm/select-item.llm.md +0 -75
  1592. package/.llm/select-label.llm.md +0 -62
  1593. package/.llm/select-scroll-down-button.llm.md +0 -45
  1594. package/.llm/select-scroll-up-button.llm.md +0 -45
  1595. package/.llm/select-separator.llm.md +0 -59
  1596. package/.llm/select-trigger.llm.md +0 -66
  1597. package/.llm/select-value.llm.md +0 -67
  1598. package/.llm/select.llm.md +0 -159
  1599. package/.llm/separator.llm.md +0 -129
  1600. package/.llm/sheet-close.llm.md +0 -49
  1601. package/.llm/sheet-content.llm.md +0 -115
  1602. package/.llm/sheet-description.llm.md +0 -62
  1603. package/.llm/sheet-footer.llm.md +0 -64
  1604. package/.llm/sheet-header.llm.md +0 -52
  1605. package/.llm/sheet-title.llm.md +0 -53
  1606. package/.llm/sheet-trigger.llm.md +0 -46
  1607. package/.llm/sheet.llm.md +0 -126
  1608. package/.llm/sidebar-content.llm.md +0 -63
  1609. package/.llm/sidebar-footer.llm.md +0 -50
  1610. package/.llm/sidebar-group-action.llm.md +0 -60
  1611. package/.llm/sidebar-group-content.llm.md +0 -64
  1612. package/.llm/sidebar-group-label.llm.md +0 -53
  1613. package/.llm/sidebar-group.llm.md +0 -56
  1614. package/.llm/sidebar-header.llm.md +0 -67
  1615. package/.llm/sidebar-input.llm.md +0 -50
  1616. package/.llm/sidebar-inset.llm.md +0 -52
  1617. package/.llm/sidebar-menu-action.llm.md +0 -84
  1618. package/.llm/sidebar-menu-badge.llm.md +0 -60
  1619. package/.llm/sidebar-menu-button.llm.md +0 -103
  1620. package/.llm/sidebar-menu-item.llm.md +0 -75
  1621. package/.llm/sidebar-menu-skeleton.llm.md +0 -76
  1622. package/.llm/sidebar-menu-sub-button.llm.md +0 -85
  1623. package/.llm/sidebar-menu-sub-item.llm.md +0 -54
  1624. package/.llm/sidebar-menu-sub.llm.md +0 -74
  1625. package/.llm/sidebar-menu.llm.md +0 -65
  1626. package/.llm/sidebar-provider.llm.md +0 -79
  1627. package/.llm/sidebar-rail.llm.md +0 -34
  1628. package/.llm/sidebar-separator.llm.md +0 -57
  1629. package/.llm/sidebar-trigger.llm.md +0 -49
  1630. package/.llm/sidebar.llm.md +0 -129
  1631. package/.llm/skeleton.llm.md +0 -134
  1632. package/.llm/slider.llm.md +0 -173
  1633. package/.llm/spinner.llm.md +0 -182
  1634. package/.llm/stack.llm.md +0 -28
  1635. package/.llm/subsection-title.llm.md +0 -46
  1636. package/.llm/switch.llm.md +0 -76
  1637. package/.llm/table-body.llm.md +0 -36
  1638. package/.llm/table-caption.llm.md +0 -48
  1639. package/.llm/table-cell.llm.md +0 -53
  1640. package/.llm/table-footer.llm.md +0 -41
  1641. package/.llm/table-head.llm.md +0 -69
  1642. package/.llm/table-header.llm.md +0 -41
  1643. package/.llm/table-row.llm.md +0 -42
  1644. package/.llm/table.llm.md +0 -123
  1645. package/.llm/tabs-content.llm.md +0 -47
  1646. package/.llm/tabs-list.llm.md +0 -41
  1647. package/.llm/tabs-trigger.llm.md +0 -47
  1648. package/.llm/tabs.llm.md +0 -71
  1649. package/.llm/text-field.llm.md +0 -327
  1650. package/.llm/textarea.llm.md +0 -311
  1651. package/.llm/theme-preference.llm.md +0 -25
  1652. package/.llm/theme-toggle.llm.md +0 -57
  1653. package/.llm/theme.llm.md +0 -14
  1654. package/.llm/toaster.llm.md +0 -193
  1655. package/.llm/toggle-group-item.llm.md +0 -59
  1656. package/.llm/toggle-group.llm.md +0 -101
  1657. package/.llm/toggle.llm.md +0 -40
  1658. package/.llm/tooltip-content.llm.md +0 -185
  1659. package/.llm/tooltip-provider.llm.md +0 -68
  1660. package/.llm/tooltip-trigger.llm.md +0 -70
  1661. package/.llm/tooltip.llm.md +0 -129
  1662. package/.llm/use-carousel.llm.md +0 -55
  1663. package/.llm/use-command-state.llm.md +0 -32
  1664. package/.llm/use-is-mobile.llm.md +0 -73
  1665. package/.llm/use-sidebar.llm.md +0 -61
  1666. package/dist/components/ui/container.d.ts +0 -197
  1667. package/dist/components/ui/container.d.ts.map +0 -1
  1668. package/dist/components/ui/date-picker.d.ts +0 -172
  1669. package/dist/components/ui/date-picker.d.ts.map +0 -1
  1670. package/dist/components/ui/empty-state.d.ts +0 -206
  1671. package/dist/components/ui/empty-state.d.ts.map +0 -1
  1672. package/dist/components/ui/stack.d.ts +0 -334
  1673. package/dist/components/ui/stack.d.ts.map +0 -1
  1674. package/dist/components/ui/stories/accordion.stories.d.ts +0 -70
  1675. package/dist/components/ui/stories/accordion.stories.d.ts.map +0 -1
  1676. package/dist/components/ui/stories/alert-dialog.stories.d.ts +0 -38
  1677. package/dist/components/ui/stories/alert-dialog.stories.d.ts.map +0 -1
  1678. package/dist/components/ui/stories/alert.stories.d.ts +0 -47
  1679. package/dist/components/ui/stories/alert.stories.d.ts.map +0 -1
  1680. package/dist/components/ui/stories/aspect-ratio.stories.d.ts +0 -51
  1681. package/dist/components/ui/stories/aspect-ratio.stories.d.ts.map +0 -1
  1682. package/dist/components/ui/stories/avatar.stories.d.ts +0 -48
  1683. package/dist/components/ui/stories/avatar.stories.d.ts.map +0 -1
  1684. package/dist/components/ui/stories/badge.stories.d.ts +0 -63
  1685. package/dist/components/ui/stories/badge.stories.d.ts.map +0 -1
  1686. package/dist/components/ui/stories/breadcrumb.stories.d.ts +0 -26
  1687. package/dist/components/ui/stories/breadcrumb.stories.d.ts.map +0 -1
  1688. package/dist/components/ui/stories/button-group.stories.d.ts +0 -48
  1689. package/dist/components/ui/stories/button-group.stories.d.ts.map +0 -1
  1690. package/dist/components/ui/stories/button.stories.d.ts +0 -91
  1691. package/dist/components/ui/stories/button.stories.d.ts.map +0 -1
  1692. package/dist/components/ui/stories/calendar.stories.d.ts +0 -93
  1693. package/dist/components/ui/stories/calendar.stories.d.ts.map +0 -1
  1694. package/dist/components/ui/stories/card.stories.d.ts +0 -28
  1695. package/dist/components/ui/stories/card.stories.d.ts.map +0 -1
  1696. package/dist/components/ui/stories/carousel.stories.d.ts +0 -41
  1697. package/dist/components/ui/stories/carousel.stories.d.ts.map +0 -1
  1698. package/dist/components/ui/stories/chart.stories.d.ts +0 -50
  1699. package/dist/components/ui/stories/chart.stories.d.ts.map +0 -1
  1700. package/dist/components/ui/stories/checkbox.stories.d.ts +0 -71
  1701. package/dist/components/ui/stories/checkbox.stories.d.ts.map +0 -1
  1702. package/dist/components/ui/stories/cn.stories.d.ts +0 -19
  1703. package/dist/components/ui/stories/cn.stories.d.ts.map +0 -1
  1704. package/dist/components/ui/stories/collapsible.stories.d.ts +0 -50
  1705. package/dist/components/ui/stories/collapsible.stories.d.ts.map +0 -1
  1706. package/dist/components/ui/stories/colors.stories.d.ts +0 -30
  1707. package/dist/components/ui/stories/colors.stories.d.ts.map +0 -1
  1708. package/dist/components/ui/stories/combobox.stories.d.ts +0 -88
  1709. package/dist/components/ui/stories/combobox.stories.d.ts.map +0 -1
  1710. package/dist/components/ui/stories/command.stories.d.ts +0 -68
  1711. package/dist/components/ui/stories/command.stories.d.ts.map +0 -1
  1712. package/dist/components/ui/stories/container.stories.d.ts +0 -40
  1713. package/dist/components/ui/stories/container.stories.d.ts.map +0 -1
  1714. package/dist/components/ui/stories/context-menu.stories.d.ts +0 -31
  1715. package/dist/components/ui/stories/context-menu.stories.d.ts.map +0 -1
  1716. package/dist/components/ui/stories/date-picker.stories.d.ts +0 -66
  1717. package/dist/components/ui/stories/date-picker.stories.d.ts.map +0 -1
  1718. package/dist/components/ui/stories/dialog.stories.d.ts +0 -47
  1719. package/dist/components/ui/stories/dialog.stories.d.ts.map +0 -1
  1720. package/dist/components/ui/stories/drawer.stories.d.ts +0 -32
  1721. package/dist/components/ui/stories/drawer.stories.d.ts.map +0 -1
  1722. package/dist/components/ui/stories/dropdown-menu.stories.d.ts +0 -30
  1723. package/dist/components/ui/stories/dropdown-menu.stories.d.ts.map +0 -1
  1724. package/dist/components/ui/stories/empty-state.stories.d.ts +0 -73
  1725. package/dist/components/ui/stories/empty-state.stories.d.ts.map +0 -1
  1726. package/dist/components/ui/stories/empty.stories.d.ts +0 -38
  1727. package/dist/components/ui/stories/empty.stories.d.ts.map +0 -1
  1728. package/dist/components/ui/stories/field.stories.d.ts +0 -48
  1729. package/dist/components/ui/stories/field.stories.d.ts.map +0 -1
  1730. package/dist/components/ui/stories/hover-card.stories.d.ts +0 -34
  1731. package/dist/components/ui/stories/hover-card.stories.d.ts.map +0 -1
  1732. package/dist/components/ui/stories/input-group.stories.d.ts +0 -37
  1733. package/dist/components/ui/stories/input-group.stories.d.ts.map +0 -1
  1734. package/dist/components/ui/stories/input.stories.d.ts +0 -68
  1735. package/dist/components/ui/stories/input.stories.d.ts.map +0 -1
  1736. package/dist/components/ui/stories/item.stories.d.ts +0 -61
  1737. package/dist/components/ui/stories/item.stories.d.ts.map +0 -1
  1738. package/dist/components/ui/stories/kbd.stories.d.ts +0 -37
  1739. package/dist/components/ui/stories/kbd.stories.d.ts.map +0 -1
  1740. package/dist/components/ui/stories/label.stories.d.ts +0 -46
  1741. package/dist/components/ui/stories/label.stories.d.ts.map +0 -1
  1742. package/dist/components/ui/stories/menubar.stories.d.ts +0 -38
  1743. package/dist/components/ui/stories/menubar.stories.d.ts.map +0 -1
  1744. package/dist/components/ui/stories/navigation-menu.stories.d.ts +0 -43
  1745. package/dist/components/ui/stories/navigation-menu.stories.d.ts.map +0 -1
  1746. package/dist/components/ui/stories/pagination.stories.d.ts +0 -32
  1747. package/dist/components/ui/stories/pagination.stories.d.ts.map +0 -1
  1748. package/dist/components/ui/stories/popover.stories.d.ts +0 -35
  1749. package/dist/components/ui/stories/popover.stories.d.ts.map +0 -1
  1750. package/dist/components/ui/stories/progress.stories.d.ts +0 -37
  1751. package/dist/components/ui/stories/progress.stories.d.ts.map +0 -1
  1752. package/dist/components/ui/stories/radio-group.stories.d.ts +0 -75
  1753. package/dist/components/ui/stories/radio-group.stories.d.ts.map +0 -1
  1754. package/dist/components/ui/stories/resizable.stories.d.ts +0 -48
  1755. package/dist/components/ui/stories/resizable.stories.d.ts.map +0 -1
  1756. package/dist/components/ui/stories/scroll-area.stories.d.ts +0 -33
  1757. package/dist/components/ui/stories/scroll-area.stories.d.ts.map +0 -1
  1758. package/dist/components/ui/stories/select.stories.d.ts +0 -50
  1759. package/dist/components/ui/stories/select.stories.d.ts.map +0 -1
  1760. package/dist/components/ui/stories/separator.stories.d.ts +0 -57
  1761. package/dist/components/ui/stories/separator.stories.d.ts.map +0 -1
  1762. package/dist/components/ui/stories/sheet.stories.d.ts +0 -42
  1763. package/dist/components/ui/stories/sheet.stories.d.ts.map +0 -1
  1764. package/dist/components/ui/stories/sidebar.stories.d.ts +0 -59
  1765. package/dist/components/ui/stories/sidebar.stories.d.ts.map +0 -1
  1766. package/dist/components/ui/stories/skeleton.stories.d.ts +0 -41
  1767. package/dist/components/ui/stories/skeleton.stories.d.ts.map +0 -1
  1768. package/dist/components/ui/stories/slider.stories.d.ts +0 -98
  1769. package/dist/components/ui/stories/slider.stories.d.ts.map +0 -1
  1770. package/dist/components/ui/stories/sonner.stories.d.ts +0 -9
  1771. package/dist/components/ui/stories/sonner.stories.d.ts.map +0 -1
  1772. package/dist/components/ui/stories/spinner.stories.d.ts +0 -37
  1773. package/dist/components/ui/stories/spinner.stories.d.ts.map +0 -1
  1774. package/dist/components/ui/stories/stack.stories.d.ts +0 -38
  1775. package/dist/components/ui/stories/stack.stories.d.ts.map +0 -1
  1776. package/dist/components/ui/stories/switch.stories.d.ts +0 -70
  1777. package/dist/components/ui/stories/switch.stories.d.ts.map +0 -1
  1778. package/dist/components/ui/stories/table.stories.d.ts +0 -39
  1779. package/dist/components/ui/stories/table.stories.d.ts.map +0 -1
  1780. package/dist/components/ui/stories/tabs.stories.d.ts +0 -61
  1781. package/dist/components/ui/stories/tabs.stories.d.ts.map +0 -1
  1782. package/dist/components/ui/stories/text-field.stories.d.ts +0 -83
  1783. package/dist/components/ui/stories/text-field.stories.d.ts.map +0 -1
  1784. package/dist/components/ui/stories/textarea.stories.d.ts +0 -56
  1785. package/dist/components/ui/stories/textarea.stories.d.ts.map +0 -1
  1786. package/dist/components/ui/stories/theme-toggle.stories.d.ts +0 -70
  1787. package/dist/components/ui/stories/theme-toggle.stories.d.ts.map +0 -1
  1788. package/dist/components/ui/stories/theme.stories.d.ts +0 -50
  1789. package/dist/components/ui/stories/theme.stories.d.ts.map +0 -1
  1790. package/dist/components/ui/stories/toggle-group.stories.d.ts +0 -70
  1791. package/dist/components/ui/stories/toggle-group.stories.d.ts.map +0 -1
  1792. package/dist/components/ui/stories/toggle.stories.d.ts +0 -77
  1793. package/dist/components/ui/stories/toggle.stories.d.ts.map +0 -1
  1794. package/dist/components/ui/stories/tooltip.stories.d.ts +0 -36
  1795. package/dist/components/ui/stories/tooltip.stories.d.ts.map +0 -1
  1796. package/dist/components/ui/stories/typography.stories.d.ts +0 -36
  1797. package/dist/components/ui/stories/typography.stories.d.ts.map +0 -1
  1798. package/dist/components/ui/stories/use-mobile.stories.d.ts +0 -20
  1799. package/dist/components/ui/stories/use-mobile.stories.d.ts.map +0 -1
  1800. package/dist/components/ui/stories/use-theme.stories.d.ts +0 -23
  1801. package/dist/components/ui/stories/use-theme.stories.d.ts.map +0 -1
  1802. package/dist/components/ui/text-field.d.ts +0 -243
  1803. package/dist/components/ui/text-field.d.ts.map +0 -1
  1804. package/dist/components/ui/theme-toggle.d.ts +0 -227
  1805. package/dist/components/ui/theme-toggle.d.ts.map +0 -1
  1806. package/dist/components/ui/theme.d.ts +0 -194
  1807. package/dist/components/ui/theme.d.ts.map +0 -1
  1808. package/dist/components/ui/typography.d.ts +0 -344
  1809. package/dist/components/ui/typography.d.ts.map +0 -1
  1810. package/dist/hooks/use-theme.d.ts +0 -142
  1811. package/dist/hooks/use-theme.d.ts.map +0 -1
  1812. package/dist/index.d.ts +0 -64
  1813. package/dist/index.d.ts.map +0 -1
  1814. package/dist/index.js +0 -40730
  1815. package/dist/index.js.map +0 -1
  1816. package/dist/tsconfig.tsbuildinfo +0 -1
  1817. package/docs/llm/colors.md +0 -273
  1818. package/docs/llm/components/buttons.md +0 -68
  1819. package/docs/llm/components/cards.md +0 -53
  1820. package/docs/llm/components/display.md +0 -259
  1821. package/docs/llm/components/feedback.md +0 -82
  1822. package/docs/llm/components/forms.md +0 -184
  1823. package/docs/llm/components/layout.md +0 -228
  1824. package/docs/llm/components/menus.md +0 -70
  1825. package/docs/llm/components/navigation.md +0 -80
  1826. package/docs/llm/components/overlays.md +0 -83
  1827. package/docs/llm/components/tables.md +0 -73
  1828. package/docs/llm/components/typography.md +0 -203
  1829. package/docs/llm/components/utilities.md +0 -114
  1830. package/docs/llm/guide.md +0 -165
  1831. package/llms.txt +0 -298
  1832. package/src/components/ui/container.tsx +0 -266
  1833. package/src/components/ui/date-picker.tsx +0 -403
  1834. package/src/components/ui/empty-state.tsx +0 -305
  1835. package/src/components/ui/stack.tsx +0 -508
  1836. package/src/components/ui/stories/cn.stories.tsx +0 -432
  1837. package/src/components/ui/stories/colors.stories.tsx +0 -501
  1838. package/src/components/ui/stories/container.stories.tsx +0 -249
  1839. package/src/components/ui/stories/date-picker.stories.tsx +0 -377
  1840. package/src/components/ui/stories/empty-state.stories.tsx +0 -243
  1841. package/src/components/ui/stories/stack.stories.tsx +0 -221
  1842. package/src/components/ui/stories/text-field.stories.tsx +0 -279
  1843. package/src/components/ui/stories/theme-toggle.stories.tsx +0 -274
  1844. package/src/components/ui/stories/theme.stories.tsx +0 -411
  1845. package/src/components/ui/stories/typography.stories.tsx +0 -381
  1846. package/src/components/ui/stories/use-mobile.stories.tsx +0 -419
  1847. package/src/components/ui/stories/use-theme.stories.tsx +0 -530
  1848. package/src/components/ui/text-field.tsx +0 -351
  1849. package/src/components/ui/theme-toggle.tsx +0 -431
  1850. package/src/components/ui/theme.tsx +0 -247
  1851. package/src/components/ui/typography.tsx +0 -609
  1852. package/src/hooks/use-theme.ts +0 -319
  1853. package/src/index.ts +0 -84
  1854. package/src/styles/globals.css +0 -154
@@ -1,10 +1,10 @@
1
+ "use client";
2
+
1
3
  import * as React from "react";
2
- import { useCallback } from "react";
3
- import { Slot } from "@radix-ui/react-slot";
4
+ import { mergeProps } from "@base-ui/react/merge-props";
5
+ import { useRender } from "@base-ui/react/use-render";
4
6
  import { cva, type VariantProps } from "class-variance-authority";
5
- import { PanelLeftIcon } from "lucide-react";
6
7
 
7
- import { useIsMobile } from "@/hooks/use-mobile";
8
8
  import { cn } from "@/lib/utils";
9
9
  import { Button } from "@/components/ui/button";
10
10
  import { Input } from "@/components/ui/input";
@@ -20,9 +20,10 @@ import { Skeleton } from "@/components/ui/skeleton";
20
20
  import {
21
21
  Tooltip,
22
22
  TooltipContent,
23
- TooltipProvider,
24
23
  TooltipTrigger,
25
24
  } from "@/components/ui/tooltip";
25
+ import { useIsMobile } from "@/hooks/use-mobile";
26
+ import { PanelLeftIcon } from "lucide-react";
26
27
 
27
28
  const SIDEBAR_COOKIE_NAME = "sidebar_state";
28
29
  const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
@@ -31,366 +32,6 @@ const SIDEBAR_WIDTH_MOBILE = "18rem";
31
32
  const SIDEBAR_WIDTH_ICON = "3rem";
32
33
  const SIDEBAR_KEYBOARD_SHORTCUT = "b";
33
34
 
34
- /**
35
- * Context props for sidebar state management (Documentation only - NOT used in component implementation)
36
- * These types are for documentation generation and should not replace inferred context types
37
- */
38
- // eslint-disable-next-line unused-imports/no-unused-vars
39
- type SidebarContextDocsProps = {
40
- /** Current visual state of the sidebar */
41
- state: "expanded" | "collapsed";
42
- /** Whether sidebar is open on desktop */
43
- open: boolean;
44
- /** Function to control desktop sidebar open state */
45
- setOpen: (open: boolean) => void;
46
- /** Whether sidebar is open on mobile (sheet overlay) */
47
- openMobile: boolean;
48
- /** Function to control mobile sidebar open state */
49
- setOpenMobile: (open: boolean) => void;
50
- /** Whether current viewport is considered mobile */
51
- isMobile: boolean;
52
- /** Function to toggle sidebar state (responsive) */
53
- toggleSidebar: () => void;
54
- };
55
-
56
- /**
57
- * Props for SidebarProvider component (Documentation only - NOT used in component implementation)
58
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
59
- */
60
- // eslint-disable-next-line unused-imports/no-unused-vars
61
- type SidebarProviderDocsProps = {
62
- /** Initial open state when uncontrolled @default true */
63
- defaultOpen?: boolean;
64
- /** Controlled open state (makes component controlled) */
65
- open?: boolean;
66
- /** Callback fired when open state changes */
67
- onOpenChange?: (open: boolean) => void;
68
- /** Child components */
69
- children?: React.ReactNode;
70
- } & React.ComponentProps<"div">;
71
-
72
- /**
73
- * Props for Sidebar component (Documentation only - NOT used in component implementation)
74
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
75
- */
76
- // eslint-disable-next-line unused-imports/no-unused-vars
77
- type SidebarDocsProps = {
78
- /**
79
- * Which side of the screen the sidebar appears on @default "left"
80
- *
81
- * Controls the horizontal positioning and slide direction of the sidebar.
82
- * Affects the direction of collapse animations and the positioning of
83
- * the interactive rail component.
84
- */
85
- side?: "left" | "right";
86
- /** Visual appearance variant @default "sidebar" */
87
- variant?: "sidebar" | "floating" | "inset";
88
- /** Collapse behavior mode @default "offcanvas" */
89
- collapsible?: "offcanvas" | "icon" | "none";
90
- /** Additional CSS classes */
91
- className?: string;
92
- /** Sidebar content components */
93
- children?: React.ReactNode;
94
- } & React.ComponentProps<"div">;
95
-
96
- /**
97
- * Props for SidebarTrigger component (Documentation only - NOT used in component implementation)
98
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
99
- */
100
- // eslint-disable-next-line unused-imports/no-unused-vars
101
- type SidebarTriggerDocsProps = {
102
- /** Additional CSS classes */
103
- className?: string;
104
- /** Additional click handler called before toggle */
105
- onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
106
- } & Omit<React.ComponentProps<typeof Button>, "onClick">;
107
-
108
- /**
109
- * Props for SidebarRail component (Documentation only - NOT used in component implementation)
110
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
111
- */
112
- // eslint-disable-next-line unused-imports/no-unused-vars
113
- type SidebarRailDocsProps = {
114
- /** Additional CSS classes */
115
- className?: string;
116
- } & React.ComponentProps<"button">;
117
-
118
- /**
119
- * Props for SidebarInset component (Documentation only - NOT used in component implementation)
120
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
121
- */
122
- // eslint-disable-next-line unused-imports/no-unused-vars
123
- type SidebarInsetDocsProps = {
124
- /** Additional CSS classes */
125
- className?: string;
126
- } & React.ComponentProps<"main">;
127
-
128
- /**
129
- * Props for SidebarInput component (Documentation only - NOT used in component implementation)
130
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
131
- */
132
- // eslint-disable-next-line unused-imports/no-unused-vars
133
- type SidebarInputDocsProps = {
134
- /** Additional CSS classes */
135
- className?: string;
136
- } & React.ComponentProps<typeof Input>;
137
-
138
- /**
139
- * Props for SidebarHeader component (Documentation only - NOT used in component implementation)
140
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
141
- */
142
- // eslint-disable-next-line unused-imports/no-unused-vars
143
- type SidebarHeaderDocsProps = {
144
- /** Additional CSS classes */
145
- className?: string;
146
- } & React.ComponentProps<"div">;
147
-
148
- /**
149
- * Props for SidebarFooter component (Documentation only - NOT used in component implementation)
150
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
151
- */
152
- // eslint-disable-next-line unused-imports/no-unused-vars
153
- type SidebarFooterDocsProps = {
154
- /** Additional CSS classes */
155
- className?: string;
156
- } & React.ComponentProps<"div">;
157
-
158
- /**
159
- * Props for SidebarSeparator component (Documentation only - NOT used in component implementation)
160
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
161
- */
162
- // eslint-disable-next-line unused-imports/no-unused-vars
163
- type SidebarSeparatorDocsProps = {
164
- /** Additional CSS classes */
165
- className?: string;
166
- } & React.ComponentProps<typeof Separator>;
167
-
168
- /**
169
- * Props for SidebarContent component (Documentation only - NOT used in component implementation)
170
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
171
- */
172
- // eslint-disable-next-line unused-imports/no-unused-vars
173
- type SidebarContentDocsProps = {
174
- /** Additional CSS classes */
175
- className?: string;
176
- } & React.ComponentProps<"div">;
177
-
178
- /**
179
- * Props for SidebarGroup component (Documentation only - NOT used in component implementation)
180
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
181
- */
182
- // eslint-disable-next-line unused-imports/no-unused-vars
183
- type SidebarGroupDocsProps = {
184
- /** Additional CSS classes */
185
- className?: string;
186
- } & React.ComponentProps<"div">;
187
-
188
- /**
189
- * Props for SidebarGroupLabel component (Documentation only - NOT used in component implementation)
190
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
191
- */
192
- // eslint-disable-next-line unused-imports/no-unused-vars
193
- type SidebarGroupLabelDocsProps = {
194
- /** Additional CSS classes */
195
- className?: string;
196
- /**
197
- * Render as child element using Radix UI Slot composition pattern @default false
198
- *
199
- * When true, the component will not render its default element,
200
- * instead merging its props with its immediate child. This enables
201
- * composition with custom elements (like Link components) while
202
- * preserving the component's behavior and styling.
203
- */
204
- asChild?: boolean;
205
- } & React.ComponentProps<"div">;
206
-
207
- /**
208
- * Props for SidebarGroupAction component (Documentation only - NOT used in component implementation)
209
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
210
- */
211
- // eslint-disable-next-line unused-imports/no-unused-vars
212
- type SidebarGroupActionDocsProps = {
213
- /** Additional CSS classes */
214
- className?: string;
215
- /**
216
- * Render as child element using Radix UI Slot composition pattern @default false
217
- *
218
- * When true, the component will not render its default element,
219
- * instead merging its props with its immediate child. This enables
220
- * composition with custom elements (like Link components) while
221
- * preserving the component's behavior and styling.
222
- */
223
- asChild?: boolean;
224
- } & React.ComponentProps<"button">;
225
-
226
- /**
227
- * Props for SidebarGroupContent component (Documentation only - NOT used in component implementation)
228
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
229
- */
230
- // eslint-disable-next-line unused-imports/no-unused-vars
231
- type SidebarGroupContentDocsProps = {
232
- /** Additional CSS classes */
233
- className?: string;
234
- } & React.ComponentProps<"div">;
235
-
236
- /**
237
- * Props for SidebarMenu component (Documentation only - NOT used in component implementation)
238
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
239
- */
240
- // eslint-disable-next-line unused-imports/no-unused-vars
241
- type SidebarMenuDocsProps = {
242
- /** Additional CSS classes */
243
- className?: string;
244
- } & React.ComponentProps<"ul">;
245
-
246
- /**
247
- * Props for SidebarMenuItem component (Documentation only - NOT used in component implementation)
248
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
249
- */
250
- // eslint-disable-next-line unused-imports/no-unused-vars
251
- type SidebarMenuItemDocsProps = {
252
- /** Additional CSS classes */
253
- className?: string;
254
- } & React.ComponentProps<"li">;
255
-
256
- /**
257
- * Props for SidebarMenuButton component (Documentation only - NOT used in component implementation)
258
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
259
- */
260
- // eslint-disable-next-line unused-imports/no-unused-vars
261
- type SidebarMenuButtonDocsProps = {
262
- /**
263
- * Render as child element using Radix UI Slot composition pattern @default false
264
- *
265
- * When true, the component will not render its default element,
266
- * instead merging its props with its immediate child. This enables
267
- * composition with custom elements (like Link components) while
268
- * preserving the component's behavior and styling.
269
- */
270
- asChild?: boolean;
271
- /** Whether this menu item is currently active @default false */
272
- isActive?: boolean;
273
- /** Visual appearance variant @default "default" */
274
- variant?: "default" | "outline";
275
- /** Button size variant @default "default" */
276
- size?: "default" | "sm" | "lg";
277
- /**
278
- * Tooltip content shown when sidebar is collapsed to icon mode
279
- *
280
- * Can be either a string for simple text or a full TooltipContent props object
281
- * for advanced configuration. Tooltip is automatically shown/hidden based on
282
- * sidebar state and is never displayed on mobile devices.
283
- *
284
- * @example Simple string tooltip
285
- * ```tsx
286
- * <SidebarMenuButton tooltip=\"Dashboard\">
287
- * <Home />Dashboard
288
- * </SidebarMenuButton>
289
- * ```
290
- *
291
- * @example Advanced tooltip with props
292
- * ```tsx
293
- * <SidebarMenuButton tooltip={{
294
- * children: \"Go to Dashboard\",
295
- * side: \"right\",
296
- * sideOffset: 10
297
- * }}>
298
- * <Home />Dashboard
299
- * </SidebarMenuButton>
300
- * ```
301
- */
302
- tooltip?: string | React.ComponentProps<typeof TooltipContent>;
303
- /** Additional CSS classes */
304
- className?: string;
305
- } & React.ComponentProps<"button">;
306
-
307
- /**
308
- * Props for SidebarMenuAction component (Documentation only - NOT used in component implementation)
309
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
310
- */
311
- // eslint-disable-next-line unused-imports/no-unused-vars
312
- type SidebarMenuActionDocsProps = {
313
- /** Additional CSS classes */
314
- className?: string;
315
- /**
316
- * Render as child element using Radix UI Slot composition pattern @default false
317
- *
318
- * When true, the component will not render its default element,
319
- * instead merging its props with its immediate child. This enables
320
- * composition with custom elements (like Link components) while
321
- * preserving the component's behavior and styling.
322
- */
323
- asChild?: boolean;
324
- /** Only show button on menu item hover @default false */
325
- showOnHover?: boolean;
326
- } & React.ComponentProps<"button">;
327
-
328
- /**
329
- * Props for SidebarMenuBadge component (Documentation only - NOT used in component implementation)
330
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
331
- */
332
- // eslint-disable-next-line unused-imports/no-unused-vars
333
- type SidebarMenuBadgeDocsProps = {
334
- /** Additional CSS classes */
335
- className?: string;
336
- } & React.ComponentProps<"div">;
337
-
338
- /**
339
- * Props for SidebarMenuSkeleton component (Documentation only - NOT used in component implementation)
340
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
341
- */
342
- // eslint-disable-next-line unused-imports/no-unused-vars
343
- type SidebarMenuSkeletonDocsProps = {
344
- /** Additional CSS classes */
345
- className?: string;
346
- /** Whether to show icon placeholder @default false */
347
- showIcon?: boolean;
348
- } & React.ComponentProps<"div">;
349
-
350
- /**
351
- * Props for SidebarMenuSub component (Documentation only - NOT used in component implementation)
352
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
353
- */
354
- // eslint-disable-next-line unused-imports/no-unused-vars
355
- type SidebarMenuSubDocsProps = {
356
- /** Additional CSS classes */
357
- className?: string;
358
- } & React.ComponentProps<"ul">;
359
-
360
- /**
361
- * Props for SidebarMenuSubItem component (Documentation only - NOT used in component implementation)
362
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
363
- */
364
- // eslint-disable-next-line unused-imports/no-unused-vars
365
- type SidebarMenuSubItemDocsProps = {
366
- /** Additional CSS classes */
367
- className?: string;
368
- } & React.ComponentProps<"li">;
369
-
370
- /**
371
- * Props for SidebarMenuSubButton component (Documentation only - NOT used in component implementation)
372
- * These types are for documentation generation and should not replace React.ComponentProps inferred types
373
- */
374
- // eslint-disable-next-line unused-imports/no-unused-vars
375
- type SidebarMenuSubButtonDocsProps = {
376
- /**
377
- * Render as child element using Radix UI Slot composition pattern @default false
378
- *
379
- * When true, the component will not render its default element,
380
- * instead merging its props with its immediate child. This enables
381
- * composition with custom elements (like Link components) while
382
- * preserving the component's behavior and styling.
383
- */
384
- asChild?: boolean;
385
- /** Button size variant @default "md" */
386
- size?: "sm" | "md";
387
- /** Whether this submenu item is currently active @default false */
388
- isActive?: boolean;
389
- /** Additional CSS classes */
390
- className?: string;
391
- } & React.ComponentProps<"a">;
392
-
393
- // Internal context type (inferred from implementation)
394
35
  type SidebarContextProps = {
395
36
  state: "expanded" | "collapsed";
396
37
  open: boolean;
@@ -404,48 +45,8 @@ type SidebarContextProps = {
404
45
  const SidebarContext = React.createContext<SidebarContextProps | null>(null);
405
46
 
406
47
  /**
407
- * Hook to access sidebar state and control functions
408
- *
409
- * Provides access to the sidebar's state management including expanded/collapsed states,
410
- * mobile-specific behavior, and toggle functions. This hook must be used within a
411
- * SidebarProvider component tree to function properly.
412
- *
413
- * @returns {SidebarContextProps} Object containing sidebar state and control functions:
414
- * - `state`: "expanded" | "collapsed" - Current sidebar state
415
- * - `open`: boolean - Whether sidebar is open (desktop)
416
- * - `setOpen`: (open: boolean) => void - Function to control sidebar open state
417
- * - `openMobile`: boolean - Whether sidebar is open on mobile
418
- * - `setOpenMobile`: (open: boolean) => void - Function to control mobile sidebar state
419
- * - `isMobile`: boolean - Whether current viewport is considered mobile
420
- * - `toggleSidebar`: () => void - Function to toggle sidebar state
421
- *
422
- * @throws {Error} When used outside of SidebarProvider context
423
- *
424
- * @example
425
- * ```tsx
426
- * // Basic usage for toggle button
427
- * function ToggleButton() {
428
- * const { state, toggleSidebar } = useSidebar()
429
- * return (
430
- * <button onClick={toggleSidebar}>
431
- * {state === "expanded" ? "Collapse" : "Expand"}
432
- * </button>
433
- * )
434
- * }
435
- * ```
436
- *
437
- * @example
438
- * ```tsx
439
- * // Conditional rendering based on state
440
- * function ConditionalContent() {
441
- * const { state, isMobile } = useSidebar()
442
- * if (isMobile) return <MobileOnlyContent />
443
- * return state === "expanded" ? <FullContent /> : <CompactContent />
444
- * }
445
- * ```
446
- *
447
- * @see {@link SidebarProvider} - Required context provider
448
- * @since 1.0.0
48
+ * Hook to access sidebar context including state, mobile state, and toggle functions.
49
+ * Must be used within SidebarProvider.
449
50
  */
450
51
  function useSidebar() {
451
52
  const context = React.useContext(SidebarContext);
@@ -456,76 +57,18 @@ function useSidebar() {
456
57
  return context;
457
58
  }
458
59
 
60
+ type SidebarProviderProps = React.ComponentProps<"div"> & {
61
+ /** Initial open state on desktop. @default true */
62
+ defaultOpen?: boolean;
63
+ /** Controlled open state for desktop. */
64
+ open?: boolean;
65
+ /** Callback when open state changes. Persists state in cookie. */
66
+ onOpenChange?: (open: boolean) => void;
67
+ };
68
+
459
69
  /**
460
- * Context provider for comprehensive sidebar state management
461
- *
462
- * The SidebarProvider is the foundational component that manages all sidebar behavior
463
- * including state persistence, responsive design, keyboard shortcuts, and mobile handling.
464
- * It provides context to all sidebar-related components and should wrap your entire
465
- * application or the section containing the sidebar.
466
- *
467
- * @component
468
- *
469
- * @param {boolean} [defaultOpen=true] - Initial open state when uncontrolled
470
- * @param {boolean} [open] - Controlled open state (makes component controlled)
471
- * @param {(open: boolean) => void} [onOpenChange] - Callback for open state changes
472
- * @param {string} [className] - Additional CSS classes for wrapper
473
- * @param {React.CSSProperties} [style] - Inline styles including CSS variables
474
- * @param {React.ReactNode} children - Child components
475
- *
476
- * @example
477
- * ```tsx
478
- * // Basic uncontrolled usage
479
- * <SidebarProvider>
480
- * <Sidebar />
481
- * <SidebarInset>
482
- * <main>Your content</main>
483
- * </SidebarInset>
484
- * </SidebarProvider>
485
- * ```
486
- *
487
- * @example
488
- * ```tsx
489
- * // Controlled usage with custom state
490
- * function App() {
491
- * const [sidebarOpen, setSidebarOpen] = useState(false)
492
- * return (
493
- * <SidebarProvider open={sidebarOpen} onOpenChange={setSidebarOpen}>
494
- * <Sidebar />
495
- * <SidebarInset>Content</SidebarInset>
496
- * </SidebarProvider>
497
- * )
498
- * }
499
- * ```
500
- *
501
- * @example
502
- * ```tsx
503
- * // Custom width with CSS variables
504
- * <SidebarProvider
505
- * style={{
506
- * "--sidebar-width": "20rem",
507
- * "--sidebar-width-mobile": "18rem"
508
- * }}
509
- * >
510
- * <Sidebar />
511
- * </SidebarProvider>
512
- * ```
513
- *
514
- * @features
515
- * - State persistence via cookies
516
- * - Keyboard shortcut (Cmd/Ctrl+B) support
517
- * - Responsive mobile behavior
518
- * - CSS variable-based theming
519
- * - Tooltip provider integration
520
- *
521
- * @accessibility
522
- * - Keyboard shortcuts for power users
523
- * - Mobile-optimized touch interactions
524
- * - Focus management for modal-like mobile behavior
525
- *
526
- * @see {@link useSidebar} - Hook to access provided context
527
- * @see {@link Sidebar} - Main sidebar component
528
- * @since 1.0.0
70
+ * Root provider for sidebar with state management, keyboard shortcuts (⌘B), and mobile detection.
71
+ * Manages collapsed/expanded state and persists preference in cookie.
529
72
  */
530
73
  function SidebarProvider({
531
74
  defaultOpen = true,
@@ -535,12 +78,7 @@ function SidebarProvider({
535
78
  style,
536
79
  children,
537
80
  ...props
538
- }: {
539
- defaultOpen?: boolean;
540
- open?: boolean;
541
- onOpenChange?: (open: boolean) => void;
542
- children?: React.ReactNode;
543
- } & React.ComponentProps<"div">) {
81
+ }: SidebarProviderProps) {
544
82
  const isMobile = useIsMobile();
545
83
  const [openMobile, setOpenMobile] = React.useState(false);
546
84
 
@@ -548,7 +86,7 @@ function SidebarProvider({
548
86
  // We use openProp and setOpenProp for control from outside the component.
549
87
  const [_open, _setOpen] = React.useState(defaultOpen);
550
88
  const open = openProp ?? _open;
551
- const setOpen = useCallback(
89
+ const setOpen = React.useCallback(
552
90
  (value: boolean | ((value: boolean) => boolean)) => {
553
91
  const openState = typeof value === "function" ? value(open) : value;
554
92
  if (setOpenProp) {
@@ -560,13 +98,13 @@ function SidebarProvider({
560
98
  // This sets the cookie to keep the sidebar state.
561
99
  document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
562
100
  },
563
- [setOpenProp, _setOpen, open],
101
+ [setOpenProp, open],
564
102
  );
565
103
 
566
104
  // Helper to toggle the sidebar.
567
- const toggleSidebar = useCallback(() => {
105
+ const toggleSidebar = React.useCallback(() => {
568
106
  return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
569
- }, [isMobile, setOpenMobile, setOpen]);
107
+ }, [isMobile, setOpen, setOpenMobile]);
570
108
 
571
109
  // Adds a keyboard shortcut to toggle the sidebar.
572
110
  React.useEffect(() => {
@@ -588,165 +126,54 @@ function SidebarProvider({
588
126
  // This makes it easier to style the sidebar with Tailwind classes.
589
127
  const state = open ? "expanded" : "collapsed";
590
128
 
591
- const contextValue: SidebarContextProps = {
592
- state,
593
- open,
594
- setOpen,
595
- isMobile,
596
- openMobile,
597
- setOpenMobile,
598
- toggleSidebar,
599
- };
129
+ const contextValue = React.useMemo<SidebarContextProps>(
130
+ () => ({
131
+ state,
132
+ open,
133
+ setOpen,
134
+ isMobile,
135
+ openMobile,
136
+ setOpenMobile,
137
+ toggleSidebar,
138
+ }),
139
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],
140
+ );
600
141
 
601
142
  return (
602
143
  <SidebarContext.Provider value={contextValue}>
603
- <TooltipProvider delayDuration={0}>
604
- <div
605
- data-slot="sidebar-wrapper"
606
- style={
607
- {
608
- "--sidebar-width": SIDEBAR_WIDTH,
609
- "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
610
- ...style,
611
- } as React.CSSProperties
612
- }
613
- className={cn(
614
- "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
615
- className,
616
- )}
617
- {...props}
618
- >
619
- {children}
620
- </div>
621
- </TooltipProvider>
144
+ <div
145
+ data-slot="sidebar-wrapper"
146
+ style={
147
+ {
148
+ "--sidebar-width": SIDEBAR_WIDTH,
149
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
150
+ ...style,
151
+ } as React.CSSProperties
152
+ }
153
+ className={cn(
154
+ "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",
155
+ className,
156
+ )}
157
+ {...props}
158
+ >
159
+ {children}
160
+ </div>
622
161
  </SidebarContext.Provider>
623
162
  );
624
163
  }
625
164
 
165
+ type SidebarProps = React.ComponentProps<"div"> & {
166
+ /** Which side to display sidebar. @default "left" */
167
+ side?: "left" | "right";
168
+ /** Visual variant. @default "sidebar" */
169
+ variant?: "sidebar" | "floating" | "inset";
170
+ /** Collapse behavior. @default "offcanvas" */
171
+ collapsible?: "offcanvas" | "icon" | "none";
172
+ };
173
+
626
174
  /**
627
- * Flexible and responsive navigation sidebar component
628
- *
629
- * The Sidebar component is the main container for navigation content, supporting multiple
630
- * visual variants, collapsible behaviors, and responsive design patterns. It automatically
631
- * adapts between desktop layouts and mobile sheet overlays based on viewport size.
632
- *
633
- * @component
634
- *
635
- * @param {"left" | "right"} [side="left"] - Which side of the screen the sidebar appears on
636
- * @param {"sidebar" | "floating" | "inset"} [variant="sidebar"] - Visual variant:
637
- * - `sidebar`: Standard full-height sidebar
638
- * - `floating`: Sidebar with padding, rounded corners, and shadow
639
- * - `inset`: Sidebar with margin that affects main content layout
640
- * @param {"offcanvas" | "icon" | "none"} [collapsible="offcanvas"] - Collapse behavior:
641
- * - `offcanvas`: Slides completely off-screen when collapsed
642
- * - `icon`: Collapses to icon-only width, hiding text labels
643
- * - `none`: Cannot be collapsed, always visible
644
- * @param {string} [className] - Additional CSS classes
645
- * @param {React.ReactNode} children - Sidebar content (Header, Content, Footer)
646
- *
647
- * @example
648
- * ```tsx
649
- * // Standard navigation sidebar
650
- * <SidebarProvider>
651
- * <Sidebar>
652
- * <SidebarHeader>
653
- * <h2>My Application</h2>
654
- * </SidebarHeader>
655
- * <SidebarContent>
656
- * <SidebarGroup>
657
- * <SidebarGroupLabel>Main</SidebarGroupLabel>
658
- * <SidebarGroupContent>
659
- * <SidebarMenu>
660
- * <SidebarMenuItem>
661
- * <SidebarMenuButton asChild>
662
- * <Link href="/dashboard">
663
- * <Home />
664
- * <span>Dashboard</span>
665
- * </Link>
666
- * </SidebarMenuButton>
667
- * </SidebarMenuItem>
668
- * </SidebarMenu>
669
- * </SidebarGroupContent>
670
- * </SidebarGroup>
671
- * </SidebarContent>
672
- * <SidebarFooter>
673
- * <SidebarMenu>
674
- * <SidebarMenuItem>
675
- * <SidebarMenuButton>
676
- * <Settings />
677
- * <span>Settings</span>
678
- * </SidebarMenuButton>
679
- * </SidebarMenuItem>
680
- * </SidebarMenu>
681
- * </SidebarFooter>
682
- * </Sidebar>
683
- * <SidebarInset>
684
- * <main>Main content area</main>
685
- * </SidebarInset>
686
- * </SidebarProvider>
687
- * ```
688
- *
689
- * @example
690
- * ```tsx
691
- * // Icon-collapsible sidebar with tooltips
692
- * <SidebarProvider>
693
- * <Sidebar collapsible="icon">
694
- * <SidebarContent>
695
- * <SidebarGroup>
696
- * <SidebarGroupLabel>Navigation</SidebarGroupLabel>
697
- * <SidebarGroupContent>
698
- * <SidebarMenu>
699
- * <SidebarMenuItem>
700
- * <SidebarMenuButton tooltip="Go to Dashboard">
701
- * <Home />
702
- * <span>Dashboard</span>
703
- * </SidebarMenuButton>
704
- * </SidebarMenuItem>
705
- * </SidebarMenu>
706
- * </SidebarGroupContent>
707
- * </SidebarGroup>
708
- * </SidebarContent>
709
- * </Sidebar>
710
- * </SidebarProvider>
711
- * ```
712
- *
713
- * @example
714
- * ```tsx
715
- * // Floating variant with custom styling
716
- * <SidebarProvider>
717
- * <Sidebar variant="floating">
718
- * <SidebarHeader>
719
- * <SidebarTrigger />
720
- * <h2>Floating Sidebar</h2>
721
- * </SidebarHeader>
722
- * <SidebarContent>
723
- * // Navigation content
724
- * </SidebarContent>
725
- * </Sidebar>
726
- * </SidebarProvider>
727
- * ```
728
- *
729
- * @accessibility
730
- * - Keyboard shortcut: Cmd/Ctrl+B to toggle visibility
731
- * - Full keyboard navigation support within sidebar
732
- * - ARIA attributes indicate current state (expanded/collapsed)
733
- * - Screen reader announcements for state changes
734
- * - Mobile: Sheet overlay with proper focus management
735
- * - Desktop: Seamless keyboard navigation between sidebar and main content
736
- *
737
- * @responsive
738
- * - **Desktop**: Fixed-position sidebar with smooth width transitions
739
- * - **Mobile**: Sheet overlay that slides in from the side
740
- * - **Tablet**: Responsive breakpoints adapt behavior automatically
741
- *
742
- * @see {@link SidebarProvider} - Required context provider
743
- * @see {@link SidebarHeader} - Header section component
744
- * @see {@link SidebarContent} - Scrollable content area
745
- * @see {@link SidebarFooter} - Footer section component
746
- * @see {@link SidebarTrigger} - Toggle button component
747
- * @see {@link SidebarRail} - Interactive resize handle
748
- * @see {@link https://ui.shadcn.com/docs/components/sidebar} - shadcn/ui Sidebar documentation
749
- * @since 1.0.0
175
+ * Sidebar container with responsive behavior. Renders as Sheet on mobile.
176
+ * Use with SidebarProvider for state management.
750
177
  */
751
178
  function Sidebar({
752
179
  side = "left",
@@ -755,13 +182,7 @@ function Sidebar({
755
182
  className,
756
183
  children,
757
184
  ...props
758
- }: {
759
- side?: "left" | "right";
760
- variant?: "sidebar" | "floating" | "inset";
761
- collapsible?: "offcanvas" | "icon" | "none";
762
- className?: string;
763
- children?: React.ReactNode;
764
- } & React.ComponentProps<"div">) {
185
+ }: SidebarProps) {
765
186
  const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
766
187
 
767
188
  if (collapsible === "none") {
@@ -817,7 +238,7 @@ function Sidebar({
817
238
  <div
818
239
  data-slot="sidebar-gap"
819
240
  className={cn(
820
- "relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear",
241
+ "transition-[width] duration-200 ease-linear relative w-(--sidebar-width) bg-transparent",
821
242
  "group-data-[collapsible=offcanvas]:w-0",
822
243
  "group-data-[side=right]:rotate-180",
823
244
  variant === "floating" || variant === "inset"
@@ -843,7 +264,7 @@ function Sidebar({
843
264
  <div
844
265
  data-sidebar="sidebar"
845
266
  data-slot="sidebar-inner"
846
- className="bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
267
+ className="bg-sidebar group-data-[variant=floating]:ring-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 flex size-full flex-col"
847
268
  >
848
269
  {children}
849
270
  </div>
@@ -852,57 +273,12 @@ function Sidebar({
852
273
  );
853
274
  }
854
275
 
276
+ type SidebarTriggerProps = React.ComponentProps<typeof Button>;
277
+
855
278
  /**
856
- * Interactive button component for toggling sidebar visibility
857
- *
858
- * A pre-styled button that toggles the sidebar between expanded and collapsed states
859
- * on desktop, or opens/closes the mobile sheet overlay on smaller screens. Features
860
- * a panel icon and proper accessibility attributes.
861
- *
862
- * @component
863
- *
864
- * @param {string} [className] - Additional CSS classes
865
- * @param {(event: React.MouseEvent) => void} [onClick] - Additional click handler
866
- * @param {...React.ComponentProps<typeof Button>} props - All Button component props
867
- *
868
- * @example
869
- * ```tsx
870
- * // Basic usage in header
871
- * <header className="flex items-center gap-2 p-4">
872
- * <SidebarTrigger />
873
- * <h1>My Application</h1>
874
- * </header>
875
- * ```
876
- *
877
- * @example
878
- * ```tsx
879
- * // With custom click handler
880
- * <SidebarTrigger
881
- * onClick={(e) => {
882
- * console.log('Sidebar toggled')
883
- * // Additional logic here
884
- * }}
885
- * />
886
- * ```
887
- *
888
- * @accessibility
889
- * - Screen reader label: "Toggle Sidebar"
890
- * - Keyboard accessible (Enter and Space keys)
891
- * - Focus visible indicator for keyboard navigation
892
- * - ARIA attributes for assistive technology
893
- *
894
- * @see {@link useSidebar} - Hook for custom toggle implementations
895
- * @see {@link SidebarProvider} - Required context provider
896
- * @since 1.0.0
279
+ * Button to toggle sidebar open/closed. Shows hamburger icon.
897
280
  */
898
- function SidebarTrigger({
899
- className,
900
- onClick,
901
- ...props
902
- }: {
903
- className?: string;
904
- onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
905
- } & Omit<React.ComponentProps<typeof Button>, "onClick">) {
281
+ function SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps) {
906
282
  const { toggleSidebar } = useSidebar();
907
283
 
908
284
  return (
@@ -910,8 +286,8 @@ function SidebarTrigger({
910
286
  data-sidebar="trigger"
911
287
  data-slot="sidebar-trigger"
912
288
  variant="ghost"
913
- size="icon"
914
- className={cn("size-7", className)}
289
+ size="icon-sm"
290
+ className={cn(className)}
915
291
  onClick={(event) => {
916
292
  onClick?.(event);
917
293
  toggleSidebar();
@@ -924,44 +300,12 @@ function SidebarTrigger({
924
300
  );
925
301
  }
926
302
 
303
+ type SidebarRailProps = React.ComponentProps<"button">;
304
+
927
305
  /**
928
- * Interactive rail component for sidebar edge interaction
929
- *
930
- * Provides a subtle interactive area along the sidebar edge that users can click
931
- * to toggle the sidebar state. The rail is positioned at the sidebar boundary and
932
- * includes hover states for discoverability. Only visible on desktop viewports.
933
- *
934
- * @component
935
- *
936
- * @param {string} [className] - Additional CSS classes
937
- * @param {...React.ComponentProps<"button">} props - All button element props
938
- *
939
- * @example
940
- * ```tsx
941
- * // Basic usage (typically placed at end of Sidebar)
942
- * <Sidebar>
943
- * <SidebarHeader>Header content</SidebarHeader>
944
- * <SidebarContent>Navigation content</SidebarContent>
945
- * <SidebarFooter>Footer content</SidebarFooter>
946
- * <SidebarRail />
947
- * </Sidebar>
948
- * ```
949
- *
950
- * @accessibility
951
- * - ARIA label: "Toggle Sidebar"
952
- * - Keyboard accessible but with tabIndex={-1} to avoid tab trap
953
- * - Hover and focus states for discoverability
954
- * - Cursor changes based on sidebar state and side
955
- *
956
- * @see {@link SidebarTrigger} - Alternative toggle button
957
- * @since 1.0.0
306
+ * Invisible rail element on sidebar edge for drag-to-resize interaction.
958
307
  */
959
- function SidebarRail({
960
- className,
961
- ...props
962
- }: {
963
- className?: string;
964
- } & React.ComponentProps<"button">) {
308
+ function SidebarRail({ className, ...props }: SidebarRailProps) {
965
309
  const { toggleSidebar } = useSidebar();
966
310
 
967
311
  return (
@@ -986,69 +330,17 @@ function SidebarRail({
986
330
  );
987
331
  }
988
332
 
333
+ type SidebarInsetProps = React.ComponentProps<"main">;
334
+
989
335
  /**
990
- * Main content container that adapts to sidebar layout
991
- *
992
- * The SidebarInset component serves as the primary content area that automatically
993
- * adjusts its layout and spacing based on the sidebar's state and variant. It provides
994
- * proper margins, responsive behavior, and styling coordination with the sidebar.
995
- *
996
- * @component
997
- *
998
- * @param {string} [className] - Additional CSS classes
999
- * @param {...React.ComponentProps<"main">} props - All main element props
1000
- *
1001
- * @example
1002
- * ```tsx
1003
- * // Standard layout with header and content
1004
- * <SidebarProvider>
1005
- * <Sidebar>Sidebar content</Sidebar>
1006
- * <SidebarInset>
1007
- * <header className="flex h-16 items-center gap-2 px-4">
1008
- * <SidebarTrigger />
1009
- * <h1>Page Title</h1>
1010
- * </header>
1011
- * <main className="flex-1 p-4">
1012
- * <p>Your main content goes here</p>
1013
- * </main>
1014
- * </SidebarInset>
1015
- * </SidebarProvider>
1016
- * ```
1017
- *
1018
- * @example
1019
- * ```tsx
1020
- * // With inset variant coordination
1021
- * <SidebarProvider>
1022
- * <Sidebar variant="inset">Sidebar</Sidebar>
1023
- * <SidebarInset>
1024
- * // Content automatically gets proper spacing
1025
- * <div>Content with proper inset margins</div>
1026
- * </SidebarInset>
1027
- * </SidebarProvider>
1028
- * ```
1029
- *
1030
- * @features
1031
- * - Automatic layout adjustment based on sidebar state
1032
- * - Responsive margin and padding coordination
1033
- * - Proper spacing for different sidebar variants
1034
- * - Smooth transitions when sidebar state changes
1035
- *
1036
- * @see {@link Sidebar} - Main sidebar component
1037
- * @see {@link SidebarProvider} - Required context provider
1038
- * @since 1.0.0
336
+ * Main content area that sits beside the sidebar. Automatically adjusts margins based on sidebar state.
1039
337
  */
1040
- function SidebarInset({
1041
- className,
1042
- ...props
1043
- }: {
1044
- className?: string;
1045
- } & React.ComponentProps<"main">) {
338
+ function SidebarInset({ className, ...props }: SidebarInsetProps) {
1046
339
  return (
1047
340
  <main
1048
341
  data-slot="sidebar-inset"
1049
342
  className={cn(
1050
- "bg-background relative flex w-full flex-1 flex-col",
1051
- "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
343
+ "bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 relative flex w-full flex-1 flex-col",
1052
344
  className,
1053
345
  )}
1054
346
  {...props}
@@ -1056,54 +348,12 @@ function SidebarInset({
1056
348
  );
1057
349
  }
1058
350
 
351
+ type SidebarInputProps = React.ComponentProps<typeof Input>;
352
+
1059
353
  /**
1060
- * Input component optimized for sidebar usage
1061
- *
1062
- * A pre-styled input field designed to integrate seamlessly within sidebar layouts.
1063
- * Commonly used for search functionality, filters, or other input needs within
1064
- * the sidebar context. Features appropriate sizing and styling for sidebar use.
1065
- *
1066
- * @component
1067
- *
1068
- * @param {string} [className] - Additional CSS classes
1069
- * @param {...React.ComponentProps<typeof Input>} props - All Input component props
1070
- *
1071
- * @example
1072
- * ```tsx
1073
- * // Search input in sidebar header
1074
- * <SidebarHeader>
1075
- * <h2>Navigation</h2>
1076
- * <SidebarInput
1077
- * placeholder="Search..."
1078
- * onChange={(e) => handleSearch(e.target.value)}
1079
- * />
1080
- * </SidebarHeader>
1081
- * ```
1082
- *
1083
- * @example
1084
- * ```tsx
1085
- * // Filter input with icon
1086
- * <SidebarGroup>
1087
- * <SidebarGroupLabel>Filter Options</SidebarGroupLabel>
1088
- * <SidebarGroupContent>
1089
- * <SidebarInput
1090
- * type="search"
1091
- * placeholder="Filter items"
1092
- * className="mb-2"
1093
- * />
1094
- * </SidebarGroupContent>
1095
- * </SidebarGroup>
1096
- * ```
1097
- *
1098
- * @see {@link Input} - Base input component
1099
- * @since 1.0.0
354
+ * Styled input for sidebar search/filter functionality.
1100
355
  */
1101
- function SidebarInput({
1102
- className,
1103
- ...props
1104
- }: {
1105
- className?: string;
1106
- } & React.ComponentProps<typeof Input>) {
356
+ function SidebarInput({ className, ...props }: SidebarInputProps) {
1107
357
  return (
1108
358
  <Input
1109
359
  data-slot="sidebar-input"
@@ -1114,208 +364,44 @@ function SidebarInput({
1114
364
  );
1115
365
  }
1116
366
 
367
+ type SidebarHeaderProps = React.ComponentProps<"div">;
368
+
1117
369
  /**
1118
- * Header section container for sidebar content
1119
- *
1120
- * A flexible container for sidebar header content such as logos, application titles,
1121
- * user information, or action buttons. The header remains visible even when the sidebar
1122
- * is collapsed to icon mode, making it ideal for persistent branding or key actions.
1123
- *
1124
- * @component
1125
- *
1126
- * @param {string} [className] - Additional CSS classes
1127
- * @param {...React.ComponentProps<"div">} props - All div element props
1128
- *
1129
- * @example
1130
- * ```tsx
1131
- * // Simple header with title
1132
- * <SidebarHeader>
1133
- * <h2 className="text-lg font-semibold">My Application</h2>
1134
- * </SidebarHeader>
1135
- * ```
1136
- *
1137
- * @example
1138
- * ```tsx
1139
- * // Header with trigger and search
1140
- * <SidebarHeader>
1141
- * <div className="flex items-center justify-between">
1142
- * <h2>Navigation</h2>
1143
- * <SidebarTrigger />
1144
- * </div>
1145
- * <SidebarInput placeholder="Search..." className="mt-2" />
1146
- * </SidebarHeader>
1147
- * ```
1148
- *
1149
- * @example
1150
- * ```tsx
1151
- * // Header with user menu
1152
- * <SidebarHeader>
1153
- * <SidebarMenu>
1154
- * <SidebarMenuItem>
1155
- * <DropdownMenu>
1156
- * <DropdownMenuTrigger asChild>
1157
- * <SidebarMenuButton>
1158
- * <Avatar />
1159
- * <span>John Doe</span>
1160
- * <ChevronDown className="ml-auto" />
1161
- * </SidebarMenuButton>
1162
- * </DropdownMenuTrigger>
1163
- * <DropdownMenuContent>
1164
- * <DropdownMenuItem>Profile</DropdownMenuItem>
1165
- * <DropdownMenuItem>Settings</DropdownMenuItem>
1166
- * <DropdownMenuItem>Logout</DropdownMenuItem>
1167
- * </DropdownMenuContent>
1168
- * </DropdownMenu>
1169
- * </SidebarMenuItem>
1170
- * </SidebarMenu>
1171
- * </SidebarHeader>
1172
- * ```
1173
- *
1174
- * @see {@link SidebarFooter} - Footer section component
1175
- * @see {@link SidebarContent} - Main scrollable content area
1176
- * @since 1.0.0
370
+ * Top section of sidebar for branding, app switcher, or global actions.
1177
371
  */
1178
- function SidebarHeader({
1179
- className,
1180
- ...props
1181
- }: {
1182
- className?: string;
1183
- } & React.ComponentProps<"div">) {
372
+ function SidebarHeader({ className, ...props }: SidebarHeaderProps) {
1184
373
  return (
1185
374
  <div
1186
375
  data-slot="sidebar-header"
1187
376
  data-sidebar="header"
1188
- className={cn("flex flex-col gap-2 p-2", className)}
377
+ className={cn("gap-2 p-2 flex flex-col", className)}
1189
378
  {...props}
1190
379
  />
1191
380
  );
1192
381
  }
1193
382
 
383
+ type SidebarFooterProps = React.ComponentProps<"div">;
384
+
1194
385
  /**
1195
- * Footer section container for sidebar content
1196
- *
1197
- * A container positioned at the bottom of the sidebar for footer content such as
1198
- * user profiles, settings links, logout buttons, or help resources. The footer
1199
- * remains anchored to the bottom regardless of content height.
1200
- *
1201
- * @component
1202
- *
1203
- * @param {string} [className] - Additional CSS classes
1204
- * @param {...React.ComponentProps<"div">} props - All div element props
1205
- *
1206
- * @example
1207
- * ```tsx
1208
- * // Simple footer with settings link
1209
- * <SidebarFooter>
1210
- * <SidebarMenu>
1211
- * <SidebarMenuItem>
1212
- * <SidebarMenuButton>
1213
- * <Settings />
1214
- * <span>Settings</span>
1215
- * </SidebarMenuButton>
1216
- * </SidebarMenuItem>
1217
- * </SidebarMenu>
1218
- * </SidebarFooter>
1219
- * ```
1220
- *
1221
- * @example
1222
- * ```tsx
1223
- * // Footer with user profile and actions
1224
- * <SidebarFooter>
1225
- * <SidebarMenu>
1226
- * <SidebarMenuItem>
1227
- * <SidebarMenuButton>
1228
- * <Avatar className="h-6 w-6" />
1229
- * <div className="flex flex-col text-left">
1230
- * <span className="text-sm">John Doe</span>
1231
- * <span className="text-xs text-muted-foreground">john@example.com</span>
1232
- * </div>
1233
- * </SidebarMenuButton>
1234
- * <SidebarMenuAction>
1235
- * <LogOut />
1236
- * </SidebarMenuAction>
1237
- * </SidebarMenuItem>
1238
- * </SidebarMenu>
1239
- * </SidebarFooter>
1240
- * ```
1241
- *
1242
- * @see {@link SidebarHeader} - Header section component
1243
- * @see {@link SidebarContent} - Main content area
1244
- * @since 1.0.0
386
+ * Bottom section of sidebar for user profile, settings, or secondary actions.
1245
387
  */
1246
- function SidebarFooter({
1247
- className,
1248
- ...props
1249
- }: {
1250
- className?: string;
1251
- } & React.ComponentProps<"div">) {
388
+ function SidebarFooter({ className, ...props }: SidebarFooterProps) {
1252
389
  return (
1253
390
  <div
1254
391
  data-slot="sidebar-footer"
1255
392
  data-sidebar="footer"
1256
- className={cn("flex flex-col gap-2 p-2", className)}
393
+ className={cn("gap-2 p-2 flex flex-col", className)}
1257
394
  {...props}
1258
395
  />
1259
396
  );
1260
397
  }
1261
398
 
399
+ type SidebarSeparatorProps = React.ComponentProps<typeof Separator>;
400
+
1262
401
  /**
1263
- * Visual separator for organizing sidebar sections
1264
- *
1265
- * A horizontal divider component used to visually separate different sections
1266
- * within the sidebar content. Helps organize navigation groups and improve
1267
- * visual hierarchy and readability.
1268
- *
1269
- * @component
1270
- *
1271
- * @param {string} [className] - Additional CSS classes
1272
- * @param {...React.ComponentProps<typeof Separator>} props - All Separator component props
1273
- *
1274
- * @example
1275
- * ```tsx
1276
- * // Separating navigation groups
1277
- * <SidebarContent>
1278
- * <SidebarGroup>
1279
- * <SidebarGroupLabel>Main Navigation</SidebarGroupLabel>
1280
- * <SidebarGroupContent>
1281
- * // Main nav items
1282
- * </SidebarGroupContent>
1283
- * </SidebarGroup>
1284
- *
1285
- * <SidebarSeparator />
1286
- *
1287
- * <SidebarGroup>
1288
- * <SidebarGroupLabel>Settings</SidebarGroupLabel>
1289
- * <SidebarGroupContent>
1290
- * // Settings items
1291
- * </SidebarGroupContent>
1292
- * </SidebarGroup>
1293
- * </SidebarContent>
1294
- * ```
1295
- *
1296
- * @example
1297
- * ```tsx
1298
- * // Between header and content
1299
- * <Sidebar>
1300
- * <SidebarHeader>
1301
- * <h2>Application</h2>
1302
- * </SidebarHeader>
1303
- * <SidebarSeparator />
1304
- * <SidebarContent>
1305
- * // Navigation content
1306
- * </SidebarContent>
1307
- * </Sidebar>
1308
- * ```
1309
- *
1310
- * @see {@link Separator} - Base separator component
1311
- * @since 1.0.0
402
+ * Horizontal divider between sidebar sections.
1312
403
  */
1313
- function SidebarSeparator({
1314
- className,
1315
- ...props
1316
- }: {
1317
- className?: string;
1318
- } & React.ComponentProps<typeof Separator>) {
404
+ function SidebarSeparator({ className, ...props }: SidebarSeparatorProps) {
1319
405
  return (
1320
406
  <Separator
1321
407
  data-slot="sidebar-separator"
@@ -1326,82 +412,18 @@ function SidebarSeparator({
1326
412
  );
1327
413
  }
1328
414
 
415
+ type SidebarContentProps = React.ComponentProps<"div">;
416
+
1329
417
  /**
1330
- * Scrollable main content area of the sidebar
1331
- *
1332
- * The primary content container that houses navigation groups, menus, and other
1333
- * sidebar content. Provides automatic scrolling when content exceeds available
1334
- * height and handles overflow behavior when the sidebar is collapsed.
1335
- *
1336
- * @component
1337
- *
1338
- * @param {string} [className] - Additional CSS classes
1339
- * @param {...React.ComponentProps<"div">} props - All div element props
1340
- *
1341
- * @example
1342
- * ```tsx
1343
- * // Basic content with navigation groups
1344
- * <SidebarContent>
1345
- * <SidebarGroup>
1346
- * <SidebarGroupLabel>Main</SidebarGroupLabel>
1347
- * <SidebarGroupContent>
1348
- * <SidebarMenu>
1349
- * <SidebarMenuItem>
1350
- * <SidebarMenuButton>
1351
- * <Home />
1352
- * <span>Dashboard</span>
1353
- * </SidebarMenuButton>
1354
- * </SidebarMenuItem>
1355
- * </SidebarMenu>
1356
- * </SidebarGroupContent>
1357
- * </SidebarGroup>
1358
- * </SidebarContent>
1359
- * ```
1360
- *
1361
- * @example
1362
- * ```tsx
1363
- * // Multiple groups with separators
1364
- * <SidebarContent>
1365
- * <SidebarGroup>
1366
- * <SidebarGroupLabel>Navigation</SidebarGroupLabel>
1367
- * <SidebarGroupContent>
1368
- * // Navigation items
1369
- * </SidebarGroupContent>
1370
- * </SidebarGroup>
1371
- *
1372
- * <SidebarSeparator />
1373
- *
1374
- * <SidebarGroup>
1375
- * <SidebarGroupLabel>Projects</SidebarGroupLabel>
1376
- * <SidebarGroupContent>
1377
- * // Project items
1378
- * </SidebarGroupContent>
1379
- * </SidebarGroup>
1380
- * </SidebarContent>
1381
- * ```
1382
- *
1383
- * @features
1384
- * - Automatic scrolling for overflow content
1385
- * - Responsive to sidebar collapse states
1386
- * - Flexible gap spacing between child elements
1387
- * - Overflow hidden when collapsed to icon mode
1388
- *
1389
- * @see {@link SidebarGroup} - Content organization component
1390
- * @see {@link SidebarMenu} - Menu container component
1391
- * @since 1.0.0
418
+ * Scrollable main content area of sidebar. Contains SidebarGroup components.
1392
419
  */
1393
- function SidebarContent({
1394
- className,
1395
- ...props
1396
- }: {
1397
- className?: string;
1398
- } & React.ComponentProps<"div">) {
420
+ function SidebarContent({ className, ...props }: SidebarContentProps) {
1399
421
  return (
1400
422
  <div
1401
423
  data-slot="sidebar-content"
1402
424
  data-sidebar="content"
1403
425
  className={cn(
1404
- "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
426
+ "no-scrollbar gap-2 flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden",
1405
427
  className,
1406
428
  )}
1407
429
  {...props}
@@ -1409,452 +431,123 @@ function SidebarContent({
1409
431
  );
1410
432
  }
1411
433
 
434
+ type SidebarGroupProps = React.ComponentProps<"div">;
435
+
1412
436
  /**
1413
- * Container for organizing related sidebar navigation items
1414
- *
1415
- * Groups related navigation items together with optional labels and actions,
1416
- * providing visual organization and hierarchy for complex navigation structures.
1417
- * Groups can include labels, action buttons, and any combination of menu items.
1418
- *
1419
- * @component
1420
- *
1421
- * @param {string} [className] - Additional CSS classes
1422
- * @param {...React.ComponentProps<"div">} props - All div element props
1423
- *
1424
- * @example
1425
- * ```tsx
1426
- * // Basic group with label and menu
1427
- * <SidebarGroup>
1428
- * <SidebarGroupLabel>Navigation</SidebarGroupLabel>
1429
- * <SidebarGroupContent>
1430
- * <SidebarMenu>
1431
- * <SidebarMenuItem>
1432
- * <SidebarMenuButton>
1433
- * <Home />
1434
- * <span>Dashboard</span>
1435
- * </SidebarMenuButton>
1436
- * </SidebarMenuItem>
1437
- * </SidebarMenu>
1438
- * </SidebarGroupContent>
1439
- * </SidebarGroup>
1440
- * ```
1441
- *
1442
- * @example
1443
- * ```tsx
1444
- * // Group with action button
1445
- * <SidebarGroup>
1446
- * <SidebarGroupLabel>Projects</SidebarGroupLabel>
1447
- * <SidebarGroupAction>
1448
- * <Plus className="h-4 w-4" />
1449
- * <span className="sr-only">Add Project</span>
1450
- * </SidebarGroupAction>
1451
- * <SidebarGroupContent>
1452
- * // Project items
1453
- * </SidebarGroupContent>
1454
- * </SidebarGroup>
1455
- * ```
1456
- *
1457
- * @see {@link SidebarGroupLabel} - Group label component
1458
- * @see {@link SidebarGroupAction} - Group action button
1459
- * @see {@link SidebarGroupContent} - Group content container
1460
- * @since 1.0.0
437
+ * Container for grouped menu items with optional label.
1461
438
  */
1462
- function SidebarGroup({
1463
- className,
1464
- ...props
1465
- }: {
1466
- className?: string;
1467
- } & React.ComponentProps<"div">) {
439
+ function SidebarGroup({ className, ...props }: SidebarGroupProps) {
1468
440
  return (
1469
441
  <div
1470
442
  data-slot="sidebar-group"
1471
443
  data-sidebar="group"
1472
- className={cn("relative flex w-full min-w-0 flex-col p-2", className)}
444
+ className={cn("p-2 relative flex w-full min-w-0 flex-col", className)}
1473
445
  {...props}
1474
446
  />
1475
447
  );
1476
448
  }
1477
449
 
450
+ type SidebarGroupLabelProps = useRender.ComponentProps<"div"> &
451
+ React.ComponentProps<"div">;
452
+
1478
453
  /**
1479
- * Label component for sidebar groups
1480
- *
1481
- * Displays a descriptive label for a group of sidebar items, providing clear
1482
- * categorization and hierarchy. The label automatically hides when the sidebar
1483
- * is collapsed to icon mode to maintain clean visual presentation.
1484
- *
1485
- * @component
1486
- *
1487
- * @param {string} [className] - Additional CSS classes
1488
- * @param {boolean} [asChild=false] - Render as child element (using Slot)
1489
- * @param {...React.ComponentProps<"div">} props - All div element props
1490
- *
1491
- * @example
1492
- * ```tsx
1493
- * // Standard text label
1494
- * <SidebarGroup>
1495
- * <SidebarGroupLabel>Main Navigation</SidebarGroupLabel>
1496
- * <SidebarGroupContent>
1497
- * // Menu items
1498
- * </SidebarGroupContent>
1499
- * </SidebarGroup>
1500
- * ```
1501
- *
1502
- * @example
1503
- * ```tsx
1504
- * // Custom element using asChild
1505
- * <SidebarGroup>
1506
- * <SidebarGroupLabel asChild>
1507
- * <h3 className="custom-heading">Projects</h3>
1508
- * </SidebarGroupLabel>
1509
- * <SidebarGroupContent>
1510
- * // Project items
1511
- * </SidebarGroupContent>
1512
- * </SidebarGroup>
1513
- * ```
1514
- *
1515
- * @features
1516
- * - Automatic hide/show based on sidebar collapse state
1517
- * - Smooth opacity and margin transitions
1518
- * - Focus management for keyboard navigation
1519
- * - Support for custom elements via asChild prop
1520
- *
1521
- * @see {@link SidebarGroup} - Parent group container
1522
- * @see {@link SidebarGroupAction} - Associated action button
1523
- * @since 1.0.0
454
+ * Label heading for a sidebar group. Fades out when sidebar collapses to icon mode.
1524
455
  */
1525
456
  function SidebarGroupLabel({
1526
457
  className,
1527
- asChild = false,
458
+ render,
1528
459
  ...props
1529
- }: {
1530
- className?: string;
1531
- asChild?: boolean;
1532
- } & React.ComponentProps<"div">) {
1533
- const Comp = asChild ? Slot : "div";
1534
-
1535
- return (
1536
- <Comp
1537
- data-slot="sidebar-group-label"
1538
- data-sidebar="group-label"
1539
- className={cn(
1540
- "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1541
- "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
1542
- className,
1543
- )}
1544
- {...props}
1545
- />
1546
- );
460
+ }: SidebarGroupLabelProps) {
461
+ return useRender({
462
+ defaultTagName: "div",
463
+ props: mergeProps<"div">(
464
+ {
465
+ className: cn(
466
+ "text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0",
467
+ className,
468
+ ),
469
+ },
470
+ props,
471
+ ),
472
+ render,
473
+ state: {
474
+ slot: "sidebar-group-label",
475
+ sidebar: "group-label",
476
+ },
477
+ });
1547
478
  }
1548
479
 
480
+ type SidebarGroupActionProps = useRender.ComponentProps<"button"> &
481
+ React.ComponentProps<"button">;
482
+
1549
483
  /**
1550
- * Action button positioned within sidebar groups
1551
- *
1552
- * A compact action button positioned at the top-right of a sidebar group,
1553
- * typically used for group-specific actions such as adding new items, editing
1554
- * group settings, or accessing group options. Automatically hidden when collapsed.
1555
- *
1556
- * @component
1557
- *
1558
- * @param {string} [className] - Additional CSS classes
1559
- * @param {boolean} [asChild=false] - Render as child element (using Slot)
1560
- * @param {...React.ComponentProps<"button">} props - All button element props
1561
- *
1562
- * @example
1563
- * ```tsx
1564
- * // Add button for projects group
1565
- * <SidebarGroup>
1566
- * <SidebarGroupLabel>Projects</SidebarGroupLabel>
1567
- * <SidebarGroupAction>
1568
- * <Plus className="h-4 w-4" />
1569
- * <span className="sr-only">Add Project</span>
1570
- * </SidebarGroupAction>
1571
- * <SidebarGroupContent>
1572
- * // Project items
1573
- * </SidebarGroupContent>
1574
- * </SidebarGroup>
1575
- * ```
1576
- *
1577
- * @example
1578
- * ```tsx
1579
- * // Custom action with asChild
1580
- * <SidebarGroup>
1581
- * <SidebarGroupLabel>Settings</SidebarGroupLabel>
1582
- * <SidebarGroupAction asChild>
1583
- * <Button variant="ghost" size="sm">
1584
- * <MoreHorizontal className="h-4 w-4" />
1585
- * </Button>
1586
- * </SidebarGroupAction>
1587
- * <SidebarGroupContent>
1588
- * // Settings items
1589
- * </SidebarGroupContent>
1590
- * </SidebarGroup>
1591
- * ```
1592
- *
1593
- * @accessibility
1594
- * - Increased touch target on mobile devices
1595
- * - Keyboard accessible with focus management
1596
- * - Screen reader support with descriptive labels
1597
- *
1598
- * @see {@link SidebarGroup} - Parent group container
1599
- * @see {@link SidebarGroupLabel} - Associated group label
1600
- * @since 1.0.0
484
+ * Action button displayed in top-right of group (e.g., add, expand all).
1601
485
  */
1602
486
  function SidebarGroupAction({
1603
487
  className,
1604
- asChild = false,
488
+ render,
1605
489
  ...props
1606
- }: {
1607
- className?: string;
1608
- asChild?: boolean;
1609
- } & React.ComponentProps<"button">) {
1610
- const Comp = asChild ? Slot : "button";
1611
-
1612
- return (
1613
- <Comp
1614
- data-slot="sidebar-group-action"
1615
- data-sidebar="group-action"
1616
- className={cn(
1617
- "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
1618
- // Increases the hit area of the button on mobile.
1619
- "after:absolute after:-inset-2 md:after:hidden",
1620
- "group-data-[collapsible=icon]:hidden",
1621
- className,
1622
- )}
1623
- {...props}
1624
- />
1625
- );
490
+ }: SidebarGroupActionProps) {
491
+ return useRender({
492
+ defaultTagName: "button",
493
+ props: mergeProps<"button">(
494
+ {
495
+ className: cn(
496
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 w-5 rounded-md p-0 focus-visible:ring-2 [&>svg]:size-4 flex aspect-square items-center justify-center outline-hidden transition-transform [&>svg]:shrink-0 after:absolute after:-inset-2 md:after:hidden group-data-[collapsible=icon]:hidden",
497
+ className,
498
+ ),
499
+ },
500
+ props,
501
+ ),
502
+ render,
503
+ state: {
504
+ slot: "sidebar-group-action",
505
+ sidebar: "group-action",
506
+ },
507
+ });
1626
508
  }
1627
509
 
510
+ type SidebarGroupContentProps = React.ComponentProps<"div">;
511
+
1628
512
  /**
1629
- * Content container for sidebar group items
1630
- *
1631
- * Houses the actual navigation items, menus, and content within a sidebar group.
1632
- * Provides consistent spacing and organization for group content while maintaining
1633
- * proper typography and layout coordination.
1634
- *
1635
- * @component
1636
- *
1637
- * @param {string} [className] - Additional CSS classes
1638
- * @param {...React.ComponentProps<"div">} props - All div element props
1639
- *
1640
- * @example
1641
- * ```tsx
1642
- * // Basic content with menu items
1643
- * <SidebarGroup>
1644
- * <SidebarGroupLabel>Navigation</SidebarGroupLabel>
1645
- * <SidebarGroupContent>
1646
- * <SidebarMenu>
1647
- * <SidebarMenuItem>
1648
- * <SidebarMenuButton>
1649
- * <Home />
1650
- * <span>Dashboard</span>
1651
- * </SidebarMenuButton>
1652
- * </SidebarMenuItem>
1653
- * <SidebarMenuItem>
1654
- * <SidebarMenuButton>
1655
- * <Settings />
1656
- * <span>Settings</span>
1657
- * </SidebarMenuButton>
1658
- * </SidebarMenuItem>
1659
- * </SidebarMenu>
1660
- * </SidebarGroupContent>
1661
- * </SidebarGroup>
1662
- * ```
1663
- *
1664
- * @example
1665
- * ```tsx
1666
- * // Multiple menus in group content
1667
- * <SidebarGroup>
1668
- * <SidebarGroupLabel>Projects</SidebarGroupLabel>
1669
- * <SidebarGroupContent>
1670
- * <SidebarMenu>
1671
- * // Recent projects
1672
- * </SidebarMenu>
1673
- * <SidebarSeparator />
1674
- * <SidebarMenu>
1675
- * // Archived projects
1676
- * </SidebarMenu>
1677
- * </SidebarGroupContent>
1678
- * </SidebarGroup>
1679
- * ```
1680
- *
1681
- * @see {@link SidebarGroup} - Parent group container
1682
- * @see {@link SidebarMenu} - Menu container component
1683
- * @since 1.0.0
513
+ * Container for menu items within a group.
1684
514
  */
1685
515
  function SidebarGroupContent({
1686
516
  className,
1687
517
  ...props
1688
- }: {
1689
- className?: string;
1690
- } & React.ComponentProps<"div">) {
518
+ }: SidebarGroupContentProps) {
1691
519
  return (
1692
520
  <div
1693
521
  data-slot="sidebar-group-content"
1694
522
  data-sidebar="group-content"
1695
- className={cn("w-full text-sm", className)}
523
+ className={cn("text-sm w-full", className)}
1696
524
  {...props}
1697
525
  />
1698
526
  );
1699
527
  }
1700
528
 
529
+ type SidebarMenuProps = React.ComponentProps<"ul">;
530
+
1701
531
  /**
1702
- * Navigation menu container for organizing sidebar items
1703
- *
1704
- * An unordered list container that holds and organizes SidebarMenuItem components.
1705
- * Provides consistent spacing, layout, and semantic structure for navigation items
1706
- * within sidebar groups or sections.
1707
- *
1708
- * @component
1709
- *
1710
- * @param {string} [className] - Additional CSS classes
1711
- * @param {...React.ComponentProps<"ul">} props - All ul element props
1712
- *
1713
- * @example
1714
- * ```tsx
1715
- * // Basic navigation menu
1716
- * <SidebarMenu>
1717
- * <SidebarMenuItem>
1718
- * <SidebarMenuButton>
1719
- * <Home />
1720
- * <span>Dashboard</span>
1721
- * </SidebarMenuButton>
1722
- * </SidebarMenuItem>
1723
- * <SidebarMenuItem>
1724
- * <SidebarMenuButton>
1725
- * <Settings />
1726
- * <span>Settings</span>
1727
- * </SidebarMenuButton>
1728
- * </SidebarMenuItem>
1729
- * </SidebarMenu>
1730
- * ```
1731
- *
1732
- * @example
1733
- * ```tsx
1734
- * // Menu with badges and actions
1735
- * <SidebarMenu>
1736
- * <SidebarMenuItem>
1737
- * <SidebarMenuButton>
1738
- * <Inbox />
1739
- * <span>Messages</span>
1740
- * </SidebarMenuButton>
1741
- * <SidebarMenuBadge>3</SidebarMenuBadge>
1742
- * </SidebarMenuItem>
1743
- * <SidebarMenuItem>
1744
- * <SidebarMenuButton>
1745
- * <Archive />
1746
- * <span>Archive</span>
1747
- * </SidebarMenuButton>
1748
- * <SidebarMenuAction>
1749
- * <MoreHorizontal />
1750
- * </SidebarMenuAction>
1751
- * </SidebarMenuItem>
1752
- * </SidebarMenu>
1753
- * ```
1754
- *
1755
- * @accessibility
1756
- * - Semantic ul/li structure for screen readers
1757
- * - Proper navigation landmarks
1758
- * - Keyboard navigation support
1759
- *
1760
- * @see {@link SidebarMenuItem} - Individual menu item component
1761
- * @see {@link SidebarMenuButton} - Interactive menu button
1762
- * @since 1.0.0
532
+ * Unordered list container for sidebar menu items.
1763
533
  */
1764
- function SidebarMenu({
1765
- className,
1766
- ...props
1767
- }: {
1768
- className?: string;
1769
- } & React.ComponentProps<"ul">) {
534
+ function SidebarMenu({ className, ...props }: SidebarMenuProps) {
1770
535
  return (
1771
536
  <ul
1772
537
  data-slot="sidebar-menu"
1773
538
  data-sidebar="menu"
1774
- className={cn("flex w-full min-w-0 flex-col gap-1", className)}
539
+ className={cn("gap-1 flex w-full min-w-0 flex-col", className)}
1775
540
  {...props}
1776
541
  />
1777
542
  );
1778
543
  }
1779
544
 
545
+ type SidebarMenuItemProps = React.ComponentProps<"li">;
546
+
1780
547
  /**
1781
- * Individual menu item container for sidebar navigation
1782
- *
1783
- * A list item container that wraps a single navigation item, typically containing
1784
- * a SidebarMenuButton along with optional components like SidebarMenuAction,
1785
- * SidebarMenuBadge, or SidebarMenuSub for hierarchical navigation.
1786
- *
1787
- * @component
1788
- *
1789
- * @param {string} [className] - Additional CSS classes
1790
- * @param {...React.ComponentProps<"li">} props - All li element props
1791
- *
1792
- * @example
1793
- * ```tsx
1794
- * // Simple menu item with button
1795
- * <SidebarMenuItem>
1796
- * <SidebarMenuButton>
1797
- * <Home />
1798
- * <span>Dashboard</span>
1799
- * </SidebarMenuButton>
1800
- * </SidebarMenuItem>
1801
- * ```
1802
- *
1803
- * @example
1804
- * ```tsx
1805
- * // Menu item with badge
1806
- * <SidebarMenuItem>
1807
- * <SidebarMenuButton>
1808
- * <Inbox />
1809
- * <span>Messages</span>
1810
- * </SidebarMenuButton>
1811
- * <SidebarMenuBadge>5</SidebarMenuBadge>
1812
- * </SidebarMenuItem>
1813
- * ```
1814
- *
1815
- * @example
1816
- * ```tsx
1817
- * // Menu item with action button
1818
- * <SidebarMenuItem>
1819
- * <SidebarMenuButton>
1820
- * <Folder />
1821
- * <span>Projects</span>
1822
- * </SidebarMenuButton>
1823
- * <SidebarMenuAction showOnHover>
1824
- * <Plus />
1825
- * </SidebarMenuAction>
1826
- * </SidebarMenuItem>
1827
- * ```
1828
- *
1829
- * @example
1830
- * ```tsx
1831
- * // Menu item with submenu
1832
- * <SidebarMenuItem>
1833
- * <SidebarMenuButton>
1834
- * <Folder />
1835
- * <span>Projects</span>
1836
- * <ChevronRight className="ml-auto" />
1837
- * </SidebarMenuButton>
1838
- * <SidebarMenuSub>
1839
- * <SidebarMenuSubItem>
1840
- * <SidebarMenuSubButton>Web App</SidebarMenuSubButton>
1841
- * </SidebarMenuSubItem>
1842
- * </SidebarMenuSub>
1843
- * </SidebarMenuItem>
1844
- * ```
1845
- *
1846
- * @see {@link SidebarMenu} - Parent menu container
1847
- * @see {@link SidebarMenuButton} - Interactive button component
1848
- * @see {@link SidebarMenuAction} - Action button component
1849
- * @see {@link SidebarMenuBadge} - Badge indicator component
1850
- * @since 1.0.0
548
+ * List item wrapper for a single menu entry.
1851
549
  */
1852
- function SidebarMenuItem({
1853
- className,
1854
- ...props
1855
- }: {
1856
- className?: string;
1857
- } & React.ComponentProps<"li">) {
550
+ function SidebarMenuItem({ className, ...props }: SidebarMenuItemProps) {
1858
551
  return (
1859
552
  <li
1860
553
  data-slot="sidebar-menu-item"
@@ -1865,24 +558,14 @@ function SidebarMenuItem({
1865
558
  );
1866
559
  }
1867
560
 
1868
- /**
1869
- * SidebarMenuButton variant configuration for visual appearances and sizes
1870
- *
1871
- * @variant default - Standard menu button with subtle hover states
1872
- * @variant outline - Button with border background that highlights on interaction
1873
- *
1874
- * @size default - Standard button height (h-8) with text-sm
1875
- * @size sm - Compact button height (h-7) with text-xs for dense layouts
1876
- * @size lg - Large button height (h-12) with text-sm, collapses to icon padding when sidebar is collapsed
1877
- */
1878
561
  const sidebarMenuButtonVariants = cva(
1879
- "peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
562
+ "ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button flex w-full items-center overflow-hidden outline-hidden group/menu-button disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&_svg]:size-4 [&_svg]:shrink-0",
1880
563
  {
1881
564
  variants: {
1882
565
  variant: {
1883
566
  default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",
1884
567
  outline:
1885
- "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
568
+ "bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
1886
569
  },
1887
570
  size: {
1888
571
  default: "h-8 text-sm",
@@ -1897,133 +580,46 @@ const sidebarMenuButtonVariants = cva(
1897
580
  },
1898
581
  );
1899
582
 
583
+ type SidebarMenuButtonProps = useRender.ComponentProps<"button"> &
584
+ React.ComponentProps<"button"> & {
585
+ /** Mark as active/current page. */
586
+ isActive?: boolean;
587
+ /** Tooltip content shown when sidebar is collapsed. */
588
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
589
+ } & VariantProps<typeof sidebarMenuButtonVariants>;
590
+
1900
591
  /**
1901
- * Interactive navigation button for sidebar menu items
1902
- *
1903
- * The primary interactive element for sidebar navigation, offering a flexible button
1904
- * component that supports active states, multiple visual variants, tooltip integration
1905
- * for collapsed modes, and composition patterns through the asChild prop. Automatically
1906
- * adapts its appearance based on sidebar state and provides smooth hover/focus transitions.
1907
- *
1908
- * @component
1909
- *
1910
- * @param {boolean} [asChild=false] - Render as child element using Slot composition
1911
- * @param {boolean} [isActive=false] - Whether this menu item is currently active
1912
- * @param {"default" | "outline"} [variant="default"] - Visual variant:
1913
- * - `default`: Standard button appearance with hover states
1914
- * - `outline`: Button with border and background on hover
1915
- * @param {"default" | "sm" | "lg"} [size="default"] - Button size variant:
1916
- * - `default`: Standard height (h-8)
1917
- * - `sm`: Small height (h-7)
1918
- * - `lg`: Large height (h-12)
1919
- * @param {string | React.ComponentProps<typeof TooltipContent>} [tooltip] - Tooltip content shown when sidebar is collapsed
1920
- * @param {string} [className] - Additional CSS classes
1921
- * @param {...React.ComponentProps<"button">} props - All button element props
1922
- *
1923
- * @example
1924
- * ```tsx
1925
- * // Basic navigation button
1926
- * <SidebarMenuButton>
1927
- * <Home className="h-4 w-4" />
1928
- * <span>Dashboard</span>
1929
- * </SidebarMenuButton>
1930
- * ```
1931
- *
1932
- * @example
1933
- * ```tsx
1934
- * // Active state with Link composition
1935
- * <SidebarMenuButton asChild isActive={pathname === '/dashboard'}>
1936
- * <Link href="/dashboard">
1937
- * <Home className="h-4 w-4" />
1938
- * <span>Dashboard</span>
1939
- * </Link>
1940
- * </SidebarMenuButton>
1941
- * ```
1942
- *
1943
- * @example
1944
- * ```tsx
1945
- * // With tooltip for collapsed mode
1946
- * <SidebarMenuButton tooltip="Go to Dashboard">
1947
- * <Home className="h-4 w-4" />
1948
- * <span>Dashboard</span>
1949
- * </SidebarMenuButton>
1950
- * ```
1951
- *
1952
- * @example
1953
- * ```tsx
1954
- * // Different variants and sizes
1955
- * <SidebarMenuButton variant="outline" size="lg">
1956
- * <Settings className="h-4 w-4" />
1957
- * <span>Settings</span>
1958
- * </SidebarMenuButton>
1959
- * ```
1960
- *
1961
- * @example
1962
- * ```tsx
1963
- * // Custom tooltip with props
1964
- * <SidebarMenuButton
1965
- * tooltip={{
1966
- * children: "Dashboard Overview",
1967
- * side: "right",
1968
- * sideOffset: 10
1969
- * }}
1970
- * >
1971
- * <Home className="h-4 w-4" />
1972
- * <span>Dashboard</span>
1973
- * </SidebarMenuButton>
1974
- * ```
1975
- *
1976
- * @accessibility
1977
- * - Full keyboard navigation support (Enter, Space)
1978
- * - Focus visible ring for keyboard users
1979
- * - Active state indication for screen readers
1980
- * - Tooltip automatically shown/hidden based on sidebar state
1981
- * - Proper contrast ratios for all states
1982
- * - Support for screen reader announcements
1983
- *
1984
- * @responsive
1985
- * - Automatically adapts to collapsed sidebar (icon-only mode)
1986
- * - Tooltip integration for collapsed state
1987
- * - Touch-friendly sizing on mobile devices
1988
- * - Smooth transitions between states
1989
- *
1990
- * @see {@link SidebarMenuItem} - Parent menu item container
1991
- * @see {@link SidebarMenuAction} - Secondary action button
1992
- * @see {@link SidebarMenuBadge} - Badge component for notifications
1993
- * @see {@link useSidebar} - Hook for sidebar state
1994
- * @since 1.0.0
592
+ * Clickable button for sidebar menu item. Supports variants, sizes, active state, and tooltips.
1995
593
  */
1996
594
  function SidebarMenuButton({
1997
- asChild = false,
595
+ render,
1998
596
  isActive = false,
1999
597
  variant = "default",
2000
598
  size = "default",
2001
599
  tooltip,
2002
600
  className,
2003
601
  ...props
2004
- }: {
2005
- asChild?: boolean;
2006
- isActive?: boolean;
2007
- tooltip?: string | React.ComponentProps<typeof TooltipContent>;
2008
- className?: string;
2009
- } & VariantProps<typeof sidebarMenuButtonVariants> &
2010
- React.ComponentProps<"button">) {
2011
- const Comp = asChild ? Slot : "button";
602
+ }: SidebarMenuButtonProps) {
2012
603
  const { isMobile, state } = useSidebar();
2013
-
2014
- const button = (
2015
- <Comp
2016
- data-slot="sidebar-menu-button"
2017
- data-sidebar="menu-button"
2018
- data-size={size}
2019
- data-active={isActive}
2020
- className={cn(sidebarMenuButtonVariants({ variant, size }), className)}
2021
- {...props}
2022
- />
2023
- );
604
+ const comp = useRender({
605
+ defaultTagName: "button",
606
+ props: mergeProps<"button">(
607
+ {
608
+ className: cn(sidebarMenuButtonVariants({ variant, size }), className),
609
+ },
610
+ props,
611
+ ),
612
+ render: !tooltip ? render : TooltipTrigger,
613
+ state: {
614
+ slot: "sidebar-menu-button",
615
+ sidebar: "menu-button",
616
+ size,
617
+ active: isActive,
618
+ },
619
+ });
2024
620
 
2025
621
  if (!tooltip) {
2026
- return button;
622
+ return comp;
2027
623
  }
2028
624
 
2029
625
  if (typeof tooltip === "string") {
@@ -2034,7 +630,7 @@ function SidebarMenuButton({
2034
630
 
2035
631
  return (
2036
632
  <Tooltip>
2037
- <TooltipTrigger asChild>{button}</TooltipTrigger>
633
+ {comp}
2038
634
  <TooltipContent
2039
635
  side="right"
2040
636
  align="center"
@@ -2045,195 +641,54 @@ function SidebarMenuButton({
2045
641
  );
2046
642
  }
2047
643
 
644
+ type SidebarMenuActionProps = useRender.ComponentProps<"button"> &
645
+ React.ComponentProps<"button"> & {
646
+ /** Only show on hover/focus. @default false */
647
+ showOnHover?: boolean;
648
+ };
649
+
2048
650
  /**
2049
- * Secondary action button for sidebar menu items
2050
- *
2051
- * A compact action button positioned on the right side of menu items, providing
2052
- * secondary actions like edit, delete, or more options. Can be configured to show
2053
- * only on hover for cleaner interfaces or remain always visible for important actions.
2054
- *
2055
- * @component
2056
- *
2057
- * @param {string} [className] - Additional CSS classes
2058
- * @param {boolean} [asChild=false] - Render as child element using Slot composition
2059
- * @param {boolean} [showOnHover=false] - Only show button on menu item hover
2060
- * @param {...React.ComponentProps<"button">} props - All button element props
2061
- *
2062
- * @example
2063
- * ```tsx
2064
- * // Always visible action button
2065
- * <SidebarMenuItem>
2066
- * <SidebarMenuButton>
2067
- * <Folder />
2068
- * <span>Projects</span>
2069
- * </SidebarMenuButton>
2070
- * <SidebarMenuAction>
2071
- * <MoreHorizontal className="h-4 w-4" />
2072
- * </SidebarMenuAction>
2073
- * </SidebarMenuItem>
2074
- * ```
2075
- *
2076
- * @example
2077
- * ```tsx
2078
- * // Show only on hover
2079
- * <SidebarMenuItem>
2080
- * <SidebarMenuButton>
2081
- * <File />
2082
- * <span>Document</span>
2083
- * </SidebarMenuButton>
2084
- * <SidebarMenuAction showOnHover>
2085
- * <Trash2 className="h-4 w-4" />
2086
- * </SidebarMenuAction>
2087
- * </SidebarMenuItem>
2088
- * ```
2089
- *
2090
- * @example
2091
- * ```tsx
2092
- * // Custom action with asChild
2093
- * <SidebarMenuItem>
2094
- * <SidebarMenuButton>
2095
- * <Star />
2096
- * <span>Favorites</span>
2097
- * </SidebarMenuButton>
2098
- * <SidebarMenuAction asChild>
2099
- * <DropdownMenu>
2100
- * <DropdownMenuTrigger>
2101
- * <MoreVertical className="h-4 w-4" />
2102
- * </DropdownMenuTrigger>
2103
- * <DropdownMenuContent>
2104
- * <DropdownMenuItem>Edit</DropdownMenuItem>
2105
- * <DropdownMenuItem>Delete</DropdownMenuItem>
2106
- * </DropdownMenuContent>
2107
- * </DropdownMenu>
2108
- * </SidebarMenuAction>
2109
- * </SidebarMenuItem>
2110
- * ```
2111
- *
2112
- * @accessibility
2113
- * - Increased touch target area on mobile devices
2114
- * - Keyboard accessible with proper focus management
2115
- * - Hidden from screen readers when showOnHover and not focused
2116
- * - Proper contrast ratios for visibility
2117
- *
2118
- * @see {@link SidebarMenuItem} - Parent menu item
2119
- * @see {@link SidebarMenuButton} - Primary menu button
2120
- * @since 1.0.0
651
+ * Secondary action button for menu item (e.g., delete, edit). Positioned on right side.
2121
652
  */
2122
653
  function SidebarMenuAction({
2123
654
  className,
2124
- asChild = false,
655
+ render,
2125
656
  showOnHover = false,
2126
657
  ...props
2127
- }: {
2128
- className?: string;
2129
- asChild?: boolean;
2130
- showOnHover?: boolean;
2131
- } & React.ComponentProps<"button">) {
2132
- const Comp = asChild ? Slot : "button";
2133
-
2134
- return (
2135
- <Comp
2136
- data-slot="sidebar-menu-action"
2137
- data-sidebar="menu-action"
2138
- className={cn(
2139
- "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
2140
- // Increases the hit area of the button on mobile.
2141
- "after:absolute after:-inset-2 md:after:hidden",
2142
- "peer-data-[size=sm]/menu-button:top-1",
2143
- "peer-data-[size=default]/menu-button:top-1.5",
2144
- "peer-data-[size=lg]/menu-button:top-2.5",
2145
- "group-data-[collapsible=icon]:hidden",
2146
- showOnHover &&
2147
- "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
2148
- className,
2149
- )}
2150
- {...props}
2151
- />
2152
- );
658
+ }: SidebarMenuActionProps) {
659
+ return useRender({
660
+ defaultTagName: "button",
661
+ props: mergeProps<"button">(
662
+ {
663
+ className: cn(
664
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4 flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",
665
+ showOnHover &&
666
+ "peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-open:opacity-100 md:opacity-0",
667
+ className,
668
+ ),
669
+ },
670
+ props,
671
+ ),
672
+ render,
673
+ state: {
674
+ slot: "sidebar-menu-action",
675
+ sidebar: "menu-action",
676
+ },
677
+ });
2153
678
  }
2154
679
 
680
+ type SidebarMenuBadgeProps = React.ComponentProps<"div">;
681
+
2155
682
  /**
2156
- * Badge indicator component for menu items
2157
- *
2158
- * Displays count indicators, status badges, or notification markers on menu items.
2159
- * Positioned on the right side of menu items and automatically coordinates with
2160
- * menu button states and sidebar collapse behavior.
2161
- *
2162
- * @component
2163
- *
2164
- * @param {string} [className] - Additional CSS classes
2165
- * @param {...React.ComponentProps<"div">} props - All div element props
2166
- *
2167
- * @example
2168
- * ```tsx
2169
- * // Unread count badge
2170
- * <SidebarMenuItem>
2171
- * <SidebarMenuButton>
2172
- * <Inbox />
2173
- * <span>Messages</span>
2174
- * </SidebarMenuButton>
2175
- * <SidebarMenuBadge>12</SidebarMenuBadge>
2176
- * </SidebarMenuItem>
2177
- * ```
2178
- *
2179
- * @example
2180
- * ```tsx
2181
- * // Status indicator
2182
- * <SidebarMenuItem>
2183
- * <SidebarMenuButton>
2184
- * <Activity />
2185
- * <span>System Status</span>
2186
- * </SidebarMenuButton>
2187
- * <SidebarMenuBadge className="bg-green-500">●</SidebarMenuBadge>
2188
- * </SidebarMenuItem>
2189
- * ```
2190
- *
2191
- * @example
2192
- * ```tsx
2193
- * // Dynamic badge with state
2194
- * <SidebarMenuItem>
2195
- * <SidebarMenuButton>
2196
- * <Bell />
2197
- * <span>Notifications</span>
2198
- * </SidebarMenuButton>
2199
- * {notificationCount > 0 && (
2200
- * <SidebarMenuBadge>{notificationCount}</SidebarMenuBadge>
2201
- * )}
2202
- * </SidebarMenuItem>
2203
- * ```
2204
- *
2205
- * @features
2206
- * - Automatic positioning relative to menu button size
2207
- * - Hidden when sidebar is collapsed to icon mode
2208
- * - Tabular numbers for consistent numeric display
2209
- * - Pointer events disabled to prevent interference
2210
- *
2211
- * @accessibility
2212
- * - Non-interactive (pointer-events-none)
2213
- * - Proper color contrast for readability
2214
- * - Screen reader friendly with appropriate text
2215
- *
2216
- * @see {@link SidebarMenuItem} - Parent menu item
2217
- * @see {@link SidebarMenuButton} - Associated menu button
2218
- * @since 1.0.0
683
+ * Badge/counter displayed on right side of menu item (e.g., notification count).
2219
684
  */
2220
- function SidebarMenuBadge({
2221
- className,
2222
- ...props
2223
- }: {
2224
- className?: string;
2225
- } & React.ComponentProps<"div">) {
685
+ function SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps) {
2226
686
  return (
2227
687
  <div
2228
688
  data-slot="sidebar-menu-badge"
2229
689
  data-sidebar="menu-badge"
2230
690
  className={cn(
2231
- "text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none",
2232
- "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
2233
- "peer-data-[size=sm]/menu-button:top-1",
2234
- "peer-data-[size=default]/menu-button:top-1.5",
2235
- "peer-data-[size=lg]/menu-button:top-2.5",
2236
- "group-data-[collapsible=icon]:hidden",
691
+ "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-active/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 rounded-md px-1 text-xs font-medium peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 flex items-center justify-center tabular-nums select-none group-data-[collapsible=icon]:hidden",
2237
692
  className,
2238
693
  )}
2239
694
  {...props}
@@ -2241,94 +696,29 @@ function SidebarMenuBadge({
2241
696
  );
2242
697
  }
2243
698
 
699
+ type SidebarMenuSkeletonProps = React.ComponentProps<"div"> & {
700
+ /** Show icon skeleton. @default false */
701
+ showIcon?: boolean;
702
+ };
703
+
2244
704
  /**
2245
- * Loading skeleton placeholder for menu items
2246
- *
2247
- * Displays an animated loading placeholder while menu items are being fetched
2248
- * or loaded. Features random width variation to simulate realistic content
2249
- * and optional icon placeholder for more accurate representation.
2250
- *
2251
- * @component
2252
- *
2253
- * @param {string} [className] - Additional CSS classes
2254
- * @param {boolean} [showIcon=false] - Whether to show icon placeholder
2255
- * @param {...React.ComponentProps<"div">} props - All div element props
2256
- *
2257
- * @example
2258
- * ```tsx
2259
- * // Basic skeleton without icon
2260
- * <SidebarMenu>
2261
- * <SidebarMenuItem>
2262
- * <SidebarMenuSkeleton />
2263
- * </SidebarMenuItem>
2264
- * <SidebarMenuItem>
2265
- * <SidebarMenuSkeleton />
2266
- * </SidebarMenuItem>
2267
- * </SidebarMenu>
2268
- * ```
2269
- *
2270
- * @example
2271
- * ```tsx
2272
- * // Skeleton with icon placeholder
2273
- * <SidebarMenu>
2274
- * {Array.from({ length: 5 }).map((_, index) => (
2275
- * <SidebarMenuItem key={index}>
2276
- * <SidebarMenuSkeleton showIcon />
2277
- * </SidebarMenuItem>
2278
- * ))}
2279
- * </SidebarMenu>
2280
- * ```
2281
- *
2282
- * @example
2283
- * ```tsx
2284
- * // Loading state with React Suspense
2285
- * <SidebarGroup>
2286
- * <SidebarGroupLabel>Projects</SidebarGroupLabel>
2287
- * <SidebarGroupContent>
2288
- * <SidebarMenu>
2289
- * <React.Suspense
2290
- * fallback={
2291
- * <>
2292
- * <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
2293
- * <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
2294
- * <SidebarMenuItem><SidebarMenuSkeleton showIcon /></SidebarMenuItem>
2295
- * </>
2296
- * }
2297
- * >
2298
- * <ProjectsList />
2299
- * </React.Suspense>
2300
- * </SidebarMenu>
2301
- * </SidebarGroupContent>
2302
- * </SidebarGroup>
2303
- * ```
2304
- *
2305
- * @features
2306
- * - Random width variation (50-90%) for realistic appearance
2307
- * - Optional icon skeleton placeholder
2308
- * - Smooth loading animation
2309
- * - Proper sizing to match actual menu items
2310
- *
2311
- * @see {@link SidebarMenuItem} - Container for skeleton
2312
- * @see {@link SidebarMenu} - Parent menu container
2313
- * @see {@link Skeleton} - Base skeleton component
2314
- * @since 1.0.0
705
+ * Loading skeleton placeholder for menu item with randomized width.
2315
706
  */
2316
707
  function SidebarMenuSkeleton({
2317
708
  className,
2318
709
  showIcon = false,
2319
710
  ...props
2320
- }: {
2321
- className?: string;
2322
- showIcon?: boolean;
2323
- } & React.ComponentProps<"div">) {
711
+ }: SidebarMenuSkeletonProps) {
2324
712
  // Random width between 50 to 90%.
2325
- const width = `${Math.floor(Math.random() * 40) + 50}%`;
713
+ const [width] = React.useState(() => {
714
+ return `${Math.floor(Math.random() * 40) + 50}%`;
715
+ });
2326
716
 
2327
717
  return (
2328
718
  <div
2329
719
  data-slot="sidebar-menu-skeleton"
2330
720
  data-sidebar="menu-skeleton"
2331
- className={cn("flex h-8 items-center gap-2 rounded-md px-2", className)}
721
+ className={cn("h-8 gap-2 rounded-md px-2 flex items-center", className)}
2332
722
  {...props}
2333
723
  >
2334
724
  {showIcon && (
@@ -2350,98 +740,18 @@ function SidebarMenuSkeleton({
2350
740
  );
2351
741
  }
2352
742
 
743
+ type SidebarMenuSubProps = React.ComponentProps<"ul">;
744
+
2353
745
  /**
2354
- * Submenu container for hierarchical navigation
2355
- *
2356
- * A specialized container for nested navigation items that provides visual hierarchy
2357
- * through indentation and connecting border lines. Perfect for organizing complex
2358
- * navigation structures with parent-child relationships.
2359
- *
2360
- * @component
2361
- *
2362
- * @param {string} [className] - Additional CSS classes
2363
- * @param {...React.ComponentProps<"ul">} props - All ul element props
2364
- *
2365
- * @example
2366
- * ```tsx
2367
- * // Collapsible submenu with parent item
2368
- * <SidebarMenuItem>
2369
- * <Collapsible>
2370
- * <CollapsibleTrigger asChild>
2371
- * <SidebarMenuButton>
2372
- * <Folder />
2373
- * <span>Projects</span>
2374
- * <ChevronRight className="ml-auto transition-transform group-data-[state=open]:rotate-90" />
2375
- * </SidebarMenuButton>
2376
- * </CollapsibleTrigger>
2377
- * <CollapsibleContent>
2378
- * <SidebarMenuSub>
2379
- * <SidebarMenuSubItem>
2380
- * <SidebarMenuSubButton>Web Application</SidebarMenuSubButton>
2381
- * </SidebarMenuSubItem>
2382
- * <SidebarMenuSubItem>
2383
- * <SidebarMenuSubButton>Mobile App</SidebarMenuSubButton>
2384
- * </SidebarMenuSubItem>
2385
- * <SidebarMenuSubItem>
2386
- * <SidebarMenuSubButton>Documentation</SidebarMenuSubButton>
2387
- * </SidebarMenuSubItem>
2388
- * </SidebarMenuSub>
2389
- * </CollapsibleContent>
2390
- * </Collapsible>
2391
- * </SidebarMenuItem>
2392
- * ```
2393
- *
2394
- * @example
2395
- * ```tsx
2396
- * // Always expanded submenu
2397
- * <SidebarMenuItem>
2398
- * <SidebarMenuButton>
2399
- * <Settings />
2400
- * <span>Settings</span>
2401
- * </SidebarMenuButton>
2402
- * <SidebarMenuSub>
2403
- * <SidebarMenuSubItem>
2404
- * <SidebarMenuSubButton>General</SidebarMenuSubButton>
2405
- * </SidebarMenuSubItem>
2406
- * <SidebarMenuSubItem>
2407
- * <SidebarMenuSubButton>Privacy</SidebarMenuSubButton>
2408
- * </SidebarMenuSubItem>
2409
- * <SidebarMenuSubItem>
2410
- * <SidebarMenuSubButton>Security</SidebarMenuSubButton>
2411
- * </SidebarMenuSubItem>
2412
- * </SidebarMenuSub>
2413
- * </SidebarMenuItem>
2414
- * ```
2415
- *
2416
- * @features
2417
- * - Visual hierarchy with left border and indentation
2418
- * - Automatic hiding when sidebar is collapsed
2419
- * - Proper spacing and alignment with parent items
2420
- * - Seamless integration with collapsible components
2421
- *
2422
- * @accessibility
2423
- * - Semantic ul/li structure for screen readers
2424
- * - Proper nesting hierarchy for navigation
2425
- * - Keyboard navigation support
2426
- *
2427
- * @see {@link SidebarMenuSubItem} - Individual submenu item
2428
- * @see {@link SidebarMenuSubButton} - Submenu button component
2429
- * @see {@link SidebarMenuItem} - Parent menu item
2430
- * @since 1.0.0
746
+ * Nested submenu list with indented border. Place inside SidebarMenuItem.
2431
747
  */
2432
- function SidebarMenuSub({
2433
- className,
2434
- ...props
2435
- }: {
2436
- className?: string;
2437
- } & React.ComponentProps<"ul">) {
748
+ function SidebarMenuSub({ className, ...props }: SidebarMenuSubProps) {
2438
749
  return (
2439
750
  <ul
2440
751
  data-slot="sidebar-menu-sub"
2441
752
  data-sidebar="menu-sub"
2442
753
  className={cn(
2443
- "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5",
2444
- "group-data-[collapsible=icon]:hidden",
754
+ "border-sidebar-border mx-3.5 translate-x-px gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden flex min-w-0 flex-col",
2445
755
  className,
2446
756
  )}
2447
757
  {...props}
@@ -2449,58 +759,12 @@ function SidebarMenuSub({
2449
759
  );
2450
760
  }
2451
761
 
762
+ type SidebarMenuSubItemProps = React.ComponentProps<"li">;
763
+
2452
764
  /**
2453
- * Individual item container within submenu navigation
2454
- *
2455
- * A list item container for single nested navigation items within a submenu,
2456
- * providing the structural foundation for hierarchical navigation elements.
2457
- *
2458
- * @component
2459
- *
2460
- * @param {string} [className] - Additional CSS classes
2461
- * @param {...React.ComponentProps<"li">} props - All li element props
2462
- *
2463
- * @example
2464
- * ```tsx
2465
- * // Basic submenu item
2466
- * <SidebarMenuSub>
2467
- * <SidebarMenuSubItem>
2468
- * <SidebarMenuSubButton asChild>
2469
- * <Link href="/projects/web-app">
2470
- * <span>Web Application</span>
2471
- * </Link>
2472
- * </SidebarMenuSubButton>
2473
- * </SidebarMenuSubItem>
2474
- * </SidebarMenuSub>
2475
- * ```
2476
- *
2477
- * @example
2478
- * ```tsx
2479
- * // Submenu item with active state
2480
- * <SidebarMenuSub>
2481
- * <SidebarMenuSubItem>
2482
- * <SidebarMenuSubButton
2483
- * isActive={pathname === '/settings/general'}
2484
- * asChild
2485
- * >
2486
- * <Link href="/settings/general">
2487
- * <span>General Settings</span>
2488
- * </Link>
2489
- * </SidebarMenuSubButton>
2490
- * </SidebarMenuSubItem>
2491
- * </SidebarMenuSub>
2492
- * ```
2493
- *
2494
- * @see {@link SidebarMenuSub} - Parent submenu container
2495
- * @see {@link SidebarMenuSubButton} - Interactive button component
2496
- * @since 1.0.0
765
+ * List item wrapper for submenu entry.
2497
766
  */
2498
- function SidebarMenuSubItem({
2499
- className,
2500
- ...props
2501
- }: {
2502
- className?: string;
2503
- } & React.ComponentProps<"li">) {
767
+ function SidebarMenuSubItem({ className, ...props }: SidebarMenuSubItemProps) {
2504
768
  return (
2505
769
  <li
2506
770
  data-slot="sidebar-menu-sub-item"
@@ -2511,118 +775,43 @@ function SidebarMenuSubItem({
2511
775
  );
2512
776
  }
2513
777
 
778
+ type SidebarMenuSubButtonProps = useRender.ComponentProps<"a"> &
779
+ React.ComponentProps<"a"> & {
780
+ /** Size variant. @default "md" */
781
+ size?: "sm" | "md";
782
+ /** Mark as active/current page. */
783
+ isActive?: boolean;
784
+ };
785
+
2514
786
  /**
2515
- * Interactive button component for submenu navigation
2516
- *
2517
- * The primary interactive element for nested navigation items within submenus,
2518
- * featuring support for active states, different sizes, and composition patterns.
2519
- * Designed specifically for hierarchical navigation with appropriate styling and spacing.
2520
- *
2521
- * @component
2522
- *
2523
- * @param {boolean} [asChild=false] - Render as child element using Slot composition
2524
- * @param {"sm" | "md"} [size="md"] - Button size variant:
2525
- * - `sm`: Small size with text-xs
2526
- * - `md`: Medium size with text-sm
2527
- * @param {boolean} [isActive=false] - Whether this submenu item is currently active
2528
- * @param {string} [className] - Additional CSS classes
2529
- * @param {...React.ComponentProps<"a">} props - All anchor element props
2530
- *
2531
- * @example
2532
- * ```tsx
2533
- * // Basic submenu button
2534
- * <SidebarMenuSubItem>
2535
- * <SidebarMenuSubButton>
2536
- * <span>Documentation</span>
2537
- * </SidebarMenuSubButton>
2538
- * </SidebarMenuSubItem>
2539
- * ```
2540
- *
2541
- * @example
2542
- * ```tsx
2543
- * // Link composition with active state
2544
- * <SidebarMenuSubItem>
2545
- * <SidebarMenuSubButton
2546
- * asChild
2547
- * isActive={pathname === '/projects/mobile'}
2548
- * >
2549
- * <Link href="/projects/mobile">
2550
- * <span>Mobile Application</span>
2551
- * </Link>
2552
- * </SidebarMenuSubButton>
2553
- * </SidebarMenuSubItem>
2554
- * ```
2555
- *
2556
- * @example
2557
- * ```tsx
2558
- * // Small size variant
2559
- * <SidebarMenuSubItem>
2560
- * <SidebarMenuSubButton size="sm">
2561
- * <span>API Reference</span>
2562
- * </SidebarMenuSubButton>
2563
- * </SidebarMenuSubItem>
2564
- * ```
2565
- *
2566
- * @example
2567
- * ```tsx
2568
- * // With icon and custom styling
2569
- * <SidebarMenuSubItem>
2570
- * <SidebarMenuSubButton className="gap-3">
2571
- * <File className="h-3 w-3" />
2572
- * <span>README.md</span>
2573
- * </SidebarMenuSubButton>
2574
- * </SidebarMenuSubItem>
2575
- * ```
2576
- *
2577
- * @accessibility
2578
- * - Full keyboard navigation support
2579
- * - Focus visible indicators
2580
- * - Active state indication for screen readers
2581
- * - Proper contrast ratios for all states
2582
- * - Support for assistive technology navigation
2583
- *
2584
- * @features
2585
- * - Automatic hiding when parent sidebar is collapsed
2586
- * - Smooth hover and focus transitions
2587
- * - Consistent spacing with parent menu items
2588
- * - Overflow text truncation for long labels
2589
- *
2590
- * @see {@link SidebarMenuSubItem} - Parent submenu item container
2591
- * @see {@link SidebarMenuSub} - Submenu container
2592
- * @see {@link SidebarMenuButton} - Parent menu button
2593
- * @since 1.0.0
787
+ * Link button for submenu item. Defaults to anchor tag.
2594
788
  */
2595
789
  function SidebarMenuSubButton({
2596
- asChild = false,
790
+ render,
2597
791
  size = "md",
2598
792
  isActive = false,
2599
793
  className,
2600
794
  ...props
2601
- }: {
2602
- asChild?: boolean;
2603
- size?: "sm" | "md";
2604
- isActive?: boolean;
2605
- className?: string;
2606
- } & React.ComponentProps<"a">) {
2607
- const Comp = asChild ? Slot : "a";
2608
-
2609
- return (
2610
- <Comp
2611
- data-slot="sidebar-menu-sub-button"
2612
- data-sidebar="menu-sub-button"
2613
- data-size={size}
2614
- data-active={isActive}
2615
- className={cn(
2616
- "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
2617
- "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
2618
- size === "sm" && "text-xs",
2619
- size === "md" && "text-sm",
2620
- "group-data-[collapsible=icon]:hidden",
2621
- className,
2622
- )}
2623
- {...props}
2624
- />
2625
- );
795
+ }: SidebarMenuSubButtonProps) {
796
+ return useRender({
797
+ defaultTagName: "a",
798
+ props: mergeProps<"a">(
799
+ {
800
+ className: cn(
801
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0",
802
+ className,
803
+ ),
804
+ },
805
+ props,
806
+ ),
807
+ render,
808
+ state: {
809
+ slot: "sidebar-menu-sub-button",
810
+ sidebar: "menu-sub-button",
811
+ size,
812
+ active: isActive,
813
+ },
814
+ });
2626
815
  }
2627
816
 
2628
817
  export {
@@ -2650,4 +839,27 @@ export {
2650
839
  SidebarSeparator,
2651
840
  SidebarTrigger,
2652
841
  useSidebar,
842
+ type SidebarProps,
843
+ type SidebarContentProps,
844
+ type SidebarFooterProps,
845
+ type SidebarGroupProps,
846
+ type SidebarGroupActionProps,
847
+ type SidebarGroupContentProps,
848
+ type SidebarGroupLabelProps,
849
+ type SidebarHeaderProps,
850
+ type SidebarInputProps,
851
+ type SidebarInsetProps,
852
+ type SidebarMenuProps,
853
+ type SidebarMenuActionProps,
854
+ type SidebarMenuBadgeProps,
855
+ type SidebarMenuButtonProps,
856
+ type SidebarMenuItemProps,
857
+ type SidebarMenuSkeletonProps,
858
+ type SidebarMenuSubProps,
859
+ type SidebarMenuSubButtonProps,
860
+ type SidebarMenuSubItemProps,
861
+ type SidebarProviderProps,
862
+ type SidebarRailProps,
863
+ type SidebarSeparatorProps,
864
+ type SidebarTriggerProps,
2653
865
  };