@databricks/appkit-ui 0.3.0 → 0.4.1

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 (478) 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 +8 -19
  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 +7 -28
  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/base.d.ts +2 -2
  28. package/dist/react/charts/base.d.ts.map +1 -1
  29. package/dist/react/charts/create-chart.d.ts +2 -2
  30. package/dist/react/charts/create-chart.d.ts.map +1 -1
  31. package/dist/react/charts/heatmap/index.d.ts +9 -24
  32. package/dist/react/charts/heatmap/index.d.ts.map +1 -1
  33. package/dist/react/charts/heatmap/index.js +6 -22
  34. package/dist/react/charts/heatmap/index.js.map +1 -1
  35. package/dist/react/charts/line/index.d.ts +8 -20
  36. package/dist/react/charts/line/index.d.ts.map +1 -1
  37. package/dist/react/charts/line/index.js +5 -18
  38. package/dist/react/charts/line/index.js.map +1 -1
  39. package/dist/react/charts/normalize.js +16 -16
  40. package/dist/react/charts/normalize.js.map +1 -1
  41. package/dist/react/charts/options.d.ts.map +1 -1
  42. package/dist/react/charts/pie/index.d.ts +13 -35
  43. package/dist/react/charts/pie/index.d.ts.map +1 -1
  44. package/dist/react/charts/pie/index.js +9 -32
  45. package/dist/react/charts/pie/index.js.map +1 -1
  46. package/dist/react/charts/radar/index.d.ts +8 -18
  47. package/dist/react/charts/radar/index.d.ts.map +1 -1
  48. package/dist/react/charts/radar/index.js +5 -16
  49. package/dist/react/charts/radar/index.js.map +1 -1
  50. package/dist/react/charts/scatter/index.d.ts +8 -18
  51. package/dist/react/charts/scatter/index.d.ts.map +1 -1
  52. package/dist/react/charts/scatter/index.js +5 -16
  53. package/dist/react/charts/scatter/index.js.map +1 -1
  54. package/dist/react/charts/wrapper.d.ts +2 -2
  55. package/dist/react/charts/wrapper.d.ts.map +1 -1
  56. package/dist/react/hooks/use-analytics-query.js +12 -12
  57. package/dist/react/hooks/use-analytics-query.js.map +1 -1
  58. package/dist/react/table/data-table.d.ts +6 -3
  59. package/dist/react/table/data-table.d.ts.map +1 -1
  60. package/dist/react/table/data-table.js +4 -1
  61. package/dist/react/table/data-table.js.map +1 -1
  62. package/dist/react/table/table-wrapper.js +3 -3
  63. package/dist/react/table/table-wrapper.js.map +1 -1
  64. package/dist/react/ui/accordion.d.ts +9 -5
  65. package/dist/react/ui/accordion.d.ts.map +1 -1
  66. package/dist/react/ui/accordion.js +4 -0
  67. package/dist/react/ui/accordion.js.map +1 -1
  68. package/dist/react/ui/alert-dialog.d.ts +23 -12
  69. package/dist/react/ui/alert-dialog.d.ts.map +1 -1
  70. package/dist/react/ui/alert-dialog.js +11 -0
  71. package/dist/react/ui/alert-dialog.js.map +1 -1
  72. package/dist/react/ui/alert.d.ts +7 -4
  73. package/dist/react/ui/alert.d.ts.map +1 -1
  74. package/dist/react/ui/alert.js +3 -0
  75. package/dist/react/ui/alert.js.map +1 -1
  76. package/dist/react/ui/aspect-ratio.d.ts +3 -2
  77. package/dist/react/ui/aspect-ratio.d.ts.map +1 -1
  78. package/dist/react/ui/aspect-ratio.js +1 -0
  79. package/dist/react/ui/aspect-ratio.js.map +1 -1
  80. package/dist/react/ui/avatar.d.ts +7 -4
  81. package/dist/react/ui/avatar.d.ts.map +1 -1
  82. package/dist/react/ui/avatar.js +3 -0
  83. package/dist/react/ui/avatar.js.map +1 -1
  84. package/dist/react/ui/badge.d.ts +3 -2
  85. package/dist/react/ui/badge.d.ts.map +1 -1
  86. package/dist/react/ui/badge.js +1 -0
  87. package/dist/react/ui/badge.js.map +1 -1
  88. package/dist/react/ui/breadcrumb.d.ts +15 -8
  89. package/dist/react/ui/breadcrumb.d.ts.map +1 -1
  90. package/dist/react/ui/breadcrumb.js +7 -0
  91. package/dist/react/ui/breadcrumb.js.map +1 -1
  92. package/dist/react/ui/button-group.d.ts +7 -4
  93. package/dist/react/ui/button-group.d.ts.map +1 -1
  94. package/dist/react/ui/button-group.js +3 -0
  95. package/dist/react/ui/button-group.js.map +1 -1
  96. package/dist/react/ui/button.d.ts +3 -2
  97. package/dist/react/ui/button.d.ts.map +1 -1
  98. package/dist/react/ui/button.js +1 -0
  99. package/dist/react/ui/button.js.map +1 -1
  100. package/dist/react/ui/calendar.d.ts +5 -3
  101. package/dist/react/ui/calendar.d.ts.map +1 -1
  102. package/dist/react/ui/calendar.js +14 -12
  103. package/dist/react/ui/calendar.js.map +1 -1
  104. package/dist/react/ui/card.d.ts +15 -8
  105. package/dist/react/ui/card.d.ts.map +1 -1
  106. package/dist/react/ui/card.js +7 -0
  107. package/dist/react/ui/card.js.map +1 -1
  108. package/dist/react/ui/carousel.d.ts +11 -6
  109. package/dist/react/ui/carousel.d.ts.map +1 -1
  110. package/dist/react/ui/carousel.js +9 -4
  111. package/dist/react/ui/carousel.js.map +1 -1
  112. package/dist/react/ui/chart.d.ts +6 -5
  113. package/dist/react/ui/chart.d.ts.map +1 -1
  114. package/dist/react/ui/chart.js +2 -1
  115. package/dist/react/ui/chart.js.map +1 -1
  116. package/dist/react/ui/checkbox.d.ts +3 -2
  117. package/dist/react/ui/checkbox.d.ts.map +1 -1
  118. package/dist/react/ui/checkbox.js +1 -0
  119. package/dist/react/ui/checkbox.js.map +1 -1
  120. package/dist/react/ui/collapsible.d.ts +7 -4
  121. package/dist/react/ui/collapsible.d.ts.map +1 -1
  122. package/dist/react/ui/collapsible.js +3 -0
  123. package/dist/react/ui/collapsible.js.map +1 -1
  124. package/dist/react/ui/command.d.ts +19 -10
  125. package/dist/react/ui/command.d.ts.map +1 -1
  126. package/dist/react/ui/command.js +9 -0
  127. package/dist/react/ui/command.js.map +1 -1
  128. package/dist/react/ui/context-menu.d.ts +17 -16
  129. package/dist/react/ui/context-menu.d.ts.map +1 -1
  130. package/dist/react/ui/context-menu.js +1 -0
  131. package/dist/react/ui/context-menu.js.map +1 -1
  132. package/dist/react/ui/dialog.d.ts +21 -11
  133. package/dist/react/ui/dialog.d.ts.map +1 -1
  134. package/dist/react/ui/dialog.js +10 -0
  135. package/dist/react/ui/dialog.js.map +1 -1
  136. package/dist/react/ui/drawer.d.ts +21 -11
  137. package/dist/react/ui/drawer.d.ts.map +1 -1
  138. package/dist/react/ui/drawer.js +10 -0
  139. package/dist/react/ui/drawer.js.map +1 -1
  140. package/dist/react/ui/dropdown-menu.d.ts +17 -16
  141. package/dist/react/ui/dropdown-menu.d.ts.map +1 -1
  142. package/dist/react/ui/dropdown-menu.js +1 -0
  143. package/dist/react/ui/dropdown-menu.js.map +1 -1
  144. package/dist/react/ui/empty.d.ts +8 -7
  145. package/dist/react/ui/empty.d.ts.map +1 -1
  146. package/dist/react/ui/empty.js +1 -0
  147. package/dist/react/ui/empty.js.map +1 -1
  148. package/dist/react/ui/field.d.ts +21 -11
  149. package/dist/react/ui/field.d.ts.map +1 -1
  150. package/dist/react/ui/field.js +10 -0
  151. package/dist/react/ui/field.js.map +1 -1
  152. package/dist/react/ui/form.d.ts +14 -7
  153. package/dist/react/ui/form.d.ts.map +1 -1
  154. package/dist/react/ui/form.js +7 -0
  155. package/dist/react/ui/form.js.map +1 -1
  156. package/dist/react/ui/hover-card.d.ts +5 -4
  157. package/dist/react/ui/hover-card.d.ts.map +1 -1
  158. package/dist/react/ui/hover-card.js +1 -0
  159. package/dist/react/ui/hover-card.js.map +1 -1
  160. package/dist/react/ui/input-group.d.ts +13 -7
  161. package/dist/react/ui/input-group.d.ts.map +1 -1
  162. package/dist/react/ui/input-group.js +6 -0
  163. package/dist/react/ui/input-group.js.map +1 -1
  164. package/dist/react/ui/input-otp.d.ts +9 -5
  165. package/dist/react/ui/input-otp.d.ts.map +1 -1
  166. package/dist/react/ui/input-otp.js +4 -0
  167. package/dist/react/ui/input-otp.js.map +1 -1
  168. package/dist/react/ui/input.d.ts +3 -2
  169. package/dist/react/ui/input.d.ts.map +1 -1
  170. package/dist/react/ui/input.js +1 -0
  171. package/dist/react/ui/input.js.map +1 -1
  172. package/dist/react/ui/item.d.ts +12 -11
  173. package/dist/react/ui/item.d.ts.map +1 -1
  174. package/dist/react/ui/item.js +1 -0
  175. package/dist/react/ui/item.js.map +1 -1
  176. package/dist/react/ui/kbd.d.ts +4 -3
  177. package/dist/react/ui/kbd.d.ts.map +1 -1
  178. package/dist/react/ui/kbd.js +1 -0
  179. package/dist/react/ui/kbd.js.map +1 -1
  180. package/dist/react/ui/label.d.ts +3 -2
  181. package/dist/react/ui/label.d.ts.map +1 -1
  182. package/dist/react/ui/label.js +1 -0
  183. package/dist/react/ui/label.js.map +1 -1
  184. package/dist/react/ui/menubar.d.ts +18 -17
  185. package/dist/react/ui/menubar.d.ts.map +1 -1
  186. package/dist/react/ui/menubar.js +1 -0
  187. package/dist/react/ui/menubar.js.map +1 -1
  188. package/dist/react/ui/navigation-menu.d.ts +17 -9
  189. package/dist/react/ui/navigation-menu.d.ts.map +1 -1
  190. package/dist/react/ui/navigation-menu.js +8 -0
  191. package/dist/react/ui/navigation-menu.js.map +1 -1
  192. package/dist/react/ui/pagination.d.ts +15 -8
  193. package/dist/react/ui/pagination.d.ts.map +1 -1
  194. package/dist/react/ui/pagination.js +7 -0
  195. package/dist/react/ui/pagination.js.map +1 -1
  196. package/dist/react/ui/popover.d.ts +6 -5
  197. package/dist/react/ui/popover.d.ts.map +1 -1
  198. package/dist/react/ui/popover.js +1 -0
  199. package/dist/react/ui/popover.js.map +1 -1
  200. package/dist/react/ui/progress.d.ts +3 -2
  201. package/dist/react/ui/progress.d.ts.map +1 -1
  202. package/dist/react/ui/progress.js +1 -0
  203. package/dist/react/ui/progress.js.map +1 -1
  204. package/dist/react/ui/radio-group.d.ts +4 -3
  205. package/dist/react/ui/radio-group.d.ts.map +1 -1
  206. package/dist/react/ui/radio-group.js +1 -0
  207. package/dist/react/ui/radio-group.js.map +1 -1
  208. package/dist/react/ui/resizable.d.ts +7 -4
  209. package/dist/react/ui/resizable.d.ts.map +1 -1
  210. package/dist/react/ui/resizable.js +3 -0
  211. package/dist/react/ui/resizable.js.map +1 -1
  212. package/dist/react/ui/scroll-area.d.ts +5 -3
  213. package/dist/react/ui/scroll-area.d.ts.map +1 -1
  214. package/dist/react/ui/scroll-area.js +2 -0
  215. package/dist/react/ui/scroll-area.js.map +1 -1
  216. package/dist/react/ui/select.d.ts +23 -11
  217. package/dist/react/ui/select.d.ts.map +1 -1
  218. package/dist/react/ui/select.js +12 -0
  219. package/dist/react/ui/select.js.map +1 -1
  220. package/dist/react/ui/separator.d.ts +3 -2
  221. package/dist/react/ui/separator.d.ts.map +1 -1
  222. package/dist/react/ui/separator.js +1 -0
  223. package/dist/react/ui/separator.js.map +1 -1
  224. package/dist/react/ui/sheet.d.ts +17 -9
  225. package/dist/react/ui/sheet.d.ts.map +1 -1
  226. package/dist/react/ui/sheet.js +10 -0
  227. package/dist/react/ui/sheet.js.map +1 -1
  228. package/dist/react/ui/sidebar.d.ts +46 -24
  229. package/dist/react/ui/sidebar.d.ts.map +1 -1
  230. package/dist/react/ui/sidebar.js +23 -1
  231. package/dist/react/ui/sidebar.js.map +1 -1
  232. package/dist/react/ui/skeleton.d.ts +3 -2
  233. package/dist/react/ui/skeleton.d.ts.map +1 -1
  234. package/dist/react/ui/skeleton.js +1 -0
  235. package/dist/react/ui/skeleton.js.map +1 -1
  236. package/dist/react/ui/slider.d.ts +3 -2
  237. package/dist/react/ui/slider.d.ts.map +1 -1
  238. package/dist/react/ui/slider.js +1 -0
  239. package/dist/react/ui/slider.js.map +1 -1
  240. package/dist/react/ui/sonner.d.ts +3 -2
  241. package/dist/react/ui/sonner.d.ts.map +1 -1
  242. package/dist/react/ui/sonner.js +1 -0
  243. package/dist/react/ui/sonner.js.map +1 -1
  244. package/dist/react/ui/spinner.d.ts +3 -2
  245. package/dist/react/ui/spinner.d.ts.map +1 -1
  246. package/dist/react/ui/spinner.js +1 -0
  247. package/dist/react/ui/spinner.js.map +1 -1
  248. package/dist/react/ui/switch.d.ts +3 -2
  249. package/dist/react/ui/switch.d.ts.map +1 -1
  250. package/dist/react/ui/switch.js +1 -0
  251. package/dist/react/ui/switch.js.map +1 -1
  252. package/dist/react/ui/table.d.ts +10 -9
  253. package/dist/react/ui/table.d.ts.map +1 -1
  254. package/dist/react/ui/table.js +1 -0
  255. package/dist/react/ui/table.js.map +1 -1
  256. package/dist/react/ui/tabs.d.ts +9 -5
  257. package/dist/react/ui/tabs.d.ts.map +1 -1
  258. package/dist/react/ui/tabs.js +4 -0
  259. package/dist/react/ui/tabs.js.map +1 -1
  260. package/dist/react/ui/textarea.d.ts +3 -2
  261. package/dist/react/ui/textarea.d.ts.map +1 -1
  262. package/dist/react/ui/textarea.js +1 -0
  263. package/dist/react/ui/textarea.js.map +1 -1
  264. package/dist/react/ui/toggle-group.d.ts +4 -3
  265. package/dist/react/ui/toggle-group.d.ts.map +1 -1
  266. package/dist/react/ui/toggle-group.js +1 -0
  267. package/dist/react/ui/toggle-group.js.map +1 -1
  268. package/dist/react/ui/toggle.d.ts +3 -2
  269. package/dist/react/ui/toggle.d.ts.map +1 -1
  270. package/dist/react/ui/toggle.js +1 -0
  271. package/dist/react/ui/toggle.js.map +1 -1
  272. package/dist/react/ui/tooltip.d.ts +7 -5
  273. package/dist/react/ui/tooltip.d.ts.map +1 -1
  274. package/dist/react/ui/tooltip.js +2 -0
  275. package/dist/react/ui/tooltip.js.map +1 -1
  276. package/docs/docs/api/appkit/Class.AppKitError/index.html +77 -0
  277. package/docs/docs/api/appkit/Class.AppKitError.md +154 -0
  278. package/docs/docs/api/appkit/Class.AuthenticationError/index.html +110 -0
  279. package/docs/docs/api/appkit/Class.AuthenticationError.md +236 -0
  280. package/docs/docs/api/appkit/Class.ConfigurationError/index.html +112 -0
  281. package/docs/docs/api/appkit/Class.ConfigurationError.md +243 -0
  282. package/docs/docs/api/appkit/Class.ConnectionError/index.html +120 -0
  283. package/docs/docs/api/appkit/Class.ConnectionError.md +265 -0
  284. package/docs/docs/api/appkit/Class.ExecutionError/index.html +116 -0
  285. package/docs/docs/api/appkit/Class.ExecutionError.md +250 -0
  286. package/docs/docs/api/appkit/Class.InitializationError/index.html +104 -0
  287. package/docs/docs/api/appkit/Class.InitializationError.md +222 -0
  288. package/docs/docs/api/appkit/Class.Plugin/index.html +149 -0
  289. package/docs/docs/api/appkit/Class.Plugin.md +392 -0
  290. package/docs/docs/api/appkit/Class.ServerError/index.html +108 -0
  291. package/docs/docs/api/appkit/Class.ServerError.md +229 -0
  292. package/docs/docs/api/appkit/Class.TunnelError/index.html +108 -0
  293. package/docs/docs/api/appkit/Class.TunnelError.md +231 -0
  294. package/docs/docs/api/appkit/Class.ValidationError/index.html +106 -0
  295. package/docs/docs/api/appkit/Class.ValidationError.md +225 -0
  296. package/docs/docs/api/appkit/Function.appKitTypesPlugin/index.html +24 -0
  297. package/docs/docs/api/appkit/Function.appKitTypesPlugin.md +20 -0
  298. package/docs/docs/api/appkit/Function.createApp/index.html +24 -0
  299. package/docs/docs/api/appkit/Function.createApp.md +31 -0
  300. package/docs/docs/api/appkit/Function.isSQLTypeMarker/index.html +25 -0
  301. package/docs/docs/api/appkit/Function.isSQLTypeMarker.md +32 -0
  302. package/docs/docs/api/appkit/Interface.BasePluginConfig/index.html +28 -0
  303. package/docs/docs/api/appkit/Interface.BasePluginConfig.md +37 -0
  304. package/docs/docs/api/appkit/Interface.CacheConfig/index.html +63 -0
  305. package/docs/docs/api/appkit/Interface.CacheConfig.md +131 -0
  306. package/docs/docs/api/appkit/Interface.ITelemetry/index.html +73 -0
  307. package/docs/docs/api/appkit/Interface.ITelemetry.md +144 -0
  308. package/docs/docs/api/appkit/Interface.StreamExecutionSettings/index.html +26 -0
  309. package/docs/docs/api/appkit/Interface.StreamExecutionSettings.md +30 -0
  310. package/docs/docs/api/appkit/Interface.TelemetryConfig/index.html +32 -0
  311. package/docs/docs/api/appkit/Interface.TelemetryConfig.md +48 -0
  312. package/docs/docs/api/appkit/TypeAlias.IAppRouter/index.html +18 -0
  313. package/docs/docs/api/appkit/TypeAlias.IAppRouter.md +8 -0
  314. package/docs/docs/api/appkit/Variable.sql/index.html +98 -0
  315. package/docs/docs/api/appkit/Variable.sql.md +260 -0
  316. package/docs/docs/api/appkit/index.html +28 -0
  317. package/docs/docs/api/appkit-ui/data/AreaChart/index.html +29 -0
  318. package/docs/docs/api/appkit-ui/data/AreaChart.md +79 -0
  319. package/docs/docs/api/appkit-ui/data/BarChart/index.html +29 -0
  320. package/docs/docs/api/appkit-ui/data/BarChart.md +74 -0
  321. package/docs/docs/api/appkit-ui/data/DataTable/index.html +36 -0
  322. package/docs/docs/api/appkit-ui/data/DataTable.md +69 -0
  323. package/docs/docs/api/appkit-ui/data/DonutChart/index.html +29 -0
  324. package/docs/docs/api/appkit-ui/data/DonutChart.md +72 -0
  325. package/docs/docs/api/appkit-ui/data/HeatmapChart/index.html +35 -0
  326. package/docs/docs/api/appkit-ui/data/HeatmapChart.md +91 -0
  327. package/docs/docs/api/appkit-ui/data/LineChart/index.html +29 -0
  328. package/docs/docs/api/appkit-ui/data/LineChart.md +77 -0
  329. package/docs/docs/api/appkit-ui/data/PieChart/index.html +29 -0
  330. package/docs/docs/api/appkit-ui/data/PieChart.md +72 -0
  331. package/docs/docs/api/appkit-ui/data/RadarChart/index.html +29 -0
  332. package/docs/docs/api/appkit-ui/data/RadarChart.md +74 -0
  333. package/docs/docs/api/appkit-ui/data/ScatterChart/index.html +29 -0
  334. package/docs/docs/api/appkit-ui/data/ScatterChart.md +76 -0
  335. package/docs/docs/api/appkit-ui/index.html +23 -0
  336. package/docs/docs/api/appkit-ui/styling/index.html +74 -0
  337. package/docs/docs/api/appkit-ui/styling.md +81 -0
  338. package/docs/docs/api/appkit-ui/ui/Accordion/index.html +48 -0
  339. package/docs/docs/api/appkit-ui/ui/Accordion.md +139 -0
  340. package/docs/docs/api/appkit-ui/ui/Alert/index.html +41 -0
  341. package/docs/docs/api/appkit-ui/ui/Alert.md +89 -0
  342. package/docs/docs/api/appkit-ui/ui/AlertDialog/index.html +97 -0
  343. package/docs/docs/api/appkit-ui/ui/AlertDialog.md +282 -0
  344. package/docs/docs/api/appkit-ui/ui/AspectRatio/index.html +27 -0
  345. package/docs/docs/api/appkit-ui/ui/AspectRatio.md +46 -0
  346. package/docs/docs/api/appkit-ui/ui/Avatar/index.html +41 -0
  347. package/docs/docs/api/appkit-ui/ui/Avatar.md +90 -0
  348. package/docs/docs/api/appkit-ui/ui/Badge/index.html +27 -0
  349. package/docs/docs/api/appkit-ui/ui/Badge.md +38 -0
  350. package/docs/docs/api/appkit-ui/ui/Breadcrumb/index.html +69 -0
  351. package/docs/docs/api/appkit-ui/ui/Breadcrumb.md +193 -0
  352. package/docs/docs/api/appkit-ui/ui/Button/index.html +27 -0
  353. package/docs/docs/api/appkit-ui/ui/Button.md +39 -0
  354. package/docs/docs/api/appkit-ui/ui/ButtonGroup/index.html +38 -0
  355. package/docs/docs/api/appkit-ui/ui/ButtonGroup.md +68 -0
  356. package/docs/docs/api/appkit-ui/ui/Calendar/index.html +34 -0
  357. package/docs/docs/api/appkit-ui/ui/Calendar.md +154 -0
  358. package/docs/docs/api/appkit-ui/ui/Card/index.html +69 -0
  359. package/docs/docs/api/appkit-ui/ui/Card.md +222 -0
  360. package/docs/docs/api/appkit-ui/ui/Carousel/index.html +55 -0
  361. package/docs/docs/api/appkit-ui/ui/Carousel.md +152 -0
  362. package/docs/docs/api/appkit-ui/ui/ChartContainer/index.html +58 -0
  363. package/docs/docs/api/appkit-ui/ui/ChartContainer.md +343 -0
  364. package/docs/docs/api/appkit-ui/ui/Checkbox/index.html +27 -0
  365. package/docs/docs/api/appkit-ui/ui/Checkbox.md +53 -0
  366. package/docs/docs/api/appkit-ui/ui/Collapsible/index.html +41 -0
  367. package/docs/docs/api/appkit-ui/ui/Collapsible.md +125 -0
  368. package/docs/docs/api/appkit-ui/ui/Command/index.html +83 -0
  369. package/docs/docs/api/appkit-ui/ui/Command.md +287 -0
  370. package/docs/docs/api/appkit-ui/ui/ContextMenu/index.html +111 -0
  371. package/docs/docs/api/appkit-ui/ui/ContextMenu.md +419 -0
  372. package/docs/docs/api/appkit-ui/ui/Dialog/index.html +90 -0
  373. package/docs/docs/api/appkit-ui/ui/Dialog.md +285 -0
  374. package/docs/docs/api/appkit-ui/ui/Drawer/index.html +90 -0
  375. package/docs/docs/api/appkit-ui/ui/Drawer.md +387 -0
  376. package/docs/docs/api/appkit-ui/ui/DropdownMenu/index.html +111 -0
  377. package/docs/docs/api/appkit-ui/ui/DropdownMenu.md +478 -0
  378. package/docs/docs/api/appkit-ui/ui/Empty/index.html +54 -0
  379. package/docs/docs/api/appkit-ui/ui/Empty.md +109 -0
  380. package/docs/docs/api/appkit-ui/ui/Field/index.html +87 -0
  381. package/docs/docs/api/appkit-ui/ui/Field.md +201 -0
  382. package/docs/docs/api/appkit-ui/ui/FormControl/index.html +59 -0
  383. package/docs/docs/api/appkit-ui/ui/FormControl.md +128 -0
  384. package/docs/docs/api/appkit-ui/ui/HoverCard/index.html +39 -0
  385. package/docs/docs/api/appkit-ui/ui/HoverCard.md +131 -0
  386. package/docs/docs/api/appkit-ui/ui/Input/index.html +27 -0
  387. package/docs/docs/api/appkit-ui/ui/Input.md +35 -0
  388. package/docs/docs/api/appkit-ui/ui/InputGroup/index.html +59 -0
  389. package/docs/docs/api/appkit-ui/ui/InputGroup.md +123 -0
  390. package/docs/docs/api/appkit-ui/ui/InputOTP/index.html +48 -0
  391. package/docs/docs/api/appkit-ui/ui/InputOTP.md +124 -0
  392. package/docs/docs/api/appkit-ui/ui/Item/index.html +78 -0
  393. package/docs/docs/api/appkit-ui/ui/Item.md +185 -0
  394. package/docs/docs/api/appkit-ui/ui/Kbd/index.html +30 -0
  395. package/docs/docs/api/appkit-ui/ui/Kbd.md +39 -0
  396. package/docs/docs/api/appkit-ui/ui/Label/index.html +27 -0
  397. package/docs/docs/api/appkit-ui/ui/Label.md +44 -0
  398. package/docs/docs/api/appkit-ui/ui/Menubar/index.html +117 -0
  399. package/docs/docs/api/appkit-ui/ui/Menubar.md +484 -0
  400. package/docs/docs/api/appkit-ui/ui/NavigationMenu/index.html +76 -0
  401. package/docs/docs/api/appkit-ui/ui/NavigationMenu.md +338 -0
  402. package/docs/docs/api/appkit-ui/ui/Pagination/index.html +69 -0
  403. package/docs/docs/api/appkit-ui/ui/Pagination.md +191 -0
  404. package/docs/docs/api/appkit-ui/ui/Popover/index.html +45 -0
  405. package/docs/docs/api/appkit-ui/ui/Popover.md +173 -0
  406. package/docs/docs/api/appkit-ui/ui/Progress/index.html +27 -0
  407. package/docs/docs/api/appkit-ui/ui/Progress.md +51 -0
  408. package/docs/docs/api/appkit-ui/ui/RadioGroup/index.html +33 -0
  409. package/docs/docs/api/appkit-ui/ui/RadioGroup.md +83 -0
  410. package/docs/docs/api/appkit-ui/ui/ResizableHandle/index.html +41 -0
  411. package/docs/docs/api/appkit-ui/ui/ResizableHandle.md +136 -0
  412. package/docs/docs/api/appkit-ui/ui/ScrollArea/index.html +34 -0
  413. package/docs/docs/api/appkit-ui/ui/ScrollArea.md +83 -0
  414. package/docs/docs/api/appkit-ui/ui/Select/index.html +82 -0
  415. package/docs/docs/api/appkit-ui/ui/Select.md +267 -0
  416. package/docs/docs/api/appkit-ui/ui/Separator/index.html +27 -0
  417. package/docs/docs/api/appkit-ui/ui/Separator.md +56 -0
  418. package/docs/docs/api/appkit-ui/ui/Sheet/index.html +76 -0
  419. package/docs/docs/api/appkit-ui/ui/Sheet.md +236 -0
  420. package/docs/docs/api/appkit-ui/ui/Sidebar/index.html +183 -0
  421. package/docs/docs/api/appkit-ui/ui/Sidebar.md +490 -0
  422. package/docs/docs/api/appkit-ui/ui/Skeleton/index.html +27 -0
  423. package/docs/docs/api/appkit-ui/ui/Skeleton.md +43 -0
  424. package/docs/docs/api/appkit-ui/ui/Slider/index.html +27 -0
  425. package/docs/docs/api/appkit-ui/ui/Slider.md +61 -0
  426. package/docs/docs/api/appkit-ui/ui/Spinner/index.html +24 -0
  427. package/docs/docs/api/appkit-ui/ui/Spinner.md +22 -0
  428. package/docs/docs/api/appkit-ui/ui/Switch/index.html +27 -0
  429. package/docs/docs/api/appkit-ui/ui/Switch.md +46 -0
  430. package/docs/docs/api/appkit-ui/ui/Table/index.html +69 -0
  431. package/docs/docs/api/appkit-ui/ui/Table.md +236 -0
  432. package/docs/docs/api/appkit-ui/ui/Tabs/index.html +48 -0
  433. package/docs/docs/api/appkit-ui/ui/Tabs.md +177 -0
  434. package/docs/docs/api/appkit-ui/ui/Textarea/index.html +27 -0
  435. package/docs/docs/api/appkit-ui/ui/Textarea.md +35 -0
  436. package/docs/docs/api/appkit-ui/ui/Toaster/index.html +27 -0
  437. package/docs/docs/api/appkit-ui/ui/Toaster.md +75 -0
  438. package/docs/docs/api/appkit-ui/ui/Toggle/index.html +27 -0
  439. package/docs/docs/api/appkit-ui/ui/Toggle.md +48 -0
  440. package/docs/docs/api/appkit-ui/ui/ToggleGroup/index.html +33 -0
  441. package/docs/docs/api/appkit-ui/ui/ToggleGroup.md +88 -0
  442. package/docs/docs/api/appkit-ui/ui/Tooltip/index.html +46 -0
  443. package/docs/docs/api/appkit-ui/ui/Tooltip.md +134 -0
  444. package/docs/docs/api/appkit-ui.md +15 -0
  445. package/docs/docs/api/appkit.md +48 -0
  446. package/docs/docs/api/index.html +28 -0
  447. package/docs/docs/api.md +24 -0
  448. package/docs/docs/app-management/index.html +106 -0
  449. package/docs/docs/app-management.md +171 -0
  450. package/docs/docs/architecture/index.html +71 -0
  451. package/docs/docs/architecture.md +69 -0
  452. package/docs/docs/category/development/index.html +16 -0
  453. package/docs/docs/category/development.md +3 -0
  454. package/docs/docs/configuration/index.html +66 -0
  455. package/docs/docs/configuration.md +150 -0
  456. package/docs/docs/core-principles/index.html +38 -0
  457. package/docs/docs/core-principles.md +31 -0
  458. package/docs/docs/development/index.html +34 -0
  459. package/docs/docs/development/llm-guide/index.html +74 -0
  460. package/docs/docs/development/llm-guide.md +74 -0
  461. package/docs/docs/development/local-development/index.html +27 -0
  462. package/docs/docs/development/local-development.md +20 -0
  463. package/docs/docs/development/project-setup/index.html +69 -0
  464. package/docs/docs/development/project-setup.md +246 -0
  465. package/docs/docs/development/remote-bridge/index.html +76 -0
  466. package/docs/docs/development/remote-bridge.md +80 -0
  467. package/docs/docs/development/type-generation/index.html +65 -0
  468. package/docs/docs/development/type-generation.md +110 -0
  469. package/docs/docs/development.md +21 -0
  470. package/docs/docs/index.html +58 -0
  471. package/docs/docs/plugins/index.html +151 -0
  472. package/docs/docs/plugins.md +313 -0
  473. package/docs/docs.md +64 -0
  474. package/llms.txt +121 -1231
  475. package/package.json +7 -5
  476. package/scripts/postinstall.js +1 -1
  477. package/AGENTS.md +0 -1234
  478. package/bin/setup-claude.js +0 -190
