@ciridae/ui 0.10.0 → 0.11.2

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 (537) hide show
  1. package/dist/components/blocks/admin-users-table.js +7 -7
  2. package/dist/components/blocks/comment-composer.d.ts +1 -1
  3. package/dist/components/blocks/comment-composer.js +23 -5
  4. package/dist/components/blocks/comment-item.d.ts +1 -1
  5. package/dist/components/blocks/comment-item.js +4 -4
  6. package/dist/components/blocks/comment-thread.d.ts +2 -2
  7. package/dist/components/blocks/comment-thread.js +35 -5
  8. package/dist/components/blocks/copy-field.js +3 -3
  9. package/dist/components/blocks/feedback-center-comments.d.ts +2 -2
  10. package/dist/components/blocks/feedback-center-comments.js +3 -3
  11. package/dist/components/blocks/feedback-center-footer.d.ts +2 -2
  12. package/dist/components/blocks/feedback-center-footer.js +2 -2
  13. package/dist/components/blocks/feedback-center-sheet-parts.d.ts +5 -5
  14. package/dist/components/blocks/feedback-center-sheet-parts.js +7 -7
  15. package/dist/components/blocks/feedback-center-sheet.d.ts +5 -5
  16. package/dist/components/blocks/feedback-center-sheet.js +5 -5
  17. package/dist/components/blocks/feedback-composer-parts.d.ts +1 -1
  18. package/dist/components/blocks/feedback-composer-parts.js +4 -4
  19. package/dist/components/blocks/feedback-composer-types.d.ts +1 -1
  20. package/dist/components/blocks/feedback-composer.d.ts +1 -1
  21. package/dist/components/blocks/feedback-composer.js +8 -8
  22. package/dist/components/blocks/feedback-date-format.d.ts +2 -2
  23. package/dist/components/blocks/feedback-date-format.js +2 -2
  24. package/dist/components/blocks/feedback-detail-sheet.d.ts +1 -1
  25. package/dist/components/blocks/feedback-detail-sheet.js +14 -14
  26. package/dist/components/blocks/feedback-emergency-fields.d.ts +1 -1
  27. package/dist/components/blocks/feedback-emergency-fields.js +7 -7
  28. package/dist/components/blocks/feedback-metrics.d.ts +1 -1
  29. package/dist/components/blocks/feedback-metrics.js +1 -1
  30. package/dist/components/blocks/feedback-sheet.d.ts +1 -1
  31. package/dist/components/blocks/feedback-sheet.js +4 -4
  32. package/dist/components/blocks/feedback-status-badge.d.ts +1 -1
  33. package/dist/components/blocks/feedback-status-badge.js +2 -2
  34. package/dist/components/blocks/feedback-table-row.d.ts +1 -1
  35. package/dist/components/blocks/feedback-table-row.js +8 -8
  36. package/dist/components/blocks/feedback-table-sort.d.ts +2 -2
  37. package/dist/components/blocks/feedback-table.d.ts +2 -2
  38. package/dist/components/blocks/feedback-table.js +5 -5
  39. package/dist/components/blocks/feedback-tracking-types.d.ts +7 -1
  40. package/dist/components/blocks/feedback-triage-timeline.d.ts +11 -0
  41. package/dist/components/blocks/feedback-triage-timeline.js +17 -0
  42. package/dist/components/blocks/feedback-type-badge.d.ts +7 -2
  43. package/dist/components/blocks/feedback-type-badge.js +14 -8
  44. package/dist/components/blocks/feedback-unread-badge.d.ts +6 -0
  45. package/dist/components/blocks/feedback-unread-badge.js +9 -0
  46. package/dist/components/blocks/feedback-user-detail.d.ts +1 -1
  47. package/dist/components/blocks/feedback-user-detail.js +10 -10
  48. package/dist/components/blocks/feedback-user-list.d.ts +1 -1
  49. package/dist/components/blocks/feedback-user-list.js +11 -11
  50. package/dist/components/blocks/generated-connect-link.d.ts +1 -1
  51. package/dist/components/blocks/generated-connect-link.js +3 -3
  52. package/dist/components/blocks/invite-user-sheet.js +5 -5
  53. package/dist/components/blocks/kanban-board-parts.d.ts +2 -2
  54. package/dist/components/blocks/kanban-board-parts.js +3 -3
  55. package/dist/components/blocks/kanban-board-utils.d.ts +1 -1
  56. package/dist/components/blocks/kanban-board.d.ts +1 -1
  57. package/dist/components/blocks/kanban-board.js +2 -2
  58. package/dist/components/blocks/kanban-card.d.ts +1 -1
  59. package/dist/components/blocks/kanban-card.js +1 -1
  60. package/dist/components/blocks/kanban-column.d.ts +1 -1
  61. package/dist/components/blocks/kanban-column.js +3 -3
  62. package/dist/components/blocks/kanban-detail-sheet.d.ts +1 -1
  63. package/dist/components/blocks/kanban-detail-sheet.js +5 -5
  64. package/dist/components/blocks/mcp-access-grouped-tool-picker.d.ts +2 -2
  65. package/dist/components/blocks/mcp-access-grouped-tool-picker.js +4 -4
  66. package/dist/components/blocks/mcp-access-tool-picker-internals.d.ts +1 -1
  67. package/dist/components/blocks/mcp-access-tool-picker-internals.js +1 -1
  68. package/dist/components/blocks/mcp-access-tool-picker.d.ts +4 -4
  69. package/dist/components/blocks/mcp-access-tool-picker.js +3 -3
  70. package/dist/components/blocks/mcp-client-setup.d.ts +2 -2
  71. package/dist/components/blocks/mcp-client-setup.js +4 -4
  72. package/dist/components/blocks/mcp-connect-clients.d.ts +1 -1
  73. package/dist/components/blocks/mcp-plan-choice.d.ts +1 -1
  74. package/dist/components/blocks/mcp-plan-choice.js +1 -1
  75. package/dist/components/blocks/submit-feedback-composer.d.ts +2 -2
  76. package/dist/components/blocks/timestamp-format.d.ts +7 -1
  77. package/dist/components/blocks/timestamp-format.js +9 -1
  78. package/dist/components/blocks/use-feedback-composer-state.d.ts +1 -1
  79. package/dist/components/pages/admin-users-page.d.ts +2 -2
  80. package/dist/components/pages/admin-users-page.js +5 -5
  81. package/dist/components/pages/feedback-stakeholder-page-parts.d.ts +1 -1
  82. package/dist/components/pages/feedback-stakeholder-page-parts.js +4 -4
  83. package/dist/components/pages/feedback-stakeholder-page.d.ts +1 -1
  84. package/dist/components/pages/feedback-stakeholder-page.js +5 -5
  85. package/dist/components/pages/kanban-page.d.ts +1 -1
  86. package/dist/components/pages/kanban-page.js +5 -5
  87. package/dist/components/ui/accordion.js +1 -1
  88. package/dist/components/ui/alert-dialog.d.ts +1 -1
  89. package/dist/components/ui/alert-dialog.js +2 -2
  90. package/dist/components/ui/alert.js +1 -1
  91. package/dist/components/ui/app-shell-page.d.ts +1 -1
  92. package/dist/components/ui/app-shell-page.js +3 -3
  93. package/dist/components/ui/app-shell.d.ts +2 -2
  94. package/dist/components/ui/app-shell.js +3 -3
  95. package/dist/components/ui/avatar.js +1 -1
  96. package/dist/components/ui/badge-variants.d.ts +1 -1
  97. package/dist/components/ui/badge.d.ts +1 -1
  98. package/dist/components/ui/badge.js +2 -2
  99. package/dist/components/ui/breadcrumb.js +1 -1
  100. package/dist/components/ui/button-group.d.ts +2 -2
  101. package/dist/components/ui/button-group.js +3 -3
  102. package/dist/components/ui/button-variants.d.ts +1 -1
  103. package/dist/components/ui/button.d.ts +1 -1
  104. package/dist/components/ui/button.js +3 -3
  105. package/dist/components/ui/calendar.d.ts +1 -1
  106. package/dist/components/ui/calendar.js +3 -3
  107. package/dist/components/ui/card.js +1 -1
  108. package/dist/components/ui/carousel.d.ts +1 -1
  109. package/dist/components/ui/carousel.js +2 -2
  110. package/dist/components/ui/chart-panel.js +1 -1
  111. package/dist/components/ui/chart-tooltip.js +2 -2
  112. package/dist/components/ui/chart.d.ts +2 -2
  113. package/dist/components/ui/chart.js +3 -3
  114. package/dist/components/ui/checkbox.js +1 -1
  115. package/dist/components/ui/ciridae-ui-provider.d.ts +1 -1
  116. package/dist/components/ui/ciridae-ui-provider.js +3 -3
  117. package/dist/components/ui/color-theme-context.d.ts +1 -1
  118. package/dist/components/ui/color-theme.d.ts +2 -2
  119. package/dist/components/ui/color-theme.js +8 -6
  120. package/dist/components/ui/combobox.js +3 -3
  121. package/dist/components/ui/command.d.ts +1 -1
  122. package/dist/components/ui/command.js +2 -2
  123. package/dist/components/ui/context-menu.js +1 -1
  124. package/dist/components/ui/data-table-column-settings.js +5 -5
  125. package/dist/components/ui/data-table-controls.d.ts +1 -1
  126. package/dist/components/ui/data-table-controls.js +3 -3
  127. package/dist/components/ui/data-table-facet-filter.d.ts +22 -6
  128. package/dist/components/ui/data-table-facet-filter.js +38 -26
  129. package/dist/components/ui/data-table-grid.js +3 -3
  130. package/dist/components/ui/data-table-pagination.d.ts +1 -1
  131. package/dist/components/ui/data-table-pagination.js +3 -3
  132. package/dist/components/ui/data-table-search-input.d.ts +14 -0
  133. package/dist/components/ui/data-table-search-input.js +15 -0
  134. package/dist/components/ui/data-table-tanstack.js +6 -6
  135. package/dist/components/ui/data-table.d.ts +4 -4
  136. package/dist/components/ui/data-table.js +5 -5
  137. package/dist/components/ui/dialog.js +2 -2
  138. package/dist/components/ui/drawer.js +1 -1
  139. package/dist/components/ui/dropdown-menu.js +1 -1
  140. package/dist/components/ui/empty.js +1 -1
  141. package/dist/components/ui/expandable-data-table.d.ts +1 -1
  142. package/dist/components/ui/expandable-data-table.js +4 -4
  143. package/dist/components/ui/field.d.ts +1 -1
  144. package/dist/components/ui/field.js +3 -3
  145. package/dist/components/ui/file-upload-field-parts.js +3 -3
  146. package/dist/components/ui/file-upload-field.js +2 -2
  147. package/dist/components/ui/form-sheet.js +2 -2
  148. package/dist/components/ui/form.js +3 -3
  149. package/dist/components/ui/hover-card.js +1 -1
  150. package/dist/components/ui/input-group.d.ts +1 -1
  151. package/dist/components/ui/input-group.js +4 -4
  152. package/dist/components/ui/input-otp.js +1 -1
  153. package/dist/components/ui/input.js +1 -1
  154. package/dist/components/ui/item.d.ts +1 -1
  155. package/dist/components/ui/item.js +9 -5
  156. package/dist/components/ui/kbd.js +1 -1
  157. package/dist/components/ui/label.js +1 -1
  158. package/dist/components/ui/loading-state.d.ts +1 -1
  159. package/dist/components/ui/loading-state.js +4 -4
  160. package/dist/components/ui/menubar.js +1 -1
  161. package/dist/components/ui/metrics-strip.js +1 -1
  162. package/dist/components/ui/native-select.js +1 -1
  163. package/dist/components/ui/navigation-menu.js +2 -2
  164. package/dist/components/ui/page-header.d.ts +1 -1
  165. package/dist/components/ui/page-header.js +2 -2
  166. package/dist/components/ui/pagination.d.ts +1 -1
  167. package/dist/components/ui/pagination.js +2 -2
  168. package/dist/components/ui/popover.js +1 -1
  169. package/dist/components/ui/progress.js +1 -1
  170. package/dist/components/ui/property-list.js +1 -1
  171. package/dist/components/ui/radio-group.js +1 -1
  172. package/dist/components/ui/registry-docs-api.js +1 -1
  173. package/dist/components/ui/registry-docs-code.js +2 -2
  174. package/dist/components/ui/registry-docs-showcase.js +3 -3
  175. package/dist/components/ui/registry-docs.d.ts +4 -4
  176. package/dist/components/ui/registry-docs.js +6 -6
  177. package/dist/components/ui/resizable.js +1 -1
  178. package/dist/components/ui/scroll-area.js +1 -1
  179. package/dist/components/ui/select.js +1 -1
  180. package/dist/components/ui/separator.js +1 -1
  181. package/dist/components/ui/sheet.js +1 -1
  182. package/dist/components/ui/sidebar/group.js +1 -1
  183. package/dist/components/ui/sidebar/layout.d.ts +2 -2
  184. package/dist/components/ui/sidebar/layout.js +5 -5
  185. package/dist/components/ui/sidebar/menu.d.ts +1 -1
  186. package/dist/components/ui/sidebar/menu.js +4 -4
  187. package/dist/components/ui/sidebar/provider.js +4 -4
  188. package/dist/components/ui/sidebar/rail.js +2 -2
  189. package/dist/components/ui/sidebar/trigger.d.ts +1 -1
  190. package/dist/components/ui/sidebar/trigger.js +3 -3
  191. package/dist/components/ui/sidebar-account-menu-theme.js +2 -2
  192. package/dist/components/ui/sidebar-account-menu.d.ts +1 -1
  193. package/dist/components/ui/sidebar-account-menu.js +7 -7
  194. package/dist/components/ui/sidebar.d.ts +7 -7
  195. package/dist/components/ui/sidebar.js +7 -7
  196. package/dist/components/ui/skeleton.js +1 -1
  197. package/dist/components/ui/slider.js +1 -1
  198. package/dist/components/ui/sonner.js +1 -1
  199. package/dist/components/ui/spinner.js +1 -1
  200. package/dist/components/ui/switch.js +1 -1
  201. package/dist/components/ui/table.js +1 -1
  202. package/dist/components/ui/tabs.d.ts +1 -1
  203. package/dist/components/ui/tabs.js +2 -2
  204. package/dist/components/ui/textarea.js +1 -1
  205. package/dist/components/ui/toggle-group.d.ts +1 -1
  206. package/dist/components/ui/toggle-group.js +2 -2
  207. package/dist/components/ui/toggle.d.ts +1 -1
  208. package/dist/components/ui/toggle.js +2 -2
  209. package/dist/components/ui/tooltip.js +1 -1
  210. package/dist/components/ui/use-color-theme.d.ts +1 -1
  211. package/dist/components/ui/use-color-theme.js +1 -1
  212. package/dist/components/ui/workflow-timeline.js +1 -1
  213. package/dist/entries/accordion.d.ts +1 -1
  214. package/dist/entries/accordion.js +1 -1
  215. package/dist/entries/admin-users-page.d.ts +1 -1
  216. package/dist/entries/admin-users-page.js +1 -1
  217. package/dist/entries/admin-users-table.d.ts +1 -1
  218. package/dist/entries/admin-users-table.js +1 -1
  219. package/dist/entries/alert-dialog.d.ts +1 -1
  220. package/dist/entries/alert-dialog.js +1 -1
  221. package/dist/entries/alert.d.ts +1 -1
  222. package/dist/entries/alert.js +1 -1
  223. package/dist/entries/app-shell-page.d.ts +1 -1
  224. package/dist/entries/app-shell-page.js +1 -1
  225. package/dist/entries/app-shell.d.ts +1 -1
  226. package/dist/entries/app-shell.js +1 -1
  227. package/dist/entries/aspect-ratio.d.ts +1 -1
  228. package/dist/entries/aspect-ratio.js +1 -1
  229. package/dist/entries/avatar.d.ts +1 -1
  230. package/dist/entries/avatar.js +1 -1
  231. package/dist/entries/badge-variants.d.ts +1 -1
  232. package/dist/entries/badge-variants.js +1 -1
  233. package/dist/entries/badge.d.ts +1 -1
  234. package/dist/entries/badge.js +1 -1
  235. package/dist/entries/breadcrumb.d.ts +1 -1
  236. package/dist/entries/breadcrumb.js +1 -1
  237. package/dist/entries/button-group-variants.d.ts +1 -1
  238. package/dist/entries/button-group-variants.js +1 -1
  239. package/dist/entries/button-group.d.ts +1 -1
  240. package/dist/entries/button-group.js +1 -1
  241. package/dist/entries/button-variants.d.ts +1 -1
  242. package/dist/entries/button-variants.js +1 -1
  243. package/dist/entries/button.d.ts +1 -1
  244. package/dist/entries/button.js +1 -1
  245. package/dist/entries/calendar.d.ts +1 -1
  246. package/dist/entries/calendar.js +1 -1
  247. package/dist/entries/card.d.ts +1 -1
  248. package/dist/entries/card.js +1 -1
  249. package/dist/entries/carousel.d.ts +1 -1
  250. package/dist/entries/carousel.js +1 -1
  251. package/dist/entries/chart-context.d.ts +1 -1
  252. package/dist/entries/chart-context.js +1 -1
  253. package/dist/entries/chart-panel.d.ts +1 -1
  254. package/dist/entries/chart-panel.js +1 -1
  255. package/dist/entries/chart-tooltip.d.ts +1 -1
  256. package/dist/entries/chart-tooltip.js +1 -1
  257. package/dist/entries/chart.d.ts +1 -1
  258. package/dist/entries/chart.js +1 -1
  259. package/dist/entries/checkbox.d.ts +1 -1
  260. package/dist/entries/checkbox.js +1 -1
  261. package/dist/entries/ciridae-brand-assets.d.ts +1 -1
  262. package/dist/entries/ciridae-brand-assets.js +1 -1
  263. package/dist/entries/ciridae-ui-provider.d.ts +1 -1
  264. package/dist/entries/ciridae-ui-provider.js +1 -1
  265. package/dist/entries/collapsible.d.ts +1 -1
  266. package/dist/entries/collapsible.js +1 -1
  267. package/dist/entries/color-theme-context.d.ts +1 -1
  268. package/dist/entries/color-theme-context.js +1 -1
  269. package/dist/entries/color-theme.d.ts +1 -1
  270. package/dist/entries/color-theme.js +1 -1
  271. package/dist/entries/combobox-anchor.d.ts +1 -1
  272. package/dist/entries/combobox-anchor.js +1 -1
  273. package/dist/entries/combobox.d.ts +1 -1
  274. package/dist/entries/combobox.js +1 -1
  275. package/dist/entries/command.d.ts +1 -1
  276. package/dist/entries/command.js +1 -1
  277. package/dist/entries/comment-composer.d.ts +1 -1
  278. package/dist/entries/comment-composer.js +1 -1
  279. package/dist/entries/comment-item.d.ts +1 -1
  280. package/dist/entries/comment-item.js +1 -1
  281. package/dist/entries/comment-thread.d.ts +1 -1
  282. package/dist/entries/comment-thread.js +1 -1
  283. package/dist/entries/comment-types.d.ts +1 -1
  284. package/dist/entries/comment-types.js +1 -1
  285. package/dist/entries/context-menu.d.ts +1 -1
  286. package/dist/entries/context-menu.js +1 -1
  287. package/dist/entries/copy-field.d.ts +1 -1
  288. package/dist/entries/copy-field.js +1 -1
  289. package/dist/entries/data-table-column-settings.d.ts +1 -1
  290. package/dist/entries/data-table-column-settings.js +1 -1
  291. package/dist/entries/data-table-context.d.ts +1 -1
  292. package/dist/entries/data-table-context.js +1 -1
  293. package/dist/entries/data-table-controls.d.ts +1 -1
  294. package/dist/entries/data-table-controls.js +1 -1
  295. package/dist/entries/data-table-facet-filter.d.ts +1 -1
  296. package/dist/entries/data-table-facet-filter.js +1 -1
  297. package/dist/entries/data-table-grid.d.ts +1 -1
  298. package/dist/entries/data-table-grid.js +1 -1
  299. package/dist/entries/data-table-pagination.d.ts +1 -1
  300. package/dist/entries/data-table-pagination.js +1 -1
  301. package/dist/entries/data-table-search-input.d.ts +1 -0
  302. package/dist/entries/data-table-search-input.js +1 -0
  303. package/dist/entries/data-table-state.d.ts +1 -1
  304. package/dist/entries/data-table-state.js +1 -1
  305. package/dist/entries/data-table-tanstack.d.ts +1 -1
  306. package/dist/entries/data-table-tanstack.js +1 -1
  307. package/dist/entries/data-table.d.ts +1 -1
  308. package/dist/entries/data-table.js +1 -1
  309. package/dist/entries/dialog.d.ts +1 -1
  310. package/dist/entries/dialog.js +1 -1
  311. package/dist/entries/direction-context.d.ts +1 -1
  312. package/dist/entries/direction-context.js +1 -1
  313. package/dist/entries/direction.d.ts +1 -1
  314. package/dist/entries/direction.js +1 -1
  315. package/dist/entries/drawer.d.ts +1 -1
  316. package/dist/entries/drawer.js +1 -1
  317. package/dist/entries/dropdown-menu.d.ts +1 -1
  318. package/dist/entries/dropdown-menu.js +1 -1
  319. package/dist/entries/empty.d.ts +1 -1
  320. package/dist/entries/empty.js +1 -1
  321. package/dist/entries/expandable-data-table.d.ts +1 -1
  322. package/dist/entries/expandable-data-table.js +1 -1
  323. package/dist/entries/feedback-center-comments.d.ts +1 -1
  324. package/dist/entries/feedback-center-comments.js +1 -1
  325. package/dist/entries/feedback-center-footer.d.ts +1 -1
  326. package/dist/entries/feedback-center-footer.js +1 -1
  327. package/dist/entries/feedback-center-sheet-parts.d.ts +1 -1
  328. package/dist/entries/feedback-center-sheet-parts.js +1 -1
  329. package/dist/entries/feedback-center-sheet.d.ts +1 -1
  330. package/dist/entries/feedback-center-sheet.js +1 -1
  331. package/dist/entries/feedback-composer-parts.d.ts +1 -1
  332. package/dist/entries/feedback-composer-parts.js +1 -1
  333. package/dist/entries/feedback-composer-types.d.ts +1 -1
  334. package/dist/entries/feedback-composer-types.js +1 -1
  335. package/dist/entries/feedback-composer.d.ts +1 -1
  336. package/dist/entries/feedback-composer.js +1 -1
  337. package/dist/entries/feedback-date-format.d.ts +1 -1
  338. package/dist/entries/feedback-date-format.js +1 -1
  339. package/dist/entries/feedback-detail-sheet.d.ts +1 -1
  340. package/dist/entries/feedback-detail-sheet.js +1 -1
  341. package/dist/entries/feedback-emergency-fields.d.ts +1 -1
  342. package/dist/entries/feedback-emergency-fields.js +1 -1
  343. package/dist/entries/feedback-metrics.d.ts +1 -1
  344. package/dist/entries/feedback-metrics.js +1 -1
  345. package/dist/entries/feedback-sheet.d.ts +1 -1
  346. package/dist/entries/feedback-sheet.js +1 -1
  347. package/dist/entries/feedback-stakeholder-page-parts.d.ts +1 -1
  348. package/dist/entries/feedback-stakeholder-page-parts.js +1 -1
  349. package/dist/entries/feedback-stakeholder-page.d.ts +1 -1
  350. package/dist/entries/feedback-stakeholder-page.js +1 -1
  351. package/dist/entries/feedback-status-badge.d.ts +1 -1
  352. package/dist/entries/feedback-status-badge.js +1 -1
  353. package/dist/entries/feedback-table-row.d.ts +1 -1
  354. package/dist/entries/feedback-table-row.js +1 -1
  355. package/dist/entries/feedback-table-sort.d.ts +1 -1
  356. package/dist/entries/feedback-table-sort.js +1 -1
  357. package/dist/entries/feedback-table.d.ts +1 -1
  358. package/dist/entries/feedback-table.js +1 -1
  359. package/dist/entries/feedback-tracking-types.d.ts +1 -1
  360. package/dist/entries/feedback-tracking-types.js +1 -1
  361. package/dist/entries/feedback-triage-timeline.d.ts +1 -0
  362. package/dist/entries/feedback-triage-timeline.js +1 -0
  363. package/dist/entries/feedback-type-badge.d.ts +1 -1
  364. package/dist/entries/feedback-type-badge.js +1 -1
  365. package/dist/entries/feedback-unread-badge.d.ts +1 -0
  366. package/dist/entries/feedback-unread-badge.js +1 -0
  367. package/dist/entries/feedback-user-detail.d.ts +1 -1
  368. package/dist/entries/feedback-user-detail.js +1 -1
  369. package/dist/entries/feedback-user-list.d.ts +1 -1
  370. package/dist/entries/feedback-user-list.js +1 -1
  371. package/dist/entries/field.d.ts +1 -1
  372. package/dist/entries/field.js +1 -1
  373. package/dist/entries/file-upload-field-parts.d.ts +1 -1
  374. package/dist/entries/file-upload-field-parts.js +1 -1
  375. package/dist/entries/file-upload-field.d.ts +1 -1
  376. package/dist/entries/file-upload-field.js +1 -1
  377. package/dist/entries/form-context.d.ts +1 -1
  378. package/dist/entries/form-context.js +1 -1
  379. package/dist/entries/form-sheet.d.ts +1 -1
  380. package/dist/entries/form-sheet.js +1 -1
  381. package/dist/entries/form.d.ts +1 -1
  382. package/dist/entries/form.js +1 -1
  383. package/dist/entries/generated-connect-link.d.ts +1 -1
  384. package/dist/entries/generated-connect-link.js +1 -1
  385. package/dist/entries/hover-card.d.ts +1 -1
  386. package/dist/entries/hover-card.js +1 -1
  387. package/dist/entries/input-group.d.ts +1 -1
  388. package/dist/entries/input-group.js +1 -1
  389. package/dist/entries/input-otp.d.ts +1 -1
  390. package/dist/entries/input-otp.js +1 -1
  391. package/dist/entries/input.d.ts +1 -1
  392. package/dist/entries/input.js +1 -1
  393. package/dist/entries/invite-user-sheet.d.ts +1 -1
  394. package/dist/entries/invite-user-sheet.js +1 -1
  395. package/dist/entries/item.d.ts +1 -1
  396. package/dist/entries/item.js +1 -1
  397. package/dist/entries/kanban-board-parts.d.ts +1 -1
  398. package/dist/entries/kanban-board-parts.js +1 -1
  399. package/dist/entries/kanban-board-utils.d.ts +1 -1
  400. package/dist/entries/kanban-board-utils.js +1 -1
  401. package/dist/entries/kanban-board.d.ts +1 -1
  402. package/dist/entries/kanban-board.js +1 -1
  403. package/dist/entries/kanban-card.d.ts +1 -1
  404. package/dist/entries/kanban-card.js +1 -1
  405. package/dist/entries/kanban-column.d.ts +1 -1
  406. package/dist/entries/kanban-column.js +1 -1
  407. package/dist/entries/kanban-detail-sheet.d.ts +1 -1
  408. package/dist/entries/kanban-detail-sheet.js +1 -1
  409. package/dist/entries/kanban-page.d.ts +1 -1
  410. package/dist/entries/kanban-page.js +1 -1
  411. package/dist/entries/kanban-types.d.ts +1 -1
  412. package/dist/entries/kanban-types.js +1 -1
  413. package/dist/entries/kbd.d.ts +1 -1
  414. package/dist/entries/kbd.js +1 -1
  415. package/dist/entries/label.d.ts +1 -1
  416. package/dist/entries/label.js +1 -1
  417. package/dist/entries/loading-state.d.ts +1 -1
  418. package/dist/entries/loading-state.js +1 -1
  419. package/dist/entries/mcp-access-grouped-tool-picker.d.ts +1 -1
  420. package/dist/entries/mcp-access-grouped-tool-picker.js +1 -1
  421. package/dist/entries/mcp-access-tool-picker.d.ts +1 -1
  422. package/dist/entries/mcp-access-tool-picker.js +1 -1
  423. package/dist/entries/mcp-access-types.d.ts +1 -1
  424. package/dist/entries/mcp-access-types.js +1 -1
  425. package/dist/entries/mcp-client-setup.d.ts +1 -1
  426. package/dist/entries/mcp-client-setup.js +1 -1
  427. package/dist/entries/mcp-connect-clients.d.ts +1 -1
  428. package/dist/entries/mcp-connect-clients.js +1 -1
  429. package/dist/entries/mcp-plan-choice.d.ts +1 -1
  430. package/dist/entries/mcp-plan-choice.js +1 -1
  431. package/dist/entries/menubar.d.ts +1 -1
  432. package/dist/entries/menubar.js +1 -1
  433. package/dist/entries/metrics-strip.d.ts +1 -1
  434. package/dist/entries/metrics-strip.js +1 -1
  435. package/dist/entries/native-select.d.ts +1 -1
  436. package/dist/entries/native-select.js +1 -1
  437. package/dist/entries/navigation-menu-variants.d.ts +1 -1
  438. package/dist/entries/navigation-menu-variants.js +1 -1
  439. package/dist/entries/navigation-menu.d.ts +1 -1
  440. package/dist/entries/navigation-menu.js +1 -1
  441. package/dist/entries/page-header.d.ts +1 -1
  442. package/dist/entries/page-header.js +1 -1
  443. package/dist/entries/pagination.d.ts +1 -1
  444. package/dist/entries/pagination.js +1 -1
  445. package/dist/entries/palette.d.ts +2 -2
  446. package/dist/entries/palette.js +2 -2
  447. package/dist/entries/popover.d.ts +1 -1
  448. package/dist/entries/popover.js +1 -1
  449. package/dist/entries/progress.d.ts +1 -1
  450. package/dist/entries/progress.js +1 -1
  451. package/dist/entries/property-list.d.ts +1 -1
  452. package/dist/entries/property-list.js +1 -1
  453. package/dist/entries/radio-group.d.ts +1 -1
  454. package/dist/entries/radio-group.js +1 -1
  455. package/dist/entries/registry-docs-api.d.ts +1 -1
  456. package/dist/entries/registry-docs-api.js +1 -1
  457. package/dist/entries/registry-docs-code.d.ts +1 -1
  458. package/dist/entries/registry-docs-code.js +1 -1
  459. package/dist/entries/registry-docs-showcase.d.ts +1 -1
  460. package/dist/entries/registry-docs-showcase.js +1 -1
  461. package/dist/entries/registry-docs.d.ts +1 -1
  462. package/dist/entries/registry-docs.js +1 -1
  463. package/dist/entries/resizable.d.ts +1 -1
  464. package/dist/entries/resizable.js +1 -1
  465. package/dist/entries/scroll-area.d.ts +1 -1
  466. package/dist/entries/scroll-area.js +1 -1
  467. package/dist/entries/select.d.ts +1 -1
  468. package/dist/entries/select.js +1 -1
  469. package/dist/entries/separator.d.ts +1 -1
  470. package/dist/entries/separator.js +1 -1
  471. package/dist/entries/sheet.d.ts +1 -1
  472. package/dist/entries/sheet.js +1 -1
  473. package/dist/entries/sidebar/context.d.ts +1 -1
  474. package/dist/entries/sidebar/context.js +1 -1
  475. package/dist/entries/sidebar/group.d.ts +1 -1
  476. package/dist/entries/sidebar/group.js +1 -1
  477. package/dist/entries/sidebar/layout.d.ts +1 -1
  478. package/dist/entries/sidebar/layout.js +1 -1
  479. package/dist/entries/sidebar/menu.d.ts +1 -1
  480. package/dist/entries/sidebar/menu.js +1 -1
  481. package/dist/entries/sidebar/provider.d.ts +1 -1
  482. package/dist/entries/sidebar/provider.js +1 -1
  483. package/dist/entries/sidebar/rail.d.ts +1 -1
  484. package/dist/entries/sidebar/rail.js +1 -1
  485. package/dist/entries/sidebar/trigger.d.ts +1 -1
  486. package/dist/entries/sidebar/trigger.js +1 -1
  487. package/dist/entries/sidebar-account-menu-theme.d.ts +1 -1
  488. package/dist/entries/sidebar-account-menu-theme.js +1 -1
  489. package/dist/entries/sidebar-account-menu.d.ts +1 -1
  490. package/dist/entries/sidebar-account-menu.js +1 -1
  491. package/dist/entries/sidebar.d.ts +1 -1
  492. package/dist/entries/sidebar.js +1 -1
  493. package/dist/entries/skeleton.d.ts +1 -1
  494. package/dist/entries/skeleton.js +1 -1
  495. package/dist/entries/slider.d.ts +1 -1
  496. package/dist/entries/slider.js +1 -1
  497. package/dist/entries/sonner.d.ts +1 -1
  498. package/dist/entries/sonner.js +1 -1
  499. package/dist/entries/spinner.d.ts +1 -1
  500. package/dist/entries/spinner.js +1 -1
  501. package/dist/entries/submit-feedback-composer.d.ts +1 -1
  502. package/dist/entries/submit-feedback-composer.js +1 -1
  503. package/dist/entries/switch.d.ts +1 -1
  504. package/dist/entries/switch.js +1 -1
  505. package/dist/entries/table.d.ts +1 -1
  506. package/dist/entries/table.js +1 -1
  507. package/dist/entries/tabs-variants.d.ts +1 -1
  508. package/dist/entries/tabs-variants.js +1 -1
  509. package/dist/entries/tabs.d.ts +1 -1
  510. package/dist/entries/tabs.js +1 -1
  511. package/dist/entries/textarea.d.ts +1 -1
  512. package/dist/entries/textarea.js +1 -1
  513. package/dist/entries/timestamp-format.d.ts +1 -1
  514. package/dist/entries/timestamp-format.js +1 -1
  515. package/dist/entries/toggle-group.d.ts +1 -1
  516. package/dist/entries/toggle-group.js +1 -1
  517. package/dist/entries/toggle-variants.d.ts +1 -1
  518. package/dist/entries/toggle-variants.js +1 -1
  519. package/dist/entries/toggle.d.ts +1 -1
  520. package/dist/entries/toggle.js +1 -1
  521. package/dist/entries/tooltip.d.ts +1 -1
  522. package/dist/entries/tooltip.js +1 -1
  523. package/dist/entries/use-color-theme.d.ts +1 -1
  524. package/dist/entries/use-color-theme.js +1 -1
  525. package/dist/entries/use-feedback-composer-state.d.ts +1 -1
  526. package/dist/entries/use-feedback-composer-state.js +1 -1
  527. package/dist/entries/use-mobile.d.ts +1 -1
  528. package/dist/entries/use-mobile.js +1 -1
  529. package/dist/entries/utils.d.ts +1 -1
  530. package/dist/entries/utils.js +1 -1
  531. package/dist/entries/workflow-timeline.d.ts +1 -1
  532. package/dist/entries/workflow-timeline.js +1 -1
  533. package/dist/hooks/use-mobile.js +4 -2
  534. package/dist/lib/palette-presets.d.ts +1 -1
  535. package/dist/lib/palette.d.ts +1 -1
  536. package/dist/lib/palette.js +2 -2
  537. package/package.json +1 -1
