tembro 2.0.6 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/dist/components/calendar/calendar.cjs +1 -1
  2. package/dist/components/calendar/calendar.d.ts +2 -1
  3. package/dist/components/calendar/calendar.js +126 -122
  4. package/dist/components/calendar/date-range-picker.cjs +1 -1
  5. package/dist/components/calendar/date-range-picker.d.ts +2 -1
  6. package/dist/components/calendar/date-range-picker.js +39 -39
  7. package/dist/components/charts/charts.cjs +1 -1
  8. package/dist/components/charts/charts.d.ts +13 -4
  9. package/dist/components/charts/charts.js +76 -46
  10. package/dist/components/charts/progress-ring.cjs +1 -1
  11. package/dist/components/charts/progress-ring.d.ts +3 -1
  12. package/dist/components/charts/progress-ring.js +11 -10
  13. package/dist/components/data-table/data-table-column-visibility-menu.cjs +1 -1
  14. package/dist/components/data-table/data-table-column-visibility-menu.d.ts +4 -1
  15. package/dist/components/data-table/data-table-column-visibility-menu.js +36 -8
  16. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  17. package/dist/components/data-table/data-table-toolbar.js +12 -13
  18. package/dist/components/display/carousel.cjs +1 -1
  19. package/dist/components/display/carousel.d.ts +9 -1
  20. package/dist/components/display/carousel.js +123 -81
  21. package/dist/components/display/code-block.cjs +2 -2
  22. package/dist/components/display/code-block.d.ts +2 -1
  23. package/dist/components/display/code-block.js +17 -12
  24. package/dist/components/display/delta-badge.cjs +1 -1
  25. package/dist/components/display/delta-badge.d.ts +2 -1
  26. package/dist/components/display/delta-badge.js +11 -7
  27. package/dist/components/display/kanban.cjs +1 -1
  28. package/dist/components/display/kanban.d.ts +4 -1
  29. package/dist/components/display/kanban.js +60 -33
  30. package/dist/components/display/metric-grid.cjs +1 -1
  31. package/dist/components/display/metric-grid.d.ts +1 -0
  32. package/dist/components/display/metric-grid.js +1 -1
  33. package/dist/components/display/qr-code.cjs +1 -1
  34. package/dist/components/display/qr-code.d.ts +2 -1
  35. package/dist/components/display/qr-code.js +19 -16
  36. package/dist/components/display/tag.cjs +1 -1
  37. package/dist/components/display/tag.d.ts +2 -1
  38. package/dist/components/display/tag.js +28 -22
  39. package/dist/components/display/tree-view.cjs +1 -1
  40. package/dist/components/display/tree-view.d.ts +9 -1
  41. package/dist/components/display/tree-view.js +104 -40
  42. package/dist/components/display/trend-card.cjs +1 -1
  43. package/dist/components/display/trend-card.js +27 -41
  44. package/dist/components/feedback/alert.cjs +1 -1
  45. package/dist/components/feedback/alert.d.ts +2 -1
  46. package/dist/components/feedback/alert.js +6 -6
  47. package/dist/components/feedback/loading-state.cjs +1 -1
  48. package/dist/components/feedback/loading-state.d.ts +3 -1
  49. package/dist/components/feedback/loading-state.js +23 -10
  50. package/dist/components/feedback/page-state.cjs +1 -1
  51. package/dist/components/feedback/page-state.d.ts +2 -1
  52. package/dist/components/feedback/page-state.js +7 -4
  53. package/dist/components/form/form-field-shell.cjs +1 -1
  54. package/dist/components/form/form-field-shell.d.ts +4 -2
  55. package/dist/components/form/form-field-shell.js +57 -41
  56. package/dist/components/form/form-input.cjs +1 -1
  57. package/dist/components/form/form-input.js +2 -0
  58. package/dist/components/form/form-select.cjs +1 -1
  59. package/dist/components/form/form-select.js +2 -0
  60. package/dist/components/form/form-switch.cjs +1 -1
  61. package/dist/components/form/form-switch.d.ts +1 -1
  62. package/dist/components/form/form-switch.js +58 -54
  63. package/dist/components/form/form-textarea.cjs +1 -1
  64. package/dist/components/form/form-textarea.d.ts +1 -1
  65. package/dist/components/form/form-textarea.js +29 -27
  66. package/dist/components/layout/app-sidebar.cjs +1 -1
  67. package/dist/components/layout/app-sidebar.d.ts +1 -0
  68. package/dist/components/layout/app-sidebar.js +36 -36
  69. package/dist/components/layout/breadcrumbs.cjs +1 -1
  70. package/dist/components/layout/breadcrumbs.d.ts +2 -1
  71. package/dist/components/layout/breadcrumbs.js +7 -7
  72. package/dist/components/modern/calendar-scheduler.cjs +1 -1
  73. package/dist/components/modern/calendar-scheduler.d.ts +5 -1
  74. package/dist/components/modern/calendar-scheduler.js +47 -28
  75. package/dist/components/modern/dual-list-picker.cjs +1 -1
  76. package/dist/components/modern/dual-list-picker.d.ts +5 -1
  77. package/dist/components/modern/dual-list-picker.js +81 -23
  78. package/dist/components/modern/rich-text-editor.cjs +1 -1
  79. package/dist/components/modern/rich-text-editor.d.ts +3 -1
  80. package/dist/components/modern/rich-text-editor.js +12 -9
  81. package/dist/components/modern/tour.cjs +1 -1
  82. package/dist/components/modern/tour.d.ts +5 -1
  83. package/dist/components/modern/tour.js +57 -35
  84. package/dist/components/navigation/command-bar.cjs +1 -1
  85. package/dist/components/navigation/command-bar.d.ts +3 -1
  86. package/dist/components/navigation/command-bar.js +10 -7
  87. package/dist/components/navigation/demo.cjs +1 -1
  88. package/dist/components/navigation/demo.js +0 -1
  89. package/dist/components/navigation/nav-tabs.cjs +1 -1
  90. package/dist/components/navigation/nav-tabs.js +39 -27
  91. package/dist/components/navigation/page-tabs.cjs +1 -1
  92. package/dist/components/navigation/page-tabs.js +41 -30
  93. package/dist/components/navigation/pagination.cjs +1 -1
  94. package/dist/components/navigation/pagination.d.ts +7 -1
  95. package/dist/components/navigation/pagination.js +48 -25
  96. package/dist/components/notifications/notification-center.cjs +1 -1
  97. package/dist/components/notifications/notification-center.d.ts +3 -1
  98. package/dist/components/notifications/notification-center.js +56 -38
  99. package/dist/components/notifications/toast.cjs +1 -1
  100. package/dist/components/notifications/toast.d.ts +1 -0
  101. package/dist/components/notifications/toast.js +4 -0
  102. package/dist/components/overlay/alert-dialog.cjs +1 -1
  103. package/dist/components/overlay/alert-dialog.js +1 -1
  104. package/dist/components/overlay/confirm-dialog.cjs +1 -1
  105. package/dist/components/overlay/confirm-dialog.d.ts +4 -2
  106. package/dist/components/overlay/confirm-dialog.js +31 -22
  107. package/dist/components/overlay/drawer.cjs +1 -1
  108. package/dist/components/overlay/drawer.d.ts +3 -1
  109. package/dist/components/overlay/drawer.js +24 -16
  110. package/dist/components/ui/accordion/index.d.ts +4 -0
  111. package/dist/components/ui/badge/index.cjs +1 -1
  112. package/dist/components/ui/badge/index.d.ts +1 -1
  113. package/dist/components/ui/badge/index.js +2 -1
  114. package/dist/components/ui/button/index.cjs +1 -1
  115. package/dist/components/ui/button/index.d.ts +2 -1
  116. package/dist/components/ui/button/index.js +13 -10
  117. package/dist/components/ui/dialog/index.cjs +1 -1
  118. package/dist/components/ui/dialog/index.js +2 -1
  119. package/dist/components/ui/hover-card.cjs +1 -1
  120. package/dist/components/ui/hover-card.d.ts +11 -3
  121. package/dist/components/ui/hover-card.js +29 -24
  122. package/dist/components/ui/input/index.d.ts +1 -1
  123. package/dist/components/ui/popover/index.cjs +1 -1
  124. package/dist/components/ui/popover/index.d.ts +2 -2
  125. package/dist/components/ui/popover/index.js +6 -5
  126. package/dist/components/ui/radio-group/index.cjs +1 -1
  127. package/dist/components/ui/radio-group/index.d.ts +5 -1
  128. package/dist/components/ui/radio-group/index.js +50 -16
  129. package/dist/components/ui/right-click-menu/index.cjs +1 -1
  130. package/dist/components/ui/right-click-menu/index.d.ts +5 -1
  131. package/dist/components/ui/right-click-menu/index.js +77 -23
  132. package/dist/components/ui/segmented-control/index.cjs +1 -1
  133. package/dist/components/ui/segmented-control/index.d.ts +2 -1
  134. package/dist/components/ui/segmented-control/index.js +23 -11
  135. package/dist/components/ui/select/index.cjs +1 -1
  136. package/dist/components/ui/select/index.d.ts +8 -1
  137. package/dist/components/ui/select/index.js +40 -35
  138. package/dist/components/ui/switch/index.cjs +1 -1
  139. package/dist/components/ui/switch/index.d.ts +18 -0
  140. package/dist/components/ui/switch/index.js +47 -17
  141. package/dist/components/ui/tabs/index.cjs +1 -1
  142. package/dist/components/ui/tabs/index.d.ts +14 -4
  143. package/dist/components/ui/tabs/index.js +11 -8
  144. package/dist/components/ui/textarea/index.cjs +1 -1
  145. package/dist/components/ui/textarea/index.d.ts +10 -2
  146. package/dist/components/ui/textarea/index.js +37 -8
  147. package/dist/components/ui/textarea.cjs +1 -0
  148. package/dist/components/ui/textarea.d.ts +1 -0
  149. package/dist/components/ui/textarea.js +2 -0
  150. package/dist/components/ui/tooltip/index.cjs +1 -1
  151. package/dist/components/ui/tooltip/index.d.ts +11 -3
  152. package/dist/components/ui/tooltip/index.js +41 -20
  153. package/dist/components/upload/file-upload.cjs +1 -1
  154. package/dist/components/upload/file-upload.d.ts +8 -1
  155. package/dist/components/upload/file-upload.js +132 -100
  156. package/dist/components/upload/image-upload.cjs +1 -1
  157. package/dist/components/upload/image-upload.d.ts +5 -1
  158. package/dist/components/upload/image-upload.js +34 -9
  159. package/dist/index.cjs +1 -1
  160. package/dist/index.js +31 -31
  161. package/dist/public-component-surface.cjs +1 -1
  162. package/dist/public-component-surface.js +15 -0
  163. package/dist/showcase/component-api-schema.cjs +1 -1
  164. package/dist/showcase/component-api-schema.js +187 -10
  165. package/dist/showcase/fallback.cjs +3 -3
  166. package/dist/showcase/fallback.js +221 -243
  167. package/dist/showcase/premium/alert/showcase.cjs +1 -1
  168. package/dist/showcase/premium/alert/showcase.js +1 -0
  169. package/dist/showcase/premium/app-sidebar/showcase.cjs +1 -1
  170. package/dist/showcase/premium/app-sidebar/showcase.js +1 -0
  171. package/dist/showcase/premium/badge/showcase.cjs +1 -1
  172. package/dist/showcase/premium/badge/showcase.js +7 -0
  173. package/dist/showcase/premium/badge/types.d.ts +1 -1
  174. package/dist/showcase/premium/breadcrumbs/showcase.cjs +1 -1
  175. package/dist/showcase/premium/breadcrumbs/showcase.js +12 -1
  176. package/dist/showcase/premium/button/mock.cjs +1 -4
  177. package/dist/showcase/premium/button/mock.js +1 -1
  178. package/dist/showcase/premium/button/showcase.cjs +1 -1
  179. package/dist/showcase/premium/button/showcase.js +2 -2
  180. package/dist/showcase/premium/card/showcase.cjs +1 -1
  181. package/dist/showcase/premium/card/showcase.js +96 -47
  182. package/dist/showcase/premium/carousel/showcase.cjs +1 -1
  183. package/dist/showcase/premium/carousel/showcase.js +76 -49
  184. package/dist/showcase/premium/command-bar/showcase.cjs +1 -1
  185. package/dist/showcase/premium/command-bar/showcase.js +2 -0
  186. package/dist/showcase/premium/data-table/mock.cjs +12 -11
  187. package/dist/showcase/premium/data-table/mock.js +1 -1
  188. package/dist/showcase/premium/file-upload/showcase.cjs +1 -1
  189. package/dist/showcase/premium/file-upload/showcase.js +25 -4
  190. package/dist/showcase/premium/image-upload/showcase.cjs +1 -1
  191. package/dist/showcase/premium/image-upload/showcase.js +4 -1
  192. package/dist/showcase/premium/index.cjs +1 -1
  193. package/dist/showcase/premium/index.js +396 -402
  194. package/dist/showcase/premium/loading-state/showcase.cjs +1 -1
  195. package/dist/showcase/premium/loading-state/showcase.js +3 -1
  196. package/dist/showcase/premium/metric-grid/showcase.cjs +1 -1
  197. package/dist/showcase/premium/metric-grid/showcase.js +96 -28
  198. package/dist/showcase/premium/notification-center/showcase.cjs +1 -1
  199. package/dist/showcase/premium/notification-center/showcase.js +7 -3
  200. package/dist/showcase/premium/page-state/showcase.cjs +1 -1
  201. package/dist/showcase/premium/page-state/showcase.js +5 -1
  202. package/dist/showcase/premium/pagination/showcase.cjs +1 -1
  203. package/dist/showcase/premium/pagination/showcase.js +15 -2
  204. package/dist/showcase/premium/popover/showcase.cjs +1 -1
  205. package/dist/showcase/premium/popover/showcase.js +85 -50
  206. package/dist/showcase/premium/radio-group/showcase.cjs +1 -1
  207. package/dist/showcase/premium/radio-group/showcase.js +27 -4
  208. package/dist/showcase/premium/right-click-menu/showcase.cjs +1 -1
  209. package/dist/showcase/premium/right-click-menu/showcase.js +56 -43
  210. package/dist/showcase/premium/segmented-control/showcase.cjs +1 -1
  211. package/dist/showcase/premium/segmented-control/showcase.js +1 -0
  212. package/dist/showcase/premium/select/data.cjs +1 -1
  213. package/dist/showcase/premium/select/data.js +69 -34
  214. package/dist/showcase/premium/select/mock.cjs +19 -6
  215. package/dist/showcase/premium/select/mock.js +3 -2
  216. package/dist/showcase/premium/select/showcase.cjs +1 -1
  217. package/dist/showcase/premium/select/showcase.js +43 -18
  218. package/dist/showcase/premium/select/types.d.ts +3 -0
  219. package/dist/showcase/premium/statistic/showcase.cjs +1 -1
  220. package/dist/showcase/premium/statistic/showcase.js +57 -25
  221. package/dist/showcase/premium/switch/showcase.cjs +1 -1
  222. package/dist/showcase/premium/switch/showcase.js +25 -14
  223. package/dist/showcase/premium/tabs/showcase.cjs +1 -1
  224. package/dist/showcase/premium/tabs/showcase.js +171 -48
  225. package/dist/showcase/premium/textarea/mock.cjs +12 -4
  226. package/dist/showcase/premium/textarea/mock.js +1 -1
  227. package/dist/showcase/premium/textarea/showcase.cjs +1 -1
  228. package/dist/showcase/premium/textarea/showcase.js +8 -3
  229. package/dist/showcase/premium/toast/showcase.cjs +1 -1
  230. package/dist/showcase/premium/toast/showcase.js +32 -6
  231. package/dist/showcase/premium/types.d.ts +1 -1
  232. package/dist/showcase/registry-quality.cjs +1 -1
  233. package/dist/showcase/registry-quality.js +1 -0
  234. package/dist/showcase/render-registry-preview.cjs +1 -1
  235. package/dist/showcase/render-registry-preview.js +57 -79
  236. package/dist/showcase/site-data.cjs +1 -1
  237. package/dist/showcase/site-data.js +60 -21
  238. package/dist/showcase/tembro-registry.json.cjs +1 -1
  239. package/dist/showcase/tembro-registry.json.js +34 -20
  240. package/dist/showcase/types.d.ts +1 -1
  241. package/package.json +1 -1
  242. package/packages/cli/dist/index.cjs +31 -31
  243. package/packages/cli/vendor/src/components/calendar/calendar.tsx +59 -50
  244. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +7 -4
  245. package/packages/cli/vendor/src/components/charts/charts.tsx +109 -66
  246. package/packages/cli/vendor/src/components/charts/progress-ring.tsx +37 -26
  247. package/packages/cli/vendor/src/components/data-table/data-table-column-visibility-menu.tsx +41 -22
  248. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +8 -6
  249. package/packages/cli/vendor/src/components/display/carousel.tsx +84 -3
  250. package/packages/cli/vendor/src/components/display/code-block.tsx +22 -2
  251. package/packages/cli/vendor/src/components/display/delta-badge.tsx +11 -11
  252. package/packages/cli/vendor/src/components/display/kanban.tsx +103 -57
  253. package/packages/cli/vendor/src/components/display/metric-grid.tsx +16 -13
  254. package/packages/cli/vendor/src/components/display/qr-code.tsx +17 -15
  255. package/packages/cli/vendor/src/components/display/tag.tsx +39 -21
  256. package/packages/cli/vendor/src/components/display/tree-view.tsx +221 -84
  257. package/packages/cli/vendor/src/components/display/trend-card.tsx +6 -40
  258. package/packages/cli/vendor/src/components/feedback/alert.tsx +3 -1
  259. package/packages/cli/vendor/src/components/feedback/loading-state.tsx +33 -17
  260. package/packages/cli/vendor/src/components/feedback/page-state.tsx +8 -7
  261. package/packages/cli/vendor/src/components/form/form-field-shell.tsx +37 -8
  262. package/packages/cli/vendor/src/components/form/form-input.tsx +2 -0
  263. package/packages/cli/vendor/src/components/form/form-select.tsx +2 -0
  264. package/packages/cli/vendor/src/components/form/form-switch.tsx +9 -3
  265. package/packages/cli/vendor/src/components/form/form-textarea.tsx +6 -2
  266. package/packages/cli/vendor/src/components/layout/app-sidebar.tsx +3 -1
  267. package/packages/cli/vendor/src/components/layout/breadcrumbs.tsx +3 -1
  268. package/packages/cli/vendor/src/components/modern/calendar-scheduler.tsx +28 -13
  269. package/packages/cli/vendor/src/components/modern/dual-list-picker.tsx +103 -35
  270. package/packages/cli/vendor/src/components/modern/rich-text-editor.tsx +25 -22
  271. package/packages/cli/vendor/src/components/modern/tour.tsx +47 -29
  272. package/packages/cli/vendor/src/components/navigation/command-bar.tsx +6 -0
  273. package/packages/cli/vendor/src/components/navigation/demo.tsx +0 -1
  274. package/packages/cli/vendor/src/components/navigation/nav-tabs.tsx +38 -29
  275. package/packages/cli/vendor/src/components/navigation/page-tabs.tsx +35 -23
  276. package/packages/cli/vendor/src/components/navigation/pagination.tsx +65 -31
  277. package/packages/cli/vendor/src/components/notifications/notification-center.tsx +64 -39
  278. package/packages/cli/vendor/src/components/notifications/toast.tsx +23 -21
  279. package/packages/cli/vendor/src/components/overlay/alert-dialog.tsx +1 -1
  280. package/packages/cli/vendor/src/components/overlay/confirm-dialog.tsx +45 -22
  281. package/packages/cli/vendor/src/components/overlay/drawer.tsx +18 -5
  282. package/packages/cli/vendor/src/components/ui/accordion/index.tsx +4 -0
  283. package/packages/cli/vendor/src/components/ui/badge/index.tsx +2 -1
  284. package/packages/cli/vendor/src/components/ui/button/index.tsx +11 -5
  285. package/packages/cli/vendor/src/components/ui/dialog/index.tsx +2 -1
  286. package/packages/cli/vendor/src/components/ui/hover-card.tsx +54 -28
  287. package/packages/cli/vendor/src/components/ui/popover/index.tsx +10 -8
  288. package/packages/cli/vendor/src/components/ui/radio-group/index.tsx +55 -6
  289. package/packages/cli/vendor/src/components/ui/right-click-menu/index.tsx +120 -9
  290. package/packages/cli/vendor/src/components/ui/segmented-control/index.tsx +29 -3
  291. package/packages/cli/vendor/src/components/ui/select/index.tsx +64 -31
  292. package/packages/cli/vendor/src/components/ui/switch/index.tsx +71 -6
  293. package/packages/cli/vendor/src/components/ui/tabs/index.tsx +22 -6
  294. package/packages/cli/vendor/src/components/ui/textarea/index.tsx +105 -15
  295. package/packages/cli/vendor/src/components/ui/textarea.tsx +2 -0
  296. package/packages/cli/vendor/src/components/ui/tooltip/index.tsx +67 -22
  297. package/packages/cli/vendor/src/components/upload/file-upload.tsx +120 -57
  298. package/packages/cli/vendor/src/components/upload/image-upload.tsx +71 -24
  299. package/packages/cli/vendor/src/public-component-surface.ts +3 -0
  300. package/packages/cli/vendor/src/showcase/component-api-schema.ts +79 -41
  301. package/packages/cli/vendor/src/showcase/fallback.tsx +4 -19
  302. package/packages/cli/vendor/src/showcase/premium/alert/showcase.tsx +1 -0
  303. package/packages/cli/vendor/src/showcase/premium/app-sidebar/showcase.tsx +1 -0
  304. package/packages/cli/vendor/src/showcase/premium/badge/showcase.tsx +4 -2
  305. package/packages/cli/vendor/src/showcase/premium/badge/types.ts +1 -1
  306. package/packages/cli/vendor/src/showcase/premium/breadcrumbs/showcase.tsx +3 -1
  307. package/packages/cli/vendor/src/showcase/premium/button/mock.ts +2 -5
  308. package/packages/cli/vendor/src/showcase/premium/button/showcase.tsx +2 -2
  309. package/packages/cli/vendor/src/showcase/premium/card/showcase.tsx +26 -1
  310. package/packages/cli/vendor/src/showcase/premium/carousel/showcase.tsx +19 -3
  311. package/packages/cli/vendor/src/showcase/premium/command-bar/showcase.tsx +1 -1
  312. package/packages/cli/vendor/src/showcase/premium/data-table/mock.ts +26 -25
  313. package/packages/cli/vendor/src/showcase/premium/file-upload/showcase.tsx +21 -1
  314. package/packages/cli/vendor/src/showcase/premium/image-upload/showcase.tsx +4 -1
  315. package/packages/cli/vendor/src/showcase/premium/index.ts +0 -2
  316. package/packages/cli/vendor/src/showcase/premium/loading-state/showcase.tsx +1 -1
  317. package/packages/cli/vendor/src/showcase/premium/metric-grid/showcase.tsx +36 -4
  318. package/packages/cli/vendor/src/showcase/premium/notification-center/showcase.tsx +4 -3
  319. package/packages/cli/vendor/src/showcase/premium/page-state/showcase.tsx +1 -0
  320. package/packages/cli/vendor/src/showcase/premium/pagination/showcase.tsx +13 -1
  321. package/packages/cli/vendor/src/showcase/premium/popover/showcase.tsx +27 -11
  322. package/packages/cli/vendor/src/showcase/premium/radio-group/showcase.tsx +13 -1
  323. package/packages/cli/vendor/src/showcase/premium/right-click-menu/showcase.tsx +8 -5
  324. package/packages/cli/vendor/src/showcase/premium/segmented-control/showcase.tsx +1 -0
  325. package/packages/cli/vendor/src/showcase/premium/select/data.ts +12 -3
  326. package/packages/cli/vendor/src/showcase/premium/select/mock.ts +4 -4
  327. package/packages/cli/vendor/src/showcase/premium/select/showcase.tsx +22 -1
  328. package/packages/cli/vendor/src/showcase/premium/select/types.ts +3 -0
  329. package/packages/cli/vendor/src/showcase/premium/statistic/showcase.tsx +10 -1
  330. package/packages/cli/vendor/src/showcase/premium/switch/showcase.tsx +15 -6
  331. package/packages/cli/vendor/src/showcase/premium/tabs/showcase.tsx +48 -1
  332. package/packages/cli/vendor/src/showcase/premium/textarea/mock.ts +12 -4
  333. package/packages/cli/vendor/src/showcase/premium/textarea/showcase.tsx +5 -0
  334. package/packages/cli/vendor/src/showcase/premium/toast/showcase.tsx +17 -1
  335. package/packages/cli/vendor/src/showcase/premium/types.ts +1 -1
  336. package/packages/cli/vendor/src/showcase/registry-quality.ts +3 -2
  337. package/packages/cli/vendor/src/showcase/render-registry-preview.tsx +0 -15
  338. package/packages/cli/vendor/src/showcase/site-data.tsx +21 -15
  339. package/packages/cli/vendor/src/showcase/tembro-registry.json +42 -20
  340. package/packages/cli/vendor/src/showcase/types.ts +1 -1
  341. package/registry.json +18 -6
