@databricks/appkit-ui 0.3.0 → 0.4.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 (471) hide show
  1. package/CLAUDE.md +121 -1231
  2. package/NOTICE.md +1 -1
  3. package/bin/appkit.js +3 -0
  4. package/dist/cli/commands/docs.js +47 -0
  5. package/dist/cli/commands/docs.js.map +1 -0
  6. package/dist/cli/commands/generate-types.js +38 -0
  7. package/dist/cli/commands/generate-types.js.map +1 -0
  8. package/dist/cli/commands/lint.js +104 -0
  9. package/dist/cli/commands/lint.js.map +1 -0
  10. package/dist/cli/commands/setup.js +121 -0
  11. package/dist/cli/commands/setup.js.map +1 -0
  12. package/dist/cli/index.d.ts +1 -0
  13. package/dist/cli/index.js +24 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/js/arrow/arrow-client.d.ts +48 -0
  16. package/dist/js/arrow/arrow-client.d.ts.map +1 -1
  17. package/dist/js/arrow/arrow-client.js +51 -3
  18. package/dist/js/arrow/arrow-client.js.map +1 -1
  19. package/dist/react/charts/area/index.d.ts +6 -17
  20. package/dist/react/charts/area/index.d.ts.map +1 -1
  21. package/dist/react/charts/area/index.js +5 -17
  22. package/dist/react/charts/area/index.js.map +1 -1
  23. package/dist/react/charts/bar/index.d.ts +5 -26
  24. package/dist/react/charts/bar/index.d.ts.map +1 -1
  25. package/dist/react/charts/bar/index.js +4 -26
  26. package/dist/react/charts/bar/index.js.map +1 -1
  27. package/dist/react/charts/heatmap/index.d.ts +7 -22
  28. package/dist/react/charts/heatmap/index.d.ts.map +1 -1
  29. package/dist/react/charts/heatmap/index.js +6 -22
  30. package/dist/react/charts/heatmap/index.js.map +1 -1
  31. package/dist/react/charts/line/index.d.ts +6 -18
  32. package/dist/react/charts/line/index.d.ts.map +1 -1
  33. package/dist/react/charts/line/index.js +5 -18
  34. package/dist/react/charts/line/index.js.map +1 -1
  35. package/dist/react/charts/normalize.js +16 -16
  36. package/dist/react/charts/normalize.js.map +1 -1
  37. package/dist/react/charts/pie/index.d.ts +10 -32
  38. package/dist/react/charts/pie/index.d.ts.map +1 -1
  39. package/dist/react/charts/pie/index.js +9 -32
  40. package/dist/react/charts/pie/index.js.map +1 -1
  41. package/dist/react/charts/radar/index.d.ts +6 -16
  42. package/dist/react/charts/radar/index.d.ts.map +1 -1
  43. package/dist/react/charts/radar/index.js +5 -16
  44. package/dist/react/charts/radar/index.js.map +1 -1
  45. package/dist/react/charts/scatter/index.d.ts +6 -16
  46. package/dist/react/charts/scatter/index.d.ts.map +1 -1
  47. package/dist/react/charts/scatter/index.js +5 -16
  48. package/dist/react/charts/scatter/index.js.map +1 -1
  49. package/dist/react/hooks/use-analytics-query.js +12 -12
  50. package/dist/react/hooks/use-analytics-query.js.map +1 -1
  51. package/dist/react/table/data-table.d.ts +4 -1
  52. package/dist/react/table/data-table.d.ts.map +1 -1
  53. package/dist/react/table/data-table.js +4 -1
  54. package/dist/react/table/data-table.js.map +1 -1
  55. package/dist/react/table/table-wrapper.js +3 -3
  56. package/dist/react/table/table-wrapper.js.map +1 -1
  57. package/dist/react/ui/accordion.d.ts +4 -0
  58. package/dist/react/ui/accordion.d.ts.map +1 -1
  59. package/dist/react/ui/accordion.js +4 -0
  60. package/dist/react/ui/accordion.js.map +1 -1
  61. package/dist/react/ui/alert-dialog.d.ts +11 -0
  62. package/dist/react/ui/alert-dialog.d.ts.map +1 -1
  63. package/dist/react/ui/alert-dialog.js +11 -0
  64. package/dist/react/ui/alert-dialog.js.map +1 -1
  65. package/dist/react/ui/alert.d.ts +3 -0
  66. package/dist/react/ui/alert.d.ts.map +1 -1
  67. package/dist/react/ui/alert.js +3 -0
  68. package/dist/react/ui/alert.js.map +1 -1
  69. package/dist/react/ui/aspect-ratio.d.ts +1 -0
  70. package/dist/react/ui/aspect-ratio.d.ts.map +1 -1
  71. package/dist/react/ui/aspect-ratio.js +1 -0
  72. package/dist/react/ui/aspect-ratio.js.map +1 -1
  73. package/dist/react/ui/avatar.d.ts +3 -0
  74. package/dist/react/ui/avatar.d.ts.map +1 -1
  75. package/dist/react/ui/avatar.js +3 -0
  76. package/dist/react/ui/avatar.js.map +1 -1
  77. package/dist/react/ui/badge.d.ts +1 -0
  78. package/dist/react/ui/badge.d.ts.map +1 -1
  79. package/dist/react/ui/badge.js +1 -0
  80. package/dist/react/ui/badge.js.map +1 -1
  81. package/dist/react/ui/breadcrumb.d.ts +7 -0
  82. package/dist/react/ui/breadcrumb.d.ts.map +1 -1
  83. package/dist/react/ui/breadcrumb.js +7 -0
  84. package/dist/react/ui/breadcrumb.js.map +1 -1
  85. package/dist/react/ui/button-group.d.ts +3 -0
  86. package/dist/react/ui/button-group.d.ts.map +1 -1
  87. package/dist/react/ui/button-group.js +3 -0
  88. package/dist/react/ui/button-group.js.map +1 -1
  89. package/dist/react/ui/button.d.ts +1 -0
  90. package/dist/react/ui/button.d.ts.map +1 -1
  91. package/dist/react/ui/button.js +1 -0
  92. package/dist/react/ui/button.js.map +1 -1
  93. package/dist/react/ui/calendar.d.ts +2 -0
  94. package/dist/react/ui/calendar.d.ts.map +1 -1
  95. package/dist/react/ui/calendar.js +14 -12
  96. package/dist/react/ui/calendar.js.map +1 -1
  97. package/dist/react/ui/card.d.ts +7 -0
  98. package/dist/react/ui/card.d.ts.map +1 -1
  99. package/dist/react/ui/card.js +7 -0
  100. package/dist/react/ui/card.js.map +1 -1
  101. package/dist/react/ui/carousel.d.ts +5 -0
  102. package/dist/react/ui/carousel.d.ts.map +1 -1
  103. package/dist/react/ui/carousel.js +9 -4
  104. package/dist/react/ui/carousel.js.map +1 -1
  105. package/dist/react/ui/chart.d.ts +1 -0
  106. package/dist/react/ui/chart.d.ts.map +1 -1
  107. package/dist/react/ui/chart.js +2 -1
  108. package/dist/react/ui/chart.js.map +1 -1
  109. package/dist/react/ui/checkbox.d.ts +1 -0
  110. package/dist/react/ui/checkbox.d.ts.map +1 -1
  111. package/dist/react/ui/checkbox.js +1 -0
  112. package/dist/react/ui/checkbox.js.map +1 -1
  113. package/dist/react/ui/collapsible.d.ts +3 -0
  114. package/dist/react/ui/collapsible.d.ts.map +1 -1
  115. package/dist/react/ui/collapsible.js +3 -0
  116. package/dist/react/ui/collapsible.js.map +1 -1
  117. package/dist/react/ui/command.d.ts +9 -0
  118. package/dist/react/ui/command.d.ts.map +1 -1
  119. package/dist/react/ui/command.js +9 -0
  120. package/dist/react/ui/command.js.map +1 -1
  121. package/dist/react/ui/context-menu.d.ts +1 -0
  122. package/dist/react/ui/context-menu.d.ts.map +1 -1
  123. package/dist/react/ui/context-menu.js +1 -0
  124. package/dist/react/ui/context-menu.js.map +1 -1
  125. package/dist/react/ui/dialog.d.ts +10 -0
  126. package/dist/react/ui/dialog.d.ts.map +1 -1
  127. package/dist/react/ui/dialog.js +10 -0
  128. package/dist/react/ui/dialog.js.map +1 -1
  129. package/dist/react/ui/drawer.d.ts +10 -0
  130. package/dist/react/ui/drawer.d.ts.map +1 -1
  131. package/dist/react/ui/drawer.js +10 -0
  132. package/dist/react/ui/drawer.js.map +1 -1
  133. package/dist/react/ui/dropdown-menu.d.ts +1 -0
  134. package/dist/react/ui/dropdown-menu.d.ts.map +1 -1
  135. package/dist/react/ui/dropdown-menu.js +1 -0
  136. package/dist/react/ui/dropdown-menu.js.map +1 -1
  137. package/dist/react/ui/empty.d.ts +1 -0
  138. package/dist/react/ui/empty.d.ts.map +1 -1
  139. package/dist/react/ui/empty.js +1 -0
  140. package/dist/react/ui/empty.js.map +1 -1
  141. package/dist/react/ui/field.d.ts +10 -0
  142. package/dist/react/ui/field.d.ts.map +1 -1
  143. package/dist/react/ui/field.js +10 -0
  144. package/dist/react/ui/field.js.map +1 -1
  145. package/dist/react/ui/form.d.ts +7 -0
  146. package/dist/react/ui/form.d.ts.map +1 -1
  147. package/dist/react/ui/form.js +7 -0
  148. package/dist/react/ui/form.js.map +1 -1
  149. package/dist/react/ui/hover-card.d.ts +1 -0
  150. package/dist/react/ui/hover-card.d.ts.map +1 -1
  151. package/dist/react/ui/hover-card.js +1 -0
  152. package/dist/react/ui/hover-card.js.map +1 -1
  153. package/dist/react/ui/input-group.d.ts +6 -0
  154. package/dist/react/ui/input-group.d.ts.map +1 -1
  155. package/dist/react/ui/input-group.js +6 -0
  156. package/dist/react/ui/input-group.js.map +1 -1
  157. package/dist/react/ui/input-otp.d.ts +4 -0
  158. package/dist/react/ui/input-otp.d.ts.map +1 -1
  159. package/dist/react/ui/input-otp.js +4 -0
  160. package/dist/react/ui/input-otp.js.map +1 -1
  161. package/dist/react/ui/input.d.ts +1 -0
  162. package/dist/react/ui/input.d.ts.map +1 -1
  163. package/dist/react/ui/input.js +1 -0
  164. package/dist/react/ui/input.js.map +1 -1
  165. package/dist/react/ui/item.d.ts +1 -0
  166. package/dist/react/ui/item.d.ts.map +1 -1
  167. package/dist/react/ui/item.js +1 -0
  168. package/dist/react/ui/item.js.map +1 -1
  169. package/dist/react/ui/kbd.d.ts +1 -0
  170. package/dist/react/ui/kbd.d.ts.map +1 -1
  171. package/dist/react/ui/kbd.js +1 -0
  172. package/dist/react/ui/kbd.js.map +1 -1
  173. package/dist/react/ui/label.d.ts +1 -0
  174. package/dist/react/ui/label.d.ts.map +1 -1
  175. package/dist/react/ui/label.js +1 -0
  176. package/dist/react/ui/label.js.map +1 -1
  177. package/dist/react/ui/menubar.d.ts +1 -0
  178. package/dist/react/ui/menubar.d.ts.map +1 -1
  179. package/dist/react/ui/menubar.js +1 -0
  180. package/dist/react/ui/menubar.js.map +1 -1
  181. package/dist/react/ui/navigation-menu.d.ts +8 -0
  182. package/dist/react/ui/navigation-menu.d.ts.map +1 -1
  183. package/dist/react/ui/navigation-menu.js +8 -0
  184. package/dist/react/ui/navigation-menu.js.map +1 -1
  185. package/dist/react/ui/pagination.d.ts +7 -0
  186. package/dist/react/ui/pagination.d.ts.map +1 -1
  187. package/dist/react/ui/pagination.js +7 -0
  188. package/dist/react/ui/pagination.js.map +1 -1
  189. package/dist/react/ui/popover.d.ts +1 -0
  190. package/dist/react/ui/popover.d.ts.map +1 -1
  191. package/dist/react/ui/popover.js +1 -0
  192. package/dist/react/ui/popover.js.map +1 -1
  193. package/dist/react/ui/progress.d.ts +1 -0
  194. package/dist/react/ui/progress.d.ts.map +1 -1
  195. package/dist/react/ui/progress.js +1 -0
  196. package/dist/react/ui/progress.js.map +1 -1
  197. package/dist/react/ui/radio-group.d.ts +1 -0
  198. package/dist/react/ui/radio-group.d.ts.map +1 -1
  199. package/dist/react/ui/radio-group.js +1 -0
  200. package/dist/react/ui/radio-group.js.map +1 -1
  201. package/dist/react/ui/resizable.d.ts +3 -0
  202. package/dist/react/ui/resizable.d.ts.map +1 -1
  203. package/dist/react/ui/resizable.js +3 -0
  204. package/dist/react/ui/resizable.js.map +1 -1
  205. package/dist/react/ui/scroll-area.d.ts +2 -0
  206. package/dist/react/ui/scroll-area.d.ts.map +1 -1
  207. package/dist/react/ui/scroll-area.js +2 -0
  208. package/dist/react/ui/scroll-area.js.map +1 -1
  209. package/dist/react/ui/select.d.ts +12 -0
  210. package/dist/react/ui/select.d.ts.map +1 -1
  211. package/dist/react/ui/select.js +12 -0
  212. package/dist/react/ui/select.js.map +1 -1
  213. package/dist/react/ui/separator.d.ts +1 -0
  214. package/dist/react/ui/separator.d.ts.map +1 -1
  215. package/dist/react/ui/separator.js +1 -0
  216. package/dist/react/ui/separator.js.map +1 -1
  217. package/dist/react/ui/sheet.d.ts +8 -0
  218. package/dist/react/ui/sheet.d.ts.map +1 -1
  219. package/dist/react/ui/sheet.js +10 -0
  220. package/dist/react/ui/sheet.js.map +1 -1
  221. package/dist/react/ui/sidebar.d.ts +22 -0
  222. package/dist/react/ui/sidebar.d.ts.map +1 -1
  223. package/dist/react/ui/sidebar.js +23 -1
  224. package/dist/react/ui/sidebar.js.map +1 -1
  225. package/dist/react/ui/skeleton.d.ts +1 -0
  226. package/dist/react/ui/skeleton.d.ts.map +1 -1
  227. package/dist/react/ui/skeleton.js +1 -0
  228. package/dist/react/ui/skeleton.js.map +1 -1
  229. package/dist/react/ui/slider.d.ts +1 -0
  230. package/dist/react/ui/slider.d.ts.map +1 -1
  231. package/dist/react/ui/slider.js +1 -0
  232. package/dist/react/ui/slider.js.map +1 -1
  233. package/dist/react/ui/sonner.d.ts +1 -0
  234. package/dist/react/ui/sonner.d.ts.map +1 -1
  235. package/dist/react/ui/sonner.js +1 -0
  236. package/dist/react/ui/sonner.js.map +1 -1
  237. package/dist/react/ui/spinner.d.ts +1 -0
  238. package/dist/react/ui/spinner.d.ts.map +1 -1
  239. package/dist/react/ui/spinner.js +1 -0
  240. package/dist/react/ui/spinner.js.map +1 -1
  241. package/dist/react/ui/switch.d.ts +1 -0
  242. package/dist/react/ui/switch.d.ts.map +1 -1
  243. package/dist/react/ui/switch.js +1 -0
  244. package/dist/react/ui/switch.js.map +1 -1
  245. package/dist/react/ui/table.d.ts +1 -0
  246. package/dist/react/ui/table.d.ts.map +1 -1
  247. package/dist/react/ui/table.js +1 -0
  248. package/dist/react/ui/table.js.map +1 -1
  249. package/dist/react/ui/tabs.d.ts +4 -0
  250. package/dist/react/ui/tabs.d.ts.map +1 -1
  251. package/dist/react/ui/tabs.js +4 -0
  252. package/dist/react/ui/tabs.js.map +1 -1
  253. package/dist/react/ui/textarea.d.ts +1 -0
  254. package/dist/react/ui/textarea.d.ts.map +1 -1
  255. package/dist/react/ui/textarea.js +1 -0
  256. package/dist/react/ui/textarea.js.map +1 -1
  257. package/dist/react/ui/toggle-group.d.ts +1 -0
  258. package/dist/react/ui/toggle-group.d.ts.map +1 -1
  259. package/dist/react/ui/toggle-group.js +1 -0
  260. package/dist/react/ui/toggle-group.js.map +1 -1
  261. package/dist/react/ui/toggle.d.ts +1 -0
  262. package/dist/react/ui/toggle.d.ts.map +1 -1
  263. package/dist/react/ui/toggle.js +1 -0
  264. package/dist/react/ui/toggle.js.map +1 -1
  265. package/dist/react/ui/tooltip.d.ts +2 -0
  266. package/dist/react/ui/tooltip.d.ts.map +1 -1
  267. package/dist/react/ui/tooltip.js +2 -0
  268. package/dist/react/ui/tooltip.js.map +1 -1
  269. package/docs/docs/api/appkit/Class.AppKitError/index.html +77 -0
  270. package/docs/docs/api/appkit/Class.AppKitError.md +154 -0
  271. package/docs/docs/api/appkit/Class.AuthenticationError/index.html +110 -0
  272. package/docs/docs/api/appkit/Class.AuthenticationError.md +236 -0
  273. package/docs/docs/api/appkit/Class.ConfigurationError/index.html +112 -0
  274. package/docs/docs/api/appkit/Class.ConfigurationError.md +243 -0
  275. package/docs/docs/api/appkit/Class.ConnectionError/index.html +120 -0
  276. package/docs/docs/api/appkit/Class.ConnectionError.md +265 -0
  277. package/docs/docs/api/appkit/Class.ExecutionError/index.html +116 -0
  278. package/docs/docs/api/appkit/Class.ExecutionError.md +250 -0
  279. package/docs/docs/api/appkit/Class.InitializationError/index.html +104 -0
  280. package/docs/docs/api/appkit/Class.InitializationError.md +222 -0
  281. package/docs/docs/api/appkit/Class.Plugin/index.html +149 -0
  282. package/docs/docs/api/appkit/Class.Plugin.md +392 -0
  283. package/docs/docs/api/appkit/Class.ServerError/index.html +108 -0
  284. package/docs/docs/api/appkit/Class.ServerError.md +229 -0
  285. package/docs/docs/api/appkit/Class.TunnelError/index.html +108 -0
  286. package/docs/docs/api/appkit/Class.TunnelError.md +231 -0
  287. package/docs/docs/api/appkit/Class.ValidationError/index.html +106 -0
  288. package/docs/docs/api/appkit/Class.ValidationError.md +225 -0
  289. package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +24 -0
  290. package/docs/docs/api/appkit/Function.appKitTypesPlugin.md +20 -0
  291. package/docs/docs/api/appkit/Function.createApp/index.html +24 -0
  292. package/docs/docs/api/appkit/Function.createApp.md +31 -0
  293. package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +25 -0
  294. package/docs/docs/api/appkit/Function.isSQLTypeMarker.md +32 -0
  295. package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +28 -0
  296. package/docs/docs/api/appkit/Interface.BasePluginConfig.md +37 -0
  297. package/docs/docs/api/appkit/Interface.CacheConfig/index.html +63 -0
  298. package/docs/docs/api/appkit/Interface.CacheConfig.md +131 -0
  299. package/docs/docs/api/appkit/Interface.ITelemetry/index.html +73 -0
  300. package/docs/docs/api/appkit/Interface.ITelemetry.md +144 -0
  301. package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +26 -0
  302. package/docs/docs/api/appkit/Interface.StreamExecutionSettings.md +30 -0
  303. package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +32 -0
  304. package/docs/docs/api/appkit/Interface.TelemetryConfig.md +48 -0
  305. package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +18 -0
  306. package/docs/docs/api/appkit/TypeAlias.IAppRouter.md +8 -0
  307. package/docs/docs/api/appkit/Variable.sql/index.html +98 -0
  308. package/docs/docs/api/appkit/Variable.sql.md +260 -0
  309. package/docs/docs/api/appkit/index.html +28 -0
  310. package/docs/docs/api/appkit-ui/data/AreaChart/index.html +29 -0
  311. package/docs/docs/api/appkit-ui/data/AreaChart.md +79 -0
  312. package/docs/docs/api/appkit-ui/data/BarChart/index.html +29 -0
  313. package/docs/docs/api/appkit-ui/data/BarChart.md +74 -0
  314. package/docs/docs/api/appkit-ui/data/DataTable/index.html +36 -0
  315. package/docs/docs/api/appkit-ui/data/DataTable.md +69 -0
  316. package/docs/docs/api/appkit-ui/data/DonutChart/index.html +29 -0
  317. package/docs/docs/api/appkit-ui/data/DonutChart.md +72 -0
  318. package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +35 -0
  319. package/docs/docs/api/appkit-ui/data/HeatmapChart.md +91 -0
  320. package/docs/docs/api/appkit-ui/data/LineChart/index.html +29 -0
  321. package/docs/docs/api/appkit-ui/data/LineChart.md +77 -0
  322. package/docs/docs/api/appkit-ui/data/PieChart/index.html +29 -0
  323. package/docs/docs/api/appkit-ui/data/PieChart.md +72 -0
  324. package/docs/docs/api/appkit-ui/data/RadarChart/index.html +29 -0
  325. package/docs/docs/api/appkit-ui/data/RadarChart.md +74 -0
  326. package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +29 -0
  327. package/docs/docs/api/appkit-ui/data/ScatterChart.md +76 -0
  328. package/docs/docs/api/appkit-ui/index.html +23 -0
  329. package/docs/docs/api/appkit-ui/styling/index.html +74 -0
  330. package/docs/docs/api/appkit-ui/styling.md +81 -0
  331. package/docs/docs/api/appkit-ui/ui/Accordion/index.html +48 -0
  332. package/docs/docs/api/appkit-ui/ui/Accordion.md +139 -0
  333. package/docs/docs/api/appkit-ui/ui/Alert/index.html +41 -0
  334. package/docs/docs/api/appkit-ui/ui/Alert.md +89 -0
  335. package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +97 -0
  336. package/docs/docs/api/appkit-ui/ui/AlertDialog.md +282 -0
  337. package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +27 -0
  338. package/docs/docs/api/appkit-ui/ui/AspectRatio.md +46 -0
  339. package/docs/docs/api/appkit-ui/ui/Avatar/index.html +41 -0
  340. package/docs/docs/api/appkit-ui/ui/Avatar.md +90 -0
  341. package/docs/docs/api/appkit-ui/ui/Badge/index.html +27 -0
  342. package/docs/docs/api/appkit-ui/ui/Badge.md +38 -0
  343. package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +69 -0
  344. package/docs/docs/api/appkit-ui/ui/Breadcrumb.md +193 -0
  345. package/docs/docs/api/appkit-ui/ui/Button/index.html +27 -0
  346. package/docs/docs/api/appkit-ui/ui/Button.md +39 -0
  347. package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +38 -0
  348. package/docs/docs/api/appkit-ui/ui/ButtonGroup.md +68 -0
  349. package/docs/docs/api/appkit-ui/ui/Calendar/index.html +34 -0
  350. package/docs/docs/api/appkit-ui/ui/Calendar.md +154 -0
  351. package/docs/docs/api/appkit-ui/ui/Card/index.html +69 -0
  352. package/docs/docs/api/appkit-ui/ui/Card.md +222 -0
  353. package/docs/docs/api/appkit-ui/ui/Carousel/index.html +55 -0
  354. package/docs/docs/api/appkit-ui/ui/Carousel.md +152 -0
  355. package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +58 -0
  356. package/docs/docs/api/appkit-ui/ui/ChartContainer.md +343 -0
  357. package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +27 -0
  358. package/docs/docs/api/appkit-ui/ui/Checkbox.md +53 -0
  359. package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +41 -0
  360. package/docs/docs/api/appkit-ui/ui/Collapsible.md +125 -0
  361. package/docs/docs/api/appkit-ui/ui/Command/index.html +83 -0
  362. package/docs/docs/api/appkit-ui/ui/Command.md +287 -0
  363. package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +111 -0
  364. package/docs/docs/api/appkit-ui/ui/ContextMenu.md +419 -0
  365. package/docs/docs/api/appkit-ui/ui/Dialog/index.html +90 -0
  366. package/docs/docs/api/appkit-ui/ui/Dialog.md +285 -0
  367. package/docs/docs/api/appkit-ui/ui/Drawer/index.html +90 -0
  368. package/docs/docs/api/appkit-ui/ui/Drawer.md +387 -0
  369. package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +111 -0
  370. package/docs/docs/api/appkit-ui/ui/DropdownMenu.md +478 -0
  371. package/docs/docs/api/appkit-ui/ui/Empty/index.html +54 -0
  372. package/docs/docs/api/appkit-ui/ui/Empty.md +109 -0
  373. package/docs/docs/api/appkit-ui/ui/Field/index.html +87 -0
  374. package/docs/docs/api/appkit-ui/ui/Field.md +201 -0
  375. package/docs/docs/api/appkit-ui/ui/FormControl/index.html +59 -0
  376. package/docs/docs/api/appkit-ui/ui/FormControl.md +128 -0
  377. package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +39 -0
  378. package/docs/docs/api/appkit-ui/ui/HoverCard.md +131 -0
  379. package/docs/docs/api/appkit-ui/ui/Input/index.html +27 -0
  380. package/docs/docs/api/appkit-ui/ui/Input.md +35 -0
  381. package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +59 -0
  382. package/docs/docs/api/appkit-ui/ui/InputGroup.md +123 -0
  383. package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +48 -0
  384. package/docs/docs/api/appkit-ui/ui/InputOTP.md +124 -0
  385. package/docs/docs/api/appkit-ui/ui/Item/index.html +78 -0
  386. package/docs/docs/api/appkit-ui/ui/Item.md +185 -0
  387. package/docs/docs/api/appkit-ui/ui/Kbd/index.html +30 -0
  388. package/docs/docs/api/appkit-ui/ui/Kbd.md +39 -0
  389. package/docs/docs/api/appkit-ui/ui/Label/index.html +27 -0
  390. package/docs/docs/api/appkit-ui/ui/Label.md +44 -0
  391. package/docs/docs/api/appkit-ui/ui/Menubar/index.html +117 -0
  392. package/docs/docs/api/appkit-ui/ui/Menubar.md +484 -0
  393. package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +76 -0
  394. package/docs/docs/api/appkit-ui/ui/NavigationMenu.md +338 -0
  395. package/docs/docs/api/appkit-ui/ui/Pagination/index.html +69 -0
  396. package/docs/docs/api/appkit-ui/ui/Pagination.md +191 -0
  397. package/docs/docs/api/appkit-ui/ui/Popover/index.html +45 -0
  398. package/docs/docs/api/appkit-ui/ui/Popover.md +173 -0
  399. package/docs/docs/api/appkit-ui/ui/Progress/index.html +27 -0
  400. package/docs/docs/api/appkit-ui/ui/Progress.md +51 -0
  401. package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +33 -0
  402. package/docs/docs/api/appkit-ui/ui/RadioGroup.md +83 -0
  403. package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +41 -0
  404. package/docs/docs/api/appkit-ui/ui/ResizableHandle.md +136 -0
  405. package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +34 -0
  406. package/docs/docs/api/appkit-ui/ui/ScrollArea.md +83 -0
  407. package/docs/docs/api/appkit-ui/ui/Select/index.html +82 -0
  408. package/docs/docs/api/appkit-ui/ui/Select.md +267 -0
  409. package/docs/docs/api/appkit-ui/ui/Separator/index.html +27 -0
  410. package/docs/docs/api/appkit-ui/ui/Separator.md +56 -0
  411. package/docs/docs/api/appkit-ui/ui/Sheet/index.html +76 -0
  412. package/docs/docs/api/appkit-ui/ui/Sheet.md +236 -0
  413. package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +183 -0
  414. package/docs/docs/api/appkit-ui/ui/Sidebar.md +490 -0
  415. package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +27 -0
  416. package/docs/docs/api/appkit-ui/ui/Skeleton.md +43 -0
  417. package/docs/docs/api/appkit-ui/ui/Slider/index.html +27 -0
  418. package/docs/docs/api/appkit-ui/ui/Slider.md +61 -0
  419. package/docs/docs/api/appkit-ui/ui/Spinner/index.html +24 -0
  420. package/docs/docs/api/appkit-ui/ui/Spinner.md +22 -0
  421. package/docs/docs/api/appkit-ui/ui/Switch/index.html +27 -0
  422. package/docs/docs/api/appkit-ui/ui/Switch.md +46 -0
  423. package/docs/docs/api/appkit-ui/ui/Table/index.html +69 -0
  424. package/docs/docs/api/appkit-ui/ui/Table.md +236 -0
  425. package/docs/docs/api/appkit-ui/ui/Tabs/index.html +48 -0
  426. package/docs/docs/api/appkit-ui/ui/Tabs.md +177 -0
  427. package/docs/docs/api/appkit-ui/ui/Textarea/index.html +27 -0
  428. package/docs/docs/api/appkit-ui/ui/Textarea.md +35 -0
  429. package/docs/docs/api/appkit-ui/ui/Toaster/index.html +27 -0
  430. package/docs/docs/api/appkit-ui/ui/Toaster.md +75 -0
  431. package/docs/docs/api/appkit-ui/ui/Toggle/index.html +27 -0
  432. package/docs/docs/api/appkit-ui/ui/Toggle.md +48 -0
  433. package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +33 -0
  434. package/docs/docs/api/appkit-ui/ui/ToggleGroup.md +88 -0
  435. package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +46 -0
  436. package/docs/docs/api/appkit-ui/ui/Tooltip.md +134 -0
  437. package/docs/docs/api/appkit-ui.md +15 -0
  438. package/docs/docs/api/appkit.md +48 -0
  439. package/docs/docs/api/index.html +28 -0
  440. package/docs/docs/api.md +24 -0
  441. package/docs/docs/app-management/index.html +106 -0
  442. package/docs/docs/app-management.md +171 -0
  443. package/docs/docs/architecture/index.html +71 -0
  444. package/docs/docs/architecture.md +69 -0
  445. package/docs/docs/category/development/index.html +16 -0
  446. package/docs/docs/category/development.md +3 -0
  447. package/docs/docs/configuration/index.html +66 -0
  448. package/docs/docs/configuration.md +150 -0
  449. package/docs/docs/core-principles/index.html +38 -0
  450. package/docs/docs/core-principles.md +31 -0
  451. package/docs/docs/development/index.html +34 -0
  452. package/docs/docs/development/llm-guide/index.html +74 -0
  453. package/docs/docs/development/llm-guide.md +74 -0
  454. package/docs/docs/development/local-development/index.html +27 -0
  455. package/docs/docs/development/local-development.md +20 -0
  456. package/docs/docs/development/project-setup/index.html +69 -0
  457. package/docs/docs/development/project-setup.md +246 -0
  458. package/docs/docs/development/remote-bridge/index.html +76 -0
  459. package/docs/docs/development/remote-bridge.md +80 -0
  460. package/docs/docs/development/type-generation/index.html +65 -0
  461. package/docs/docs/development/type-generation.md +110 -0
  462. package/docs/docs/development.md +21 -0
  463. package/docs/docs/index.html +58 -0
  464. package/docs/docs/plugins/index.html +151 -0
  465. package/docs/docs/plugins.md +313 -0
  466. package/docs/docs.md +64 -0
  467. package/llms.txt +121 -1231
  468. package/package.json +7 -5
  469. package/scripts/postinstall.js +1 -1
  470. package/AGENTS.md +0 -1234
  471. package/bin/setup-claude.js +0 -190