@@ -1,39 +1,51 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { CheckIcon, PlusCircleIcon } from "lucide-react";
3
- import { cn } from "../../lib/utils";
4
- import { useDataTable } from "./data-table-context";
5
- import { Badge } from "./badge";
6
- import { Button } from "./button";
7
- import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, } from "./command";
8
- import { Popover, PopoverContent, PopoverTrigger } from "./popover";
9
- import { Separator } from "./separator";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { useDataTable } from "./data-table-context.js";
5
+ import { Badge } from "./badge.js";
6
+ import { Button } from "./button.js";
7
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, } from "./command.js";
8
+ import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
9
+ import { Separator } from "./separator.js";
10
10
  /**
11
- * Narrow a column to a set of its own values.
12
- *
13
- * Counts come from the table's faceted row model, which `TanStackDataTable`
14
- * already builds -- so an option can say how many rows it would leave without
15
- * the caller counting anything itself. Pair with the `arrIncludesSome` filter
16
- * function, which is what a multi-select selection means.
11
+ * The facet-filter popover, controlled: one button per facet that wears the
12
+ * current selection, checkable values inside. The caller owns the selection --
13
+ * URL search state, column filters, anything -- and receives the whole next
14
+ * selection on every toggle, so the popover can never disagree with the list
15
+ * it narrows and there is nothing to apply or discard on close.
17
16
  */