@@ -1,26 +1,27 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime105 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime116 from "react/jsx-runtime";
3
3
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
4
4
 
5
5
  //#region src/react/ui/dropdown-menu.d.ts
6
+ /** Menu that displays when triggered by a button or element */
6
7
  declare function DropdownMenu({
7
8
  ...props
8
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime105.JSX.Element;
9
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Root>): react_jsx_runtime116.JSX.Element;
9
10
  declare function DropdownMenuPortal({
10
11
  container,
11
12
  ...props
12
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime105.JSX.Element;
13
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Portal>): react_jsx_runtime116.JSX.Element;
13
14
  declare function DropdownMenuTrigger({
14
15
  ...props
15
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime105.JSX.Element;
16
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): react_jsx_runtime116.JSX.Element;
16
17
  declare function DropdownMenuContent({
17
18
  className,
18
19
  sideOffset,
19
20
  ...props
20
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime105.JSX.Element;
21
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>): react_jsx_runtime116.JSX.Element;
21
22
  declare function DropdownMenuGroup({
22
23
  ...props
23
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime105.JSX.Element;
24
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Group>): react_jsx_runtime116.JSX.Element;
24
25
  declare function DropdownMenuItem({
25
26
  className,
26
27
  inset,
@@ -29,39 +30,39 @@ declare function DropdownMenuItem({
29
30
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
30
31
  inset?: boolean;
31
32
  variant?: "default" | "destructive";
32
- }): react_jsx_runtime105.JSX.Element;
33
+ }): react_jsx_runtime116.JSX.Element;
33
34
  declare function DropdownMenuCheckboxItem({
34
35
  className,
35
36
  children,
36
37
  checked,
37
38
  ...props
38
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime105.JSX.Element;
39
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): react_jsx_runtime116.JSX.Element;
39
40
  declare function DropdownMenuRadioGroup({
40
41
  ...props
41
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime105.JSX.Element;
42
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime116.JSX.Element;
42
43
  declare function DropdownMenuRadioItem({
43
44
  className,
44
45
  children,
45
46
  ...props
46
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime105.JSX.Element;
47
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): react_jsx_runtime116.JSX.Element;
47
48
  declare function DropdownMenuLabel({
48
49
  className,
49
50
  inset,
50
51
  ...props
51
52
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
52
53
  inset?: boolean;
53
- }): react_jsx_runtime105.JSX.Element;
54
+ }): react_jsx_runtime116.JSX.Element;
54
55
  declare function DropdownMenuSeparator({
55
56
  className,
56
57
  ...props
57
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime105.JSX.Element;
58
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Separator>): react_jsx_runtime116.JSX.Element;
58
59
  declare function DropdownMenuShortcut({
59
60
  className,
60
61
  ...props
61
- }: React$1.ComponentProps<"span">): react_jsx_runtime105.JSX.Element;
62
+ }: React$1.ComponentProps<"span">): react_jsx_runtime116.JSX.Element;
62
63
  declare function DropdownMenuSub({
63
64
  ...props
64
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime105.JSX.Element;
65
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Sub>): react_jsx_runtime116.JSX.Element;
65
66
  declare function DropdownMenuSubTrigger({
66
67
  className,
67
68
  inset,
@@ -69,11 +70,11 @@ declare function DropdownMenuSubTrigger({
69
70
  ...props
70
71
  }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
71
72
  inset?: boolean;
72
- }): react_jsx_runtime105.JSX.Element;
73
+ }): react_jsx_runtime116.JSX.Element;
73
74
  declare function DropdownMenuSubContent({
74
75
  className,
75
76
  ...props
76
- }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime105.JSX.Element;
77
+ }: React$1.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): react_jsx_runtime116.JSX.Element;
77
78
  //#endregion
78
79
  export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger };
79
80
  //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.d.ts","names":[],"sources":["../../../src/react/ui/dropdown-menu.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.d.ts","names":[],"sources":["../../../src/react/ui/dropdown-menu.tsx"],"sourcesContent":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
5
5
  import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu";
6
6
 
7
7
  //#region src/react/ui/dropdown-menu.tsx
8
+ /** Menu that displays when triggered by a button or element */
8
9
  function DropdownMenu({ ...props }) {
9
10
  return /* @__PURE__ */ jsx(DropdownMenuPrimitive.Root, {
10
11
  "data-slot": "dropdown-menu",
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../../src/react/ui/dropdown-menu.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal\n data-slot=\"dropdown-menu-portal\"\n container={useResolvedPortalContainer(container)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal container={useResolvedPortalContainer()}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\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 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":";;;;;;;AAOA,SAAS,aAAa,EACpB,GAAG,SACuD;AAC1D,QAAO,oBAAC,sBAAsB;EAAK,aAAU;EAAgB,GAAI;GAAS;;AAG5E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,2BAA2B,UAAU;EAChD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,GAAG,SAC0D;AAC7D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,aAAa,GACb,GAAG,SAC0D;AAC7D,QACE,oBAAC,sBAAsB;EAAO,WAAW,4BAA4B;YACnE,oBAAC,sBAAsB;GACrB,aAAU;GACE;GACZ,WAAW,GACT,0jBACA,UACD;GACD,GAAI;IACJ;GAC2B;;AAInC,SAAS,kBAAkB,EACzB,GAAG,SACwD;AAC3D,QACE,oBAAC,sBAAsB;EAAM,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,iBAAiB,EACxB,WACA,OACA,UAAU,WACV,GAAG,SAIF;AACD,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,gBAAc;EACd,WAAW,GACT,+mBACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,yBAAyB,EAChC,WACA,UACA,SACA,GAAG,SAC+D;AAClE,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,gTACA,UACD;EACQ;EACT,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC,aAAU,WAAU,WAAW,GACI;IACjC,EACN;GACkC;;AAIzC,SAAS,uBAAuB,EAC9B,GAAG,SAC6D;AAChE,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,GAAI;GACJ;;AAIN,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;AAC/D,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,gTACA,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC,cAAW,WAAU,wBAAwB,GACV;IACjC,EACN;GAC+B;;AAItC,SAAS,kBAAkB,EACzB,WACA,OACA,GAAG,SAGF;AACD,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW,GACT,qDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAC4B;AAC/B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,GAAG,SACsD;AACzD,QAAO,oBAAC,sBAAsB;EAAI,aAAU;EAAoB,GAAI;GAAS;;AAG/E,SAAS,uBAAuB,EAC9B,WACA,OACA,UACA,GAAG,SAGF;AACD,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW,GACT,8WACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,oBAAiB,WAAU,mBAAmB;GACd;;AAIvC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,ifACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../../src/react/ui/dropdown-menu.tsx"],"sourcesContent":["import type * as React from \"react\";\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from \"lucide-react\";\n\nimport { cn } from \"../lib/utils\";\nimport { useResolvedPortalContainer } from \"../portal-container-context\";\n\n/** Menu that displays when triggered by a button or element */\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n container,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal\n data-slot=\"dropdown-menu-portal\"\n container={useResolvedPortalContainer(container)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal container={useResolvedPortalContainer()}>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\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 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 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\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 text-sm font-medium data-[inset]:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground ml-auto text-xs tracking-widest\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n"],"mappings":";;;;;;;;AAQA,SAAS,aAAa,EACpB,GAAG,SACuD;AAC1D,QAAO,oBAAC,sBAAsB;EAAK,aAAU;EAAgB,GAAI;GAAS;;AAG5E,SAAS,mBAAmB,EAC1B,WACA,GAAG,SACyD;AAC5D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,2BAA2B,UAAU;EAChD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,GAAG,SAC0D;AAC7D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAC3B,WACA,aAAa,GACb,GAAG,SAC0D;AAC7D,QACE,oBAAC,sBAAsB;EAAO,WAAW,4BAA4B;YACnE,oBAAC,sBAAsB;GACrB,aAAU;GACE;GACZ,WAAW,GACT,0jBACA,UACD;GACD,GAAI;IACJ;GAC2B;;AAInC,SAAS,kBAAkB,EACzB,GAAG,SACwD;AAC3D,QACE,oBAAC,sBAAsB;EAAM,aAAU;EAAsB,GAAI;GAAS;;AAI9E,SAAS,iBAAiB,EACxB,WACA,OACA,UAAU,WACV,GAAG,SAIF;AACD,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,gBAAc;EACd,WAAW,GACT,+mBACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,yBAAyB,EAChC,WACA,UACA,SACA,GAAG,SAC+D;AAClE,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,gTACA,UACD;EACQ;EACT,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC,aAAU,WAAU,WAAW,GACI;IACjC,EACN;GACkC;;AAIzC,SAAS,uBAAuB,EAC9B,GAAG,SAC6D;AAChE,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,GAAI;GACJ;;AAIN,SAAS,sBAAsB,EAC7B,WACA,UACA,GAAG,SAC4D;AAC/D,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,gTACA,UACD;EACD,GAAI;aAEJ,oBAAC;GAAK,WAAU;aACd,oBAAC,sBAAsB,2BACrB,oBAAC,cAAW,WAAU,wBAAwB,GACV;IACjC,EACN;GAC+B;;AAItC,SAAS,kBAAkB,EACzB,WACA,OACA,GAAG,SAGF;AACD,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW,GACT,qDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,sBAAsB,EAC7B,WACA,GAAG,SAC4D;AAC/D,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GAAG,6BAA6B,UAAU;EACrD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,GAAG,SAC4B;AAC/B,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,GAAG,SACsD;AACzD,QAAO,oBAAC,sBAAsB;EAAI,aAAU;EAAoB,GAAI;GAAS;;AAG/E,SAAS,uBAAuB,EAC9B,WACA,OACA,UACA,GAAG,SAGF;AACD,QACE,qBAAC,sBAAsB;EACrB,aAAU;EACV,cAAY;EACZ,WAAW,GACT,8WACA,UACD;EACD,GAAI;aAEH,UACD,oBAAC,oBAAiB,WAAU,mBAAmB;GACd;;AAIvC,SAAS,uBAAuB,EAC9B,WACA,GAAG,SAC6D;AAChE,QACE,oBAAC,sBAAsB;EACrB,aAAU;EACV,WAAW,GACT,ifACA,UACD;EACD,GAAI;GACJ"}
@@ -1,16 +1,17 @@
1
- import * as react_jsx_runtime120 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime131 from "react/jsx-runtime";
2
2
  import { VariantProps } from "class-variance-authority";
3
3
  import * as class_variance_authority_types3 from "class-variance-authority/types";
4
4
 
5
5
  //#region src/react/ui/empty.d.ts
6
+ /** Empty state component for displaying no-data scenarios */
6
7
  declare function Empty({
7
8
  className,
8
9
  ...props
9
- }: React.ComponentProps<"div">): react_jsx_runtime120.JSX.Element;
10
+ }: React.ComponentProps<"div">): react_jsx_runtime131.JSX.Element;
10
11
  declare function EmptyHeader({
11
12
  className,
12
13
  ...props
13
- }: React.ComponentProps<"div">): react_jsx_runtime120.JSX.Element;
14
+ }: React.ComponentProps<"div">): react_jsx_runtime131.JSX.Element;
14
15
  declare const emptyMediaVariants: (props?: ({
15
16
  variant?: "default" | "icon" | null | undefined;
16
17
  } & class_variance_authority_types3.ClassProp) | undefined) => string;
@@ -18,19 +19,19 @@ declare function EmptyMedia({
18
19
  className,
19
20
  variant,
20
21
  ...props
21
- }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): react_jsx_runtime120.JSX.Element;
22
+ }: React.ComponentProps<"div"> & VariantProps<typeof emptyMediaVariants>): react_jsx_runtime131.JSX.Element;
22
23
  declare function EmptyTitle({
23
24
  className,
24
25
  ...props
25
- }: React.ComponentProps<"div">): react_jsx_runtime120.JSX.Element;
26
+ }: React.ComponentProps<"div">): react_jsx_runtime131.JSX.Element;
26
27
  declare function EmptyDescription({
27
28
  className,
28
29
  ...props
29
- }: React.ComponentProps<"p">): react_jsx_runtime120.JSX.Element;
30
+ }: React.ComponentProps<"p">): react_jsx_runtime131.JSX.Element;
30
31
  declare function EmptyContent({
31
32
  className,
32
33
  ...props
33
- }: React.ComponentProps<"div">): react_jsx_runtime120.JSX.Element;
34
+ }: React.ComponentProps<"div">): react_jsx_runtime131.JSX.Element;
34
35
  //#endregion
