@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
@@ -2,31 +2,53 @@
2
2
 
3
3
  import { cn } from "../../lib/utils/cn.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
5
- import * as AvatarPrimitive from "@radix-ui/react-avatar";
5
+ import { Avatar } from "radix-ui";
6
6
 
7
7
  //#region src/components/ui/avatar.client.tsx
8
- function Avatar({ className, ...props }) {
9
- return /* @__PURE__ */ jsx(AvatarPrimitive.Root, {
8
+ function Avatar$1({ className, size = "default", ...props }) {
9
+ return /* @__PURE__ */ jsx(Avatar.Root, {
10
10
  "data-slot": "avatar",
11
- className: cn("relative flex size-8 shrink-0 overflow-hidden rounded-full", className),
11
+ "data-size": size,
12
+ className: cn("group/avatar relative flex size-8 shrink-0 select-none rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6", className),
12
13
  ...props
13
14
  });
14
15
  }
15
16
  function AvatarImage({ className, ...props }) {
16
- return /* @__PURE__ */ jsx(AvatarPrimitive.Image, {
17
+ return /* @__PURE__ */ jsx(Avatar.Image, {
17
18
  "data-slot": "avatar-image",
18
- className: cn("aspect-square size-full", className),
19
+ className: cn("aspect-square size-full rounded-full", className),
19
20
  ...props
20
21
  });
21
22
  }
22
23
  function AvatarFallback({ className, ...props }) {
23
- return /* @__PURE__ */ jsx(AvatarPrimitive.Fallback, {
24
+ return /* @__PURE__ */ jsx(Avatar.Fallback, {
24
25
  "data-slot": "avatar-fallback",
25
- className: cn("bg-muted flex size-full items-center justify-center rounded-full", className),
26
+ className: cn("flex size-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm group-data-[size=sm]/avatar:text-xs", className),
27
+ ...props
28
+ });
29
+ }
30
+ function AvatarBadge({ className, ...props }) {
31
+ return /* @__PURE__ */ jsx("span", {
32
+ "data-slot": "avatar-badge",
33
+ className: cn("absolute right-0 bottom-0 z-10 inline-flex select-none items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background", "group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden", "group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2", "group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2", className),
34
+ ...props
35
+ });
36
+ }
37
+ function AvatarGroup({ className, ...props }) {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ "data-slot": "avatar-group",
40
+ className: cn("group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background", className),
41
+ ...props
42
+ });
43
+ }
44
+ function AvatarGroupCount({ className, ...props }) {
45
+ return /* @__PURE__ */ jsx("div", {
46
+ "data-slot": "avatar-group-count",
47
+ className: cn("relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground text-sm ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3", className),
26
48
  ...props
27
49
  });
28
50
  }
29
51
 
30
52
  //#endregion
31
- export { Avatar, AvatarFallback, AvatarImage };
53
+ export { Avatar$1 as Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };
32
54
  //# sourceMappingURL=avatar.client.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"avatar.client.mjs","names":[],"sources":["../../../src/components/ui/avatar.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\"bg-muted flex size-full items-center justify-center rounded-full\", className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n"],"mappings":";;;;;;;AAOA,SAAS,OAAO,EAAE,WAAW,GAAG,SAA4D;AAC1F,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,8DAA8D,UAAU;EACtF,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,2BAA2B,UAAU;EACnD,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAAC,gBAAgB;EACf,aAAU;EACV,WAAW,GAAG,oEAAoE,UAAU;EAC5F,GAAI;GACJ"}
1
+ {"version":3,"file":"avatar.client.mjs","names":["Avatar","AvatarPrimitive"],"sources":["../../../src/components/ui/avatar.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Avatar({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n}) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(\n \"group/avatar relative flex size-8 shrink-0 select-none rounded-full data-[size=lg]:size-10 data-[size=sm]:size-6\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-muted text-muted-foreground text-sm group-data-[size=sm]/avatar:text-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarBadge({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute right-0 bottom-0 z-10 inline-flex select-none items-center justify-center rounded-full bg-primary text-primary-foreground ring-2 ring-background\",\n \"group-data-[size=sm]/avatar:size-2 group-data-[size=sm]/avatar:[&>svg]:hidden\",\n \"group-data-[size=default]/avatar:size-2.5 group-data-[size=default]/avatar:[&>svg]:size-2\",\n \"group-data-[size=lg]/avatar:size-3 group-data-[size=lg]/avatar:[&>svg]:size-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroupCount({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground text-sm ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, AvatarBadge, AvatarGroup, AvatarGroupCount };\n"],"mappings":";;;;;;;AAOA,SAASA,SAAO,EACd,WACA,OAAO,WACP,GAAG,SAGF;AACD,QACE,oBAACC,OAAgB;EACf,aAAU;EACV,aAAW;EACX,WAAW,GACT,oHACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAA6D;AAChG,QACE,oBAACA,OAAgB;EACf,aAAU;EACV,WAAW,GAAG,wCAAwC,UAAU;EAChE,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,WACA,GAAG,SACqD;AACxD,QACE,oBAACA,OAAgB;EACf,aAAU;EACV,WAAW,GACT,sIACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAuC;AAC1E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,6JACA,iFACA,6FACA,iFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,WAAW,GAAG,SAAsC;AACzE,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,uGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;AAC9E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,4VACA,UACD;EACD,GAAI;GACJ"}
@@ -5,7 +5,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
5
5
 
6
6
  //#region src/components/ui/badge.d.ts
7
7
  declare const badgeVariants: (props?: ({
8
- variant?: "default" | "outline" | "destructive" | "secondary" | null | undefined;
8
+ variant?: "default" | "link" | "outline" | "destructive" | "secondary" | "ghost" | null | undefined;
9
9
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
10
  declare function Badge({
11
11
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"badge.d.mts","names":[],"sources":["../../../src/components/ui/badge.tsx"],"mappings":";;;;;;cAMM,aAAA,GAAa,KAAA;;IAiBlB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,WAAyB,YAAA,QAAoB,aAAA;EAAmB,OAAA;AAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"badge.d.mts","names":[],"sources":["../../../src/components/ui/badge.tsx"],"mappings":";;;;;;cAKM,aAAA,GAAa,KAAA;;IAmBlB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,KAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,WAAyB,YAAA,QAAoB,aAAA;EAAmB,OAAA;AAAA,IAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,21 +1,24 @@
1
1
  import { cn } from "../../lib/utils/cn.mjs";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { Slot } from "@radix-ui/react-slot";
4
3
  import { cva } from "class-variance-authority";
4
+ import { Slot } from "radix-ui";
5
5
 
6
6
  //#region src/components/ui/badge.tsx
7
- const badgeVariants = cva("inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
7
+ const badgeVariants = cva("inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden", {
8
8
  variants: { variant: {
9
- default: "border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
10
- secondary: "border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
11
- destructive: "border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
12
- outline: "text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"
9
+ default: "bg-primary text-primary-foreground [a&]:hover:bg-primary/90",
10
+ secondary: "bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",
11
+ destructive: "bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
12
+ outline: "border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
13
+ ghost: "[a&]:hover:bg-accent [a&]:hover:text-accent-foreground",
14
+ link: "text-primary underline-offset-4 [a&]:hover:underline"
13
15
  } },
14
16
  defaultVariants: { variant: "default" }
15
17
  });
16
- function Badge({ className, variant, asChild = false, ...props }) {
17
- return /* @__PURE__ */ jsx(asChild ? Slot : "span", {
18
+ function Badge({ className, variant = "default", asChild = false, ...props }) {
19
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "span", {
18
20
  "data-slot": "badge",
21
+ "data-variant": variant,
19
22
  className: cn(badgeVariants({ variant }), className),
20
23
  ...props
21
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"badge.mjs","names":[],"sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-md border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline: \"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Badge({\n className,\n variant,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : \"span\";\n\n return (\n <Comp data-slot=\"badge\" className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;AAMA,MAAM,gBAAgB,IACpB,kZACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,WACE;EACF,aACE;EACF,SAAS;EACV,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,SACA,UAAU,OACV,GAAG,SACyF;AAG5F,QACE,oBAHW,UAAU,OAAO;EAGtB,aAAU;EAAQ,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EAAE,GAAI;GAAS"}
1
+ {"version":3,"file":"badge.mjs","names":[],"sources":["../../../src/components/ui/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full border border-transparent px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a&]:hover:bg-primary/90\",\n secondary: \"bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90\",\n destructive:\n \"bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n outline:\n \"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n ghost: \"[a&]:hover:bg-accent [a&]:hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 [a&]:hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\";\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":";;;;;;AAKA,MAAM,gBAAgB,IACpB,uaACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,WAAW;EACX,aACE;EACF,SACE;EACF,OAAO;EACP,MAAM;EACP,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,MAAM,EACb,WACA,UAAU,WACV,UAAU,OACV,GAAG,SACyF;AAG5F,QACE,oBAHW,UAAU,KAAK,OAAO;EAI/B,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,cAAc,EAAE,SAAS,CAAC,EAAE,UAAU;EACpD,GAAI;GACJ"}
@@ -2,7 +2,9 @@ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
2
  import * as React$1 from "react";
3
3
 
4
4
  //#region src/components/ui/breadcrumb.d.ts
5
- declare function Breadcrumb(props: React$1.ComponentProps<"nav">): react_jsx_runtime0.JSX.Element;
5
+ declare function Breadcrumb({
6
+ ...props
7
+ }: React$1.ComponentProps<"nav">): react_jsx_runtime0.JSX.Element;
6
8
  declare function BreadcrumbList({
7
9
  className,
8
10
  ...props
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.d.mts","names":[],"sources":["../../../src/components/ui/breadcrumb.tsx"],"mappings":";;;;iBAMS,UAAA,CAAW,KAAA,EAAO,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAI7C,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUlE,cAAA,CAAA;EACP,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYQ,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAepE,mBAAA,CAAA;EAAsB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcjF,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"breadcrumb.d.mts","names":[],"sources":["../../../src/components/ui/breadcrumb.tsx"],"mappings":";;;;iBAKS,UAAA,CAAA;EAAA,GAAgB;AAAA,GAAS,OAAA,CAAM,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAIpD,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAalE,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAUlE,cAAA,CAAA;EACP,OAAA;EACA,SAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAYQ,cAAA,CAAA;EAAiB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAepE,mBAAA,CAAA;EAAsB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,SAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcjF,kBAAA,CAAA;EAAqB,SAAA;EAAA,GAAc;AAAA,GAAS,OAAA,CAAM,cAAA,WAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,10 +1,10 @@
1
1
  import { cn } from "../../lib/utils/cn.mjs";
2
2
  import { ChevronRight, MoreHorizontal } from "lucide-react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
- import { Slot } from "@radix-ui/react-slot";
4
+ import { Slot } from "radix-ui";
5
5
 
6
6
  //#region src/components/ui/breadcrumb.tsx
7
- function Breadcrumb(props) {
7
+ function Breadcrumb({ ...props }) {
8
8
  return /* @__PURE__ */ jsx("nav", {
9
9
  "aria-label": "breadcrumb",
10
10
  "data-slot": "breadcrumb",
@@ -14,21 +14,21 @@ function Breadcrumb(props) {
14
14
  function BreadcrumbList({ className, ...props }) {
15
15
  return /* @__PURE__ */ jsx("ol", {
16
16
  "data-slot": "breadcrumb-list",
17
- className: cn("text-muted-foreground flex flex-wrap items-center gap-1 wrap-break-word text-sm", className),
17
+ className: cn("wrap-break-word flex flex-wrap items-center gap-1.5 text-muted-foreground text-sm sm:gap-2.5", className),
18
18
  ...props
19
19
  });
20
20
  }
21
21
  function BreadcrumbItem({ className, ...props }) {
22
22
  return /* @__PURE__ */ jsx("li", {
23
23
  "data-slot": "breadcrumb-item",
24
- className: cn("inline-flex items-center gap-1.5 rounded-md p-2", className),
24
+ className: cn("inline-flex items-center gap-1.5", className),
25
25
  ...props
26
26
  });
27
27
  }
28
28
  function BreadcrumbLink({ asChild, className, ...props }) {
29
- return /* @__PURE__ */ jsx(asChild ? Slot : "a", {
29
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "a", {
30
30
  "data-slot": "breadcrumb-link",
31
- className: cn("hover:text-foreground transition-colors", className),
31
+ className: cn("transition-colors hover:text-foreground", className),
32
32
  ...props
33
33
  });
34
34
  }
@@ -38,7 +38,7 @@ function BreadcrumbPage({ className, ...props }) {
38
38
  role: "link",
39
39
  "aria-disabled": "true",
40
40
  "aria-current": "page",
41
- className: cn("text-foreground font-normal", className),
41
+ className: cn("font-normal text-foreground", className),
42
42
  ...props
43
43
  });
44
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../../src/components/ui/breadcrumb.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Breadcrumb(props: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"text-muted-foreground flex flex-wrap items-center gap-1 wrap-break-word text-sm\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5 rounded-md p-2\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"hover:text-foreground transition-colors\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n // biome-ignore lint/a11y/useFocusableInteractive: BreadcrumbPage is not meant to be interactive, it's just a label for the current page in the breadcrumb.\n // biome-ignore lint/a11y/useSemanticElements: BreadcrumbPage is not meant to be interactive, it's just a label for the current page in the breadcrumb.\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"text-foreground font-normal\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbEllipsis,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbPage,\n BreadcrumbSeparator,\n};\n"],"mappings":";;;;;;AAMA,SAAS,WAAW,OAAoC;AACtD,QAAO,oBAAC;EAAI,cAAW;EAAa,aAAU;EAAa,GAAI;GAAS;;AAG1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,mFACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,mDAAmD,UAAU;EAC3E,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QAGE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAAE,UAAU,WAAW,GAAG,SAAqC;AAC1F,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,iBAAe;GAC1B;;AAIT,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAuC;AACjF,QACE,qBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,kBAAe,WAAU,WAAW,EACrC,oBAAC;GAAK,WAAU;aAAU;IAAW;GAChC"}
1
+ {"version":3,"file":"breadcrumb.mjs","names":[],"sources":["../../../src/components/ui/breadcrumb.tsx"],"sourcesContent":["import { ChevronRight, MoreHorizontal } from \"lucide-react\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<\"nav\">) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<\"ol\">) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n \"wrap-break-word flex flex-wrap items-center gap-1.5 text-muted-foreground text-sm sm:gap-2.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n // biome-ignore lint/a11y/useFocusableInteractive: BreadcrumbPage is not meant to be interactive, it's just a label for the current page in the breadcrumb.\n // biome-ignore lint/a11y/useSemanticElements: BreadcrumbPage is not meant to be interactive, it's just a label for the current page in the breadcrumb.\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n"],"mappings":";;;;;;AAKA,SAAS,WAAW,EAAE,GAAG,SAAsC;AAC7D,QAAO,oBAAC;EAAI,cAAW;EAAa,aAAU;EAAa,GAAI;GAAS;;AAG1E,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,gGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;AAC3E,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GAAG,oCAAoC,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EACtB,SACA,WACA,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,KAAK,OAAO;EAI/B,aAAU;EACV,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,WAAW,GAAG,SAAuC;AAC7E,QAGE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,iBAAc;EACd,gBAAa;EACb,WAAW,GAAG,+BAA+B,UAAU;EACvD,GAAI;GACJ;;AAIN,SAAS,oBAAoB,EAAE,UAAU,WAAW,GAAG,SAAqC;AAC1F,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,oBAAoB,UAAU;EAC5C,GAAI;YAEH,YAAY,oBAAC,iBAAe;GAC1B;;AAIT,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAuC;AACjF,QACE,qBAAC;EACC,aAAU;EACV,MAAK;EACL,eAAY;EACZ,WAAW,GAAG,2CAA2C,UAAU;EACnE,GAAI;aAEJ,oBAAC,kBAAe,WAAU,WAAW,EACrC,oBAAC;GAAK,WAAU;aAAU;IAAW;GAChC"}
@@ -0,0 +1,29 @@
1
+ import { Separator } from "./separator.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { VariantProps } from "class-variance-authority";
4
+ import * as class_variance_authority_types0 from "class-variance-authority/types";
5
+
6
+ //#region src/components/ui/button-group.d.ts
7
+ declare const buttonGroupVariants: (props?: ({
8
+ orientation?: "vertical" | "horizontal" | null | undefined;
9
+ } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
+ declare function ButtonGroup({
11
+ className,
12
+ orientation,
13
+ ...props
14
+ }: React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>): react_jsx_runtime0.JSX.Element;
15
+ declare function ButtonGroupText({
16
+ className,
17
+ asChild,
18
+ ...props
19
+ }: React.ComponentProps<"div"> & {
20
+ asChild?: boolean;
21
+ }): react_jsx_runtime0.JSX.Element;
22
+ declare function ButtonGroupSeparator({
23
+ className,
24
+ orientation,
25
+ ...props
26
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime0.JSX.Element;
27
+ //#endregion
28
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
29
+ //# sourceMappingURL=button-group.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.d.mts","names":[],"sources":["../../../src/components/ui/button-group.tsx"],"mappings":";;;;;;cAKM,mBAAA,GAAmB,KAAA;;IAexB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,WAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,UAAwB,YAAA,QAAoB,mBAAA,IAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAahE,eAAA,CAAA;EACP,SAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA;EACP,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAcQ,oBAAA,CAAA;EACP,SAAA;EACA,WAAA;EAAA,GACG;AAAA,GACF,KAAA,CAAM,cAAA,QAAsB,SAAA,IAAU,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -0,0 +1,41 @@
1
+ import { cn } from "../../lib/utils/cn.mjs";
2
+ import { Separator as Separator$1 } from "./separator.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
+ import { Slot } from "radix-ui";
6
+
7
+ //#region src/components/ui/button-group.tsx
8
+ const buttonGroupVariants = cva("has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg flex w-fit items-stretch *:focus-visible:z-10 *:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1", {
9
+ variants: { orientation: {
10
+ horizontal: "[&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg! [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none",
11
+ vertical: "[&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg! flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none"
12
+ } },
13
+ defaultVariants: { orientation: "horizontal" }
14
+ });
15
+ function ButtonGroup({ className, orientation, ...props }) {
16
+ return /* @__PURE__ */ jsx("div", {
17
+ role: "group",
18
+ "data-slot": "button-group",
19
+ "data-orientation": orientation,
20
+ className: cn(buttonGroupVariants({ orientation }), className),
21
+ ...props
22
+ });
23
+ }
24
+ function ButtonGroupText({ className, asChild = false, ...props }) {
25
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "div", {
26
+ className: cn("flex items-center gap-2 rounded-lg border bg-muted px-2.5 font-medium text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none", className),
27
+ ...props
28
+ });
29
+ }
30
+ function ButtonGroupSeparator({ className, orientation = "vertical", ...props }) {
31
+ return /* @__PURE__ */ jsx(Separator$1, {
32
+ "data-slot": "button-group-separator",
33
+ orientation,
34
+ className: cn("relative self-stretch bg-input data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto data-[orientation=horizontal]:w-auto", className),
35
+ ...props
36
+ });
37
+ }
38
+
39
+ //#endregion
40
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };
41
+ //# sourceMappingURL=button-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button-group.mjs","names":["Separator"],"sources":["../../../src/components/ui/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst buttonGroupVariants = cva(\n \"has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg flex w-fit items-stretch *:focus-visible:z-10 *:focus-visible:relative [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg! [&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none\",\n vertical:\n \"[&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg! flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n },\n);\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n // biome-ignore lint/a11y/useSemanticElements: The role=\"group\" is necessary for accessibility, and the div is used to wrap the buttons in the group.\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border bg-muted px-2.5 font-medium text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative self-stretch bg-input data-[orientation=horizontal]:mx-px data-[orientation=vertical]:my-px data-[orientation=vertical]:h-auto data-[orientation=horizontal]:w-auto\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants };\n"],"mappings":";;;;;;;AAKA,MAAM,sBAAsB,IAC1B,4RACA;CACE,UAAU,EACR,aAAa;EACX,YACE;EACF,UACE;EACH,EACF;CACD,iBAAiB,EACf,aAAa,cACd;CACF,CACF;AAED,SAAS,YAAY,EACnB,WACA,aACA,GAAG,SACsE;AACzE,QAEE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,oBAAkB;EAClB,WAAW,GAAG,oBAAoB,EAAE,aAAa,CAAC,EAAE,UAAU;EAC9D,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,WACA,UAAU,OACV,GAAG,SAGF;AAGD,QACE,oBAHW,UAAU,KAAK,OAAO;EAI/B,WAAW,GACT,kJACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,qBAAqB,EAC5B,WACA,cAAc,YACd,GAAG,SACsC;AACzC,QACE,oBAACA;EACC,aAAU;EACG;EACb,WAAW,GACT,gLACA,UACD;EACD,GAAI;GACJ"}
@@ -6,7 +6,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
6
6
  //#region src/components/ui/button.d.ts
7
7
  declare const buttonVariants: (props?: ({
8
8
  variant?: "default" | "link" | "outline" | "destructive" | "secondary" | "ghost" | null | undefined;
9
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
9
+ size?: "default" | "xs" | "sm" | "icon-xs" | "icon-sm" | "lg" | "icon" | "icon-lg" | null | undefined;
10
10
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
11
11
  declare function Button({
12
12
  className,
@@ -1 +1 @@
1
- {"version":3,"file":"button.d.mts","names":[],"sources":["../../../src/components/ui/button.tsx"],"mappings":";;;;;;cAMM,cAAA,GAAc,KAAA;;;IA0BnB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,aACP,YAAA,QAAoB,cAAA;EAClB,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"button.d.mts","names":[],"sources":["../../../src/components/ui/button.tsx"],"mappings":";;;;;;cAKM,cAAA,GAAc,KAAA;;;IAmCnB,+BAAA,CAAA,SAAA;AAAA,iBAEQ,MAAA,CAAA;EACP,SAAA;EACA,OAAA;EACA,IAAA;EACA,OAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,aACP,YAAA,QAAoB,cAAA;EAClB,OAAA;AAAA,IACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1,24 +1,28 @@
1
1
  import { cn } from "../../lib/utils/cn.mjs";
2
2
  import { jsx } from "react/jsx-runtime";
3
- import { Slot } from "@radix-ui/react-slot";
4
3
  import { cva } from "class-variance-authority";
4
+ import { Slot } from "radix-ui";
5
5
 
6
6
  //#region src/components/ui/button.tsx
7
- const buttonVariants = cva("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
7
+ const buttonVariants = cva("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none", {
8
8
  variants: {
9
9
  variant: {
10
- default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
11
- destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40",
12
- outline: "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",
13
- secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
14
- ghost: "hover:bg-accent hover:text-accent-foreground",
10
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
11
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
13
+ ghost: "hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground",
14
+ destructive: "bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30",
15
15
  link: "text-primary underline-offset-4 hover:underline"
16
16
  },
17
17
  size: {
18
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
19
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
20
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
21
- icon: "size-9"
18
+ default: "h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
19
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
20
+ sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
21
+ lg: "h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",
22
+ icon: "size-8",
23
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
24
+ "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
25
+ "icon-lg": "size-9"
22
26
  }
23
27
  },
24
28
  defaultVariants: {
@@ -26,9 +30,11 @@ const buttonVariants = cva("inline-flex items-center justify-center gap-2 whites
26
30
  size: "default"
27
31
  }
28
32
  });
29
- function Button({ className, variant, size, asChild = false, ...props }) {
30
- return /* @__PURE__ */ jsx(asChild ? Slot : "button", {
33
+ function Button({ className, variant = "default", size = "default", asChild = false, ...props }) {
34
+ return /* @__PURE__ */ jsx(asChild ? Slot.Root : "button", {
31
35
  "data-slot": "button",
36
+ "data-variant": variant,
37
+ "data-size": size,
32
38
  className: cn(buttonVariants({
33
39
  variant,
34
40
  size,
@@ -1 +1 @@
1
- {"version":3,"file":"button.mjs","names":[],"sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"@/lib/utils/cn\";\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40\",\n outline:\n \"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n sm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n lg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n icon: \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;AAMA,MAAM,iBAAiB,IACrB,8cACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WAAW;GACX,OAAO;GACP,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACP;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,OAAO,EACd,WACA,SACA,MACA,UAAU,OACV,GAAG,SAIA;AAGH,QACE,oBAHW,UAAU,OAAO;EAI1B,aAAU;EACV,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
1
+ {"version":3,"file":"button.mjs","names":[],"sources":["../../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { Slot } from \"radix-ui\";\nimport type * as React from \"react\";\nimport { cn } from \"@/lib/utils/cn\";\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n outline:\n \"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n destructive:\n \"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean;\n }) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;;;AAKA,MAAM,iBAAiB,IACrB,ojBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACF,WACE;GACF,OACE;GACF,aACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SACE;GACF,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WACE;GACF,WACE;GACF,WAAW;GACZ;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAED,SAAS,OAAO,EACd,WACA,UAAU,WACV,OAAO,WACP,UAAU,OACV,GAAG,SAIA;AAGH,QACE,oBAHW,UAAU,KAAK,OAAO;EAI/B,aAAU;EACV,gBAAc;EACd,aAAW;EACX,WAAW,GAAG,eAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,GAAI;GACJ"}
@@ -1,9 +1,9 @@
1
1
  import { Button } from "./button.mjs";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import * as React$1 from "react";
4
- import { DayButton, DayPicker } from "react-day-picker";
4
+ import { DayButton, DayPicker, Locale } from "react-day-picker";
5
5
 
6
- //#region src/components/ui/calendar.d.ts
6
+ //#region src/components/ui/calendar.client.d.ts
7
7
  declare function Calendar({
8
8
  className,
9
9
  classNames,
@@ -21,8 +21,11 @@ declare function CalendarDayButton({
21
21
  className,
22
22
  day,
23
23
  modifiers,
24
+ locale,
24
25
  ...props
25
- }: React$1.ComponentProps<typeof DayButton>): react_jsx_runtime0.JSX.Element;
26
+ }: React$1.ComponentProps<typeof DayButton> & {
27
+ locale?: Partial<Locale>;
28
+ }): react_jsx_runtime0.JSX.Element;
26
29
  //#endregion
27
30
  export { Calendar, CalendarDayButton };
28
- //# sourceMappingURL=calendar.d.mts.map
31
+ //# sourceMappingURL=calendar.client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.client.d.mts","names":[],"sources":["../../../src/components/ui/calendar.client.tsx"],"mappings":";;;;;;iBASS,QAAA,CAAA;EACP,SAAA;EACA,UAAA;EACA,eAAA;EACA,aAAA;EACA,aAAA;EACA,MAAA;EACA,UAAA;EACA,UAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA;EAC7B,aAAA,GAAgB,OAAA,CAAM,cAAA,QAAsB,MAAA;AAAA,IAC7C,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,iBAgIQ,iBAAA,CAAA;EACP,SAAA;EACA,GAAA;EACA,SAAA;EACA,MAAA;EAAA,GACG;AAAA,GACF,OAAA,CAAM,cAAA,QAAsB,SAAA;EAAe,MAAA,GAAS,OAAA,CAAQ,MAAA;AAAA,IAAS,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -8,18 +8,18 @@ import * as React$1 from "react";
8
8
  import { DayPicker, getDefaultClassNames } from "react-day-picker";
9
9
  import { nlBE } from "react-day-picker/locale";
10
10
 
11
- //#region src/components/ui/calendar.tsx
11
+ //#region src/components/ui/calendar.client.tsx
12
12
  function Calendar$1({ className, classNames, showOutsideDays = true, captionLayout = "label", buttonVariant = "ghost", locale = nlBE, formatters, components, ...props }) {
13
13
  const defaultClassNames = getDefaultClassNames();
14
14
  return /* @__PURE__ */ jsx(DayPicker, {
15
15
  showOutsideDays,
16
- className: cn("bg-background group/calendar in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-3 [--cell-size:--spacing(8)]", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
16
+ className: cn("group/calendar bg-background in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)]", String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`, String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`, className),
17
17
  captionLayout,
18
+ locale,
18
19
  formatters: {
19
- formatMonthDropdown: (date) => date.toLocaleString("default", { month: "short" }),
20
+ formatMonthDropdown: (date) => date.toLocaleString(locale?.code, { month: "short" }),
20
21
  ...formatters
21
22
  },
22
- locale,
23
23
  classNames: {
24
24
  root: cn("w-fit", defaultClassNames.root),
25
25
  months: cn("flex gap-4 flex-col md:flex-row relative", defaultClassNames.months),
@@ -29,20 +29,20 @@ function Calendar$1({ className, classNames, showOutsideDays = true, captionLayo
29
29
  button_next: cn(buttonVariants({ variant: buttonVariant }), "size-(--cell-size) aria-disabled:opacity-50 p-0 select-none", defaultClassNames.button_next),
30
30
  month_caption: cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)", defaultClassNames.month_caption),
31
31
  dropdowns: cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5", defaultClassNames.dropdowns),
32
- dropdown_root: cn("relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md", defaultClassNames.dropdown_root),
32
+ dropdown_root: cn("relative cn-calendar-dropdown-root rounded-(--cell-radius)", defaultClassNames.dropdown_root),
33
33
  dropdown: cn("absolute bg-popover inset-0 opacity-0", defaultClassNames.dropdown),
34
- caption_label: cn("select-none font-medium", captionLayout === "label" ? "text-sm" : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
34
+ caption_label: cn("select-none font-medium", captionLayout === "label" ? "text-sm" : "cn-calendar-caption-label rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5", defaultClassNames.caption_label),
35
35
  table: "w-full border-collapse",
36
36
  weekdays: cn("flex", defaultClassNames.weekdays),
37
- weekday: cn("text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none", defaultClassNames.weekday),
37
+ weekday: cn("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none", defaultClassNames.weekday),
38
38
  week: cn("flex w-full mt-2", defaultClassNames.week),
39
39
  week_number_header: cn("select-none w-(--cell-size)", defaultClassNames.week_number_header),
40
40
  week_number: cn("text-[0.8rem] select-none text-muted-foreground", defaultClassNames.week_number),
41
- day: cn("relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none", props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-md" : "[&:first-child[data-selected=true]_button]:rounded-l-md", defaultClassNames.day),
42
- range_start: cn("rounded-l-md bg-accent", defaultClassNames.range_start),
41
+ day: cn("relative w-full rounded-(--cell-radius) h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius) group/day aspect-square select-none", props.showWeekNumber ? "[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)" : "[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)", defaultClassNames.day),
42
+ range_start: cn("rounded-l-(--cell-radius) bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 z-0 isolate", defaultClassNames.range_start),
43
43
  range_middle: cn("rounded-none", defaultClassNames.range_middle),
44
- range_end: cn("rounded-r-md bg-accent", defaultClassNames.range_end),
45
- today: cn("bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none", defaultClassNames.today),
44
+ range_end: cn("rounded-r-(--cell-radius) bg-muted relative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:left-0 z-0 isolate", defaultClassNames.range_end),
45
+ today: cn("bg-muted text-foreground rounded-(--cell-radius) data-[selected=true]:rounded-none", defaultClassNames.today),
46
46
  outside: cn("text-muted-foreground aria-selected:text-muted-foreground", defaultClassNames.outside),
47
47
  disabled: cn("text-muted-foreground opacity-50", defaultClassNames.disabled),
48
48
  hidden: cn("invisible", defaultClassNames.hidden),
@@ -59,11 +59,11 @@ function Calendar$1({ className, classNames, showOutsideDays = true, captionLayo
59
59
  },
60
60
  Chevron: ({ className, orientation, ...props }) => {
61
61
  if (orientation === "left") return /* @__PURE__ */ jsx(ChevronLeftIcon, {
62
- className: cn("size-4", className),
62
+ className: cn("cn-rtl-flip size-4", className),
63
63
  ...props
64
64
  });
65
65
  if (orientation === "right") return /* @__PURE__ */ jsx(ChevronRightIcon, {
66
- className: cn("size-4", className),
66
+ className: cn("cn-rtl-flip size-4", className),
67
67
  ...props
68
68
  });
69
69
  return /* @__PURE__ */ jsx(ChevronDownIcon, {
@@ -71,12 +71,15 @@ function Calendar$1({ className, classNames, showOutsideDays = true, captionLayo
71
71
  ...props
72
72
  });
73
73
  },
74
- DayButton: CalendarDayButton,
74
+ DayButton: ({ ...props }) => /* @__PURE__ */ jsx(CalendarDayButton, {
75
+ locale,
76
+ ...props
77
+ }),
75
78
  WeekNumber: ({ children, ...props }) => {
76
79
  return /* @__PURE__ */ jsx("td", {
77
80
  ...props,
78
81
  children: /* @__PURE__ */ jsx("div", {
79
- className: "size-(--cell-size) flex items-center justify-center text-center",
82
+ className: "flex size-(--cell-size) items-center justify-center text-center",
80
83
  children
81
84
  })
82
85
  });
@@ -86,7 +89,7 @@ function Calendar$1({ className, classNames, showOutsideDays = true, captionLayo
86
89
  ...props
87
90
  });
88
91
  }
89
- function CalendarDayButton({ className, day, modifiers, ...props }) {
92
+ function CalendarDayButton({ className, day, modifiers, locale, ...props }) {
90
93
  const defaultClassNames = getDefaultClassNames();
91
94
  const ref = React$1.useRef(null);
92
95
  React$1.useEffect(() => {
@@ -96,16 +99,16 @@ function CalendarDayButton({ className, day, modifiers, ...props }) {
96
99
  ref,
97
100
  variant: "ghost",
98
101
  size: "icon",
99
- "data-day": day.date.toLocaleDateString(),
102
+ "data-day": day.date.toLocaleDateString(locale?.code),
100
103
  "data-selected-single": modifiers.selected && !modifiers.range_start && !modifiers.range_end && !modifiers.range_middle,
101
104
  "data-range-start": modifiers.range_start,
102
105
  "data-range-end": modifiers.range_end,
103
106
  "data-range-middle": modifiers.range_middle,
104
- className: cn("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground min-w-(--cell-size) flex aspect-square size-auto w-full flex-col gap-1 font-normal leading-none data-[range-end=true]:rounded-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-start=true]:rounded-l-md group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
107
+ className: cn("relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 font-normal leading-none data-[range-end=true]:rounded-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-end=true]:bg-primary data-[range-middle=true]:bg-muted data-[range-start=true]:bg-primary data-[selected-single=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:text-foreground data-[range-start=true]:text-primary-foreground data-[selected-single=true]:text-primary-foreground group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70", defaultClassNames.day, className),
105
108
  ...props
106
109
  });
107
110
  }
108
111
 
109
112
  //#endregion
110
113
  export { Calendar$1 as Calendar, CalendarDayButton };
111
- //# sourceMappingURL=calendar.mjs.map
114
+ //# sourceMappingURL=calendar.client.mjs.map