@@ -5,38 +5,46 @@ import "react";
5
5
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
6
  //#region src/components/overlay/drawer.tsx
7
7
  var d = {
8
- right: "left-auto right-0 top-0 h-dvh max-h-dvh w-full max-w-md translate-x-0 translate-y-0 rounded-none rounded-l-[var(--radius-3xl)] data-open:slide-in-from-right data-closed:slide-out-to-right sm:max-w-lg",
9
- left: "left-0 top-0 h-dvh max-h-dvh w-full max-w-md translate-x-0 translate-y-0 rounded-none rounded-r-[var(--radius-3xl)] data-open:slide-in-from-left data-closed:slide-out-to-left sm:max-w-lg",
8
+ right: "left-auto right-0 top-0 h-dvh max-h-dvh w-full translate-x-0 translate-y-0 rounded-none rounded-l-[var(--radius-3xl)] data-open:slide-in-from-right data-closed:slide-out-to-right",
9
+ left: "left-0 top-0 h-dvh max-h-dvh w-full translate-x-0 translate-y-0 rounded-none rounded-r-[var(--radius-3xl)] data-open:slide-in-from-left data-closed:slide-out-to-left",
10
10
  top: "left-0 top-0 h-auto max-h-[85dvh] w-full max-w-none translate-x-0 translate-y-0 rounded-none rounded-b-[var(--radius-3xl)] data-open:slide-in-from-top data-closed:slide-out-to-top",
11
11
  bottom: "bottom-0 left-0 top-auto h-auto max-h-[85dvh] w-full max-w-none translate-x-0 translate-y-0 rounded-none rounded-t-[var(--radius-3xl)] data-open:slide-in-from-bottom data-closed:slide-out-to-bottom"
12
+ }, f = {
13
+ sm: "sm:max-w-sm",
14
+ md: "sm:max-w-md",
15
+ lg: "sm:max-w-lg",
16
+ xl: "sm:max-w-2xl",
17
+ full: "max-w-none sm:max-w-[min(100vw,72rem)]"
12
18
  };