35
36
  export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle };
36
37
  //# sourceMappingURL=empty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"empty.d.ts","names":[],"sources":["../../../src/react/ui/empty.tsx"],"sourcesContent":[],"mappings":";;;;;iBAIS,KAAA;;;GAA+B,KAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAa1D,WAAA;;;GAAqC,KAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;cAanE,0BA1BQ;;AAJoD,CAAA,GA2CjE,+BAAA,CAAA,SAvCa,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAyCL,UAAA,CAzCK;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EA6CX,KAAA,CAAM,cA7CK,CAAA,KAAA,CAAA,GA6CmB,YA7CnB,CAAA,OA6CuC,kBA7CvC,CAAA,CAAA,EA6C0D,oBAAA,CAAA,GAAA,CAAA,OA7C1D;iBAwDL,UAAA,CAxDQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwD4B,KAAA,CAAM,cAxDlC,CAAA,KAAA,CAAA,CAAA,EAwDuD,oBAAA,CAAA,GAAA,CAAA,OAxDvD;iBAkER,gBAAA,CAlEqC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkEK,KAAA,CAAM,cAlEX,CAAA,GAAA,CAAA,CAAA,EAkE8B,oBAAA,CAAA,GAAA,CAAA,OAlE9B;iBA+ErC,YAAA,CA/E0D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+EpB,KAAA,CAAM,cA/Ec,CAAA,KAAA,CAAA,CAAA,EA+EO,oBAAA,CAAA,GAAA,CAAA,OA/EP"}
