@tulip-systems/core 0.6.1 → 0.7.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 (523) hide show
  1. package/LICENSE +662 -0
  2. package/dist/components/client.d.mts +19 -3
  3. package/dist/components/client.mjs +18 -2
  4. package/dist/components/editor/components/menu-nodes.client.mjs +1 -1
  5. package/dist/components/editor/components/menu-nodes.client.mjs.map +1 -1
  6. package/dist/components/editor/components/menu.client.mjs +3 -3
  7. package/dist/components/editor/components/menu.client.mjs.map +1 -1
  8. package/dist/components/emails/forget-password-email.mjs +6 -6
  9. package/dist/components/emails/forget-password-email.mjs.map +1 -1
  10. package/dist/components/header/back-button.client.mjs +2 -2
  11. package/dist/components/header/back-button.client.mjs.map +1 -1
  12. package/dist/components/header/bottom-bar.client.mjs +2 -2
  13. package/dist/components/header/bottom-bar.client.mjs.map +1 -1
  14. package/dist/components/header/breadcrumbs.client.mjs +1 -1
  15. package/dist/components/header/breadcrumbs.client.mjs.map +1 -1
  16. package/dist/components/header/header.client.mjs +1 -1
  17. package/dist/components/header/header.client.mjs.map +1 -1
  18. package/dist/components/layouts/empty-page.mjs +2 -2
  19. package/dist/components/layouts/empty-page.mjs.map +1 -1
  20. package/dist/components/layouts/error-page.mjs +3 -3
  21. package/dist/components/layouts/error-page.mjs.map +1 -1
  22. package/dist/components/layouts/providers.client.d.mts.map +1 -1
  23. package/dist/components/layouts/providers.client.mjs +3 -2
  24. package/dist/components/layouts/providers.client.mjs.map +1 -1
  25. package/dist/components/layouts/root-loading.mjs +2 -2
  26. package/dist/components/layouts/root-loading.mjs.map +1 -1
  27. package/dist/components/layouts/tab-layout.mjs +1 -1
  28. package/dist/components/layouts/tab-layout.mjs.map +1 -1
  29. package/dist/components/lists/data-list.mjs +1 -1
  30. package/dist/components/lists/data-list.mjs.map +1 -1
  31. package/dist/components/lists/data-stack.mjs +1 -1
  32. package/dist/components/lists/data-stack.mjs.map +1 -1
  33. package/dist/components/navigation/admin-sidebar-header.client.mjs +3 -3
  34. package/dist/components/navigation/admin-sidebar-header.client.mjs.map +1 -1
  35. package/dist/components/navigation/admin-sidebar-skeleton.mjs +1 -1
  36. package/dist/components/navigation/admin-sidebar-skeleton.mjs.map +1 -1
  37. package/dist/components/ui/accordion.client.d.mts +26 -0
  38. package/dist/components/ui/accordion.client.d.mts.map +1 -0
  39. package/dist/components/ui/accordion.client.mjs +58 -0
  40. package/dist/components/ui/accordion.client.mjs.map +1 -0
  41. package/dist/components/ui/alert-dialog.client.d.mts +61 -0
  42. package/dist/components/ui/alert-dialog.client.d.mts.map +1 -0
  43. package/dist/components/ui/alert-dialog.client.mjs +104 -0
  44. package/dist/components/ui/alert-dialog.client.mjs.map +1 -0
  45. package/dist/components/ui/alert.d.mts +5 -1
  46. package/dist/components/ui/alert.d.mts.map +1 -1
  47. package/dist/components/ui/alert.mjs +13 -6
  48. package/dist/components/ui/alert.mjs.map +1 -1
  49. package/dist/components/ui/aspect-ratio.client.d.mts +10 -0
  50. package/dist/components/ui/aspect-ratio.client.d.mts.map +1 -0
  51. package/dist/components/ui/aspect-ratio.client.mjs +16 -0
  52. package/dist/components/ui/aspect-ratio.client.mjs.map +1 -0
  53. package/dist/components/ui/avatar.client.d.mts +21 -6
  54. package/dist/components/ui/avatar.client.d.mts.map +1 -1
  55. package/dist/components/ui/avatar.client.mjs +31 -9
  56. package/dist/components/ui/avatar.client.mjs.map +1 -1
  57. package/dist/components/ui/badge.d.mts +1 -1
  58. package/dist/components/ui/badge.d.mts.map +1 -1
  59. package/dist/components/ui/badge.mjs +11 -8
  60. package/dist/components/ui/badge.mjs.map +1 -1
  61. package/dist/components/ui/breadcrumb.d.mts +3 -1
  62. package/dist/components/ui/breadcrumb.d.mts.map +1 -1
  63. package/dist/components/ui/breadcrumb.mjs +7 -7
  64. package/dist/components/ui/breadcrumb.mjs.map +1 -1
  65. package/dist/components/ui/button-group.d.mts +29 -0
  66. package/dist/components/ui/button-group.d.mts.map +1 -0
  67. package/dist/components/ui/button-group.mjs +41 -0
  68. package/dist/components/ui/button-group.mjs.map +1 -0
  69. package/dist/components/ui/button.d.mts +1 -1
  70. package/dist/components/ui/button.d.mts.map +1 -1
  71. package/dist/components/ui/button.mjs +19 -13
  72. package/dist/components/ui/button.mjs.map +1 -1
  73. package/dist/components/ui/{calendar.d.mts → calendar.client.d.mts} +7 -4
  74. package/dist/components/ui/calendar.client.d.mts.map +1 -0
  75. package/dist/components/ui/{calendar.mjs → calendar.client.mjs} +22 -19
  76. package/dist/components/ui/calendar.client.mjs.map +1 -0
  77. package/dist/components/ui/card.d.mts +9 -2
  78. package/dist/components/ui/card.d.mts.map +1 -1
  79. package/dist/components/ui/card.mjs +15 -7
  80. package/dist/components/ui/card.mjs.map +1 -1
  81. package/dist/components/ui/{carousel.d.mts → carousel.client.d.mts} +12 -3
  82. package/dist/components/ui/carousel.client.d.mts.map +1 -0
  83. package/dist/components/ui/{carousel.mjs → carousel.client.mjs} +10 -10
  84. package/dist/components/ui/carousel.client.mjs.map +1 -0
  85. package/dist/components/ui/chart.client.d.mts.map +1 -1
  86. package/dist/components/ui/chart.client.mjs +11 -11
  87. package/dist/components/ui/chart.client.mjs.map +1 -1
  88. package/dist/components/ui/checkbox.client.d.mts +12 -0
  89. package/dist/components/ui/checkbox.client.d.mts.map +1 -0
  90. package/dist/components/ui/checkbox.client.mjs +24 -0
  91. package/dist/components/ui/checkbox.client.mjs.map +1 -0
  92. package/dist/components/ui/collapsible.client.d.mts +6 -6
  93. package/dist/components/ui/collapsible.client.d.mts.map +1 -1
  94. package/dist/components/ui/collapsible.client.mjs +6 -6
  95. package/dist/components/ui/collapsible.client.mjs.map +1 -1
  96. package/dist/components/ui/combobox-dropdown.client.d.mts +1 -1
  97. package/dist/components/ui/combobox-dropdown.client.mjs +2 -2
  98. package/dist/components/ui/combobox-dropdown.client.mjs.map +1 -1
  99. package/dist/components/ui/combobox.client.mjs +4 -4
  100. package/dist/components/ui/combobox.client.mjs.map +1 -1
  101. package/dist/components/ui/{command.d.mts → command.client.d.mts} +8 -2
  102. package/dist/components/ui/command.client.d.mts.map +1 -0
  103. package/dist/components/ui/command.client.mjs +91 -0
  104. package/dist/components/ui/command.client.mjs.map +1 -0
  105. package/dist/components/ui/context-menu.client.d.mts +86 -0
  106. package/dist/components/ui/context-menu.client.d.mts.map +1 -0
  107. package/dist/components/ui/context-menu.client.mjs +128 -0
  108. package/dist/components/ui/context-menu.client.mjs.map +1 -0
  109. package/dist/components/ui/date-picker.client.mjs +2 -2
  110. package/dist/components/ui/date-picker.client.mjs.map +1 -1
  111. package/dist/components/ui/dialog.client.d.mts +19 -12
  112. package/dist/components/ui/dialog.client.d.mts.map +1 -1
  113. package/dist/components/ui/dialog.client.mjs +40 -29
  114. package/dist/components/ui/dialog.client.mjs.map +1 -1
  115. package/dist/components/ui/drawer.client.d.mts.map +1 -1
  116. package/dist/components/ui/drawer.client.mjs +5 -5
  117. package/dist/components/ui/drawer.client.mjs.map +1 -1
  118. package/dist/components/ui/dropdown-menu.client.d.mts +85 -0
  119. package/dist/components/ui/dropdown-menu.client.d.mts.map +1 -0
  120. package/dist/components/ui/dropdown-menu.client.mjs +131 -0
  121. package/dist/components/ui/dropdown-menu.client.mjs.map +1 -0
  122. package/dist/components/ui/empty.d.mts +36 -0
  123. package/dist/components/ui/empty.d.mts.map +1 -0
  124. package/dist/components/ui/empty.mjs +62 -0
  125. package/dist/components/ui/empty.mjs.map +1 -0
  126. package/dist/components/ui/field.client.d.mts +65 -0
  127. package/dist/components/ui/field.client.d.mts.map +1 -0
  128. package/dist/components/ui/field.client.mjs +114 -0
  129. package/dist/components/ui/field.client.mjs.map +1 -0
  130. package/dist/components/ui/form.client.d.mts +3 -4
  131. package/dist/components/ui/form.client.d.mts.map +1 -1
  132. package/dist/components/ui/form.client.mjs +4 -4
  133. package/dist/components/ui/form.client.mjs.map +1 -1
  134. package/dist/components/ui/hover-card.client.d.mts +6 -6
  135. package/dist/components/ui/hover-card.client.d.mts.map +1 -1
  136. package/dist/components/ui/hover-card.client.mjs +14 -11
  137. package/dist/components/ui/hover-card.client.mjs.map +1 -1
  138. package/dist/components/ui/{input-date-time.d.mts → input-date-time.client.d.mts} +3 -3
  139. package/dist/components/ui/input-date-time.client.d.mts.map +1 -0
  140. package/dist/components/ui/{input-date-time.mjs → input-date-time.client.mjs} +4 -2
  141. package/dist/components/ui/input-date-time.client.mjs.map +1 -0
  142. package/dist/components/ui/input-date.d.mts +1 -1
  143. package/dist/components/ui/input-date.d.mts.map +1 -1
  144. package/dist/components/ui/input-date.mjs.map +1 -1
  145. package/dist/components/ui/input-group.client.d.mts +59 -0
  146. package/dist/components/ui/input-group.client.d.mts.map +1 -0
  147. package/dist/components/ui/input-group.client.mjs +106 -0
  148. package/dist/components/ui/input-group.client.mjs.map +1 -0
  149. package/dist/components/ui/input-recipient.mjs +11 -11
  150. package/dist/components/ui/input-recipient.mjs.map +1 -1
  151. package/dist/components/ui/input-time.d.mts +1 -1
  152. package/dist/components/ui/input-time.d.mts.map +1 -1
  153. package/dist/components/ui/input-time.mjs.map +1 -1
  154. package/dist/components/ui/input.d.mts.map +1 -1
  155. package/dist/components/ui/input.mjs +1 -1
  156. package/dist/components/ui/input.mjs.map +1 -1
  157. package/dist/components/ui/item.d.mts +63 -0
  158. package/dist/components/ui/item.d.mts.map +1 -0
  159. package/dist/components/ui/item.mjs +119 -0
  160. package/dist/components/ui/item.mjs.map +1 -0
  161. package/dist/components/ui/kbd.d.mts +14 -0
  162. package/dist/components/ui/kbd.d.mts.map +1 -0
  163. package/dist/components/ui/kbd.mjs +22 -0
  164. package/dist/components/ui/kbd.mjs.map +1 -0
  165. package/dist/components/ui/label.d.mts +4 -4
  166. package/dist/components/ui/label.d.mts.map +1 -1
  167. package/dist/components/ui/label.mjs +5 -5
  168. package/dist/components/ui/label.mjs.map +1 -1
  169. package/dist/components/ui/loader.d.mts +7 -0
  170. package/dist/components/ui/loader.d.mts.map +1 -0
  171. package/dist/components/ui/loader.mjs +63 -0
  172. package/dist/components/ui/loader.mjs.map +1 -0
  173. package/dist/components/ui/navigation-menu.d.mts +11 -11
  174. package/dist/components/ui/navigation-menu.d.mts.map +1 -1
  175. package/dist/components/ui/navigation-menu.mjs +18 -20
  176. package/dist/components/ui/navigation-menu.mjs.map +1 -1
  177. package/dist/components/ui/pagination.d.mts +8 -2
  178. package/dist/components/ui/pagination.d.mts.map +1 -1
  179. package/dist/components/ui/pagination.mjs +29 -21
  180. package/dist/components/ui/pagination.mjs.map +1 -1
  181. package/dist/components/ui/popover.client.d.mts +35 -0
  182. package/dist/components/ui/popover.client.d.mts.map +1 -0
  183. package/dist/components/ui/popover.client.mjs +59 -0
  184. package/dist/components/ui/popover.client.mjs.map +1 -0
  185. package/dist/components/ui/progress.client.d.mts +4 -4
  186. package/dist/components/ui/progress.client.d.mts.map +1 -1
  187. package/dist/components/ui/progress.client.mjs +7 -7
  188. package/dist/components/ui/progress.client.mjs.map +1 -1
  189. package/dist/components/ui/radio-group.d.mts +5 -5
  190. package/dist/components/ui/radio-group.d.mts.map +1 -1
  191. package/dist/components/ui/radio-group.mjs +10 -11
  192. package/dist/components/ui/radio-group.mjs.map +1 -1
  193. package/dist/components/ui/resizable.client.d.mts +3 -4
  194. package/dist/components/ui/resizable.client.d.mts.map +1 -1
  195. package/dist/components/ui/resizable.client.mjs +5 -9
  196. package/dist/components/ui/resizable.client.mjs.map +1 -1
  197. package/dist/components/ui/scroll-area.d.mts +5 -5
  198. package/dist/components/ui/scroll-area.d.mts.map +1 -1
  199. package/dist/components/ui/scroll-area.mjs +12 -11
  200. package/dist/components/ui/scroll-area.mjs.map +1 -1
  201. package/dist/components/ui/select.client.d.mts +18 -13
  202. package/dist/components/ui/select.client.d.mts.map +1 -1
  203. package/dist/components/ui/select.client.mjs +37 -32
  204. package/dist/components/ui/select.client.mjs.map +1 -1
  205. package/dist/components/ui/separator.d.mts +4 -4
  206. package/dist/components/ui/separator.d.mts.map +1 -1
  207. package/dist/components/ui/separator.mjs +6 -6
  208. package/dist/components/ui/separator.mjs.map +1 -1
  209. package/dist/components/ui/sheet.client.d.mts +9 -7
  210. package/dist/components/ui/sheet.client.d.mts.map +1 -1
  211. package/dist/components/ui/sheet.client.mjs +30 -20
  212. package/dist/components/ui/sheet.client.mjs.map +1 -1
  213. package/dist/components/ui/sidebar.client.mjs +28 -28
  214. package/dist/components/ui/sidebar.client.mjs.map +1 -1
  215. package/dist/components/ui/skeleton.mjs +1 -1
  216. package/dist/components/ui/skeleton.mjs.map +1 -1
  217. package/dist/components/ui/slider.d.mts +4 -4
  218. package/dist/components/ui/slider.d.mts.map +1 -1
  219. package/dist/components/ui/slider.mjs +11 -11
  220. package/dist/components/ui/slider.mjs.map +1 -1
  221. package/dist/components/ui/spinner.d.mts +10 -0
  222. package/dist/components/ui/spinner.d.mts.map +1 -0
  223. package/dist/components/ui/spinner.mjs +9 -55
  224. package/dist/components/ui/spinner.mjs.map +1 -1
  225. package/dist/components/ui/switch.client.d.mts +15 -0
  226. package/dist/components/ui/switch.client.d.mts.map +1 -0
  227. package/dist/components/ui/switch.client.mjs +23 -0
  228. package/dist/components/ui/switch.client.mjs.map +1 -0
  229. package/dist/components/ui/tabs.client.d.mts +31 -0
  230. package/dist/components/ui/tabs.client.d.mts.map +1 -0
  231. package/dist/components/ui/tabs.client.mjs +49 -0
  232. package/dist/components/ui/tabs.client.mjs.map +1 -0
  233. package/dist/components/ui/textarea.d.mts.map +1 -1
  234. package/dist/components/ui/textarea.mjs +1 -1
  235. package/dist/components/ui/textarea.mjs.map +1 -1
  236. package/dist/components/ui/toggle-group.client.d.mts +11 -6
  237. package/dist/components/ui/toggle-group.client.d.mts.map +1 -1
  238. package/dist/components/ui/toggle-group.client.mjs +20 -12
  239. package/dist/components/ui/toggle-group.client.mjs.map +1 -1
  240. package/dist/components/ui/{toggle.d.mts → toggle.client.d.mts} +6 -6
  241. package/dist/components/ui/toggle.client.d.mts.map +1 -0
  242. package/dist/components/ui/toggle.client.mjs +40 -0
  243. package/dist/components/ui/toggle.client.mjs.map +1 -0
  244. package/dist/components/ui/tooltip.client.d.mts +7 -7
  245. package/dist/components/ui/tooltip.client.d.mts.map +1 -1
  246. package/dist/components/ui/tooltip.client.mjs +10 -10
  247. package/dist/components/ui/tooltip.client.mjs.map +1 -1
  248. package/dist/components.d.mts +12 -20
  249. package/dist/components.mjs +12 -20
  250. package/dist/inline-edit/client.d.mts +2 -2
  251. package/dist/lib/hooks/use-indicator.d.mts.map +1 -1
  252. package/dist/lib/hooks/use-indicator.mjs.map +1 -1
  253. package/dist/modules/auth/components/auth-layout.server.mjs +2 -2
  254. package/dist/modules/auth/components/auth-layout.server.mjs.map +1 -1
  255. package/dist/modules/auth/components/create-first-user-page.client.mjs +3 -3
  256. package/dist/modules/auth/components/create-first-user-page.client.mjs.map +1 -1
  257. package/dist/modules/auth/components/forget-password-page.client.mjs +1 -1
  258. package/dist/modules/auth/components/forget-password-page.client.mjs.map +1 -1
  259. package/dist/modules/auth/components/login-page.client.mjs +5 -5
  260. package/dist/modules/auth/components/login-page.client.mjs.map +1 -1
  261. package/dist/modules/auth/components/reset-password-page.client.mjs +5 -5
  262. package/dist/modules/auth/components/reset-password-page.client.mjs.map +1 -1
  263. package/dist/modules/commands/components/alert-dialog-command.client.d.mts +9 -9
  264. package/dist/modules/commands/components/alert-dialog-command.client.d.mts.map +1 -1
  265. package/dist/modules/commands/components/alert-dialog-command.client.mjs +3 -3
  266. package/dist/modules/commands/components/alert-dialog-command.client.mjs.map +1 -1
  267. package/dist/modules/commands/components/click-command.client.mjs +2 -2
  268. package/dist/modules/commands/components/click-command.client.mjs.map +1 -1
  269. package/dist/modules/commands/components/dialog-command.client.d.mts +8 -8
  270. package/dist/modules/commands/components/dialog-command.client.d.mts.map +1 -1
  271. package/dist/modules/commands/components/dialog-command.client.mjs +2 -2
  272. package/dist/modules/commands/components/dialog-command.client.mjs.map +1 -1
  273. package/dist/modules/commands/components/dropdown-command.client.mjs +2 -2
  274. package/dist/modules/commands/components/dropdown-command.client.mjs.map +1 -1
  275. package/dist/modules/commands/components/empty-command.client.mjs +2 -2
  276. package/dist/modules/commands/components/empty-command.client.mjs.map +1 -1
  277. package/dist/modules/commands/components/form-dialog-command.client.d.mts +11 -9
  278. package/dist/modules/commands/components/form-dialog-command.client.d.mts.map +1 -1
  279. package/dist/modules/commands/components/form-dialog-command.client.mjs +8 -6
  280. package/dist/modules/commands/components/form-dialog-command.client.mjs.map +1 -1
  281. package/dist/modules/commands/menus/context-menu.client.d.mts +3 -3
  282. package/dist/modules/commands/menus/context-menu.client.d.mts.map +1 -1
  283. package/dist/modules/commands/menus/context-menu.client.mjs +1 -1
  284. package/dist/modules/commands/menus/context-menu.client.mjs.map +1 -1
  285. package/dist/modules/commands/menus/dropdown-menu.client.mjs +2 -2
  286. package/dist/modules/commands/menus/dropdown-menu.client.mjs.map +1 -1
  287. package/dist/modules/commands/menus/floating-menu.client.mjs +2 -2
  288. package/dist/modules/commands/menus/floating-menu.client.mjs.map +1 -1
  289. package/dist/modules/commands/utils/archive-command.client.mjs +1 -1
  290. package/dist/modules/commands/utils/archive-command.client.mjs.map +1 -1
  291. package/dist/modules/commands/utils/delete-command.client.mjs +1 -1
  292. package/dist/modules/commands/utils/delete-command.client.mjs.map +1 -1
  293. package/dist/modules/data-tables/components/cell/select.client.mjs +1 -1
  294. package/dist/modules/data-tables/components/cell/select.client.mjs.map +1 -1
  295. package/dist/modules/data-tables/components/column-header.mjs +5 -5
  296. package/dist/modules/data-tables/components/column-header.mjs.map +1 -1
  297. package/dist/modules/data-tables/components/filters/combobox.client.mjs +6 -6
  298. package/dist/modules/data-tables/components/filters/combobox.client.mjs.map +1 -1
  299. package/dist/modules/data-tables/components/filters/slider.client.mjs +2 -2
  300. package/dist/modules/data-tables/components/filters/slider.client.mjs.map +1 -1
  301. package/dist/modules/data-tables/components/header.mjs +1 -1
  302. package/dist/modules/data-tables/components/header.mjs.map +1 -1
  303. package/dist/modules/data-tables/components/skeleton.mjs +2 -2
  304. package/dist/modules/data-tables/components/skeleton.mjs.map +1 -1
  305. package/dist/modules/data-tables/components/table.mjs +3 -3
  306. package/dist/modules/data-tables/components/table.mjs.map +1 -1
  307. package/dist/modules/data-tables/components/toolbar.mjs +1 -1
  308. package/dist/modules/data-tables/components/toolbar.mjs.map +1 -1
  309. package/dist/modules/data-tables/strategies/pagination/components.mjs +3 -3
  310. package/dist/modules/data-tables/strategies/pagination/components.mjs.map +1 -1
  311. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs +1 -1
  312. package/dist/modules/data-tables/tables/inline-table/components/cells/common.mjs.map +1 -1
  313. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +1 -1
  314. package/dist/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs.map +1 -1
  315. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +1 -1
  316. package/dist/modules/data-tables/tables/inline-table/components/cells/read-only.mjs.map +1 -1
  317. package/dist/modules/inline-edit/components/date-input.client.mjs +3 -3
  318. package/dist/modules/inline-edit/components/date-input.client.mjs.map +1 -1
  319. package/dist/modules/inline-edit/components/date-picker.client.mjs +2 -2
  320. package/dist/modules/inline-edit/components/date-picker.client.mjs.map +1 -1
  321. package/dist/modules/inline-edit/components/date-time.client.d.mts +1 -1
  322. package/dist/modules/inline-edit/components/date-time.client.mjs +1 -1
  323. package/dist/modules/inline-edit/components/date-time.client.mjs.map +1 -1
  324. package/dist/modules/inline-edit/components/input-toggle.client.mjs +2 -2
  325. package/dist/modules/inline-edit/components/input-toggle.client.mjs.map +1 -1
  326. package/dist/modules/inline-edit/components/input.client.mjs +3 -3
  327. package/dist/modules/inline-edit/components/input.client.mjs.map +1 -1
  328. package/dist/modules/inline-edit/components/select.client.d.mts +8 -11
  329. package/dist/modules/inline-edit/components/select.client.d.mts.map +1 -1
  330. package/dist/modules/inline-edit/components/select.client.mjs.map +1 -1
  331. package/dist/modules/inline-edit/components/switch.client.d.mts +3 -2
  332. package/dist/modules/inline-edit/components/switch.client.d.mts.map +1 -1
  333. package/dist/modules/inline-edit/components/switch.client.mjs +1 -1
  334. package/dist/modules/inline-edit/components/switch.client.mjs.map +1 -1
  335. package/dist/modules/inline-edit/components/toggle.client.mjs +1 -1
  336. package/dist/modules/inline-edit/components/toggle.client.mjs.map +1 -1
  337. package/dist/modules/inline-edit/lib/variants.d.mts +1 -1
  338. package/dist/modules/inline-edit/lib/variants.mjs +1 -1
  339. package/dist/modules/inline-edit/lib/variants.mjs.map +1 -1
  340. package/dist/modules/storage/components/dropzone.client.mjs +8 -8
  341. package/dist/modules/storage/components/dropzone.client.mjs.map +1 -1
  342. package/dist/modules/storage/components/image-grid.client.mjs +5 -5
  343. package/dist/modules/storage/components/image-grid.client.mjs.map +1 -1
  344. package/dist/modules/storage/components/upload-zone.client.mjs +1 -1
  345. package/dist/modules/storage/components/upload-zone.client.mjs.map +1 -1
  346. package/dist/modules/storage/lib/router.server.d.mts +11 -11
  347. package/dist/modules/storage/lib/service.server.d.mts +9 -9
  348. package/dist/modules/storage/lib/validators.d.mts +7 -7
  349. package/package.json +6 -31
  350. package/src/components/editor/components/menu-nodes.client.tsx +1 -1
  351. package/src/components/editor/components/menu.client.tsx +3 -3
  352. package/src/components/emails/forget-password-email.tsx +6 -6
  353. package/src/components/entry.client.ts +16 -0
  354. package/src/components/entry.ts +6 -14
  355. package/src/components/header/back-button.client.tsx +2 -2
  356. package/src/components/header/bottom-bar.client.tsx +2 -2
  357. package/src/components/header/breadcrumbs.client.tsx +1 -1
  358. package/src/components/header/header.client.tsx +1 -1
  359. package/src/components/layouts/empty-page.tsx +2 -2
  360. package/src/components/layouts/error-page.tsx +3 -3
  361. package/src/components/layouts/providers.client.tsx +8 -5
  362. package/src/components/layouts/root-loading.tsx +2 -2
  363. package/src/components/layouts/tab-layout.tsx +1 -1
  364. package/src/components/lists/data-list.tsx +1 -1
  365. package/src/components/lists/data-stack.tsx +1 -1
  366. package/src/components/navigation/admin-sidebar-header.client.tsx +3 -3
  367. package/src/components/navigation/admin-sidebar-skeleton.tsx +1 -1
  368. package/src/components/ui/accordion.client.tsx +83 -0
  369. package/src/components/ui/alert-dialog.client.tsx +181 -0
  370. package/src/components/ui/alert.tsx +15 -7
  371. package/src/components/ui/aspect-ratio.client.tsx +9 -0
  372. package/src/components/ui/avatar.client.tsx +61 -6
  373. package/src/components/ui/badge.tsx +17 -11
  374. package/src/components/ui/breadcrumb.tsx +9 -10
  375. package/src/components/ui/button-group.tsx +78 -0
  376. package/src/components/ui/button.tsx +26 -16
  377. package/src/components/ui/{calendar.tsx → calendar.client.tsx} +27 -20
  378. package/src/components/ui/card.tsx +41 -8
  379. package/src/components/ui/{carousel.tsx → carousel.client.tsx} +12 -12
  380. package/src/components/ui/chart.client.tsx +105 -103
  381. package/src/components/ui/checkbox.client.tsx +28 -0
  382. package/src/components/ui/collapsible.client.tsx +2 -2
  383. package/src/components/ui/combobox-dropdown.client.tsx +2 -2
  384. package/src/components/ui/combobox.client.tsx +6 -6
  385. package/src/components/ui/command.client.tsx +179 -0
  386. package/src/components/ui/{context-menu.tsx → context-menu.client.tsx} +86 -64
  387. package/src/components/ui/date-picker.client.tsx +2 -2
  388. package/src/components/ui/dialog.client.tsx +43 -20
  389. package/src/components/ui/drawer.client.tsx +13 -15
  390. package/src/components/ui/{dropdown-menu.tsx → dropdown-menu.client.tsx} +45 -24
  391. package/src/components/ui/empty.tsx +93 -0
  392. package/src/components/ui/field.client.tsx +224 -0
  393. package/src/components/ui/form.client.tsx +4 -4
  394. package/src/components/ui/hover-card.client.tsx +14 -13
  395. package/src/components/ui/{input-date-time.tsx → input-date-time.client.tsx} +6 -1
  396. package/src/components/ui/input-date.tsx +1 -1
  397. package/src/components/ui/input-group.client.tsx +191 -0
  398. package/src/components/ui/input-recipient.tsx +12 -12
  399. package/src/components/ui/input-time.tsx +1 -1
  400. package/src/components/ui/input.tsx +2 -4
  401. package/src/components/ui/item.tsx +182 -0
  402. package/src/components/ui/kbd.tsx +26 -0
  403. package/src/components/ui/label.tsx +2 -3
  404. package/src/components/ui/loader.tsx +51 -0
  405. package/src/components/ui/navigation-menu.tsx +14 -17
  406. package/src/components/ui/pagination.tsx +31 -26
  407. package/src/components/ui/popover.client.tsx +73 -0
  408. package/src/components/ui/progress.client.tsx +6 -4
  409. package/src/components/ui/radio-group.tsx +5 -7
  410. package/src/components/ui/resizable.client.tsx +9 -19
  411. package/src/components/ui/scroll-area.tsx +5 -7
  412. package/src/components/ui/select.client.tsx +40 -22
  413. package/src/components/ui/separator.tsx +3 -4
  414. package/src/components/ui/sheet.client.tsx +19 -18
  415. package/src/components/ui/sidebar.client.tsx +27 -27
  416. package/src/components/ui/skeleton.tsx +1 -1
  417. package/src/components/ui/slider.tsx +5 -10
  418. package/src/components/ui/spinner.tsx +12 -48
  419. package/src/components/ui/switch.client.tsx +32 -0
  420. package/src/components/ui/tabs.client.tsx +79 -0
  421. package/src/components/ui/textarea.tsx +1 -2
  422. package/src/components/ui/toggle-group.client.tsx +26 -10
  423. package/src/components/ui/toggle.client.tsx +44 -0
  424. package/src/components/ui/tooltip.client.tsx +4 -9
  425. package/src/lib/hooks/use-indicator.tsx +4 -7
  426. package/src/modules/auth/components/auth-layout.server.tsx +2 -2
  427. package/src/modules/auth/components/create-first-user-page.client.tsx +4 -4
  428. package/src/modules/auth/components/forget-password-page.client.tsx +1 -1
  429. package/src/modules/auth/components/login-page.client.tsx +6 -6
  430. package/src/modules/auth/components/reset-password-page.client.tsx +7 -7
  431. package/src/modules/commands/components/alert-dialog-command.client.tsx +20 -16
  432. package/src/modules/commands/components/click-command.client.tsx +2 -2
  433. package/src/modules/commands/components/dialog-command.client.tsx +11 -10
  434. package/src/modules/commands/components/dropdown-command.client.tsx +2 -2
  435. package/src/modules/commands/components/empty-command.client.tsx +2 -2
  436. package/src/modules/commands/components/form-dialog-command.client.tsx +29 -13
  437. package/src/modules/commands/menus/context-menu.client.tsx +3 -4
  438. package/src/modules/commands/menus/dropdown-menu.client.tsx +2 -2
  439. package/src/modules/commands/menus/floating-menu.client.tsx +2 -2
  440. package/src/modules/commands/utils/archive-command.client.tsx +1 -1
  441. package/src/modules/commands/utils/delete-command.client.tsx +1 -1
  442. package/src/modules/data-tables/components/cell/select.client.tsx +1 -1
  443. package/src/modules/data-tables/components/column-header.tsx +5 -5
  444. package/src/modules/data-tables/components/filters/combobox.client.tsx +6 -6
  445. package/src/modules/data-tables/components/filters/slider.client.tsx +2 -2
  446. package/src/modules/data-tables/components/header.tsx +1 -1
  447. package/src/modules/data-tables/components/skeleton.tsx +2 -2
  448. package/src/modules/data-tables/components/table.tsx +3 -3
  449. package/src/modules/data-tables/components/toolbar.tsx +1 -1
  450. package/src/modules/data-tables/strategies/pagination/components.tsx +3 -3
  451. package/src/modules/data-tables/tables/inline-table/components/cells/common.tsx +1 -1
  452. package/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.tsx +1 -1
  453. package/src/modules/data-tables/tables/inline-table/components/cells/read-only.tsx +1 -1
  454. package/src/modules/inline-edit/components/date-input.client.tsx +3 -3
  455. package/src/modules/inline-edit/components/date-picker.client.tsx +2 -2
  456. package/src/modules/inline-edit/components/date-time.client.tsx +1 -1
  457. package/src/modules/inline-edit/components/input-toggle.client.tsx +2 -2
  458. package/src/modules/inline-edit/components/input.client.tsx +3 -3
  459. package/src/modules/inline-edit/components/select.client.tsx +6 -20
  460. package/src/modules/inline-edit/components/switch.client.tsx +3 -3
  461. package/src/modules/inline-edit/components/toggle.client.tsx +1 -1
  462. package/src/modules/inline-edit/lib/variants.ts +1 -1
  463. package/src/modules/storage/components/dropzone.client.tsx +8 -8
  464. package/src/modules/storage/components/image-grid.client.tsx +5 -5
  465. package/src/modules/storage/components/upload-zone.client.tsx +1 -1
  466. package/src/styles.css +1 -3
  467. package/dist/components/ui/accordion.d.mts +0 -25
  468. package/dist/components/ui/accordion.d.mts.map +0 -1
  469. package/dist/components/ui/accordion.mjs +0 -46
  470. package/dist/components/ui/accordion.mjs.map +0 -1
  471. package/dist/components/ui/alert-dialog.d.mts +0 -43
  472. package/dist/components/ui/alert-dialog.d.mts.map +0 -1
  473. package/dist/components/ui/alert-dialog.mjs +0 -84
  474. package/dist/components/ui/alert-dialog.mjs.map +0 -1
  475. package/dist/components/ui/aspect-ratio.d.mts +0 -8
  476. package/dist/components/ui/aspect-ratio.d.mts.map +0 -1
  477. package/dist/components/ui/aspect-ratio.mjs +0 -16
  478. package/dist/components/ui/aspect-ratio.mjs.map +0 -1
  479. package/dist/components/ui/calendar.d.mts.map +0 -1
  480. package/dist/components/ui/calendar.mjs.map +0 -1
  481. package/dist/components/ui/carousel.d.mts.map +0 -1
  482. package/dist/components/ui/carousel.mjs.map +0 -1
  483. package/dist/components/ui/checkbox.d.mts +0 -12
  484. package/dist/components/ui/checkbox.d.mts.map +0 -1
  485. package/dist/components/ui/checkbox.mjs +0 -24
  486. package/dist/components/ui/checkbox.mjs.map +0 -1
  487. package/dist/components/ui/command.d.mts.map +0 -1
  488. package/dist/components/ui/command.mjs +0 -88
  489. package/dist/components/ui/command.mjs.map +0 -1
  490. package/dist/components/ui/context-menu.d.mts +0 -77
  491. package/dist/components/ui/context-menu.d.mts.map +0 -1
  492. package/dist/components/ui/context-menu.mjs +0 -125
  493. package/dist/components/ui/context-menu.mjs.map +0 -1
  494. package/dist/components/ui/dropdown-menu.d.mts +0 -78
  495. package/dist/components/ui/dropdown-menu.d.mts.map +0 -1
  496. package/dist/components/ui/dropdown-menu.mjs +0 -126
  497. package/dist/components/ui/dropdown-menu.mjs.map +0 -1
  498. package/dist/components/ui/input-date-time.d.mts.map +0 -1
  499. package/dist/components/ui/input-date-time.mjs.map +0 -1
  500. package/dist/components/ui/popover.d.mts +0 -23
  501. package/dist/components/ui/popover.d.mts.map +0 -1
  502. package/dist/components/ui/popover.mjs +0 -38
  503. package/dist/components/ui/popover.mjs.map +0 -1
  504. package/dist/components/ui/switch.d.mts +0 -12
  505. package/dist/components/ui/switch.d.mts.map +0 -1
  506. package/dist/components/ui/switch.mjs +0 -22
  507. package/dist/components/ui/switch.mjs.map +0 -1
  508. package/dist/components/ui/tabs.d.mts +0 -24
  509. package/dist/components/ui/tabs.d.mts.map +0 -1
  510. package/dist/components/ui/tabs.mjs +0 -39
  511. package/dist/components/ui/tabs.mjs.map +0 -1
  512. package/dist/components/ui/toggle.d.mts.map +0 -1
  513. package/dist/components/ui/toggle.mjs +0 -40
  514. package/dist/components/ui/toggle.mjs.map +0 -1
  515. package/src/components/ui/accordion.tsx +0 -63
  516. package/src/components/ui/alert-dialog.tsx +0 -133
  517. package/src/components/ui/aspect-ratio.tsx +0 -9
  518. package/src/components/ui/checkbox.tsx +0 -29
  519. package/src/components/ui/command.tsx +0 -154
  520. package/src/components/ui/popover.tsx +0 -42
  521. package/src/components/ui/switch.tsx +0 -28
  522. package/src/components/ui/tabs.tsx +0 -54
  523. package/src/components/ui/toggle.tsx +0 -46