13
- function f({ trigger: t, title: r, description: f, side: p = "right", footer: m, headerClassName: h, bodyClassName: g, footerClassName: _, contentClassName: v, showCloseButton: y = !0, children: b, ...x }) {
19
+ function p({ trigger: t, title: r, description: p, side: m = "right", width: h = "lg", footer: g, headerClassName: _, bodyClassName: v, footerClassName: y, contentClassName: b, showCloseButton: x = !0, children: S, ...C }) {
14
20
  return /* @__PURE__ */ u(n, {
15
- ...x,
21
+ ...C,
16
22
  children: [t ? /* @__PURE__ */ l(c, { render: t }) : null, /* @__PURE__ */ u(i, {
17
23
  size: "full",
18
- showCloseButton: y,
19
- className: e("fixed grid grid-rows-[auto_minmax(0,1fr)_auto] gap-0 p-0", d[p], v),
24
+ showCloseButton: x,
25
+ "data-side": m,
26
+ "data-width": h,
27
+ className: e("fixed grid grid-rows-[auto_minmax(0,1fr)_auto] gap-0 overscroll-contain p-0", d[m], (m === "left" || m === "right") && f[h], b),
20
28
  children: [
21
- (r || f) && /* @__PURE__ */ u(o, {
22
- className: e("border-b border-border/70 p-6", h),
23
- children: [r ? /* @__PURE__ */ l(s, { children: r }) : null, f ? /* @__PURE__ */ l(a, { children: f }) : null]
29
+ (r || p) && /* @__PURE__ */ u(o, {
30
+ className: e("border-b border-border/70 p-6", _),
31
+ children: [r ? /* @__PURE__ */ l(s, { children: r }) : null, p ? /* @__PURE__ */ l(a, { children: p }) : null]
24
32
  }),
25
33
  /* @__PURE__ */ l("div", {
26
34
  "data-slot": "drawer-body",
27
- className: e("min-h-0 flex-1 overflow-y-auto p-6", g),
28
- children: b
35
+ className: e("min-h-0 flex-1 overflow-y-auto p-6", v),
36
+ children: S
29
37
  }),
30
- m ? /* @__PURE__ */ l("div", {
38
+ g ? /* @__PURE__ */ l("div", {
31
39
  "data-slot": "drawer-footer",
32
- className: e("border-t border-border/70 p-5", _),
33
- children: m
40
+ className: e("border-t border-border/70 p-5", y),
41
+ children: g
34
42
  }) : null
35
43
  ]
36
44
  })]
37
45
  });
38
46
  }
39
- function p({ children: e = "Close", ...n }) {
47
+ function m({ children: e = "Close", ...n }) {
40
48
  return /* @__PURE__ */ l(r, {
41
49
  render: /* @__PURE__ */ l(t, {
42
50
  type: "button",
@@ -47,4 +55,4 @@ function p({ children: e = "Close", ...n }) {
47
55
  });
48
56
  }
49
57
  //#endregion
50
- export { f as Drawer, p as DrawerCloseButton };
58
+ export { p as Drawer, m as DrawerCloseButton };
@@ -5,6 +5,10 @@ export type AccordionProps = CollapseGroupProps;
5
5
  export type AccordionRootProps = CollapseProps;
6
6
  export type AccordionTriggerProps = CollapseTriggerProps;
7
7
  export type AccordionContentProps = React.ComponentProps<"div">;
8
+ /**
9
+ * Accordion is the grouped disclosure API. Use CollapseRoot/CollapseTrigger/CollapseContent
10
+ * for a single standalone disclosure.
11
+ */
8
12
  declare function Accordion(props: AccordionProps): React.JSX.Element;
9
13
  declare function AccordionRoot(props: AccordionRootProps): React.JSX.Element;
10
14
  declare function AccordionTrigger(props: AccordionTriggerProps): React.JSX.Element;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("lucide-react"),i=require("class-variance-authority"),a=require("react/jsx-runtime"),o=require("@base-ui/react/merge-props"),s=require("@base-ui/react/use-render");var c=(0,i.cva)(`group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1.5 whitespace-nowrap rounded-[var(--radius-md)] border border-[color:color-mix(in_oklch,var(--border),var(--foreground)_6%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_36%)] font-semibold tracking-[0.01em] text-foreground shadow-[inset_0_1px_0_color-mix(in_oklch,white,transparent_34%)] transition-[background-color,border-color,color,box-shadow,transform] focus-visible:ring-0 focus-visible:shadow-[0_0_0_1px_var(--aui-focus-ring,var(--ring)),0_0_0_5px_var(--aui-focus-ring-soft,transparent)] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`border-[color:color-mix(in_oklch,var(--primary),transparent_48%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_78%)] text-[color:color-mix(in_oklch,var(--primary),black_24%)] dark:text-[color:color-mix(in_oklch,var(--primary),white_36%)]`,secondary:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_10%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_8%)] text-foreground`,destructive:`border-[color:color-mix(in_oklch,var(--destructive),transparent_52%)] bg-[color:color-mix(in_oklch,var(--destructive),transparent_82%)] text-[color:color-mix(in_oklch,var(--destructive),black_16%)] dark:text-[color:color-mix(in_oklch,var(--destructive),white_38%)]`,outline:`bg-[color:color-mix(in_oklch,var(--background),var(--muted)_6%)] text-foreground shadow-none`,ghost:`border-transparent bg-[color:color-mix(in_oklch,var(--muted),transparent_76%)] text-muted-foreground shadow-none`,link:`border-transparent bg-transparent p-0 text-primary shadow-none underline-offset-4`},tone:{neutral:``,info:`border-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),transparent_64%)] bg-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),transparent_82%)] text-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),black_18%)] dark:text-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),white_48%)]`,success:`border-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),transparent_56%)] bg-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),transparent_78%)] text-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),black_14%)] dark:text-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),white_40%)]`,warning:`border-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_52%)] bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_72%)] text-[color:color-mix(in_oklch,var(--aui-warning-foreground,var(--foreground)),black_6%)] dark:text-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),white_30%)]`,danger:`border-[color:color-mix(in_oklch,var(--destructive),transparent_56%)] bg-[color:color-mix(in_oklch,var(--destructive),transparent_80%)] text-[color:color-mix(in_oklch,var(--destructive),black_14%)] dark:text-[color:color-mix(in_oklch,var(--destructive),white_38%)]`,muted:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_8%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_18%)] text-muted-foreground`},size:{sm:`min-h-5 px-2.5 py-0.5 text-[0.64rem]`,default:`min-h-6 px-3 py-1 text-[0.7rem]`,lg:`min-h-7 px-3.5 py-1 text-[0.78rem]`},dot:{true:`pl-2`,false:``}},defaultVariants:{variant:`default`,tone:`neutral`,size:`default`,dot:!1}});function l({className:e,variant:n=`default`,tone:i=`neutral`,size:l=`default`,dot:u=!1,label:d,count:f,status:p,removable:m=!1,onRemove:h,removeLabel:g=`Remove badge`,leftIcon:_,rightIcon:v,children:y,render:b,...x}){let S=p??i,C=d??y,w=u||p===`success`||p===`warning`||p===`danger`||p===`info`;return(0,s.useRender)({defaultTagName:`span`,props:(0,o.mergeProps)({className:t.cn(c({variant:n,tone:S,size:l,dot:w}),e),children:(0,a.jsxs)(a.Fragment,{children:[w?(0,a.jsx)(`span`,{"data-slot":`badge-dot`,className:`size-1.5 rounded-full bg-current opacity-75`}):null,_?(0,a.jsx)(`span`,{"data-icon":`inline-start`,"data-slot":`badge-icon`,className:`inline-flex shrink-0 items-center`,children:_}):null,C?(0,a.jsx)(`span`,{"data-slot":`badge-label`,children:C}):null,f==null?null:(0,a.jsx)(`span`,{"data-slot":`badge-count`,className:`inline-flex min-w-5 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_88%)] px-1.5 py-0.5 text-[0.72em] font-semibold`,children:f}),v?(0,a.jsx)(`span`,{"data-icon":`inline-end`,"data-slot":`badge-icon`,className:`inline-flex shrink-0 items-center`,children:v}):null,m?(0,a.jsx)(`button`,{type:`button`,"data-slot":`badge-remove`,"aria-label":g,onClick:e=>{e.preventDefault(),e.stopPropagation(),h?.()},className:`inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_90%)] opacity-80 transition hover:opacity-100`,children:(0,a.jsx)(r.XIcon,{className:`size-3`})}):null]})},{"data-variant":n??`default`,"data-tone":S??`neutral`,"data-size":l??`default`,"data-removable":m||void 0},x),render:b,state:{slot:`badge`,variant:n,tone:S,size:l,dot:w}})}exports.Badge=l,exports.badgeVariants=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("lucide-react"),i=require("class-variance-authority"),a=require("react/jsx-runtime"),o=require("@base-ui/react/merge-props"),s=require("@base-ui/react/use-render");var c=(0,i.cva)(`group/badge inline-flex w-fit shrink-0 items-center justify-center gap-1.5 whitespace-nowrap rounded-[var(--radius-md)] border border-[color:color-mix(in_oklch,var(--border),var(--foreground)_6%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_36%)] font-semibold tracking-[0.01em] text-foreground shadow-[inset_0_1px_0_color-mix(in_oklch,white,transparent_34%)] transition-[background-color,border-color,color,box-shadow,transform] focus-visible:ring-0 focus-visible:shadow-[0_0_0_1px_var(--aui-focus-ring,var(--ring)),0_0_0_5px_var(--aui-focus-ring-soft,transparent)] has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 aria-invalid:border-destructive [&>svg]:pointer-events-none [&>svg]:size-3!`,{variants:{variant:{default:`border-[color:color-mix(in_oklch,var(--primary),transparent_48%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_78%)] text-[color:color-mix(in_oklch,var(--primary),black_24%)] dark:text-[color:color-mix(in_oklch,var(--primary),white_36%)]`,secondary:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_10%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_8%)] text-foreground`,destructive:`border-[color:color-mix(in_oklch,var(--destructive),transparent_52%)] bg-[color:color-mix(in_oklch,var(--destructive),transparent_82%)] text-[color:color-mix(in_oklch,var(--destructive),black_16%)] dark:text-[color:color-mix(in_oklch,var(--destructive),white_38%)]`,soft:`border-transparent bg-[color:color-mix(in_oklch,var(--muted),transparent_38%)] text-foreground shadow-none`,outline:`bg-[color:color-mix(in_oklch,var(--background),var(--muted)_6%)] text-foreground shadow-none`,ghost:`border-transparent bg-[color:color-mix(in_oklch,var(--muted),transparent_76%)] text-muted-foreground shadow-none`,link:`border-transparent bg-transparent p-0 text-primary shadow-none underline-offset-4`},tone:{neutral:``,info:`border-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),transparent_64%)] bg-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),transparent_82%)] text-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),black_18%)] dark:text-[color:color-mix(in_oklch,var(--aui-info,var(--primary)),white_48%)]`,success:`border-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),transparent_56%)] bg-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),transparent_78%)] text-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),black_14%)] dark:text-[color:color-mix(in_oklch,var(--aui-success,var(--primary)),white_40%)]`,warning:`border-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_52%)] bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_72%)] text-[color:color-mix(in_oklch,var(--aui-warning-foreground,var(--foreground)),black_6%)] dark:text-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),white_30%)]`,danger:`border-[color:color-mix(in_oklch,var(--destructive),transparent_56%)] bg-[color:color-mix(in_oklch,var(--destructive),transparent_80%)] text-[color:color-mix(in_oklch,var(--destructive),black_14%)] dark:text-[color:color-mix(in_oklch,var(--destructive),white_38%)]`,muted:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_8%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_18%)] text-muted-foreground`},size:{sm:`min-h-5 px-2.5 py-0.5 text-[0.64rem]`,default:`min-h-6 px-3 py-1 text-[0.7rem]`,lg:`min-h-7 px-3.5 py-1 text-[0.78rem]`},dot:{true:`pl-2`,false:``}},defaultVariants:{variant:`default`,tone:`neutral`,size:`default`,dot:!1}});function l({className:e,variant:n=`default`,tone:i=`neutral`,size:l=`default`,dot:u=!1,label:d,count:f,status:p,removable:m=!1,onRemove:h,removeLabel:g=`Remove badge`,leftIcon:_,rightIcon:v,children:y,render:b,...x}){let S=p??i,C=d??y,w=u||p===`success`||p===`warning`||p===`danger`||p===`info`;return(0,s.useRender)({defaultTagName:`span`,props:(0,o.mergeProps)({className:t.cn(c({variant:n,tone:S,size:l,dot:w}),e),children:(0,a.jsxs)(a.Fragment,{children:[w?(0,a.jsx)(`span`,{"data-slot":`badge-dot`,className:`size-1.5 rounded-full bg-current opacity-75`}):null,_?(0,a.jsx)(`span`,{"data-icon":`inline-start`,"data-slot":`badge-icon`,className:`inline-flex shrink-0 items-center`,children:_}):null,C?(0,a.jsx)(`span`,{"data-slot":`badge-label`,children:C}):null,f==null?null:(0,a.jsx)(`span`,{"data-slot":`badge-count`,className:`inline-flex min-w-5 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_88%)] px-1.5 py-0.5 text-[0.72em] font-semibold`,children:f}),v?(0,a.jsx)(`span`,{"data-icon":`inline-end`,"data-slot":`badge-icon`,className:`inline-flex shrink-0 items-center`,children:v}):null,m?(0,a.jsx)(`button`,{type:`button`,"data-slot":`badge-remove`,"aria-label":g,onClick:e=>{e.preventDefault(),e.stopPropagation(),h?.()},className:`inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_90%)] opacity-80 transition hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current/35`,children:(0,a.jsx)(r.XIcon,{className:`size-3`})}):null]})},{"data-variant":n??`default`,"data-tone":S??`neutral`,"data-size":l??`default`,"data-removable":m||void 0},x),render:b,state:{slot:`badge`,variant:n,tone:S,size:l,dot:w}})}exports.Badge=l,exports.badgeVariants=c;
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { useRender } from "@base-ui/react/use-render";
3
3
  import { type VariantProps } from "class-variance-authority";
4
4
  declare const badgeVariants: (props?: ({
5
- variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
5
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | "soft" | null | undefined;
6
6
  tone?: "warning" | "neutral" | "info" | "success" | "danger" | "muted" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | null | undefined;
8
8
  dot?: boolean | null | undefined;
@@ -12,6 +12,7 @@ var c = n("group/badge inline-flex w-fit shrink-0 items-center justify-center ga
12
12
  default: "border-[color:color-mix(in_oklch,var(--primary),transparent_48%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_78%)] text-[color:color-mix(in_oklch,var(--primary),black_24%)] dark:text-[color:color-mix(in_oklch,var(--primary),white_36%)]",
13
13
  secondary: "border-[color:color-mix(in_oklch,var(--border),var(--foreground)_10%)] bg-[color:color-mix(in_oklch,var(--muted),var(--background)_8%)] text-foreground",
14
14
  destructive: "border-[color:color-mix(in_oklch,var(--destructive),transparent_52%)] bg-[color:color-mix(in_oklch,var(--destructive),transparent_82%)] text-[color:color-mix(in_oklch,var(--destructive),black_16%)] dark:text-[color:color-mix(in_oklch,var(--destructive),white_38%)]",
15
+ soft: "border-transparent bg-[color:color-mix(in_oklch,var(--muted),transparent_38%)] text-foreground shadow-none",
15
16
  outline: "bg-[color:color-mix(in_oklch,var(--background),var(--muted)_6%)] text-foreground shadow-none",
16
17
  ghost: "border-transparent bg-[color:color-mix(in_oklch,var(--muted),transparent_76%)] text-muted-foreground shadow-none",
17
18
  link: "border-transparent bg-transparent p-0 text-primary shadow-none underline-offset-4"
@@ -85,7 +86,7 @@ function l({ className: n, variant: l = "default", tone: u = "neutral", size: d
85
86
  onClick: (e) => {
86
87
  e.preventDefault(), e.stopPropagation(), _?.();
87
88
  },
88
- className: "inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_90%)] opacity-80 transition hover:opacity-100",
89
+ className: "inline-flex size-4 shrink-0 items-center justify-center rounded-full bg-[color:color-mix(in_oklch,currentColor,transparent_90%)] opacity-80 transition hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-current/35",
89
90
  children: /* @__PURE__ */ i(t, { className: "size-3" })
90
91
  }) : null
91
92
  ] })
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("@base-ui/react/button"),i=require("class-variance-authority"),a=require("react/jsx-runtime");var o=(0,i.cva)(`group/button inline-flex shrink-0 items-center justify-center rounded-[var(--aui-control-radius,var(--radius-md))] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] bg-clip-padding text-sm font-semibold text-foreground whitespace-nowrap shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))] transition-[transform,background-color,border-color,color,box-shadow,opacity] outline-none select-none hover:border-[color:var(--aui-control-hover-border,var(--ring))] hover:bg-[color:var(--aui-control-surface-hover,var(--muted))] focus-visible:ring-0 focus-visible:shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring)),0_0_0_4px_var(--aui-focus-ring-soft,transparent)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:translate-y-0 disabled:border-[color:color-mix(in_oklch,var(--border),transparent_24%)] disabled:bg-[color:var(--aui-control-surface-disabled,var(--muted))] disabled:text-muted-foreground disabled:shadow-none disabled:opacity-100 aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:translate-y-0 aria-disabled:opacity-100 aria-invalid:border-destructive [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`border-[color:color-mix(in_oklch,var(--primary),black_10%)] bg-primary text-primary-foreground shadow-[var(--aui-button-primary-shadow,0_10px_24px_rgba(16,185,129,0.18))] hover:border-[color:color-mix(in_oklch,var(--primary),black_18%)] hover:bg-[color:color-mix(in_oklch,var(--primary),white_8%)] hover:text-primary-foreground`,outline:`bg-[color:var(--aui-control-surface,var(--background))] text-foreground shadow-none`,secondary:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_6%)] bg-secondary text-secondary-foreground shadow-none`,ghost:`border-transparent bg-transparent shadow-none`,destructive:`border-[color:color-mix(in_oklch,var(--destructive),black_8%)] bg-destructive text-[color:var(--aui-danger-foreground,var(--primary-foreground))] shadow-[var(--aui-button-danger-shadow,0_10px_24px_rgba(239,68,68,0.16))] hover:border-[color:color-mix(in_oklch,var(--destructive),black_16%)] hover:bg-[color:color-mix(in_oklch,var(--destructive),white_6%)]`,warning:`border-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_52%)] bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_78%)] text-[color:var(--aui-warning-foreground,var(--foreground))] shadow-none hover:bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_70%)]`,link:`rounded-none border-transparent bg-transparent p-0 text-primary shadow-none underline-offset-4 hover:bg-transparent hover:text-[color:color-mix(in_oklch,var(--primary),black_10%)]`},size:{default:`h-9 gap-1.5 px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,xs:`h-7 gap-1 rounded-[var(--radius-sm)] px-2.5 text-xs in-data-[slot=button-group]:rounded-[var(--radius-sm)] has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 rounded-[var(--radius-md)] px-3.5 text-[0.82rem] in-data-[slot=button-group]:rounded-[var(--radius-md)] has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`h-9 gap-1.5 px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,lg:`h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,xl:`h-11 gap-2 px-5 text-base has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4`,icon:`size-9`,"icon-xs":`size-7 rounded-[var(--radius-sm)] in-data-[slot=button-group]:rounded-[var(--radius-sm)] [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8 rounded-[var(--radius-md)] in-data-[slot=button-group]:rounded-[var(--radius-md)]`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function s({className:e,variant:n=`default`,size:i=`default`,disabled:s,loading:c=!1,loadingLabel:l=`Loading`,leftIcon:u,rightIcon:d,fullWidth:f=!1,pressed:p=!1,children:m,...h}){return(0,a.jsxs)(r.Button,{"data-slot":`button`,"data-variant":n??`default`,"data-size":i??`default`,"data-loading":c||void 0,"data-pressed":p||void 0,disabled:s||c,"aria-busy":c||void 0,"aria-pressed":p||void 0,className:t.cn(o({variant:n,size:i,className:e}),f&&`w-full`,p&&`shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring))]`),...h,children:[c?(0,a.jsx)(`span`,{"data-slot":`button-spinner`,"aria-hidden":`true`,className:`size-4 animate-spin rounded-full border-2 border-current border-t-transparent opacity-80`}):u?(0,a.jsx)(`span`,{"data-icon":`inline-start`,"data-slot":`button-icon`,className:`inline-flex shrink-0 items-center justify-center`,children:u}):null,m?(0,a.jsx)(`span`,{"data-slot":`button-label`,children:c?l:m}):null,!c&&d?(0,a.jsx)(`span`,{"data-icon":`inline-end`,"data-slot":`button-icon`,className:`inline-flex shrink-0 items-center justify-center`,children:d}):null]})}exports.Button=s,exports.buttonVariants=o;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("@base-ui/react/button"),i=require("class-variance-authority"),a=require("react/jsx-runtime");var o=(0,i.cva)(`group/button inline-flex shrink-0 items-center justify-center rounded-[var(--aui-control-radius,var(--radius-md))] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] bg-clip-padding text-sm font-semibold text-foreground whitespace-nowrap shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))] transition-[transform,background-color,border-color,color,box-shadow,opacity] outline-none select-none hover:border-[color:var(--aui-control-hover-border,var(--ring))] hover:bg-[color:var(--aui-control-surface-hover,var(--muted))] focus-visible:ring-0 focus-visible:shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring)),0_0_0_4px_var(--aui-focus-ring-soft,transparent)] active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:cursor-not-allowed disabled:translate-y-0 disabled:border-[color:color-mix(in_oklch,var(--border),transparent_24%)] disabled:bg-[color:var(--aui-control-surface-disabled,var(--muted))] disabled:text-muted-foreground disabled:shadow-none disabled:opacity-100 aria-disabled:pointer-events-none aria-disabled:cursor-not-allowed aria-disabled:translate-y-0 aria-disabled:opacity-100 aria-invalid:border-destructive [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`border-[color:color-mix(in_oklch,var(--primary),black_10%)] bg-primary text-primary-foreground shadow-[var(--aui-button-primary-shadow,0_10px_24px_rgba(16,185,129,0.18))] hover:border-[color:color-mix(in_oklch,var(--primary),black_18%)] hover:bg-[color:color-mix(in_oklch,var(--primary),white_8%)] hover:text-primary-foreground`,outline:`bg-[color:var(--aui-control-surface,var(--background))] text-foreground shadow-none`,secondary:`border-[color:color-mix(in_oklch,var(--border),var(--foreground)_6%)] bg-secondary text-secondary-foreground shadow-none`,ghost:`border-transparent bg-transparent shadow-none`,destructive:`border-[color:color-mix(in_oklch,var(--destructive),black_8%)] bg-destructive text-[color:var(--aui-danger-foreground,var(--primary-foreground))] shadow-[var(--aui-button-danger-shadow,0_10px_24px_rgba(239,68,68,0.16))] hover:border-[color:color-mix(in_oklch,var(--destructive),black_16%)] hover:bg-[color:color-mix(in_oklch,var(--destructive),white_6%)]`,warning:`border-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_52%)] bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_78%)] text-[color:var(--aui-warning-foreground,var(--foreground))] shadow-none hover:bg-[color:color-mix(in_oklch,var(--aui-warning,var(--primary)),transparent_70%)]`,link:`rounded-none border-transparent bg-transparent p-0 text-primary shadow-none underline-offset-4 hover:bg-transparent hover:text-[color:color-mix(in_oklch,var(--primary),black_10%)]`},size:{default:`h-9 gap-1.5 px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,xs:`h-7 gap-1 rounded-[var(--radius-sm)] px-2.5 text-xs in-data-[slot=button-group]:rounded-[var(--radius-sm)] has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 rounded-[var(--radius-md)] px-3.5 text-[0.82rem] in-data-[slot=button-group]:rounded-[var(--radius-md)] has-data-[icon=inline-end]:pr-2.5 has-data-[icon=inline-start]:pl-2.5 [&_svg:not([class*='size-'])]:size-3.5`,md:`h-9 gap-1.5 px-3.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,lg:`h-10 gap-1.5 px-4 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3`,xl:`h-11 gap-2 px-5 text-base has-data-[icon=inline-end]:pr-4 has-data-[icon=inline-start]:pl-4`,icon:`size-9`,"icon-xs":`size-7 rounded-[var(--radius-sm)] in-data-[slot=button-group]:rounded-[var(--radius-sm)] [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8 rounded-[var(--radius-md)] in-data-[slot=button-group]:rounded-[var(--radius-md)]`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function s({className:e,variant:n=`default`,size:i=`default`,disabled:s,loading:c=!1,loadingLabel:l=`Loading`,leftIcon:u,rightIcon:d,iconOnly:f=!1,fullWidth:p=!1,pressed:m=!1,children:h,"aria-label":g,..._}){let v=s||c,y=f&&(i==="default"||i===`md`)?`icon`:i;return(0,a.jsxs)(r.Button,{"data-slot":`button`,"data-variant":n??`default`,"data-size":y??`default`,"data-icon-only":f||void 0,"data-loading":c||void 0,"data-pressed":m||void 0,disabled:v,"aria-busy":c||void 0,"aria-pressed":m||void 0,"aria-label":g,className:t.cn(o({variant:n,size:y,className:e}),p&&`w-full`,m&&`shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring))]`),..._,children:[c?(0,a.jsx)(`span`,{"data-slot":`button-spinner`,"aria-hidden":`true`,className:`size-4 animate-spin rounded-full border-2 border-current border-t-transparent opacity-80`}):u?(0,a.jsx)(`span`,{"data-icon":`inline-start`,"data-slot":`button-icon`,className:`inline-flex shrink-0 items-center justify-center`,children:u}):null,h?(0,a.jsx)(`span`,{"data-slot":`button-label`,children:c?l:h}):null,!c&&d?(0,a.jsx)(`span`,{"data-icon":`inline-end`,"data-slot":`button-icon`,className:`inline-flex shrink-0 items-center justify-center`,children:d}):null]})}exports.Button=s,exports.buttonVariants=o;
@@ -10,8 +10,9 @@ export type ButtonProps = ButtonPrimitive.Props & VariantProps<typeof buttonVari
10
10
  loadingLabel?: string;
11
11
  leftIcon?: React.ReactNode;
12
12
  rightIcon?: React.ReactNode;
13
+ iconOnly?: boolean;
13
14
  fullWidth?: boolean;
14
15
  pressed?: boolean;
15
16
  };