1
+ {"version":3,"file":"empty.d.ts","names":[],"sources":["../../../src/react/ui/empty.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAKS,KAAA;;;GAA+B,KAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;iBAa1D,WAAA;;;GAAqC,KAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;cAanE,0BA1BQ;EAAL,OAAA,CAAK,EAAA,SAAA,GAAA,MAAA,GAAA,IAAA,GAAA,SAAA;CAAA,GAuCb,+BAAA,CAAA,SAvCa,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAyCL,UAAA,CAzCQ;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,CAAA,EA6Cd,KAAA,CAAM,cA7CQ,CAAA,KAAA,CAAA,GA6CgB,YA7ChB,CAAA,OA6CoC,kBA7CpC,CAAA,CAAA,EA6CuD,oBAAA,CAAA,GAAA,CAAA,OA7CvD;iBAwDR,UAAA,CAxDqC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwDD,KAAA,CAAM,cAxDL,CAAA,KAAA,CAAA,CAAA,EAwD0B,oBAAA,CAAA,GAAA,CAAA,OAxD1B;iBAkErC,gBAAA,CAlE0D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkEhB,KAAA,CAAM,cAlEU,CAAA,GAAA,CAAA,CAAA,EAkES,oBAAA,CAAA,GAAA,CAAA,OAlET;iBA+E1D,YAAA,CA/E0D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA+EpB,KAAA,CAAM,cA/Ec,CAAA,KAAA,CAAA,CAAA,EA+EO,oBAAA,CAAA,GAAA,CAAA,OA/EP"}
@@ -3,6 +3,7 @@ import { jsx } from "react/jsx-runtime";
3
3
  import { cva } from "class-variance-authority";
4
4
 
5
5
  //#region src/react/ui/empty.tsx
6
+ /** Empty state component for displaying no-data scenarios */
6
7
  function Empty({ className, ...props }) {
7
8
  return /* @__PURE__ */ jsx("div", {
8
9
  "data-slot": "empty",
@@ -1 +1 @@
1
- {"version":3,"file":"empty.js","names":[],"sources":["../../../src/react/ui/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst emptyMediaVariants = cva(\n \"flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n};\n"],"mappings":";;;;;AAIA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;AACnE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,qBAAqB,IACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;EACP,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,WAAW,EAClB,WACA,UAAU,WACV,GAAG,SACqE;AACxE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,mBAAmB;GAAE;GAAS;GAAW,CAAC,CAAC;EACzD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,2GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iFACA,UACD;EACD,GAAI;GACJ"}
1
+ {"version":3,"file":"empty.js","names":[],"sources":["../../../src/react/ui/empty.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\n\n/** Empty state component for displaying no-data scenarios */\nfunction Empty({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-header\"\n className={cn(\n \"flex max-w-sm flex-col items-center gap-2 text-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst emptyMediaVariants = cva(\n \"flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction EmptyMedia({\n className,\n variant = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof emptyMediaVariants>) {\n return (\n <div\n data-slot=\"empty-icon\"\n data-variant={variant}\n className={cn(emptyMediaVariants({ variant, className }))}\n {...props}\n />\n );\n}\n\nfunction EmptyTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-title\"\n className={cn(\"text-lg font-medium tracking-tight\", className)}\n {...props}\n />\n );\n}\n\nfunction EmptyDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <div\n data-slot=\"empty-description\"\n className={cn(\n \"text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction EmptyContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"empty-content\"\n className={cn(\n \"flex w-full max-w-sm min-w-0 flex-col items-center gap-4 text-sm text-balance\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Empty,\n EmptyHeader,\n EmptyTitle,\n EmptyDescription,\n EmptyContent,\n EmptyMedia,\n};\n"],"mappings":";;;;;;AAKA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAsC;AACnE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yDACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,qBAAqB,IACzB,+FACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;EACP,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,WAAW,EAClB,WACA,UAAU,WACV,GAAG,SACqE;AACxE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,mBAAmB;GAAE;GAAS;GAAW,CAAC,CAAC;EACzD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,2GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iFACA,UACD;EACD,GAAI;GACJ"}
@@ -1,55 +1,65 @@
1
1
  import { Label } from "./label.js";
2
- import * as react_jsx_runtime126 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime137 from "react/jsx-runtime";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as class_variance_authority_types4 from "class-variance-authority/types";
5
5
 
6
6
  //#region src/react/ui/field.d.ts
7
+ /** Container for grouping related form fields */
7
8
  declare function FieldSet({
8
9
  className,
9
10
  ...props
10
- }: React.ComponentProps<"fieldset">): react_jsx_runtime126.JSX.Element;
11
+ }: React.ComponentProps<"fieldset">): react_jsx_runtime137.JSX.Element;
12
+ /** Title or caption for a fieldset */
11
13
  declare function FieldLegend({
12
14
  className,
13
15
  variant,
14
16
  ...props
15
17
  }: React.ComponentProps<"legend"> & {
16
18
  variant?: "legend" | "label";
17
- }): react_jsx_runtime126.JSX.Element;
19
+ }): react_jsx_runtime137.JSX.Element;
20
+ /** Container for organizing multiple fields */
18
21
  declare function FieldGroup({
19
22
  className,
20
23
  ...props
21
- }: React.ComponentProps<"div">): react_jsx_runtime126.JSX.Element;
24
+ }: React.ComponentProps<"div">): react_jsx_runtime137.JSX.Element;
22
25
  declare const fieldVariants: (props?: ({
23
26
  orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
24
27
  } & class_variance_authority_types4.ClassProp) | undefined) => string;