@@ -29,22 +29,38 @@ export * from "./navigation/admin-sidebar-paths.client";
29
29
  /**
30
30
  * Components UI
31
31
  */
32
+ export * from "./ui/accordion.client";
33
+ export * from "./ui/alert-dialog.client";
34
+ export * from "./ui/aspect-ratio.client";
32
35
  export * from "./ui/avatar.client";
36
+ export * from "./ui/calendar.client";
37
+ export * from "./ui/carousel.client";
33
38
  export * from "./ui/chart.client";
39
+ export * from "./ui/checkbox.client";
34
40
  export * from "./ui/collapsible.client";
35
41
  export * from "./ui/color-picker.client";
36
42
  export * from "./ui/combobox.client";
37
43
  export * from "./ui/combobox-dropdown.client";
44
+ export * from "./ui/command.client";
45
+ export * from "./ui/context-menu.client";
38
46
  export * from "./ui/date-picker.client";
39
47
  export * from "./ui/dialog.client";
40
48
  export * from "./ui/drawer.client";
49
+ export * from "./ui/dropdown-menu.client";
50
+ export * from "./ui/field.client";
41
51
  export * from "./ui/form.client";
42
52
  export * from "./ui/hover-card.client";
53
+ export * from "./ui/input-date-time.client";
54
+ export * from "./ui/input-group.client";
55
+ export * from "./ui/popover.client";
43
56
  export * from "./ui/progress.client";