16
- declare function Button({ className, variant, size, disabled, loading, loadingLabel, leftIcon, rightIcon, fullWidth, pressed, children, ...props }: ButtonProps): React.JSX.Element;
17
+ declare function Button({ className, variant, size, disabled, loading, loadingLabel, leftIcon, rightIcon, iconOnly, fullWidth, pressed, children, "aria-label": ariaLabel, ...props }: ButtonProps): React.JSX.Element;
17
18
  export { Button, buttonVariants };
@@ -33,22 +33,25 @@ var a = n("group/button inline-flex shrink-0 items-center justify-center rounded
33
33
  size: "default"
34
34
  }
35
35
  });
36
- function o({ className: n, variant: o = "default", size: s = "default", disabled: c, loading: l = !1, loadingLabel: u = "Loading", leftIcon: d, rightIcon: f, fullWidth: p = !1, pressed: m = !1, children: h, ...g }) {
36
+ function o({ className: n, variant: o = "default", size: s = "default", disabled: c, loading: l = !1, loadingLabel: u = "Loading", leftIcon: d, rightIcon: f, iconOnly: p = !1, fullWidth: m = !1, pressed: h = !1, children: g, "aria-label": _, ...v }) {
37
+ let y = c || l, b = p && (s === "default" || s === "md") ? "icon" : s;
37
38
  return /* @__PURE__ */ i(t, {
38
39
  "data-slot": "button",
39
40
  "data-variant": o ?? "default",
40
- "data-size": s ?? "default",
41
+ "data-size": b ?? "default",
42
+ "data-icon-only": p || void 0,
41
43
  "data-loading": l || void 0,
42
- "data-pressed": m || void 0,
43
- disabled: c || l,
44
+ "data-pressed": h || void 0,
45
+ disabled: y,
44
46
  "aria-busy": l || void 0,
45
- "aria-pressed": m || void 0,
47
+ "aria-pressed": h || void 0,
48
+ "aria-label": _,
46
49
  className: e(a({
47
50
  variant: o,
48
- size: s,
51
+ size: b,
49
52
  className: n
50
- }), p && "w-full", m && "shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring))]"),
51
- ...g,
53
+ }), m && "w-full", h && "shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04)),0_0_0_1px_var(--aui-focus-ring,var(--ring))]"),
54
+ ...v,
52
55
  children: [
53
56
  l ? /* @__PURE__ */ r("span", {
54
57
  "data-slot": "button-spinner",
@@ -60,9 +63,9 @@ function o({ className: n, variant: o = "default", size: s = "default", disabled
60
63
  className: "inline-flex shrink-0 items-center justify-center",
61
64
  children: d
62
65
  }) : null,
63
- h ? /* @__PURE__ */ r("span", {
66
+ g ? /* @__PURE__ */ r("span", {
64
67
  "data-slot": "button-label",
65
- children: l ? u : h
68
+ children: l ? u : g
66
69
  }) : null,
67
70
  !l && f ? /* @__PURE__ */ r("span", {
68
71
  "data-icon": "inline-end",
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs"),n=require("../button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime"),o=require("@base-ui/react/dialog");function s({...e}){return(0,a.jsx)(o.Dialog.Root,{"data-slot":`dialog`,...e})}function c({...e}){return(0,a.jsx)(o.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return(0,a.jsx)(o.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...n}){return(0,a.jsx)(o.Dialog.Backdrop,{"data-slot":`dialog-overlay`,className:t.cn(`fixed inset-0 isolate z-50 bg-[color-mix(in_oklch,var(--foreground),transparent_80%)] duration-100 supports-backdrop-filter:backdrop-blur-md data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...n})}function f({className:e,children:r,showCloseButton:s=!0,size:c=`md`,surface:u=`default`,...f}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(d,{}),(0,a.jsxs)(o.Dialog.Popup,{"data-slot":`dialog-content`,"data-size":c,"data-surface":u,role:`dialog`,className:t.cn(`fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 overflow-hidden rounded-[var(--radius-3xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-6 text-sm text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_24px_70px_rgba(15,23,42,0.22))] backdrop-blur duration-100 outline-none data-[surface=plain]:overflow-visible data-[surface=plain]:border-transparent data-[surface=plain]:bg-transparent data-[surface=plain]:p-0 data-[surface=plain]:shadow-none data-[size=xs]:sm:max-w-sm data-[size=sm]:sm:max-w-md data-[size=md]:sm:max-w-lg data-[size=lg]:sm:max-w-2xl data-[size=xl]:sm:max-w-4xl data-[size=full]:h-[min(92vh,56rem)] data-[size=full]:max-w-[min(96vw,84rem)] data-[size=full]:grid-rows-[auto_minmax(0,1fr)] data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...f,children:[r,s&&(0,a.jsxs)(o.Dialog.Close,{"data-slot":`dialog-close`,render:(0,a.jsx)(n.Button,{variant:`ghost`,className:`absolute top-3 right-3 rounded-full border border-transparent hover:border-border/50 hover:bg-muted/50`,size:`icon-sm`}),children:[(0,a.jsx)(i.XIcon,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function p({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`dialog-header`,className:t.cn(`flex flex-col gap-2.5`,e),...n})}function m({className:e,showCloseButton:r=!1,children:i,...s}){return(0,a.jsxs)(`div`,{"data-slot":`dialog-footer`,className:t.cn(`-mx-6 -mb-6 flex flex-col-reverse gap-2 border-t border-border/70 bg-muted/20 p-5 sm:flex-row sm:justify-end`,e),...s,children:[i,r&&(0,a.jsx)(o.Dialog.Close,{render:(0,a.jsx)(n.Button,{variant:`outline`}),children:`Close`})]})}function h({className:e,...n}){return(0,a.jsx)(o.Dialog.Title,{"data-slot":`dialog-title`,className:t.cn(`font-heading text-xl leading-tight font-semibold tracking-tight`,e),...n})}function g({className:e,...n}){return(0,a.jsx)(o.Dialog.Description,{"data-slot":`dialog-description`,className:t.cn(`text-sm leading-6 text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...n})}exports.Dialog=s,exports.DialogClose=u,exports.DialogContent=f,exports.DialogDescription=g,exports.DialogFooter=m,exports.DialogHeader=p,exports.DialogOverlay=d,exports.DialogPortal=l,exports.DialogTitle=h,exports.DialogTrigger=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs"),n=require("../button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime"),o=require("@base-ui/react/dialog");function s({...e}){return(0,a.jsx)(o.Dialog.Root,{"data-slot":`dialog`,...e})}function c({...e}){return(0,a.jsx)(o.Dialog.Trigger,{"data-slot":`dialog-trigger`,...e})}function l({...e}){return(0,a.jsx)(o.Dialog.Portal,{"data-slot":`dialog-portal`,...e})}function u({...e}){return(0,a.jsx)(o.Dialog.Close,{"data-slot":`dialog-close`,...e})}function d({className:e,...n}){return(0,a.jsx)(o.Dialog.Backdrop,{"data-slot":`dialog-overlay`,className:t.cn(`fixed inset-0 isolate z-50 bg-[color-mix(in_oklch,var(--foreground),transparent_80%)] duration-100 supports-backdrop-filter:backdrop-blur-md data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0`,e),...n})}function f({className:e,children:r,showCloseButton:s=!0,size:c=`md`,surface:u=`default`,...f}){return(0,a.jsxs)(l,{children:[(0,a.jsx)(d,{}),(0,a.jsxs)(o.Dialog.Popup,{"data-slot":`dialog-content`,"data-size":c,"data-surface":u,role:`dialog`,"aria-modal":`true`,className:t.cn(`fixed top-1/2 left-1/2 z-50 grid max-h-[min(92vh,calc(100dvh-2rem))] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 overflow-y-auto overscroll-contain rounded-[var(--radius-3xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-6 text-sm text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_24px_70px_rgba(15,23,42,0.22))] backdrop-blur duration-100 outline-none data-[surface=plain]:overflow-visible data-[surface=plain]:border-transparent data-[surface=plain]:bg-transparent data-[surface=plain]:p-0 data-[surface=plain]:shadow-none data-[size=xs]:sm:max-w-sm data-[size=sm]:sm:max-w-md data-[size=md]:sm:max-w-lg data-[size=lg]:sm:max-w-2xl data-[size=xl]:sm:max-w-4xl data-[size=full]:h-[min(92vh,56rem)] data-[size=full]:max-w-[min(96vw,84rem)] data-[size=full]:grid-rows-[auto_minmax(0,1fr)] data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...f,children:[r,s&&(0,a.jsxs)(o.Dialog.Close,{"data-slot":`dialog-close`,render:(0,a.jsx)(n.Button,{variant:`ghost`,className:`absolute top-3 right-3 rounded-full border border-transparent hover:border-border/50 hover:bg-muted/50`,size:`icon-sm`}),children:[(0,a.jsx)(i.XIcon,{}),(0,a.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function p({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`dialog-header`,className:t.cn(`flex flex-col gap-2.5`,e),...n})}function m({className:e,showCloseButton:r=!1,children:i,...s}){return(0,a.jsxs)(`div`,{"data-slot":`dialog-footer`,className:t.cn(`-mx-6 -mb-6 flex flex-col-reverse gap-2 border-t border-border/70 bg-muted/20 p-5 sm:flex-row sm:justify-end`,e),...s,children:[i,r&&(0,a.jsx)(o.Dialog.Close,{render:(0,a.jsx)(n.Button,{variant:`outline`}),children:`Close`})]})}function h({className:e,...n}){return(0,a.jsx)(o.Dialog.Title,{"data-slot":`dialog-title`,className:t.cn(`font-heading text-xl leading-tight font-semibold tracking-tight`,e),...n})}function g({className:e,...n}){return(0,a.jsx)(o.Dialog.Description,{"data-slot":`dialog-description`,className:t.cn(`text-sm leading-6 text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground`,e),...n})}exports.Dialog=s,exports.DialogClose=u,exports.DialogContent=f,exports.DialogDescription=g,exports.DialogFooter=m,exports.DialogHeader=p,exports.DialogOverlay=d,exports.DialogPortal=l,exports.DialogTitle=h,exports.DialogTrigger=c;
@@ -42,7 +42,8 @@ function d({ className: o, children: s, showCloseButton: l = !0, size: d = "md",
42
42
  "data-size": d,
43
43
  "data-surface": f,
44
44
  role: "dialog",
45
- className: e("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 overflow-hidden rounded-[var(--radius-3xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-6 text-sm text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_24px_70px_rgba(15,23,42,0.22))] backdrop-blur duration-100 outline-none data-[surface=plain]:overflow-visible data-[surface=plain]:border-transparent data-[surface=plain]:bg-transparent data-[surface=plain]:p-0 data-[surface=plain]:shadow-none data-[size=xs]:sm:max-w-sm data-[size=sm]:sm:max-w-md data-[size=md]:sm:max-w-lg data-[size=lg]:sm:max-w-2xl data-[size=xl]:sm:max-w-4xl data-[size=full]:h-[min(92vh,56rem)] data-[size=full]:max-w-[min(96vw,84rem)] data-[size=full]:grid-rows-[auto_minmax(0,1fr)] data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", o),
45
+ "aria-modal": "true",
46
+ className: e("fixed top-1/2 left-1/2 z-50 grid max-h-[min(92vh,calc(100dvh-2rem))] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-5 overflow-y-auto overscroll-contain rounded-[var(--radius-3xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-6 text-sm text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_24px_70px_rgba(15,23,42,0.22))] backdrop-blur duration-100 outline-none data-[surface=plain]:overflow-visible data-[surface=plain]:border-transparent data-[surface=plain]:bg-transparent data-[surface=plain]:p-0 data-[surface=plain]:shadow-none data-[size=xs]:sm:max-w-sm data-[size=sm]:sm:max-w-md data-[size=md]:sm:max-w-lg data-[size=lg]:sm:max-w-2xl data-[size=xl]:sm:max-w-4xl data-[size=full]:h-[min(92vh,56rem)] data-[size=full]:max-w-[min(96vw,84rem)] data-[size=full]:grid-rows-[auto_minmax(0,1fr)] data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", o),
46
47
  ...p,
47
48
  children: [s, l && /* @__PURE__ */ i(a.Close, {
48
49
  "data-slot": "dialog-close",
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i={top:`bottom-full left-1/2 mb-2.5 -translate-x-1/2`,right:`left-full top-1/2 ml-2.5 -translate-y-1/2`,bottom:`left-1/2 top-full mt-2.5 -translate-x-1/2`,left:`right-full top-1/2 mr-2.5 -translate-y-1/2`};function a({trigger:e,content:n,side:a=`bottom`,contentClassName:o,className:s,children:c,...l}){return(0,r.jsxs)(`div`,{"data-slot":`hover-card`,className:t.cn(`group/hover-card relative inline-flex`,s),...l,children:[(0,r.jsx)(`span`,{"data-slot":`hover-card-trigger`,className:`inline-flex`,children:e}),(0,r.jsx)(`div`,{"data-slot":`hover-card-content`,className:t.cn(`pointer-events-none absolute z-50 min-w-60 rounded-[var(--radius-2xl)] border border-border/80 bg-popover/98 p-4 text-sm text-popover-foreground opacity-0 shadow-[0_18px_42px_color-mix(in_oklch,var(--foreground),transparent_86%)] ring-1 ring-foreground/8 backdrop-blur transition duration-150 group-hover/hover-card:pointer-events-auto group-hover/hover-card:opacity-100 group-focus-within/hover-card:pointer-events-auto group-focus-within/hover-card:opacity-100`,i[a],o),children:n}),c]})}exports.HoverCard=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/preview-card");function a({trigger:e,content:n,side:a=`bottom`,align:o=`center`,sideOffset:s=10,alignOffset:c=0,collisionPadding:l=12,delay:u=450,closeDelay:d=180,disabled:f=!1,contentClassName:p,className:m,...h}){return f?(0,r.jsx)(`span`,{"data-slot":`hover-card`,className:t.cn(`inline-flex`,m),...h,children:e}):(0,r.jsxs)(i.PreviewCard.Root,{children:[(0,r.jsx)(i.PreviewCard.Trigger,{"data-slot":`hover-card-trigger`,delay:u,closeDelay:d,render:(0,r.jsx)(`span`,{"data-slot":`hover-card`,className:t.cn(`inline-flex`,m),...h}),children:e}),(0,r.jsx)(i.PreviewCard.Portal,{children:(0,r.jsx)(i.PreviewCard.Positioner,{className:`isolate z-50`,side:a,align:o,sideOffset:s,alignOffset:c,collisionPadding:l,children:(0,r.jsx)(i.PreviewCard.Popup,{"data-slot":`hover-card-content`,className:t.cn(`z-50 min-w-60 max-w-[min(24rem,calc(100vw-1rem))] origin-(--transform-origin) rounded-[var(--aui-card-radius,var(--radius-xl))] border border-border/80 bg-popover/98 p-4 text-sm text-popover-foreground shadow-[0_18px_42px_color-mix(in_oklch,var(--foreground),transparent_86%)] ring-1 ring-foreground/8 outline-hidden backdrop-blur duration-150 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,p),children:n})})})]})}exports.HoverCard=a;
@@ -1,9 +1,17 @@
1
1
  import * as React from "react";
2
- export type HoverCardProps = Omit<React.ComponentProps<"div">, "content"> & {
2
+ import { PreviewCard as PreviewCardPrimitive } from "@base-ui/react/preview-card";
3
+ export type HoverCardProps = Omit<PreviewCardPrimitive.Root.Props, "children"> & Omit<React.ComponentProps<"span">, "content" | "children"> & {
3
4
  trigger: React.ReactNode;
4
5
  content: React.ReactNode;
5
- side?: "top" | "right" | "bottom" | "left";
6
+ side?: PreviewCardPrimitive.Positioner.Props["side"];
7
+ align?: PreviewCardPrimitive.Positioner.Props["align"];
8
+ sideOffset?: PreviewCardPrimitive.Positioner.Props["sideOffset"];
9
+ alignOffset?: PreviewCardPrimitive.Positioner.Props["alignOffset"];
10
+ collisionPadding?: PreviewCardPrimitive.Positioner.Props["collisionPadding"];
11
+ delay?: PreviewCardPrimitive.Trigger.Props["delay"];
12
+ closeDelay?: PreviewCardPrimitive.Trigger.Props["closeDelay"];
13
+ disabled?: boolean;
6
14
  contentClassName?: string;
7
15
  };
8
- declare function HoverCard({ trigger, content, side, contentClassName, className, children, ...props }: HoverCardProps): React.JSX.Element;
16
+ declare function HoverCard({ trigger, content, side, align, sideOffset, alignOffset, collisionPadding, delay, closeDelay, disabled, contentClassName, className, ...props }: HoverCardProps): React.JSX.Element;
9
17
  export { HoverCard };
@@ -1,32 +1,37 @@
1
1
  import { cn as e } from "../../lib/utils.js";
2
2
  import "react";
3
3
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ import { PreviewCard as r } from "@base-ui/react/preview-card";
4
5
  //#region src/components/ui/hover-card.tsx
5
- var r = {
6
- top: "bottom-full left-1/2 mb-2.5 -translate-x-1/2",
7
- right: "left-full top-1/2 ml-2.5 -translate-y-1/2",
8
- bottom: "left-1/2 top-full mt-2.5 -translate-x-1/2",
9
- left: "right-full top-1/2 mr-2.5 -translate-y-1/2"
10
- };
11
- function i({ trigger: i, content: a, side: o = "bottom", contentClassName: s, className: c, children: l, ...u }) {
12
- return /* @__PURE__ */ n("div", {
6
+ function i({ trigger: i, content: a, side: o = "bottom", align: s = "center", sideOffset: c = 10, alignOffset: l = 0, collisionPadding: u = 12, delay: d = 450, closeDelay: f = 180, disabled: p = !1, contentClassName: m, className: h, ...g }) {
7
+ return p ? /* @__PURE__ */ t("span", {
13
8
  "data-slot": "hover-card",
14
- className: e("group/hover-card relative inline-flex", c),
15
- ...u,
16
- children: [
17
- /* @__PURE__ */ t("span", {
18
- "data-slot": "hover-card-trigger",
19
- className: "inline-flex",
20
- children: i
21
- }),
22
- /* @__PURE__ */ t("div", {
23
- "data-slot": "hover-card-content",
24
- className: e("pointer-events-none absolute z-50 min-w-60 rounded-[var(--radius-2xl)] border border-border/80 bg-popover/98 p-4 text-sm text-popover-foreground opacity-0 shadow-[0_18px_42px_color-mix(in_oklch,var(--foreground),transparent_86%)] ring-1 ring-foreground/8 backdrop-blur transition duration-150 group-hover/hover-card:pointer-events-auto group-hover/hover-card:opacity-100 group-focus-within/hover-card:pointer-events-auto group-focus-within/hover-card:opacity-100", r[o], s),
25
- children: a
26
- }),
27
- l
28
- ]
29
- });
9
+ className: e("inline-flex", h),
10
+ ...g,
11
+ children: i
12
+ }) : /* @__PURE__ */ n(r.Root, { children: [/* @__PURE__ */ t(r.Trigger, {
13
+ "data-slot": "hover-card-trigger",
14
+ delay: d,
15
+ closeDelay: f,
16
+ render: /* @__PURE__ */ t("span", {
17
+ "data-slot": "hover-card",
18
+ className: e("inline-flex", h),
19
+ ...g
20
+ }),
21
+ children: i
22
+ }), /* @__PURE__ */ t(r.Portal, { children: /* @__PURE__ */ t(r.Positioner, {
23
+ className: "isolate z-50",
24
+ side: o,
25
+ align: s,
26
+ sideOffset: c,
27
+ alignOffset: l,
28
+ collisionPadding: u,
29
+ children: /* @__PURE__ */ t(r.Popup, {
30
+ "data-slot": "hover-card-content",
31
+ className: e("z-50 min-w-60 max-w-[min(24rem,calc(100vw-1rem))] origin-(--transform-origin) rounded-[var(--aui-card-radius,var(--radius-xl))] border border-border/80 bg-popover/98 p-4 text-sm text-popover-foreground shadow-[0_18px_42px_color-mix(in_oklch,var(--foreground),transparent_86%)] ring-1 ring-foreground/8 outline-hidden backdrop-blur duration-150 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", m),
32
+ children: a
33
+ })
34
+ }) })] });
30
35
  }
31
36
  //#endregion
32
37
  export { i as HoverCard };
@@ -79,5 +79,5 @@ export type InputDateRangeProps = Omit<DateRangeInputProps, "onChange" | "onValu
79
79
  value?: DateRangeInputProps["value"];
80
80
  };
81
81
  export type InputProps = InputTextProps | InputClearableProps | InputSearchProps | InputPasswordProps | InputNumberProps | InputPhoneProps | InputMoneyProps | InputQuantityProps | InputMaskedProps | InputDateProps | InputDateRangeProps;
82
- declare const Input: React.ForwardRefExoticComponent<(Omit<InputTextProps, "ref"> | Omit<InputClearableProps, "ref"> | Omit<InputSearchProps, "ref"> | Omit<InputPasswordProps, "ref"> | Omit<InputNumberProps, "ref"> | Omit<InputPhoneProps, "ref"> | Omit<InputMoneyProps, "ref"> | Omit<InputQuantityProps, "ref"> | Omit<InputMaskedProps, "ref"> | Omit<InputDateProps, "ref"> | Omit<InputDateRangeProps, "ref">) & React.RefAttributes<HTMLInputElement | HTMLDivElement>>;
82
+ declare const Input: React.ForwardRefExoticComponent<(Omit<InputTextProps, "ref"> | Omit<InputClearableProps, "ref"> | Omit<InputSearchProps, "ref"> | Omit<InputPasswordProps, "ref"> | Omit<InputNumberProps, "ref"> | Omit<InputPhoneProps, "ref"> | Omit<InputMoneyProps, "ref"> | Omit<InputQuantityProps, "ref"> | Omit<InputMaskedProps, "ref"> | Omit<InputDateProps, "ref"> | Omit<InputDateRangeProps, "ref">) & React.RefAttributes<HTMLDivElement | HTMLInputElement>>;
83
83
  export { Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, };
@@ -1 +1 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/popover");function a({...e}){return(0,r.jsx)(i.Popover.Root,{"data-slot":`popover`,...e})}function o({...e}){return(0,r.jsx)(i.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function s({className:e,align:n=`center`,alignOffset:a=0,side:o=`bottom`,sideOffset:s=4,...c}){return(0,r.jsx)(i.Popover.Portal,{children:(0,r.jsx)(i.Popover.Positioner,{align:n,alignOffset:a,side:o,sideOffset:s,className:`isolate z-50`,children:(0,r.jsx)(i.Popover.Popup,{"data-slot":`popover-content`,className:t.cn(`z-50 flex w-80 origin-(--transform-origin) flex-col gap-3 rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-4 text-sm text-popover-foreground shadow-[var(--aui-popover-shadow,0_18px_42px_rgba(15,23,42,0.16))] outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...c})})})}function c({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`popover-header`,className:t.cn(`flex flex-col gap-1 text-sm`,e),...n})}function l({className:e,...n}){return(0,r.jsx)(i.Popover.Title,{"data-slot":`popover-title`,className:t.cn(`text-base font-semibold tracking-tight`,e),...n})}function u({className:e,...n}){return(0,r.jsx)(i.Popover.Description,{"data-slot":`popover-description`,className:t.cn(`leading-6 text-muted-foreground`,e),...n})}exports.Popover=a,exports.PopoverContent=s,exports.PopoverDescription=u,exports.PopoverHeader=c,exports.PopoverTitle=l,exports.PopoverTrigger=o;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime"),i=require("@base-ui/react/popover");function a({...e}){return(0,r.jsx)(i.Popover.Root,{"data-slot":`popover`,...e})}function o({...e}){return(0,r.jsx)(i.Popover.Trigger,{"data-slot":`popover-trigger`,...e})}function s({className:e,align:n=`center`,alignOffset:a=0,collisionPadding:o=12,side:s=`bottom`,sideOffset:c=4,...l}){return(0,r.jsx)(i.Popover.Portal,{children:(0,r.jsx)(i.Popover.Positioner,{align:n,alignOffset:a,collisionPadding:o,side:s,sideOffset:c,className:`isolate z-50`,children:(0,r.jsx)(i.Popover.Popup,{"data-slot":`popover-content`,className:t.cn(`z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-4 text-sm text-popover-foreground shadow-[var(--aui-popover-shadow,0_18px_42px_rgba(15,23,42,0.16))] outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,e),...l})})})}function c({className:e,...n}){return(0,r.jsx)(`div`,{"data-slot":`popover-header`,className:t.cn(`flex flex-col gap-1 text-sm`,e),...n})}function l({className:e,...n}){return(0,r.jsx)(i.Popover.Title,{"data-slot":`popover-title`,className:t.cn(`text-base font-semibold tracking-tight`,e),...n})}function u({className:e,...n}){return(0,r.jsx)(i.Popover.Description,{"data-slot":`popover-description`,className:t.cn(`leading-6 text-muted-foreground`,e),...n})}exports.Popover=a,exports.PopoverContent=s,exports.PopoverDescription=u,exports.PopoverHeader=c,exports.PopoverTitle=l,exports.PopoverTrigger=o;
@@ -2,13 +2,13 @@ import * as React from "react";
2
2
  import { Popover as PopoverPrimitive } from "@base-ui/react/popover";
3
3
  export type PopoverRootProps = PopoverPrimitive.Root.Props;
4
4
  export type PopoverTriggerProps = PopoverPrimitive.Trigger.Props;
5
- export type PopoverContentProps = PopoverPrimitive.Popup.Props & Pick<PopoverPrimitive.Positioner.Props, "align" | "alignOffset" | "side" | "sideOffset">;
5
+ export type PopoverContentProps = PopoverPrimitive.Popup.Props & Pick<PopoverPrimitive.Positioner.Props, "align" | "alignOffset" | "collisionBoundary" | "collisionPadding" | "side" | "sideOffset">;
6
6
  export type PopoverHeaderProps = React.ComponentProps<"div">;
7
7
  export type PopoverTitleProps = PopoverPrimitive.Title.Props;
8
8
  export type PopoverDescriptionProps = PopoverPrimitive.Description.Props;
9
9
  declare function Popover({ ...props }: PopoverPrimitive.Root.Props): React.JSX.Element;
10
10
  declare function PopoverTrigger({ ...props }: PopoverTriggerProps): React.JSX.Element;
11
- declare function PopoverContent({ className, align, alignOffset, side, sideOffset, ...props }: PopoverContentProps): React.JSX.Element;
11
+ declare function PopoverContent({ className, align, alignOffset, collisionPadding, side, sideOffset, ...props }: PopoverContentProps): React.JSX.Element;
12
12
  declare function PopoverHeader({ className, ...props }: PopoverHeaderProps): React.JSX.Element;
13
13
  declare function PopoverTitle({ className, ...props }: PopoverTitleProps): React.JSX.Element;
14
14
  declare function PopoverDescription({ className, ...props }: PopoverDescriptionProps): React.JSX.Element;
@@ -16,17 +16,18 @@ function i({ ...e }) {
16
16
  ...e
17
17
  });
18
18
  }
19
- function a({ className: r, align: i = "center", alignOffset: a = 0, side: o = "bottom", sideOffset: s = 4, ...c }) {
19
+ function a({ className: r, align: i = "center", alignOffset: a = 0, collisionPadding: o = 12, side: s = "bottom", sideOffset: c = 4, ...l }) {
20
20
  return /* @__PURE__ */ t(n.Portal, { children: /* @__PURE__ */ t(n.Positioner, {
21
21
  align: i,
22
22
  alignOffset: a,
23
- side: o,
24
- sideOffset: s,
23
+ collisionPadding: o,
24
+ side: s,
25
+ sideOffset: c,
25
26
  className: "isolate z-50",
26
27
  children: /* @__PURE__ */ t(n.Popup, {
27
28
  "data-slot": "popover-content",
28
- className: e("z-50 flex w-80 origin-(--transform-origin) flex-col gap-3 rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-4 text-sm text-popover-foreground shadow-[var(--aui-popover-shadow,0_18px_42px_rgba(15,23,42,0.16))] outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", r),
29
- ...c
29
+ className: e("z-50 flex max-h-[min(var(--available-height),calc(100dvh-1rem))] w-[min(var(--anchor-width),20rem)] min-w-60 max-w-[calc(100vw-1rem)] origin-(--transform-origin) flex-col gap-3 overflow-y-auto rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-4 text-sm text-popover-foreground shadow-[var(--aui-popover-shadow,0_18px_42px_rgba(15,23,42,0.16))] outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-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 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", r),
30
+ ...l
30
31
  })
31
32
  }) });
32
33
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i={sm:`size-3.5`,default:`size-4`,lg:`size-5`};function a({name:e,value:a,defaultValue:o,onValueChange:s,options:c,orientation:l=`vertical`,size:u=`default`,className:d,itemClassName:f,...p}){let m=n.useId(),h=e??m,[g,_]=n.useState(o??``),v=a!==void 0,y=v?a:g,b=e=>{v||_(e),s?.(e)};return(0,r.jsx)(`div`,{role:`radiogroup`,"data-slot":`radio-group`,"data-orientation":l,className:t.cn(`grid gap-2`,l===`horizontal`&&`sm:flex sm:flex-wrap sm:items-center`,d),...p,children:c.map(e=>{let n=e.value===y;return(0,r.jsxs)(`label`,{"data-slot":`radio-group-item`,"data-checked":n||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`group flex cursor-pointer items-start gap-3 rounded-[min(var(--radius-xl),16px)] border border-border/80 bg-background/88 px-3 py-2.5 text-sm transition hover:border-ring/35 hover:bg-accent/60 data-[checked=true]:border-primary/35 data-[checked=true]:bg-primary/8 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-55`,f),children:[(0,r.jsx)(`input`,{type:`radio`,name:h,value:e.value,checked:n,disabled:e.disabled,className:`sr-only`,onChange:()=>b(e.value)}),(0,r.jsx)(`span`,{"aria-hidden":`true`,className:t.cn(`mt-0.5 inline-flex shrink-0 items-center justify-center rounded-full border border-input bg-background shadow-sm transition group-data-[checked=true]:border-primary group-data-[checked=true]:bg-primary`,i[u]),children:(0,r.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary-foreground opacity-0 transition group-data-[checked=true]:opacity-100`})}),(0,r.jsxs)(`span`,{className:`min-w-0`,children:[(0,r.jsx)(`span`,{className:`block font-medium text-foreground`,children:e.label}),e.description?(0,r.jsx)(`span`,{className:`mt-1 block text-sm leading-6 text-muted-foreground`,children:e.description}):null]})]},e.value)})})}exports.RadioGroup=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");var i={sm:`size-3.5`,default:`size-4`,lg:`size-5`};function a({name:e,value:a,defaultValue:o,onValueChange:s,options:c,orientation:l=`vertical`,size:u=`default`,invalid:d=!1,disabled:f=!1,className:p,itemClassName:m,itemLabelClassName:h,itemDescriptionClassName:g,..._}){let v=n.useId(),y=e??v,[b,x]=n.useState(o??``),S=a!==void 0,C=S?a:b,w=n.useRef([]),T=c.filter(e=>!e.disabled&&!f),E=e=>{S||x(e),s?.(e)},D=e=>{let t=T[e];if(!t)return;let n=c.findIndex(e=>e.value===t.value);w.current[n]?.focus(),E(t.value)};return(0,r.jsx)(`div`,{role:`radiogroup`,"aria-invalid":d||void 0,"aria-disabled":f||void 0,"data-slot":`radio-group`,"data-orientation":l,"data-invalid":d||void 0,className:t.cn(`grid gap-2`,l===`horizontal`&&`sm:flex sm:flex-wrap sm:items-center`,p),onKeyDown:e=>{if(![`ArrowDown`,`ArrowRight`,`ArrowUp`,`ArrowLeft`,`Home`,`End`].includes(e.key)||T.length===0)return;e.preventDefault();let t=Math.max(0,T.findIndex(e=>e.value===C));if(e.key===`Home`){D(0);return}if(e.key===`End`){D(T.length-1);return}D((t+(e.key===`ArrowDown`||e.key===`ArrowRight`?1:-1)+T.length)%T.length)},..._,children:c.map((e,n)=>{let a=e.value===C,o=f||e.disabled;return(0,r.jsxs)(`label`,{"data-slot":`radio-group-item`,"data-checked":a||void 0,"data-disabled":o||void 0,"data-invalid":d||void 0,className:t.cn(`group flex cursor-pointer items-start gap-3 rounded-[min(var(--radius-xl),16px)] border border-border/80 bg-background/88 px-3 py-2.5 text-sm transition hover:border-ring/35 hover:bg-accent/60 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/30 data-[checked=true]:border-primary/35 data-[checked=true]:bg-primary/8 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-55 data-[invalid=true]:border-destructive/70 data-[invalid=true]:ring-3 data-[invalid=true]:ring-destructive/15`,m),children:[(0,r.jsx)(`input`,{ref:e=>{w.current[n]=e},type:`radio`,name:y,value:e.value,checked:a,disabled:o,"aria-invalid":d||void 0,className:`sr-only`,onChange:()=>E(e.value)}),(0,r.jsx)(`span`,{"aria-hidden":`true`,className:t.cn(`mt-0.5 inline-flex shrink-0 items-center justify-center rounded-full border border-input bg-background shadow-sm transition group-data-[checked=true]:border-primary group-data-[checked=true]:bg-primary`,i[u]),children:(0,r.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary-foreground opacity-0 transition group-data-[checked=true]:opacity-100`})}),(0,r.jsxs)(`span`,{className:`min-w-0`,children:[(0,r.jsx)(`span`,{className:t.cn(`block font-medium text-foreground`,h),children:e.label}),e.description?(0,r.jsx)(`span`,{className:t.cn(`mt-1 block text-sm leading-6 text-muted-foreground`,g),children:e.description}):null]})]},e.value)})})}exports.RadioGroup=a;
@@ -13,7 +13,11 @@ export type RadioGroupProps = Omit<React.ComponentProps<"div">, "onChange"> & {
13
13
  options: RadioGroupOption[];
14
14
  orientation?: "vertical" | "horizontal";
15
15
  size?: "sm" | "default" | "lg";
16
+ invalid?: boolean;
17
+ disabled?: boolean;
16
18
  itemClassName?: string;
19
+ itemLabelClassName?: string;
20
+ itemDescriptionClassName?: string;
17
21
  };