28
+ /** Form field wrapper with label and input positioning */
25
29
  declare function Field({
26
30
  className,
27
31
  orientation,
28
32
  ...props
29
- }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime126.JSX.Element;
33
+ }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime137.JSX.Element;
34
+ /** Container for field label, description, and error messages */
30
35
  declare function FieldContent({
31
36
  className,
32
37
  ...props
33
- }: React.ComponentProps<"div">): react_jsx_runtime126.JSX.Element;
38
+ }: React.ComponentProps<"div">): react_jsx_runtime137.JSX.Element;
39
+ /** Label for a form field */
34
40
  declare function FieldLabel({
35
41
  className,
36
42
  ...props
37
- }: React.ComponentProps<typeof Label>): react_jsx_runtime126.JSX.Element;
43
+ }: React.ComponentProps<typeof Label>): react_jsx_runtime137.JSX.Element;
44
+ /** Title text for a field */
38
45
  declare function FieldTitle({
39
46
  className,
40
47
  ...props
41
- }: React.ComponentProps<"div">): react_jsx_runtime126.JSX.Element;
48
+ }: React.ComponentProps<"div">): react_jsx_runtime137.JSX.Element;
49
+ /** Helper text providing additional context for a field */
42
50
  declare function FieldDescription({
43
51
  className,
44
52
  ...props
45
- }: React.ComponentProps<"p">): react_jsx_runtime126.JSX.Element;
53
+ }: React.ComponentProps<"p">): react_jsx_runtime137.JSX.Element;
54
+ /** Visual separator between fields with optional label */
46
55
  declare function FieldSeparator({
47
56
  children,
48
57
  className,
49
58
  ...props
50
59
  }: React.ComponentProps<"div"> & {
51
60
  children?: React.ReactNode;
52
- }): react_jsx_runtime126.JSX.Element;
61
+ }): react_jsx_runtime137.JSX.Element;
62
+ /** Error message display for invalid field values */
53
63
  declare function FieldError({
54
64
  className,
55
65
  children,
@@ -59,7 +69,7 @@ declare function FieldError({
59
69
  errors?: Array<{
60
70
  message?: string;
61
71
  } | undefined>;
62
- }): react_jsx_runtime126.JSX.Element | null;
72
+ }): react_jsx_runtime137.JSX.Element | null;
63
73
  //#endregion