44
57
  export * from "./ui/resizable.client";
45
58
  export * from "./ui/select.client";
46
59
  export * from "./ui/sheet.client";
47
60
  export * from "./ui/sidebar.client";
48
61
  export * from "./ui/sonner.client";
62
+ export * from "./ui/switch.client";
63
+ export * from "./ui/tabs.client";
64
+ export * from "./ui/toggle.client";
49
65
  export * from "./ui/toggle-group.client";
50
66
  export * from "./ui/tooltip.client";
@@ -29,34 +29,26 @@ export * from "./lists/data-stack";
29
29
  /**
30
30
  * Components UI
31
31
  */
32
- export * from "./ui/accordion";
33
32
  export * from "./ui/alert";
34
- export * from "./ui/alert-dialog";
35
- export * from "./ui/aspect-ratio";
36
33
  export * from "./ui/badge";
37
34
  export * from "./ui/breadcrumb";
38
35
  export * from "./ui/button";
39
- export * from "./ui/calendar";
36
+ export * from "./ui/button-group";
40
37
  export * from "./ui/card";
41
- export * from "./ui/carousel";
42
- export * from "./ui/checkbox";
43
- export * from "./ui/command";
44
- export * from "./ui/context-menu";
45
- export * from "./ui/dropdown-menu";
38
+ export * from "./ui/empty";
46
39
  export * from "./ui/input";