18
- function DataTableFacetFilter({ columnId, options, title, }) {
19
- const column = useDataTable().getColumn(columnId);
20
- const counts = column?.getFacetedUniqueValues();
21
- const selected = new Set(readSelection(column?.getFilterValue()));
22
- const select = (value) => {
23
- const next = new Set(selected);
17
+ function FacetFilter({ counts, onSelectionChange, options, selected, title, }) {
18
+ const selectedSet = new Set(selected);
19
+ const toggle = (value) => {
20
+ const next = new Set(selectedSet);
24
21
  if (next.has(value))
25
22
  next.delete(value);
26
23
  else
27
24
  next.add(value);
28
- // An empty selection is no filter at all, not a filter matching nothing.
29
- column?.setFilterValue(next.size ? [...next] : undefined);
25
+ onSelectionChange([...next]);
30
26
  };
31
- return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "sm", type: "button", variant: "outline", children: [_jsx(PlusCircleIcon, {}), title, selected.size > 0 ? (_jsxs(_Fragment, { children: [_jsx(Separator, { className: "mx-0.5 data-[orientation=vertical]:h-4", orientation: "vertical" }), _jsx(FacetSelectionSummary, { labels: options.filter((option) => selected.has(option.value)) })] })) : null] }) }), _jsx(PopoverContent, { align: "start", className: "w-52 p-0", children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: title }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No matches." }), _jsx(CommandGroup, { children: options.map((option) => (_jsx(FacetOptionItem, { count: counts?.get(option.value), onSelect: () => {
32
- select(option.value);
33
- }, option: option, selected: selected.has(option.value) }, option.value))) }), selected.size > 0 ? (_jsxs(_Fragment, { children: [_jsx(CommandSeparator, {}), _jsx(CommandGroup, { children: _jsx(CommandItem, { className: "justify-center", onSelect: () => {
34
- column?.setFilterValue(undefined);
27
+ return (_jsxs(Popover, { children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs(Button, { size: "sm", type: "button", variant: "outline", children: [_jsx(PlusCircleIcon, {}), title, selectedSet.size > 0 ? (_jsxs(_Fragment, { children: [_jsx(Separator, { className: "mx-0.5 data-[orientation=vertical]:h-4", orientation: "vertical" }), _jsx(FacetSelectionSummary, { labels: options.filter((option) => selectedSet.has(option.value)) })] })) : null] }) }), _jsx(PopoverContent, { align: "start", className: "w-52 p-0", children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: title }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No matches." }), _jsx(CommandGroup, { children: options.map((option) => (_jsx(FacetOptionItem, { count: counts?.get(option.value), onSelect: () => {
28
+ toggle(option.value);
29
+ }, option: option, selected: selectedSet.has(option.value) }, option.value))) }), selectedSet.size > 0 ? (_jsxs(_Fragment, { children: [_jsx(CommandSeparator, {}), _jsx(CommandGroup, { children: _jsx(CommandItem, { className: "justify-center", onSelect: () => {
30
+ onSelectionChange([]);
35
31
  }, children: "Clear" }) })] })) : null] })] }) })] }));