64
74
  export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle };
65
75
  //# sourceMappingURL=field.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/react/ui/field.tsx"],"sourcesContent":[],"mappings":";;;;;;iBAOS,QAAA;;;GAAkC,KAAA,CAAM,6BAA0B,oBAAA,CAAA,GAAA,CAAA;iBAclE,WAAA;;;;GAIN,KAAA,CAAM;;IAA2D,oBAAA,CAAA,GAAA,CAAA;AArBpC,iBAqCvB,UAAA,CAlCQ;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkC4B,KAAA,CAAM,cAlClC,CAAA,KAAA,CAAA,CAAA,EAkCuD,oBAAA,CAAA,GAAA,CAAA,OAlCvD;cA+CX,aA/CW,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;aAAG,CAAA,EAAA,YAAA,GAAA,UAAA,GAAA,YAAA,GAAA,IAAA,GAAA,SAAA;IAqEnB,+BAAA,CAAA,SArEgD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAuExC,KAAA,CAvEkE;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA2ExE,KAAA,CAAM,cA3EkE,CAAA,KAAA,CAAA,GA2E1C,YA3E0C,CAAA,OA2EtB,aA3EsB,CAAA,CAAA,EA2ER,oBAAA,CAAA,GAAA,CAAA,OA3EQ;iBAuFlE,YAAA,CAvFkE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuF5B,KAAA,CAAM,cAvFsB,CAAA,KAAA,CAAA,CAAA,EAuFD,oBAAA,CAAA,GAAA,CAAA,OAvFC;AAAA,iBAoGlE,UAAA,CAtFW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyFjB,KAAA,CAAM,cAzFW,CAAA,OAyFW,KAzFX,CAAA,CAAA,EAyFiB,oBAAA,CAAA,GAAA,CAAA,OAzFjB;iBAwGX,UAAA,CAxGW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwGyB,KAAA,CAAM,cAxG/B,CAAA,KAAA,CAAA,CAAA,EAwGoD,oBAAA,CAAA,GAAA,CAAA,OAxGpD;iBAqHX,gBAAA,CApHP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoHiD,KAAA,CAAM,cApHvD,CAAA,GAAA,CAAA,CAAA,EAoH0E,oBAAA,CAAA,GAAA,CAAA,OApH1E;iBAmIO,cAAA,CAlIP;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;CAAA,EAsIC,KAAA,CAAM,cAtIP,CAAA,KAAA,CAAA,GAAA;UAEC,CAAM,EAqII,KAAA,CAAM,SArIV;IAsIR,oBAAA,CAAA,GAAA,CAAA,OAtImE;iBA8J3D,UAAA,CA9J2D;EAAA,SAAA;EAAA,QAAA;EAAA,MAAA;EAAA,GAAA;CAAA,EAmKjE,KAAA,CAAM,cAnK2D,CAAA,KAAA,CAAA,GAAA;EAgB3D,MAAA,CAAA,EAoJE,KApJQ,CAAA;IAAA,OAAA,CAAA,EAAA,MAAA;MAAG,SAAA,CAAA;IAqJrB,oBAAA,CAAA,GAAA,CAAA,OAAA,GArJkD,IAAA"}
1
+ {"version":3,"file":"field.d.ts","names":[],"sources":["../../../src/react/ui/field.tsx"],"sourcesContent":[],"mappings":";;;;;;;iBAQS,QAAA;;;GAAkC,KAAA,CAAM,6BAA0B,oBAAA,CAAA,GAAA,CAAA;;iBAelE,WAAA;;;;GAIN,KAAA,CAAM;EAnBA,OAAA,CAAA,EAAA,QAAQ,GAAA,OAAA;CAAA,CAAA,EAmBmD,oBAAA,CAAA,GAAA,CAAA,OAnBnD;;iBAoCR,UAAA,CApCwC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoCJ,KAAA,CAAM,cApCF,CAAA,KAAA,CAAA,CAAA,EAoCuB,oBAAA,CAAA,GAAA,CAAA,OApCvB;cAiD3C,aAjDqE,EAAA,CAAA,KAevD,CAfuD,EAAA,CAAA;EAAA,WAAA,CAAA,EAAA,YAAA,GAAA,UAAA,GAAA,YAAA,GAAA,IAAA,GAAA,SAAA;AAAA,CAAA,GAuE1E,+BAAA,CAAA,SAxDmB,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;;iBA2DX,KAAA,CA1DP;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EA8DC,KAAA,CAAM,cA9DP,CAAA,KAAA,CAAA,GA8D+B,YA9D/B,CAAA,OA8DmD,aA9DnD,CAAA,CAAA,EA8DiE,oBAAA,CAAA,GAAA,CAAA,OA9DjE;;iBA2EO,YAAA,CAxEA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwEsC,KAAA,CAAM,cAxE5C,CAAA,KAAA,CAAA,CAAA,EAwEiE,oBAAA,CAAA,GAAA,CAAA,OAxEjE;;iBAsFA,UAAA,CAtF2D;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyFjE,KAAA,CAAM,cAzF2D,CAAA,OAyFrC,KAzFqC,CAAA,CAAA,EAyF/B,oBAAA,CAAA,GAAA,CAAA,OAzF+B;AAAA;iBAyG3D,UAAA,CAxFU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAwF0B,KAAA,CAAM,cAxFhC,CAAA,KAAA,CAAA,CAAA,EAwFqD,oBAAA,CAAA,GAAA,CAAA,OAxFrD;;iBAsGV,gBAAA,CAtG0C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAsGA,KAAA,CAAM,cAtGN,CAAA,GAAA,CAAA,CAAA,EAsGyB,oBAAA,CAAA,GAAA,CAAA,OAtGzB;;iBAsH1C,cAAA,CAtH+D;EAAA,QAAA;EAAA,SAAA;EAAA,GAAA;CAAA,EA0HrE,KAAA,CAAM,cA1H+D,CAAA,KAAA,CAAA,GAAA;EAalE,QAAA,CAAA,EA8GO,KAAA,CAAM,SAxFlB;IAyFA,oBAAA,CAAA,GAAA,CAAA,OAtFa;;iBA+GL,UAAA,CA9GP;EAAA,SAAA;EAAA,QAAA;EAAA,MAAA;EAAA,GAAA;CAAA,EAmHC,KAAA,CAAM,cAnHP,CAAA,KAAA,CAAA,GAAA;QACA,CAAA,EAmHS,KAnHT,CAAA;IAEC,OAAM,CAAA,EAAA,MAAA;MAA4C,SAAA,CAAA;IAkHpD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAlHgC,IAAA"}
@@ -6,6 +6,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { cva } from "class-variance-authority";
7
7
 