@@ -5,6 +5,7 @@ import { cva } from "class-variance-authority";
5
5
  import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
6
6
 
7
7
  //#region src/react/ui/navigation-menu.tsx
8
+ /** Horizontal navigation menu with dropdown submenus */
8
9
  function NavigationMenu({ className, children, viewport = true, ...props }) {
9
10
  return /* @__PURE__ */ jsxs(NavigationMenuPrimitive.Root, {
10
11
  "data-slot": "navigation-menu",
@@ -14,6 +15,7 @@ function NavigationMenu({ className, children, viewport = true, ...props }) {
14
15
  children: [children, viewport && /* @__PURE__ */ jsx(NavigationMenuViewport, {})]
15
16
  });
16
17
  }
18
+ /** Container list for navigation menu items */
17
19
  function NavigationMenuList({ className, ...props }) {
18
20
  return /* @__PURE__ */ jsx(NavigationMenuPrimitive.List, {
19
21
  "data-slot": "navigation-menu-list",
@@ -21,6 +23,7 @@ function NavigationMenuList({ className, ...props }) {
21
23
  ...props
22
24
  });
23
25
  }
26
+ /** Individual navigation menu item */
24
27
  function NavigationMenuItem({ className, ...props }) {
25
28
  return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Item, {
26
29
  "data-slot": "navigation-menu-item",
@@ -29,6 +32,7 @@ function NavigationMenuItem({ className, ...props }) {
29
32
  });
30
33
  }
31
34
  const navigationMenuTriggerStyle = cva("group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1");
35
+ /** Button that opens a navigation submenu */
32
36
  function NavigationMenuTrigger({ className, children, ...props }) {
33
37
  return /* @__PURE__ */ jsxs(NavigationMenuPrimitive.Trigger, {
34
38
  "data-slot": "navigation-menu-trigger",
@@ -44,6 +48,7 @@ function NavigationMenuTrigger({ className, children, ...props }) {
44
48
  ]
45
49
  });
46
50
  }
51
+ /** Dropdown content area for navigation submenu */
47
52
  function NavigationMenuContent({ className, ...props }) {
48
53
  return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Content, {
49
54
  "data-slot": "navigation-menu-content",
@@ -51,6 +56,7 @@ function NavigationMenuContent({ className, ...props }) {
51
56
  ...props
52
57
  });
53
58
  }
59
+ /** Viewport container for navigation menu content */
54
60
  function NavigationMenuViewport({ className, ...props }) {
55
61
  return /* @__PURE__ */ jsx("div", {
56
62
  className: cn("absolute top-full left-0 isolate z-50 flex justify-center"),
@@ -61,6 +67,7 @@ function NavigationMenuViewport({ className, ...props }) {
61
67
  })
62
68
  });
63
69
  }
70
+ /** Clickable link within navigation menu */
64
71
  function NavigationMenuLink({ className, ...props }) {
65
72
  return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Link, {
66
73
  "data-slot": "navigation-menu-link",
@@ -68,6 +75,7 @@ function NavigationMenuLink({ className, ...props }) {
68
75
  ...props
69
76
  });
70
77
  }
78
+ /** Visual indicator for active navigation menu item */
71
79
  function NavigationMenuIndicator({ className, ...props }) {
72
80
  return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Indicator, {
73
81
  "data-slot": "navigation-menu-indicator",
@@ -1 +1 @@
1
- {"version":3,"file":"navigation-menu.js","names":[],"sources":["../../../src/react/ui/navigation-menu.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\",\n);\n\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\",\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,eAAe,EACtB,WACA,UACA,WAAW,MACX,GAAG,SAGF;AACD,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,iBAAe;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;aAEH,UACA,YAAY,oBAAC,2BAAyB;GACV;;AAInC,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;GACJ;;AAIN,MAAM,6BAA6B,IACjC,+fACD;AAED,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;AAC/D,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,4BAA4B,EAAE,SAAS,UAAU;EAC/D,GAAI;;GAEH;GAAU;GACX,oBAAC;IACC,WAAU;IACV,eAAY;KACZ;;GAC8B;;AAItC,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,oWACA,6hCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC;EACC,WAAW,GACT,4DACD;YAED,oBAAC,wBAAwB;GACvB,aAAU;GACV,WAAW,GACT,sVACA,UACD;GACD,GAAI;IACJ;GACE;;AAIV,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,ydACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;AACjE,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,gMACA,UACD;EACD,GAAI;YAEJ,oBAAC,SAAI,WAAU,2EAA2E;GACxD"}
1
+ {"version":3,"file":"navigation-menu.js","names":[],"sources":["../../../src/react/ui/navigation-menu.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\nimport { ChevronDownIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Horizontal navigation menu with dropdown submenus */\nfunction NavigationMenu({\n className,\n children,\n viewport = true,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {\n viewport?: boolean;\n}) {\n return (\n <NavigationMenuPrimitive.Root\n data-slot=\"navigation-menu\"\n data-viewport={viewport}\n className={cn(\n \"group/navigation-menu relative flex max-w-max flex-1 items-center justify-center\",\n className,\n )}\n {...props}\n >\n {children}\n {viewport && <NavigationMenuViewport />}\n </NavigationMenuPrimitive.Root>\n );\n}\n\n/** Container list for navigation menu items */\nfunction NavigationMenuList({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.List>) {\n return (\n <NavigationMenuPrimitive.List\n data-slot=\"navigation-menu-list\"\n className={cn(\n \"group flex flex-1 list-none items-center justify-center gap-1\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual navigation menu item */\nfunction NavigationMenuItem({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Item>) {\n return (\n <NavigationMenuPrimitive.Item\n data-slot=\"navigation-menu-item\"\n className={cn(\"relative\", className)}\n {...props}\n />\n );\n}\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1\",\n);\n\n/** Button that opens a navigation submenu */\nfunction NavigationMenuTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>) {\n return (\n <NavigationMenuPrimitive.Trigger\n data-slot=\"navigation-menu-trigger\"\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n );\n}\n\n/** Dropdown content area for navigation submenu */\nfunction NavigationMenuContent({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Content>) {\n return (\n <NavigationMenuPrimitive.Content\n data-slot=\"navigation-menu-content\"\n className={cn(\n \"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto\",\n \"group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Viewport container for navigation menu content */\nfunction NavigationMenuViewport({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>) {\n return (\n <div\n className={cn(\n \"absolute top-full left-0 isolate z-50 flex justify-center\",\n )}\n >\n <NavigationMenuPrimitive.Viewport\n data-slot=\"navigation-menu-viewport\"\n className={cn(\n \"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className,\n )}\n {...props}\n />\n </div>\n );\n}\n\n/** Clickable link within navigation menu */\nfunction NavigationMenuLink({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Link>) {\n return (\n <NavigationMenuPrimitive.Link\n data-slot=\"navigation-menu-link\"\n className={cn(\n \"data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Visual indicator for active navigation menu item */\nfunction NavigationMenuIndicator({\n className,\n ...props\n}: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>) {\n return (\n <NavigationMenuPrimitive.Indicator\n data-slot=\"navigation-menu-indicator\"\n className={cn(\n \"data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden\",\n className,\n )}\n {...props}\n >\n <div className=\"bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n );\n}\n\nexport {\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n navigationMenuTriggerStyle,\n};\n"],"mappings":";;;;;;;;AAQA,SAAS,eAAe,EACtB,WACA,UACA,WAAW,MACX,GAAG,SAGF;AACD,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,iBAAe;EACf,WAAW,GACT,oFACA,UACD;EACD,GAAI;aAEH,UACA,YAAY,oBAAC,2BAAyB;GACV;;;AAKnC,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;GACJ;;AAIN,MAAM,6BAA6B,IACjC,+fACD;;AAGD,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;AAC/D,QACE,qBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GAAG,4BAA4B,EAAE,SAAS,UAAU;EAC/D,GAAI;;GAEH;GAAU;GACX,oBAAC;IACC,WAAU;IACV,eAAY;KACZ;;GAC8B;;;AAKtC,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,oWACA,6hCACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC;EACC,WAAW,GACT,4DACD;YAED,oBAAC,wBAAwB;GACvB,aAAU;GACV,WAAW,GACT,sVACA,UACD;GACD,GAAI;IACJ;GACE;;;AAKV,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,ydACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,wBAAwB,EAC/B,WACA,GAAG,SAC8D;AACjE,QACE,oBAAC,wBAAwB;EACvB,aAAU;EACV,WAAW,GACT,gMACA,UACD;EACD,GAAI;YAEJ,oBAAC,SAAI,WAAU,2EAA2E;GACxD"}
@@ -3,34 +3,41 @@ import * as React$1 from "react";
3
3
  import * as react_jsx_runtime193 from "react/jsx-runtime";
4
4
 
5
5
  //#region src/react/ui/pagination.d.ts
6
+ /** Navigation component for paginated content */
6
7
  declare function Pagination({
7
8
  className,
8
9
  ...props
9
10
  }: React$1.ComponentProps<"nav">): react_jsx_runtime193.JSX.Element;
11
+ /** Container for pagination items */
10
12
  declare function PaginationContent({
11
13
  className,
12
14
  ...props
13
15
  }: React$1.ComponentProps<"ul">): react_jsx_runtime193.JSX.Element;
16
+ /** Individual pagination item wrapper */
14
17
  declare function PaginationItem({
15
18
  ...props
16
19
  }: React$1.ComponentProps<"li">): react_jsx_runtime193.JSX.Element;
17
20
  type PaginationLinkProps = {
18
21
  isActive?: boolean;
19
22
  } & Pick<React$1.ComponentProps<typeof Button>, "size"> & React$1.ComponentProps<"a">;
23
+ /** Clickable link for navigating to a specific page */
20
24
  declare function PaginationLink({
21
25
  className,
22
26
  isActive,
23
27
  size,
24
28
  ...props
25
29
  }: PaginationLinkProps): react_jsx_runtime193.JSX.Element;
30
+ /** Button for navigating to the previous page */
26
31
  declare function PaginationPrevious({
27
32
  className,
28
33
  ...props
29
34
  }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime193.JSX.Element;
35
+ /** Button for navigating to the next page */
30
36
  declare function PaginationNext({
31
37
  className,
32
38
  ...props
33
39
  }: React$1.ComponentProps<typeof PaginationLink>): react_jsx_runtime193.JSX.Element;
40
+ /** Ellipsis indicator for skipped page numbers */
34
41
  declare function PaginationEllipsis({
35
42
  className,
36
43
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../src/react/ui/pagination.tsx"],"sourcesContent":[],"mappings":";;;;;iBAUS,UAAA;;;GAAoC,OAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAY/D,iBAAA;;;GAGN,OAAA,CAAM,uBAAoB,oBAAA,CAAA,GAAA,CAAA;iBAUpB,cAAA;;GAA6B,OAAA,CAAM,uBAAoB,oBAAA,CAAA,GAAA,CAAA;AA3BT,KA+BlD,mBAAA,GA7Bc;EAAA,QAAA,CAAA,EAAA,OAAA;IA+Bf,IA/BkB,CA+Bb,OAAA,CAAM,cA/BO,CAAA,OA+Be,MA/Bf,CAAA,EAAA,MAAA,CAAA,GAgCpB,OAAA,CAAM,cAhCc,CAAA,GAAA,CAAA;iBAkCb,cAAA,CAlC0C;EAAA,SAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAuChD,mBAvCgD,CAAA,EAuC7B,oBAAA,CAAA,GAAA,CAAA,OAvC6B;iBAyD1C,kBAAA,CAzD+D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4DrE,OAAA,CAAM,cA5D+D,CAAA,OA4DzC,cA5DyC,CAAA,CAAA,EA4D1B,oBAAA,CAAA,GAAA,CAAA,OA5D0B;iBA0E/D,cAAA,CA1E+D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ErE,OAAA,CAAM,cA7E+D,CAAA,OA6EzC,cA7EyC,CAAA,CAAA,EA6E1B,oBAAA,CAAA,GAAA,CAAA,OA7E0B;AAAA,iBA2F/D,kBAAA,CA/EiB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkFvB,OAAA,CAAM,cAlFiB,CAAA,MAAA,CAAA,CAAA,EAkFK,oBAAA,CAAA,GAAA,CAAA,OAlFL"}
1
+ {"version":3,"file":"pagination.d.ts","names":[],"sources":["../../../src/react/ui/pagination.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAWS,UAAA;;;GAAoC,OAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;;AAHjB,iBAgB9C,iBAAA,CAbU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgBhB,OAAA,CAAM,cAhBU,CAAA,IAAA,CAAA,CAAA,EAgBU,oBAAA,CAAA,GAAA,CAAA,OAhBV;;iBA2BV,cAAA,CA3Ba;EAAA,GAAA;AAAA,CAAA,EA2BgB,OAAA,CAAM,cA3BtB,CAAA,IAAA,CAAA,CAAA,EA2B0C,oBAAA,CAAA,GAAA,CAAA,OA3B1C;KA+BjB,mBAAA,GA/B8C;UAAqB,CAAA,EAAA,OAAA;CAAA,GAiCpE,IAjCoE,CAiC/D,OAAA,CAAM,cAjCyD,CAAA,OAiCnC,MAjCmC,CAAA,EAAA,MAAA,CAAA,GAkCtE,OAAA,CAAM,cAlCgE,CAAA,GAAA,CAAA;AAAA;iBAqC/D,cAAA,CAxBiB;EAAA,SAAA;EAAA,QAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BvB,mBA7BuB,CAAA,EA6BJ,oBAAA,CAAA,GAAA,CAAA,OA7BI;;iBAgDjB,kBAAA,CA7CA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgDN,OAAA,CAAM,cAhDA,CAAA,OAgDsB,cAhDtB,CAAA,CAAA,EAgDqC,oBAAA,CAAA,GAAA,CAAA,OAhDrC;;iBA+DA,cAAA,CA/DoB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkE1B,OAAA,CAAM,cAlEoB,CAAA,OAkEE,cAlEF,CAAA,CAAA,EAkEiB,oBAAA,CAAA,GAAA,CAAA,OAlEjB;AAAA;iBAiFpB,kBAAA,CAtEc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyEpB,OAAA,CAAM,cAzEc,CAAA,MAAA,CAAA,CAAA,EAyEQ,oBAAA,CAAA,GAAA,CAAA,OAzER"}
@@ -4,6 +4,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
5
5
 
6
6
  //#region src/react/ui/pagination.tsx
7
+ /** Navigation component for paginated content */
7
8
  function Pagination({ className, ...props }) {
8
9
  return /* @__PURE__ */ jsx("nav", {
9
10
  role: "navigation",
@@ -13,6 +14,7 @@ function Pagination({ className, ...props }) {
13
14
  ...props
14
15
  });
15
16
  }
17
+ /** Container for pagination items */
16
18
  function PaginationContent({ className, ...props }) {
17
19
  return /* @__PURE__ */ jsx("ul", {
18
20
  "data-slot": "pagination-content",
@@ -20,12 +22,14 @@ function PaginationContent({ className, ...props }) {
20
22
  ...props
21
23
  });
22
24
  }
25
+ /** Individual pagination item wrapper */
23
26
  function PaginationItem({ ...props }) {
24
27
  return /* @__PURE__ */ jsx("li", {
25
28
  "data-slot": "pagination-item",
26
29
  ...props
27
30
  });
28
31
  }
32
+ /** Clickable link for navigating to a specific page */
29
33
  function PaginationLink({ className, isActive, size = "icon", ...props }) {
30
34
  return /* @__PURE__ */ jsx("a", {
31
35
  "aria-current": isActive ? "page" : void 0,
@@ -38,6 +42,7 @@ function PaginationLink({ className, isActive, size = "icon", ...props }) {
38
42
  ...props
39
43
  });
40
44
  }
45
+ /** Button for navigating to the previous page */
41
46
  function PaginationPrevious({ className, ...props }) {
42
47
  return /* @__PURE__ */ jsxs(PaginationLink, {
43
48
  "aria-label": "Go to previous page",
@@ -50,6 +55,7 @@ function PaginationPrevious({ className, ...props }) {
50
55
  })]
51
56
  });
52
57
  }
58
+ /** Button for navigating to the next page */
53
59
  function PaginationNext({ className, ...props }) {
54
60
  return /* @__PURE__ */ jsxs(PaginationLink, {
55
61
  "aria-label": "Go to next page",
@@ -62,6 +68,7 @@ function PaginationNext({ className, ...props }) {
62
68
  }), /* @__PURE__ */ jsx(ChevronRightIcon, {})]
63
69
  });
64
70
  }
71
+ /** Ellipsis indicator for skipped page numbers */
65
72
  function PaginationEllipsis({ className, ...props }) {
66
73
  return /* @__PURE__ */ jsxs("span", {
67
74
  "aria-hidden": true,
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/react/ui/pagination.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { type Button, buttonVariants } from \"./button\";\n\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">;\n\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction PaginationPrevious({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n}\n\nfunction PaginationNext({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"mappings":";;;;;;AAUA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,GAAG,SAAqC;AAChE,QAAO,oBAAC;EAAG,aAAU;EAAkB,GAAI;GAAS;;AAQtD,SAAS,eAAe,EACtB,WACA,UACA,OAAO,QACP,GAAG,SACmB;AACtB,QACE,oBAAC;EACC,gBAAc,WAAW,SAAS;EAClC,aAAU;EACV,eAAa;EACb,WAAW,GACT,eAAe;GACb,SAAS,WAAW,YAAY;GAChC;GACD,CAAC,EACF,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC2C;AAC9C,QACE,qBAAC;EACC,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;aAEJ,oBAAC,oBAAkB,EACnB,oBAAC;GAAK,WAAU;aAAkB;IAAe;GAClC;;AAIrB,SAAS,eAAe,EACtB,WACA,GAAG,SAC2C;AAC9C,QACE,qBAAC;EACC,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aAAkB;IAAW,EAC7C,oBAAC,qBAAmB;GACL;;AAIrB,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC4B;AAC/B,QACE,qBAAC;EACC;EACA,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,sBAAmB,WAAU,WAAW,EACzC,oBAAC;GAAK,WAAU;aAAU;IAAiB;GACtC"}
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../../src/react/ui/pagination.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n MoreHorizontalIcon,\n} from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { type Button, buttonVariants } from \"./button\";\n\n/** Navigation component for paginated content */\nfunction Pagination({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n data-slot=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n );\n}\n\n/** Container for pagination items */\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"pagination-content\"\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n );\n}\n\n/** Individual pagination item wrapper */\nfunction PaginationItem({ ...props }: React.ComponentProps<\"li\">) {\n return <li data-slot=\"pagination-item\" {...props} />;\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n} & Pick<React.ComponentProps<typeof Button>, \"size\"> &\n React.ComponentProps<\"a\">;\n\n/** Clickable link for navigating to a specific page */\nfunction PaginationLink({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) {\n return (\n <a\n aria-current={isActive ? \"page\" : undefined}\n data-slot=\"pagination-link\"\n data-active={isActive}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Button for navigating to the previous page */\nfunction PaginationPrevious({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pl-2.5\", className)}\n {...props}\n >\n <ChevronLeftIcon />\n <span className=\"hidden sm:block\">Previous</span>\n </PaginationLink>\n );\n}\n\n/** Button for navigating to the next page */\nfunction PaginationNext({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 px-2.5 sm:pr-2.5\", className)}\n {...props}\n >\n <span className=\"hidden sm:block\">Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\n/** Ellipsis indicator for skipped page numbers */\nfunction PaginationEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n aria-hidden\n data-slot=\"pagination-ellipsis\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontalIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\nexport {\n Pagination,\n PaginationContent,\n PaginationLink,\n PaginationItem,\n PaginationPrevious,\n PaginationNext,\n PaginationEllipsis,\n};\n"],"mappings":";;;;;;;AAWA,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,MAAK;EACL,cAAW;EACX,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;;AAKN,SAAS,kBAAkB,EACzB,WACA,GAAG,SAC0B;AAC7B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;;AAKN,SAAS,eAAe,EAAE,GAAG,SAAqC;AAChE,QAAO,oBAAC;EAAG,aAAU;EAAkB,GAAI;GAAS;;;AAStD,SAAS,eAAe,EACtB,WACA,UACA,OAAO,QACP,GAAG,SACmB;AACtB,QACE,oBAAC;EACC,gBAAc,WAAW,SAAS;EAClC,aAAU;EACV,eAAa;EACb,WAAW,GACT,eAAe;GACb,SAAS,WAAW,YAAY;GAChC;GACD,CAAC,EACF,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC2C;AAC9C,QACE,qBAAC;EACC,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;aAEJ,oBAAC,oBAAkB,EACnB,oBAAC;GAAK,WAAU;aAAkB;IAAe;GAClC;;;AAKrB,SAAS,eAAe,EACtB,WACA,GAAG,SAC2C;AAC9C,QACE,qBAAC;EACC,cAAW;EACX,MAAK;EACL,WAAW,GAAG,0BAA0B,UAAU;EAClD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aAAkB;IAAW,EAC7C,oBAAC,qBAAmB;GACL;;;AAKrB,SAAS,mBAAmB,EAC1B,WACA,GAAG,SAC4B;AAC/B,QACE,qBAAC;EACC;EACA,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,sBAAmB,WAAU,WAAW,EACzC,oBAAC;GAAK,WAAU;aAAU;IAAiB;GACtC"}
@@ -3,6 +3,7 @@ import * as react_jsx_runtime200 from "react/jsx-runtime";
3
3
  import * as PopoverPrimitive from "@radix-ui/react-popover";
4
4
 
5
5
  //#region src/react/ui/popover.d.ts
6
+ /** Floating content panel anchored to a trigger element */
6
7
  declare function Popover({
7
8
  ...props
8
9
  }: React$1.ComponentProps<typeof PopoverPrimitive.Root>): react_jsx_runtime200.JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"popover.d.ts","names":[],"sources":["../../../src/react/ui/popover.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,OAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAI5C,cAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,WAAQ,oBAAA,CAAA,GAAA,CAAA;iBAI/C,cAAA;;;;;GAKN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,WAAQ,oBAAA,CAAA,GAAA,CAAA;AAtBI,iBAuCnD,aAAA,CAlCO;EAAA,GAAA;AAAA,CAAA,EAoCb,OAAA,CAAM,cApCO,CAAA,OAoCe,gBAAA,CAAiB,MApChC,CAAA,CAAA,EAoCuC,oBAAA,CAAA,GAAA,CAAA,OApCvC"}
1
+ {"version":3,"file":"popover.d.ts","names":[],"sources":["../../../src/react/ui/popover.tsx"],"sourcesContent":[],"mappings":";;;;;;iBASS,OAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAI5C,cAAA;;GAEN,OAAA,CAAM,sBAAsB,gBAAA,CAAiB,WAAQ,oBAAA,CAAA,GAAA,CAAA;AAdI,iBAkBnD,cAAA,CAZO;EAAA,SAAA;EAAA,KAAA;EAAA,UAAA;EAAA,GAAA;AAAA,CAAA,EAiBb,OAAA,CAAM,cAjBO,CAAA,OAiBe,gBAAA,CAAiB,OAjBhC,CAAA,CAAA,EAiBwC,oBAAA,CAAA,GAAA,CAAA,OAjBxC;iBAkCP,aAAA,CAlCO;EAAA,GAAA;AAAA,CAAA,EAoCb,OAAA,CAAM,cApCO,CAAA,OAoCe,gBAAA,CAAiB,MApChC,CAAA,CAAA,EAoCuC,oBAAA,CAAA,GAAA,CAAA,OApCvC"}
@@ -6,6 +6,7 @@ import { jsx } from "react/jsx-runtime";
6
6
  import * as PopoverPrimitive from "@radix-ui/react-popover";
7
7
 
8
8
  //#region src/react/ui/popover.tsx
9
+ /** Floating content panel anchored to a trigger element */
9
10
  function Popover({ ...props }) {
10
11
  return /* @__PURE__ */ jsx(PopoverPrimitive.Root, {
11
12
  "data-slot": "popover",
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","names":[],"sources":["../../../src/react/ui/popover.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal container={useResolvedPortalContainer()}>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"mappings":";;;;;;;;AAQA,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QAAO,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS;;AAGjE,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB;EAAO,WAAW,4BAA4B;YAC9D,oBAAC,iBAAiB;GAChB,aAAU;GACH;GACK;GACZ,WAAW,GACT,keACA,UACD;GACD,GAAI;IACJ;GACsB;;AAI9B,SAAS,cAAc,EACrB,GAAG,SACoD;AACvD,QAAO,oBAAC,iBAAiB;EAAO,aAAU;EAAiB,GAAI;GAAS"}
1
+ {"version":3,"file":"popover.js","names":[],"sources":["../../../src/react/ui/popover.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\n/** Floating content panel anchored to a trigger element */\nfunction Popover({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Root>) {\n return <PopoverPrimitive.Root data-slot=\"popover\" {...props} />;\n}\n\nfunction PopoverTrigger({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Trigger>) {\n return <PopoverPrimitive.Trigger data-slot=\"popover-trigger\" {...props} />;\n}\n\nfunction PopoverContent({\n className,\n align = \"center\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Content>) {\n return (\n <PopoverPrimitive.Portal container={useResolvedPortalContainer()}>\n <PopoverPrimitive.Content\n data-slot=\"popover-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n );\n}\n\nfunction PopoverAnchor({\n ...props\n}: React.ComponentProps<typeof PopoverPrimitive.Anchor>) {\n return <PopoverPrimitive.Anchor data-slot=\"popover-anchor\" {...props} />;\n}\n\nexport { Popover, PopoverTrigger, PopoverContent, PopoverAnchor };\n"],"mappings":";;;;;;;;;AASA,SAAS,QAAQ,EACf,GAAG,SACkD;AACrD,QAAO,oBAAC,iBAAiB;EAAK,aAAU;EAAU,GAAI;GAAS;;AAGjE,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,iBAAiB;EAAQ,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,eAAe,EACtB,WACA,QAAQ,UACR,aAAa,GACb,GAAG,SACqD;AACxD,QACE,oBAAC,iBAAiB;EAAO,WAAW,4BAA4B;YAC9D,oBAAC,iBAAiB;GAChB,aAAU;GACH;GACK;GACZ,WAAW,GACT,keACA,UACD;GACD,GAAI;IACJ;GACsB;;AAI9B,SAAS,cAAc,EACrB,GAAG,SACoD;AACvD,QAAO,oBAAC,iBAAiB;EAAO,aAAU;EAAiB,GAAI;GAAS"}
@@ -3,6 +3,7 @@ import * as react_jsx_runtime204 from "react/jsx-runtime";
3
3
  import * as ProgressPrimitive from "@radix-ui/react-progress";
4
4
 
5
5
  //#region src/react/ui/progress.d.ts
6
+ /** Visual indicator showing task completion percentage */
6
7
  declare function Progress({
7
8
  className,
8
9
  value,
@@ -1 +1 @@
1
- {"version":3,"file":"progress.d.ts","names":[],"sources":["../../../src/react/ui/progress.tsx"],"sourcesContent":[],"mappings":";;;;;iBAKS,QAAA;;;;GAIN,OAAA,CAAM,sBAAsB,iBAAA,CAAkB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"progress.d.ts","names":[],"sources":["../../../src/react/ui/progress.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAMS,QAAA;;;;GAIN,OAAA,CAAM,sBAAsB,iBAAA,CAAkB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -3,6 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
  import * as ProgressPrimitive from "@radix-ui/react-progress";
4
4
 
5
5
  //#region src/react/ui/progress.tsx
6
+ /** Visual indicator showing task completion percentage */
6
7
  function Progress({ className, value, ...props }) {
7
8
  return /* @__PURE__ */ jsx(ProgressPrimitive.Root, {
8
9
  "data-slot": "progress",
@@ -1 +1 @@
1
- {"version":3,"file":"progress.js","names":[],"sources":["../../../src/react/ui/progress.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary h-full w-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":";;;;;AAKA,SAAS,SAAS,EAChB,WACA,OACA,GAAG,SACmD;AACtD,QACE,oBAAC,kBAAkB;EACjB,aAAU;EACV,WAAW,GACT,kEACA,UACD;EACD,GAAI;YAEJ,oBAAC,kBAAkB;GACjB,aAAU;GACV,WAAU;GACV,OAAO,EAAE,WAAW,eAAe,OAAO,SAAS,GAAG,KAAK;IAC3D;GACqB"}
1
+ {"version":3,"file":"progress.js","names":[],"sources":["../../../src/react/ui/progress.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Visual indicator showing task completion percentage */\nfunction Progress({\n className,\n value,\n ...props\n}: React.ComponentProps<typeof ProgressPrimitive.Root>) {\n return (\n <ProgressPrimitive.Root\n data-slot=\"progress\"\n className={cn(\n \"bg-primary/20 relative h-2 w-full overflow-hidden rounded-full\",\n className,\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n data-slot=\"progress-indicator\"\n className=\"bg-primary h-full w-full flex-1 transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n );\n}\n\nexport { Progress };\n"],"mappings":";;;;;;AAMA,SAAS,SAAS,EAChB,WACA,OACA,GAAG,SACmD;AACtD,QACE,oBAAC,kBAAkB;EACjB,aAAU;EACV,WAAW,GACT,kEACA,UACD;EACD,GAAI;YAEJ,oBAAC,kBAAkB;GACjB,aAAU;GACV,WAAU;GACV,OAAO,EAAE,WAAW,eAAe,OAAO,SAAS,GAAG,KAAK;IAC3D;GACqB"}
@@ -3,6 +3,7 @@ import * as react_jsx_runtime205 from "react/jsx-runtime";
3
3
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
4
4
 
5
5
  //#region src/react/ui/radio-group.d.ts
6
+ /** Group of radio buttons for selecting a single option */
6
7
  declare function RadioGroup({
7
8
  className,
8
9
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../../src/react/ui/radio-group.tsx"],"sourcesContent":[],"mappings":";;;;;iBAQS,UAAA;;;GAGN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAU/C,cAAA;;;GAGN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"radio-group.d.ts","names":[],"sources":["../../../src/react/ui/radio-group.tsx"],"sourcesContent":[],"mappings":";;;;;;iBASS,UAAA;;;GAGN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAU/C,cAAA;;;GAGN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -6,6 +6,7 @@ import { CircleIcon } from "lucide-react";
6
6
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
7
7
 
8
8
  //#region src/react/ui/radio-group.tsx
9
+ /** Group of radio buttons for selecting a single option */
9
10
  function RadioGroup({ className, ...props }) {
10
11
  return /* @__PURE__ */ jsx(RadioGroupPrimitive.Root, {
11
12
  "data-slot": "radio-group",
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","names":[],"sources":["../../../src/react/ui/radio-group.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":";;;;;;;;AAQA,SAAS,WAAW,EAClB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GAAG,cAAc,UAAU;EACtC,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GACT,0XACA,UACD;EACD,GAAI;YAEJ,oBAAC,oBAAoB;GACnB,aAAU;GACV,WAAU;aAEV,oBAAC,cAAW,WAAU,oFAAoF;IAC5E;GACP"}
1
+ {"version":3,"file":"radio-group.js","names":[],"sources":["../../../src/react/ui/radio-group.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\";\nimport { CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Group of radio buttons for selecting a single option */\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n"],"mappings":";;;;;;;;;AASA,SAAS,WAAW,EAClB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GAAG,cAAc,UAAU;EACtC,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GACT,0XACA,UACD;EACD,GAAI;YAEJ,oBAAC,oBAAoB;GACnB,aAAU;GACV,WAAU;aAEV,oBAAC,cAAW,WAAU,oFAAoF;IAC5E;GACP"}
@@ -3,13 +3,16 @@ import * as react_jsx_runtime207 from "react/jsx-runtime";
3
3
  import * as ResizablePrimitive from "react-resizable-panels";
4
4
 
5
5
  //#region src/react/ui/resizable.d.ts
6
+ /** Container for resizable panel layout */
6
7
  declare function ResizablePanelGroup({
7
8
  className,
8
9
  ...props
9
10
  }: React$1.ComponentProps<typeof ResizablePrimitive.PanelGroup>): react_jsx_runtime207.JSX.Element;
11
+ /** Individual resizable panel within a panel group */
10
12
  declare function ResizablePanel({
11
13
  ...props
12
14
  }: React$1.ComponentProps<typeof ResizablePrimitive.Panel>): react_jsx_runtime207.JSX.Element;
15
+ /** Draggable handle for resizing panels */
13
16
  declare function ResizableHandle({
14
17
  withHandle,
15
18
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../src/react/ui/resizable.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMS,mBAAA;;;GAGN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,cAAW,oBAAA,CAAA,GAAA,CAAA;iBAapD,cAAA;;GAEN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,SAAM,oBAAA,CAAA,GAAA,CAAA;iBAI/C,eAAA;;;;GAIN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB;EA1BzC,UAAA,CAAA,EAAA,OAAA;CAAmB,CAAA,EA4B3B,oBAAA,CAAA,GAAA,CAAA,OA5B2B"}
1
+ {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../src/react/ui/resizable.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAOS,mBAAA;;;GAGN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,cAAW,oBAAA,CAAA,GAAA,CAAA;;AARA,iBAsBpD,cAAA,CAjBmB;EAAA,GAAA;AAAA,CAAA,EAmBzB,OAAA,CAAM,cAnBmB,CAAA,OAmBG,kBAAA,CAAmB,KAnBtB,CAAA,CAAA,EAmB4B,oBAAA,CAAA,GAAA,CAAA,OAnB5B;;iBAwBnB,eAAA,CAvBP;EAAA,UAAA;EAAA,SAAA;EAAA,GAAA;CAAA,EA2BC,OAAA,CAAM,cA3BP,CAAA,OA2B6B,kBAAA,CAAmB,iBA3BhD,CAAA,GAAA;YAE6B,CAAA,EAAA,OAAA;IA2B9B,oBAAA,CAAA,GAAA,CAAA,OA3BQ"}
@@ -4,6 +4,7 @@ import { GripVerticalIcon } from "lucide-react";
4
4
  import * as ResizablePrimitive from "react-resizable-panels";
5
5
 
6
6
  //#region src/react/ui/resizable.tsx
7
+ /** Container for resizable panel layout */
7
8
  function ResizablePanelGroup({ className, ...props }) {
8
9
  return /* @__PURE__ */ jsx(ResizablePrimitive.PanelGroup, {
9
10
  "data-slot": "resizable-panel-group",
@@ -11,12 +12,14 @@ function ResizablePanelGroup({ className, ...props }) {
11
12
  ...props
12
13
  });
13
14
  }
15
+ /** Individual resizable panel within a panel group */
14
16
  function ResizablePanel({ ...props }) {
15
17
  return /* @__PURE__ */ jsx(ResizablePrimitive.Panel, {
16
18
  "data-slot": "resizable-panel",
17
19
  ...props
18
20
  });
19
21
  }
22
+ /** Draggable handle for resizing panels */
20
23
  function ResizableHandle({ withHandle, className, ...props }) {
21
24
  return /* @__PURE__ */ jsx(ResizablePrimitive.PanelResizeHandle, {
22
25
  "data-slot": "resizable-handle",
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.js","names":[],"sources":["../../../src/react/ui/resizable.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { GripVerticalIcon } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ResizablePanel({\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot=\"resizable-handle\"\n className={cn(\n \"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n"],"mappings":";;;;;;AAMA,SAAS,oBAAoB,EAC3B,WACA,GAAG,SAC0D;AAC7D,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GACT,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,mBAAmB;EAAM,aAAU;EAAkB,GAAI;GAAS;;AAG5E,SAAS,gBAAgB,EACvB,YACA,WACA,GAAG,SAGF;AACD,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GACT,6oBACA,UACD;EACD,GAAI;YAEH,cACC,oBAAC;GAAI,WAAU;aACb,oBAAC,oBAAiB,WAAU,aAAa;IACrC;GAE6B"}
1
+ {"version":3,"file":"resizable.js","names":[],"sources":["../../../src/react/ui/resizable.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport { GripVerticalIcon } from \"lucide-react\";\nimport * as ResizablePrimitive from \"react-resizable-panels\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Container for resizable panel layout */\nfunction ResizablePanelGroup({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) {\n return (\n <ResizablePrimitive.PanelGroup\n data-slot=\"resizable-panel-group\"\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Individual resizable panel within a panel group */\nfunction ResizablePanel({\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.Panel>) {\n return <ResizablePrimitive.Panel data-slot=\"resizable-panel\" {...props} />;\n}\n\n/** Draggable handle for resizing panels */\nfunction ResizableHandle({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean;\n}) {\n return (\n <ResizablePrimitive.PanelResizeHandle\n data-slot=\"resizable-handle\"\n className={cn(\n \"bg-border focus-visible:ring-ring relative flex w-px items-center justify-center after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:ring-1 focus-visible:ring-offset-1 focus-visible:outline-hidden data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:translate-x-0 data-[panel-group-direction=vertical]:after:-translate-y-1/2 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className,\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"bg-border z-10 flex h-4 w-3 items-center justify-center rounded-xs border\">\n <GripVerticalIcon className=\"size-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n );\n}\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle };\n"],"mappings":";;;;;;;AAOA,SAAS,oBAAoB,EAC3B,WACA,GAAG,SAC0D;AAC7D,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GACT,qEACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,eAAe,EACtB,GAAG,SACqD;AACxD,QAAO,oBAAC,mBAAmB;EAAM,aAAU;EAAkB,GAAI;GAAS;;;AAI5E,SAAS,gBAAgB,EACvB,YACA,WACA,GAAG,SAGF;AACD,QACE,oBAAC,mBAAmB;EAClB,aAAU;EACV,WAAW,GACT,6oBACA,UACD;EACD,GAAI;YAEH,cACC,oBAAC;GAAI,WAAU;aACb,oBAAC,oBAAiB,WAAU,aAAa;IACrC;GAE6B"}
@@ -3,11 +3,13 @@ import * as react_jsx_runtime210 from "react/jsx-runtime";
3
3
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
4
4
 
5
5
  //#region src/react/ui/scroll-area.d.ts
6
+ /** Container with custom scrollbars for overflow content */
6
7
  declare function ScrollArea({
7
8
  className,
8
9
  children,
9
10
  ...props
10
11
  }: React$1.ComponentProps<typeof ScrollAreaPrimitive.Root>): react_jsx_runtime210.JSX.Element;
12
+ /** Scrollbar component for the scroll area */
11
13
  declare function ScrollBar({
12
14
  className,
13
15
  orientation,
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.d.ts","names":[],"sources":["../../../src/react/ui/scroll-area.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,UAAA;;;;GAIN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAmB/C,SAAA;;;;GAIN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,uBAAoB,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"scroll-area.d.ts","names":[],"sources":["../../../src/react/ui/scroll-area.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,UAAA;;;;GAIN,OAAA,CAAM,sBAAsB,mBAAA,CAAoB,QAAK,oBAAA,CAAA,GAAA,CAAA;;AATW,iBA6B1D,SAAA,CAxBU;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA4BhB,OAAA,CAAM,cA5BU,CAAA,OA4BY,mBAAA,CAAoB,mBA5BhC,CAAA,CAAA,EA4BoD,oBAAA,CAAA,GAAA,CAAA,OA5BpD"}
@@ -5,6 +5,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
5
  import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area";
6
6
 
7
7
  //#region src/react/ui/scroll-area.tsx
8
+ /** Container with custom scrollbars for overflow content */
8
9
  function ScrollArea({ className, children, ...props }) {
9
10
  return /* @__PURE__ */ jsxs(ScrollAreaPrimitive.Root, {
10
11
  "data-slot": "scroll-area",
@@ -21,6 +22,7 @@ function ScrollArea({ className, children, ...props }) {
21
22
  ]
22
23
  });
23
24
  }
25
+ /** Scrollbar component for the scroll area */
24
26
  function ScrollBar({ className, orientation = "vertical", ...props }) {
25
27
  return /* @__PURE__ */ jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, {
26
28
  "data-slot": "scroll-area-scrollbar",
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area.js","names":[],"sources":["../../../src/react/ui/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;AAOA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACqD;AACxD,QACE,qBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;;GAEJ,oBAAC,oBAAoB;IACnB,aAAU;IACV,WAAU;IAET;KAC4B;GAC/B,oBAAC,cAAY;GACb,oBAAC,oBAAoB,WAAS;;GACL;;AAI/B,SAAS,UAAU,EACjB,WACA,cAAc,YACd,GAAG,SACoE;AACvE,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACG;EACb,WAAW,GACT,sDACA,gBAAgB,cACd,8CACF,gBAAgB,gBACd,gDACF,UACD;EACD,GAAI;YAEJ,oBAAC,oBAAoB;GACnB,aAAU;GACV,WAAU;IACV;GACsC"}
1
+ {"version":3,"file":"scroll-area.js","names":[],"sources":["../../../src/react/ui/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\nimport type * as React from \"react\";\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Container with custom scrollbars for overflow content */\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\n/** Scrollbar component for the scroll area */\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none p-px transition-colors select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n"],"mappings":";;;;;;;;AAQA,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACqD;AACxD,QACE,qBAAC,oBAAoB;EACnB,aAAU;EACV,WAAW,GAAG,YAAY,UAAU;EACpC,GAAI;;GAEJ,oBAAC,oBAAoB;IACnB,aAAU;IACV,WAAU;IAET;KAC4B;GAC/B,oBAAC,cAAY;GACb,oBAAC,oBAAoB,WAAS;;GACL;;;AAK/B,SAAS,UAAU,EACjB,WACA,cAAc,YACd,GAAG,SACoE;AACvE,QACE,oBAAC,oBAAoB;EACnB,aAAU;EACG;EACb,WAAW,GACT,sDACA,gBAAgB,cACd,8CACF,gBAAgB,gBACd,gDACF,UACD;EACD,GAAI;YAEJ,oBAAC,oBAAoB;GACnB,aAAU;GACV,WAAU;IACV;GACsC"}
@@ -3,6 +3,7 @@ import * as react_jsx_runtime212 from "react/jsx-runtime";
3
3
  import * as SelectPrimitive from "@radix-ui/react-select";
4
4
 
5
5
  //#region src/react/ui/select.d.ts
6
+ /** Dropdown control for selecting a value from a list */
6
7
  declare function Select({
7
8
  ...props
8
9
  }: React$1.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime212.JSX.Element;
@@ -31,6 +32,17 @@ declare function SelectLabel({
31
32
  className,
32
33
  ...props
33
34
  }: React$1.ComponentProps<typeof SelectPrimitive.Label>): react_jsx_runtime212.JSX.Element;
35
+ /**
36
+ * Select item component for individual options in a dropdown.
37
+ *
38
+ * @warning SelectItem cannot have value="". Use a sentinel value like "all" or "none" instead due to Radix UI constraint.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <SelectItem value="option1">Option 1</SelectItem>
43
+ * <SelectItem value="all">All Items</SelectItem> // Use "all" instead of ""
44
+ * ```
45
+ */
34
46
  declare function SelectItem({
35
47
  className,
36
48
  children,
@@ -1 +1 @@
1
- {"version":3,"file":"select.d.ts","names":[],"sources":["../../../src/react/ui/select.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,MAAA;;GAEN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAI3C,WAAA;;GAEN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,SAAM,oBAAA,CAAA,GAAA,CAAA;iBAI5C,WAAA;;GAEN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,SAAM,oBAAA,CAAA,GAAA,CAAA;AApBK,iBAwBjD,aAAA,CAlBM;EAAA,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EAuBZ,OAAA,CAAM,cAvBM,CAAA,OAuBgB,eAAA,CAAgB,OAvBhC,CAAA,GAAA;EAAA,IAAA,CAAA,EAAA,IAAA,GAAA,SAAA;IAyBd,oBAAA,CAAA,GAAA,CAAA,OAvB8C;iBA0CtC,aAAA,CA1CA;EAAA,SAAA;EAAA,QAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgDN,OAAA,CAAM,cAhDA,CAAA,OAgDsB,eAAA,CAAgB,OAhDtC,CAAA,CAAA,EAgD8C,oBAAA,CAAA,GAAA,CAAA,OAhD9C;iBA+EA,WAAA,CA/E2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkFjD,OAAA,CAAM,cAlF2C,CAAA,OAkFrB,eAAA,CAAgB,KAlFK,CAAA,CAAA,EAkFC,oBAAA,CAAA,GAAA,CAAA,OAlFD;iBA4F3C,UAAA,CA5F2C;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAgGjD,OAAA,CAAM,cAhG2C,CAAA,OAgGrB,eAAA,CAAgB,IAhGK,CAAA,CAAA,EAgGA,oBAAA,CAAA,GAAA,CAAA,OAhGA;AAAA,iBAoH3C,eAAA,CAhHW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAmHjB,OAAA,CAAM,cAnHW,CAAA,OAmHW,eAAA,CAAgB,SAnH3B,CAAA,CAAA,EAmHqC,oBAAA,CAAA,GAAA,CAAA,OAnHrC;iBA6HX,oBAAA,CA7HW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgIjB,OAAA,CAAM,cAhIW,CAAA,OAgIW,eAAA,CAAgB,cAhI3B,CAAA,CAAA,EAgI0C,oBAAA,CAAA,GAAA,CAAA,OAhI1C;iBA+IX,sBAAA,CA7IsC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgJ5C,OAAA,CAAM,cAhJsC,CAAA,OAgJhB,eAAA,CAAgB,gBAhJA,CAAA,CAAA,EAgJiB,oBAAA,CAAA,GAAA,CAAA,OAhJjB"}
1
+ {"version":3,"file":"select.d.ts","names":[],"sources":["../../../src/react/ui/select.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,MAAA;;GAEN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAI3C,WAAA;;GAEN,OAAA,CAAM,sBAAsB,eAAA,CAAgB,SAAM,oBAAA,CAAA,GAAA,CAAA;AAfK,iBAmBjD,WAAA,CAZM;EAAA,GAAA;AAAA,CAAA,EAcZ,OAAA,CAAM,cAdM,CAAA,OAcgB,eAAA,CAAgB,KAdhC,CAAA,CAAA,EAcsC,oBAAA,CAAA,GAAA,CAAA,OAdtC;iBAkBN,aAAA,CAlBM;EAAA,SAAA;EAAA,IAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EAuBZ,OAAA,CAAM,cAvBM,CAAA,OAuBgB,eAAA,CAAgB,OAvBhC,CAAA,GAAA;MAEgB,CAAA,EAAA,IAAA,GAAA,SAAgB;IAuB9C,oBAAA,CAAA,GAAA,CAAA,OAvBQ;iBA0CA,aAAA,CA1C2C;EAAA,SAAA;EAAA,QAAA;EAAA,QAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAgDjD,OAAA,CAAM,cAhD2C,CAAA,OAgDrB,eAAA,CAAgB,OAhDK,CAAA,CAAA,EAgDG,oBAAA,CAAA,GAAA,CAAA,OAhDH;iBA+E3C,WAAA,CA/E2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkFjD,OAAA,CAAM,cAlF2C,CAAA,OAkFrB,eAAA,CAAgB,KAlFK,CAAA,CAAA,EAkFC,oBAAA,CAAA,GAAA,CAAA,OAlFD;AAAA;;;;;;AAMC;;;;;iBAiG5C,UAAA,CA3F4C;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+FlD,OAAA,CAAM,cA/F4C,CAAA,OA+FtB,eAAA,CAAgB,IA/FM,CAAA,CAAA,EA+FD,oBAAA,CAAA,GAAA,CAAA,OA/FC;AAAA,iBAmH5C,eAAA,CA/Ga;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkHnB,OAAA,CAAM,cAlHa,CAAA,OAkHS,eAAA,CAAgB,SAlHzB,CAAA,CAAA,EAkHmC,oBAAA,CAAA,GAAA,CAAA,OAlHnC;iBA4Hb,oBAAA,CA5Ha;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+HnB,OAAA,CAAM,cA/Ha,CAAA,OA+HS,eAAA,CAAgB,cA/HzB,CAAA,CAAA,EA+HwC,oBAAA,CAAA,GAAA,CAAA,OA/HxC;iBA8Ib,sBAAA,CA7IP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAgJC,OAAA,CAAM,cAhJP,CAAA,OAgJ6B,eAAA,CAAgB,gBAhJ7C,CAAA,CAAA,EAgJ8D,oBAAA,CAAA,GAAA,CAAA,OAhJ9D"}
@@ -5,6 +5,7 @@ import { CheckIcon, ChevronDownIcon, ChevronUpIcon } from "lucide-react";
5
5
  import * as SelectPrimitive from "@radix-ui/react-select";
6
6
 
7
7
  //#region src/react/ui/select.tsx
8
+ /** Dropdown control for selecting a value from a list */
8
9
  function Select({ ...props }) {
9
10
  return /* @__PURE__ */ jsx(SelectPrimitive.Root, {
10
11
  "data-slot": "select",
@@ -62,6 +63,17 @@ function SelectLabel({ className, ...props }) {
62
63
  ...props
63
64
  });
64
65
  }
66
+ /**
67
+ * Select item component for individual options in a dropdown.
68
+ *
69
+ * @warning SelectItem cannot have value="". Use a sentinel value like "all" or "none" instead due to Radix UI constraint.
70
+ *
71
+ * @example
72
+ * ```tsx
73
+ * <SelectItem value="option1">Option 1</SelectItem>
74
+ * <SelectItem value="all">All Items</SelectItem> // Use "all" instead of ""
75
+ * ```
76
+ */
65
77
  function SelectItem({ className, children, ...props }) {
66
78
  return /* @__PURE__ */ jsxs(SelectPrimitive.Item, {
67
79
  "data-slot": "select-item",
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","names":[],"sources":["../../../src/react/ui/select.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal container={useResolvedPortalContainer()}>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,OAAO,EACd,GAAG,SACiD;AACpD,QAAO,oBAAC,gBAAgB;EAAK,aAAU;EAAS,GAAI;GAAS;;AAG/D,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAAC,gBAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAAC,gBAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,cAAc,EACrB,WACA,OAAO,WACP,UACA,GAAG,SAGF;AACD,QACE,qBAAC,gBAAgB;EACf,aAAU;EACV,aAAW;EACX,WAAW,GACT,gzBACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,gBAAgB;GAAK;aACpB,oBAAC,mBAAgB,WAAU,sBAAsB;IAC5B;GACC;;AAI9B,SAAS,cAAc,EACrB,WACA,UACA,WAAW,UACX,QAAQ,UACR,GAAG,SACoD;AACvD,QACE,oBAAC,gBAAgB;EAAO,WAAW,4BAA4B;YAC7D,qBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT,ijBACA,aAAa,YACX,mIACF,UACD;GACS;GACH;GACP,GAAI;;IAEJ,oBAAC,yBAAuB;IACxB,oBAAC,gBAAgB;KACf,WAAW,GACT,OACA,aAAa,YACX,sGACH;KAEA;MACwB;IAC3B,oBAAC,2BAAyB;;IACF;GACH;;AAI7B,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;AACpD,QACE,qBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,6aACA,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,gBAAgB,2BACf,oBAAC,aAAU,WAAU,WAAW,GACF;IAC3B,EACP,oBAAC,gBAAgB,YAAU,WAAoC;GAC1C;;AAI3B,SAAS,gBAAgB,EACvB,WACA,GAAG,SACsD;AACzD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,iDAAiD,UAAU;EACzE,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAC2D;AAC9D,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,wDACA,UACD;EACD,GAAI;YAEJ,oBAAC,iBAAc,WAAU,WAAW;GACL;;AAIrC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,wDACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAgB,WAAU,WAAW;GACL"}
1
+ {"version":3,"file":"select.js","names":[],"sources":["../../../src/react/ui/select.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\n/** Dropdown control for selecting a value from a list */\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"popper\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal container={useResolvedPortalContainer()}>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n );\n}\n\n/**\n * Select item component for individual options in a dropdown.\n * \n * @warning SelectItem cannot have value=\"\". Use a sentinel value like \"all\" or \"none\" instead due to Radix UI constraint.\n * \n * @example\n * ```tsx\n * <SelectItem value=\"option1\">Option 1</SelectItem>\n * <SelectItem value=\"all\">All Items</SelectItem> // Use \"all\" instead of \"\"\n * ```\n */\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"],"mappings":";;;;;;;;AAQA,SAAS,OAAO,EACd,GAAG,SACiD;AACpD,QAAO,oBAAC,gBAAgB;EAAK,aAAU;EAAS,GAAI;GAAS;;AAG/D,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAAC,gBAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,YAAY,EACnB,GAAG,SACkD;AACrD,QAAO,oBAAC,gBAAgB;EAAM,aAAU;EAAe,GAAI;GAAS;;AAGtE,SAAS,cAAc,EACrB,WACA,OAAO,WACP,UACA,GAAG,SAGF;AACD,QACE,qBAAC,gBAAgB;EACf,aAAU;EACV,aAAW;EACX,WAAW,GACT,gzBACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,gBAAgB;GAAK;aACpB,oBAAC,mBAAgB,WAAU,sBAAsB;IAC5B;GACC;;AAI9B,SAAS,cAAc,EACrB,WACA,UACA,WAAW,UACX,QAAQ,UACR,GAAG,SACoD;AACvD,QACE,oBAAC,gBAAgB;EAAO,WAAW,4BAA4B;YAC7D,qBAAC,gBAAgB;GACf,aAAU;GACV,WAAW,GACT,ijBACA,aAAa,YACX,mIACF,UACD;GACS;GACH;GACP,GAAI;;IAEJ,oBAAC,yBAAuB;IACxB,oBAAC,gBAAgB;KACf,WAAW,GACT,OACA,aAAa,YACX,sGACH;KAEA;MACwB;IAC3B,oBAAC,2BAAyB;;IACF;GACH;;AAI7B,SAAS,YAAY,EACnB,WACA,GAAG,SACkD;AACrD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,6CAA6C,UAAU;EACrE,GAAI;GACJ;;;;;;;;;;;;;AAeN,SAAS,WAAW,EAClB,WACA,UACA,GAAG,SACiD;AACpD,QACE,qBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,6aACA,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,gBAAgB,2BACf,oBAAC,aAAU,WAAU,WAAW,GACF;IAC3B,EACP,oBAAC,gBAAgB,YAAU,WAAoC;GAC1C;;AAI3B,SAAS,gBAAgB,EACvB,WACA,GAAG,SACsD;AACzD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,iDAAiD,UAAU;EACzE,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAC2D;AAC9D,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,wDACA,UACD;EACD,GAAI;YAEJ,oBAAC,iBAAc,WAAU,WAAW;GACL;;AAIrC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GACT,wDACA,UACD;EACD,GAAI;YAEJ,oBAAC,mBAAgB,WAAU,WAAW;GACL"}
@@ -3,6 +3,7 @@ import * as react_jsx_runtime222 from "react/jsx-runtime";
3
3
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
4
4
 
5
5
  //#region src/react/ui/separator.d.ts
6
+ /** Visual divider line between content sections */
6
7
  declare function Separator({
7
8
  className,
8
9
  orientation,
@@ -1 +1 @@
1
- {"version":3,"file":"separator.d.ts","names":[],"sources":["../../../src/react/ui/separator.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,SAAA;;;;;GAKN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
1
+ {"version":3,"file":"separator.d.ts","names":[],"sources":["../../../src/react/ui/separator.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAQS,SAAA;;;;;GAKN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -5,6 +5,7 @@ import { jsx } from "react/jsx-runtime";
5
5
  import * as SeparatorPrimitive from "@radix-ui/react-separator";
6
6
 
7
7
  //#region src/react/ui/separator.tsx
8
+ /** Visual divider line between content sections */
8
9
  function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
9
10
  return /* @__PURE__ */ jsx(SeparatorPrimitive.Root, {
10
11
  "data-slot": "separator",