36
32
  }
33
+ /**
34
+ * The column-bound binding: narrow a column to a set of its own values.
35
+ *
36
+ * Selection lives in the column's filter value, and counts come from the
37
+ * table's faceted row model, which `TanStackDataTable` already builds -- so an
38
+ * option can say how many rows it would leave without the caller counting
39
+ * anything itself. Pair with the `arrIncludesSome` filter function, which is
40
+ * what a multi-select selection means.
41
+ */
42
+ function DataTableFacetFilter({ columnId, options, title, }) {
43
+ const column = useDataTable().getColumn(columnId);
44
+ return (_jsx(FacetFilter, { counts: column?.getFacetedUniqueValues(), onSelectionChange: (values) => {
45
+ // An empty selection is no filter at all, not a filter matching nothing.
46
+ column?.setFilterValue(values.length ? values : undefined);
47
+ }, options: options, selected: readSelection(column?.getFilterValue()), title: title }));
48
+ }
37
49
  /** Names the choices while they still fit, then counts them. */
38
50
  function FacetSelectionSummary({ labels }) {
39
51
  if (labels.length > 2)
@@ -50,4 +62,4 @@ function readSelection(value) {
50
62
  return [];
51
63
  return value.filter((entry) => typeof entry === "string");
52
64
  }
53
- export { DataTableFacetFilter };
65
+ export { DataTableFacetFilter, FacetFilter };
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from "lucide-react";
3
3
  import { flexRender, } from "@tanstack/react-table";
4
- import { cn } from "../../lib/utils";
5
- import { Button } from "./button";
6
- import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { Button } from "./button.js";
6
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table.js";
7
7
  /** Font taken from the enclosing `TableHead`; see `DataTableHeaderCell`. */
8
8
  const inheritType = { fontSize: "inherit", fontWeight: "inherit", lineHeight: "inherit" };
9
9
  function DataTableGrid({ empty, getRowClassName, onRowClick, rows, table, }) {
@@ -1,5 +1,5 @@
1
1
  import type { Table as TanStackTable } from "@tanstack/react-table";
2
- import type { DataTablePaginationVariant, ResolvedDataTableLabels } from "./data-table-tanstack";
2
+ import type { DataTablePaginationVariant, ResolvedDataTableLabels } from "./data-table-tanstack.js";
3
3
  declare function DataTablePagination<TData>({ footerControls, labels, pageSizeOptions, selectedRows, table, totalRows, variant, }: {
4
4
  /**
5
5
  * Controls that belong beside the row count rather than above the table --
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { ChevronLeftIcon, ChevronRightIcon, ChevronsLeftIcon, ChevronsRightIcon, } from "lucide-react";
3
- import { Button } from "./button";
4
- import { NativeSelect, NativeSelectOption } from "./native-select";
5
- import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem } from "./pagination";
3
+ import { Button } from "./button.js";
4
+ import { NativeSelect, NativeSelectOption } from "./native-select.js";
5
+ import { Pagination, PaginationContent, PaginationEllipsis, PaginationItem } from "./pagination.js";
6
6
  function DataTablePagination({ footerControls, labels, pageSizeOptions, selectedRows, table, totalRows, variant = "compact", }) {
7
7
  const pagination = table.getState().pagination;
8
8
  // `-1` is TanStack's "unknown", which a server-driven table reports until it
@@ -0,0 +1,14 @@
1
+ type DataTableSearchInputProps = {
2
+ ariaLabel: string;
3
+ onChange: (value: string) => void;
4
+ placeholder: string;
5
+ value: string;
6
+ };
7
+ /**
8
+ * Shows what is being typed. Any debounce that turns the value into an address
9
+ * belongs in the caller's table state, next to everything else that decides
10
+ * what the table is looking at -- so a Clear that cancels a search cancels the
11
+ * write still in flight along with it.
12
+ */
13
+ declare function DataTableSearchInput({ ariaLabel, onChange, placeholder, value, }: DataTableSearchInputProps): import("@types/react").JSX.Element;
14
+ export { DataTableSearchInput, type DataTableSearchInputProps };
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { SearchIcon } from "lucide-react";
3
+ import { Input } from "./input.js";
4
+ /**
5
+ * Shows what is being typed. Any debounce that turns the value into an address
6
+ * belongs in the caller's table state, next to everything else that decides
7
+ * what the table is looking at -- so a Clear that cancels a search cancels the
8
+ * write still in flight along with it.
9
+ */
10
+ function DataTableSearchInput({ ariaLabel, onChange, placeholder, value, }) {
11
+ return (_jsxs("div", { className: "relative w-full sm:max-w-64", children: [_jsx(SearchIcon, { className: "pointer-events-none absolute top-1/2 left-2.5 size-4 -translate-y-1/2 text-muted-foreground" }), _jsx(Input, { "aria-label": ariaLabel, className: "pl-8", onChange: (event) => {
12
+ onChange(event.target.value);
13
+ }, placeholder: placeholder, type: "search", value: value })] }));
14
+ }
15
+ export { DataTableSearchInput };
@@ -1,12 +1,12 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { getCoreRowModel, getFacetedRowModel, getFacetedUniqueValues, getFilteredRowModel, getPaginationRowModel, getSortedRowModel, useReactTable, } from "@tanstack/react-table";
4
- import { cn } from "../../lib/utils";
5
- import { TableSkeleton } from "./loading-state";
6
- import { DataTableTools } from "./data-table-controls";
7
- import { DataTableProvider } from "./data-table-context";
8
- import { DataTableGrid } from "./data-table-grid";
9
- import { DataTablePagination } from "./data-table-pagination";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { TableSkeleton } from "./loading-state.js";
6
+ import { DataTableTools } from "./data-table-controls.js";
7
+ import { DataTableProvider } from "./data-table-context.js";
8
+ import { DataTableGrid } from "./data-table-grid.js";
9
+ import { DataTablePagination } from "./data-table-pagination.js";
10
10
  const defaultLabels = {
11
11
  columns: "Columns",
12
12
  empty: "No results.",
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
- import { TableHead } from "./table";
3
- import { type TableSkeletonProps } from "./loading-state";
4
- import { TanStackDataTable } from "./data-table-tanstack";
5
- import type { DataTableLabels, TanStackDataTableProps } from "./data-table-tanstack";
2
+ import { TableHead } from "./table.js";
3
+ import { type TableSkeletonProps } from "./loading-state.js";
4
+ import { TanStackDataTable } from "./data-table-tanstack.js";
5
+ import type { DataTableLabels, TanStackDataTableProps } from "./data-table-tanstack.js";
6
6
  type SortDirection = "asc" | "desc";
7
7
  declare function DataTable({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
8
8
  declare function DataTableToolbar({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ArrowDownIcon, ArrowUpDownIcon, ArrowUpIcon } from "lucide-react";
3
- import { cn } from "../../lib/utils";
4
- import { Button } from "./button";
5
- import { TableHead } from "./table";
6
- import { TableSkeleton } from "./loading-state";
7
- import { TanStackDataTable } from "./data-table-tanstack";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { Button } from "./button.js";
5
+ import { TableHead } from "./table.js";
6
+ import { TableSkeleton } from "./loading-state.js";
7
+ import { TanStackDataTable } from "./data-table-tanstack.js";
8
8
  function DataTable({ className, ...props }) {
9
9
  return (_jsx("div", { "data-slot": "data-table", className: cn("grid gap-(--panel-gap)", className), ...props }));
10
10
  }
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { XIcon } from "lucide-react";
4
4
  import { Dialog as DialogPrimitive } from "radix-ui";
5
- import { cn } from "../../lib/utils";
6
- import { Button } from "./button";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { Button } from "./button.js";
7
7
  const DialogPortalContainerContext = React.createContext({
8
8
  container: null,
9
9
  disableModalBehavior: false,
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { Drawer as DrawerPrimitive } from "vaul";
4
- import { cn } from "../../lib/utils";
4
+ import { cn } from "../../lib/utils.js";
5
5
  const DrawerPortalContainerContext = React.createContext({
6
6
  container: null,
7
7
  disableModalBehavior: false,
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
5
5
  import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
6
- import { cn } from "../../lib/utils";
6
+ import { cn } from "../../lib/utils.js";
7
7
  const DropdownMenuPortalContainerContext = React.createContext({
8
8
  container: null,
9
9
  disableModalBehavior: false,
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
- import { cn } from "../../lib/utils";
3
+ import { cn } from "../../lib/utils.js";
4
4
  function Empty({ className, ...props }) {
5
5
  return (_jsx("div", { "data-slot": "empty", className: cn("flex min-w-0 flex-1 flex-col items-center justify-center gap-(--panel-gap) rounded-lg border-dashed p-(--panel-padding) text-center text-balance md:p-8", className), ...props }));
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { DataTable } from "./data-table";
2
+ import { DataTable } from "./data-table.js";
3
3
  type ExpandableDataTableColumn<TRow> = {
4
4
  id: string;
5
5
  header: React.ReactNode;
@@ -2,10 +2,10 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { ChevronRightIcon } from "lucide-react";
5
- import { cn } from "../../lib/utils";
6
- import { Button } from "./button";
7
- import { DataTable, DataTableContent, DataTableEmpty } from "./data-table";
8
- import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { Button } from "./button.js";
7
+ import { DataTable, DataTableContent, DataTableEmpty } from "./data-table.js";
8
+ import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "./table.js";
9
9
  function ExpandableDataTable({ rows, columns, getRowId, getRowLabel, renderExpandedRow, defaultExpandedRowId = null, expandedRowId, onExpandedRowIdChange, empty = "No rows found.", className, ...props }) {
10
10
  const tableId = React.useId();
11
11
  const [uncontrolledExpandedRowId, setUncontrolledExpandedRowId] = React.useState(defaultExpandedRowId);
@@ -1,5 +1,5 @@
1
1
  import { type VariantProps } from "class-variance-authority";
2
- import { Label } from "./label";
2
+ import { Label } from "./label.js";
3
3
  declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): import("@types/react").JSX.Element;
4
4
  declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
5
5
  variant?: "legend" | "label";
@@ -2,9 +2,9 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useMemo } from "react";
4
4
  import { cva } from "class-variance-authority";
5
- import { cn } from "../../lib/utils";
6
- import { Label } from "./label";
7
- import { Separator } from "./separator";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { Label } from "./label.js";
7
+ import { Separator } from "./separator.js";
8
8
  function FieldSet({ className, ...props }) {
9
9
  return (_jsx("fieldset", { "data-slot": "field-set", className: cn("flex flex-col gap-[calc(var(--panel-gap)+0.5rem)]", "has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3", className), ...props }));
10
10
  }
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { FileIcon, PaperclipIcon, UploadCloudIcon, XIcon } from "lucide-react";
3
- import { cn } from "../../lib/utils";
4
- import { Button } from "./button";
5
- import { Item, ItemActions, ItemContent, ItemDescription, ItemGroup, ItemGroupItem, ItemMedia, ItemTitle, } from "./item";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { Button } from "./button.js";
5
+ import { Item, ItemActions, ItemContent, ItemDescription, ItemGroup, ItemGroupItem, ItemMedia, ItemTitle, } from "./item.js";
6
6
  function FileUploadCompactControl({ acceptedFileTypes, disabled, dragActive, error, files, inputId, inputRef, maxAttachments, onAddFiles, onDragActiveChange, }) {
7
7
  const isAtLimit = files.length >= maxAttachments;
8
8
  return (_jsxs("div", { "data-drag-active": dragActive, className: cn("flex items-center gap-3 rounded-md border bg-card px-3 py-2 transition-colors", "data-[drag-active=true]:border-ring data-[drag-active=true]:bg-muted/50", disabled && "cursor-not-allowed opacity-60"), onDragEnter: (event) => handleDragEnter(event, disabled, onDragActiveChange), onDragLeave: (event) => handleDragLeave(event, onDragActiveChange), onDragOver: (event) => event.preventDefault(), onDrop: (event) => handleDrop(event, { disabled, onAddFiles, onDragActiveChange }), children: [_jsx("input", { accept: acceptedFileTypes, "aria-describedby": error ? `${inputId}-error` : undefined, className: "sr-only", disabled: disabled || isAtLimit, id: inputId, multiple: true, onChange: (event) => handleFileInputChange(event, onAddFiles), ref: inputRef, type: "file" }), _jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [_jsx(PaperclipIcon, { className: "size-4 shrink-0 text-muted-foreground" }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "truncate text-sm font-medium", children: files.length > 0 ? `${files.length} attached` : "Attach files" }), _jsx("div", { className: "truncate text-xs text-muted-foreground", children: "Files stay in the browser until submit." })] })] }), _jsx(Button, { disabled: disabled || isAtLimit, onClick: () => inputRef.current?.click(), size: "sm", type: "button", variant: "outline", children: "Attach" })] }));
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { FileUploadCompactControl, FileUploadDropZone, FileUploadList, } from "./file-upload-field-parts";
4
- import { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from "./field";
3
+ import { FileUploadCompactControl, FileUploadDropZone, FileUploadList, } from "./file-upload-field-parts.js";
4
+ import { Field, FieldContent, FieldDescription, FieldError, FieldLabel } from "./field.js";
5
5
  function FileUploadField({ acceptedFileTypes, className, description, disabled = false, files, label = "Attachments", maxAttachmentSizeMb = 10, maxAttachments = 4, onFilesChange, showConstraints = true, variant = "dropzone", }) {
6
6
  const inputId = React.useId();
7
7
  const uploadState = useFileUploadFieldState({
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "./alert-dialog";
4
- import { Sheet, SheetTrigger } from "./sheet";
3
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "./alert-dialog.js";
4
+ import { Sheet, SheetTrigger } from "./sheet.js";
5
5
  const FormSheetContext = React.createContext(null);
6
6
  function useFormSheetActions() {
7
7
  const actions = React.useContext(FormSheetContext);
@@ -2,9 +2,9 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { Slot } from "radix-ui";
4
4
  import { Controller, FormProvider, } from "react-hook-form";
5
- import { cn } from "../../lib/utils";
6
- import { FormFieldContext, FormItemContext, useFormField } from "./form-context";
7
- import { Label } from "./label";
5
+ import { cn } from "../../lib/utils.js";
6
+ import { FormFieldContext, FormItemContext, useFormField } from "./form-context.js";
7
+ import { Label } from "./label.js";
8
8
  const Form = FormProvider;
9
9
  const FormField = ({ ...props }) => {
10
10
  const contextValue = React.useMemo(() => ({ name: props.name }), [props.name]);
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { HoverCard as HoverCardPrimitive } from "radix-ui";
4
- import { cn } from "../../lib/utils";
4
+ import { cn } from "../../lib/utils.js";
5
5
  const HoverCardPortalContainerContext = React.createContext({
6
6
  container: null,
7
7
  });
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
- import { Button } from "./button";
3
+ import { Button } from "./button.js";
4
4
  declare function InputGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
5
  declare const inputGroupAddonVariants: (props?: ({
6
6
  align?: "inline-end" | "inline-start" | "block-end" | "block-start" | null | undefined;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
- import { cn } from "../../lib/utils";
4
- import { Button } from "./button";
5
- import { Input } from "./input";
6
- import { Textarea } from "./textarea";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { Button } from "./button.js";
5
+ import { Input } from "./input.js";
6
+ import { Textarea } from "./textarea.js";
7
7
  function InputGroup({ className, ...props }) {
8
8
  return (_jsx("div", { "data-slot": "input-group", role: "group", className: cn("group/input-group relative flex w-full items-center rounded-md border border-input shadow-xs transition-[color,box-shadow] outline-none dark:bg-input/30", "h-(--control-height) min-w-0 has-[>textarea]:h-auto",
9
9
  // Variants based on alignment.
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { OTPInput, OTPInputContext } from "input-otp";
5
5
  import { MinusIcon } from "lucide-react";
6
- import { cn } from "../../lib/utils";
6
+ import { cn } from "../../lib/utils.js";
7
7
  function InputOTP({ className, containerClassName, ...props }) {
8
8
  return (_jsx(OTPInput, { "data-slot": "input-otp", containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName), className: cn("disabled:cursor-not-allowed", className), ...props }));
9
9
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "../../lib/utils";
2
+ import { cn } from "../../lib/utils.js";
3
3
  function Input({ className, type, ...props }) {
4
4
  return (_jsx("input", { type: type, "data-slot": "input", className: cn("h-(--control-height) w-full min-w-0 rounded-md border border-input bg-transparent px-(--control-padding-x) py-1 text-base shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-[calc(var(--control-height)-0.375rem)] file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30", "focus-visible:border-ring focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", className), ...props }));
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
- import { Separator } from "./separator";
3
+ import { Separator } from "./separator.js";
4
4
  declare function ItemGroup({ className, role, ...props }: React.ComponentProps<"div">): React.JSX.Element;
5
5
  declare function ItemGroupItem({ role, ...props }: React.ComponentProps<"div">): React.JSX.Element;
6
6
  declare function ItemSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cva } from "class-variance-authority";
3
3
  import { Slot } from "radix-ui";
4
- import { cn } from "../../lib/utils";
5
- import { Separator } from "./separator";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { Separator } from "./separator.js";
6
6
  function ItemGroup({ className, role = "list", ...props }) {
7
7
  return (_jsx("div", { "data-slot": "item-group", role: role, className: cn("group/item-group flex flex-col", className), ...props }));
8
8
  }
@@ -12,12 +12,16 @@ function ItemGroupItem({ role = "listitem", ...props }) {
12
12
  function ItemSeparator({ className, ...props }) {
13
13
  return (_jsx(Separator, { "data-slot": "item-separator", orientation: "horizontal", className: cn("my-0", className), ...props }));
14
14
  }
15
- const itemVariants = cva("group/item flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-accent/50", {
15
+ const itemVariants = cva(
16
+ // Each variant owns the border color outright: `cn` does not resolve
17
+ // Tailwind conflicts, so base + variant both setting it would leave the
18
+ // winner to the consuming app's CSS emission order.
19
+ "group/item flex flex-wrap items-center rounded-md border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-accent/50", {
16
20
  variants: {
17
21
  variant: {
18
- default: "bg-transparent",
22
+ default: "border-transparent bg-transparent",
19
23
  outline: "border-border",
20
- muted: "bg-muted/50",
24
+ muted: "border-transparent bg-muted/50",
21
25
  },
22
26
  size: {
23
27
  default: "gap-(--panel-gap) p-(--panel-padding)",
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "../../lib/utils";
2
+ import { cn } from "../../lib/utils.js";
3
3
  function Kbd({ className, ...props }) {
4
4
  return (_jsx("kbd", { "data-slot": "kbd", className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-muted-foreground select-none", "[&_svg:not([class*='size-'])]:size-3", "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10", className), ...props }));
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { Label as LabelPrimitive } from "radix-ui";
3
- import { cn } from "../../lib/utils";
3
+ import { cn } from "../../lib/utils.js";
4
4
  function Label({ className, ...props }) {
5
5
  return (_jsx(LabelPrimitive.Root, { "data-slot": "label", className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className), ...props }));
6
6
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Card } from "./card";
2
+ import { Card } from "./card.js";
3
3
  type LoadingStateSize = "sm" | "default" | "lg";
4
4
  type LoadingStateProps = React.ComponentProps<"div"> & {
5
5
  description?: React.ReactNode;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
- import { cn } from "../../lib/utils";
4
- import { Card, CardContent, CardHeader } from "./card";
5
- import { Skeleton } from "./skeleton";
6
- import { Spinner } from "./spinner";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { Card, CardContent, CardHeader } from "./card.js";
5
+ import { Skeleton } from "./skeleton.js";
6
+ import { Spinner } from "./spinner.js";
7
7
  const loadingStateSizes = {
8
8
  sm: "min-h-14 gap-2 p-3",
9
9
  default: "min-h-24 gap-3 p-(--panel-padding)",
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
5
5
  import { Menubar as MenubarPrimitive } from "radix-ui";
6
- import { cn } from "../../lib/utils";
6
+ import { cn } from "../../lib/utils.js";
7
7
  const MenubarPortalContainerContext = React.createContext({
8
8
  container: null,
9
9
  });
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "../../lib/utils";
2
+ import { cn } from "../../lib/utils.js";
3
3
  function MetricsStrip({ className, ...props }) {
4
4
  return (_jsx("section", { "data-slot": "metrics-strip", className: cn("grid grid-cols-1 divide-y divide-border rounded-lg border bg-card text-card-foreground shadow-xs md:grid-cols-5 md:divide-x md:divide-y-0", className), ...props }));
5
5
  }
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ChevronDownIcon } from "lucide-react";
3
- import { cn } from "../../lib/utils";
3
+ import { cn } from "../../lib/utils.js";
4
4
  function NativeSelect({ className, size = "default", ...props }) {
5
5
  return (_jsxs("div", { className: "group/native-select relative w-fit has-[select:disabled]:opacity-50", "data-slot": "native-select-wrapper", children: [_jsx("select", { "data-slot": "native-select", "data-size": size, className: cn("h-(--control-height) w-full min-w-0 appearance-none rounded-md border border-input bg-transparent px-(--control-padding-x) py-1 pr-9 text-sm shadow-xs transition-[color,box-shadow] outline-none selection:bg-primary selection:text-primary-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed data-[size=sm]:h-(--control-height-sm) dark:bg-input/30 dark:hover:bg-input/50", "focus-visible:border-ring focus-visible:ring-[var(--focus-ring-width)] focus-visible:ring-ring/50", "aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40", className), ...props }), _jsx(ChevronDownIcon, { className: "pointer-events-none absolute top-1/2 right-3.5 size-4 -translate-y-1/2 text-muted-foreground opacity-50 select-none", "aria-hidden": "true", "data-slot": "native-select-icon" })] }));
6
6
  }
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ChevronDownIcon } from "lucide-react";
3
3
  import { NavigationMenu as NavigationMenuPrimitive } from "radix-ui";
4
- import { cn } from "../../lib/utils";
5
- import { navigationMenuTriggerStyle } from "./navigation-menu-variants";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { navigationMenuTriggerStyle } from "./navigation-menu-variants.js";
6
6
  function NavigationMenu({ className, children, viewport = true, ...props }) {
7
7
  return (_jsxs(NavigationMenuPrimitive.Root, { "data-slot": "navigation-menu", "data-viewport": viewport, className: cn("group/navigation-menu relative flex max-w-max flex-1 items-center justify-center", className), ...props, children: [children, viewport && _jsx(NavigationMenuViewport, {})] }));
8
8
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { Button } from "./button";
2
+ import { Button } from "./button.js";
3
3
  type PageHeaderBreadcrumbItem = {
4
4
  label: string;
5
5
  to?: string;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ArrowLeftIcon } from "lucide-react";
3
- import { Button } from "./button";
4
- import { cn } from "../../lib/utils";
3
+ import { Button } from "./button.js";
4
+ import { cn } from "../../lib/utils.js";
5
5
  function PageHeader({ actions, backLink, breadcrumbItems, children, className, subtitle, title, ...props }) {
6
6
  if (hasPageHeaderConvenienceContent({ actions, backLink, breadcrumbItems, subtitle, title })) {
7
7
  return (_jsx("header", { "data-slot": "page-header", className: cn("border-b bg-background text-foreground", className), ...props, children: _jsx(PageHeaderConvenienceLayout, { actions: actions, backLink: backLink, breadcrumbItems: breadcrumbItems, subtitle: subtitle, title: title, children: children }) }));
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import type { Button } from "./button";
2
+ import type { Button } from "./button.js";
3
3
  declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
4
4
  declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
5
5
  declare function PaginationItem({ ...props }: React.ComponentProps<"li">): React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ChevronLeftIcon, ChevronRightIcon, MoreHorizontalIcon } from "lucide-react";
3
- import { cn } from "../../lib/utils";
4
- import { buttonVariants } from "./button-variants";
3
+ import { cn } from "../../lib/utils.js";
4
+ import { buttonVariants } from "./button-variants.js";
5
5
  function Pagination({ className, ...props }) {
6
6
  return (_jsx("nav", { role: "navigation", "aria-label": "pagination", "data-slot": "pagination", className: cn("mx-auto flex w-full justify-center", className), ...props }));
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
  import { Popover as PopoverPrimitive } from "radix-ui";
4
- import { cn } from "../../lib/utils";
4
+ import { cn } from "../../lib/utils.js";
5
5
  const PopoverPortalContainerContext = React.createContext({
6
6
  container: null,
7
7
  });
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { Progress as ProgressPrimitive } from "radix-ui";
4
- import { cn } from "../../lib/utils";
4
+ import { cn } from "../../lib/utils.js";
5
5
  function Progress({ className, value, ...props }) {
6
6
  return (_jsx(ProgressPrimitive.Root, { "data-slot": "progress", className: cn("relative h-2 w-full overflow-hidden rounded-full bg-primary/20", className), ...props, children: _jsx(ProgressPrimitive.Indicator, { "data-slot": "progress-indicator", className: "h-full w-full flex-1 bg-primary transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) }));
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from "../../lib/utils";
2
+ import { cn } from "../../lib/utils.js";
3
3
  function PropertyList({ className, ...props }) {
4
4
  return (_jsx("dl", { "data-slot": "property-list", className: cn("grid border-t border-border text-sm", className), ...props }));
5
5
  }