8
8
  //#region src/react/ui/field.tsx
9
+ /** Container for grouping related form fields */
9
10
  function FieldSet({ className, ...props }) {
10
11
  return /* @__PURE__ */ jsx("fieldset", {
11
12
  "data-slot": "field-set",
@@ -13,6 +14,7 @@ function FieldSet({ className, ...props }) {
13
14
  ...props
14
15
  });
15
16
  }
17
+ /** Title or caption for a fieldset */
16
18
  function FieldLegend({ className, variant = "legend", ...props }) {
17
19
  return /* @__PURE__ */ jsx("legend", {
18
20
  "data-slot": "field-legend",
@@ -21,6 +23,7 @@ function FieldLegend({ className, variant = "legend", ...props }) {
21
23
  ...props
22
24
  });
23
25
  }
26
+ /** Container for organizing multiple fields */
24
27
  function FieldGroup({ className, ...props }) {
25
28
  return /* @__PURE__ */ jsx("div", {
26
29
  "data-slot": "field-group",
@@ -44,6 +47,7 @@ const fieldVariants = cva("group/field flex w-full gap-3 data-[invalid=true]:tex
44
47
  } },
45
48
  defaultVariants: { orientation: "vertical" }
46
49
  });
50
+ /** Form field wrapper with label and input positioning */
47
51
  function Field({ className, orientation = "vertical", ...props }) {
48
52
  return /* @__PURE__ */ jsx("div", {
49
53
  role: "group",
@@ -53,6 +57,7 @@ function Field({ className, orientation = "vertical", ...props }) {
53
57
  ...props
54
58
  });
55
59
  }
60
+ /** Container for field label, description, and error messages */
56
61
  function FieldContent({ className, ...props }) {
57
62
  return /* @__PURE__ */ jsx("div", {
58
63
  "data-slot": "field-content",
@@ -60,6 +65,7 @@ function FieldContent({ className, ...props }) {
60
65
  ...props
61
66
  });
62
67
  }
68
+ /** Label for a form field */
63
69
  function FieldLabel({ className, ...props }) {
64
70
  return /* @__PURE__ */ jsx(Label, {
65
71
  "data-slot": "field-label",
@@ -67,6 +73,7 @@ function FieldLabel({ className, ...props }) {
67
73
  ...props
68
74
  });
69
75
  }
76
+ /** Title text for a field */
70
77
  function FieldTitle({ className, ...props }) {
71
78
  return /* @__PURE__ */ jsx("div", {
72
79
  "data-slot": "field-label",
@@ -74,6 +81,7 @@ function FieldTitle({ className, ...props }) {
74
81
  ...props
75
82
  });
76
83
  }
84
+ /** Helper text providing additional context for a field */
77
85
  function FieldDescription({ className, ...props }) {
78
86
  return /* @__PURE__ */ jsx("p", {
79
87
  "data-slot": "field-description",
@@ -81,6 +89,7 @@ function FieldDescription({ className, ...props }) {
81
89
  ...props
82
90
  });
83
91
  }
92
+ /** Visual separator between fields with optional label */
84
93
  function FieldSeparator({ children, className, ...props }) {
85
94
  return /* @__PURE__ */ jsxs("div", {
86
95
  "data-slot": "field-separator",
@@ -94,6 +103,7 @@ function FieldSeparator({ children, className, ...props }) {
94
103
  })]
95
104
  });
96
105
  }
106
+ /** Error message display for invalid field values */
97
107
  function FieldError({ className, children, errors, ...props }) {
98
108
  const content = useMemo(() => {
99
109
  if (children) return children;
@@ -1 +1 @@
1
- {"version":3,"file":"field.js","names":[],"sources":["../../../src/react/ui/field.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Label } from \"./label\";\nimport { Separator } from \"./separator\";\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium\",\n \"data-[variant=legend]:text-base\",\n \"data-[variant=label]:text-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva(\n \"group/field flex w-full gap-3 data-[invalid=true]:text-destructive\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n },\n);\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className,\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>;\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ];\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message;\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>,\n )}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":";;;;;;;;AAOA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA2C;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uBACA,gFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EACnB,WACA,UAAU,UACV,GAAG,SACiE;AACpE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GACT,oBACA,mCACA,gCACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,0IACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,gBAAgB,IACpB,sEACA;CACE,UAAU,EACR,aAAa;EACX,UAAU,CAAC,4CAA4C;EACvD,YAAY;GACV;GACA;GACA;GACD;EACD,YAAY;GACV;GACA;GACA;GACD;EACF,EACF;CACD,iBAAiB,EACf,aAAa,YACd;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,cAAc,YACd,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,UAAU;EACxD,GAAI;GACJ;;AAIN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAClB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gHACA,qKACA,6HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,8GACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yHACA,gEACA,qEACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,UACA,WACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,gBAAc,CAAC,CAAC;EAChB,WAAW,GACT,6EACA,UACD;EACD,GAAI;aAEJ,oBAAC,aAAU,WAAU,6BAA6B,EACjD,YACC,oBAAC;GACC,WAAU;GACV,aAAU;GAET;IACI;GAEL;;AAIV,SAAS,WAAW,EAClB,WACA,UACA,QACA,GAAG,SAGF;CACD,MAAM,UAAU,cAAc;AAC5B,MAAI,SACF,QAAO;AAGT,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,eAAe,CACnB,GAAG,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,CACpE;AAED,MAAI,cAAc,UAAU,EAC1B,QAAO,aAAa,IAAI;AAG1B,SACE,oBAAC;GAAG,WAAU;aACX,aAAa,KACX,OAAO,UACN,OAAO,WAAW,oBAAC,kBAAgB,MAAM,WAAd,MAA2B,CACzD;IACE;IAEN,CAAC,UAAU,OAAO,CAAC;AAEtB,KAAI,CAAC,QACH,QAAO;AAGT,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;YAEH;GACG"}
1
+ {"version":3,"file":"field.js","names":[],"sources":["../../../src/react/ui/field.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../lib/utils\";\nimport { Label } from \"./label\";\nimport { Separator } from \"./separator\";\n\n/** Container for grouping related form fields */\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n \"flex flex-col gap-6\",\n \"has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Title or caption for a fieldset */\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n \"mb-3 font-medium\",\n \"data-[variant=legend]:text-base\",\n \"data-[variant=label]:text-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Container for organizing multiple fields */\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst fieldVariants = cva(\n \"group/field flex w-full gap-3 data-[invalid=true]:text-destructive\",\n {\n variants: {\n orientation: {\n vertical: [\"flex-col [&>*]:w-full [&>.sr-only]:w-auto\"],\n horizontal: [\n \"flex-row items-center\",\n \"[&>[data-slot=field-label]]:flex-auto\",\n \"has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n responsive: [\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto\",\n \"@md/field-group:[&>[data-slot=field-label]]:flex-auto\",\n \"@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n ],\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n },\n);\n\n/** Form field wrapper with label and input positioning */\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\n/** Container for field label, description, and error messages */\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"group/field-content flex flex-1 flex-col gap-1.5 leading-snug\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Label for a form field */\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4\",\n \"has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Title text for a field */\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"flex w-fit items-center gap-2 text-sm leading-snug font-medium group-data-[disabled=true]/field:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Helper text providing additional context for a field */\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-sm leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1 [[data-variant=legend]+&]:-mt-1.5\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Visual separator between fields with optional label */\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\n \"relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2\",\n className,\n )}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"bg-background text-muted-foreground relative mx-auto block w-fit px-2\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n );\n}\n\n/** Error message display for invalid field values */\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>;\n}) {\n const content = useMemo(() => {\n if (children) {\n return children;\n }\n\n if (!errors?.length) {\n return null;\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ];\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message;\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>,\n )}\n </ul>\n );\n }, [children, errors]);\n\n if (!content) {\n return null;\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n );\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n};\n"],"mappings":";;;;;;;;;AAQA,SAAS,SAAS,EAAE,WAAW,GAAG,SAA2C;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uBACA,gFACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,YAAY,EACnB,WACA,UAAU,UACV,GAAG,SACiE;AACpE,QACE,oBAAC;EACC,aAAU;EACV,gBAAc;EACd,WAAW,GACT,oBACA,mCACA,gCACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,0IACA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,gBAAgB,IACpB,sEACA;CACE,UAAU,EACR,aAAa;EACX,UAAU,CAAC,4CAA4C;EACvD,YAAY;GACV;GACA;GACA;GACD;EACD,YAAY;GACV;GACA;GACA;GACD;EACF,EACF;CACD,iBAAiB,EACf,aAAa,YACd;CACF,CACF;;AAGD,SAAS,MAAM,EACb,WACA,cAAc,YACd,GAAG,SACgE;AACnE,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,cAAc,EAAE,aAAa,CAAC,EAAE,UAAU;EACxD,GAAI;GACJ;;;AAKN,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,iEACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,WAAW,EAClB,WACA,GAAG,SACkC;AACrC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gHACA,qKACA,6HACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,WAAW,EAAE,WAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,8GACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAoC;AAC5E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,yHACA,gEACA,qEACA,UACD;EACD,GAAI;GACJ;;;AAKN,SAAS,eAAe,EACtB,UACA,WACA,GAAG,SAGF;AACD,QACE,qBAAC;EACC,aAAU;EACV,gBAAc,CAAC,CAAC;EAChB,WAAW,GACT,6EACA,UACD;EACD,GAAI;aAEJ,oBAAC,aAAU,WAAU,6BAA6B,EACjD,YACC,oBAAC;GACC,WAAU;GACV,aAAU;GAET;IACI;GAEL;;;AAKV,SAAS,WAAW,EAClB,WACA,UACA,QACA,GAAG,SAGF;CACD,MAAM,UAAU,cAAc;AAC5B,MAAI,SACF,QAAO;AAGT,MAAI,CAAC,QAAQ,OACX,QAAO;EAGT,MAAM,eAAe,CACnB,GAAG,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,OAAO,SAAS,MAAM,CAAC,CAAC,CAAC,QAAQ,CACpE;AAED,MAAI,cAAc,UAAU,EAC1B,QAAO,aAAa,IAAI;AAG1B,SACE,oBAAC;GAAG,WAAU;aACX,aAAa,KACX,OAAO,UACN,OAAO,WAAW,oBAAC,kBAAgB,MAAM,WAAd,MAA2B,CACzD;IACE;IAEN,CAAC,UAAU,OAAO,CAAC;AAEtB,KAAI,CAAC,QACH,QAAO;AAGT,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;YAEH;GACG"}
@@ -1,15 +1,17 @@
1
1
  import * as react2 from "react";
2
- import * as react_jsx_runtime136 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime147 from "react/jsx-runtime";
3
3
  import { Slot } from "@radix-ui/react-slot";
4
4
  import * as LabelPrimitive from "@radix-ui/react-label";
5
5
  import * as react_hook_form0 from "react-hook-form";
6
6
  import { ControllerProps, FieldPath, FieldValues } from "react-hook-form";
7
7
 
8
8
  //#region src/react/ui/form.d.ts
9
+ /** Form context provider using react-hook-form */
9
10
  declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => react2.JSX.Element;
11
+ /** Controlled field component for react-hook-form integration */
10
12
  declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
11
13
  ...props
12
- }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime136.JSX.Element;
14
+ }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime147.JSX.Element;
13
15
  declare const useFormField: () => {
14
16
  invalid: boolean;
15
17
  isDirty: boolean;
@@ -22,25 +24,30 @@ declare const useFormField: () => {
22
24
  formDescriptionId: string;
23
25
  formMessageId: string;
24
26
  };
27
+ /** Container for a single form field with label and messages */
25
28
  declare function FormItem({
26
29
  className,
27
30
  ...props
28
- }: react2.ComponentProps<"div">): react_jsx_runtime136.JSX.Element;
31
+ }: react2.ComponentProps<"div">): react_jsx_runtime147.JSX.Element;
32
+ /** Label for a form field with error state styling */
29
33
  declare function FormLabel({
30
34
  className,
31
35
  ...props
32
- }: react2.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime136.JSX.Element;
36
+ }: react2.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime147.JSX.Element;
37
+ /** Wrapper for form control elements with accessibility attributes */
33
38
  declare function FormControl({
34
39
  ...props
35
- }: react2.ComponentProps<typeof Slot>): react_jsx_runtime136.JSX.Element;
40
+ }: react2.ComponentProps<typeof Slot>): react_jsx_runtime147.JSX.Element;
41
+ /** Helper text providing guidance for a form field */
36
42
  declare function FormDescription({
37
43
  className,
38
44
  ...props
39
- }: react2.ComponentProps<"p">): react_jsx_runtime136.JSX.Element;
45
+ }: react2.ComponentProps<"p">): react_jsx_runtime147.JSX.Element;
46
+ /** Validation error message for a form field */
40
47
  declare function FormMessage({
41
48
  className,
42
49
  ...props
43
- }: react2.ComponentProps<"p">): react_jsx_runtime136.JSX.Element | null;
50
+ }: react2.ComponentProps<"p">): react_jsx_runtime147.JSX.Element | null;
44
51
  //#endregion