18
- declare function RadioGroup({ name, value, defaultValue, onValueChange, options, orientation, size, className, itemClassName, ...props }: RadioGroupProps): React.JSX.Element;
22
+ declare function RadioGroup({ name, value, defaultValue, onValueChange, options, orientation, size, invalid, disabled, className, itemClassName, itemLabelClassName, itemDescriptionClassName, ...props }: RadioGroupProps): React.JSX.Element;
19
23
  export { RadioGroup };
@@ -7,32 +7,66 @@ var i = {
7
7
  default: "size-4",
8
8
  lg: "size-5"
9
9
  };
10
- function a({ name: a, value: o, defaultValue: s, onValueChange: c, options: l, orientation: u = "vertical", size: d = "default", className: f, itemClassName: p, ...m }) {
11
- let h = t.useId(), g = a ?? h, [_, v] = t.useState(s ?? ""), y = o !== void 0, b = y ? o : _, x = (e) => {
12
- y || v(e), c?.(e);
10
+ function a({ name: a, value: o, defaultValue: s, onValueChange: c, options: l, orientation: u = "vertical", size: d = "default", invalid: f = !1, disabled: p = !1, className: m, itemClassName: h, itemLabelClassName: g, itemDescriptionClassName: _, ...v }) {
11
+ let y = t.useId(), b = a ?? y, [x, S] = t.useState(s ?? ""), C = o !== void 0, w = C ? o : x, T = t.useRef([]), E = l.filter((e) => !e.disabled && !p), D = (e) => {
12
+ C || S(e), c?.(e);
13
+ }, O = (e) => {
14
+ let t = E[e];
15
+ if (!t) return;
16
+ let n = l.findIndex((e) => e.value === t.value);
17
+ T.current[n]?.focus(), D(t.value);
13
18
  };
14
19
  return /* @__PURE__ */ n("div", {
15
20
  role: "radiogroup",
21
+ "aria-invalid": f || void 0,
22
+ "aria-disabled": p || void 0,
16
23
  "data-slot": "radio-group",
17
24
  "data-orientation": u,
18
- className: e("grid gap-2", u === "horizontal" && "sm:flex sm:flex-wrap sm:items-center", f),
19
- ...m,
20
- children: l.map((t) => {
21
- let a = t.value === b;
25
+ "data-invalid": f || void 0,
26
+ className: e("grid gap-2", u === "horizontal" && "sm:flex sm:flex-wrap sm:items-center", m),
27
+ onKeyDown: (e) => {
28
+ if (![
29
+ "ArrowDown",
30
+ "ArrowRight",
31
+ "ArrowUp",
32
+ "ArrowLeft",
33
+ "Home",
34
+ "End"
35
+ ].includes(e.key) || E.length === 0) return;
36
+ e.preventDefault();
37
+ let t = Math.max(0, E.findIndex((e) => e.value === w));
38
+ if (e.key === "Home") {
39
+ O(0);
40
+ return;
41
+ }
42
+ if (e.key === "End") {
43
+ O(E.length - 1);
44
+ return;
45
+ }
46
+ O((t + (e.key === "ArrowDown" || e.key === "ArrowRight" ? 1 : -1) + E.length) % E.length);
47
+ },
48
+ ...v,
49
+ children: l.map((t, a) => {
50
+ let o = t.value === w, s = p || t.disabled;
22
51
  return /* @__PURE__ */ r("label", {
23
52
  "data-slot": "radio-group-item",
24
- "data-checked": a || void 0,
25
- "data-disabled": t.disabled || void 0,
26
- className: e("group flex cursor-pointer items-start gap-3 rounded-[min(var(--radius-xl),16px)] border border-border/80 bg-background/88 px-3 py-2.5 text-sm transition hover:border-ring/35 hover:bg-accent/60 data-[checked=true]:border-primary/35 data-[checked=true]:bg-primary/8 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-55", p),
53
+ "data-checked": o || void 0,
54
+ "data-disabled": s || void 0,
55
+ "data-invalid": f || void 0,
56
+ className: e("group flex cursor-pointer items-start gap-3 rounded-[min(var(--radius-xl),16px)] border border-border/80 bg-background/88 px-3 py-2.5 text-sm transition hover:border-ring/35 hover:bg-accent/60 focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/30 data-[checked=true]:border-primary/35 data-[checked=true]:bg-primary/8 data-[disabled=true]:cursor-not-allowed data-[disabled=true]:opacity-55 data-[invalid=true]:border-destructive/70 data-[invalid=true]:ring-3 data-[invalid=true]:ring-destructive/15", h),
27
57
  children: [
28
58
  /* @__PURE__ */ n("input", {
59
+ ref: (e) => {
60
+ T.current[a] = e;
61
+ },
29
62
  type: "radio",
30
- name: g,
63
+ name: b,
31
64
  value: t.value,
32
- checked: a,
33
- disabled: t.disabled,
65
+ checked: o,
66
+ disabled: s,
67
+ "aria-invalid": f || void 0,
34
68
  className: "sr-only",
35
- onChange: () => x(t.value)
69
+ onChange: () => D(t.value)
36
70
  }),
37
71
  /* @__PURE__ */ n("span", {
38
72
  "aria-hidden": "true",
@@ -42,10 +76,10 @@ function a({ name: a, value: o, defaultValue: s, onValueChange: c, options: l, o
42
76
  /* @__PURE__ */ r("span", {
43
77
  className: "min-w-0",
44
78
  children: [/* @__PURE__ */ n("span", {
45
- className: "block font-medium text-foreground",
79
+ className: e("block font-medium text-foreground", g),
46
80
  children: t.label
47
81
  }), t.description ? /* @__PURE__ */ n("span", {
48
- className: "mt-1 block text-sm leading-6 text-muted-foreground",
82
+ className: e("mt-1 block text-sm leading-6 text-muted-foreground", _),
49
83
  children: t.description
50
84
  }) : null]
51
85
  })
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i({items:e,children:i,className:a,...o}){let[s,c]=n.useState(!1),[l,u]=n.useState({x:0,y:0});return n.useEffect(()=>{if(!s)return;let e=()=>c(!1);return window.addEventListener(`click`,e),()=>window.removeEventListener(`click`,e)},[s]),(0,r.jsxs)(`div`,{"data-slot":`right-click-menu`,className:t.cn(`contents`,a),onContextMenu:e=>{e.preventDefault(),u({x:e.clientX,y:e.clientY}),c(!0)},...o,children:[i,s?(0,r.jsx)(`div`,{className:`fixed z-50 min-w-40 rounded-xl border border-border bg-popover p-1.5 text-sm text-popover-foreground shadow-xl`,style:{left:l.x,top:l.y},children:e.map((e,t)=>(0,r.jsx)(`button`,{type:`button`,disabled:e.disabled,className:`block w-full rounded-lg px-3 py-2 text-left hover:bg-accent disabled:pointer-events-none disabled:opacity-50`,onClick:()=>{e.onSelect?.(),c(!1)},children:e.label},t))}):null]})}exports.RightClickMenu=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("react/jsx-runtime");function i(e,t,n=224,r){return typeof window>`u`?{x:e,y:t}:{x:Math.min(Math.max(8,e),Math.max(8,window.innerWidth-n-8)),y:Math.min(Math.max(8,t),Math.max(8,window.innerHeight-r-8))}}function a({items:e,children:a,className:o,label:s=`Context menu`,...c}){let[l,u]=n.useState(!1),[d,f]=n.useState({x:0,y:0}),[p,m]=n.useState(0),h=n.useRef(null),g=n.useRef([]),_=n.useMemo(()=>e.map((e,t)=>({item:e,index:t})).filter(({item:e})=>!e.disabled),[e]),v=n.useCallback((t,n)=>{f(i(t,n,224,Math.max(44,e.length*42+12))),m(_[0]?.index??0),u(!0)},[_,e.length]);n.useEffect(()=>{if(!l)return;let e=()=>u(!1),t=e=>{e.key===`Escape`&&u(!1)};return window.addEventListener(`pointerdown`,e),window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),window.addEventListener(`keydown`,t),()=>{window.removeEventListener(`pointerdown`,e),window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0),window.removeEventListener(`keydown`,t)}},[l]),n.useEffect(()=>{l&&g.current[p]?.focus()},[p,l]);let y=e=>{if(_.length===0)return;let t=_[(_.findIndex(({index:e})=>e===p)+e+_.length)%_.length];m(t.index)};return(0,r.jsxs)(`div`,{"data-slot":`right-click-menu`,ref:h,tabIndex:0,className:t.cn(`contents focus:outline-none`,o),onContextMenu:e=>{e.preventDefault(),v(e.clientX,e.clientY)},onKeyDown:e=>{if(e.key===`ContextMenu`||e.shiftKey&&e.key===`F10`){e.preventDefault();let t=h.current?.getBoundingClientRect();v(t?t.left+12:12,t?t.top+12:12)}},...c,children:[a,l?(0,r.jsx)(`div`,{"data-slot":`right-click-menu-content`,role:`menu`,"aria-label":s,className:`fixed z-50 min-w-56 max-w-[calc(100vw-1rem)] rounded-[var(--aui-card-radius,var(--radius-xl))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:var(--aui-overlay-surface,var(--popover))] p-1.5 text-sm text-popover-foreground shadow-[var(--aui-popover-shadow,0_18px_42px_rgba(15,23,42,0.16))] outline-none`,style:{left:d.x,top:d.y},onPointerDown:e=>e.stopPropagation(),onKeyDown:e=>{e.key===`ArrowDown`&&(e.preventDefault(),y(1)),e.key===`ArrowUp`&&(e.preventDefault(),y(-1)),e.key===`Home`&&(e.preventDefault(),m(_[0]?.index??p)),e.key===`End`&&(e.preventDefault(),m(_.at(-1)?.index??p))},children:e.map((e,t)=>(0,r.jsxs)(`button`,{ref:e=>{g.current[t]=e},type:`button`,role:`menuitem`,disabled:e.disabled,"data-variant":e.variant??`default`,className:`group flex min-h-9 w-full items-center gap-2 rounded-[var(--radius-md)] px-2.5 py-2 text-left text-popover-foreground outline-none transition-[background-color,color] hover:bg-accent focus-visible:bg-accent data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-[color:color-mix(in_oklch,var(--destructive),transparent_90%)] data-[variant=destructive]:focus-visible:bg-[color:color-mix(in_oklch,var(--destructive),transparent_90%)] disabled:pointer-events-none disabled:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0`,onClick:()=>{e.disabled||(e.onSelect?.(),u(!1))},children:[e.icon,(0,r.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),e.shortcut?(0,r.jsx)(`span`,{className:`ml-3 text-[11px] font-medium tracking-[0.08em] text-muted-foreground group-hover:text-foreground group-focus-visible:text-foreground`,children:e.shortcut}):null]},t))}):null]})}exports.RightClickMenu=a;
@@ -1,11 +1,15 @@
1
1
  import * as React from "react";
2
2
  export type RightClickMenuItem = {
3
3
  label: React.ReactNode;
4
+ icon?: React.ReactNode;
5
+ shortcut?: React.ReactNode;
4
6
  onSelect?: () => void;
5
7
  disabled?: boolean;
8
+ variant?: "default" | "destructive";
6
9
  };
7
10
  export type RightClickMenuProps = React.ComponentProps<"div"> & {
8
11
  items: RightClickMenuItem[];
12
+ label?: string;
9
13
  };
10
- declare function RightClickMenu({ items, children, className, ...props }: RightClickMenuProps): React.JSX.Element;
14
+ declare function RightClickMenu({ items, children, className, label, ...props }: RightClickMenuProps): React.JSX.Element;
11
15
  export { RightClickMenu };