47
40
  export * from "./ui/input-date";
48
- export * from "./ui/input-date-time";
49
41
  export * from "./ui/input-time";
42
+ export * from "./ui/item";
43
+ export * from "./ui/kbd";
50
44
  export * from "./ui/label";
45
+ export * from "./ui/loader";
51
46
  export * from "./ui/navigation-menu";
52
47
  export * from "./ui/pagination";
53
- export * from "./ui/popover";
54
48
  export * from "./ui/radio-group";
55
49
  export * from "./ui/scroll-area";
56
50
  export * from "./ui/separator";
57
51
  export * from "./ui/skeleton";
58
52
  export * from "./ui/slider";
59
- export * from "./ui/switch";
60
- export * from "./ui/tabs";
53
+ export * from "./ui/spinner";
61
54
  export * from "./ui/textarea";
62
- export * from "./ui/toggle";
@@ -8,7 +8,7 @@ import {
8
8
  ContextMenuContent,
9
9
  ContextMenuItem,
10
10
  ContextMenuTrigger,
11
- } from "@/components/ui/context-menu";
11
+ } from "@/components/ui/context-menu.client";
12
12
  import { cn } from "@/lib/utils/cn";
13
13
 
14
14
  export function HeaderTopbarBackButton({
@@ -25,7 +25,7 @@ export function HeaderTopbarBackButton({
25
25
  variant="ghost"
26
26
  onClick={() => router.back()}
27
27
  className={cn(
28
- "text-muted-foreground hover:text-foreground w-content h-full rounded-none border-r p-0",
28
+ "h-full w-content rounded-none border-r border-r-border p-0 text-muted-foreground hover:text-foreground",
29
29
  className,
30
30
  )}
31
31
  >
@@ -37,7 +37,7 @@ export function BottomBarLinks({ paths, className, ...props }: BottomBarLinksPro
37
37
  return (
38
38
  <ul
39
39
  {...props}
40
- className={cn("px-content flex flex-row items-center gap-6 text-sm font-medium", className)}
40
+ className={cn("flex flex-row items-center gap-6 px-content font-medium text-sm", className)}
41
41
  >
42
42
  {paths.map(({ href, name, segment, permission }) => {
43
43
  const children = (
@@ -45,7 +45,7 @@ export function BottomBarLinks({ paths, className, ...props }: BottomBarLinksPro
45
45
  key={href}
46
46
  href={href}
47
47
  className={cn(
48
- "text-muted-foreground hover:text-foreground w-fit text-nowrap break-keep transition-colors",
48
+ "w-fit text-nowrap break-keep text-muted-foreground transition-colors hover:text-foreground",
49
49
  currentSegment === segment && "text-primary",
50
50
  )}
51
51
  >
@@ -14,7 +14,7 @@ import {
14
14
  DropdownMenuContent,
15
15
  DropdownMenuItem,
16
16
  DropdownMenuTrigger,
17
- } from "@/components/ui/dropdown-menu";
17
+ } from "@/components/ui/dropdown-menu.client";
18
18
  import { ScrollArea } from "@/components/ui/scroll-area";
19
19
 
20
20
  export type HeaderBreadcrumb = {
@@ -3,7 +3,7 @@ import { cn } from "@/lib/utils/cn";
3
3
 
4
4
  export function Header({ children, className, ...props }: ComponentProps<"header">) {
5
5
  return (
6
- <header className={cn("bg-sidebar sticky top-0 z-30 backdrop-blur-3xl", className)} {...props}>
6
+ <header className={cn("sticky top-0 z-30 bg-sidebar backdrop-blur-3xl", className)} {...props}>
7
7
  {children}
8
8
  </header>
9
9
  );
@@ -27,7 +27,7 @@ export function EmptyPage({ className, children, ...props }: ComponentProps<"div
27
27
 
28
28
  export function EmptyPageTitle({ className, children, ...props }: ComponentProps<"h2">) {
29
29
  return (
30
- <h2 className={cn("text-lg font-bold tracking-tight", className)} {...props}>
30
+ <h2 className={cn("font-bold text-lg tracking-tight", className)} {...props}>
31
31
  {children}
32
32
  </h2>
33
33
  );
@@ -35,7 +35,7 @@ export function EmptyPageTitle({ className, children, ...props }: ComponentProps
35
35
 
36
36
  export function EmptyPageDescription({ className, children, ...props }: ComponentProps<"p">) {
37
37
  return (
38
- <p className={cn("text-muted-foreground max-w-[40ch] text-sm", className)} {...props}>
38
+ <p className={cn("max-w-[40ch] text-muted-foreground text-sm", className)} {...props}>
39
39
  {children}
40
40
  </p>
41
41
  );
@@ -10,7 +10,7 @@ export function ErrorPage({ className, children, ...props }: ComponentProps<"div
10
10
  <div
11
11
  {...props}
12
12
  className={cn(
13
- "min-h-120 flex h-full w-full flex-col items-center justify-center gap-y-3 border border-dashed text-center",
13
+ "flex h-full min-h-120 w-full flex-col items-center justify-center gap-y-3 border border-dashed text-center",
14
14
  className,
15
15
  )}
16
16
  >
@@ -24,7 +24,7 @@ export function ErrorPage({ className, children, ...props }: ComponentProps<"div
24
24
  */
25
25
  export function ErrorPageCode({ className, children, ...props }: ComponentProps<"h2">) {
26
26
  return (
27
- <h2 className={cn("text-9xl font-bold leading-none", className)} {...props}>
27
+ <h2 className={cn("font-bold text-9xl leading-none", className)} {...props}>
28
28
  {children}
29
29
  </h2>
30
30
  );
@@ -55,7 +55,7 @@ export function ErrorPageIcon({
55
55
  */
56
56
  export function ErrorPageDescription({ className, children, ...props }: ComponentProps<"p">) {
57
57
  return (
58
- <p className={cn("text-2xl font-bold lg:text-3xl", className)} {...props}>
58
+ <p className={cn("font-bold text-2xl lg:text-3xl", className)} {...props}>
59
59
  {children}
60
60
  </p>
61
61
  );
@@ -8,6 +8,7 @@ import type { PropsWithChildren } from "react";
8
8
  import { Toaster } from "@/components/ui/sonner.client";
9
9
  import { IndicatorContextProvider } from "@/lib/hooks/use-indicator";
10
10
  import { getQueryClient } from "@/modules/router/lib/query-client";
11
+ import { TooltipProvider } from "../ui/tooltip.client";
11
12
 
12
13
  export function Providers({ children }: PropsWithChildren) {
13
14
  const queryClient = getQueryClient();
@@ -16,12 +17,14 @@ export function Providers({ children }: PropsWithChildren) {
16
17
  <QueryClientProvider client={queryClient}>
17
18
  <NuqsAdapter>
18
19
  <IndicatorContextProvider>
19
- <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
20
- {children}
20
+ <TooltipProvider>
21
+ <ThemeProvider attribute="class" defaultTheme="system" enableSystem>
22
+ {children}
21
23
 
22
- <Toaster />
23
- <ReactQueryDevtools />
24
- </ThemeProvider>
24
+ <Toaster />
25
+ <ReactQueryDevtools />
26
+ </ThemeProvider>
27
+ </TooltipProvider>
25
28
  </IndicatorContextProvider>
26
29
  </NuqsAdapter>
27
30
  </QueryClientProvider>
@@ -1,9 +1,9 @@
1
- import { Spinner } from "../ui/spinner";
1
+ import { Loader } from "../ui/loader";
2
2
 
3
3
  export function RootLoading() {
4
4
  return (
5
5
  <div className="grid h-dvh w-full place-items-center">
6
- <Spinner />
6
+ <Loader />
7
7
  </div>
8
8
  );
9
9
  }
@@ -3,7 +3,7 @@
3
3
  import type { Route } from "next";
4
4
  import { useRouter, useSelectedLayoutSegment } from "next/navigation";
5
5
  import { useState } from "react";
6
- import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
6
+ import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs.client";
7
7
  import { Allowed } from "@/modules/auth/components/allowed.client";
8
8
  import type { Permission } from "@/modules/auth/lib/permissions";
9
9
  import { ListLayout } from "./list-layout";
@@ -31,7 +31,7 @@ export type DataListTitleProps = React.HTMLAttributes<HTMLElement>;
31
31
 
32
32
  export function DataListTitle({ children, className, ...props }: DataListTitleProps) {
33
33
  return (
34
- <dt {...props} className={cn("text-sm font-semibold leading-6", className)}>
34
+ <dt {...props} className={cn("font-semibold text-sm leading-6", className)}>
35
35
  {children}
36
36
  </dt>
37
37
  );
@@ -54,7 +54,7 @@ export type DataStackTitleProps = React.HTMLAttributes<HTMLElement>;
54
54
 
55
55
  export function DataStackTitle({ children, className, ...props }: DataStackTitleProps) {
56
56
  return (
57
- <dt {...props} className={cn("text-sm font-medium leading-none", className)}>
57
+ <dt {...props} className={cn("font-medium text-sm leading-none", className)}>
58
58
  {children}
59
59
  </dt>
60
60
  );
@@ -24,7 +24,7 @@ import {
24
24
  DropdownMenuSubContent,
25
25
  DropdownMenuSubTrigger,
26
26
  DropdownMenuTrigger,
27
- } from "@/components/ui/dropdown-menu";
27
+ } from "@/components/ui/dropdown-menu.client";
28
28
  import { cn } from "@/lib/utils/cn";
29
29
  import { useAuthClient } from "@/modules/auth/hooks/use-auth-client";
30
30
  import { useSession } from "@/modules/auth/hooks/use-session";
@@ -54,12 +54,12 @@ export function AdminSidebarHeader() {
54
54
  />
55
55
  <AvatarFallback>{sessionQuery.data?.user.name?.[0] ?? ""}</AvatarFallback>
56
56
  </Avatar>
57
- <span className="text-md text-muted-foreground font-bold">
57
+ <span className="font-bold text-md text-muted-foreground">
58
58
  {sessionQuery.data?.user.name}
59
59
  </span>
60
60
  </div>
61
61
 
62
- <ChevronsUpDownIcon className="text-muted-foreground h-4 w-4" />
62
+ <ChevronsUpDownIcon className="h-4 w-4 text-muted-foreground" />
63
63
  </Button>
64
64
  </DropdownMenuTrigger>
65
65
 
@@ -1,6 +1,6 @@
1
1
  import { Suspense } from "react";
2
2
  import { Button } from "@/components/ui/button";
3
- import { DropdownMenu, DropdownMenuTrigger } from "@/components/ui/dropdown-menu";
3
+ import { DropdownMenu, DropdownMenuTrigger } from "@/components/ui/dropdown-menu.client";
4
4
  import {
5
5
  SidebarHeader,
6
6
  SidebarMenu,
@@ -0,0 +1,83 @@
1
+ "use client";
2
+
3
+ import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
4
+ import { Accordion as AccordionPrimitive } from "radix-ui";
5
+ import type * as React from "react";
6
+ import { cn } from "@/lib/utils/cn";
7
+
8
+ function Accordion({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>) {
9
+ return (
10
+ <AccordionPrimitive.Root
11
+ data-slot="accordion"
12
+ className={cn("flex w-full flex-col", className)}
13
+ {...props}
14
+ />
15
+ );
16
+ }
17
+
18
+ function AccordionItem({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<typeof AccordionPrimitive.Item>) {
22
+ return (
23
+ <AccordionPrimitive.Item
24
+ data-slot="accordion-item"
25
+ className={cn("not-last:border-b", className)}
26
+ {...props}
27
+ />
28
+ );
29
+ }
30
+
31
+ function AccordionTrigger({
32
+ className,
33
+ children,
34
+ ...props
35
+ }: React.ComponentProps<typeof AccordionPrimitive.Trigger>) {
36
+ return (
37
+ <AccordionPrimitive.Header className="flex">
38
+ <AccordionPrimitive.Trigger
39
+ data-slot="accordion-trigger"
40
+ className={cn(
41
+ "group/accordion-trigger relative flex flex-1 items-start justify-between rounded-lg border border-transparent py-2.5 text-left font-medium text-sm outline-none transition-all hover:underline focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:after:border-ring disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground",
42
+ className,
43
+ )}
44
+ {...props}
45
+ >
46
+ {children}
47
+ <ChevronDownIcon
48
+ data-slot="accordion-trigger-icon"
49
+ className="pointer-events-none shrink-0 group-aria-expanded/accordion-trigger:hidden"
50
+ />
51
+ <ChevronUpIcon
52
+ data-slot="accordion-trigger-icon"
53
+ className="pointer-events-none hidden shrink-0 group-aria-expanded/accordion-trigger:inline"
54
+ />
55
+ </AccordionPrimitive.Trigger>
56
+ </AccordionPrimitive.Header>
57
+ );
58
+ }
59
+
60
+ function AccordionContent({
61
+ className,
62
+ children,
63
+ ...props
64
+ }: React.ComponentProps<typeof AccordionPrimitive.Content>) {
65
+ return (
66
+ <AccordionPrimitive.Content
67
+ data-slot="accordion-content"
68
+ className="overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"
69
+ {...props}
70
+ >
71
+ <div
72
+ className={cn(
73
+ "pt-0 pb-2.5 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
74
+ className,
75
+ )}
76
+ >
77
+ {children}
78
+ </div>
79
+ </AccordionPrimitive.Content>
80
+ );
81
+ }
82
+
83
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
@@ -0,0 +1,181 @@
1
+ "use client";
2
+
3
+ import { AlertDialog as AlertDialogPrimitive } from "radix-ui";
4
+ import type * as React from "react";
5
+ import { Button } from "@/components/ui/button";
6
+ import { cn } from "@/lib/utils/cn";
7
+
8
+ function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {
9
+ return <AlertDialogPrimitive.Root data-slot="alert-dialog" {...props} />;
10
+ }
11
+
12
+ function AlertDialogTrigger({
13
+ ...props
14
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {
15
+ return <AlertDialogPrimitive.Trigger data-slot="alert-dialog-trigger" {...props} />;
16
+ }
17
+
18
+ function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {
19
+ return <AlertDialogPrimitive.Portal data-slot="alert-dialog-portal" {...props} />;
20
+ }
21
+
22
+ function AlertDialogOverlay({
23
+ className,
24
+ ...props
25
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {
26
+ return (
27
+ <AlertDialogPrimitive.Overlay
28
+ data-slot="alert-dialog-overlay"
29
+ className={cn(
30
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/10 duration-100 data-[state=closed]:animate-out data-[state=open]:animate-in supports-backdrop-filter:backdrop-blur-xs",
31
+ className,
32
+ )}
33
+ {...props}
34
+ />
35
+ );
36
+ }
37
+
38
+ function AlertDialogContent({
39
+ className,
40
+ size = "default",
41
+ ...props
42
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {
43
+ size?: "default" | "sm";
44
+ }) {
45
+ return (
46
+ <AlertDialogPortal>
47
+ <AlertDialogOverlay />
48
+ <AlertDialogPrimitive.Content
49
+ data-slot="alert-dialog-content"
50
+ data-size={size}
51
+ className={cn(
52
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 outline-none ring-1 ring-foreground/10 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=open]:animate-in data-[size=default]:sm:max-w-sm",
53
+ className,
54
+ )}
55
+ {...props}
56
+ />
57
+ </AlertDialogPortal>
58
+ );
59
+ }
60
+
61
+ function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">) {
62
+ return (
63
+ <div
64
+ data-slot="alert-dialog-header"
65
+ className={cn(
66
+ "grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",
67
+ className,
68
+ )}
69
+ {...props}
70
+ />
71
+ );
72
+ }
73
+
74
+ function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">) {
75
+ return (
76
+ <div
77
+ data-slot="alert-dialog-footer"
78
+ className={cn(
79
+ "-mx-4 -mb-4 flex flex-col-reverse gap-2 rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",
80
+ className,
81
+ )}
82
+ {...props}
83
+ />
84
+ );
85
+ }
86
+
87
+ function AlertDialogMedia({ className, ...props }: React.ComponentProps<"div">) {
88
+ return (
89
+ <div
90
+ data-slot="alert-dialog-media"
91
+ className={cn(
92
+ "mb-2 inline-flex size-10 items-center justify-center rounded-md bg-muted sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-6",
93
+ className,
94
+ )}
95
+ {...props}
96
+ />
97
+ );
98
+ }
99
+
100
+ function AlertDialogTitle({
101
+ className,
102
+ ...props
103
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {
104
+ return (
105
+ <AlertDialogPrimitive.Title
106
+ data-slot="alert-dialog-title"
107
+ className={cn(
108
+ "font-medium text-base sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",
109
+ className,
110
+ )}
111
+ {...props}
112
+ />
113
+ );
114
+ }
115
+
116
+ function AlertDialogDescription({
117
+ className,
118
+ ...props
119
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {
120
+ return (
121
+ <AlertDialogPrimitive.Description
122
+ data-slot="alert-dialog-description"
123
+ className={cn(
124
+ "text-balance text-muted-foreground text-sm md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground",
125
+ className,
126
+ )}
127
+ {...props}
128
+ />
129
+ );
130
+ }
131
+
132
+ function AlertDialogAction({
133
+ className,
134
+ variant = "default",
135
+ size = "default",
136
+ ...props
137
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Action> &
138
+ Pick<React.ComponentProps<typeof Button>, "variant" | "size">) {
139
+ return (
140
+ <Button variant={variant} size={size} asChild>
141
+ <AlertDialogPrimitive.Action
142
+ data-slot="alert-dialog-action"
143
+ className={cn(className)}
144
+ {...props}
145
+ />
146
+ </Button>
147
+ );
148
+ }
149
+
150
+ function AlertDialogCancel({
151
+ className,
152
+ variant = "outline",
153
+ size = "default",
154
+ ...props
155
+ }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &
156
+ Pick<React.ComponentProps<typeof Button>, "variant" | "size">) {
157
+ return (
158
+ <Button variant={variant} size={size} asChild>
159
+ <AlertDialogPrimitive.Cancel
160
+ data-slot="alert-dialog-cancel"
161
+ className={cn(className)}
162
+ {...props}
163
+ />
164
+ </Button>
165
+ );
166
+ }
167
+
168
+ export {
169
+ AlertDialog,
170
+ AlertDialogAction,
171
+ AlertDialogCancel,
172
+ AlertDialogContent,
173
+ AlertDialogDescription,
174
+ AlertDialogFooter,
175
+ AlertDialogHeader,
176
+ AlertDialogMedia,
177
+ AlertDialogOverlay,
178
+ AlertDialogPortal,
179
+ AlertDialogTitle,
180
+ AlertDialogTrigger,
181
+ };
@@ -1,16 +1,15 @@
1
1
  import { cva, type VariantProps } from "class-variance-authority";
2
2
  import type * as React from "react";
3
-
4
3
  import { cn } from "@/lib/utils/cn";
5
4
 
6
5
  const alertVariants = cva(
7
- "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",
6
+ "grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert",
8
7
  {
9
8
  variants: {
10
9
  variant: {
11
- default: "bg-background text-foreground",
10
+ default: "bg-card text-card-foreground",
12
11
  destructive:
13
- "text-destructive-foreground [&>svg]:text-current *:data-[slot=alert-description]:text-destructive-foreground/80",
12
+ "text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current",
14
13
  },
15
14
  },
16
15
  defaultVariants: {
@@ -38,7 +37,10 @@ function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
38
37
  return (
39
38
  <div
40
39
  data-slot="alert-title"
41
- className={cn("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", className)}
40
+ className={cn(
41
+ "font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",
42
+ className,
43
+ )}
42
44
  {...props}
43
45
  />
44
46
  );
@@ -49,7 +51,7 @@ function AlertDescription({ className, ...props }: React.ComponentProps<"div">)
49
51
  <div
50
52
  data-slot="alert-description"
51
53
  className={cn(
52
- "text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",
54
+ "text-balance text-muted-foreground text-sm md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4",
53
55
  className,
54
56
  )}
55
57
  {...props}
@@ -57,4 +59,10 @@ function AlertDescription({ className, ...props }: React.ComponentProps<"div">)
57
59
  );
58
60
  }
59
61
 
60
- export { Alert, AlertDescription, AlertTitle };
62
+ function AlertAction({ className, ...props }: React.ComponentProps<"div">) {
63
+ return (
64
+ <div data-slot="alert-action" className={cn("absolute top-2 right-2", className)} {...props} />
65
+ );
66
+ }
67
+
68
+ export { Alert, AlertTitle, AlertDescription, AlertAction };
@@ -0,0 +1,9 @@
1
+ "use client";
2
+
3
+ import { AspectRatio as AspectRatioPrimitive } from "radix-ui";
4
+
5
+ function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>) {
6
+ return <AspectRatioPrimitive.Root data-slot="aspect-ratio" {...props} />;
7
+ }
8
+
9
+ export { AspectRatio };