45
52
  export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField };
46
53
  //# sourceMappingURL=form.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","names":[],"sources":["../../../src/react/ui/form.tsx"],"sourcesContent":[],"mappings":";;;;;;;;cAkBM,4BAAI,kDAAA,qBAAA,gBAAA,CAAA,kBAAA,cAAA,UAAA,wBAAA,MAAA,CAAA,GAAA,CAAA;cAaJ,iCACiB,cAAc,2BACrB,UAAU,gBAAgB,UAAU;;GAGjD,gBAAgB,cAAc,WAAM,oBAAA,CAAA,GAAA,CAAA;cAQjC;;EA1BA,OAAmB,EAAA,OAAA;EAAA,SAAA,EAAA,OAAA;cAAf,EAAA,OAAA;OAAA,CAAA,EA+CT,gBAAA,CAAA,UA/CS;MAAA,MAAA;MAAA,EAAA,MAAA;YAAA,EAAA,MAAA;mBAAA,EAAA,MAAA;eAAA,EAAA,MAAA;CAAe;AAAA,iBAyDhB,QAAA,CAjCR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiC0C,MAAA,CAAM,cAjChD,CAAA,KAAA,CAAA,CAAA,EAiCqE,oBAAA,CAAA,GAAA,CAAA,OAjCrE;iBA+CQ,SAAA,CA/CR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAkDE,MAAA,CAAM,cAlDR,CAAA,OAkD8B,cAAA,CAAe,IAlD7C,CAAA,CAAA,EAkDkD,oBAAA,CAAA,GAAA,CAAA,OAlDlD;iBAgEQ,WAAA,CA1Ec;EAAA,GAAA;AAAA,CAAA,EA0EY,MAAA,CAAM,cA1ElB,CAAA,OA0EwC,IA1ExC,CAAA,CAAA,EA0E6C,oBAAA,CAAA,GAAA,CAAA,OA1E7C;iBA6Fd,eAAA,CA7F4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6Fa,MAAA,CAAM,cA7FnB,CAAA,GAAA,CAAA,CAAA,EA6FsC,oBAAA,CAAA,GAAA,CAAA,OA7FtC;iBA0G5B,WAAA,CAzGiB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGoB,MAAA,CAAM,cAzG1B,CAAA,GAAA,CAAA,CAAA,EAyG6C,oBAAA,CAAA,GAAA,CAAA,OAAA,GAzG7C,IAAA"}
1
+ {"version":3,"file":"form.d.ts","names":[],"sources":["../../../src/react/ui/form.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;cAmBM,4BAAI,kDAAA,qBAAA,gBAAA,CAAA,kBAAA,cAAA,UAAA,wBAAA,MAAA,CAAA,GAAA,CAAA;;cAcJ,iCACiB,cAAc,2BACrB,UAAU,gBAAgB,UAAU;;GAGjD,gBAAgB,cAAc,WAAM,oBAAA,CAAA,GAAA,CAAA;AAzBd,cAiCnB,YA3BmB,EAAA,GAAA,GAAA;EAAA,OAAA,EAAA,OAAA;SAAf,EAAA,OAAA;WAAA,EAAA,OAAA;cAAA,EAAA,OAAA;OAAA,CAAA,EAgDT,gBAAA,CAAA,UAhDS;MAAA,MAAA;MAAA,EAAA,MAAA;YAAA,EAAA,MAAA;EAAe,iBAAA,EAAA,MAAA;EAcnB,aAWL,EAAA,MAAA;CAAA;;iBAkCQ,QAAA,CA5C4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4CM,MAAA,CAAM,cA5CZ,CAAA,KAAA,CAAA,CAAA,EA4CiC,oBAAA,CAAA,GAAA,CAAA,OA5CjC;;iBA2D5B,SAAA,CA1DO;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6Db,MAAA,CAAM,cA7DO,CAAA,OA6De,cAAA,CAAe,IA7D9B,CAAA,CAAA,EA6DmC,oBAAA,CAAA,GAAA,CAAA,OA7DnC;;iBA4EP,WAAA,CA5EiC;EAAA,GAAA;AAAA,CAAA,EA4EP,MAAA,CAAM,cA5EC,CAAA,OA4EqB,IA5ErB,CAAA,CAAA,EA4E0B,oBAAA,CAAA,GAAA,CAAA,OA5E1B;;iBAgGjC,eAAA,CA7FwB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6FiB,MAAA,CAAM,cA7FvB,CAAA,GAAA,CAAA,CAAA,EA6F0C,oBAAA,CAAA,GAAA,CAAA,OA7F1C;;iBA2GxB,WAAA,CA3G8B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2GO,MAAA,CAAM,cA3Gb,CAAA,GAAA,CAAA,CAAA,EA2GgC,oBAAA,CAAA,GAAA,CAAA,OAAA,GA3GhC,IAAA"}
@@ -8,8 +8,10 @@ import { Slot } from "@radix-ui/react-slot";
8
8
  import { Controller, FormProvider, useFormContext, useFormState } from "react-hook-form";
9
9
 
10
10
  //#region src/react/ui/form.tsx
11
+ /** Form context provider using react-hook-form */
11
12
  const Form = FormProvider;
12
13
  const FormFieldContext = React$1.createContext({});
14
+ /** Controlled field component for react-hook-form integration */
13
15
  const FormField = ({ ...props }) => {
14
16
  return /* @__PURE__ */ jsx(FormFieldContext.Provider, {
15
17
  value: { name: props.name },
@@ -34,6 +36,7 @@ const useFormField = () => {
34
36
  };
35
37
  };
36
38
  const FormItemContext = React$1.createContext({});
39
+ /** Container for a single form field with label and messages */
37
40
  function FormItem({ className, ...props }) {
38
41
  const id = React$1.useId();
39
42
  return /* @__PURE__ */ jsx(FormItemContext.Provider, {
@@ -45,6 +48,7 @@ function FormItem({ className, ...props }) {
45
48
  })
46
49
  });
47
50
  }
51
+ /** Label for a form field with error state styling */
48
52
  function FormLabel({ className, ...props }) {
49
53
  const { error, formItemId } = useFormField();
50
54
  return /* @__PURE__ */ jsx(Label, {
@@ -55,6 +59,7 @@ function FormLabel({ className, ...props }) {
55
59
  ...props
56
60
  });
57
61
  }
62
+ /** Wrapper for form control elements with accessibility attributes */
58
63
  function FormControl({ ...props }) {
59
64
  const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
60
65
  return /* @__PURE__ */ jsx(Slot, {
@@ -65,6 +70,7 @@ function FormControl({ ...props }) {
65
70
  ...props
66
71
  });
67
72
  }
73
+ /** Helper text providing guidance for a form field */
68
74
  function FormDescription({ className, ...props }) {
69
75
  const { formDescriptionId } = useFormField();
70
76
  return /* @__PURE__ */ jsx("p", {
@@ -74,6 +80,7 @@ function FormDescription({ className, ...props }) {
74
80
  ...props
75
81
  });
76
82
  }
83
+ /** Validation error message for a form field */
77
84
  function FormMessage({ className, ...props }) {
78
85
  const { error, formMessageId } = useFormField();
79
86
  const body = error ? String(error?.message ?? "") : props.children;